Appearance
Core Apps
Назначение
Используйте coreApps, чтобы открыть один из пяти встроенных интерфейсов администрирования MES или общий экран выбора между ними.
Когда использовать
Одно приложение стоит открывать напрямую, если маршрут должен вести в конкретный интерфейс без общего переключателя. Режим выбора подходит для маршрута, на котором пользователь может переходить между всеми пятью интерфейсами. Это только способ навигации и компоновки: доступ по-прежнему определяют API и права текущего пользователя. Если достаточно отдельного CRUD для MetaType, используйте более узкую панель metaTypesCrud.
Предварительные условия и границы ответственности
- Развёрнутый API и права текущего пользователя должны поддерживать выбранную область администрирования.
- Панель выполняет запросы API, проверяет права, запускает выбранный интерфейс и показывает результат операций.
- Core Apps предоставляет пять интерфейсов администрирования.
- JSON выбирает интерфейс, но не настраивает пути API и поведение интерфейса.
Карта возможностей
app | Что получает пользователь |
|---|---|
orgStructure | CRUD бизнес-единиц, связи с ролями и пользователями, назначение роли по умолчанию |
roles | Раздел Roles; сейчас это заглушка, а не рабочий сценарий управления ролями |
applications | CRUD иерархии приложений и групп, редактирование JSON-конфигурации, значки, пользователи и правила доступа |
dataModel | Дерево MetaType и MetaLink, атрибуты, методы, варианты жизненного цикла, отложенное раскрытие, CRUD и правила доступа со связями состояний |
settings | Глобальные и пользовательские настройки: список, подробности и CRUD |
| не задан | Переключатель пяти интерфейсов; сначала открывается orgStructure |
Модель поведения
В режиме одного приложения панель показывает только выбранный интерфейс. В режиме выбора слева появляется навигация, а рядом — активный интерфейс. Когда интерфейс открывается или пользователь выполняет действие, панель автоматически запрашивает нужные данные у API и показывает результат в этом интерфейсе.
Запросы DataModel в версии 0.75.0
Когда форме Core Apps нужны варианты полей, панель автоматически запрашивает у API списки MetaType и MetaLink, а также шаблоны жизненного цикла, а затем показывает варианты в форме. В JSON-конфигурации не перечисляются варианты и пути API.
При выборе некорневой строки MetaType или MetaLink панель вызывает GET /MetaTypes/{typeName}/Count или GET /MetaLinks/{linkName}/Count. Число записывается в строку дерева, только пока она остаётся выбранной и не начался более новый запрос количества. Ответ количества не прерывает выполняющееся создание, изменение или удаление. Каждый подходящий выбор строки отправляет новый запрос.
Когда пользователь раскрывает MetaType или MetaLink, панель запрашивает у API потомков, атрибуты и методы. Наследуемые атрибуты остаются отдельными в каждой родительской ветке, даже если это один и тот же атрибут.
Варианты, значения по умолчанию и приоритеты
- Не задавайте
app, чтобы открыть режим выбора; сначала будет активенorgStructure. - Для режима одного приложения укажите один точный ключ:
orgStructure,roles,applications,dataModelилиsettings. - Значение
appиз конфигурации всегда имеет приоритет над состоянием переключателя. - Разнесите администрирование по отдельным маршрутам, если пользователь не должен видеть переключатель или несвязанные интерфейсы.
Ограничения
rolesпока показывает заглушку и не поддерживает управление ролями.- Пути доменных API, семантика прав, формы и поведение интерфейсов не настраиваются через JSON
coreApps. - Состояние переключателя существует только во время выполнения приложения.
- Для количества объектов и сведений о наследовании DataModel использует
GET /MetaTypes/{typeName}/Count,GET /MetaLinks/{linkName}/Countи поляisInherited,inheritedFrom,notifyEventTypeв API. - Локальная демонстрация показывает только
settingsв режиме одного приложения. - Изменения Settings в демонстрационном сценарии общие для одного процесса сервера и сбрасываются только после его перезапуска. Поэтому ссылка подходит для изолированного однопользовательского или ограниченного стенда, но не для общего публичного многопользовательского сервиса.
Минимальная конфигурация
json
{
"id": "applications-admin",
"type": "coreApps",
"app": "applications"
}Сценарий: единый интерфейс администрирования
json
{
"version": "1.0.0",
"layout": { "padding": true },
"panel": {
"id": "core-administration",
"type": "coreApps"
}
}Ожидаемый результат: переключатель показывает пять интерфейсов и сначала открывает организационную структуру. Applications и DataModel показывают действия, разрешённые текущему пользователю. После выбора Settings панель запрашивает у API общие и пользовательские настройки и показывает их.
Для рабочего окружения создайте отдельные приложения, например:
json
{ "id": "org-admin", "type": "coreApps", "app": "orgStructure" }json
{ "id": "data-model-admin", "type": "coreApps", "app": "dataModel" }json
{ "id": "settings-admin", "type": "coreApps", "app": "settings" }Демонстрационный сценарий
Открыть демонстрацию Core Apps только с SettingsВ демонстрации можно просматривать, создавать, изменять и удалять общие и пользовательские настройки. Изменения сохраняются во временных данных; чтобы восстановить начальные настройки, перезапустите dev-сервер панели.
Демонстрация показывает только app: "settings". Чтобы открыть orgStructure, applications, dataModel или режим выбора, настройте нужный интерфейс в приложении с подходящим API и войдите с необходимыми правами.
Точный справочник параметров
- выбор приложения (EN)
- общий
panel.type(EN)
Связанные руководства и следующий шаг
Сначала откройте демонстрацию Settings и посмотрите компоновку одного приложения. Чтобы продолжить с другим интерфейсом Core Apps, настройте его в целевом приложении и откройте под пользователем с необходимыми правами.