X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/docs/source/DataField.html diff --git a/docs/source/DataField.html b/docs/source/DataField.html deleted file mode 100644 index 8890e8ad..00000000 --- a/docs/source/DataField.html +++ /dev/null @@ -1,252 +0,0 @@ - -
-/** - * @class Ext.data.Field - *- - \ No newline at end of fileThis class encapsulates the field definition information specified in the field definition objects - * passed to {@link Ext.data.Record#create}.
- *Developers do not need to instantiate this class. Instances are created by {@link Ext.data.Record.create} - * and cached in the {@link Ext.data.Record#fields fields} property of the created Record constructor's prototype.
- */ -Ext.data.Field = function(config){ - if(typeof config == "string"){ - config = {name: config}; - } - Ext.apply(this, config); - - if(!this.type){ - this.type = "auto"; - } - - var st = Ext.data.SortTypes; - // named sortTypes are supported, here we look them up - if(typeof this.sortType == "string"){ - this.sortType = st[this.sortType]; - } - - // set default sortType for strings and dates - if(!this.sortType){ - switch(this.type){ - case "string": - this.sortType = st.asUCString; - break; - case "date": - this.sortType = st.asDate; - break; - default: - this.sortType = st.none; - } - } - - // define once - var stripRe = /[\$,%]/g; - - // prebuilt conversion function for this field, instead of - // switching every time we're reading a value - if(!this.convert){ - var cv, dateFormat = this.dateFormat; - switch(this.type){ - case "": - case "auto": - case undefined: - cv = function(v){ return v; }; - break; - case "string": - cv = function(v){ return (v === undefined || v === null) ? '' : String(v); }; - break; - case "int": - cv = function(v){ - return v !== undefined && v !== null && v !== '' ? - parseInt(String(v).replace(stripRe, ""), 10) : ''; - }; - break; - case "float": - cv = function(v){ - return v !== undefined && v !== null && v !== '' ? - parseFloat(String(v).replace(stripRe, ""), 10) : ''; - }; - break; - case "bool": - case "boolean": - cv = function(v){ return v === true || v === "true" || v == 1; }; - break; - case "date": - cv = function(v){ - if(!v){ - return ''; - } - if(Ext.isDate(v)){ - return v; - } - if(dateFormat){ - if(dateFormat == "timestamp"){ - return new Date(v*1000); - } - if(dateFormat == "time"){ - return new Date(parseInt(v, 10)); - } - return Date.parseDate(v, dateFormat); - } - var parsed = Date.parse(v); - return parsed ? new Date(parsed) : null; - }; - break; - - } - this.convert = cv; - } -}; - -Ext.data.Field.prototype = { - /** - * @cfg {String} name - * The name by which the field is referenced within the Record. This is referenced by, for example, - * the dataIndex property in column definition objects passed to {@link Ext.grid.ColumnModel}. - *Note: In the simplest case, if no properties other than name are required, a field - * definition may consist of just a String for the field name.
- */ - /** - * @cfg {String} type - * (Optional) The data type for conversion to displayable value if {@link Ext.data.Field#convert convert} - * has not been specified. Possible values are - *- */ - /** - * @cfg {Function} convert - * (Optional) A function which converts the value provided by the Reader into an object that will be stored - * in the Record. It is passed the following parameters:- *
- auto (Default, implies no conversion)
- *- string
- *- int
- *- float
- *- boolean
- *- date
- *- *
- v : Mixed
- *The data value as read by the Reader, if undefined will use - * the configured {@link Ext.data.Field#defaultValue defaultValue}.- rec : Mixed
- *The data object containing the row as read by the Reader. - * Depending on the Reader type, this could be an Array ({@link Ext.data.ArrayReader ArrayReader}), an object - * ({@link Ext.data.JsonReader JsonReader}), or an XML element ({@link Ext.data.XMLReader XMLReader}).- */ - /** - * @cfg {String} dateFormat - * (Optional) A format string for the {@link Date#parseDate Date.parseDate} function, or "timestamp" if the - * value provided by the Reader is a UNIX timestamp, or "time" if the value provided by the Reader is a - * javascript millisecond timestamp. - */ - dateFormat: null, - /** - * @cfg {Mixed} defaultValue - * (Optional) The default value used when a Record is being created by a {@link Ext.data.Reader Reader} - * when the item referenced by the {@link Ext.data.Field#mapping mapping} does not exist in the data - * object (i.e. undefined). (defaults to "") - */ - defaultValue: "", - /** - * @cfg {String/Number} mapping - *-// example of convert function -function fullName(v, record){ - return record.name.last + ', ' + record.name.first; -} - -function location(v, record){ - return !record.city ? '' : (record.city + ', ' + record.state); -} - -var Dude = Ext.data.Record.create([ - {name: 'fullname', convert: fullName}, - {name: 'firstname', mapping: 'name.first'}, - {name: 'lastname', mapping: 'name.last'}, - {name: 'city', defaultValue: 'homeless'}, - 'state', - {name: 'location', convert: location} -]); - -// create the data store -var store = new Ext.data.Store({ - reader: new Ext.data.JsonReader( - { - idProperty: 'key', - root: 'daRoot', - totalProperty: 'total' - }, - Dude // recordType - ) -}); - -var myData = [ - { key: 1, - name: { first: 'Fat', last: 'Albert' } - // notice no city, state provided in data object - }, - { key: 2, - name: { first: 'Barney', last: 'Rubble' }, - city: 'Bedrock', state: 'Stoneridge' - }, - { key: 3, - name: { first: 'Cliff', last: 'Claven' }, - city: 'Boston', state: 'MA' - } -]; - *
(Optional) A path expression for use by the {@link Ext.data.DataReader} implementation - * that is creating the {@link Ext.data.Record Record} to extract the Field value from the data object. - * If the path expression is the same as the field name, the mapping may be omitted.
- *The form of the mapping expression depends on the Reader being used.
- *- *- *
- {@link Ext.data.JsonReader}
- *The mapping is a string containing the javascript - * expression to reference the data from an element of the data item's {@link Ext.data.JsonReader#root root} Array. Defaults to the field name.- {@link Ext.data.XmlReader}
- *The mapping is an {@link Ext.DomQuery} path to the data - * item relative to the DOM element that represents the {@link Ext.data.XmlReader#record record}. Defaults to the field name.- {@link Ext.data.ArrayReader}
- *The mapping is a number indicating the Array index - * of the field's value. Defaults to the field specification's Array position.If a more complex value extraction strategy is required, then configure the Field with a {@link #convert} - * function. This is passed the whole row object, and may interrogate it in whatever way is necessary in order to - * return the desired data.
- */ - mapping: null, - /** - * @cfg {Function} sortType - * (Optional) A function which converts a Field's value to a comparable value in order to ensure - * correct sort ordering. Predefined functions are provided in {@link Ext.data.SortTypes}. A custom - * sort example:- */ - sortType : null, - /** - * @cfg {String} sortDir - * (Optional) Initial direction to sort ("ASC" or "DESC"). Defaults to - * "ASC". - */ - sortDir : "ASC", - /** - * @cfg {Boolean} allowBlank - * (Optional) Used for validating a {@link Ext.data.Record record}, defaults to true. - * An empty value here will cause {@link Ext.data.Record}.{@link Ext.data.Record#isValid isValid} - * to evaluate to false. - */ - allowBlank : true -};-// current sort after sort we want -// +-+------+ +-+------+ -// |1|First | |1|First | -// |2|Last | |3|Second| -// |3|Second| |2|Last | -// +-+------+ +-+------+ - -sortType: function(value) { - switch (value.toLowerCase()) // native toLowerCase(): - { - case 'first': return 1; - case 'second': return 2; - default: return 3; - } -} - *