summaryrefslogtreecommitdiffstats
path: root/core/js/sharedialoglinkshareview.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/js/sharedialoglinkshareview.js')
-rw-r--r--core/js/sharedialoglinkshareview.js32
1 files changed, 31 insertions, 1 deletions
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js
index 3e3ef2d5029..d95b3d82020 100644
--- a/core/js/sharedialoglinkshareview.js
+++ b/core/js/sharedialoglinkshareview.js
@@ -94,7 +94,7 @@
throw 'missing OC.Share.ShareConfigModel';
}
- _.bindAll(this, 'onLinkCheckBoxChange');
+ _.bindAll(this, 'onLinkCheckBoxChange', 'onPasswordEntered', 'onShowPasswordClick');
},
onLinkCheckBoxChange: function() {
@@ -127,6 +127,28 @@
this.select();
},
+ onShowPasswordClick: function() {
+ this.$el.find('#linkPass').slideToggle(OC.menuSpeed);
+ if(!this.$el.find('#showPassword').is(':checked')) {
+ this.model.addLinkShare({password: ''});
+ } else {
+ this.$el.find('#linkPassText').focus();
+ }
+ },
+
+ onPasswordEntered: function() {
+ var password = this.$el.find('#linkPassText').val();
+ if(password === '') {
+ return;
+ }
+
+ this.$el.find('#linkPass .icon-loading-small')
+ .removeClass('hidden')
+ .addClass('inlineblock');
+
+ this.model.addLinkShare({password: password});
+ },
+
render: function() {
var linkShareTemplate = this.template();
@@ -178,6 +200,14 @@
this.$el.find('#linkCheckbox').change(this.onLinkCheckBoxChange);
this.$el.find('#linkText').click(this.onLinkTextClick);
+ this.$el.find('#showPassword').click(this.onShowPasswordClick);
+ this.$el.find('#linkPassText').focusout(this.onPasswordEntered);
+ var view = this;
+ this.$el.find('#linkPassText').keyup(function(event) {
+ if(event.keyCode == 13) {
+ view.onPasswordEntered();
+ }
+ });
return this;
},