[ 'renderType' => 'elementBrowser', ], ]; /** * Default field wizards for this element * * @var array */ protected $defaultFieldWizard = [ 'localizationStateSelector' => [ 'renderType' => 'localizationStateSelector', 'after' => [ 'recordsOverview' ], ], 'otherLanguageContent' => [ 'renderType' => 'otherLanguageContent', 'after' => [ 'localizationStateSelector' ], ], 'defaultLanguageDifferences' => [ 'renderType' => 'defaultLanguageDifferences', 'after' => [ 'otherLanguageContent' ], ], ]; public function __construct( private readonly IconFactory $iconFactory, ) {} /** * This will render a selector box into which folder relations can be * inserted. * * @return array As defined in initializeResultArray() of AbstractNode * @throws \RuntimeException */ public function render(): array { $languageService = $this->getLanguageService(); $resultArray = $this->initializeResultArray(); $row = $this->data['databaseRow']; $parameterArray = $this->data['parameterArray']; $config = $parameterArray['fieldConf']['config']; $elementName = $parameterArray['itemFormElName']; $selectedItems = $parameterArray['itemFormElValue']; $maxItems = $config['maxitems']; $size = (int)($config['size'] ?? 5); $autoSizeMax = (int)($config['autoSizeMax'] ?? 0); if ($autoSizeMax > 0) { $size = MathUtility::forceIntegerInRange($size, 1); $size = MathUtility::forceIntegerInRange(count($selectedItems) + 1, $size, $autoSizeMax); } $fieldId = StringUtility::getUniqueId('tceforms-multiselect-'); $listOfSelectedValues = []; $selectorOptionsHtml = []; foreach ($selectedItems as $selectedItem) { $folder = $selectedItem['folder']; $listOfSelectedValues[] = $folder; $selectorOptionsHtml[] = ''; } $fieldInformationResult = $this->renderFieldInformation(); $fieldInformationHtml = $fieldInformationResult['html']; $resultArray = $this->mergeChildReturnIntoExistingResult($resultArray, $fieldInformationResult, false); if (isset($config['readOnly']) && $config['readOnly']) { // Return early if element is read only $html = []; $html[] = $this->renderLabel($fieldId); $html[] = '