repeatedcontent.references.Referencerefs=10320;// Ссылки на записи (назначение ссылок зависит от действия и расширения)
}
...
...
@@ -211,54 +212,43 @@ message Action {
MAIN_MENU_BOTTOM=10010;// Действие отображается в главном меню внизу (требуется передача space_id, env_id)
}
enumActionType{
REQUEST=0;// Действие выполняет запрос на сервер
NAVIGATION=1;// Действие переносит пользователя в другую часть интерфейса
}
ActionTypeaction_type=9000;// Тип действия
// DEPRECATED: Используйте `action` в формате URI
stringextension=10000;// Расширение
stringaction=10100;// Идентификатор действия
// URL для запроса действия (альтернатива `extension` и `action`). В случае если параметр
// `action_url` указан, то интерфейс не запрашивает расширение и действие, а выполняет запрос по указанному URL используя
// указанный протокол. В случае если указан `action_url` то `extension` и `action` игнорируются.
//
// Для форматов HTML/MD относительные ссылки в тексте преобразуются в абсолютные используя `action_url` в качестве
// базового URL.
// Идентификатор действия (в формате URI)
// Варианты использования:
// - пустой - никаких действий не выполняется
// - `action_id` - простое действие (если установлено расширение, то оно используется)
// - `grpc:///extension_id/action_id` - полное действие с указанием расширения
// - `https://host/path` - действие по HTTP(S)
// - `ui:///path` - действие в интерфейсе
// - `/path` - действие в интерфейсе
//
// Пример: `https://example.com/api/v1/action` - будет выполнен запрос HTTP по указанному URL.
// Сервер может вернуть ответ в формате JSON или HTML/MD. Дальнейшие действия определяется оп заголовку ответа
// `Content-Type`:
// - `application/json` - ответ в формате JSON. Структура ответа соответствует `ActionResponse` и интерпретируется
// тем же способом что и ответ от GRPC.
// - `text/html` - ответ в формате HTML. Интерфейс отображает ответ в виде сообщения.
// - `text/html` - ответ в формате HTML. Интерфейс отображает ответ в виде сообщения в IFrame
// - `text/markdown` - ответ в формате MD. Интерфейс отображает ответ в виде сообщения.
//
// Пример: `grpc://example.com/api/v1/action` - будет выполнен запрос GRPC по указанному URL.
// Сервер может вернуть ответ в `ActionResponse`.
//
// action_type == "NAVIGATION" - Строка шаблон для перехода в интерфейсе
// При указании полного адреса (http(s)://xyz), URL открывается в новом окне браузера
// Относительный адрес в пользовательском интерфейсе переносит пользователя в соответствующий раздел без перезагрузки приложения
//
// Переменные `:var` заменяются на текуще значение в пользовательском интерфейсе (Пример: `/spaces/:spaceId/envs/:envId/cols/:colId`)
// Переменные `:var` заменяются на текуще значение в пользовательском интерфейсе
// Перечень переменных для подстановки:
// - :spaceId
// - :envId
// - :colId
// - :itemId
//
stringaction_url=10110;
// Пример: `ui:///spaces/:spaceId/envs/:envId/cols/:colId` - будет выполнено действие в интерфейсе.
stringaction=10100;
Targettarget=10110;// как должен отображаться результат действия
stringparent=10120;// Идентификатор родительского действия (для отображения в меню)
stringname=10200;// Название действия для отображения в интерфейсе (пункт меню, кнопка).
stringdescription=10210;// Описание действия для отображения в интерфейсе
stringicon=10220;// Название иконки для отображения действия в интерфейсе
content.references.Referenceimage=10230;// Изображение для отображения в действия в интерфейсе
repeatedstringgroups=10240;// Группы отображения действия в интерфейсе
Kindkind=10300;// Указывает на что направлено действие
Kindkind=10300;// Указывает область действия (где отображается действие)
repeatedstringclasses=10310;// Классы данных к которым применимо действие (название коллекций или специальных групп в рамках которых данное действие применимо)
// Для `CREATE` действуют следующие правила:
// - Для создание записей в коллекции применимы действия которые содержат в classes название коллекции