jqwidgets-scripts-custom
Version:
jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.
84 lines (78 loc) • 4.28 kB
HTML
<html lang="en">
<head>
<title id='Description'>PasswordInput Custom Element CustomStrenghtRendering</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" />
<meta name="description" content="This is an example of the strenght of a Custom Element Passwordinput." />
<link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" />
<link rel="stylesheet" href="../../../styles/demos.css" type="text/css" />
<script type="text/javascript" src="../../../scripts/webcomponents-lite.min.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcore.elements.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxtooltip.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxpasswordinput.js"></script>
<script type="text/javascript" src="../../../scripts/demos.js"></script>
<script>
JQXElements.settings['PasswordInput'] =
{
placeHolder: 'Enter password:',
showStrength: true,
showStrengthPosition: 'right',
passwordStrength: (password, characters, defaultStrength) => {
var length = password.length;
var letters = characters.letters;
var numbers = characters.numbers;
var specialKeys = characters.specialKeys;
var strengthCoefficient = letters + numbers + 2 * specialKeys + letters * numbers * specialKeys;
var strengthValue;
if (length < 4) {
strengthValue = 'Too short';
} else if (strengthCoefficient < 10) {
strengthValue = 'Weak';
} else if (strengthCoefficient < 20) {
strengthValue = 'Fair';
} else if (strengthCoefficient < 30) {
strengthValue = 'Good';
} else {
strengthValue = 'Strong';
};
return strengthValue;
},
// The strengthTypeRenderer enables you to override the built-in rendering of the Strength tooltip.
strengthTypeRenderer: (password, characters, defaultStrength) => {
var length = password.length;
var letters = characters.letters;
var numbers = characters.numbers;
var specialKeys = characters.specialKeys;
var strengthCoefficient = letters + numbers + 2 * specialKeys + letters * numbers / 2 + length;
var strengthValue;
var color;
if (length < 8) {
strengthValue = 'Too short';
color = 'rgb(170, 0, 51)';
} else if (strengthCoefficient < 20) {
strengthValue = 'Weak';
color = 'rgb(170, 0, 51)';
} else if (strengthCoefficient < 30) {
strengthValue = 'Fair';
color = 'rgb(255, 204, 51)';
} else if (strengthCoefficient < 40) {
strengthValue = 'Good';
color = 'rgb(45, 152, 243)';
} else {
strengthValue = 'Strong';
color = 'rgb(118, 194, 97)';
};
return '<div style="font-style: italic; font-weight: bold; color: "' + color + ';">' + strengthValue + '</div>';
}
};
</script>
</head>
<body>
<div class="example-description">
This demo illustrates how to customize the rendering of the Strength Tooltip.
</div>
<jqx-password-input settings="PasswordInput" show-strength="true" show-strength-position="right"></jqx-password-input>
</body>
</html>