...Человеческий поиск в разработке...
- Модуль: ui
- Путь к файлу: ~/bitrix/modules/ui/lib/entityselector/dialog.php
- Класс: BitrixUIEntitySelectorDialog
- Вызов: Dialog::loadPreselectedItems
public function loadPreselectedItems($preselectedMode = true): void { if ($this->getPreselectedCollection()->count() < 1) { return; } foreach ($this->getPreselectedCollection()->getItems() as $entityId => $preselectedItems) { $unloadedIds = []; $entity = $this->getEntity($entityId) ?? Entity::create(['id' => $entityId]); foreach ($preselectedItems as $preselectedItem) { // Entity doesn't exist if (!$entity && $preselectedMode) { $this->addItem(self::createHiddenItem($preselectedItem->getId(), $entityId)); } else if (!$preselectedItem->isLoaded()) { $unloadedIds[] = $preselectedItem->getId(); } } if ($entity && !empty($unloadedIds)) { $availableItems = []; $items = $preselectedMode ? $entity->getProvider()->getPreselectedItems($unloadedIds) : $entity->getProvider()->getItems($unloadedIds) ; foreach ($items as $item) { $availableItems[$item->getId()] = $item; } foreach ($unloadedIds as $unloadedId) { $item = $availableItems[$unloadedId] ?? null; if ($item) { $this->addItem($item); } else if ($preselectedMode) { $this->addItem(self::createHiddenItem($unloadedId, $entityId)); } } } } }