Создание страницы с дашбордом
Платформа предоставляет стандартную страницу с дашбордом, которая имеет идентификатор "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.
Главная страница с дашбордом в приложении
Конфигурация главной страницы с дашбордом описана в статье.
О том, как редактировать дашборд, читайте в статье.
Настройка раскладки по умолчанию для дашборда
Чтобы настроить раскладку с виджетами по умолчанию, укажите поле dashboards:
<page>
<item id="my-dashboard" type="dashboard">
<contentConfig>
{
"dashboards": ["ca600595-413d-4769-8f51-e7856d1c24de"]
}
</contentConfig>
</item>
</page>
В качестве передаваемого идентификатора нужно использовать идентификатор, указанный в .dashboard файле.
Подробнее о том, как создать инсталяционный dashboard файл читайте в документе.