3.5.4. Фасеты

Фасеты - это элементы экрана, которые не добавляются в компоновку экрана, в отличие от визуальных компонентов. Вместо этого они добавляют дополнительное поведение к экрану или одному из его компонентов.

Экран может содержать фасеты в элементе facets XML-дескриптора. Фреймворк предоставляет следующие фасеты:

В приложении или аддоне можно создать собственные фасеты. Для этого необходимо выполнить следующие шаги:

  1. Создайте интерфейс, расширяющий com.haulmont.cuba.gui.components.Facet.

  2. Создайте класс реализации на основе com.haulmont.cuba.web.gui.WebAbstractFacet.

  3. Создайте Spring бин реализующий интерфейс com.haulmont.cuba.gui.xml.FacetProvider, параметризованный типом компонента.

  4. Создайте XSD для использования компонента в XML-дескрипторах экранов.

  5. Опционально, пометьте интерфейс фасета и его методы специальными аннотациями, чтобы добавить поддержку вашего фасета в CUBA Studio.

Классы ClipboardTrigger, WebClipboardTrigger и ClipboardTriggerFacetProvider фреймворка могут служить хорошим примером создания фасета.