Notify.js
Notify.js – JS библиотека, которая позволяет создавать уведомления наподобие Xrm.Page.ui.setFormNotification (желтые полоски вверху формы), но гораздо более функциональные:
- С кнопками;
- Гиперссылками;
- HTML-разметкой;
- С эффектом плавного появления/удаления;
- Ручным закрытием (по крестику);
- Со сроком «жизни» уведомлений (после чего оно само исчезнет);
- Дополнительные иконками.
Использование:
- Скачайте и импортируйте в CRM Решение Notify.js;
- Подключите к форме Веб-ресурс mag_/js/notify.js;
- Чтобы создать уведомление вызовите функцию Notify.add и передайте ей следующие параметры (все технически опциональны):
- Сообщение;
- Иконка (возможные значения: INFO, WARNING, ERROR, SUCCESS, QUESTION, LOADING);
- Уникальный идентификатор (если не задано, то будет = 0). Если создать уведомление с уже существующим идентификатором, то предыдущее уведомление затрется;
- Массив кнопки и/или ссылок. Каждый массив элемент массива определяется следующими параметрами:
- Тип: кнопка или ссылка (по умолчанию кнопка);
- Текст выводимый на кнопке или в ссылке;
- Функция обратного вызова;
- Продолжительность «жизни» уведомления в секундах (по умолчанию бесконечна).
Примерно, так:
Notify.add( "Привет пользователь <b>CRM</b>. Показать еще уведомление?", "QUESTION", "id1", [ { type: "button", text: "Да", callback: function () { Notify.add("Ура!!! Еще уведомление :)", "SUCCESS", "id2", null, 5); } }, { type: "link", text: "Нет", callback: function () { Notify.remove("id1"); } } ] );
Для программного удаления уведомлений используются следующие функции:
- Удаление конкретного уведомления:
Notify.remove("id1");
- Удаление всех уведомлений:
Notify.remove();
Примечание: существующие вызовы стандартных функций Xrm.Page.ui.setFormNotification и Xrm.Page.ui.clearFormNotification могут быть легко заменены (в том числе с помощью функции поиска/замены) на Notify.add и Notify.remove без необходимости менять передаваемые параметры.