summaryrefslogtreecommitdiffstats
path: root/core/js
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2015-10-26 12:49:52 +0100
committerVincent Petry <pvince81@owncloud.com>2015-10-26 12:49:52 +0100
commitc64fb46fbf1deab67ffc958584c04357582f8a28 (patch)
tree588b7d45c89a0b4b7fe759377368daf39512e91e /core/js
parent7e3b4754f62ae19f162653a3bd17cd2b1e217006 (diff)
downloadnextcloud-server-c64fb46fbf1deab67ffc958584c04357582f8a28.tar.gz
nextcloud-server-c64fb46fbf1deab67ffc958584c04357582f8a28.zip
Fix share link focus on click
Clicking on the link share must focus and select it
Diffstat (limited to 'core/js')
-rw-r--r--core/js/sharedialoglinkshareview.js5
-rw-r--r--core/js/tests/specs/sharedialogviewSpec.js23
2 files changed, 26 insertions, 2 deletions
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js
index beb8b01c8a8..74afbc9fe02 100644
--- a/core/js/sharedialoglinkshareview.js
+++ b/core/js/sharedialoglinkshareview.js
@@ -151,8 +151,9 @@
},
onLinkTextClick: function() {
- this.focus();
- this.select();
+ var $el = this.$el.find('.linkText');
+ $el.focus();
+ $el.select();
},
onShowPasswordClick: function() {
diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js
index 1c05bf21968..a557ff6f03b 100644
--- a/core/js/tests/specs/sharedialogviewSpec.js
+++ b/core/js/tests/specs/sharedialogviewSpec.js
@@ -237,6 +237,29 @@ describe('OC.Share.ShareDialogView', function() {
expect(dialog.$el.find('.linkCheckbox').prop('checked')).toEqual(true);
expect(dialog.$el.find('.linkText').val()).toEqual(link);
});
+ it('autofocus link text when clicked', function() {
+ $('#allowShareWithLink').val('yes');
+
+ dialog.render();
+
+ // Toggle linkshare
+ dialog.$el.find('.linkCheckbox').click();
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({data: {token: 'xyz'}, status: 'success'})
+ );
+
+ var focusStub = sinon.stub($.fn, 'focus');
+ var selectStub = sinon.stub($.fn, 'select');
+ dialog.$el.find('.linkText').click();
+
+ expect(focusStub.calledOnce).toEqual(true);
+ expect(selectStub.calledOnce).toEqual(true);
+
+ focusStub.restore();
+ selectStub.restore();
+ });
describe('password', function() {
var slideToggleStub;