Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Master-detail (https://javascript.ru/forum/extjs/60015-master-detail.html)

Infarch 07.12.2015 14:12

Master-detail
 
Здравствуйте.

Не подкинет ли кто-нибудь примера мастер-детейл связки с использованием чистого дата байндинга? К примеру, есть модель которая может ссылаться сама на себя (через поле SafetyRoundMeasurePoint_ID) для определения иерархии:
Ext.define('SafetyRound.model.entity.SafetyRoundMeasurePoint', {
	extend: 'Ext.data.Model',
	idProperty: 'ID',
	fields: [
		{ name: 'ID', type: 'int' },
		{ name: 'SafetyRoundProject_ID', type: 'int' },
		{ name: 'SafetyRoundMeasurePoint_ID', type: 'int', allowNull: true },
		{ name: 'OrderNumber', type: 'int' },
		{ name: 'Active', type: 'boolean' },
		'Name'
	]
});

Так вот, я хочу сделать два грида. В одном из них будут элементы верхнего уровня, где это поле не определено. Для этого во вьюмодели создал ChainedStore со ссылкой на главное хранилище и фильтром. При выборе одной из строк второй грид должен отобразить дочерние элементы. Я не хотел бы делать это на уровне контроллера через события. Больше нравится использование декларативного дата байндинга.
Ничего толкового пока не получилось. Кто-нибудь подскажет?

khusamov 11.12.2015 23:39

А вы не пробовали это делать при помощи Sсhema это сделать?

Infarch 14.12.2015 11:09

Я уже более-менее с этим разобрался: https://fiddle.sencha.com/#fiddle/12ch

А как при помощи схемы делать?

khusamov 14.12.2015 17:06

Не знаю. Но в документации написано, что схема создана для связей между моделями. То есть как раз для мастер-дитейл.

http://docs.sencha.com/extjs/6.0/6.0....schema.Schema
http://docs.sencha.com/extjs/6.0/cor...a_package.html

Цитата:

A Schema is a collection of related entities and their respective associations.
У вас решение в лоб. Даже не воспользовались этими свойствами:

http://docs.sencha.com/extjs/6.0/6.0...g-associations

http://docs.sencha.com/extjs/6.0/6.0...-cfg-belongsTo

Я как раз в январе планирую пробовать создание связей для своей библиотеки геометрических фигур. Мне нужно создать мастер-детейл к пример для Многоугольника и Ребер многоугольника. Хочу попробовать создавать фигуры на основе моделей, а хранить их данные в сторе. Сейчас у меня пока тоже в лоб решена проблема, по старинке.

Infarch 14.12.2015 17:44

Свойства о которых вы пишете позволяют сформировать схему зависимостей. Но вот как они могут мне помочь в моем конкретном случае, при использовании вьюмодели? Не могли бы вы на фидле показать простой пример?

khusamov 14.12.2015 17:48

Я выше написал, что не знаю))) Экспериментировать надо, ибо на мой взгляд если есть такие возможности, как установление связей, то наверное их можно использовать также и для автоматической работы мастер-дитейл.

Планирую в январе практиковаться в этом вопросе. Сейчас просто завален работой и некогда экспериментировать.

Так что либо вы сами, либо в январе можно будет вместе разобраться.


Часовой пояс GMT +3, время: 15:45.