Вопрос

Как работает выбор из справочного окна

Всем доброго времени суток. Версия 7.12.

Вопрос такой - в какой момент происходит добавление в список selectedRows при выборе в справочном окне с множественным выбором? Как нибудь можно его перехватить (по сути - какая функция вызывается при клике по строке/отметке чекбокса)?

Изображение удалено.

Есть пункты, которые должны быть видны в списке, но их нельзя выбирать.

Нравится

4 комментария
Лучший ответ

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

Посмотрите на метод isAnySelected

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

и тем не менее, пожелания клиента.

Там список с ценами, хотят видеть всё, но чтобы выбрать можно было только те, на которые хватает денег.

Нужно смотреть в LookupPageViewModelGenerator, который генерирует такую страницу. Случайно не оно?

/**
 * Subscribe to changes selectedRows.
 * @private
 */
_subscribeOnSelectedRowsChange: function() {
	this.on("change:selectedRows", this.onSelectedRowsChange, this);
},
/**
 * Handles selected rows change event.
 */
onSelectedRowsChange: function() {
	if (!this.isMultiSelect()) {
		return;
	}
	let selectedRowsCount = 0;
	if (this.get("SelectAllMode") && this.get("usingMultiAddMixin")) {
		var filteredRowsCount = this.get("filteredRowsCount");
		if (filteredRowsCount) {
var unselectedItems = this.getUnselectedItems();
selectedRowsCount = filteredRowsCount - unselectedItems.length;
		}
	} else {
		selectedRowsCount = this.getSelectedRecords().length;
	}
	this.set("selectedRowsCount", selectedRowsCount);
},

 

Показать все комментарии