Создание страницы с дашбордом

Платформа предоставляет стандартную страницу с дашбордом, которая имеет идентификатор "main-page". Страница "main-page" является главной страницей по умолчанию во всех приложениях. На данной странице доступен полный список виджетов приложения. Если вам нужна страница с дашбордом и она отличается от стандартной, создайте собственную страницу с дашбордом.

Пример создания собственной страницы с дашбордом:

<page>
   <item id="my-dashboard" type="dashboard">
      <contentConfig>
         {
            "filterConfig": {
               "sortingTemplateName": "Demo/page:sortingTemplateName"
            }
         }
      </contentConfig>
   </item>
</page>

В результате такой настройки вы получите страницу с идентификатором my-dashboard и собственным компонентом поиска.

Подробнее про все настройки страницы читайте в статье "Настройка содержимого страницы".

Добавление фильтра на страницу с дашбордом

Создание страницы с дашбордом и фильтром:

<page>
   <item id="my-dashboard" type="dashboard">
      <contentConfig>
         {
            "dashboardConfig": {
               "filterSourceGetter": "MyModule/filterSourceGetter"
            }
         }
      </contentConfig>
   </item>
</page>

В поле filterSourceGetter необходимо указать путь до функции, которая вернет структуру фильтра.

Пример filterSourceGetter:

import {IFilterItem} from 'Controls/filter';

const filterSourceGetter = (): IFilterItem[] => {
   return [...];
}

export default filterSourceGetter;

В итоге у вас на странице появится кнопка фильтров. История для кнопки фильтров будет сохраняться автоматически.

Так же вы можете дополнительно настроить кнопку фильтров согласно статье. Единственным ограничением является то, что в качестве шаблона кнопки фильтра всегда будет использоваться контрол Controls-widgets/filter:View.

Пример настройки кнопки фильтра

<page>
   <item id="my-dashboard" type="dashboard">
      <contentConfig>
         {
            "dashboardConfig": {
               "filterSourceGetter": "MyModule/filterSourceGetter"
            },
            "filterConfig": {
                "filterTemplateOptions": {
                    "emptyText": "Все"
                }
            }
         }
      </contentConfig>
   </item>
</page>

Своя группа виджетов на странице

На стандартной странице с идентификатором main-page присутствуют все существующие виджеты дашбордов. Если на странице нужна определенная группа виджетов, создайте свою страницу и настройте ее:

<page>
   <item id="my-dashboard" type="dashboard">
      <contentConfig>
         {
            "dashboardConfig": {
               "groups": ["my-widgets-group"]
            }
         }
      </contentConfig>
   </item>
</page>

При такой настройке на странице my-dashboard будут доступны только те виджеты, которые находятся в группе my-widgets-group.

Главная страница с дашбордом в приложении

Чтобы поменять главную страницу приложения, настройте поле main_page в конфигурационном файле с расширением .app:

{
   ...
   "main_page": "my-dashboard",
   ...
}

В качестве главной страницы возможно установить как стандартную страницу с дашбордом dashboard, так и собственную страницу с персональными настройками.

Настройка раскладки по умолчанию для дашборда

Чтобы настроить раскладку с виджетами по умолчанию, укажите поле dashboards:

<page>
   <item id="my-dashboard" type="dashboard">
      <contentConfig>
         {
            "dashboards": ["ca600595-413d-4769-8f51-e7856d1c24de"]
         }
      </contentConfig>
   </item>
</page>

В качестве передаваемого идентификатора нужно использовать идентификатор, указанный в .dashboard файле.

Подробнее о том, как создать инсталяционный dashboard файл читайте в документе.