UNPKG

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
<!DOCTYPE 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>