2. Сопоставление свойств
В этой главе вы:
- 
Создадите дополнительные атрибуты для сущности KanbanTask.
- 
Добавите поля UI для редактирования этих новых атрибутов. 
- 
Сопоставите поля карточек задач Kanban с соответствующими атрибутами сущности KanbanTask.
Расширение сущности KanbanTask
Карточки задач Kanban могут отображать определенные поля сущности задачи Kanban. Вот список всех поддерживаемых атрибутов:
- 
id- любой стандартный тип идентификатора. Обязательный атрибут.
- 
status- тип String или перечисление. Обязательный атрибут.
- 
text- тип String. Обязательный атрибут.
- 
color- тип String. Значение строки должно быть отформатировано в соответствии с форматом цвета CSS.
- 
dueDate- любой стандартный тип даты.
- 
priority- тип String или перечисление.
- 
progress- тип целого числа.
- 
swimlane- тип String или перечисление.
- 
tags- тип String. Значение строки должно представлять собой разделенную запятыми последовательность тегов без пробельных символов.
- 
userAvatar- типFileRefили массив байтов.
- 
username- тип String.
Для начала вам нужно добавить все атрибуты, кроме swimlane, в сущность KanbanTask.
Откройте класс KanbanTask.java и определите дополнительные атрибуты.
Теперь вам нужно добавить атрибуты в экран деталей. Используйте кнопку Add to Views () на панели инструментов Attributes:
 
В появившемся диалоговом окне будут показаны все экраны, которые отображают сущность KanbanTask. Выберите только экран KanbanTask.detail:
 
Нажмите OK.
Поочередно добавьте оставшиеся атрибуты.
Studio добавит соответствующие поля UI в formLayout экрана KanbanTask.detail:
 
Перезапустите приложение, чтобы сгенерировать изменения Liquibase.
 
Нажмите Save and run.
Откройте экран KanbanTask.detail в вашем браузере. Новые атрибуты доступны для редактирования.
 
Сопоставление свойств сущности
Чтобы сопоставить атрибут сущности с полем карточки Kanban, вам нужно добавить элемент propertiesMapping в компонент kanban.
Найдите kanban-task-list-view.xml в окне инструментов Jmix дважды щелкните по нему. Выберите kanban в панели иерархии Jmix UI или в XML-дескрипторе. Затем нажмите кнопку Add на панели инспектора компонентов. В выпадающем списке выберите PropertiesMapping:
 
В открывшемся диалоговом окне введите следующее сопоставление атрибутов:
 
Заполните оставшиеся атрибуты с помощью инспектора компонентов или XML-разметки элемента propertyMapping:
 
| Чтобы отобразить аватар пользователя на карточке Kanban, добавьте атрибут pictureв сущностьUser. Подробные инструкции вы найдете в разделе Работа с изображениями самоучителя. | 
Чтобы отобразить эти атрибуты на карточке, вам нужно включить отображение соответствующих атрибутов компонента kanban.
Выберите kanban в панели иерархии Jmix UI или в XML-разметке. Затем установите флажки taskDueDateVisible, taskPriorityVisible, taskProgressVisible, taskTagsVisible, taskUserAvatarVisible.
 
Нажмите Ctrl/Cmd+S и переключитесь на запущенное приложение. Внешний вид карточек изменится.
 
Теперь изменения, которые вы вносите в карточку, будут отображаться на kanban-доске.
 
 
Резюме
В этом разделе мы рассмотрели, как сопоставить атрибуты вашей сущности Jmix с полями, отображаемыми на карточках Kanban. Вы узнали, как настроить информацию, представленную на каждой карточке, связав компонент kanban с вашей моделью данных.
В этом разделе мы рассмотрели:
- 
Определение сопоставлений: Вы узнали, как использовать элемент propertiesMappingв компонентеkanbanдля связывания атрибутов сущности с полями карточки Kanban.
- 
Поддерживаемые поля: Вы ознакомились с доступными полями (например, text,dueDate,priority,tags), которые вы можете сопоставить с атрибутами вашей сущности.
- 
Настройка внешнего вида карточки: Вы узнали, как управлять видимостью конкретных полей на карточках Kanban.