Есть фрагмент со своими данными, фильтром и таблицей.
<data>
<collection id="testDc" class="com.example.TestEntity" fetchPlan="test-view">
<loader id="testDl">
<query>
<![CDATA[select distinct e from test_TestEntity e]]>
</query>
</loader>
</collection>
</data>
<layout>
<filter id="filter" dataLoader="testDl"/>
<table id="testTable" dataContainer="testDc">
...
Этот фрагмент добавлен в Экран. И чтобы мы не делали с фильтром FilterMakeDefaultAction
остается не активным. Скорее всего это из-за того, что во фрагменте нет ScreenSettingsFacet
и в FilterMakeDefaultAction#isApplicable
UiControllerUtils.getFacet(filter.getFrame(), ScreenSettingsFacet.class)
всегда возвращает null
. Ну а ScreenSettingsFacet
добавить во фрагмент никак нельзя.
Возможно это как-то исправить? К примеру брать ScreenSettingsFacet
через UiControllerUtils.getScreen(frame.frameOwner)?.facets?.filter { it is ScreenSettingsFacet }