Inline actions using default renderer are now always permanent

Default renderer like the favorite icon can decide whether to use the
permanent class or not.

Fixed sharing code to properly update the icon according to sharing
state modifications.
This commit is contained in:
Vincent Petry 2015-08-10 15:57:21 +02:00
parent 08912308a0
commit 86e1eaf370
3 changed files with 5 additions and 6 deletions

View File

@ -308,6 +308,7 @@
var $actionLink = this._makeActionLink(params, context); var $actionLink = this._makeActionLink(params, context);
context.$file.find('a.name>span.fileactions').append($actionLink); context.$file.find('a.name>span.fileactions').append($actionLink);
$actionLink.addClass('permanent');
return $actionLink; return $actionLink;
} }
}, },

View File

@ -97,7 +97,7 @@ describe('OCA.Sharing.Util tests', function() {
}]); }]);
$tr = fileList.$el.find('tbody tr:first'); $tr = fileList.$el.find('tbody tr:first');
$action = $tr.find('.action-share'); $action = $tr.find('.action-share');
expect($action.hasClass('permanent')).toEqual(false); expect($action.hasClass('permanent')).toEqual(true);
expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg');
expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder.svg'); expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder.svg');
expect($action.find('img').length).toEqual(1); expect($action.find('img').length).toEqual(1);
@ -257,7 +257,7 @@ describe('OCA.Sharing.Util tests', function() {
$action = fileList.$el.find('tbody tr:first .action-share'); $action = fileList.$el.find('tbody tr:first .action-share');
$tr = fileList.$el.find('tr:first'); $tr = fileList.$el.find('tr:first');
expect($action.hasClass('permanent')).toEqual(false); expect($action.hasClass('permanent')).toEqual(true);
$tr.find('.action-share').click(); $tr.find('.action-share').click();
@ -344,7 +344,7 @@ describe('OCA.Sharing.Util tests', function() {
expect($tr.attr('data-share-recipients')).not.toBeDefined(); expect($tr.attr('data-share-recipients')).not.toBeDefined();
OC.Share.updateIcon('file', 1); OC.Share.updateIcon('file', 1);
expect($action.hasClass('permanent')).toEqual(false); expect($action.hasClass('permanent')).toEqual(true);
}); });
it('keep share text after updating reshare', function() { it('keep share text after updating reshare', function() {
var $action, $tr; var $action, $tr;

View File

@ -266,7 +266,6 @@ OC.Share={
if (hasShares || owner) { if (hasShares || owner) {
recipients = $tr.attr('data-share-recipients'); recipients = $tr.attr('data-share-recipients');
action.addClass('permanent');
message = t('core', 'Shared'); message = t('core', 'Shared');
// even if reshared, only show "Shared by" // even if reshared, only show "Shared by"
if (owner) { if (owner) {
@ -281,8 +280,7 @@ OC.Share={
} }
} }
else { else {
action.removeClass('permanent'); action.html('<span></span>').prepend(img);
action.html(' <span>'+ escapeHTML(t('core', 'Share'))+'</span>').prepend(img);
} }
if (hasLink) { if (hasLink) {
image = OC.imagePath('core', 'actions/public'); image = OC.imagePath('core', 'actions/public');