diff --git a/examples/unfinished/accounts-ui-viewer/accounts-ui-viewer.js b/examples/unfinished/accounts-ui-viewer/accounts-ui-viewer.js index 98815d8f31..28a86e9d74 100644 --- a/examples/unfinished/accounts-ui-viewer/accounts-ui-viewer.js +++ b/examples/unfinished/accounts-ui-viewer/accounts-ui-viewer.js @@ -114,7 +114,7 @@ if (Meteor.isClient) { return settings.alignRight ? 'right' : 'left'; }; - var fakeLogin = function () { + var fakeLogin = function (callback) { Accounts.createUser( {username: Meteor.uuid(), password: "password", @@ -130,6 +130,7 @@ if (Meteor.isClient) { if (! Session.get('settings').hasPasswords) Meteor.users.update(Meteor.userId(), { $unset: { username: 1 }}); + callback(); }); }; @@ -169,17 +170,18 @@ if (Meteor.isClient) { Accounts.loginServiceConfiguration.remove({service: service}); } else if (this.key === "messages") { if (this.value === "error") { - Accounts._loginButtonsSession.set('errorMessage', 'An error occurred! Gee golly gosh.'); + Accounts._loginButtonsSession.errorMessage('An error occurred! Gee golly gosh.'); } else if (this.value === "info") { - Accounts._loginButtonsSession.set('infoMessage', 'Here is some information that is crucial.'); + Accounts._loginButtonsSession.infoMessage('Here is some information that is crucial.'); } else if (this.value === "clear") { Accounts._loginButtonsSession.resetMessages(); } } else if (this.key === "sign") { if (this.value === 'in') { // create a random new user - Accounts._loginButtonsSession.closeDropdown(); - fakeLogin(); + fakeLogin(function () { + Accounts._loginButtonsSession.closeDropdown(); + }); } else if (this.value === 'out') { Meteor.logout(); } diff --git a/packages/accounts-ui-unstyled/login_buttons.html b/packages/accounts-ui-unstyled/login_buttons.html index bf0da6d013..08d2dd3a46 100644 --- a/packages/accounts-ui-unstyled/login_buttons.html +++ b/packages/accounts-ui-unstyled/login_buttons.html @@ -7,7 +7,21 @@ + + diff --git a/packages/accounts-ui-unstyled/login_buttons.js b/packages/accounts-ui-unstyled/login_buttons.js index 7a15ed2b1b..b2c94bd6d4 100644 --- a/packages/accounts-ui-unstyled/login_buttons.js +++ b/packages/accounts-ui-unstyled/login_buttons.js @@ -87,6 +87,15 @@ }; + // + // loginButtonsLoggingInPadding template + // + + Template._loginButtonsLoggingInPadding.dropdown = function () { + return Accounts._loginButtons.dropdown(); + }; + + // // helpers // @@ -136,7 +145,7 @@ if (username.length >= 3) { return true; } else { - loginButtonsSession.set('errorMessage', "Username must be at least 3 characters long"); + loginButtonsSession.errorMessage("Username must be at least 3 characters long"); return false; } }; @@ -147,7 +156,7 @@ if (email.indexOf('@') !== -1) { return true; } else { - loginButtonsSession.set('errorMessage', "Invalid email"); + loginButtonsSession.errorMessage("Invalid email"); return false; } }; @@ -155,7 +164,7 @@ if (password.length >= 6) { return true; } else { - loginButtonsSession.set('errorMessage', "Password must be at least 6 characters long"); + loginButtonsSession.errorMessage("Password must be at least 6 characters long"); return false; } }; diff --git a/packages/accounts-ui-unstyled/login_buttons_dialogs.js b/packages/accounts-ui-unstyled/login_buttons_dialogs.js index fadce1d17e..8252258538 100644 --- a/packages/accounts-ui-unstyled/login_buttons_dialogs.js +++ b/packages/accounts-ui-unstyled/login_buttons_dialogs.js @@ -61,7 +61,7 @@ loginButtonsSession.get('resetPasswordToken'), newPassword, function (error) { if (error) { - loginButtonsSession.set('errorMessage', error.reason || "Unknown error"); + loginButtonsSession.errorMessage(error.reason || "Unknown error"); } else { loginButtonsSession.set('resetPasswordToken', null); Accounts._enableAutoLogin(); @@ -102,7 +102,7 @@ loginButtonsSession.get('enrollAccountToken'), password, function (error) { if (error) { - loginButtonsSession.set('errorMessage', error.reason || "Unknown error"); + loginButtonsSession.errorMessage(error.reason || "Unknown error"); } else { loginButtonsSession.set('enrollAccountToken', null); Accounts._enableAutoLogin(); diff --git a/packages/accounts-ui-unstyled/login_buttons_dropdown.html b/packages/accounts-ui-unstyled/login_buttons_dropdown.html index 2104840787..578021083c 100644 --- a/packages/accounts-ui-unstyled/login_buttons_dropdown.html +++ b/packages/accounts-ui-unstyled/login_buttons_dropdown.html @@ -43,20 +43,24 @@ + + + diff --git a/packages/accounts-ui-unstyled/login_buttons_single.js b/packages/accounts-ui-unstyled/login_buttons_single.js index d7aafb3c5e..4c33ab5146 100644 --- a/packages/accounts-ui-unstyled/login_buttons_single.js +++ b/packages/accounts-ui-unstyled/login_buttons_single.js @@ -14,7 +14,7 @@ } else if (err instanceof Accounts.ConfigError) { loginButtonsSession.configureService(serviceName); } else { - loginButtonsSession.set('errorMessage', err.reason || "Unknown error"); + loginButtonsSession.errorMessage(err.reason || "Unknown error"); } }; diff --git a/packages/accounts-ui/login_buttons.less b/packages/accounts-ui/login_buttons.less index 4b2476d708..e6053c83e1 100644 --- a/packages/accounts-ui/login_buttons.less +++ b/packages/accounts-ui/login_buttons.less @@ -91,7 +91,7 @@ #login-buttons { .display-inline-block(); - margin-right: 0.01px; // Fixes display on IE8: http://www.compsoft.co.uk/Blog/2009/11/inline-block-not-quite-inline-blocking.html + margin-right: 0.2px; // Fixes display on IE8: http://www.compsoft.co.uk/Blog/2009/11/inline-block-not-quite-inline-blocking.html // This seems to keep the height of the line from // being sensitive to the presence of the unicode down arrow, @@ -183,6 +183,11 @@ } #login-buttons { + .login-buttons-padding { + display: inline-block; + width: 30px; + } + .login-display-name { margin-right: 4px; } .configure-button { @@ -215,9 +220,17 @@ position: relative; padding-bottom: 8px; } - #login-dropdown-list .loading { + + .login-text-and-button .loading, .login-link-and-dropdown-list .loading { + display: inline-block; + } + &.login-buttons-dropdown-align-left #login-dropdown-list .loading { float: right; } + &.login-buttons-dropdown-align-right #login-dropdown-list .loading { + float: left; + } + .login-close-text-clear { clear: both; }