ActionDto
Действие определяет реакцию на клик по определенному элементу записи таймлайна. Существует несколько различных видов действий, каждое из которых имеет свой формат.
- Переход по ссылке
Если будет использована относительная ссылка на стандартные сущности портала, поддерживающие открытие в слайдере, будет показан слайдер. В противном случае будет обычный переход по ссылке.
Поле Тип Описание Дополнительно type const Должно иметь значение redirect Обязательное. uri string URI ссылки Например https://ya.ru или /crm/deal/details/1/ Пример
{ "type": "redirect", "uri": "/crm/deal/details/1/" }
- Rest событие
Вызов действия приведет к генерации Rest события onCrmTimelineItemAction. При возникновении события будут вызваны обработчики только приложения, создавшего эту запись таймлайна. В обработчик всегда будет передан контекст:
- id - идентификатор события,
- entityTypeId - идентификатор типа сущности, к которой привязано дело,
- entityId - идентификатор элемента этой сущности,
- activityId - идентификатор дела,
- userId - идентификатор пользователя, вызвавшего действие.
Поле Тип Описание Дополнительно type const Должно иметь значение restEvent Обязательное. id string Идентификатор события. Можно указать любое удобное вам значение. Обязательное actionParams array Массив произвольного формата, данные из которого будут переданы в обработчик события animationType string URI ссылки Анимация, которая будет показана в момент обработки события В некоторых сценариях отправка Rest события подразумевает что обработчик этого события в итоге должен изменить внешний вид записи таймлайна. Например, добавить туда новые блоки, изменить набор кнопок и так далее.
Чтобы дать пользователю понимание, что сейчас происходит какая-то обработка, можно использовать параметр animationType. Если animationType имеет значение
loader
, то запись таймлайна будет заблокирована и поверх нее будет показан лоадер до тех пор, пока эта запись не будет обновлена через [link=]crm.activity.configurable.update[/link].Если действие вызвано на кнопке в нижней части таймлайна и animationType имеет значение
disable
, то соответствующая кнопка будет заблокирована до тех пор, пока эта запись не будет обновлена через crm.activity.configurable.update.Пример
{ "type": "restEvent", "id": "resetButtonClick", "actionParams": { "myId": 123, "someImportant": "qwerty" }, "animationType": "disable" }
Если действие подобной конфигурации назначить на кнопку, то нажатие на нее приведет к вызову обработчика Rest события onCrmTimelineItemAction, зарегистрированного приложением, которое создало запись таймлайна.
В обработчик будут переданы параметры
id=resetButtonClick, entityTypeId, entityId, activityId, userId
, а также явно определенные разработчиком параметрыmyId=123
иsomeImportant=qwerty
.C момента нажатия на кнопку и до тех пор, пока запись таймлайна не будет обновлена через crm.activity.configurable.update, кнопка будет заблокирована.
- Открытие слайдера приложения
Действие не поддерживается в мобильном приложении.
Вызов действия приведет к открытию слайдера приложения, создавшего данную запись таймлайна. В слайдер будет передан контекст:
- entityTypeId - идентификатор типа сущности, к которой привязано дело,
- entityId - идентификатор элемента этой сущности,
- activityId - идентификатор дела.
Поле Тип Описание Дополнительно type const Должно иметь значение openRestApp Обязательное. actionParams array Массив произвольного формата, данные из которого будут переданы в слайдер приложения sliderParams ActionSliderParamsDto Параметры открытия слайдера Пример
{ "type": "openRestApp", "actionParams": { "myId": 123, "someImportant": "qwerty" }, "sliderParams": { "labelText": "это приложение", "labelColor": "#c3b3ff", "labelBgColor": "violet", "title": "Это заголовок слайдера приложения", "width": 700 } }
ActionSliderParamsDto
Параметры открытия слайдера приложения
Поле Тип Описание Дополнительно width int Ширина слайдера, px Не может быть использовано одновременно с leftBoundary leftBoundary int Слайдер во всю ширину окна браузера с отступом слева, px Не может быть использовано одновременно с width labelBgColor string Код цвета фона кнопки закрытия слайдера Может принимать только значения aqua, green, orange, brown, pink, blue, grey, violet labelColor string Код цвета кнопки закрытия слайдера В формате #112233 labelText string Текст кнопки закрытия слайдера title string Текст заголовка окна браузера при открытии слайдера