Приветствую всех!
Подскажите, почему вот так работает:
lookupListConfig: { filters: [{ method: function(columnName){ return this.getFilterByAccount(columnName); }, argument: "Account" }] }
а вот так
lookupListConfig: { filters: [{ method: this.getFilterByAccount, argument: "Account" }] }
нет!
Нравится
Здравствуйте!
Дело в том, что во втором случае view module (описывает поведение) еще не проинициализирован (секция methods в схеме относится к view module).
При обращении к lookupListConfig загружается пока только window (https://developer.mozilla.org/ru/docs/Web/API/Window) в котором нет данного метода.
Если посмотрите в консоль при выполнении кода lookupListConfig, то увидите:
1. Ошибку, что метод не найден (будет написано undefined)
2. При написании в консоли "this." будет написано подсказка window.
Вильшанский Дмитрий,
понятно, спасибо.
В качестве пожелания для разработчиков, как вариант, можно было бы добавить в обработчик LookupQuickAddMixin.getLookupQueryFilters проверку не только method, но и methodName, тогда по this[methodName] можно было бы вызывать функцию фильтрации.