Заметки
EntitySelector открылся, но не запрашивает данные провайдера
Провайдер зарегистрирован, диалог BX.UI.EntitySelector.Dialog открывается, а запросов к серверу нет. При этом enableSearch: true уже установлен. Этот параметр включает поле поиска в интерфейсе, но не задаёт динамическую загрузку вашей сущности.
После подключения расширения ui.entity-selector укажите флаги внутри элемента entities. На странице уже должен быть элемент с ID document-selector:
const dialog = new BX.UI.EntitySelector.Dialog({
targetNode: document.getElementById('document-selector'),
context: 'PROJECT_DOCUMENTS',
enableSearch: true,
entities: [{
id: 'project-document',
dynamicLoad: true,
dynamicSearch: true
}]
});
dialog.show(); dynamicLoad разрешает загрузку элементов с сервера, dynamicSearch — серверный поиск. Их можно задать глобально в настройках провайдера или переопределить в конкретном диалоге.
Строка project-document должна совпадать с entityId в секции ui.entity-selector файла .settings.php вашего установленного модуля. Там же задаются moduleId и className провайдера.
Если запрос появился, но выдача пустая, следующий участок уже на PHP-стороне: fillDialog наполняет диалог, а doSearch отвечает за результаты поиска. Дублирующее подключение модуля в init.php не заменяет настройку провайдера.
Документация: Провайдеры EntitySelector; Параметры Entity.