Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Отключить cellediting плагин через байндинг (https://javascript.ru/forum/extjs/59741-otklyuchit-cellediting-plagin-cherez-bajjnding.html)

Infarch 24.11.2015 12:35

Отключить cellediting плагин через байндинг
 
Здравствуйте.

У меня есть грид с возможностью редактирования ячеек. Мне нужно отключить редактирование некоторых ячеек, если формула из вьюмодели возвращает false. Но такое впечатление что байндинг не работает. Я пробовал и hidden, и disabled - без результата.
{ dataIndex: 'Active',
	xtype: 'checkcolumn',
	width: 100,
	bind: {text: '{localtext.heading.active}'},
	editor: {
		xtype: 'checkbox',
		bind: {
			disabled: '{!isRegistrator}',
			hidden: '{!isRegistrator}'
		}
	}
},

Конечно, можно подключать редактор в методе инит контроллера, проверяя состояние модели. Но мне это кажется костылем, хотелось бы все сделать изящно через конфиг. Возможно такое вообще?

upd: Для текстового поля такое отключение сработало. Но грид стал глючить: ячейки иногда становятся пустыми, иногда подсвечивается заголовок колонки... Некрасиво :(

siber-biber 24.11.2015 13:05

я бы на cellediting повесил листенер на beforeedit и возвращал false там где надо:
http://docs.sencha.com/extjs/5.1/5.1...ent-beforeedit

Infarch 24.11.2015 13:44

Спасибо за подсказку! Хотелось конечно через конфиг, но уж будем юзать что есть...


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