70 lines
2.1 KiB
JavaScript
70 lines
2.1 KiB
JavaScript
define([
|
|
"jquery",
|
|
"underscore",
|
|
"constants",
|
|
"classes/Extension",
|
|
"text!html/dialogManageSharingLocation.html"
|
|
], function($, _, constants, Extension, dialogManageSharingLocationHTML) {
|
|
|
|
var dialogManageSharing = new Extension("dialogManageSharing", 'Button "Share"', false, true);
|
|
|
|
var eventMgr;
|
|
dialogManageSharing.onEventMgrCreated = function(eventMgrParam) {
|
|
eventMgr = eventMgrParam;
|
|
};
|
|
var sharing;
|
|
dialogManageSharing.onSharingCreated = function(sharingParam) {
|
|
sharing = sharingParam;
|
|
};
|
|
|
|
var fileDesc;
|
|
var shareListElt;
|
|
var $msgShareListElt;
|
|
var $msgNoShareElt;
|
|
var refreshDocumentSharing = function(fileDescParameter) {
|
|
if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) {
|
|
return;
|
|
}
|
|
|
|
var linkListHtml = _.reduce(fileDesc.publishLocations, function(result, attributes) {
|
|
var params = sharing.getViewerParams(attributes);
|
|
if(params) {
|
|
var link = constants.MAIN_URL + 'viewer?' + $.param(params);
|
|
result += _.template(dialogManageSharingLocationHTML, {
|
|
link: link,
|
|
title: fileDesc.title
|
|
});
|
|
}
|
|
return result;
|
|
}, '');
|
|
shareListElt.innerHTML = linkListHtml;
|
|
|
|
$msgShareListElt.toggleClass('hide', linkListHtml.length === 0);
|
|
$msgNoShareElt.toggleClass('hide', linkListHtml.length !== 0);
|
|
};
|
|
|
|
dialogManageSharing.onFileSelected = function(fileDescParameter) {
|
|
fileDesc = fileDescParameter;
|
|
refreshDocumentSharing(fileDescParameter);
|
|
};
|
|
|
|
dialogManageSharing.onNewPublishSuccess = function(fileDescParameter, publishAttributes) {
|
|
refreshDocumentSharing(fileDescParameter);
|
|
if(sharing.getViewerParams(publishAttributes)) {
|
|
$('.modal').modal('hide');
|
|
$('.modal-manage-sharing').modal('show');
|
|
}
|
|
};
|
|
|
|
dialogManageSharing.onPublishRemoved = refreshDocumentSharing;
|
|
|
|
dialogManageSharing.onReady = function() {
|
|
var modalElt = document.querySelector('.modal-manage-sharing');
|
|
shareListElt = modalElt.querySelector('.share-list');
|
|
$msgShareListElt = $(modalElt.querySelectorAll('.msg-share-list'));
|
|
$msgNoShareElt = $(modalElt.querySelectorAll('.msg-no-share'));
|
|
};
|
|
|
|
return dialogManageSharing;
|
|
|
|
}); |