3.5.4. Фасеты
Фасеты - это элементы экрана, которые не добавляются в компоновку экрана, в отличие от визуальных компонентов. Вместо этого они добавляют дополнительное поведение к экрану или одному из его компонентов.
Экран может содержать фасеты в элементе facets
XML-дескриптора. Фреймворк предоставляет следующие фасеты:
В приложении или аддоне можно создать собственные фасеты. Для этого необходимо выполнить следующие шаги:
-
Создайте интерфейс, расширяющий
com.haulmont.cuba.gui.components.Facet
. -
Создайте класс реализации на основе
com.haulmont.cuba.web.gui.WebAbstractFacet
. -
Создайте Spring бин реализующий интерфейс
com.haulmont.cuba.gui.xml.FacetProvider
, параметризованный типом компонента. -
Создайте XSD для использования компонента в XML-дескрипторах экранов.
-
Опционально, пометьте интерфейс фасета и его методы специальными аннотациями, чтобы добавить поддержку вашего фасета в CUBA Studio.
Классы ClipboardTrigger
, WebClipboardTrigger
и ClipboardTriggerFacetProvider
фреймворка могут служить хорошим примером создания фасета.