Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Динамическая загрузка гетерогенного дерева (https://javascript.ru/forum/extjs/66421-dinamicheskaya-zagruzka-geterogennogo-dereva.html)

Infarch 14.12.2016 14:59

Динамическая загрузка гетерогенного дерева
 
Здравствуйте

Тема деревьев так или иначе у меня возникает часто и вот пришло время очередного вопроса.
Надо отобразить виджет (treepanel) в котором рут прописан в конфигах, а все прочие ноды динамически тянутся с сервера. Одна нода имеет детей одного типа, но типов может быть много в пределах всего виджета.
Ну вот я начал с гардероба рут ноды:

Ext.define('SafetyRound.view.r2.List', {
	extend: 'Ext.tree.Panel',
	alias: 'widget.r2-list',

	title: 'www',
	rootVisible: true,
	hideHeaders: true,
	scrollable: true,
	lines: false,
	
	root: {
		text: 'Rrrroot',
		proxy: {
			type: 'ajax',
			reader: {
				type: 'json',
				rootProperty: 'data',
				messageProperty: 'error'
			},
			url: Constants.Server.CONTROLLER + '?cmd=sr.tree.safetyround.read'
		}
	}

});


Рут отображается, вижу плюсик, при разворачивании загрузка не идет. Что я сделал не так?

nohuhu 15.12.2016 21:54

Забыли typeProperty в конфиге reader?

Гетерогенные деревья: http://examples.sencha.com/extjs/6.2...rogeneous-tree

Динамические деревья: http://examples.sencha.com/extjs/6.2...k/#direct-tree

Infarch 16.12.2016 11:29

Цитата:

Сообщение от nohuhu
Забыли typeProperty в конфиге reader?

Не забыл, а хотел без него обойтись. В моем дереве чайлды одной ноды все одного типа. Поэтому хотелось решить вопрос через http://docs.sencha.com/extjs/5.1.1/a...#cfg-childType . Да и если бы и забыл? Загрузка то все равно не идет - нет запроса к серверу. А еще хотелось использовать прокси моделей, так как разные ноды грузятся с разных адресов. Но наверно это утопия?

nohuhu 16.12.2016 21:33

Я не настолько глубоко знаю деревья, чтобы сходу ответить. Сделайте Fiddle, попробую разобраться.

XAPuTOH 19.12.2016 14:18

А можно прокси внутри root указывать?


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