summaryrefslogtreecommitdiffstats
path: root/core/js/sharedialogmailview.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/js/sharedialogmailview.js')
-rw-r--r--core/js/sharedialogmailview.js178
1 files changed, 0 insertions, 178 deletions
diff --git a/core/js/sharedialogmailview.js b/core/js/sharedialogmailview.js
deleted file mode 100644
index ce0893cb25c..00000000000
--- a/core/js/sharedialogmailview.js
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (c) 2016
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
- */
-
-/* globals escapeHTML, Handlebars */
-
-(function() {
- if (!OC.Share) {
- OC.Share = {};
- }
-
- var TEMPLATE =
- '{{#if shareAllowed}}' +
- ' {{#if mailPublicNotificationEnabled}}' +
- '<form id="emailPrivateLink" class="emailPrivateLinkForm oneline">' +
- ' <input id="email" class="emailField" value="{{email}}" placeholder="{{mailPrivatePlaceholder}}" type="text" />' +
- ' <a id="emailButton" class="icon icon-mail hasTooltip" title="Send e-mail"></a>' +
- '</form>' +
- ' {{/if}}' +
- '{{/if}}'
- ;
-
- /**
- * @class OCA.Share.ShareDialogMailView
- * @member {OC.Share.ShareItemModel} model
- * @member {jQuery} $el
- * @memberof OCA.Sharing
- * @classdesc
- *
- * Represents the GUI of the share dialogue
- *
- */
- var ShareDialogMailView = OC.Backbone.View.extend({
- /** @type {string} **/
- id: 'shareDialogMailView',
-
- /** @type {OC.Share.ShareConfigModel} **/
- configModel: undefined,
-
- /** @type {Function} **/
- _template: undefined,
-
- /** @type {boolean} **/
- showLink: true,
-
- events: {
- 'click #emailButton': '_onEmailPrivateLink'
- },
-
- initialize: function(options) {
- var view = this;
-
- this.model.on('change:linkShare', function() {
- view.render();
- });
-
- if(!_.isUndefined(options.configModel)) {
- this.configModel = options.configModel;
- } else {
- throw 'missing OC.Share.ShareConfigModel';
- }
-
- _.bindAll(
- this,
- '_onEmailPrivateLink'
- );
- },
-
- _onEmailPrivateLink: function(event) {
- event.preventDefault();
-
- var $emailField = this.$el.find('.emailField');
- var $emailButton = this.$el.find('.emailButton');
- var email = $emailField.val();
- if (email !== '') {
- $emailField.prop('disabled', true);
- $emailButton.prop('disabled', true);
- $emailField.val(t('core', 'Sending ...'));
- this.model.sendEmailPrivateLink(email).done(function() {
- $emailField.css('font-weight', 'bold').val(t('core','Email sent'));
- setTimeout(function() {
- $emailField.val('');
- $emailField.css('font-weight', 'normal');
- $emailField.prop('disabled', false);
- $emailButton.prop('disabled', false);
- }, 2000);
- }).fail(function() {
- $emailField.val(email);
- $emailField.css('font-weight', 'normal');
- $emailField.prop('disabled', false);
- $emailButton.prop('disabled', false);
- });
- }
- return false;
- },
-
- render: function() {
- var linkShareTemplate = this.template();
- var resharingAllowed = this.model.sharePermissionPossible();
- var email = this.$el.find('.emailField').val();
-
- if(!resharingAllowed
- || !this.showLink
- || !this.configModel.isShareWithLinkAllowed())
- {
- var templateData = {shareAllowed: false};
- if (!resharingAllowed) {
- // add message
- templateData.noSharingPlaceholder = t('core', 'Resharing is not allowed');
- }
- this.$el.html(linkShareTemplate(templateData));
- return this;
- }
-
- var isLinkShare = this.model.get('linkShare').isLinkShare;
-
- this.$el.html(linkShareTemplate({
- cid: this.cid,
- shareAllowed: true,
- mailPublicNotificationEnabled: isLinkShare && this.configModel.isMailPublicNotificationEnabled(),
- mailPrivatePlaceholder: t('core', 'Email link to person'),
- mailButtonText: t('core', 'Send link via email'),
- email: email
- }));
-
- var $emailField = this.$el.find('.emailField');
- if (isLinkShare && $emailField.length !== 0) {
- $emailField.autocomplete({
- minLength: 1,
- source: function (search, response) {
- $.get(
- OC.generateUrl('core/ajax/share.php'), {
- fetch: 'getShareWithEmail',
- search: search.term
- }, function(result) {
- if (result.status === 'success' && result.data.length > 0) {
- response(result.data);
- }
- });
- },
- select: function( event, item ) {
- $emailField.val(item.item.email);
- return false;
- }
- })
- .data("ui-autocomplete")._renderItem = function( ul, item ) {
- return $('<li>')
- .append('<a>' + escapeHTML(item.displayname) + "<br>" + escapeHTML(item.email) + '</a>' )
- .appendTo( ul );
- };
- }
- this.delegateEvents();
-
- return this;
- },
-
- /**
- * @returns {Function} from Handlebars
- * @private
- */
- template: function () {
- if (!this._template) {
- this._template = Handlebars.compile(TEMPLATE);
- }
- return this._template;
- }
-
- });
-
- OC.Share.ShareDialogMailView = ShareDialogMailView;
-
-})();