Инспектор сущностей позволяет работать с любыми объектами предметной области без создания специфических экранов. Инспектор динамически генерирует экраны просмотра списка и редактирования экземпляра выбранной сущности.
Это дает возможность администратору системы просматривать и редактировать данные, которые недоступны в стандартных экранах в силу их дизайна, а на этапе прототипирования создать только модель данных и пункты главного меню, ссылающиеся на инспектор сущностей.
Точкой входа в инспектор является экран com/haulmont/cuba/gui/app/core/entityinspector/entity-inspector-browse.xml
.
Если в экран передан параметр entity
типа String
с именем сущности, то инспектор отобразит список экземпляров этой сущности с возможностью фильтрации, выбора и редактирования
экземпляров. Параметр может быть указан при регистрации экрана в
screens.xml
, например:
screens.xml
<screen id="sales$Product.lookup" template="/com/haulmont/cuba/gui/app/core/entityinspector/entity-inspector-browse.xml"> <param name="entity" value="sales$Product"/> </screen>
menu.xml
<item id="sales$Product.lookup"/>
Идентификатор экрана вида {имя_сущности}.lookup
дает возможность использовать этот экран компонентам
PickerField
и
LookupPickerField
в стандартном действии PickerField.LookupAction
.
В общем случае данный экран можно вызывать без передачи параметров, тогда в его верхней части отображается поле для выбора
сущности. В базовом проекте cuba экран инспектора зарегистрирован с идентификатором entityInspector.browse
, поэтому для его вызова достаточно наличия пункта меню:
<item id="entityInspector.browse"/>