3.9.9. 快捷文件夹面板

文件夹面板提供对常用信息的快速访问。它是主应用程序窗口左侧的一个包含多级文件夹的面板。点击文件夹会使用特定参数打开相应的系统界面。

在撰写本文时,该面板仅适用于 Web Client

平台支持三种类型的文件夹:应用程序文件夹搜索文件夹记录集

  • 应用程序文件夹:

    • 打开应用程序界面,界面上可以没有过滤器

    • 文件夹集合取决于当前用户会话信息。文件夹的可见性通过 Groovy 脚本定义。

    • 只有具有特定权限的用户才能创建和更改应用程序文件夹。

    • 文件夹标题上可以显示通过 Groovy 脚本获取的记录数。

    • 文件夹标题通过计时器事件更新,这意味着可以动态更新每个文件夹的记录数和显示样式。

  • 搜索文件夹:

    • 打开带有过滤器的界面。

    • 搜索文件夹可以是私有的,也可以是全局的,私有文件夹只能由创建它的用户访问,全局文件夹所有用户都可以访问。

    • 任何用户都可以创建私有文件夹,而只有具有特定权限的用户才能创建全局文件夹。

  • 记录集:

    • 打开带有过滤器的界面,这个过滤器包含了根据标识符选择特定记录的条件。

    • 可以使用专门的表格操作编辑记录集内容:Add to setAdd to current setRemove from current set

    • 记录集仅能供创建它们的用户使用。

应用程序文件夹作为一个单独的树展示在面板的顶部。搜索文件夹和记录集展示在面板底部的组合树中。启用文件夹面板,需要:

  1. 设置 cuba.web.showFolderIcons 属性为 true

  2. 在 Studio 的界面创建向导中使用 Main screen with top menu 模板扩展 主界面。该模板包含一个特殊的 FoldersPane 组件。

文件夹面板的文件夹可以在左侧带一个图标。设置 cuba.web.foldersPaneEnabled 属性为 true 启用该功能。此时会使用标准的图标。

folder default icons
Figure 43. 应用程序和搜索文件夹 - 使用标准图标

如要设置其他图标,使用 FoldersPane 组件的 setFolderIconProvider() 方法。下面的例子展示在自定义的主界面的 setFolderIconProvider() 内使用函数的用法。"category" 图标会用在应用程序文件夹上,其他的文件夹,使用 "tag" 图标。

foldersPane.setFolderIconProvider(e -> {
    if (e instanceof AppFolder) {
        return "icons/category.png";
    }
    return "icons/tag.png";
});
folder custom items
Figure 44. 应用程序和搜索文件夹 - 使用自定义图标

要还原标准的图标,给 setFolderIconProvider() 方法传递 null 参数。

通过下列应用程序属性可以定制文件夹面板的功能: