]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix share link password input 12560/head
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Tue, 20 Nov 2018 17:59:15 +0000 (18:59 +0100)
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Thu, 22 Nov 2018 20:59:23 +0000 (21:59 +0100)
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
apps/files_sharing/css/sharetabview.scss
core/js/sharedialoglinkshareview.js
core/js/tests/specs/sharedialogviewSpec.js

index 14be956222834d24513b8ba845107bbee2c25ff0..017d0a82a2fe1295e6615083195b5cc09c5c44de 100644 (file)
        .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 {
                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;
                }
index 3338b70550eda2391a6476d0f681f7203f77fd8e..4d513bcee01002564a34f3ce87d15a5d4ac653b4 100644 (file)
@@ -93,6 +93,7 @@
                                '       </span></li>' +
                                '       <li class="{{#unless isPasswordSet}}hidden{{/unless}} linkPassMenu"><span class="shareOption menuitem icon-share-pass">' +
                                '       <input id="linkPassText-{{cid}}" class="linkPassText" type="password" placeholder="{{passwordPlaceholder}}" autocomplete="new-password" />' +
+                               '    <input type="submit" class="icon-confirm share-pass-submit" value="" />' +
                                '    <span class="icon icon-loading-small hidden"></span>' +
                                '       </span></li>' +
                                '{{/if}}' +
                        // 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
                                },
                                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');
                                }
                        });
                },
index efe50c415c8f968366ec79b036f4cb8a074f445d..0cefda11b56635a11523a3e46ae0271b6ffa4589 100644 (file)
@@ -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({