settings
The settings
facet saves and restores settings of visual components for the current user. The following components are supported:
-
dataGrid, treeDataGrid - the facet saves the order and width of columns, as well as sorting parameters.
-
details, genericFilter - the facet saves the opened state.
-
simplePagination - the facet saves the selected page size if
itemsPerPageVisible
istrue
.
Basic Usage
When added to a view with the auto="true"
attribute, the facet manages settings of all supported components of the view that have identifiers:
<facets>
<settings auto="true"/>
</facets>
To manage settings of a particular component, use the nested component
elements, for example:
<facets>
<settings>
<component id="citiesDataGrid"/>
</settings>
</facets>
To exclude some component, use auto="true"
for the facet and enabled="false"
for the component:
<facets>
<settings auto="true">
<component id="hobbiesDataGrid" enabled="false"/>
</settings>
</facets>
The settings are stored in the main data store in the FLOWUI_USER_SETTINGS
table in JSON format. You can manage the saved settings by opening the flowui_UserSettingsItem
entity in the Entity Inspector.
Handlers
Чтобы сгенерировать заглушку обработчика в Jmix Studio, используйте вкладку Handlers панели инспектора Jmix UI, или команду Generate Handler, доступную на верхней панели контроллера экрана и через меню Code → Generate (Alt+Insert / Cmd+N). |
applySettingsDelegate
applySettingsDelegate
is invoked before the view ReadyEvent
handler.
@ViewComponent
private JmixCheckbox checkbox;
@ViewComponent
private SettingsFacet settings;
@Install(to = "settings", subject = "applySettingsDelegate")
private void settingsApplySettingsDelegate(final SettingsFacet.SettingsContext settingsContext) {
settings.applySettings();
Optional<Boolean> value = settingsContext.getViewSettings().getBoolean("checkbox", "value");
checkbox.setValue(value.orElse(Boolean.FALSE));
}
applyDataLoadingSettingsDelegate
applyDataLoadingSettingsDelegate
is invoked before the view BeforeShowEvent
handler and allows you to restore settings related to data loading.
saveSettingsDelegate
The saveSettingsDelegate
handler is invoked before the view DetachEvent
handler.
@ViewComponent
private JmixCheckbox checkbox;
@ViewComponent
private SettingsFacet settings;
@Install(to = "settings", subject = "saveSettingsDelegate")
private void settingsSaveSettingsDelegate(final SettingsFacet.SettingsContext settingsContext) {
settingsContext.getViewSettings().put("testCheckbox", "value", checkbox.getValue());
settings.saveSettings();
}