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"
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')); ?>" />
<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
* @returns {Function}
*/
function settingsMenuKeysHendler($items)
function settingsMenuKeysHandler($items)
{
return _.throttle((event, handler) => {
@ -627,5 +627,5 @@ export {
commandDecorator, commandDecorator as command,
viewDecorator, viewDecorator as view, viewDecorator as viewModel,
popupDecorator, popupDecorator as popup,
settingsMenuKeysHendler
settingsMenuKeysHandler
};

View file

@ -5,7 +5,7 @@ import key from 'key';
import {leftPanelDisabled} from 'Common/Globals';
import {KeyState} from 'Common/Enums';
import {view, ViewType, settingsMenuKeysHendler} from 'Knoin/Knoin';
import {view, ViewType, settingsMenuKeysHandler} from 'Knoin/Knoin';
import {AbstractViewNext} from 'Knoin/AbstractViewNext';
@view({
@ -32,7 +32,7 @@ class MenuSettingsAdminView extends AbstractViewNext
}
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 {view, ViewType, setHash, settingsMenuKeysHendler} from 'Knoin/Knoin';
import {view, ViewType, setHash, settingsMenuKeysHandler} from 'Knoin/Knoin';
import {AbstractViewNext} from 'Knoin/AbstractViewNext';
@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) {

View file

@ -207,7 +207,7 @@ cfg.paths.js = {
'vendors/routes/crossroads.min.js', // fixed
'vendors/jua/jua.min.js', // custom
'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
'node_modules/underscore/underscore-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/opentip/lib/opentip.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-thumbnail.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) {
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() {

View file

@ -12,7 +12,7 @@
<input type="text" class="input-block-level inputLogin checkAutocomplete"
name="RainLoopAdminLogin" id="RainLoopAdminLogin"
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" />
<span class="add-on">
<i class="icon-user"></i>
@ -24,7 +24,7 @@
<input type="password" class="input-block-level inputPassword checkAutocomplete"
placeholder="Password" name="RainLoopAdminPassword" id="RainLoopAdminPassword"
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" />
<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>

View file

@ -30,7 +30,7 @@
<input type="email" class="i18n input-block-level inputEmail checkAutocomplete"
name="RainLoopEmail" id="RainLoopEmail"
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" />
<span class="add-on">
<i class="icon-mail"></i>
@ -42,7 +42,7 @@
<input type="password" class="i18n input-block-level inputPassword checkAutocomplete"
name="RainLoopPassword" id="RainLoopPassword"
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" />
<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>

View file

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