X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/f5240829880f87e0cf581c6a296e436fdef0ef80..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/examples/form/adv-vtypes.js diff --git a/examples/form/adv-vtypes.js b/examples/form/adv-vtypes.js index 1084c561..aea56361 100644 --- a/examples/form/adv-vtypes.js +++ b/examples/form/adv-vtypes.js @@ -1,112 +1,120 @@ -/*! - * Ext JS Library 3.3.0 - * Copyright(c) 2006-2010 Ext JS, Inc. - * licensing@extjs.com - * http://www.extjs.com/license - */ -// Add the additional 'advanced' VTypes -Ext.apply(Ext.form.VTypes, { - daterange : function(val, field) { - var date = field.parseDate(val); +Ext.require([ + 'Ext.form.*' +]); - if(!date){ - return false; - } - if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) { - var start = Ext.getCmp(field.startDateField); - start.setMaxValue(date); - start.validate(); - this.dateRangeMax = date; - } - else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) { - var end = Ext.getCmp(field.endDateField); - end.setMinValue(date); - end.validate(); - this.dateRangeMin = date; - } - /* - * Always return true since we're only using this vtype to set the - * min/max allowed values (these are tested for after the vtype test) - */ - return true; - }, +Ext.onReady(function() { - password : function(val, field) { - if (field.initialPassField) { - var pwd = Ext.getCmp(field.initialPassField); - return (val == pwd.getValue()); - } - return true; - }, + // Add the additional 'advanced' VTypes + Ext.apply(Ext.form.field.VTypes, { + daterange: function(val, field) { + var date = field.parseDate(val); - passwordText : 'Passwords do not match' -}); - - -Ext.onReady(function(){ + if (!date) { + return false; + } + if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) { + var start = field.up('form').down('#' + field.startDateField); + start.setMaxValue(date); + start.validate(); + this.dateRangeMax = date; + } + else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) { + var end = field.up('form').down('#' + field.endDateField); + end.setMinValue(date); + end.validate(); + this.dateRangeMin = date; + } + /* + * Always return true since we're only using this vtype to set the + * min/max allowed values (these are tested for after the vtype test) + */ + return true; + }, - Ext.QuickTips.init(); + daterangeText: 'Start date must be less than end date', - // turn on validation errors beside the field globally - Ext.form.Field.prototype.msgTarget = 'side'; + password: function(val, field) { + if (field.initialPassField) { + var pwd = field.up('form').down('#' + field.initialPassField); + return (val == pwd.getValue()); + } + return true; + }, - var bd = Ext.getBody(); + passwordText: 'Passwords do not match' + }); /* * ================ Date Range ======================= */ - var dr = new Ext.FormPanel({ - labelWidth: 125, - frame: true, - title: 'Date Range', - bodyStyle:'padding:5px 5px 0', - width: 350, - defaults: {width: 175}, - defaultType: 'datefield', - items: [{ - fieldLabel: 'Start Date', - name: 'startdt', - id: 'startdt', - vtype: 'daterange', - endDateField: 'enddt' // id of the end date field - },{ - fieldLabel: 'End Date', - name: 'enddt', - id: 'enddt', - vtype: 'daterange', - startDateField: 'startdt' // id of the start date field - }] + var dr = Ext.create('Ext.FormPanel', { + renderTo: 'dr', + frame: true, + title: 'Date Range', + bodyPadding: '5px 5px 0', + width: 350, + fieldDefaults: { + labelWidth: 125, + msgTarget: 'side', + autoFitErrors: false + }, + defaults: { + width: 300 + }, + defaultType: 'datefield', + items: [ + { + fieldLabel: 'Start Date', + name: 'startdt', + id: 'startdt', + vtype: 'daterange', + endDateField: 'enddt' // id of the end date field + }, + { + fieldLabel: 'End Date', + name: 'enddt', + id: 'enddt', + vtype: 'daterange', + startDateField: 'startdt' // id of the start date field + } + ] }); - dr.render('dr'); /* * ================ Password Verification ======================= */ - var pwd = new Ext.FormPanel({ - labelWidth: 125, - frame: true, - title: 'Password Verification', - bodyStyle:'padding:5px 5px 0', - width: 350, - defaults: { - width: 175, - inputType: 'password' - }, - defaultType: 'textfield', - items: [{ - fieldLabel: 'Password', - name: 'pass', - id: 'pass' - },{ - fieldLabel: 'Confirm Password', - name: 'pass-cfrm', - vtype: 'password', - initialPassField: 'pass' // id of the initial password field - }] + var pwd = Ext.create('Ext.FormPanel', { + renderTo: 'pw', + frame: true, + title: 'Password Verification', + bodyPadding: '5px 5px 0', + width: 350, + fieldDefaults: { + labelWidth: 125, + msgTarget: 'side', + autoFitErrors: false + }, + defaults: { + width: 300, + inputType: 'password' + }, + defaultType: 'textfield', + items: [ + { + fieldLabel: 'Password', + name: 'pass', + id: 'pass' + }, + { + fieldLabel: 'Confirm Password', + name: 'pass-cfrm', + vtype: 'password', + initialPassField: 'pass' // id of the initial password field + } + ] }); - pwd.render('pw'); -}); \ No newline at end of file +});