From 155f4b6df20d4c4dda0f732035e496550780a059 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Thu, 15 Sep 2016 23:34:30 +0300 Subject: [PATCH] Release glass style --- dev/App/Abstract.js | 5 ++ dev/Common/Cmd.js | 47 +------------------ dev/Settings/Admin/Prem/Licensing.js | 2 +- dev/Styles/Login.less | 8 +++- dev/Styles/Ui.less | 4 ++ dev/View/User/Login.js | 6 +-- .../0.0.0/app/libraries/RainLoop/Actions.php | 1 + .../libraries/RainLoop/Config/Application.php | 2 + .../app/templates/Views/Admin/AdminLogin.html | 7 +-- .../0.0.0/app/templates/Views/User/Login.html | 11 +++-- tests/e2e/tests/login_test.js | 10 +--- tests/e2e/tests/main_test.js | 2 +- 12 files changed, 36 insertions(+), 69 deletions(-) diff --git a/dev/App/Abstract.js b/dev/App/Abstract.js index 44ce944b8c..44c3e25673 100644 --- a/dev/App/Abstract.js +++ b/dev/App/Abstract.js @@ -332,6 +332,11 @@ class AbstractApp extends AbstractBoot leftPanelDisabled(false); }); + if (Settings.appSettingsGet('loginGlassStyle')) + { + $html.addClass('glass'); + } + if (!mobile) { ssm.addState({ diff --git a/dev/Common/Cmd.js b/dev/Common/Cmd.js index 63e3a452f4..d02ae5c1d6 100644 --- a/dev/Common/Cmd.js +++ b/dev/Common/Cmd.js @@ -3,7 +3,7 @@ import window from 'window'; import $ from '$'; import _ from '_'; import ko from 'ko'; -import {$html, $body} from 'Common/Globals'; +import {$body} from 'Common/Globals'; import {EventKeyCode, Magics} from 'Common/Enums'; import {trim, inArray, changeTheme} from 'Common/Utils'; import {reload as translatorReload} from 'Common/Translator'; @@ -40,43 +40,6 @@ function cmdHelp(cmds) { return require('Html/Cmds/Help.html').replace('{{ commands }}', cmds.join(' ')); } -/** - * @returns {void} - */ -function initGlass() { - let state = null; - try { - if (window.localStorage && window.localStorage.setItem) - { - state = '1' === '' + window.localStorage.getItem('rl-labs-glass'); - } - } - catch (e) {} // eslint-disable-line no-empty - - if (null !== state) - { - $html.toggleClass('glass', !!state); - } -} - -/** - * @returns {string} - */ -function cmdGlass() { - const state = !$html.hasClass('glass'); - - try { - if (window.localStorage && window.localStorage.setItem) - { - window.localStorage.setItem('rl-labs-glass', state ? '1' : '0'); - } - } - catch (e) {} // eslint-disable-line no-empty - - $html.toggleClass('glass', state); - return ''; -} - /** * @returns {string} */ @@ -124,7 +87,7 @@ class CmdContoller cmdHelper = ko.observable(''); - cmds = ['help', 'version', 'glass', 'clear', 'theme', 'lang']; + cmds = ['help', 'version', 'clear', 'theme', 'lang']; cmdsWithParameters = ['theme', 'lang']; isAdmin = false; @@ -205,9 +168,6 @@ class CmdContoller case 'help': result = cmdHelp(this.cmds); break; - case 'glass': - result = cmdGlass(); - break; case 'v': case 'version': result = cmdVersion(); @@ -390,6 +350,3 @@ export function toggle() }, Magics.Time50ms); } } - -// init -initGlass(); diff --git a/dev/Settings/Admin/Prem/Licensing.js b/dev/Settings/Admin/Prem/Licensing.js index 95b44ff560..ee7d4ad85e 100644 --- a/dev/Settings/Admin/Prem/Licensing.js +++ b/dev/Settings/Admin/Prem/Licensing.js @@ -1,5 +1,6 @@ import ko from 'ko'; +import moment from 'moment'; import {settingsGet} from 'Storage/Settings'; import {showScreenPopup} from 'Knoin/Knoin'; @@ -60,7 +61,6 @@ class LicensingPremAdminSettings */ licenseExpiredMomentValue() { const - moment = require('moment'), time = this.licenseExpired(), momentUnix = moment.unix(time); diff --git a/dev/Styles/Login.less b/dev/Styles/Login.less index 053af2617e..3b6ec0db3c 100644 --- a/dev/Styles/Login.less +++ b/dev/Styles/Login.less @@ -59,7 +59,7 @@ } .wrapper { - padding: 40px 40px 12px 40px; + padding: 40px 40px 20px 40px; } #recaptcha_image img { @@ -102,6 +102,12 @@ font-size: 17px; line-height: 29px; color: #999; + + &.login-submit-icon{ + font-size: 24px; + padding-top: 2px; + cursor: pointer; + } } .controls.error .add-on i, .control-group.error .add-on i { diff --git a/dev/Styles/Ui.less b/dev/Styles/Ui.less index 0155f1ecba..f3b3b23b9d 100644 --- a/dev/Styles/Ui.less +++ b/dev/Styles/Ui.less @@ -174,6 +174,10 @@ html.rgba .g-ui-resizable-delimiter-highlight { } } +.display-none { + display: none; +} + .e-spinner { display: none; } diff --git a/dev/View/User/Login.js b/dev/View/User/Login.js index f1729b6c64..74f670ffde 100644 --- a/dev/View/User/Login.js +++ b/dev/View/User/Login.js @@ -36,7 +36,7 @@ import {view, command, ViewType, routeOff, showScreenPopup} from 'Knoin/Knoin'; import {AbstractViewNext} from 'Knoin/AbstractViewNext'; @view({ - name: 'View/User/Login', + name: ['View/App/Login', 'View/User/Login'], type: ViewType.Center, templateID: 'Login' }) @@ -83,7 +83,6 @@ class LoginUserView extends AbstractViewNext this.emailFocus = ko.observable(false); this.passwordFocus = ko.observable(false); - this.submitFocus = ko.observable(false); this.email.subscribe(() => { this.emailError(false); @@ -335,7 +334,7 @@ class LoginUserView extends AbstractViewNext onShowWithDelay() { if ('' !== this.email() && '' !== this.password()) { - this.submitFocus(true); + this.passwordFocus(true); } else if ('' === this.email()) { @@ -352,7 +351,6 @@ class LoginUserView extends AbstractViewNext } onHide() { - this.submitFocus(false); this.emailFocus(false); this.passwordFocus(false); } diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php index 40b759a05f..6e82bccb81 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -1455,6 +1455,7 @@ public function AppDataSystem($bAdmin = false, $bMobile = false, $bMobileDevice 'customLogoutLink' => $oConfig->Get('labs', 'custom_logout_link', ''), 'forgotPasswordLinkUrl' => \trim($oConfig->Get('login', 'forgot_password_link_url', '')), 'registrationLinkUrl' => \trim($oConfig->Get('login', 'registration_link_url', '')), + 'loginGlassStyle' => (bool) $oConfig->Get('login', 'glass_style', true), 'jsHash' => \md5(\RainLoop\Utils::GetConnectionToken()), 'useImapThread' => (bool) $oConfig->Get('labs', 'use_imap_thread', false), 'useImapSubscribe' => (bool) $oConfig->Get('labs', 'use_imap_list_subscribe', true), diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php index aa1f4392fa..7696a99c14 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php @@ -249,6 +249,8 @@ protected function defaultValues() 'welcome_page' => array(false, ''), + 'glass_style' => array(true, ''), + 'forgot_password_link_url' => array('', ''), 'registration_link_url' => array('', ''), diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html index 2263f8e83c..2c161b0a21 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html @@ -26,12 +26,13 @@ style="padding-right: 35px;" autocorrect="off" autocapitalize="off" spellcheck="false" data-i18n="[placeholder]LOGIN/LABEL_PASSWORD" data-bind="textInput: password, disable: submitRequest" /> - - + + + -
+
@@ -70,12 +71,12 @@ }"> {{INCLUDE/BottomControlGroup/PLACE}} -
-
-