You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
3.4 KiB
162 lines
3.4 KiB
5 years ago
|
/*
|
||
|
* Copyright (c) 2015
|
||
|
*
|
||
|
* This file is licensed under the Affero General Public License version 3
|
||
|
* or later.
|
||
|
*
|
||
|
* See the COPYING-README file.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/* globals Handlebars */
|
||
|
|
||
|
(function() {
|
||
|
if (!OC.Share) {
|
||
|
OC.Share = {};
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @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;
|
||
|
|
||
|
this.model.on('change:reshare', function() {
|
||
|
view.render();
|
||
|
});
|
||
|
|
||
|
if(!_.isUndefined(options.configModel)) {
|
||
|
this.configModel = options.configModel;
|
||
|
} else {
|
||
|
throw 'missing OC.Share.ShareConfigModel';
|
||
|
}
|
||
|
},
|
||
|
|
||
|
render: function() {
|
||
|
if (!this.model.hasReshare()
|
||
|
|| this.model.getReshareOwner() === OC.currentUser)
|
||
|
{
|
||
|
this.$el.empty();
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
var reshareTemplate = this.template();
|
||
|
var ownerDisplayName = this.model.getReshareOwnerDisplayname();
|
||
|
var shareNote = this.model.getReshareNote();
|
||
|
|
||
|
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.getReshareWithDisplayName(),
|
||
|
owner: ownerDisplayName
|
||
|
},
|
||
|
undefined,
|
||
|
{escape: false}
|
||
|
);
|
||
|
} else if (this.model.getReshareType() === OC.Share.SHARE_TYPE_CIRCLE) {
|
||
|
sharedByText = t(
|
||
|
'core',
|
||
|
'Shared with you and {circle} by {owner}',
|
||
|
{
|
||
|
circle: this.model.getReshareWithDisplayName(),
|
||
|
owner: ownerDisplayName
|
||
|
},
|
||
|
undefined,
|
||
|
{escape: false}
|
||
|
);
|
||
|
} else if (this.model.getReshareType() === OC.Share.SHARE_TYPE_ROOM) {
|
||
|
if (this.model.get('reshare').share_with_displayname) {
|
||
|
sharedByText = t(
|
||
|
'core',
|
||
|
'Shared with you and the conversation {conversation} by {owner}',
|
||
|
{
|
||
|
conversation: this.model.getReshareWithDisplayName(),
|
||
|
owner: ownerDisplayName
|
||
|
},
|
||
|
undefined,
|
||
|
{escape: false}
|
||
|
);
|
||
|
} else {
|
||
|
sharedByText = t(
|
||
|
'core',
|
||
|
'Shared with you in a conversation by {owner}',
|
||
|
{
|
||
|
owner: ownerDisplayName
|
||
|
},
|
||
|
undefined,
|
||
|
{escape: false}
|
||
|
);
|
||
|
}
|
||
|
} else {
|
||
|
sharedByText = t(
|
||
|
'core',
|
||
|
'Shared with you by {owner}',
|
||
|
{ owner: ownerDisplayName },
|
||
|
undefined,
|
||
|
{escape: false}
|
||
|
);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
this.$el.html(reshareTemplate({
|
||
|
reshareOwner: this.model.getReshareOwner(),
|
||
|
sharedByText: sharedByText,
|
||
|
shareNote: shareNote,
|
||
|
hasShareNote: shareNote !== ''
|
||
|
}));
|
||
|
|
||
|
this.$el.find('.avatar').each(function() {
|
||
|
var $this = $(this);
|
||
|
$this.avatar($this.data('username'), 32);
|
||
|
});
|
||
|
|
||
|
this.$el.find('.reshare').contactsMenu(
|
||
|
this.model.getReshareOwner(),
|
||
|
OC.Share.SHARE_TYPE_USER,
|
||
|
this.$el);
|
||
|
|
||
|
return this;
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* @returns {Function} from Handlebars
|
||
|
* @private
|
||
|
*/
|
||
|
template: function () {
|
||
|
return OC.Share.Templates['sharedialogresharerinfoview'];
|
||
|
}
|
||
|
|
||
|
});
|
||
|
|
||
|
OC.Share.ShareDialogResharerInfoView = ShareDialogResharerInfoView;
|
||
|
|
||
|
})();
|