committed by
Vincent Petry
4 changed files with 138 additions and 43 deletions
-
117core/js/sharedialogresharerinfoview.js
-
62core/js/sharedialogview.js
-
1core/js/shareitemmodel.js
-
1lib/private/share/share.php
@ -0,0 +1,117 @@ |
|||
/* |
|||
* Copyright (c) 2015 |
|||
* |
|||
* This file is licensed under the Affero General Public License version 3 |
|||
* or later. |
|||
* |
|||
* See the COPYING-README file. |
|||
* |
|||
*/ |
|||
|
|||
(function() { |
|||
if (!OC.Share) { |
|||
OC.Share = {}; |
|||
} |
|||
|
|||
var TEMPLATE = |
|||
'<span class="reshare">' + |
|||
' {{#if avatarEnabled}}' + |
|||
' <div class="avatar"></div>' + |
|||
' {{/if}}' + |
|||
' {{sharedByText}}' + |
|||
'</span><br/>' |
|||
; |
|||
|
|||
/** |
|||
* @class OCA.Share.ShareDialogView |
|||
* @member {OC.Share.ShareItemModel} model |
|||
* @member {jQuery} $el |
|||
* @memberof OCA.Sharing |
|||
* @classdesc |
|||
* |
|||
* Represents the GUI of the share dialogue |
|||
* |
|||
*/ |
|||
var ShareDialogResharerInfoView = OC.Backbone.View.extend({ |
|||
/** @type {string} **/ |
|||
id: 'shareDialogResharerInfo', |
|||
|
|||
/** @type {string} **/ |
|||
tagName: 'div', |
|||
|
|||
/** @type {string} **/ |
|||
className: 'reshare', |
|||
|
|||
/** @type {OC.Share.ShareConfigModel} **/ |
|||
configModel: undefined, |
|||
|
|||
/** @type {Function} **/ |
|||
_template: undefined, |
|||
|
|||
initialize: function(options) { |
|||
var view = this; |
|||
|
|||
//FIXME: specific to reshares stuff
|
|||
this.model.on('change', function() { |
|||
view.render(); |
|||
}); |
|||
|
|||
if(!_.isUndefined(options.configModel)) { |
|||
this.configModel = options.configModel; |
|||
} else { |
|||
console.warn('missing OC.Share.ShareConfigModel'); |
|||
} |
|||
}, |
|||
|
|||
render: function() { |
|||
if ( !this.model.hasReshare() |
|||
|| !this.model.getReshareOwner() !== OC.currentUser) |
|||
{ |
|||
this.$el.html(''); |
|||
return this; |
|||
} |
|||
|
|||
var reshareTemplate = this.template(); |
|||
var ownerDisplayName = this.model.getReshareOwnerDisplayname(); |
|||
var sharedByText = ''; |
|||
if (this.model.getReshareType() === OC.Share.SHARE_TYPE_GROUP) { |
|||
sharedByText = t( |
|||
'core', |
|||
'Shared with you and the group {group} by {owner}', |
|||
{ |
|||
group: this.model.getReshareWith(), |
|||
owner: ownerDisplayName |
|||
} |
|||
); |
|||
} else { |
|||
sharedByText = t( |
|||
'core', |
|||
'Shared with you by {owner}', |
|||
{ owner: ownerDisplayName } |
|||
); |
|||
} |
|||
|
|||
this.$el.html(reshareTemplate({ |
|||
avatarEnabled: this.configModel.areAvatarsEnabled(), |
|||
sharedByText: sharedByText |
|||
})); |
|||
|
|||
return this; |
|||
}, |
|||
|
|||
/** |
|||
* @returns {Function} from Handlebars |
|||
* @private |
|||
*/ |
|||
template: function () { |
|||
if (!this._template) { |
|||
this._template = Handlebars.compile(TEMPLATE); |
|||
} |
|||
return this._template; |
|||
} |
|||
|
|||
}); |
|||
|
|||
OC.Share.ShareDialogResharerInfoView = ShareDialogResharerInfoView; |
|||
|
|||
})(); |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue