Search code examples
javascriptextjsextjs4extjs4.2

Best way to design a model for the store for a array?


I need to import the following into a store but I am confused about the correct model or models I need to create.

here is an example of the JSON that is returned from my server. Basically its an array with 2 items, with an array in each. The field names are different in each.

I suspect I need to have more than one model and have a relationship but I am unsure where to start. Any ideas? Thanks

[
    firstItems: [
    {
        name : "ProductA",
        key: "XYXZ",
        closed: true
    },
    {
        name : "ProductB",
        key: "AAA",
        closed: false
    }
    ],
 secondItems : [
 {
        desc : "test2",
        misc: "3333",
    },
    {
        desc : "test1",
        misc: "123"
    }

  ]
] 

Solution

  • What you have is not JSON, your opening and ending [] can become JSON by changing them to {} and then using the following models

    Then you can model it as

    // Abbreviated definitions of Models, it has changed starting at Ext 5
    Ext.define('FirstItem', fields: ['name', 'key', 'closed'])
    Ext.define('SecondItem', fields: ['desc', 'misc'])
    Ext.define('TopLevel', {
        hasMany: [
           {model: 'FirstItem', name: 'firstItems'},
           {model: 'SecondItem', name: 'secondItems'}
        ]      
    })