X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/data/DataField.js diff --git a/src/data/DataField.js b/src/data/DataField.js deleted file mode 100644 index 4437dfb5..00000000 --- a/src/data/DataField.js +++ /dev/null @@ -1,251 +0,0 @@ -/*! - * Ext JS Library 3.1.1 - * Copyright(c) 2006-2010 Ext JS, LLC - * licensing@extjs.com - * http://www.extjs.com/license - */ -/** - * @class Ext.data.Field - *
This 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": - 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; - default: - cv = function(v){ return v; }; - 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 - *
-// 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'
- }
-];
- *
- */
- /**
- * @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
- * (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.
- *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:
-// 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;
- }
-}
- *
- */
- 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
-};
\ No newline at end of file