diff options
Diffstat (limited to 'core/js/sharedialoglinkshareview.js')
-rw-r--r-- | core/js/sharedialoglinkshareview.js | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index 373d6d180bc..b94f1c3e70b 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -23,13 +23,11 @@ ' {{#if showPasswordCheckBox}}' + '<input type="checkbox" name="showPassword" id="showPassword" {{#if isPasswordSet}}checked="checked"{{/if}} value="1" /><label for="showPassword">{{enablePasswordLabel}}</label>' + ' {{/if}}' + - ' {{#if isPasswordSet}}' + - '<div id="linkPass">' + + '<div id="linkPass" {{#unless isPasswordSet}}class="hidden"{{/unless}}>' + ' <label for="linkPassText" class="hidden-visually">{{passwordLabel}}</label>' + ' <input id="linkPassText" type="password" placeholder="{{passwordPlaceholder}}" />' + ' <span class="icon-loading-small hidden"></span>' + '</div>' + - ' {{/if}}' + ' {{#if publicUpload}}' + '<div id="allowPublicUploadWrapper" class="hidden">' + ' <span class="icon-loading-small hidden"></span>' + @@ -86,11 +84,42 @@ view.render(); }); + this.model.on('change:linkShare', function() { + view.render(); + }); + if(!_.isUndefined(options.configModel)) { this.configModel = options.configModel; } else { throw 'missing OC.Share.ShareConfigModel'; } + + _.bindAll(this, 'onLinkCheckBoxChange'); + }, + + onLinkCheckBoxChange: function() { + var $checkBox = this.$el.find('#linkCheckbox'); + var $loading = $checkBox.siblings('.icon-loading-small'); + if(!$loading.hasClass('hidden')) { + return false; + } + + if($checkBox.is(':checked')) { + if(this.configModel.get('enforcePasswordForPublicLink') === false) { + $loading.removeClass('hidden'); + this.model.addLinkShare(); + } else { + this.$el.find('#linkPass').slideToggle(OC.menuSpeed); + // TODO drop with IE8 drop + if($('html').hasClass('ie8')) { + this.$el.find('#linkPassText').attr('placeholder', null); + this.$el.find('#linkPassText').val(''); + } + this.$el.find('#linkPassText').focus(); + } + } else { + this.model.removeLinkShare(); + } }, render: function() { @@ -142,6 +171,8 @@ mailButtonText: t('core', 'Send') })); + this.$el.find('#linkCheckbox').change(this.onLinkCheckBoxChange); + return this; }, |