JS события


Для работы плагинов иногда требуется отловить некоторые события. Для этого, в настоящий момент, существует 2 события, которые можно обрабатывать через подключенные JavaScript:
  1. ShowModal - срабатывает после показа модального окна:
    • формы Клиента, Контакта, Сделки, Обращения, обработки Заявки
    • просмотр Клиента, Контакта, Сделки
  2. 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.json
  • параметр "interface" = "no", т.е. указываем, что плагин не обладает интерфейсом
  • в параметре "js" указываем адрес расположения вашего скрипта
  • подписываемся на необходимые события

 

Что-то не понятно? Задай вопрос: