Доработать компонент

Рейтинг: 1.0000  
Внедрено
Предложил Тимошкин Владимир 29.05.2019 15:53:10

Доработать компонент

В реализации компонента main.ui.selector v3 имеются все возможности использовать данный компонент для поиска по своим сущностям за исключением одной обработки

Файл: /bitrix/js/ui/selector/search.js

функция
BX.UI.Selector.Search.prototype.searchRequestCallbackSuccess = function(responseData, requestData)

после строки 1128
if (BX.type.isNotEmptyObject(responseData.ENTITIES))
идет строгая проверка объектов responseData.ENTITIES на существование
примеры
if (
   BX.type.isNotEmptyObject(responseData.ENTITIES.SONETGROUPS)
   && BX.type.isNotEmptyObject(responseData.ENTITIES.SONETGROUPS.ITEMS)
)

if (
   BX.type.isNotEmptyObject(responseData.ENTITIES.PROJECTS)
   && BX.type.isNotEmptyObject(responseData.ENTITIES.PROJECTS.ITEMS)
)
причем внутри условий обработка объектов одна и та же.

Соответственно если есть данные по своей сущности на данном этапе они порежутся.

Предложение заменить данные условие на цикл
for (entity in responseData.ENTITIES)
Рейтинг: 0  
Ответил Artemov Vladimir 29.05.2019 17:24:40
В ui 19.0.0 выйдет изменение в этой части, событие BX.UI.Selector:onSearchRequestCallbackSussess

Именно так реализуется работа с CRM-сущностями в этом селекторе (также постараемся скоро выпустить).

Рейтинг: 0  
Тимошкин Владимир 29.05.2019 17:30:10
Хорошо)