Детали задачи
-
История
-
Решение: Готово
-
High
-
Не заполнено
-
Не заполнено
Описание
Добавить поддержку двух параметров edgeType и edgeOptions для колонок (атрибутов) в журнале. Если указан параметр edgeType, то следует его использовать как тип атрибута игнорируя то что пришло с сервера. Для edgeOptions (актуально только если у атрибута тип равен options либо через параметр edgeType либо такой тип пришел с сервера):
1) добавить return value; в конец текста функции, пропустить его через new Function и вызвать получившуюся функцию.
2) На выходе следует ждать либо promise (тогда ждем его окончания и проставляем результат в выпадающий список), либо массив строк (тогда label и value равны), либо массив из объектов вида: {"label": "Отображаемое имя", "value": "system-name"}
Вычислять функцию следует один раз при первом открытии журнала
upd. 08.04
Нужно еще добавить поддержку лейблов в виде объекта: label: {ru: 'Русский', en: 'English'} Т.е. будут 3 состояния:
1) нам пришел массив строк. В таком случае считаем, что каждый элемент в массиве - это одновременно и label и value
2) нам пришел массив объектов с label и value где label - это строка. В таком случае отображаем label как есть без прогона через локализацию
3) нам пришел массив объектов с label и value где label - это объект (локаль -> значение). В таком случае выбираем для использования в качестве label наиболее подходящий под текущую локаль браузера (если для текущей локали нету, то берем для "en". Если и такой нету, то любую локаль для которой определено значение).
Доставание лейбла из объекта с локалями лучше вынести в утилитную функцию. Много где будет использоваться
Вложенные файлы
Вложенные файлы
Связи запроса
- blocks
-
ECOSCOM-3193 Journals 2.0 Filters. Filter customization does not work
-
- Готово
-