Приветствую.
В своем приложении мне требуется использовать два компонента дерева.
Они должны быть полностью одинаковые, но только первое должно получать и обрабатывать данные из одной таблицы, а второе с другой.
Основной компонент дерева (путь app/view/QuestionTree.js ):
Ext.define('Fiddle.view.QuestionTree', {
extend: 'Ext.tree.Panel',
alias: 'widget.questiontree',
xtype: 'questiontree',
store: 'QuestionTreeStore',
rootVisible: true,
.....
});
Образую от него класс QuestionTreeTwo (путь app/view/QuestionTreeTwo.js)
Ext.define('Fiddle.view.QuestionTreeTwo', {
extend: 'Fiddle.view.QuestionTree',
alias: 'widget.questiontreetwo',
xtype: 'questiontreetwo',
});
Возможно ли сделать что бы их общий стор мог понимать какой именно компонент его использует?
Или необходимо создавать свой собственный стор и модель для второго дерева?
В оригинале сам стор у меня выглядит так:
var urlRoot = 'app/data/maindata.php?model=QuestionTree&method=';
Ext.define('Survey.store.QuestionTreeStore', {
extend: 'Ext.data.TreeStore',
model: 'Survey.model.QuestionTree',
autoLoad: true,
autoSync: true,
//storeId: 'QuestionTree',
proxy: {
type: 'ajax',
noCache: false,
api: {
create: urlRoot + 'Create',
update: urlRoot + 'Update',
destroy: urlRoot + 'Destroy',
read: urlRoot + 'Read'
},
reader: {
type: 'json',
rootProperty: 'children',
successProperty: 'success'
},
writer:{
type: 'json',
encode: true,
writeAllFields: true,
rootProperty: 'data',
allowSingle: false,
}
},
root: {
text: 'Вопросы',
expanded: true,
id_parent: -1
}
});
В maindata.php производятся операции crud с проверкой для model=QuestionTree
Ссылка на пример в
fiddle
Спасибо