Добавление своего пункта меню в выпадающие списки Битрикс24 (CRM Грид, Пункт меню Еще)
1350
Есть небольшая особенность, получения объекта меню, для добавление пунктов в Гридах и выпадающего пункта меню Еще(или любого другого)
Задача решается через обработчики onPopupFirstShow (Возникает при первом показе popup)иonPopupShow (при каждом)
BX.addCustomEvent('onPopupFirstShow', function(p) {
if (p.uniquePopupId/*Индификатор меню*/) {
/*Если мы работаем с меню в Гридах, то необходимо обработать ID меню для получения объекта*/
var popupId = p.uniquePopupId.substr(11);
/*Получим меню*/
var popup = BX.PopupMenu.getMenuById(popupId); /*Если работаем с меню ЕЩЕ, то можно сразу передавать p.uniquePopupId*/
if (popup) {
/*popup.getMenuItems(); - так можно получить текущие пукнты меню */
/*popup.removeMenuItem(id); - так можно удалить пункт меню */
/*такая конструкция добавит вложенное меню Parent -> item1..*/
popup.addMenuItem({
text: 'parent',
items: [{
text: 'item1',
href: "/services/",
},
{
text: 'item2',
href: "/lists",
},
{
text: 'item3',
href: "/bp_start/",
}]
});
/*
или же пример без вложенности:
menu.addMenuItem({
text: 'Скачать как PDF',
href: href + (href.indexOf('?') === -1 ? '?' : '&') + 'task=' + taskId + '&' + 'pdf=1&sessid=' + BX.bitrix_sessid(),
className: 'menu-popup-item-create'
});
*/
}
}
});