1.3.3. Выпадающий список с мультивыбором (etTagLookUp)¶
1.3.3.1. Способ организации иерархии тегов¶
Пример на Support в списке и карточке ДП и задач.
GST должен отдавать плоский список тегов, вообщем как и не в неирархическом режиме. Но необходимо использовать новое поле.
Кроме существуещего “Атрибут отображаемых значений” надо будет поле “Атрибут отображаемых значений в выпадающих список”.
В “Атрибут отображаемых значений” - имя тег без namespace’ов. Будет использовано для отображения выбранных тегов в самом редакторе.
В “Атрибут отображаемых значений в выпадающих список” - должны быть именя тегов с namespace разделенными “/”. Если в имени теге встречается символ “/”, тогда его надо будет экранировать дублирование “/”. (Это свойство будет добавлено системным отделом)
Пример:
- SysDev/TaskType/ - тега нет, только namespace
- SysDev/TaskType/feature - где тег feature, а namespace SysDev→TaskType
- SysDev/TaskType/bug - где тег bug, а namespace SysDev→TaskType
- SysDev/TaskType/bug//feature - где тег bug/feature, а namespace SysDev→TaskType
При вводе символов в редактор будет также отрабатывать фильтр. Если Enter нажать, когда выделенная запись является тегом, то должна быть произведена вставка тега; если выделенная запись является namespace’ом, то будет произведена вставка текста в редактор. Для этого добавим у редактора новое событие “Операция “Выбор значения из выпадающего списка””
А дальше пользователь может довбить имя тега или дозаводить namespace. В операцию “Операция “Выбор значения из выпадающего списка”” передается выбранное значение(id, “Полное имя тега”). Операция должна возвращать действие и имя тега или текста для вставки в область ввода.
Решение о том, какой тег заводить, приниматься будет также в операции “Операция “добавить новое значение””. Соответственно надо будет определить namespace и имя тега. Все что оканчивается на / является неймспейсом. // является заэкранированным символов / не являющимся признаком namespace’ов.
1.3.3.2. Раскраска тегов¶
При настройке редактора в настройке TagLookup.AttrTagStyle
можно задать атрибут, в котром хранится стиль раскраски тегов.
Для применения стиля тегов вне редактора (например, для отображения тегов в колонке грида без входа в режим редактирования) необходимо в GST для такого поля сформировать значение вида ИмяТага|”Стиль”. Грид сам разберёт такую строку и применит заданную строку тиля при отрисовке тега.