From: John Molakvoæ (skjnldsv) Date: Tue, 20 Nov 2018 17:59:15 +0000 (+0100) Subject: Fix share link password input X-Git-Tag: v14.0.5RC1~84^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d8a8c03c362bce0a357528a17853cf479b27d4c9;p=nextcloud-server.git Fix share link password input Signed-off-by: John Molakvoæ (skjnldsv) --- diff --git a/apps/files_sharing/css/sharetabview.scss b/apps/files_sharing/css/sharetabview.scss index 14be9562228..017d0a82a2f 100644 --- a/apps/files_sharing/css/sharetabview.scss +++ b/apps/files_sharing/css/sharetabview.scss @@ -23,17 +23,13 @@ .shareWithLoading { padding-left: 10px; right: 35px; - top: 0px; + top: 3px; } - .shareWithConfirm, - .clipboardButton, - .linkPass .icon-loading-small { + .shareWithConfirm { position: absolute; right: 2px; top: 6px; padding: 14px; - } - .shareWithConfirm { opacity: 0.5; } .shareWithField:focus ~ .shareWithConfirm { @@ -46,6 +42,21 @@ padding: 14px; } .popovermenu { + .linkPassMenu { + .share-pass-submit { + width: auto !important; + } + .icon-loading-small { + background-color: var(--color-main-background); + position: absolute; + right: 8px; + margin: 3px; + padding: 10px; + width: 32px; + height: 32px; + z-index: 10; + } + } .datepicker { margin-left: 35px; } diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index 3338b70550e..4d513bcee01 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -93,6 +93,7 @@ ' ' + '
  • ' + ' ' + + ' ' + ' ' + '
  • ' + '{{/if}}' + @@ -189,8 +190,8 @@ // open menu 'click .share-menu .icon-more': 'onToggleMenu', // password - 'focusout input.linkPassText': 'onPasswordEntered', - 'keyup input.linkPassText': 'onPasswordKeyUp', + 'click input.share-pass-submit': 'onPasswordEntered', + 'keyup input.linkPassText': 'onPasswordKeyUp', // check for the enter key 'change .showPasswordCheckbox': 'onShowPasswordClick', 'change .publicEditingCheckbox': 'onAllowPublicEditingChange', // copy link url @@ -374,11 +375,12 @@ }, error: function(model, msg) { // destroy old tooltips - $input.tooltip('destroy'); + var $container = $input.parent(); + $container.tooltip('destroy'); $input.addClass('error'); - $input.attr('title', msg); - $input.tooltip({placement: 'bottom', trigger: 'manual'}); - $input.tooltip('show'); + $container.attr('title', msg); + $container.tooltip({placement: 'bottom', trigger: 'manual'}); + $container.tooltip('show'); } }); }, diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index efe50c415c8..0cefda11b56 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -127,7 +127,7 @@ describe('OC.Share.ShareDialogView', function() { describe('Share with link', function() { // TODO: test ajax calls // TODO: test password field visibility (whenever enforced or not) - it('update password on focus out', function() { + it('update password on enter', function() { $('#allowShareWithLink').val('yes'); dialog.model.set('linkShare', { @@ -135,18 +135,21 @@ describe('OC.Share.ShareDialogView', function() { }); dialog.render(); - // Enable password, enter password and focusout + // Toggle linkshare + dialog.$el.find('.linkCheckbox').click(); + + // Enable password and enter password dialog.$el.find('[name=showPassword]').click(); dialog.$el.find('.linkPassText').focus(); dialog.$el.find('.linkPassText').val('foo'); - dialog.$el.find('.linkPassText').focusout(); + dialog.$el.find('.linkPassText').trigger(new $.Event('keyup', {keyCode: 13})); expect(saveLinkShareStub.calledOnce).toEqual(true); expect(saveLinkShareStub.firstCall.args[0]).toEqual({ password: 'foo' }); }); - it('update password on enter', function() { + it('update password on submit', function() { $('#allowShareWithLink').val('yes'); dialog.model.set('linkShare', { @@ -161,7 +164,7 @@ describe('OC.Share.ShareDialogView', function() { dialog.$el.find('[name=showPassword]').click(); dialog.$el.find('.linkPassText').focus(); dialog.$el.find('.linkPassText').val('foo'); - dialog.$el.find('.linkPassText').trigger(new $.Event('keyup', {keyCode: 13})); + dialog.$el.find('.linkPassText + .icon-confirm').click(); expect(saveLinkShareStub.calledOnce).toEqual(true); expect(saveLinkShareStub.firstCall.args[0]).toEqual({