Хранилище

Пример хранилища:

/**
 * Приложения
 * @class Core.store.applications
 */
Ext.define('Core.store.applications', {
    extend: 'Ext.data.Store',
    alias: 'store.applications',
    storeId: 'applications',
    model: 'Core.model.applications',
    remoteSort: true,
    remoteGroup: true,
    sorters: [{ // сортировка по умолчанию
        "property": "name",
        "direction": "desc"
    }],
    remoteFilter: true,
    proxy: {
        type: 'direct',
        api: {
            create: 'PN.applications.Add',
            read: 'PN.applications.Query',
            update: 'PN.applications.Update',
            destroy: 'PN.applications.Delete'
        },
        reader: { // соответствует формату запроса
            rootProperty: 'records',
            successProperty: 'success',
            totalProperty: 'total'
        },
        writer: {
            dateFormat: "Y-m-d H:i:sO"
        }
    }
});

Примечания:

  • требуется обязательно указывать alias, а значение его должно соответствовать формату store.[наименование файла в нижнем регистре]
  • storeId идентификатор хранилища — [наименование файла в нижнем регистре]
  • по умолчанию должно быть включена фильтрация на сервер remoteFilter:true
  • по умолчанию должно быть включена сортировка на сервере remoteSort:true
  • по умолчанию должно быть включена группировка на сервере remoteGroup:true
  • тип прокси должен быть direct (собственный компонент, является наследником Ext.data.proxy.Direct)
  • заполнить все api. Значения параметров должны быть обязательно строковыми значениями
  • в свойстве proxy.writer.dateFormat указывается формат даты который будет приходить на сервер
Print Friendly, PDF & Email