autocomplete attributes

This commit is contained in:
RainLoop Team 2019-03-30 01:45:12 +03:00
parent 18242368be
commit e449261277
8 changed files with 26 additions and 22 deletions

View file

@ -9,7 +9,7 @@
<input type="text" id="rainloop-email" name="rainloop-email" <input type="text" id="rainloop-email" name="rainloop-email"
value="<?php echo $_['rainloop-email']; ?>" placeholder="<?php p($l->t('Email')); ?>" /> value="<?php echo $_['rainloop-email']; ?>" placeholder="<?php p($l->t('Email')); ?>" />
<input type="password" id="rainloop-password" name="rainloop-password" <input type="password" id="rainloop-password" name="rainloop-password" autocomplete="current-password"
value="<?php echo $_['rainloop-password']; ?>" placeholder="<?php p($l->t('Password')); ?>" /> value="<?php echo $_['rainloop-password']; ?>" placeholder="<?php p($l->t('Password')); ?>" />
<input type="button" id="rainloop-save-button" name="rainloop-save-button" value="<?php p($l->t('Save')); ?>" /> <input type="button" id="rainloop-save-button" name="rainloop-save-button" value="<?php p($l->t('Save')); ?>" />

View file

@ -595,7 +595,7 @@ function commandDecorator(canExecute = true)
* @param {miced} $items * @param {miced} $items
* @returns {Function} * @returns {Function}
*/ */
function settingsMenuKeysHendler($items) function settingsMenuKeysHandler($items)
{ {
return _.throttle((event, handler) => { return _.throttle((event, handler) => {
@ -627,5 +627,5 @@ export {
commandDecorator, commandDecorator as command, commandDecorator, commandDecorator as command,
viewDecorator, viewDecorator as view, viewDecorator as viewModel, viewDecorator, viewDecorator as view, viewDecorator as viewModel,
popupDecorator, popupDecorator as popup, popupDecorator, popupDecorator as popup,
settingsMenuKeysHendler settingsMenuKeysHandler
}; };

View file

@ -5,7 +5,7 @@ import key from 'key';
import {leftPanelDisabled} from 'Common/Globals'; import {leftPanelDisabled} from 'Common/Globals';
import {KeyState} from 'Common/Enums'; import {KeyState} from 'Common/Enums';
import {view, ViewType, settingsMenuKeysHendler} from 'Knoin/Knoin'; import {view, ViewType, settingsMenuKeysHandler} from 'Knoin/Knoin';
import {AbstractViewNext} from 'Knoin/AbstractViewNext'; import {AbstractViewNext} from 'Knoin/AbstractViewNext';
@view({ @view({
@ -32,7 +32,7 @@ class MenuSettingsAdminView extends AbstractViewNext
} }
onBuild(dom) { onBuild(dom) {
key('up, down', KeyState.Settings, settingsMenuKeysHendler($('.b-admin-menu .e-item', dom))); key('up, down', KeyState.Settings, settingsMenuKeysHandler($('.b-admin-menu .e-item', dom)));
} }
} }

View file

@ -9,7 +9,7 @@ import {getFolderInboxName} from 'Common/Cache';
import * as Settings from 'Storage/Settings'; import * as Settings from 'Storage/Settings';
import {view, ViewType, setHash, settingsMenuKeysHendler} from 'Knoin/Knoin'; import {view, ViewType, setHash, settingsMenuKeysHandler} from 'Knoin/Knoin';
import {AbstractViewNext} from 'Knoin/AbstractViewNext'; import {AbstractViewNext} from 'Knoin/AbstractViewNext';
@view({ @view({
@ -40,7 +40,7 @@ class MenuSettingsUserView extends AbstractViewNext
}); });
} }
key('up, down', KeyState.Settings, settingsMenuKeysHendler($('.b-settings-menu .e-item', dom))); key('up, down', KeyState.Settings, settingsMenuKeysHandler($('.b-settings-menu .e-item', dom)));
} }
link(route) { link(route) {

View file

@ -207,7 +207,7 @@ cfg.paths.js = {
'vendors/routes/crossroads.min.js', // fixed 'vendors/routes/crossroads.min.js', // fixed
'vendors/jua/jua.min.js', // custom 'vendors/jua/jua.min.js', // custom
'vendors/keymaster/keymaster.js', // custom (modified) 'vendors/keymaster/keymaster.js', // custom (modified)
'vendors/qr.js/qr.min.js', // fixed 'vendors/qr.js/qr.min.js', // fixed (license)
'vendors/bootstrap/js/bootstrap.min.js', // fixed 'vendors/bootstrap/js/bootstrap.min.js', // fixed
'node_modules/underscore/underscore-min.js', 'node_modules/underscore/underscore-min.js',
'node_modules/moment/min/moment.min.js', 'node_modules/moment/min/moment.min.js',
@ -220,7 +220,7 @@ cfg.paths.js = {
'node_modules/autolinker/dist/Autolinker.min.js', 'node_modules/autolinker/dist/Autolinker.min.js',
'node_modules/opentip/lib/opentip.js', 'node_modules/opentip/lib/opentip.js',
'node_modules/opentip/lib/adapter-jquery.js', 'node_modules/opentip/lib/adapter-jquery.js',
'vendors/lightgallery/dist/js/lightgallery.min.js', 'vendors/lightgallery/dist/js/lightgallery.min.js', // license
'vendors/lightgallery/dist/js/lg-fullscreen.min.js', 'vendors/lightgallery/dist/js/lg-fullscreen.min.js',
'vendors/lightgallery/dist/js/lg-thumbnail.min.js', 'vendors/lightgallery/dist/js/lg-thumbnail.min.js',
'vendors/lightgallery/dist/js/lg-zoom.min.js', 'vendors/lightgallery/dist/js/lg-zoom.min.js',
@ -333,7 +333,7 @@ gulp.task('js:clean', function() {
}); });
gulp.task('js:webpack', function(callback) { gulp.task('js:webpack', function(callback) {
webpack(webpackCfgBuilder(cfg.paths.staticJS, !cfg.community, false), webpackCallback(callback)); webpack(webpackCfgBuilder(cfg.paths.staticJS, !cfg.community, 'production'), webpackCallback(callback));
}); });
gulp.task('js:app', ['js:webpack'], function() { gulp.task('js:app', ['js:webpack'], function() {

View file

@ -12,7 +12,7 @@
<input type="text" class="input-block-level inputLogin checkAutocomplete" <input type="text" class="input-block-level inputLogin checkAutocomplete"
name="RainLoopAdminLogin" id="RainLoopAdminLogin" name="RainLoopAdminLogin" id="RainLoopAdminLogin"
style="padding-right: 35px;" style="padding-right: 35px;"
autocorrect="off" autocapitalize="off" spellcheck="false" data-i18n="[placeholder]LOGIN/LABEL_LOGIN" autocomplete="username" autocorrect="off" autocapitalize="off" spellcheck="false" data-i18n="[placeholder]LOGIN/LABEL_LOGIN"
data-bind="textInput: login, hasFocus: loginFocus, disable: submitRequest" /> data-bind="textInput: login, hasFocus: loginFocus, disable: submitRequest" />
<span class="add-on"> <span class="add-on">
<i class="icon-user"></i> <i class="icon-user"></i>
@ -24,7 +24,7 @@
<input type="password" class="input-block-level inputPassword checkAutocomplete" <input type="password" class="input-block-level inputPassword checkAutocomplete"
placeholder="Password" name="RainLoopAdminPassword" id="RainLoopAdminPassword" placeholder="Password" name="RainLoopAdminPassword" id="RainLoopAdminPassword"
style="padding-right: 35px;" style="padding-right: 35px;"
autocorrect="off" autocapitalize="off" spellcheck="false" data-i18n="[placeholder]LOGIN/LABEL_PASSWORD" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false" data-i18n="[placeholder]LOGIN/LABEL_PASSWORD"
data-bind="textInput: password, disable: submitRequest" /> data-bind="textInput: password, disable: submitRequest" />
<span class="add-on" tabindex="-1" data-tooltip-join="left" data-bind="command: submitCommand, tooltip: 'LOGIN/BUTTON_LOGIN'"> <span class="add-on" tabindex="-1" data-tooltip-join="left" data-bind="command: submitCommand, tooltip: 'LOGIN/BUTTON_LOGIN'">
<i class="icon-key" data-bind="visible: '' === password()"></i> <i class="icon-key" data-bind="visible: '' === password()"></i>

View file

@ -30,7 +30,7 @@
<input type="email" class="i18n input-block-level inputEmail checkAutocomplete" <input type="email" class="i18n input-block-level inputEmail checkAutocomplete"
name="RainLoopEmail" id="RainLoopEmail" name="RainLoopEmail" id="RainLoopEmail"
style="padding-right: 35px;" style="padding-right: 35px;"
autocorrect="off" autocapitalize="off" spellcheck="false" autocomplete="email" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: email, hasFocus: emailFocus, disable: submitRequest" data-i18n="[placeholder]LOGIN/LABEL_EMAIL" /> data-bind="textInput: email, hasFocus: emailFocus, disable: submitRequest" data-i18n="[placeholder]LOGIN/LABEL_EMAIL" />
<span class="add-on"> <span class="add-on">
<i class="icon-mail"></i> <i class="icon-mail"></i>
@ -42,7 +42,7 @@
<input type="password" class="i18n input-block-level inputPassword checkAutocomplete" <input type="password" class="i18n input-block-level inputPassword checkAutocomplete"
name="RainLoopPassword" id="RainLoopPassword" name="RainLoopPassword" id="RainLoopPassword"
style="padding-right: 35px;" style="padding-right: 35px;"
autocorrect="off" autocapitalize="off" spellcheck="false" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: password, hasFocus: passwordFocus, disable: submitRequest" data-i18n="[placeholder]LOGIN/LABEL_PASSWORD" /> data-bind="textInput: password, hasFocus: passwordFocus, disable: submitRequest" data-i18n="[placeholder]LOGIN/LABEL_PASSWORD" />
<span class="add-on" tabindex="-1" data-tooltip-join="left" data-bind="command: submitCommand, tooltip: 'LOGIN/BUTTON_SIGN_IN'"> <span class="add-on" tabindex="-1" data-tooltip-join="left" data-bind="command: submitCommand, tooltip: 'LOGIN/BUTTON_SIGN_IN'">
<i class="icon-key" data-bind="visible: '' === password()"></i> <i class="icon-key" data-bind="visible: '' === password()"></i>

View file

@ -2,9 +2,13 @@
const const
path = require('path'), path = require('path'),
webpack = require('webpack'), webpack = require('webpack'),
devPath = path.resolve(__dirname, 'dev'),
CopyWebpackPlugin = require('copy-webpack-plugin'), CopyWebpackPlugin = require('copy-webpack-plugin'),
WebpackNotifierPlugin = require('webpack-notifier'), WebpackNotifierPlugin = require('webpack-notifier'),
devPath = path.resolve(__dirname, 'dev'),
devPathJoin = path.join(__dirname, 'dev'),
externalPathJoin = path.join(__dirname, 'dev', 'External'),
loose = true; loose = true;
const babelLoaderOptions = function() { const babelLoaderOptions = function() {
@ -32,13 +36,13 @@ const babelLoaderOptions = function() {
}; };
process.noDeprecation = true; process.noDeprecation = true;
module.exports = function(publicPath, pro) { module.exports = function(publicPath, pro, mode) {
return { return {
mode: 'production', mode: mode || 'development',
entry: { entry: {
'js/boot': path.join(__dirname, 'dev', 'boot.js'), 'js/boot': path.join(devPathJoin, 'boot.js'),
'js/app': path.join(__dirname, 'dev', 'app.js'), 'js/app': path.join(devPathJoin, 'app.js'),
'js/admin': path.join(__dirname, 'dev', 'admin.js') 'js/admin': path.join(devPathJoin, 'admin.js')
}, },
output: { output: {
pathinfo: true, pathinfo: true,
@ -70,8 +74,8 @@ module.exports = function(publicPath, pro) {
modules: [devPath, 'node_modules'], modules: [devPath, 'node_modules'],
extensions: ['.js'], extensions: ['.js'],
alias: { alias: {
'Opentip$': path.join(__dirname, 'dev', 'External', 'Opentip.js'), 'Opentip$': path.join(externalPathJoin, 'Opentip.js'),
'ko$': path.join(__dirname, 'dev', 'External', 'ko.js') 'ko$': path.join(externalPathJoin, 'ko.js')
} }
}, },
module: { module: {