JS события
Для работы плагинов иногда требуется отловить некоторые события. Для этого, в настоящий момент, существует 2 события, которые можно обрабатывать через подключенные JavaScript:
- ShowModal - срабатывает после показа модального окна:
- формы Клиента, Контакта, Сделки, Обращения, обработки Заявки
- просмотр Клиента, Контакта, Сделки
- CardLoad - срабатывает после загрузки какого-либо блока карточки
- Клиента,
- Контакта,
- Сделки,
- Обсуждения
Подписка на событие "ShowModal"
$(document).ready(function() {
ShowModal.subscribe(function (eventArgs) {
//eventArgs.etype - тип формы
//eventArgs.action - тип события
});
});
Существующие типы форм (eventArgs.etype):
- expressClient - экспресс-форма, в этом случае eventArgs.action = null
- clientForm - формы, связанные с Клиентом
- dealForm - формы, связанные со Сделкой
- personForm - формы, связанные с Контактом
- editEntry - форма, связанная с добавлением Обращения
- statusEntry - форма, связанная с обработкой Обращения
- editLead - форма, связанная с редактированием Заявки
- workitLead - форма, связанная с обработкой Заявки
- taskForm - форма, связанная с обработкой Напоминаний
- historyForm - форма, связанная с обработкой Активностей
- spekaForm - форма, связанная с обработкой Спецификации
При этом (кроме expressClient) передается доп.параметр: eventArgs.action = производимая операция
Пример применения:
- плагин "Скрипты продаж" - показ блока для загрузки скриптов из HyperScript
- плагин "Отправка СМС" - добавление кнопки отправки СМС
Подписка на событие "CardLoad"
$(document).ready(function() {
CardLoad.subscribe(function (eventArgs) {
//eventArgs.etype - тип карточки
});
});
Существующие типы карточек (eventArgs.etype):
- clientCard - карточка Клиента
- dealCard - карточка Сделки
- personCard - карточка Контакта
- commentCardTheme - карточка Обсуждения, блок Тема
- commentCardComments - карточка Обсуждения, блок Комментариев
Подключение своих js-скриптов
Подключение своих js-скриптов возможно в виде плагина со следующими нюансами:
- регистрация параметров плагина в файле /plugins/map.castom.json
- параметр "interface" = "no", т.е. указываем, что плагин не обладает интерфейсом
- в параметре "js" указываем адрес расположения вашего скрипта
- подписываемся на необходимые события