Обработка нажатий ссылок
Метод BX.SidePanel.Instance.bindAnchors задает правила обработки ссылок на странице. В момент нажатия на ссылку, слайдер сравнивает адрес в атрибуте href c зарегистрированными шаблонами. В случае совпадения, соответствующая страница открывается в iframe'е слайдера.
BX.SidePanel.Instance.bindAnchors({ rules: [ { condition: [ "/company/personal/user/(\\d+)/tasks/task/view/(\\d+)/", "/workgroups/group/(\\d+)/tasks/task/view/(\\d+)/", "/extranet/contacts/personal/user/(\\d+)/tasks/task/view/(\\d+)/" ], loader: "tasks:view-loader", //Игноривать ссылки, содержащие следующие параметры в Query String stopParameters: [ "PAGEN_(\\d+)", "MID" ] }, { condition: [ "/company/personal/user/(\\d+)/tasks/task/edit/0/", "/workgroups/group/(\\d+)/tasks/task/edit/0/", "/extranet/contacts/personal/user/(\\d+)/tasks/task/edit/0/" ], loader: "tasks:new-loader" }, { condition: [ new RegExp("/crm/lead/details/[0-9]+/", "i") ], loader: "crm:entity-details-loader" }, { condition: [ "/company/personal/user/(\\d+)/groups/create/" ], loader: "intranet:group-create-loader", //Опции, с которыми откроется слайдер options: { width: 1200 } }, { condition: [ /\/online\/\?(IM_DIALOG|IM_HISTORY)=([a-zA-Z0-9_|]+)/i ], //Собственный обработчик нажатия на ссылку. //Вместо слайдера откроется мессенджер handler: function(event, link) { if (!window.BXIM) { return; } var type = link.matches[1]; var id = link.matches[2]; if (type === "IM_HISTORY") { BXIM.openHistory(id); } else { BXIM.openMessenger(id); } event.preventDefault(); } } ] });
BX.SidePanel.Instance.bindAnchors можно вызвать несколько раз. Новые правила будут добавлены к существующим.
Если требуется обрабатывать ссылки на всех страницах сайта, вызов BX.SidePanel.Instance.bindAnchors необходимо перенести в шаблон сайта.
Ссылки внутри iframe'а анализируются по тем же правилам, что и в родительской странице.
Ссылки с data-атрибутом data-slider-ignore-autobinding не обрабатываются.
По соображениям безопасности ссылки на другой домен не открываются в слайдере, однако, это поведение можно отменить опцией allowCrossDomain=true.
Обработка ссылок в мобильных браузерах не производится, отменить это можно опцией mobileFriendly=true.
В параметре options можно указать опции, с которыми откроется слайдер.
Слайдер открывается при совпадении шаблона ссылки и адреса в атрибуте href. Это поведение по умолчанию можно переопределить, указав в опции handler свою функцию-обработчик.