In this sample I have developed a simple application which is using a CRUD store. I have used a separate form to change the data in the grid. It allowed me to implement “create new user at the base of existing one” feature.

The CRUD urls are located in the api property of proxy. To synchronize changes of the grid we must call the sync method of the store.

Ext.define('app.store.Users', {
    extend: 'Ext.data.Store',

    model: 'app.model.User',

    proxy: {
        type: 'ajax',
        api: {
            create  : 'createUser.json',
            read    : 'readUsers.json',
            update  : 'updateUser.json',
            destroy : 'destroyUser.json',
        },
        reader: {
            type: 'json',
            rootProperty: 'users'
        },
        writer : {
            type : 'json',
            rootProperty : 'data',
            allowSingle : false
        }
    },
    autoLoad: true
});