diff --git a/js/extensions/button-stat.js b/js/extensions/button-stat.js new file mode 100644 index 00000000..0a0872cd --- /dev/null +++ b/js/extensions/button-stat.js @@ -0,0 +1,72 @@ +define([ + "jquery", + "underscore" +], function($, _) { + + var buttonStat = { + extensionId: "buttonStat", + extensionName: 'Button "Statistics"', + optional: true, + settingsBloc: '

Adds a "Document statistics" button in the navigation bar.

' + }; + + buttonStat.onCreateButton = function() { + return $([ + '', + ''].join("") + ); + }; + + var fileDesc = undefined; + var lineTemplate = [ + '
', + '', + '', + '
'].join(""); + var refreshDocumentSharing = function(fileDescParameter) { + if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) { + return; + } + + var linkList = $("#link-container .link-list").empty(); + $("#link-container .no-link").show(); + + var attributesList = _.values(fileDesc.publishLocations); + _.each(attributesList, function(attributes) { + if(attributes.sharingLink) { + var lineElement = $(_.template(lineTemplate, { + link: attributes.sharingLink + })); + lineElement.click(function(event) { + event.stopPropagation(); + }); + linkList.append(lineElement); + $("#link-container .no-link").hide(); + } + }); + }; + + buttonStat.onFileSelected = function(fileDescParameter) { + fileDesc = fileDescParameter; + refreshDocumentSharing(fileDescParameter); + }; + + buttonStat.onNewPublishSuccess = refreshDocumentSharing; + buttonStat.onPublishRemoved = refreshDocumentSharing; + + return buttonStat; + +}); \ No newline at end of file