Имеем Extjs 4.2
Как мне объединить дефолтную конфигурацию в описании класса и передаваемую конфигурацию при создании объекта?
Проблема в свойствах класса, которые содержат подобъекты со своими конфигурациями.
Пример кода ниже. Основная проблема с "proxy".
Как правильно объединять конфигурации?
Ext.define('Adm.EmptyModel', {
extend: 'Ext.data.Model',
});
Ext.define('Adm.AclMain', {
extend: 'Ext.data.Store',
model: 'Adm.EmptyModel',
title: 'AclMain',
autoSync: true,
autoLoad: false,
//autoLoad: true,
proxy: {
//api: {},
type: 'ajax',
reader: {
type: 'json',
root: 'data',
idProperty: 'ID',
messageProperty: 'message',
successProperty: 'success'},
writer: {
type: 'json',
root: 'data',
encode: true
}
},
constructor: function (config) {
var me = this;
//me.callParent(); -- только предустановленные при описании класса поля
//Ext.apply(me, config); -- перезаписывает свойство proxy, но мне надо объединить конфигурации
//Ext.applyIf(me, config); -- не объединяет конфигурации свойства proxy, оставляется только предустановленное
//me.callParent(arguments);-- перезаписывает свойство proxy, но мне надо объединить конфигурации
}});
var store_users = Ext.create('Adm.AclMain', {
storeId: 'store_users',
title: 'Users',
fields: ['ID', 'NAME', 'FULL_NAME', 'EMAIL', 'PHONE'],
proxy: {
api: {
read: 'd_users.php',
update: 'd_users_edit.php?action=update',
create: 'd_users_edit.php?action=create',
destroy: 'd_users_edit.php?action=delete'
}
}
});