UI 应用程序配置
通用配置
jmix.ui.app-window-mode
定义应用程序主窗口的初始模式 - TABBED
或 SINGLE
。SINGLE
模式下,当使用 NEW_TAB
参数打开新界面时,新界面会完全替换掉当前界面,而不会在新标签页打开。
默认值:TABBED
。
jmix.ui.composite-menu
当设置为 true
时,框架会合并应用程序中 menu.xml 文件以及扩展组件中所有的 menu.xml
中的菜单定义,并在主界面展示。
当设置为 false
时,展示菜单时,仅考虑应用程序中的 menu.xml
文件。
当你能完全控制菜单项时,可以使用 false
。这样可以很容易对菜单进行删除、修改和重排序,例如,修改 Administration 菜单。
缺点是必须复制要显示在某个位置的所有菜单项。也就是说,从扩展组件继承的菜单项不会显示在菜单中,因此需要手动添加。
默认值:true
。
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.menu-config
定义 menu.xml 文件的路径
该文件通过 Resources
接口加载,因此可以位于 classpath 或者配置文件夹中。
示例:
jmix.ui.menu-config = ui/ex2/menu.xml
jmix.ui.screen.use-save-confirmation
定义当用户尝试关闭一个带有未保存数据 DataContext
的 界面 时,弹出的对话框种类。
true
值表示使用带有三个操作的界面:“保存”,“不保存”,“不关闭”。
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.sizes
定义可用的 主题尺寸预设 列表。默认模式是 small
、medium
、large
。
默认值:
jmix.ui.theme.sizes = small, medium, large
jmix.ui.url-handling-mode
定义如何处理 URL 改动。
可选值是 UrlHandlingMode
枚举的元素:
-
NONE
- 不处理 URL 的改动。 -
URL_ROUTES
- URL 改动由 URL 历史和导航 功能处理。
默认值:URL_ROUTES
。
jmix.ui.view-file-extensions
对于 Downloader bean,定义不用下载而自动在浏览器标签页展示的文件扩展名。
默认值:htm,html,jpg,png,jpeg,pdf
。
组件配置
jmix.ui.component.combo-box-page-length
定义 ComboBox 和 EntityComboBox 组件展示下拉列表中一页默认显示的选项数量。具体组件实例可以用 pageLength XML 属性覆盖此设置。
默认值:10
。
jmix.ui.component.entity-field-actions
定义在通用机制中,为特定实体的选择组件添加的操作,例如 Filter 过滤器 的参数或者 Table 表格 和 DataGrid 数据网格 的可编辑单元格。
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 id,configurationId
根据 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 属性配置自定义选项列表。
默认值:20
、50
、100
、500
、1000
、5000
。
jmix.ui.component.upload-field-max-upload-size-mb
定义使用 FileUploadField、FileMultiUploadField、FileStorageUploadField 组件上传文件大小的最大值(MB)。
默认值:20
。