3.9.9. Панель папок

Панель папок предназначена для быстрого доступа пользователя к часто используемой информации. Она представляет собой скрываемую панель в левой части главного окна приложения, в которой располагается иерархическая структура, нажатие на элементы которой (папки) приводит к отображению соответствующих экранов системы с определенными параметрами.

На момент написания данного руководства панель папок реализована только для Web Client.

Платформа поддерживает три вида папок: папки приложения, папки поиска и наборы записей.

  • Папки приложения:

    • Открывают экраны с фильтром или без него.

    • Набор папок может зависеть от текущего сеанса пользователя. Видимость конкретной папки определяется путем выполнения скрипта Groovy.

    • Пользователь может создавать или изменять папки приложения, только если у него есть специальное право.

    • В заголовке папки может отображаться текущее количество входящих в папку записей, вычисляемое скриптом Groovy.

    • Заголовки папок приложения обновляются по таймеру, тем самым может изменяться счетчик записей и стиль отображения каждой папки.

  • Папки поиска:

    • Открывают экраны с фильтром.

    • Могут быть как локальными - доступными только пользователю, их создавшему, так и глобальными - доступными всем пользователям.

    • Локальные папки может создавать и изменять любой пользователь, глобальные - только имеющий специальное право.

  • Наборы:

    • Открывают экраны с фильтром, содержащим условие отбора отдельных записей по их идентификаторам.

    • Содержимое набора редактируется с помощью специальных действий таблицы: Add to set, Add to current set и Remove from current set.

    • Наборы локальны, то есть доступны только создавшему их пользователю.

Папки приложения отображаются в верхней части панели в отдельной иерархии, папки поиска и наборы - в нижней части панели в совместной иерархии. Для включения отображения панели папок необходимо:

  1. Установить свойство cuba.web.foldersPaneEnabled в значение true.

  2. Расширить главный экран, используя шаблон Main screen with top menu в мастере создания экранов Studio. Этот шаблон включает в себя специальный компонент FoldersPane.

Каждая папка в панели папок может иметь значок слева. Чтобы включить такую возможность, необходимо установить свойство cuba.web.showFolderIcons в значение true. В таком случае будут использоваться стандартные значки.

folder default icons
Рисунок 47. Папки приложения и поиска со стандартными значками

Чтобы установить другие значки, используйте метод setFolderIconProvider() для компонента FoldersPane. Ниже приведён пример использования функции в методе setFolderIconProvider() в кастомном главном экране. Значок "category" устанавливается для папок приложения; для других папок должен быть установлен значок "tag".

foldersPane.setFolderIconProvider(e -> {
    if (e instanceof AppFolder) {
        return "icons/category.png";
    }
    return "icons/tag.png";
});
folder custom items
Рисунок 48. Папки приложения и поиска с кастомными значками

Для восстановления стандартных значков передайте в метод setFolderIconProvider() значение null.

На функционирование панели папок влияют следующие свойства приложения: