-
24 Sep 2012 11:51 PM #1
Sencha Touch DataItem and DataView.useComponents incompatible with Architect 2.1
Sencha Touch DataItem and DataView.useComponents incompatible with Architect 2.1
I created a trivial ST2 app in Architect 2.1 using one DataView with useComponents : true
and linked it to a trivial DataItemCode:Ext.define('MyApp.view.MyDataView', { extend: 'Ext.dataview.DataView', config: { defaultType: 'mydataitem', store: 'MyDirectStore', useComponents: true, itemConfig: { xtype: 'mydataitem' } } });
But I can only get this to work if I hand edit MyDataItem and put this lineCode:Ext.define('MyApp.view.MyDataItem', { extend: 'Ext.dataview.component.DataItem' config: { padding: 10, layout: { type: 'hbox' }, items: [ { xtype: 'component', flex: 1, html: 'here' } ] }, updateRecord: function(record) { // Provide an implementation to update this container's child items } });
in front of the config. Otherwise when I run it I get the errorCode:xtype: 'mydataitem',
Uncaught Error: [ERROR][Ext.Container#setDefaultType] Invalid defaultType of: 'mydataitem', must be a valid component xtype
Sencha Architect 2.1 won't let me put the xtype in. If I try it says
A custom config cannot override a reserved config...
However, if I hand edit the xtype property into MyDataItem, Sencha Architect removes whenever I save the project.
What should I do ?
-
25 Sep 2012 7:21 AM #2
Change it via an override.
Aaron Conran
@aconran
Sencha Architect Development Team
-
25 Sep 2012 7:21 AM #3
Btw, we have a tutorial/guide coming on how to use the useComponents flag with Architect as many people have been asking.
Aaron Conran
@aconran
Sencha Architect Development Team
-
26 Sep 2012 1:31 AM #4
After reading tcsete's reply to this post http://www.sencha.com/forum/showthre...taitem+datamap , I spent some time trying to use overrides but with no success. Eventually I hit on using
instead of xtype even though xtype is what is used in the non-Architect DataItem examples e.g. http://www.sencha.com/blog/dive-into...touch-2-beta-2.Code:alias: 'widget.mydataitem',
The DataView now connects to mydataitem.
I couldn't get the dataMap to work via the override either, so instead I do everything through the
i.e. get values from record.data and use them to update the html in mydataitem's components.Code:updateRecord: function(record)
(Maybe I'm missing something but the dataMap feature seems over-engineered ?)
It works now, but some up to date documentation and examples would be very welcome.
-
26 Sep 2012 7:45 AM #5
-
13 Nov 2012 1:30 AM #6
Can we have an updateRecord function example?
Thanks
-
13 Nov 2012 6:13 AM #7
We'll put a new example into the Sencha Architect github repo soon.
https://github.com/SenchaArchitect
For now I'd suggest you look at the navigationview example included with the touch SDK.
http://docs.sencha.com/touch/2-1/tou...iew/index.html
view/contact/Show.jsAaron Conran
@aconran
Sencha Architect Development Team
-
18 Nov 2012 7:22 AM #8
How soon the example could be? I'm stucked here
I meant how to use DataView.useComponent = true
I am loosing patience for not making it working and thinking if I should quit from the Architect I paid for to a standard code editor
-
21 Nov 2012 3:30 AM #9
-
26 Nov 2012 8:00 AM #10
Looks like we can't reproduce the issue or there's a problem in the test case provided.


Reply With Quote