Кажется, достаточно просто. Все, что вам нужно сделать, это расширить класс Ext.form.TextField
с помощью той же логики. Они обрабатывают фактическую «силу» с событием onFieldChange
, которого в Ext 3 не существует из того, что я вижу в документах, но вы можете легко сделать то же самое с событием keyup : ( Ext.form.TextField this, Ext.EventObject e )
.
Посмотрите на источник и убедитесь, что они определяют 2 функции, processValue
и scorePassword
. Вы можете скопировать эти функции напрямую, а затем реализовать функцию keyup для их использования.
Вы бы создали класс:
Ext.form.PasswordStrength = Ext.extend(Ext.form.TextField, {
initComponent: function () {
// write your code, functions, etc here
// default values you want for your TextField
var config = {
}
Ext.apply(this, config);
Ext.form.PasswordStrength.superclass.initComponent(this);
}
});
// register an xtype
Ext.reg("passwordstrength", Ext.form.PasswordStrength);
Этого должно быть достаточно, чтобы начать.