X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/data/XmlStore.js diff --git a/src/data/XmlStore.js b/src/data/XmlStore.js index 7943ec31..f03cc732 100644 --- a/src/data/XmlStore.js +++ b/src/data/XmlStore.js @@ -1,75 +1,84 @@ -/*! - * Ext JS Library 3.0.3 - * Copyright(c) 2006-2009 Ext JS, LLC - * licensing@extjs.com - * http://www.extjs.com/license +/** + * @author Ed Spencer + * @class Ext.data.XmlStore + * @extends Ext.data.Store + * @private + * @ignore + *
Small helper class to make creating {@link Ext.data.Store}s from XML data easier. + * A XmlStore will be automatically configured with a {@link Ext.data.reader.Xml}.
+ *A store configuration would be something like:
+var store = new Ext.data.XmlStore({
+ // store configs
+ autoDestroy: true,
+ storeId: 'myStore',
+ url: 'sheldon.xml', // automatically configures a HttpProxy
+ // reader configs
+ record: 'Item', // records will have an "Item" tag
+ idPath: 'ASIN',
+ totalRecords: '@TotalResults'
+ fields: [
+ // set up the fields mapping into the xml doc
+ // The first needs mapping, the others are very basic
+ {name: 'Author', mapping: 'ItemAttributes > Author'},
+ 'Title', 'Manufacturer', 'ProductGroup'
+ ]
+});
+ *
+ * This store is configured to consume a returned object of the form:
+<?xml version="1.0" encoding="UTF-8"?>
+<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15">
+ <Items>
+ <Request>
+ <IsValid>True</IsValid>
+ <ItemSearchRequest>
+ <Author>Sidney Sheldon</Author>
+ <SearchIndex>Books</SearchIndex>
+ </ItemSearchRequest>
+ </Request>
+ <TotalResults>203</TotalResults>
+ <TotalPages>21</TotalPages>
+ <Item>
+ <ASIN>0446355453</ASIN>
+ <DetailPageURL>
+ http://www.amazon.com/
+ </DetailPageURL>
+ <ItemAttributes>
+ <Author>Sidney Sheldon</Author>
+ <Manufacturer>Warner Books</Manufacturer>
+ <ProductGroup>Book</ProductGroup>
+ <Title>Master of the Game</Title>
+ </ItemAttributes>
+ </Item>
+ </Items>
+</ItemSearchResponse>
+ *
+ * An object literal of this form could also be used as the {@link #data} config option.
+ * Note: Although not listed here, this class accepts all of the configuration options of + * {@link Ext.data.reader.Xml XmlReader}.
+ * @constructor + * @param {Object} config + * @xtype xmlstore */ -/** - * @class Ext.data.XmlStore - * @extends Ext.data.Store - *Small helper class to make creating {@link Ext.data.Store}s from XML data easier. - * A XmlStore will be automatically configured with a {@link Ext.data.XmlReader}.
- *A store configuration would be something like:
-var store = new Ext.data.XmlStore({
- // store configs
- autoDestroy: true,
- storeId: 'myStore',
- url: 'sheldon.xml', // automatically configures a HttpProxy
- // reader configs
- record: 'Item', // records will have an "Item" tag
- idPath: 'ASIN',
- totalRecords: '@TotalResults'
- fields: [
- // set up the fields mapping into the xml doc
- // The first needs mapping, the others are very basic
- {name: 'Author', mapping: 'ItemAttributes > Author'},
- 'Title', 'Manufacturer', 'ProductGroup'
- ]
-});
- *
- * This store is configured to consume a returned object of the form:
-<?xml version="1.0" encoding="UTF-8"?>
-<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15">
- <Items>
- <Request>
- <IsValid>True</IsValid>
- <ItemSearchRequest>
- <Author>Sidney Sheldon</Author>
- <SearchIndex>Books</SearchIndex>
- </ItemSearchRequest>
- </Request>
- <TotalResults>203</TotalResults>
- <TotalPages>21</TotalPages>
- <Item>
- <ASIN>0446355453</ASIN>
- <DetailPageURL>
- http://www.amazon.com/
- </DetailPageURL>
- <ItemAttributes>
- <Author>Sidney Sheldon</Author>
- <Manufacturer>Warner Books</Manufacturer>
- <ProductGroup>Book</ProductGroup>
- <Title>Master of the Game</Title>
- </ItemAttributes>
- </Item>
- </Items>
-</ItemSearchResponse>
- *
- * An object literal of this form could also be used as the {@link #data} config option.
- * Note: Although not listed here, this class accepts all of the configuration options of - * {@link Ext.data.XmlReader XmlReader}.
- * @constructor - * @param {Object} config - * @xtype xmlstore - */ -Ext.data.XmlStore = Ext.extend(Ext.data.Store, { - /** - * @cfg {Ext.data.DataReader} reader @hide - */ - constructor: function(config){ - Ext.data.XmlStore.superclass.constructor.call(this, Ext.apply(config, { - reader: new Ext.data.XmlReader(config) - })); - } -}); -Ext.reg('xmlstore', Ext.data.XmlStore); \ No newline at end of file +Ext.define('Ext.data.XmlStore', { + extend: 'Ext.data.Store', + alternateClassName: 'Ext.data.XmlStore', + alias: 'store.xml', + + /** + * @cfg {Ext.data.DataReader} reader @hide + */ + constructor: function(config){ + config = config || {}; + config = config || {}; + + Ext.applyIf(config, { + proxy: { + type: 'ajax', + reader: 'xml', + writer: 'xml' + } + }); + + this.callParent([config]); + } +});