Results 1 to 10 of 11

Thread: Sencha Touch DataItem and DataView.useComponents incompatible with Architect 2.1

Hybrid View

Previous Post Previous Post   Next Post Next Post
    Looks like we can't reproduce the issue or there's a problem in the test case provided.
  1. #1
    Sencha User
    Join Date
    Sep 2012
    Posts
    4
    Vote Rating
    0
      0  

    Default 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

    Code:
    Ext.define('MyApp.view.MyDataView', {
        extend: 'Ext.dataview.DataView',
    
    
        config: {
            defaultType: 'mydataitem',
            store: 'MyDirectStore',
            useComponents: true,
            itemConfig: {
                xtype: 'mydataitem'
            }
        }
    
    
    });
    and linked it to a trivial DataItem

    Code:
    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
        }
    
    
    });
    But I can only get this to work if I hand edit MyDataItem and put this line

    Code:
        xtype: 'mydataitem',
    in front of the config. Otherwise when I run it I get the error

    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 ?

  2. #2
    Sencha User aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,487
    Vote Rating
    146
      0  

    Default

    Change it via an override.
    Aaron Conran
    @aconran

  3. #3
    Sencha User aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,487
    Vote Rating
    146
      0  

    Default

    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

  4. #4
    Sencha User
    Join Date
    Sep 2012
    Posts
    4
    Vote Rating
    0
      0  

    Default

    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
    Code:
    alias: 'widget.mydataitem',
    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.

    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

    Code:
    updateRecord: function(record)
    i.e. get values from record.data and use them to update the html in mydataitem's components.

    (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.

  5. #5
    Sencha User aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,487
    Vote Rating
    146
      0  

    Default

    Quote Originally Posted by Frewland View Post
    (Maybe I'm missing something but the dataMap feature seems over-engineered ?)
    In short, yes. In 2.2 the dataMap configuration is being deprecated in favor of people writing the code to do what they want in the updateRecord method.
    Aaron Conran
    @aconran

  6. #6
    Sencha User
    Join Date
    Mar 2010
    Posts
    10
    Vote Rating
    1
      0  

    Default

    Can we have an updateRecord function example?
    Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •