Блоги

Навигационные полоски

Новые фичи форм в Liferay 7.1

Итак, разработка Liferay 7.1  вышла в стадию Release Candidate - и мы можем теперь оценить, что же нового нас ждет в этой версии. Наверное, наибольшие изменения коснулись работы с формами, и в данном посте мы посмотрим, что нового появилось в формах в Liferay 7.1

Первое, что бросается в глаза - это поддержка мультиязычности. Нам, например, этого очень не хватало в Liferay 7.0

Второе - это Element Set-ы. Теперь можно создать набор полей (например для ввода адреса требуется несколько полей - страна, регион, индекс, город, улица и пр.), причем задать его со всеми валидациями, подгрузкой данных и прочее  - и в дальнейшем переиспользовать этот набор на других формах. Еще одна очень полезная фича.

Дальше, при создании формы мы сразу видим, что значительно увеличился набор доступных типов полей. Просто для сравнения - набор полей в Liferay 7.0

и набор полей в Liferay 7.1

появился Grid, Numeric и Upload (последнего не хватало особенно!)

Для многих полей расширился набор дополнительных настроек - например для текстового поля появилась настройка Autocomplete (в возможность получения данных либо из заранее заданного списка - либо из DataProvider-а)

Работа с правилами

Если раньше все правила (по сути дела это было только правило отображения) задавались  индивидуально для каждого поля, то теперь есть отдельная вкладка Rules (правила), где задается набор правил, который применяется к форме.

В правилах задается условие (Condition) - причем условий может быть несколько (объединяются либо через ИЛИ или через И) и действия, которые применяются к тому или иному полю. Среди действий:

  • Show -  показать или скрыть какое-то поле
  • Enable - включить или выключить какое-то поле
  • Require - изменить для поля флаг обязательности
  • Autofill - автоматически заполнить поле из DataProvider-а
  • Calculate - рассчитать значение поля - появляется специальный редактор

Если верить документации - должен быть еще Action перехода на страницу (Jump to Page) - но в текущей версии Liferay 7.1 RC1  я его не увидел (может появится в релизе).

Что важно - в качестве условий могут выступать не только условия в зависимости от полей, но и в зависимости от Пользователя (принадлежность пользователя к той или иной роли) - тем самым одна и та же форма может выглядеть по разному для разных ролей). Это тоже очень важная фича!

Из менее значимых изменений:

  • Появилась возможность добавить Success Page - страница, куда пользователь переходит после заполнения и отправки формы.
  • Появилось возможность Предпросмотра Формы (ссылка на  Preview) - то есть можно "проиграть" форму, посмотреть, как она будет выглядеть для конечного пользователя
  • Появился дополнительный способ навигации между страницами формы (не только отображение страниц сверху, но и снизу в виде номеров шагов)

И много других, совсем уж маленьких улучшений.

В целом можно сказать, что команда Liferay проделала огромную работу по улучшению данного функционала, и в новой версии мы получим действительно мощный инструмент по работе с формами!

30.06.2018