getLanguageService(); $parameterArray = $this->data['parameterArray']; $elementName = $parameterArray['itemFormElName']; $config = $parameterArray['fieldConf']['config']; $clipboardElements = $config['clipboardElements']; if ((isset($config['readOnly']) && $config['readOnly']) || empty($clipboardElements) ) { return []; } $dataAttributes = [ 'element' => $elementName, 'clipboardItems' => [], ]; $title = sprintf($languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.clipInsert_db'), count($clipboardElements)); foreach ($clipboardElements as $clipboardElement) { $dataAttributes['clipboardItems'][] = [ 'title' => $clipboardElement['title'], 'value' => $clipboardElement['value'], ]; } $id = StringUtility::getUniqueId('t3js-formengine-fieldcontrol-'); return [ 'iconIdentifier' => 'actions-document-paste-into', 'title' => $title, 'linkAttributes' => [ 'id' => $id, 'data-element' => $dataAttributes['element'], 'data-clipboard-items' => json_encode($dataAttributes['clipboardItems']), ], 'javaScriptModules' => [ JavaScriptModuleInstruction::create('@typo3/backend/form-engine/field-control/insert-clipboard.js')->instance('#' . $id), ], ]; } protected function getLanguageService(): LanguageService { return $GLOBALS['LANG']; } }