UI 应用程序配置

通用配置

jmix.ui.app-window-mode

定义应用程序主窗口的初始模式 - TABBEDSINGLESINGLE 模式下,当使用 NEW_TAB 参数打开新界面时,新界面会完全替换掉当前界面,而不会在新标签页打开。

默认值:TABBED

jmix.ui.composite-menu

当设置为 true 时,框架会合并应用程序中 menu.xml 文件以及扩展组件中所有的 menu.xml 中的菜单定义,并在主界面展示。

当设置为 false 时,展示菜单时,仅考虑应用程序中的 menu.xml 文件。

当你能完全控制菜单项时,可以使用 false。这样可以很容易对菜单进行删除、修改和重排序,例如,修改 Administration 菜单。

缺点是必须复制要显示在某个位置的所有菜单项。也就是说,从扩展组件继承的菜单项不会显示在菜单中,因此需要手动添加。

默认值:true

jmix.ui.default-max-fetch-size

定义 UI 层默认可以加载实体实例的最大数量。

默认值:10000

jmix.ui.default-page-size

定义 Pagination 分页SimplePagination 简单分页器 组件的默认每页的实体数。

默认值:50

jmix.ui.default-screen-can-be-closed

定义当使用 TABBED 工作区展示模式时,默认界面是否可以通过关闭按钮、ESC 按钮或 TabSheet 右键菜单进行关闭。

默认值:true

jmix.ui.default-screen-id

定义登录后打开的界面。此设置会影响所有用户。

示例:

jmix.ui.default-screen-id = sample_Order.browse

jmix.ui.entity-max-fetch-size

定义对于某个特定实体,UI 层可以默认加载的最大实体实例数。

下面的示例中,配置了两个实体的最大加载数量。其他实体仍然使用 jmix.ui.default-max-fetch-size 的值。

jmix.ui.entity-max-fetch-size.Product = 500
jmix.ui.entity-max-fetch-size.Customer = 1000

jmix.ui.entity-page-size

定义 Pagination 分页SimplePagination 简单分页器 组件对于特定实体的每页实例数量。

下面的示例中,配置了两个实体的每页实例数。其他实体仍然使用 jmix.ui.default-page-size 的值。

jmix.ui.entity-page-size.Product = 100
jmix.ui.entity-page-size.Customer = 500

jmix.ui.icons-config

定义应用程序注册的图标集。

示例:

jmix.ui.icons-config=ui.ex1.icon.MyIcon \
ui.ex1.icon.FontAwesome5Icon \
ui.ex1.icon.NewIcon

注册的图标集会展示在 图标选择 对话框的 ICON SET 标签页。

jmix.ui.main-screen-id

作为应用程序 主界面 使用的界面标识符。

默认值:MainScreen

jmix.ui.max-tab-count

定义应用程序主窗口中可以打开标签页的最大数量。设置 0 表示无限制。

默认值:20

jmix.ui.menu-config

定义 menu.xml 文件的路径 该文件通过 Resources 接口加载,因此可以位于 classpath 或者配置文件夹中。

示例:

jmix.ui.menu-config = ui/ex2/menu.xml

jmix.ui.login-screen-id

作为应用程序 登录界面 使用的界面标识符。

默认值:LoginScreen

jmix.ui.production-mode

设置成 true 启用生产模式部署应用程序。该参数的设置会同步至 Vaadin 的 servlet 参数 productionMode

jmix.ui.screen.close-shortcut

定义关闭当前 界面 的键盘快捷键。

默认值:ESCAPE

jmix.ui.screen.use-save-confirmation

定义当用户尝试关闭一个带有未保存数据 DataContext界面 时,弹出的对话框种类。

true 值表示使用带有三个操作的界面:“保存”,“不保存”,“不关闭”。

false 值表示使用带有两个操作的界面:“关闭界面不保存”,“不关闭”。

默认值:true

jmix.ui.show-bread-crumbs

如果设置为 false,则会隐藏顶部的面包屑面板。

默认值:true

jmix.ui.theme-config

定义一个或一组 <theme-name>-theme.properties 文件,用于保存主题变量(例如,默认弹窗尺寸,输入框宽度等)。

默认值:

io/jmix/ui/theme/helium-theme.properties \
io/jmix/ui/theme/halo-theme.properties \
io/jmix/ui/theme/hover-theme.properties

jmix.ui.theme.default-mode-to-use

定义没有其他设置可用时的 主题颜色预设。Cookie 或者从 UserSettingService 获取的用户设置优先级要高于此参数设置。

jmix.ui.theme.default-size-to-use

定义没有其他设置可用时的 主题尺寸预设。Cookie 或者从 UserSettingService 获取的用户设置优先级要高于此参数设置。

jmix.ui.theme.modes

定义可用的 主题模式(颜色预设) 列表。默认模式是 lightdark

默认值:

jmix.ui.theme.modes = light, dark

jmix.ui.theme.sizes

定义可用的 主题尺寸预设 列表。默认模式是 smallmediumlarge

默认值:

jmix.ui.theme.sizes = small, medium, large

jmix.ui.theme.name

定义默认的 主题 名称。请参阅 jmix.ui.theme-config

默认值:helium

jmix.ui.url-handling-mode

定义如何处理 URL 改动。

可选值是 UrlHandlingMode 枚举的元素:

  • NONE - 不处理 URL 的改动。

  • URL_ROUTES - URL 改动由 URL 历史和导航 功能处理。

默认值:URL_ROUTES

jmix.ui.background-task-timeout-check-interval

定义时间间隔,以此间隔检查 后台任务 是否超时。

默认值:5000

jmix.ui.background-task.threads-count

定义 后台任务 线程的数量。

默认值:10

jmix.ui.view-file-extensions

对于 Downloader bean,定义不用下载而自动在浏览器标签页展示的文件扩展名。

默认值:htm,html,jpg,png,jpeg,pdf

组件配置

jmix.ui.component.combo-box-page-length

定义 ComboBoxEntityComboBox 组件展示下拉列表中一页默认显示的选项数量。具体组件实例可以用 pageLength XML 属性覆盖此设置。

默认值:10

jmix.ui.component.entity-field-actions

定义在通用机制中,为特定实体的选择组件添加的操作,例如 Filter 过滤器 的参数或者 Table 表格DataGrid 数据网格 的可编辑单元格。

例如,需要在选择 uiex1_City 实体的组件中使用 查找实体打开实体清空实体 操作,可以设置该属性如下:

jmix.ui.component.entity-field-actions.uiex1_City = entity_lookup,entity_open,entity_clear

jmix.ui.component.entity-field-type

定义在通用机制中,选择特定实体所使用的组件,例如 Filter 过滤器 的参数或者 Table 表格DataGrid 数据网格 的可编辑单元格。该组件需要实现 EntityPicker 接口。

指定组件的 XML 名称作为此属性的值。例如,需要使用 EntityComboBox 选择 uiex1_City 实体,可以设置该属性如下:

jmix.ui.component.entity-field-type.uiex1_City = entityComboBox

通用机制默认使用 EntityPicker 组件。

jmix.ui.component.filter-auto-apply

设置为 true 时,Filter 组件会以“即时”模式工作,过滤器参数的每次改动都会触发数据重新加载。设置为 false 时,过滤器仅在按下 Refresh(刷新) 按钮时才会加载数据。具体 Filter 组件可以用 autoApply XML 属性覆盖此设置。

默认值:true

jmix.ui.component.filter-columns-count

设置过滤器面板中默认可放置的条件列数量。具体 Filter 组件可以用 columnsCount XML 属性覆盖此设置。

默认值:3

jmix.ui.component.filter-properties-hierarchy-depth

定义在过滤器 Add Condition(添加条件) 编辑器中可选择实体属性的深度。例如,如果深度值为 2,则可以选择 contractor.city.country,如果深度值为 3,则可以选择 contractor.city.country.name,以此类推。

默认值:2

jmix.ui.component.filter-show-configuration-id-field

定义是否在 Filter 组件的 Configuration editor(配置编辑) 界面中显示 Configuration id 字段。默认情况下不显示 Configuration idconfigurationId 根据 configurationName 自动生成。

默认值:false

jmix.ui.component.html-sanitizer-enabled

定义是否在实现了 HasHtmlSanitizer 接口的 UI 组件中使用 HtmlSanitizer,以防止在 HTML 内容中进行跨站脚本攻击(XSS)。具体组件可以用 htmlSanitizerEnabled 属性启用/禁用该功能。

默认值:true

jmix.ui.component.main-tab-sheet-mode

如果设置为 MANAGED,当用户切换别的标签页时,主窗口的 TabSheet 不会卸载标签页中的组件。

默认值:DEFAULT

jmix.ui.component.main-tab-sheet-next-tab-shortcut

在主窗口的 TabSheet 中切换至下一个标签页的快捷键。

默认值:CTRL-SHIFT-PAGE_DOWN

jmix.ui.component.main-tab-sheet-previous-tab-shortcut

在主窗口的 TabSheet 中切换至前一个标签页的快捷键。

默认值:CTRL-SHIFT-PAGE_UP

jmix.ui.component.pagination-items-per-page-options

定义 Pagination 组件的每页显示条目数的下拉列表选项。具体 Pagination 组件,可以用 itemsPerPageOptions XML 属性配置自定义选项列表。

默认值:205010050010005000

jmix.ui.component.upload-field-max-upload-size-mb

定义使用 FileUploadFieldFileMultiUploadFieldFileStorageUploadField 组件上传文件大小的最大值(MB)。

默认值:20