Ext Objects inheritance (Models)

by Johan Vandeplas

JavaScript

Ext.onReady(function () {
    Ext.define('Item', {
        extend: 'Ext.data.Model',
        fields:[
            'id', 'name'
        ]
    });
    Ext.define('SpecItem1', {
        extend: 'Item',
        fields:[
            'age'
        ]
    });
    Ext.define('SpecItem2', {
        extend: 'Item',
        fields:[
            'size'
        ]
    });

    var person = Ext.create('SpecItem1', {
        id: 1,
        name: 'Donnald',
        age: 3
    });
    var shoe = Ext.create('SpecItem2', {
        id: 2,
        name: 'Boot',
        size: 20
    });
    
    var store = Ext.create('Ext.data.Store', {
        model: 'Item',
        proxy: { type:'memory' }
    });

    store.add(person);
    store.add(shoe);
    
    console.log('store: ', store);
    
    store.each(function(rec){
        if(rec instanceof SpecItem1){
            console.log('rec in store is SpecItem1: ', rec);
        } 
        if(rec instanceof SpecItem2){
            console.log('rec in store is SpecItem2: ', rec);
        }  
    });
    
    

    
});