diff --git a/Classes/CodeGenerator/HtmlCodeGenerator.php b/Classes/CodeGenerator/HtmlCodeGenerator.php index 1009d916..d56757b6 100644 --- a/Classes/CodeGenerator/HtmlCodeGenerator.php +++ b/Classes/CodeGenerator/HtmlCodeGenerator.php @@ -74,7 +74,7 @@ protected function generateFieldHtml(TcaFieldDefinition $field, ElementTcaDefini if (!$field->hasFieldType($element->elementDefinition->key) || !$field->getFieldType($element->elementDefinition->key)->isRenderable()) { return ''; } - switch ((string)$field->getFieldType($element->elementDefinition->key)) { + switch ($field->getFieldType($element->elementDefinition->key)) { case FieldType::SELECT: if (($field->realTca['config']['foreign_table'] ?? '') !== '') { $html[] = $this->drawWhitespace(0 + $depth) . ''; diff --git a/Classes/CodeGenerator/SqlCodeGenerator.php b/Classes/CodeGenerator/SqlCodeGenerator.php index 95c719aa..699b4e96 100644 --- a/Classes/CodeGenerator/SqlCodeGenerator.php +++ b/Classes/CodeGenerator/SqlCodeGenerator.php @@ -100,7 +100,7 @@ protected function getSqlByConfiguration(): array } catch (\InvalidArgumentException $e) { continue; } - if ($fieldType->equals(FieldType::INLINE) && !$tableDefinitionCollection->hasTable($column->column)) { + if ($fieldType == FieldType::INLINE && !$tableDefinitionCollection->hasTable($column->column)) { continue; } if (!$tableDefinition->tca->hasField($column->column)) { @@ -115,7 +115,7 @@ protected function getSqlByConfiguration(): array $sql[] = 'CREATE TABLE ' . $tableDefinition->table . " (\n\t" . $column->column . ' ' . $column->sqlDefinition . "\n);\n"; // if this field is a content field, also add parent columns - if ($fieldType->equals(FieldType::CONTENT)) { + if ($fieldType == FieldType::CONTENT) { $sql[] = 'CREATE TABLE tt_content ( tx_mask_content_parent_uid int(11) unsigned DEFAULT \'0\' NOT NULL );' . "\n"; $sql[] = 'CREATE TABLE tt_content ( tx_mask_content_role varchar(255) DEFAULT \'\' NOT NULL );' . "\n"; $sql[] = 'CREATE TABLE tt_content ( tx_mask_content_tablenames varchar(255) DEFAULT \'\' NOT NULL );' . "\n"; diff --git a/Classes/CodeGenerator/TcaCodeGenerator.php b/Classes/CodeGenerator/TcaCodeGenerator.php index 591cd8f8..57b14ef0 100644 --- a/Classes/CodeGenerator/TcaCodeGenerator.php +++ b/Classes/CodeGenerator/TcaCodeGenerator.php @@ -197,7 +197,7 @@ public function setElementsTca(): void $bodytext = $elementTca->tcaDefinition->getField('bodytext'); if ( !$bodytext->hasFieldType($element->key) - || $bodytext->getFieldType($element->key)->equals(FieldType::RICHTEXT) + || $bodytext->getFieldType($element->key) == FieldType::RICHTEXT ) { $GLOBALS['TCA']['tt_content']['types'][$cTypeKey]['columnsOverrides']['bodytext']['config']['enableRichtext'] = 1; } @@ -215,7 +215,7 @@ public function getPagePalettes(string $elementKey): array $pages = $this->tableDefinitionCollection->getTable('pages'); $element = $pages->elements->getElement($elementKey); foreach ($element->columns as $column) { - if ($this->tableDefinitionCollection->getFieldType($column, 'pages')->equals(FieldType::PALETTE)) { + if ($this->tableDefinitionCollection->getFieldType($column, 'pages') == FieldType::PALETTE) { $palettes[$column] = $this->generatePalettesTca($pages->palettes->getPalette($column), 'pages'); } } @@ -246,10 +246,10 @@ protected function generateShowItem(string $prependTabs, string $elementKey, str try { $fieldType = $this->tableDefinitionCollection->getFieldType($fieldKey, $table); } catch (\InvalidArgumentException $e) { - $fieldType = new FieldType(FieldType::STRING); + $fieldType = FieldType::STRING; } // Check if this field is of type tab - if ($fieldType->equals(FieldType::TAB)) { + if ($fieldType == FieldType::TAB) { $label = $this->tableDefinitionCollection->getLabel($elementKey, $fieldKey, $table); // If a tab is in the first position then change the name of the general tab if ($index === 0) { @@ -258,9 +258,9 @@ protected function generateShowItem(string $prependTabs, string $elementKey, str // Otherwise just add new tab $fieldArray[] = '--div--;' . $label; } - } elseif ($fieldType->equals(FieldType::PALETTE)) { + } elseif ($fieldType == FieldType::PALETTE) { $fieldArray[] = '--palette--;;' . $fieldKey; - } elseif ($fieldType->equals(FieldType::INLINE)) { + } elseif ($fieldType == FieldType::INLINE) { // Make sure only inline fields with at least 1 field are added. $inlineFields = $this->tableDefinitionCollection->loadInlineFields($fieldKey, $element->key, $element); if ($inlineFields->toArray() !== []) { @@ -282,7 +282,7 @@ protected function generatePalettesTca(PaletteDefinition $palette, string $table { $showitem = []; foreach ($palette->showitem as $item) { - if ($this->tableDefinitionCollection->getFieldType($item, $table)->equals(FieldType::LINEBREAK)) { + if ($this->tableDefinitionCollection->getFieldType($item, $table) == FieldType::LINEBREAK) { $showitem[] = '--linebreak--'; } else { $showitem[] = $item; @@ -340,7 +340,7 @@ public function generateFieldsTca(string $table): array $additionalTca[$field->fullKey] = []; // File: Add file config. - if ($fieldType->equals(FieldType::FILE) || $fieldType->equals(FieldType::MEDIA)) { + if ($fieldType == FieldType::FILE || $fieldType == FieldType::MEDIA) { $additionalTca[$field->fullKey]['config'] = $this->getFileTCAConfig($fieldType, $field); } @@ -352,12 +352,12 @@ public function generateFieldsTca(string $table): array $field->realTca['config'] = self::reconfigureTCAConfig($field, $field->realTca['config']); // InputLink: Add softref - if ($fieldType->equals(FieldType::LINK)) { + if ($fieldType == FieldType::LINK) { $field->realTca['config']['softref'] = 'typolink'; } // Content: Set foreign_field and default CType in select if restricted. - if ($fieldType->equals(FieldType::CONTENT)) { + if ($fieldType == FieldType::CONTENT) { $field->realTca['config']['foreign_field'] = 'tx_mask_content_parent_uid'; $field->realTca['config']['foreign_table_field'] = 'tx_mask_content_tablenames'; $field->realTca['config']['foreign_match_fields'] = [ @@ -386,7 +386,7 @@ public function generateFieldsTca(string $table): array private function getFileTCAConfig(FieldType $fieldType, TcaFieldDefinition $field, ?TcaFieldDefinition $columnsOverride = null): array { - if ($field->imageoverlayPalette || $fieldType->equals(FieldType::MEDIA)) { + if ($field->imageoverlayPalette || $fieldType == FieldType::MEDIA) { $customSettingOverride = [ 'overrideChildTca' => [ 'types' => [ @@ -440,16 +440,16 @@ private function getFileTCAConfig(FieldType $fieldType, TcaFieldDefinition $fiel ? $columnsOverride->onlineMedia : $field->onlineMedia; - if ($fieldType->equals(FieldType::FILE) && $field->allowedFileExtensions === '') { + if ($fieldType == FieldType::FILE && $field->allowedFileExtensions === '') { $field->allowedFileExtensions = 'common-image-types'; } - if ($fieldType->equals(FieldType::MEDIA) && $field->allowedFileExtensions === '') { + if ($fieldType == FieldType::MEDIA && $field->allowedFileExtensions === '') { $field->allowedFileExtensions = 'common-media-types'; } // Only allow media types the user has selected, but always include the rest. - if ($fieldType->equals(FieldType::MEDIA)) { + if ($fieldType == FieldType::MEDIA) { $onlineMediaHelpers = $this->onlineMediaHelperRegistry->getSupportedFileExtensions(); $allowedFileExtensionList = GeneralUtility::trimExplode(',', $field->allowedFileExtensions, true); $alwaysIncluded = array_diff($allowedFileExtensionList, $onlineMediaHelpers); @@ -485,12 +485,12 @@ private static function reconfigureTCAConfig(TcaFieldDefinition $field, array $t } // Text: Set correct rendertype if format (code highlighting) is set. - if ($fieldType->equals(FieldType::TEXT) && ($tcaConfig['format'] ?? false)) { + if ($fieldType == FieldType::TEXT && ($tcaConfig['format'] ?? false)) { $tcaConfig['renderType'] = 't3editor'; } // RTE: Add softref - if ($fieldType->equals(FieldType::RICHTEXT)) { + if ($fieldType == FieldType::RICHTEXT) { $tcaConfig['softref'] = 'typolink_tag,email[subst],url'; } @@ -521,19 +521,19 @@ public function generateTCAColumnsOverrides(string $table): array // Do not generate any overrides for empty inline fields. if ( $fieldDefinition->hasFieldType() - && $fieldDefinition->getFieldType()->equals(FieldType::INLINE) + && $fieldDefinition->getFieldType() == FieldType::INLINE && $this->tableDefinitionCollection->loadInlineFields($fieldDefinition->fullKey, $element->key, $element)->toArray() === [] ) { continue; } // Do not generate any overrides for tabs. - if ($fieldDefinition->hasFieldType() && $fieldDefinition->getFieldType()->equals(FieldType::TAB)) { + if ($fieldDefinition->hasFieldType() && $fieldDefinition->getFieldType() == FieldType::TAB) { continue; } // Build TCA columns overrides. - if ($fieldDefinition->hasFieldType() && $fieldDefinition->getFieldType()->equals(FieldType::PALETTE)) { + if ($fieldDefinition->hasFieldType() && $fieldDefinition->getFieldType() == FieldType::PALETTE) { foreach ($this->tableDefinitionCollection->loadInlineFields($fieldName, $element->key, $element) as $paletteField) { $label = $paletteField->getLabel($element->key); if ($label !== '') { @@ -597,7 +597,7 @@ public function processTableTca(TableDefinition $tableDefinition): array foreach ($tableDefinition->tca as $field) { // check if this field is of type tab $fieldType = $this->tableDefinitionCollection->getFieldType($field->fullKey, $tableDefinition->table); - if ($fieldType->equals(FieldType::TAB)) { + if ($fieldType == FieldType::TAB) { // if a tab is in the first position then change the name of the general tab if ($firstField) { $generalTab = '--div--;' . $field->label; @@ -605,7 +605,7 @@ public function processTableTca(TableDefinition $tableDefinition): array // otherwise just add new tab $fields[] = '--div--;' . $field->label; } - } elseif ($fieldType->equals(FieldType::PALETTE)) { + } elseif ($fieldType == FieldType::PALETTE) { if ($firstField && empty($tableDefinition->palettes->getPalette($field->fullKey)->showitem)) { $firstField = false; continue; @@ -654,7 +654,7 @@ public function addSearchFields(string $table): string try { $fieldType = $this->tableDefinitionCollection->getFieldType($field->fullKey, $table); } catch (\InvalidArgumentException $e) { - $fieldType = new FieldType(FieldType::STRING); + $fieldType = FieldType::STRING; } if ($fieldType->isSearchable() && !in_array($field->fullKey, $searchFields, true)) { $searchFields[] = $field->fullKey; diff --git a/Classes/CodeGenerator/TyposcriptCodeGenerator.php b/Classes/CodeGenerator/TyposcriptCodeGenerator.php index 40598862..9053bba4 100644 --- a/Classes/CodeGenerator/TyposcriptCodeGenerator.php +++ b/Classes/CodeGenerator/TyposcriptCodeGenerator.php @@ -169,7 +169,7 @@ protected function generateTCEFORM(string $fieldKey, int $index, ElementDefiniti return $TSConfig; } // As this is called very early, TCA for core fields might not be loaded yet. So ignore them. - if (!$fieldDefinition->isCoreField && $this->tableDefinitionCollection->getFieldType($fieldKey, $table)->equals(FieldType::PALETTE)) { + if (!$fieldDefinition->isCoreField && $this->tableDefinitionCollection->getFieldType($fieldKey, $table) == FieldType::PALETTE) { foreach ($this->tableDefinitionCollection->loadInlineFields($fieldKey, $element->key, $element) as $field) { // Add label from field config. $label = $field->getLabel($element->key); diff --git a/Classes/Controller/AjaxController.php b/Classes/Controller/AjaxController.php index 34851170..7d1ed51e 100644 --- a/Classes/Controller/AjaxController.php +++ b/Classes/Controller/AjaxController.php @@ -415,36 +415,36 @@ public function fieldTypes(ServerRequestInterface $request): Response { $json = []; // $availability = [ - // FieldType::EMAIL => 12, - // FieldType::FOLDER => 12, + // FieldType::EMAIL->value => 12, + // FieldType::FOLDER->value => 12, // ]; // $typo3Version = new Typo3Version(); $defaults = $this->configurationLoader->loadDefaults(); $grouping = $this->configurationLoader->loadFieldGroups(); - foreach (FieldType::getConstants() as $type) { + foreach (FieldType::cases() as $type) { // if (isset($availability[$type]) && $typo3Version->getMajorVersion() < $availability[$type]) { // continue; // } $config = [ - 'name' => $type, - 'icon' => $this->iconFactory->getIcon('mask-fieldtype-' . $type)->getMarkup(), + 'name' => $type->value, + 'icon' => $this->iconFactory->getIcon('mask-fieldtype-' . $type->value)->getMarkup(), 'fields' => [], 'key' => '', 'label' => '', 'description' => '', 'translatedLabel' => '', - 'itemLabel' => $this->translateLabel('tx_mask.field.' . $type), + 'itemLabel' => $this->translateLabel('tx_mask.field.' . $type->value), 'parent' => [], - 'group' => $grouping[$type], + 'group' => $grouping[$type->value], 'newField' => true, 'tca' => [ 'l10n_mode' => '', ], ]; - if (isset($defaults[$type]['tca_in'])) { - foreach ($defaults[$type]['tca_in'] as $tcaKey => $value) { + if (isset($defaults[$type->value]['tca_in'])) { + foreach ($defaults[$type->value]['tca_in'] as $tcaKey => $value) { $config['tca'][$tcaKey] = $value; } } @@ -527,7 +527,7 @@ public function loadAllMultiUse(ServerRequestInterface $request): Response } // Get fields in palette - if ($field->getFieldType()->equals(FieldType::PALETTE)) { + if ($field->getFieldType() == FieldType::PALETTE) { foreach ($this->tableDefinitionCollection->loadInlineFields($field->fullKey, $elementKey, $element->elementDefinition) as $paletteField) { if ($paletteField->isCoreField || !$paletteField->getFieldType()->canBeShared()) { continue; @@ -656,7 +656,7 @@ public function existingTca(ServerRequestInterface $request): Response $table = $request->getQueryParams()['table']; $type = $request->getQueryParams()['type']; $fields = ['mask' => [], 'core' => []]; - $searchFieldType = FieldType::cast($type); + $searchFieldType = FieldType::from($type); // Return empty result for non-shareable fields. if (!$searchFieldType->canBeShared()) { @@ -684,7 +684,7 @@ public function existingTca(ServerRequestInterface $request): Response // OR the field is the bodytext field, and we search for a text or textarea field. $fieldType = $this->tableDefinitionCollection->getFieldType($tcaField, $table); if ( - $fieldType->equals($type) + $fieldType->value == $type || ( $tcaField === 'bodytext' && $searchFieldType->isTextareaField() ) @@ -793,27 +793,27 @@ public function cTypes(ServerRequestInterface $request): Response public function tabs(ServerRequestInterface $request): Response { // $availability = [ - // FieldType::CATEGORY => 11, + // FieldType::CATEGORY->value => 11, // ]; // $typo3Version = new Typo3Version(); $tabs = []; $availableTcaFields = $this->configurationLoader->loadTcaFields(); - foreach (FieldType::getConstants() as $type) { + foreach (FieldType::cases() as $type) { // if (isset($availability[$type]) && $typo3Version->getMajorVersion() < $availability[$type]) { // continue; // } - $tabs[$type] = $this->configurationLoader->loadTab($type); + $tabs[$type->value] = $this->configurationLoader->loadTab($type->value); // Remove unavailable TCA options - foreach ($tabs[$type] as $tabType => $rows) { + foreach ($tabs[$type->value] as $tabType => $rows) { foreach ($rows as $rowIndex => $fields) { foreach ($fields as $tcaField => $ize) { if (!array_key_exists($tcaField, $availableTcaFields)) { - unset($tabs[$type][$tabType][$rowIndex][$tcaField]); + unset($tabs[$type->value][$tabType][$rowIndex][$tcaField]); } } // Remove empty rows - if (empty($tabs[$type][$tabType][$rowIndex])) { - unset($tabs[$type][$tabType][$rowIndex]); + if (empty($tabs[$type->value][$tabType][$rowIndex])) { + unset($tabs[$type->value][$tabType][$rowIndex]); } } } @@ -825,19 +825,19 @@ public function language(ServerRequestInterface $request): Response { $language = []; $tabs = [ - Tab::GENERAL => 'tx_mask.tabs.default', - Tab::APPEARANCE => 'tx_mask.tabs.appearance', - Tab::DATABASE => 'tx_mask.tabs.database', - Tab::EXTENDED => 'tx_mask.tabs.extended', - Tab::FIELD_CONTROL => 'tx_mask.tabs.fieldControl', - Tab::FILES => 'tx_mask.tabs.files', - Tab::LOCALIZATION => 'tx_mask.tabs.localization', - Tab::VALIDATION => 'tx_mask.tabs.validation', - Tab::WIZARDS => 'tx_mask.tabs.wizards', - Tab::GENERATOR => 'tx_mask.tabs.generator', - Tab::ITEM_GROUP_SORTING => 'tx_mask.tabs.itemGroupSorting', - Tab::VALUE_PICKER => 'tx_mask.tabs.valuePicker', - Tab::ENABLED_CONTROLS => 'tx_mask.tabs.enabledControls', + Tab::GENERAL->value => 'tx_mask.tabs.default', + Tab::APPEARANCE->value => 'tx_mask.tabs.appearance', + Tab::DATABASE->value => 'tx_mask.tabs.database', + Tab::EXTENDED->value => 'tx_mask.tabs.extended', + Tab::FIELD_CONTROL->value => 'tx_mask.tabs.fieldControl', + Tab::FILES->value => 'tx_mask.tabs.files', + Tab::LOCALIZATION->value => 'tx_mask.tabs.localization', + Tab::VALIDATION->value => 'tx_mask.tabs.validation', + Tab::WIZARDS->value => 'tx_mask.tabs.wizards', + Tab::GENERATOR->value => 'tx_mask.tabs.generator', + Tab::ITEM_GROUP_SORTING->value => 'tx_mask.tabs.itemGroupSorting', + Tab::VALUE_PICKER->value => 'tx_mask.tabs.valuePicker', + Tab::ENABLED_CONTROLS->value => 'tx_mask.tabs.enabledControls', ]; foreach ($tabs as $key => $tab) { @@ -1050,7 +1050,7 @@ public function checkFieldKey(ServerRequest $request): Response $elementKey = $queryParams['elementKey']; // Check if an inline table with the same key already exists. - if ($type === FieldType::INLINE) { + if ($type === FieldType::INLINE->value) { return new JsonResponse(['isAvailable' => !$this->tableDefinitionCollection->hasTable($fieldKey)]); } @@ -1058,7 +1058,7 @@ public function checkFieldKey(ServerRequest $request): Response // with the same field type exists, it may be shared. $field = $this->tableDefinitionCollection->loadField($table, $fieldKey); - return new JsonResponse(['isAvailable' => (!$field instanceof TcaFieldDefinition || !$field->hasFieldType($elementKey) || $field->getFieldType($elementKey)->equals($type))]); + return new JsonResponse(['isAvailable' => (!$field instanceof TcaFieldDefinition || !$field->hasFieldType($elementKey) || $field->getFieldType($elementKey)->value == $type)]); } protected function addFlashMessage(string $messageBody, string $messageTitle = '', ContextualFeedbackSeverity $severity = ContextualFeedbackSeverity::OK, bool $storeInSession = true): void diff --git a/Classes/Controller/FieldsController.php b/Classes/Controller/FieldsController.php index 999edd7f..8f53527a 100644 --- a/Classes/Controller/FieldsController.php +++ b/Classes/Controller/FieldsController.php @@ -129,7 +129,7 @@ protected function addFields(array $fields, string $table, string $elementKey = } } - $newField['name'] = (string)$fieldType; + $newField['name'] = $fieldType->value; $newField['icon'] = $this->iconFactory->getIcon('mask-fieldtype-' . $newField['name'])->getMarkup(); $newField['tca'] = []; @@ -142,7 +142,7 @@ protected function addFields(array $fields, string $table, string $elementKey = $newField['tca']['l10n_mode'] = $field['l10n_mode'] ?? ''; } - if ($fieldType->equals(FieldType::TIMESTAMP)) { + if ($fieldType == FieldType::TIMESTAMP) { $default = $newField['tca']['config.default'] ?? false; $evalDate = $newField['tca']['config.format']; if ($default) { @@ -158,7 +158,7 @@ protected function addFields(array $fields, string $table, string $elementKey = } } - if ($fieldType->equals(FieldType::FILE)) { + if ($fieldType == FieldType::FILE) { $newField['tca']['imageoverlayPalette'] = $field['imageoverlayPalette'] ?? 1; } @@ -166,20 +166,20 @@ protected function addFields(array $fields, string $table, string $elementKey = $newField['tca']['allowedFileExtensions'] = $field['allowedFileExtensions'] ?? ''; } - if ($fieldType->equals(FieldType::CONTENT)) { + if ($fieldType == FieldType::CONTENT) { $newField['tca']['cTypes'] = $field['cTypes'] ?? []; } - if ($fieldType->equals(FieldType::MEDIA)) { + if ($fieldType == FieldType::MEDIA) { $newField['tca']['onlineMedia'] = $field['onlineMedia'] ?? []; } // Set defaults for mask fields - foreach ($defaults[(string)$fieldType]['tca_in'] ?? [] as $tcaKey => $defaultValue) { + foreach ($defaults[$fieldType->value]['tca_in'] ?? [] as $tcaKey => $defaultValue) { $newField['tca'][$tcaKey] = $newField['tca'][$tcaKey] ?? $defaultValue; } - if ($fieldType->equals(FieldType::INLINE)) { + if ($fieldType == FieldType::INLINE) { $newField['tca']['ctrl.iconfile'] = $field['ctrl']['iconfile'] ?? ''; $newField['tca']['ctrl.label'] = $field['ctrl']['label'] ?? ''; } @@ -192,7 +192,7 @@ protected function addFields(array $fields, string $table, string $elementKey = ? $elementTcaDefinition->elementDefinition : null; $inlineFields = $this->tableDefinitionCollection->loadInlineFields($newField['key'], $elementKey, $element); - $inlineTable = $fieldType->equals(FieldType::INLINE) ? $newField['key'] : $table; + $inlineTable = $fieldType == FieldType::INLINE ? $newField['key'] : $table; $newField['fields'] = $this->addFields( $inlineFields->toArray(), $inlineTable, @@ -211,7 +211,7 @@ protected function addFields(array $fields, string $table, string $elementKey = */ protected function cleanUpConfig(array $config, FieldType $fieldType): array { - $tabConfig = $this->configurationLoader->loadTab((string)$fieldType); + $tabConfig = $this->configurationLoader->loadTab($fieldType->value); $tcaOptions = []; foreach ($tabConfig as $options) { foreach ($options as $row) { diff --git a/Classes/Definition/TableDefinitionCollection.php b/Classes/Definition/TableDefinitionCollection.php index dcd57367..0da0506d 100644 --- a/Classes/Definition/TableDefinitionCollection.php +++ b/Classes/Definition/TableDefinitionCollection.php @@ -227,7 +227,7 @@ public function loadElement(string $table, string $key): ?ElementTcaDefinition $availableTcaField = $availableTcaField->mergeTca($element->getColumnsOverride($fieldKey)); } $tcaDefinition->addField($availableTcaField); - if ($availableTcaField->hasFieldType() && $availableTcaField->getFieldType()->equals(FieldType::PALETTE)) { + if ($availableTcaField->hasFieldType() && $availableTcaField->getFieldType() == FieldType::PALETTE) { $paletteFields = $this->loadInlineFields($availableTcaField->fullKey, $element->key, $element); foreach ($paletteFields as $paletteField) { $tcaDefinition->addField($paletteField); @@ -276,7 +276,7 @@ public function loadInlineFields(string $parentKey, string $elementKey, ?Element public function getFieldType(string $fieldKey, string $table = 'tt_content', string $elementKey = ''): FieldType { - return FieldType::cast($this->getFieldTypeString($fieldKey, $table, $elementKey)); + return FieldType::from($this->getFieldTypeString($fieldKey, $table, $elementKey)); } /** @@ -289,10 +289,10 @@ public function getFieldTypeString(string $fieldKey, string $table = 'tt_content if ($fieldDefinition instanceof TcaFieldDefinition) { // If type is already known, return it. if ($fieldDefinition->hasFieldType($elementKey)) { - return (string)$fieldDefinition->getFieldType($elementKey); + return $fieldDefinition->getFieldType($elementKey)->value; } try { - return FieldTypeUtility::getFieldType($fieldDefinition->toArray(), $fieldDefinition->fullKey); + return FieldTypeUtility::getFieldType($fieldDefinition->toArray(), $fieldDefinition->fullKey)->value; } catch (\InvalidArgumentException $e) { // For core fields this exception might pop up, because in older // Mask versions no type was defined directly in the definition. @@ -300,7 +300,7 @@ public function getFieldTypeString(string $fieldKey, string $table = 'tt_content } // If field could not be found in field definition, check for global TCA. $tca = $GLOBALS['TCA'][$table]['columns'][$fieldKey] ?? []; - return FieldTypeUtility::getFieldType($tca, $fieldKey); + return FieldTypeUtility::getFieldType($tca, $fieldKey)->value; } /** @@ -345,7 +345,7 @@ public function getElementsWhichUseField(string $key, string $table = 'tt_conten break; } $fieldDefinition = $this->loadField($table, $column); - if ($fieldDefinition instanceof TcaFieldDefinition && $fieldDefinition->hasFieldType() && $fieldDefinition->getFieldType()->equals(FieldType::PALETTE)) { + if ($fieldDefinition instanceof TcaFieldDefinition && $fieldDefinition->hasFieldType() && $fieldDefinition->getFieldType() == FieldType::PALETTE) { foreach ($definition->palettes->getPalette($column)->showitem as $item) { if ($item === $key) { $elementsInUse->addElement($element); diff --git a/Classes/Definition/TcaFieldDefinition.php b/Classes/Definition/TcaFieldDefinition.php index eec985d7..6f5e6610 100644 --- a/Classes/Definition/TcaFieldDefinition.php +++ b/Classes/Definition/TcaFieldDefinition.php @@ -27,10 +27,10 @@ final class TcaFieldDefinition { private const ALLOWED_EMPTY_VALUES_BY_TYPE = [ - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'config.items', ], - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'config.items', ], // This is important for upgrades, to keep something in the "config" array. @@ -38,19 +38,19 @@ final class TcaFieldDefinition // Because of this, Mask does not have any standard TCA for this field anymore. // The removeBlankOptions method would thus remove everything and the next save in the backend builder would // result in the file field to be treated as a "coreField". - FieldType::FILE => [ + FieldType::FILE->value => [ 'config.minitems', ], - FieldType::MEDIA => [ + FieldType::MEDIA->value => [ 'config.minitems', ], ]; private const STOP_RECURSIVE_VALUES_BY_TYPE = [ - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'config.itemGroups', ], - FieldType::SLUG => [ + FieldType::SLUG->value => [ 'config.generatorOptions.replacements', ], ]; @@ -167,7 +167,7 @@ public static function createFromFieldArray(array $definition): TcaFieldDefiniti // "name" was renamed to "type" in mask 7.1. $fieldType = $definition['type'] ?? $definition['name'] ?? $definition['options'] ?? null; if ($fieldType !== null) { - $tcaFieldDefinition->type = FieldType::cast($fieldType); + $tcaFieldDefinition->type = FieldType::from($fieldType); } // Always set minitems / maxitems so the config array is not completely empty. @@ -182,23 +182,23 @@ public static function createFromFieldArray(array $definition): TcaFieldDefiniti // "rte" was used to identify RTE fields prior to v6. if (!$tcaFieldDefinition->hasFieldType() && !empty($definition['rte'])) { - $tcaFieldDefinition->type = FieldType::cast(FieldType::RICHTEXT); + $tcaFieldDefinition->type = FieldType::RICHTEXT; } // The core field bodytext used to be hard coded as richtext in Mask versions < v7.2 if (!$tcaFieldDefinition->hasFieldType() && $definition['key'] === 'bodytext') { - $tcaFieldDefinition->type = FieldType::cast(FieldType::RICHTEXT); + $tcaFieldDefinition->type = FieldType::RICHTEXT; } // If the field is not a core field and the field type couldn't be resolved by now, resolve type by tca config. if (!$tcaFieldDefinition->hasFieldType() && !$tcaFieldDefinition->isCoreField) { - $tcaFieldDefinition->type = FieldType::cast(FieldTypeUtility::getFieldType($tcaFieldDefinition->toArray(), $tcaFieldDefinition->fullKey)); + $tcaFieldDefinition->type = FieldTypeUtility::getFieldType($tcaFieldDefinition->toArray(), $tcaFieldDefinition->fullKey); } // If imageoverlayPalette is not set (because of updates to newer version), fallback to default behaviour. if (isset($definition['imageoverlayPalette'])) { $tcaFieldDefinition->imageoverlayPalette = (bool)$definition['imageoverlayPalette']; - } elseif ($tcaFieldDefinition->hasFieldType() && $tcaFieldDefinition->type->equals(FieldType::FILE)) { + } elseif ($tcaFieldDefinition->hasFieldType() && $tcaFieldDefinition->type == FieldType::FILE) { $tcaFieldDefinition->imageoverlayPalette = true; } @@ -212,7 +212,7 @@ public static function createFromFieldArray(array $definition): TcaFieldDefiniti if (!empty($definition['bodytextTypeByElement'])) { foreach ($definition['bodytextTypeByElement'] as $elementKey => $bodytextType) { - $tcaFieldDefinition->bodytextTypeByElement[$elementKey] = FieldType::cast($bodytextType); + $tcaFieldDefinition->bodytextTypeByElement[$elementKey] = FieldType::from($bodytextType); } // Unset the normal type $tcaFieldDefinition->type = null; @@ -415,7 +415,7 @@ public function toArray(bool $withBackwardsCompatibility = false): array $field += [ 'key' => $this->key, 'fullKey' => $this->fullKey, - 'type' => $this->type ? (string)$this->type : null, + 'type' => $this->type?->value, 'coreField' => $this->isCoreField ? 1 : null, 'inPalette' => $this->inPalette ? 1 : null, 'cTypes' => !empty($this->cTypes) ? $this->cTypes : null, @@ -428,7 +428,7 @@ public function toArray(bool $withBackwardsCompatibility = false): array $field['maskKey'] = $this->fullKey; } - if ($this->hasFieldType() && $this->type->equals(FieldType::FILE)) { + if ($this->hasFieldType() && $this->type == FieldType::FILE) { $field['imageoverlayPalette'] = $this->imageoverlayPalette ? 1 : 0; } @@ -492,8 +492,8 @@ protected static function removeBlankOptions(array $haystack, TcaFieldDefinition $fullPath = implode('.', $path); if ( $fieldDefinition->hasFieldType() - && array_key_exists((string)$fieldDefinition->type, self::ALLOWED_EMPTY_VALUES_BY_TYPE) - && in_array($fullPath, self::ALLOWED_EMPTY_VALUES_BY_TYPE[(string)$fieldDefinition->type], true) + && array_key_exists($fieldDefinition->type->value, self::ALLOWED_EMPTY_VALUES_BY_TYPE) + && in_array($fullPath, self::ALLOWED_EMPTY_VALUES_BY_TYPE[$fieldDefinition->type->value], true) ) { array_pop($path); continue; @@ -502,8 +502,8 @@ protected static function removeBlankOptions(array $haystack, TcaFieldDefinition is_array($value) && !( $fieldDefinition->hasFieldType() - && array_key_exists((string)$fieldDefinition->type, self::STOP_RECURSIVE_VALUES_BY_TYPE) - && in_array($fullPath, self::STOP_RECURSIVE_VALUES_BY_TYPE[(string)$fieldDefinition->type], true) + && array_key_exists($fieldDefinition->type->value, self::STOP_RECURSIVE_VALUES_BY_TYPE) + && in_array($fullPath, self::STOP_RECURSIVE_VALUES_BY_TYPE[$fieldDefinition->type->value], true) ) ) { $haystack[$key] = self::removeBlankOptions($value, $fieldDefinition, $path); @@ -534,7 +534,7 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF if (($definition['config']['wizards']['link']['module']['name'] ?? '') === 'wizard_link') { $definition['config']['fieldControl']['linkPopup']['options']['allowedExtensions'] = $definition['config']['wizards']['link']['params']['allowedExtensions'] ?? ''; $definition['config']['fieldControl']['linkPopup']['options']['blindLinkOptions'] = $definition['config']['wizards']['link']['params']['blindLinkOptions'] ?? ''; - $tcaFieldDefinition->type = new FieldType(FieldType::LINK); + $tcaFieldDefinition->type = FieldType::LINK; unset($definition['config']['wizards']); } @@ -547,7 +547,7 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF // #94765: Migrate levelLinksPosition "none" to showNewRecordLink=false (TYPO3 v11). if ( $tcaFieldDefinition->hasFieldType() - && ($tcaFieldDefinition->type->equals(FieldType::INLINE) || $tcaFieldDefinition->type->equals(FieldType::CONTENT)) + && ($tcaFieldDefinition->type == FieldType::INLINE || $tcaFieldDefinition->type == FieldType::CONTENT) && ($definition['config']['appearance']['levelLinksPosition'] ?? '') === 'none' ) { $definition['config']['appearance']['levelLinksPosition'] = 'top'; @@ -557,7 +557,7 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF // #94406: Migrate folder config to fileFolderConfig (TYPO3 v11). if ( $tcaFieldDefinition->hasFieldType() - && $tcaFieldDefinition->type->equals(FieldType::SELECT) + && $tcaFieldDefinition->type == FieldType::SELECT ) { if (isset($definition['config']['fileFolder'])) { $definition['config']['fileFolderConfig']['folder'] = $definition['config']['fileFolder']; @@ -576,7 +576,7 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF // Fill item values with empty strings. if ( $tcaFieldDefinition->hasFieldType() - && $tcaFieldDefinition->type->equals(FieldType::SELECT) + && $tcaFieldDefinition->type == FieldType::SELECT ) { foreach ($definition['config']['items'] ?? [] as $index => $item) { for ($i = 0; $i < 5; $i++) { @@ -596,7 +596,7 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF // TCA type="datetime" moved "eval=date, datetime, ..." to "format". if ( $tcaFieldDefinition->hasFieldType() - && $tcaFieldDefinition->type->equals(FieldType::TIMESTAMP) + && $tcaFieldDefinition->type == FieldType::TIMESTAMP && ($definition['config']['eval'] ?? '') !== '' ) { $evalList = explode(',', $definition['config']['eval']); @@ -615,7 +615,7 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF // TCA type=link "fieldControl" moved to "appearance" if ( $tcaFieldDefinition->hasFieldType() - && $tcaFieldDefinition->type->equals(FieldType::LINK) + && $tcaFieldDefinition->type == FieldType::LINK ) { if ($definition['config']['fieldControl']['linkPopup']['options']['allowedExtensions'] ?? false) { $definition['config']['appearance']['allowedFileExtensions'] = $definition['config']['fieldControl']['linkPopup']['options']['allowedExtensions']; @@ -640,26 +640,26 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF // New TCA type email since TYPO3 v12 if ( $tcaFieldDefinition->hasFieldType() - && $tcaFieldDefinition->type->equals(FieldType::STRING) + && $tcaFieldDefinition->type == FieldType::STRING ) { $evalList = GeneralUtility::trimExplode(',', $definition['config']['eval'] ?? ''); if (in_array('email', $evalList, true)) { $evalList = array_intersect($evalList, ['unique', 'uniqueInPid']); $definition['config']['eval'] = implode(',', $evalList); $definition['config']['type'] = 'email'; - $tcaFieldDefinition->setFieldType(new FieldType(FieldType::EMAIL)); + $tcaFieldDefinition->setFieldType(FieldType::EMAIL); } } // New TCA type folder since TYPO3 v12 if ( $tcaFieldDefinition->hasFieldType() - && $tcaFieldDefinition->type->equals(FieldType::GROUP) + && $tcaFieldDefinition->type == FieldType::GROUP ) { if (($definition['config']['internal_type'] ?? '') === 'folder') { unset($definition['config']['internal_type']); $definition['config']['type'] = 'folder'; - $tcaFieldDefinition->setFieldType(new FieldType(FieldType::FOLDER)); + $tcaFieldDefinition->setFieldType(FieldType::FOLDER); } } @@ -679,14 +679,14 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF if ( $tcaFieldDefinition->hasFieldType() && ( - $tcaFieldDefinition->getFieldType()->equals(FieldType::SELECT) - || $tcaFieldDefinition->getFieldType()->equals(FieldType::RADIO) - || $tcaFieldDefinition->getFieldType()->equals(FieldType::CHECK) + $tcaFieldDefinition->getFieldType() == FieldType::SELECT + || $tcaFieldDefinition->getFieldType() == FieldType::RADIO + || $tcaFieldDefinition->getFieldType() == FieldType::CHECK ) && !empty($definition['config']['items']) ) { $processedItems = array_map( - fn(array $item) => SelectItem::fromTcaItemArray($item, (string)$tcaFieldDefinition->getFieldType())->toArray(), + fn(array $item) => SelectItem::fromTcaItemArray($item, $tcaFieldDefinition->getFieldType()->value)->toArray(), $definition['config']['items'] ); // Remove null and false (=invertStateDisplay) values. @@ -697,8 +697,8 @@ protected static function migrateTCA(array $definition, TcaFieldDefinition $tcaF if ( $tcaFieldDefinition->hasFieldType() && ( - $tcaFieldDefinition->getFieldType()->equals(FieldType::INTEGER) - || $tcaFieldDefinition->getFieldType()->equals(FieldType::FLOAT) + $tcaFieldDefinition->getFieldType() == FieldType::INTEGER + || $tcaFieldDefinition->getFieldType() == FieldType::FLOAT ) && !empty($definition['config']['eval']) ) { @@ -727,7 +727,7 @@ public function getFieldType(string $elementKey = ''): FieldType return $this->type; } - return $this->bodytextTypeByElement[$elementKey] ?? new FieldType(FieldType::RICHTEXT); + return $this->bodytextTypeByElement[$elementKey] ?? FieldType::RICHTEXT; } public function setFieldType(FieldType $fieldType): void diff --git a/Classes/Domain/Repository/StorageRepository.php b/Classes/Domain/Repository/StorageRepository.php index 5b1437c6..e7f19d3a 100644 --- a/Classes/Domain/Repository/StorageRepository.php +++ b/Classes/Domain/Repository/StorageRepository.php @@ -183,7 +183,7 @@ protected function setSql(array $json, array $fields, string $table): array { $defaults = $this->configurationLoader->loadDefaults(); foreach ($fields as $field) { - $fieldType = FieldType::cast($field['name']); + $fieldType = FieldType::from($field['name']); $fieldName = $field['key']; // If mask field which needs table column if (isset($defaults[$field['name']]['sql']) && AffixUtility::hasMaskPrefix($field['key'])) { @@ -191,7 +191,7 @@ protected function setSql(array $json, array $fields, string $table): array $json[$table]['sql'][$fieldName][$table][$fieldName] = $field['sql'] ?? $defaults[$field['name']]['sql']; } if (isset($field['fields'])) { - $inlineTable = $fieldType->equals(FieldType::INLINE) ? $field['key'] : $table; + $inlineTable = $fieldType == FieldType::INLINE ? $field['key'] : $table; $json = $this->setSql($json, $field['fields'], $inlineTable); } } @@ -241,7 +241,7 @@ protected function addFieldsToJson(array $jsonAdd, array $fields, string $elemen $fieldAdd['type'] = $field['name']; // Convert range values of timestamp to integers - if (FieldType::cast($fieldAdd['type'])->equals(FieldType::TIMESTAMP)) { + if (FieldType::from($fieldAdd['type']) == FieldType::TIMESTAMP) { $default = $tcaConfig['config']['default'] ?? false; if ($default) { $date = new \DateTime($default); @@ -260,7 +260,7 @@ protected function addFieldsToJson(array $jsonAdd, array $fields, string $elemen } // Create palette - if (FieldType::cast($fieldAdd['type'])->equals(FieldType::PALETTE)) { + if (FieldType::from($fieldAdd['type']) == FieldType::PALETTE) { $jsonAdd[$table]['palettes'][$fieldAdd['fullKey']]['showitem'] = []; $jsonAdd[$table]['palettes'][$fieldAdd['fullKey']]['label'] = $field['label']; $jsonAdd[$table]['palettes'][$fieldAdd['fullKey']]['description'] = $field['description'] ?? ''; @@ -268,7 +268,7 @@ protected function addFieldsToJson(array $jsonAdd, array $fields, string $elemen // Add label, order and flags to child fields if (isset($parent)) { - if ($parent['name'] === FieldType::PALETTE) { + if ($parent['name'] === FieldType::PALETTE->value) { $fieldAdd['inPalette'] = 1; if ($onRootLevel) { $fieldAdd['inlineParent'][$elementKey] = $parent['key']; @@ -284,7 +284,7 @@ protected function addFieldsToJson(array $jsonAdd, array $fields, string $elemen // Add field to showitem array $jsonAdd[$table]['palettes'][$parent['key']]['showitem'][] = $field['key']; } - if ($parent['name'] === FieldType::INLINE) { + if ($parent['name'] === FieldType::INLINE->value) { $fieldAdd['inlineParent'] = $parent['key']; $fieldAdd['label'] = $field['label']; $fieldAdd['description'] = $field['description'] ?? ''; @@ -329,7 +329,7 @@ protected function addFieldsToJson(array $jsonAdd, array $fields, string $elemen // Resolve nested fields if (isset($field['fields'])) { - $inlineTable = $field['name'] === FieldType::INLINE ? $field['key'] : $table; + $inlineTable = $field['name'] === FieldType::INLINE->value ? $field['key'] : $table; $jsonAdd = $this->addFieldsToJson($jsonAdd, $field['fields'], $elementKey, $inlineTable, $defaultTable, $field); } } @@ -384,11 +384,11 @@ protected function removeField(string $table, TcaFieldDefinition $field, array $ $fieldType = $this->tableDefinitionCollection->getFieldType($field->fullKey, $table); // If field is of type inline, also delete table entry - if ($fieldType->equals(FieldType::INLINE)) { + if ($fieldType == FieldType::INLINE) { unset($json[$field->fullKey]); } - if ($fieldType->equals(FieldType::PALETTE)) { + if ($fieldType == FieldType::PALETTE) { unset($json[$table]['palettes'][$field->fullKey]); } } @@ -402,7 +402,7 @@ protected function fieldExistsInNestedFields(array $fields, string $searchKey): return true; } - if (FieldType::cast($field['name'])->equals(FieldType::PALETTE)) { + if (FieldType::from($field['name']) == FieldType::PALETTE) { foreach ($field['fields'] ?? [] as $paletteField) { if ($paletteField['key'] === $searchKey) { return true; diff --git a/Classes/Enumeration/FieldType.php b/Classes/Enumeration/FieldType.php index fa2caeb0..f125f277 100644 --- a/Classes/Enumeration/FieldType.php +++ b/Classes/Enumeration/FieldType.php @@ -17,78 +17,76 @@ namespace MASK\Mask\Enumeration; -use TYPO3\CMS\Core\Type\Enumeration; - -final class FieldType extends Enumeration +enum FieldType: string { - public const STRING = 'string'; - public const INTEGER = 'integer'; - public const FLOAT = 'float'; - public const LINK = 'link'; - public const DATE = 'date'; - public const DATETIME = 'datetime'; - public const TIMESTAMP = 'timestamp'; - public const TEXT = 'text'; - public const RICHTEXT = 'richtext'; - public const CHECK = 'check'; - public const RADIO = 'radio'; - public const SELECT = 'select'; - public const CATEGORY = 'category'; - public const GROUP = 'group'; - public const FILE = 'file'; - public const MEDIA = 'media'; - public const INLINE = 'inline'; - public const CONTENT = 'content'; - public const TAB = 'tab'; - public const PALETTE = 'palette'; - public const LINEBREAK = 'linebreak'; - public const COLORPICKER = 'colorpicker'; - public const SLUG = 'slug'; - public const EMAIL = 'email'; - public const FOLDER = 'folder'; + case STRING = 'string'; + case INTEGER = 'integer'; + case FLOAT = 'float'; + case LINK = 'link'; + case DATE = 'date'; + case DATETIME = 'datetime'; + case TIMESTAMP = 'timestamp'; + case TEXT = 'text'; + case RICHTEXT = 'richtext'; + case CHECK = 'check'; + case RADIO = 'radio'; + case SELECT = 'select'; + case CATEGORY = 'category'; + case GROUP = 'group'; + case FILE = 'file'; + case MEDIA = 'media'; + case INLINE = 'inline'; + case CONTENT = 'content'; + case TAB = 'tab'; + case PALETTE = 'palette'; + case LINEBREAK = 'linebreak'; + case COLORPICKER = 'colorpicker'; + case SLUG = 'slug'; + case EMAIL = 'email'; + case FOLDER = 'folder'; public function isGroupingField(): bool { - return in_array($this->value, [self::TAB, self::PALETTE, self::LINEBREAK], true); + return in_array($this, [self::TAB, self::PALETTE, self::LINEBREAK], true); } public function isParentField(): bool { - return in_array($this->value, [self::INLINE, self::PALETTE], true); + return in_array($this, [self::INLINE, self::PALETTE], true); } public function isSearchable(): bool { - return in_array($this->value, [self::STRING, self::TEXT, self::RICHTEXT, self::EMAIL], true); + return in_array($this, [self::STRING, self::TEXT, self::RICHTEXT, self::EMAIL], true); } public function isRenderable(): bool { - return !in_array($this->value, [self::TAB, self::LINEBREAK], true); + return !in_array($this, [self::TAB, self::LINEBREAK], true); } public function canBeShared(): bool { - return !in_array($this->value, [self::INLINE, self::PALETTE, self::TAB, self::LINEBREAK], true); + return !in_array($this, [self::INLINE, self::PALETTE, self::TAB, self::LINEBREAK], true); } public function hasDescription(): bool { - return $this->value === self::PALETTE || $this->canBeShared(); + return $this === self::PALETTE || $this->canBeShared(); } public function isFileReference(): bool { - return in_array($this->value, [self::FILE, self::MEDIA], true); + return in_array($this, [self::FILE, self::MEDIA], true); } public function isTextareaField(): bool { - return in_array($this->value, [self::TEXT, self::RICHTEXT], true); + return in_array($this, [self::TEXT, self::RICHTEXT], true); } public function isRelationField(): bool { - return in_array($this->value, [self::INLINE, self::SELECT, self::GROUP, self::CATEGORY, self::CONTENT], true); + return in_array($this, [self::INLINE, self::SELECT, self::GROUP, self::CATEGORY, self::CONTENT], true); } } diff --git a/Classes/Enumeration/Tab.php b/Classes/Enumeration/Tab.php index f3c2fb52..8330d32a 100644 --- a/Classes/Enumeration/Tab.php +++ b/Classes/Enumeration/Tab.php @@ -17,21 +17,19 @@ namespace MASK\Mask\Enumeration; -use TYPO3\CMS\Core\Type\Enumeration; - -final class Tab extends Enumeration +enum Tab: string { - public const GENERAL = 'general'; - public const APPEARANCE = 'appearance'; - public const DATABASE = 'database'; - public const EXTENDED = 'extended'; - public const FIELD_CONTROL = 'fieldControl'; - public const FILES = 'files'; - public const LOCALIZATION = 'localization'; - public const VALIDATION = 'validation'; - public const WIZARDS = 'wizards'; - public const GENERATOR = 'generator'; - public const ITEM_GROUP_SORTING = 'itemGroupSorting'; - public const VALUE_PICKER = 'valuePicker'; - public const ENABLED_CONTROLS = 'enabledControls'; + case GENERAL = 'general'; + case APPEARANCE = 'appearance'; + case DATABASE = 'database'; + case EXTENDED = 'extended'; + case FIELD_CONTROL = 'fieldControl'; + case FILES = 'files'; + case LOCALIZATION = 'localization'; + case VALIDATION = 'validation'; + case WIZARDS = 'wizards'; + case GENERATOR = 'generator'; + case ITEM_GROUP_SORTING = 'itemGroupSorting'; + case VALUE_PICKER = 'valuePicker'; + case ENABLED_CONTROLS = 'enabledControls'; } diff --git a/Classes/EventListeners/RegisterIcons.php b/Classes/EventListeners/RegisterIcons.php index ef3b2fdd..a69fdc3d 100644 --- a/Classes/EventListeners/RegisterIcons.php +++ b/Classes/EventListeners/RegisterIcons.php @@ -32,11 +32,11 @@ public function __construct( public function __invoke(BootCompletedEvent $event): void { // Register Icons needed in the backend module - foreach (FieldType::getConstants() as $maskIcon) { + foreach (FieldType::cases() as $maskIcon) { $this->iconRegistry->registerIcon( - 'mask-fieldtype-' . $maskIcon, + 'mask-fieldtype-' . $maskIcon->value, SvgIconProvider::class, - ['source' => 'EXT:mask/Resources/Public/Icons/Fieldtypes/' . GeneralUtility::underscoredToUpperCamelCase($maskIcon) . '.svg'] + ['source' => 'EXT:mask/Resources/Public/Icons/Fieldtypes/' . GeneralUtility::underscoredToUpperCamelCase($maskIcon->value) . '.svg'] ); } } diff --git a/Classes/Helper/InlineHelper.php b/Classes/Helper/InlineHelper.php index f3c61b11..b7272ec6 100644 --- a/Classes/Helper/InlineHelper.php +++ b/Classes/Helper/InlineHelper.php @@ -144,7 +144,7 @@ public function addIrreToData(array &$data, string $table = 'tt_content', string $elementKey = $element->elementDefinition->key; $fieldType = $this->tableDefinitionCollection->getFieldType($field, $table); - if ($fieldType->equals(FieldType::PALETTE)) { + if ($fieldType == FieldType::PALETTE) { foreach ($this->tableDefinitionCollection->loadInlineFields($field, $elementKey, $element->elementDefinition) as $paletteField) { $fieldType = $this->tableDefinitionCollection->getFieldType($paletteField->fullKey, $table); $this->fillInlineField($data, $fieldType, $paletteField->fullKey, $cType, $table, $originalTable); @@ -162,11 +162,11 @@ protected function fillInlineField(array &$data, FieldType $fieldType, string $f } $tcaFieldConfig = $GLOBALS['TCA'][$table]['columns'][$field] ?? []; // if it is of type inline and has to be filled (IRRE, FAL) - if ($fieldType->equals(FieldType::INLINE) && $this->tableDefinitionCollection->hasTable($field)) { + if ($fieldType == FieldType::INLINE && $this->tableDefinitionCollection->hasTable($field)) { $elements = $this->getInlineElements($data, $field, $cType, 'parentid', $table, null, $originalTable); $data[$field] = $elements; // or if it is of type Content (Nested Content) and has to be filled - } elseif ($fieldType->equals(FieldType::CONTENT)) { + } elseif ($fieldType == FieldType::CONTENT) { $content = $this->getRelations((string)($data[$field] ?? ''), $tcaFieldConfig['config']['foreign_table'], '', (int)$data['uid'], $table, $tcaFieldConfig['config'] ?? []); foreach ($content as $key => $element) { if ($element) { @@ -176,17 +176,17 @@ protected function fillInlineField(array &$data, FieldType $fieldType, string $f } } $data[$field] = $content; - } elseif ($fieldType->equals(FieldType::CATEGORY)) { + } elseif ($fieldType == FieldType::CATEGORY) { if ($tcaFieldConfig['config']['relationship'] === 'manyToMany') { $data[$field . '_items'] = $this->getRelations('', ($tcaFieldConfig['config']['foreign_table'] ?? ''), $tcaFieldConfig['config']['MM'] ?? '', (int)$data['uid'], $table, $tcaFieldConfig['config'] ?? []); } else { $data[$field . '_items'] = $this->getRelations((string)($data[$field] ?? ''), ($tcaFieldConfig['config']['foreign_table'] ?? ''), $tcaFieldConfig['config']['MM'] ?? '', (int)$data['uid'], $table, $tcaFieldConfig['config'] ?? []); } - } elseif (($tcaFieldConfig['config']['foreign_table'] ?? '') !== '' && $fieldType->equals(FieldType::SELECT)) { + } elseif (($tcaFieldConfig['config']['foreign_table'] ?? '') !== '' && $fieldType == FieldType::SELECT) { $data[$field . '_items'] = $this->getRelations((string)($data[$field] ?? ''), $tcaFieldConfig['config']['foreign_table'], $tcaFieldConfig['config']['MM'] ?? '', (int)$data['uid'], $table, $tcaFieldConfig['config'] ?? []); - } elseif ($fieldType->equals(FieldType::GROUP)) { + } elseif ($fieldType == FieldType::GROUP) { $data[$field . '_items'] = $this->getRelations((string)($data[$field] ?? ''), $tcaFieldConfig['config']['allowed'], $tcaFieldConfig['config']['MM'] ?? '', (int)$data['uid'], $table, $tcaFieldConfig['config'] ?? []); - } elseif (in_array(($tcaFieldConfig['config']['renderType'] ?? ''), ['selectCheckBox', 'selectSingleBox', 'selectMultipleSideBySide'], true) && $fieldType->equals(FieldType::SELECT)) { + } elseif (in_array(($tcaFieldConfig['config']['renderType'] ?? ''), ['selectCheckBox', 'selectSingleBox', 'selectMultipleSideBySide'], true) && $fieldType == FieldType::SELECT) { $data[$field . '_items'] = ($data[$field] ?? '') !== '' ? explode(',', $data[$field]) : []; } } diff --git a/Classes/Loader/JsonSplitLoader.php b/Classes/Loader/JsonSplitLoader.php index f0b9f547..7de78f2d 100644 --- a/Classes/Loader/JsonSplitLoader.php +++ b/Classes/Loader/JsonSplitLoader.php @@ -192,10 +192,10 @@ protected function writeElementsForTable(TableDefinitionCollection $tableDefinit $newSqlDefinition->addColumn($tableDefinition->sql->getColumn($field->fullKey)); } $fieldType = $tableDefinitionCollection->getFieldType($field->fullKey, $table); - if ($fieldType->equals(FieldType::INLINE)) { + if ($fieldType == FieldType::INLINE) { $this->addInlineRecursive($field, $elementTableDefinitionCollection, $tableDefinitionCollection); } - if ($fieldType->equals(FieldType::PALETTE)) { + if ($fieldType == FieldType::PALETTE) { $paletteDefinition = $tableDefinition->palettes->getPalette($field->fullKey); $newPaletteDefinitionCollection->addPalette($paletteDefinition); foreach ($paletteDefinition->showitem as $item) { @@ -205,7 +205,7 @@ protected function writeElementsForTable(TableDefinitionCollection $tableDefinit if ($tableDefinition->sql->hasColumn($paletteField->fullKey)) { $newSqlDefinition->addColumn($tableDefinition->sql->getColumn($paletteField->fullKey)); } - if ($tableDefinitionCollection->getFieldType($paletteField->fullKey, $table)->equals(FieldType::INLINE)) { + if ($tableDefinitionCollection->getFieldType($paletteField->fullKey, $table) == FieldType::INLINE) { $elementTableDefinitionCollection->addTable($tableDefinitionCollection->getTable($paletteField->fullKey)); } } @@ -236,7 +236,7 @@ protected function addInlineRecursive(TcaFieldDefinition $field, TableDefinition $elementTableDefinitionCollection->addTable($tableDefinitionCollection->getTable($field->fullKey)); foreach ($tableDefinitionCollection->getTable($field->fullKey)->tca as $inlineChild) { $fieldType = $tableDefinitionCollection->getFieldType($inlineChild->fullKey, $field->fullKey); - if ($fieldType->equals(FieldType::INLINE)) { + if ($fieldType == FieldType::INLINE) { $this->addInlineRecursive($inlineChild, $elementTableDefinitionCollection, $tableDefinitionCollection); } } diff --git a/Classes/Migrations/ConfigCleanerMigration.php b/Classes/Migrations/ConfigCleanerMigration.php index df2e5d1d..96af792b 100644 --- a/Classes/Migrations/ConfigCleanerMigration.php +++ b/Classes/Migrations/ConfigCleanerMigration.php @@ -40,8 +40,8 @@ public function migrate(TableDefinitionCollection $tableDefinitionCollection): T if (!$tcaFieldDefinition->hasFieldType() || $tcaFieldDefinition->isCoreField) { continue; } - $tabConfig = $this->configurationLoader->loadTab((string)$tcaFieldDefinition->getFieldType()); - $defaultsOut = array_keys($this->configurationLoader->loadDefaults()[(string)$tcaFieldDefinition->getFieldType()]['tca_out'] ?? []); + $tabConfig = $this->configurationLoader->loadTab($tcaFieldDefinition->getFieldType()->value); + $defaultsOut = array_keys($this->configurationLoader->loadDefaults()[$tcaFieldDefinition->getFieldType()->value]['tca_out'] ?? []); $tcaOptions = []; foreach ($tabConfig as $options) { foreach ($options as $row) { diff --git a/Classes/Migrations/DefaultTcaMigration.php b/Classes/Migrations/DefaultTcaMigration.php index a0b307a3..61a6d7d2 100644 --- a/Classes/Migrations/DefaultTcaMigration.php +++ b/Classes/Migrations/DefaultTcaMigration.php @@ -39,7 +39,7 @@ public function migrate(TableDefinitionCollection $tableDefinitionCollection): T if (!$tcaFieldDefinition->hasFieldType() || $tcaFieldDefinition->isCoreField) { continue; } - $tcaDefaults = $this->configurationLoader->loadDefaults()[(string)$tcaFieldDefinition->getFieldType()]; + $tcaDefaults = $this->configurationLoader->loadDefaults()[$tcaFieldDefinition->getFieldType()->value]; $tcaDefaults = $tcaDefaults['tca_out'] ?? []; $flatTcaFieldDefinition = TcaConverter::convertTcaArrayToFlat($tcaFieldDefinition->realTca); diff --git a/Classes/Migrations/DescriptionByElementMigration.php b/Classes/Migrations/DescriptionByElementMigration.php index 33a8e6ab..e0fdb912 100644 --- a/Classes/Migrations/DescriptionByElementMigration.php +++ b/Classes/Migrations/DescriptionByElementMigration.php @@ -44,7 +44,7 @@ public function migrate(TableDefinitionCollection $tableDefinitionCollection): T } // Go through all palette fields on the root level. - if ($tcaFieldDefinition->hasFieldType() && $tcaFieldDefinition->getFieldType()->equals(FieldType::PALETTE)) { + if ($tcaFieldDefinition->hasFieldType() && $tcaFieldDefinition->getFieldType() == FieldType::PALETTE) { $paletteField = $tableDefinition->palettes->getPalette($tcaFieldDefinition->fullKey); foreach ($paletteField->showitem as $item) { $itemField = $tableDefinitionCollection->loadField($tableDefinition->table, $item); @@ -90,7 +90,7 @@ private function fillDescriptions(TableDefinitionCollection $tableDefinitionColl } // If palette, add it to the palette definition as well. - if ($tcaFieldDefinition->hasFieldType() && $tcaFieldDefinition->getFieldType()->equals(FieldType::PALETTE)) { + if ($tcaFieldDefinition->hasFieldType() && $tcaFieldDefinition->getFieldType() == FieldType::PALETTE) { $paletteDefinition = $tableDefinitionCollection->getTable($table)->palettes->getPalette($tcaFieldDefinition->fullKey); if ($paletteDefinition->description === '') { $paletteDefinition->description = $descriptionToUse; diff --git a/Classes/Migrations/RteMigration.php b/Classes/Migrations/RteMigration.php index c9dfc5f8..2b9cbc4b 100644 --- a/Classes/Migrations/RteMigration.php +++ b/Classes/Migrations/RteMigration.php @@ -42,7 +42,7 @@ public function migrate(TableDefinitionCollection $tableDefinitionCollection): T $field = $tableDefinitionCollection->loadField($tableDefinition->table, $fieldKey); if ($field instanceof TcaFieldDefinition) { - $field->setFieldType(new FieldType(FieldType::RICHTEXT)); + $field->setFieldType(FieldType::RICHTEXT); } } } diff --git a/Classes/Updates/MigrateContentFields.php b/Classes/Updates/MigrateContentFields.php index 0cde4112..02069cea 100644 --- a/Classes/Updates/MigrateContentFields.php +++ b/Classes/Updates/MigrateContentFields.php @@ -59,7 +59,7 @@ public function executeUpdate(): bool if (!$tcaDefinition->hasFieldType()) { continue; } - if ($tcaDefinition->getFieldType()->equals(FieldType::CONTENT)) { + if ($tcaDefinition->getFieldType() == FieldType::CONTENT) { $this->migrateField($tcaDefinition, $tableDefinition); } } @@ -90,7 +90,7 @@ public function updateNecessary(): bool if (!$tcaFieldDefinition->hasFieldType()) { continue; } - if ($tcaFieldDefinition->getFieldType()->equals(FieldType::CONTENT)) { + if ($tcaFieldDefinition->getFieldType() == FieldType::CONTENT) { $legacyParentColumnName = AffixUtility::addMaskParentSuffix($tcaFieldDefinition->fullKey); $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class) ->getQueryBuilderForTable('tt_content'); diff --git a/Classes/Utility/FieldTypeUtility.php b/Classes/Utility/FieldTypeUtility.php index 4ec7f124..d8aaf088 100644 --- a/Classes/Utility/FieldTypeUtility.php +++ b/Classes/Utility/FieldTypeUtility.php @@ -19,12 +19,11 @@ use MASK\Mask\Enumeration\FieldType; use TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry; -use TYPO3\CMS\Core\Type\Exception\InvalidEnumerationValueException; use TYPO3\CMS\Core\Utility\GeneralUtility as CoreGeneralUtility; class FieldTypeUtility { - public static function getFieldType(array $tca, string $fieldKey): string + public static function getFieldType(array $tca, string $fieldKey): FieldType { // If TCA is still empty, error out. if (empty($tca)) { @@ -117,8 +116,8 @@ public static function getFieldType(array $tca, string $fieldKey): string default: // Check if fake tca type is valid. try { - return (string)FieldType::cast($tcaType); - } catch (InvalidEnumerationValueException $e) { + return FieldType::from($tcaType); + } catch (\ValueError) { throw new \InvalidArgumentException(sprintf('Could not resolve the field type of "%s". Please check, if your TCA is correct.', $fieldKey), 1629484452); } } diff --git a/Classes/Utility/OverrideFieldsUtility.php b/Classes/Utility/OverrideFieldsUtility.php index 619624ec..4d2533c4 100644 --- a/Classes/Utility/OverrideFieldsUtility.php +++ b/Classes/Utility/OverrideFieldsUtility.php @@ -49,7 +49,7 @@ public static function restructureTcaDefinitions(TableDefinitionCollection $tabl $fieldTypeTca = $tcaDefinition->getField($fieldKey); $fieldType = $fieldTypeTca->getFieldType($element->key); - if ($fieldType->equals(FieldType::PALETTE)) { + if ($fieldType == FieldType::PALETTE) { $paletteDefinition = $ttContentDefinition->palettes->getPalette($fieldKey); foreach ($paletteDefinition->showitem as $paletteFieldKey) { $paletteTcaDefinition = $tcaDefinition->getField($paletteFieldKey); diff --git a/Configuration/Mask/FieldGroups.php b/Configuration/Mask/FieldGroups.php index 68051db2..352d654d 100644 --- a/Configuration/Mask/FieldGroups.php +++ b/Configuration/Mask/FieldGroups.php @@ -6,35 +6,35 @@ // FieldType enumeration. return [ - FieldType::STRING => 'input', - FieldType::INTEGER => 'input', - FieldType::FLOAT => 'input', - FieldType::LINK => 'input', - FieldType::EMAIL => 'input', - - FieldType::TEXT => 'text', - FieldType::RICHTEXT => 'text', - - FieldType::DATE => 'date', - FieldType::DATETIME => 'date', - FieldType::TIMESTAMP => 'date', - - FieldType::CHECK => 'choice', - FieldType::RADIO => 'choice', - FieldType::SELECT => 'choice', - FieldType::CATEGORY => 'choice', - FieldType::GROUP => 'choice', - - FieldType::COLORPICKER => 'special', - FieldType::SLUG => 'special', - FieldType::FOLDER => 'special', - - FieldType::FILE => 'repeating', - FieldType::MEDIA => 'repeating', - FieldType::INLINE => 'repeating', - FieldType::CONTENT => 'repeating', - - FieldType::TAB => 'structure', - FieldType::PALETTE => 'structure', - FieldType::LINEBREAK => 'structure', + FieldType::STRING->value => 'input', + FieldType::INTEGER->value => 'input', + FieldType::FLOAT->value => 'input', + FieldType::LINK->value => 'input', + FieldType::EMAIL->value => 'input', + + FieldType::TEXT->value => 'text', + FieldType::RICHTEXT->value => 'text', + + FieldType::DATE->value => 'date', + FieldType::DATETIME->value => 'date', + FieldType::TIMESTAMP->value => 'date', + + FieldType::CHECK->value => 'choice', + FieldType::RADIO->value => 'choice', + FieldType::SELECT->value => 'choice', + FieldType::CATEGORY->value => 'choice', + FieldType::GROUP->value => 'choice', + + FieldType::COLORPICKER->value => 'special', + FieldType::SLUG->value => 'special', + FieldType::FOLDER->value => 'special', + + FieldType::FILE->value => 'repeating', + FieldType::MEDIA->value => 'repeating', + FieldType::INLINE->value => 'repeating', + FieldType::CONTENT->value => 'repeating', + + FieldType::TAB->value => 'structure', + FieldType::PALETTE->value => 'structure', + FieldType::LINEBREAK->value => 'structure', ]; diff --git a/Configuration/Mask/TYPO3v12/Defaults.php b/Configuration/Mask/TYPO3v12/Defaults.php index acb53ab6..7ec423d5 100644 --- a/Configuration/Mask/TYPO3v12/Defaults.php +++ b/Configuration/Mask/TYPO3v12/Defaults.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\FieldType; return [ - FieldType::STRING => [ + FieldType::STRING->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -15,7 +15,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::FLOAT => [ + FieldType::FLOAT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -28,7 +28,7 @@ ], 'sql' => 'float DEFAULT \'0\' NOT NULL', ], - FieldType::INTEGER => [ + FieldType::INTEGER->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -40,7 +40,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::LINK => [ + FieldType::LINK->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, @@ -51,7 +51,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::COLORPICKER => [ + FieldType::COLORPICKER->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -64,7 +64,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::SLUG => [ + FieldType::SLUG->value => [ 'tca_in' => [ 'config.size' => 10, 'config.eval.slug' => 'uniqueInPid', @@ -77,7 +77,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::DATE => [ + FieldType::DATE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, @@ -89,7 +89,7 @@ ], 'sql' => 'date', ], - FieldType::DATETIME => [ + FieldType::DATETIME->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, @@ -101,7 +101,7 @@ ], 'sql' => 'datetime', ], - FieldType::TIMESTAMP => [ + FieldType::TIMESTAMP->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.format' => 'date', @@ -112,7 +112,7 @@ ], 'sql' => 'int(10) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::TEXT => [ + FieldType::TEXT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.wrap' => 'virtual', @@ -126,7 +126,7 @@ ], 'sql' => 'mediumtext', ], - FieldType::RICHTEXT => [ + FieldType::RICHTEXT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.richtextConfiguration' => '', @@ -137,7 +137,7 @@ ], 'sql' => 'mediumtext', ], - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.renderType' => '', @@ -148,7 +148,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.renderType' => 'selectSingle', @@ -162,7 +162,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::CATEGORY => [ + FieldType::CATEGORY->value => [ 'tca_in' => [ 'config.relationship' => 'manyToMany', 'config.treeConfig.appearance.showHeader' => 1, @@ -173,7 +173,7 @@ 'config.type' => 'category', ], ], - FieldType::RADIO => [ + FieldType::RADIO->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.items' => [], @@ -183,7 +183,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::GROUP => [ + FieldType::GROUP->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.allowed' => '', @@ -196,7 +196,7 @@ ], 'sql' => 'text', ], - FieldType::FOLDER => [ + FieldType::FOLDER->value => [ 'tca_in' => [ 'l10n_mode' => '', ], @@ -205,7 +205,7 @@ ], 'sql' => 'text', ], - FieldType::FILE => [ + FieldType::FILE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'imageoverlayPalette' => 1, @@ -222,7 +222,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::MEDIA => [ + FieldType::MEDIA->value => [ 'tca_in' => [ 'l10n_mode' => '', 'onlineMedia' => ['youtube', 'vimeo'], @@ -240,7 +240,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::INLINE => [ + FieldType::INLINE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.appearance.collapseAll' => '', @@ -266,7 +266,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::CONTENT => [ + FieldType::CONTENT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'cTypes' => [], @@ -292,22 +292,22 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::TAB => [ + FieldType::TAB->value => [ 'tca_out' => [ 'config.type' => 'tab', ], ], - FieldType::PALETTE => [ + FieldType::PALETTE->value => [ 'tca_out' => [ 'config.type' => 'palette', ], ], - FieldType::LINEBREAK => [ + FieldType::LINEBREAK->value => [ 'tca_out' => [ 'config.type' => 'linebreak', ], ], - FieldType::EMAIL => [ + FieldType::EMAIL->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, diff --git a/Configuration/Mask/TYPO3v13/Defaults.php b/Configuration/Mask/TYPO3v13/Defaults.php index acb53ab6..7ec423d5 100644 --- a/Configuration/Mask/TYPO3v13/Defaults.php +++ b/Configuration/Mask/TYPO3v13/Defaults.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\FieldType; return [ - FieldType::STRING => [ + FieldType::STRING->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -15,7 +15,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::FLOAT => [ + FieldType::FLOAT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -28,7 +28,7 @@ ], 'sql' => 'float DEFAULT \'0\' NOT NULL', ], - FieldType::INTEGER => [ + FieldType::INTEGER->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -40,7 +40,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::LINK => [ + FieldType::LINK->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, @@ -51,7 +51,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::COLORPICKER => [ + FieldType::COLORPICKER->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.valuePicker.mode' => '', @@ -64,7 +64,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::SLUG => [ + FieldType::SLUG->value => [ 'tca_in' => [ 'config.size' => 10, 'config.eval.slug' => 'uniqueInPid', @@ -77,7 +77,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::DATE => [ + FieldType::DATE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, @@ -89,7 +89,7 @@ ], 'sql' => 'date', ], - FieldType::DATETIME => [ + FieldType::DATETIME->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, @@ -101,7 +101,7 @@ ], 'sql' => 'datetime', ], - FieldType::TIMESTAMP => [ + FieldType::TIMESTAMP->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.format' => 'date', @@ -112,7 +112,7 @@ ], 'sql' => 'int(10) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::TEXT => [ + FieldType::TEXT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.wrap' => 'virtual', @@ -126,7 +126,7 @@ ], 'sql' => 'mediumtext', ], - FieldType::RICHTEXT => [ + FieldType::RICHTEXT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.richtextConfiguration' => '', @@ -137,7 +137,7 @@ ], 'sql' => 'mediumtext', ], - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.renderType' => '', @@ -148,7 +148,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.renderType' => 'selectSingle', @@ -162,7 +162,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::CATEGORY => [ + FieldType::CATEGORY->value => [ 'tca_in' => [ 'config.relationship' => 'manyToMany', 'config.treeConfig.appearance.showHeader' => 1, @@ -173,7 +173,7 @@ 'config.type' => 'category', ], ], - FieldType::RADIO => [ + FieldType::RADIO->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.items' => [], @@ -183,7 +183,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::GROUP => [ + FieldType::GROUP->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.allowed' => '', @@ -196,7 +196,7 @@ ], 'sql' => 'text', ], - FieldType::FOLDER => [ + FieldType::FOLDER->value => [ 'tca_in' => [ 'l10n_mode' => '', ], @@ -205,7 +205,7 @@ ], 'sql' => 'text', ], - FieldType::FILE => [ + FieldType::FILE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'imageoverlayPalette' => 1, @@ -222,7 +222,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::MEDIA => [ + FieldType::MEDIA->value => [ 'tca_in' => [ 'l10n_mode' => '', 'onlineMedia' => ['youtube', 'vimeo'], @@ -240,7 +240,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::INLINE => [ + FieldType::INLINE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.appearance.collapseAll' => '', @@ -266,7 +266,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::CONTENT => [ + FieldType::CONTENT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'cTypes' => [], @@ -292,22 +292,22 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::TAB => [ + FieldType::TAB->value => [ 'tca_out' => [ 'config.type' => 'tab', ], ], - FieldType::PALETTE => [ + FieldType::PALETTE->value => [ 'tca_out' => [ 'config.type' => 'palette', ], ], - FieldType::LINEBREAK => [ + FieldType::LINEBREAK->value => [ 'tca_out' => [ 'config.type' => 'linebreak', ], ], - FieldType::EMAIL => [ + FieldType::EMAIL->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.nullable' => 0, diff --git a/Configuration/Mask/Tabs/category.php b/Configuration/Mask/Tabs/category.php index 5922fb04..3f1ebe04 100644 --- a/Configuration/Mask/Tabs/category.php +++ b/Configuration/Mask/Tabs/category.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, ], @@ -14,14 +14,14 @@ 'config.treeConfig.startingPoints' => 12, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, 'config.exclusiveKeys' => 6, ], ], - Tab::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'config.treeConfig.appearance.showHeader' => 6, 'config.treeConfig.appearance.expandAll' => 6, @@ -30,12 +30,12 @@ 'config.treeConfig.appearance.nonSelectableLevels' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.size' => 6, ], diff --git a/Configuration/Mask/Tabs/check.php b/Configuration/Mask/Tabs/check.php index f5a2edab..ee8e6636 100644 --- a/Configuration/Mask/Tabs/check.php +++ b/Configuration/Mask/Tabs/check.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.renderType' => 6, 'config.default' => 6, @@ -12,7 +12,7 @@ 'config.items' => 12, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -20,7 +20,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.cols' => 6, ], diff --git a/Configuration/Mask/Tabs/colorpicker.php b/Configuration/Mask/Tabs/colorpicker.php index a5fd6510..2c5ec6f5 100644 --- a/Configuration/Mask/Tabs/colorpicker.php +++ b/Configuration/Mask/Tabs/colorpicker.php @@ -4,7 +4,7 @@ use TYPO3\CMS\Core\Information\Typo3Version; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -13,13 +13,13 @@ 'config.size' => 6, ], ], - Tab::VALUE_PICKER => [ + Tab::VALUE_PICKER->value => [ [ 'config.valuePicker.mode' => 6, 'config.valuePicker.items' => 12, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -27,7 +27,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/content.php b/Configuration/Mask/Tabs/content.php index b2715b39..1efdfc3c 100644 --- a/Configuration/Mask/Tabs/content.php +++ b/Configuration/Mask/Tabs/content.php @@ -3,18 +3,18 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'cTypes' => 12, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - TAB::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'config.appearance.newRecordLinkTitle' => 6, 'config.appearance.levelLinksPosition' => 6, @@ -26,7 +26,7 @@ 'config.appearance.useSortable' => 6, ], ], - Tab::ENABLED_CONTROLS => [ + Tab::ENABLED_CONTROLS->value => [ [ 'config.appearance.enabledControls' => 12, 'config.appearance.enabledControls.info' => 4, @@ -38,7 +38,7 @@ 'config.appearance.enabledControls.localize' => 4, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Configuration/Mask/Tabs/date.php b/Configuration/Mask/Tabs/date.php index adaca15c..8855ee26 100644 --- a/Configuration/Mask/Tabs/date.php +++ b/Configuration/Mask/Tabs/date.php @@ -4,20 +4,20 @@ use TYPO3\CMS\Core\Information\Typo3Version; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.range.lower' => 6, 'config.range.upper' => 6, (new Typo3Version())->getMajorVersion() > 11 ? 'config.required' : 'config.eval.required' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -25,7 +25,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/datetime.php b/Configuration/Mask/Tabs/datetime.php index adaca15c..8855ee26 100644 --- a/Configuration/Mask/Tabs/datetime.php +++ b/Configuration/Mask/Tabs/datetime.php @@ -4,20 +4,20 @@ use TYPO3\CMS\Core\Information\Typo3Version; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.range.lower' => 6, 'config.range.upper' => 6, (new Typo3Version())->getMajorVersion() > 11 ? 'config.required' : 'config.eval.required' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -25,7 +25,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/email.php b/Configuration/Mask/Tabs/email.php index b04fd753..25fd6e22 100644 --- a/Configuration/Mask/Tabs/email.php +++ b/Configuration/Mask/Tabs/email.php @@ -4,7 +4,7 @@ use TYPO3\CMS\Core\Information\Typo3Version; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -13,14 +13,14 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.required' : 'config.eval.required' => 6, 'config.eval.unique' => 6, 'config.eval.uniqueInPid' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -28,7 +28,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/file.php b/Configuration/Mask/Tabs/file.php index bf40ac22..b6b56ca1 100644 --- a/Configuration/Mask/Tabs/file.php +++ b/Configuration/Mask/Tabs/file.php @@ -3,18 +3,18 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'imageoverlayPalette' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - TAB::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'allowedFileExtensions' => 6, ], @@ -31,7 +31,7 @@ 'config.appearance.fileUploadAllowed' => 6, ], ], - Tab::ENABLED_CONTROLS => [ + Tab::ENABLED_CONTROLS->value => [ [ 'config.appearance.enabledControls' => 12, 'config.appearance.enabledControls.info' => 4, @@ -42,7 +42,7 @@ 'config.appearance.enabledControls.localize' => 4, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Configuration/Mask/Tabs/float.php b/Configuration/Mask/Tabs/float.php index 4f336ddc..caafe856 100644 --- a/Configuration/Mask/Tabs/float.php +++ b/Configuration/Mask/Tabs/float.php @@ -12,7 +12,7 @@ } return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -21,26 +21,26 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ $validation, [ 'config.range.lower' => 6, 'config.range.upper' => 6, ], ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ [ 'config.slider.step' => 6, 'config.slider.width' => 6, ], ], - Tab::VALUE_PICKER => [ + Tab::VALUE_PICKER->value => [ [ 'config.valuePicker.mode' => 6, 'config.valuePicker.items' => 12, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -48,7 +48,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/folder.php b/Configuration/Mask/Tabs/folder.php index 4ce00be1..b444e60d 100644 --- a/Configuration/Mask/Tabs/folder.php +++ b/Configuration/Mask/Tabs/folder.php @@ -3,18 +3,18 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.elementBrowserEntryPoints._default' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -22,7 +22,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.size' => 6, 'config.autoSizeMax' => 6, diff --git a/Configuration/Mask/Tabs/group.php b/Configuration/Mask/Tabs/group.php index 5ecb109b..c209ea7d 100644 --- a/Configuration/Mask/Tabs/group.php +++ b/Configuration/Mask/Tabs/group.php @@ -3,19 +3,19 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.allowed' => 6, 'config.elementBrowserEntryPoints._default' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ [ 'config.fieldControl' => 12, 'config.fieldControl.editPopup.disabled' => 4, @@ -30,7 +30,7 @@ 'config.fieldWizard.tableList.disabled' => 4, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -38,7 +38,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.size' => 6, 'config.autoSizeMax' => 6, diff --git a/Configuration/Mask/Tabs/inline.php b/Configuration/Mask/Tabs/inline.php index a264ab6b..51cee538 100644 --- a/Configuration/Mask/Tabs/inline.php +++ b/Configuration/Mask/Tabs/inline.php @@ -3,19 +3,19 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'ctrl.label' => 6, 'ctrl.iconfile' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - TAB::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'config.appearance.newRecordLinkTitle' => 6, 'config.appearance.levelLinksPosition' => 6, @@ -27,7 +27,7 @@ 'config.appearance.useSortable' => 6, ], ], - Tab::ENABLED_CONTROLS => [ + Tab::ENABLED_CONTROLS->value => [ [ 'config.appearance.enabledControls' => 12, 'config.appearance.enabledControls.info' => 4, @@ -39,7 +39,7 @@ 'config.appearance.enabledControls.localize' => 4, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Configuration/Mask/Tabs/integer.php b/Configuration/Mask/Tabs/integer.php index 4f336ddc..caafe856 100644 --- a/Configuration/Mask/Tabs/integer.php +++ b/Configuration/Mask/Tabs/integer.php @@ -12,7 +12,7 @@ } return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -21,26 +21,26 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ $validation, [ 'config.range.lower' => 6, 'config.range.upper' => 6, ], ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ [ 'config.slider.step' => 6, 'config.slider.width' => 6, ], ], - Tab::VALUE_PICKER => [ + Tab::VALUE_PICKER->value => [ [ 'config.valuePicker.mode' => 6, 'config.valuePicker.items' => 12, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -48,7 +48,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/link.php b/Configuration/Mask/Tabs/link.php index 4cbf4693..f039a626 100644 --- a/Configuration/Mask/Tabs/link.php +++ b/Configuration/Mask/Tabs/link.php @@ -22,7 +22,7 @@ } return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.placeholder' => 6, ], @@ -30,13 +30,13 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ $validation, ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ $linkHandler, ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -44,7 +44,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/media.php b/Configuration/Mask/Tabs/media.php index 6e3a6155..4914267a 100644 --- a/Configuration/Mask/Tabs/media.php +++ b/Configuration/Mask/Tabs/media.php @@ -3,18 +3,18 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'onlineMedia' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - TAB::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'allowedFileExtensions' => 6, ], @@ -32,7 +32,7 @@ 'config.appearance.fileByUrlAllowed' => 6, ], ], - Tab::ENABLED_CONTROLS => [ + Tab::ENABLED_CONTROLS->value => [ [ 'config.appearance.enabledControls' => 12, 'config.appearance.enabledControls.info' => 4, @@ -43,7 +43,7 @@ 'config.appearance.enabledControls.localize' => 4, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Configuration/Mask/Tabs/palette.php b/Configuration/Mask/Tabs/palette.php index 00035def..064ffabe 100644 --- a/Configuration/Mask/Tabs/palette.php +++ b/Configuration/Mask/Tabs/palette.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ ], ]; diff --git a/Configuration/Mask/Tabs/radio.php b/Configuration/Mask/Tabs/radio.php index 0aaef3b3..c2bc10c9 100644 --- a/Configuration/Mask/Tabs/radio.php +++ b/Configuration/Mask/Tabs/radio.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, ], @@ -11,7 +11,7 @@ 'config.items' => 12, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Configuration/Mask/Tabs/richtext.php b/Configuration/Mask/Tabs/richtext.php index a88d6b6f..3966f877 100644 --- a/Configuration/Mask/Tabs/richtext.php +++ b/Configuration/Mask/Tabs/richtext.php @@ -8,7 +8,7 @@ ]; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.richtextConfiguration' => 6, ], @@ -16,10 +16,10 @@ 'config.default' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ $validation, ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Configuration/Mask/Tabs/select.php b/Configuration/Mask/Tabs/select.php index 6f5195e8..61062510 100644 --- a/Configuration/Mask/Tabs/select.php +++ b/Configuration/Mask/Tabs/select.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.renderType' => 6, 'config.default' => 6, @@ -12,19 +12,19 @@ 'config.items' => 12, ], ], - Tab::ITEM_GROUP_SORTING => [ + Tab::ITEM_GROUP_SORTING->value => [ [ 'config.itemGroups' => 12, 'config.sortItems' => 12, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - Tab::DATABASE => [ + Tab::DATABASE->value => [ [ 'config.foreign_table' => 12, ], @@ -32,7 +32,7 @@ 'config.foreign_table_where' => 12, ], ], - Tab::FILES => [ + Tab::FILES->value => [ [ 'config.fileFolder' => 6, 'config.fileFolder_extList' => 6, @@ -43,7 +43,7 @@ 'config.fieldWizard.selectIcons.disabled' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -51,7 +51,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.size' => 6, 'config.autoSizeMax' => 6, diff --git a/Configuration/Mask/Tabs/slug.php b/Configuration/Mask/Tabs/slug.php index 97bcc9ae..11ab0848 100644 --- a/Configuration/Mask/Tabs/slug.php +++ b/Configuration/Mask/Tabs/slug.php @@ -3,12 +3,12 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.eval.slug' => 12, ], ], - Tab::GENERATOR => [ + Tab::GENERATOR->value => [ [ 'config.generatorOptions.fields' => 12, 'config.generatorOptions.replacements' => 12, diff --git a/Configuration/Mask/Tabs/string.php b/Configuration/Mask/Tabs/string.php index f8bd3b35..9feaab26 100644 --- a/Configuration/Mask/Tabs/string.php +++ b/Configuration/Mask/Tabs/string.php @@ -35,7 +35,7 @@ } return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -44,17 +44,17 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ $validation1, $validation2, ], - Tab::VALUE_PICKER => [ + Tab::VALUE_PICKER->value => [ [ 'config.valuePicker.mode' => 6, 'config.valuePicker.items' => 12, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -62,7 +62,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/tab.php b/Configuration/Mask/Tabs/tab.php index 00035def..064ffabe 100644 --- a/Configuration/Mask/Tabs/tab.php +++ b/Configuration/Mask/Tabs/tab.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ ], ]; diff --git a/Configuration/Mask/Tabs/text.php b/Configuration/Mask/Tabs/text.php index fa25761a..9d85d88a 100644 --- a/Configuration/Mask/Tabs/text.php +++ b/Configuration/Mask/Tabs/text.php @@ -15,7 +15,7 @@ } return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -25,20 +25,20 @@ 'config.rows' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ $validation, [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.required' : 'config.eval.required' => 6, 'config.eval.trim' => 6, ], ], - Tab::VALUE_PICKER => [ + Tab::VALUE_PICKER->value => [ [ 'config.valuePicker.mode' => 6, 'config.valuePicker.items' => 12, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -46,12 +46,12 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::WIZARDS => [ + Tab::WIZARDS->value => [ [ 'config.format' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/Tabs/timestamp.php b/Configuration/Mask/Tabs/timestamp.php index 64398cc8..0b0e2e8a 100644 --- a/Configuration/Mask/Tabs/timestamp.php +++ b/Configuration/Mask/Tabs/timestamp.php @@ -4,7 +4,7 @@ use TYPO3\CMS\Core\Information\Typo3Version; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ (new Typo3Version())->getMajorVersion() === 11 ? 'config.eval' : 'config.format' => 6, ], @@ -13,14 +13,14 @@ 'config.placeholder' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.range.lower' => 6, 'config.range.upper' => 6, (new Typo3Version())->getMajorVersion() > 11 ? 'config.required' : 'config.eval.required' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -28,7 +28,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ (new Typo3Version())->getMajorVersion() > 11 ? 'config.nullable' : 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Configuration/Mask/TcaFields.php b/Configuration/Mask/TcaFields.php index 8b3e9be4..1c8ab277 100644 --- a/Configuration/Mask/TcaFields.php +++ b/Configuration/Mask/TcaFields.php @@ -16,7 +16,7 @@ 12 => 'ColumnsConfig/CommonProperties/Default.html#tca-property-default', ], ], - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'type' => 'number', 'min' => 0, 'max' => 31, @@ -31,8 +31,8 @@ 'config.placeholder' => [ 'type' => 'variable', 'types' => [ - FieldType::TEXT => 'textarea', - FieldType::RICHTEXT => 'textarea', + FieldType::TEXT->value => 'textarea', + FieldType::RICHTEXT->value => 'textarea', ], 'rows' => 5, 'label' => 'tx_mask.field.string.placeholder', @@ -56,7 +56,7 @@ 'max' => 50, 'step' => 5, ], - FieldType::CATEGORY => [ + FieldType::CATEGORY->value => [ 'type' => 'number', 'min' => 1, 'label' => 'tx_mask.field.category.size', @@ -66,7 +66,7 @@ 12 => 'ColumnsConfig/CommonProperties/Size.html#tca-property-size', ], ], - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'type' => 'number', 'min' => 1, 'label' => 'tx_mask.field.select.size', @@ -76,7 +76,7 @@ 12 => 'ColumnsConfig/CommonProperties/Size.html#tca-property-size', ], ], - FieldType::GROUP => [ + FieldType::GROUP->value => [ 'type' => 'number', 'min' => 1, 'label' => 'tx_mask.field.select.size', @@ -495,7 +495,7 @@ ], 'config.cols' => [ 'collision' => true, - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'type' => 'text', 'label' => 'tx_mask.content.check.columns', 'description' => 'tx_mask.content.check.columns.description', @@ -531,7 +531,7 @@ ], 'config.format' => [ 'collision' => true, - FieldType::TEXT => [ + FieldType::TEXT->value => [ 'type' => 'radio', 'label' => 'tx_mask.field.text.format', 'code' => 'format', @@ -548,7 +548,7 @@ 12 => 'ColumnsConfig/Type/Text/Properties/Format.html', ], ], - FieldType::TIMESTAMP => [ + FieldType::TIMESTAMP->value => [ 'type' => 'radio', 'label' => 'tx_mask.field.timestamp_format', 'description' => 'tx_mask.field.timestamp.eval', @@ -602,7 +602,7 @@ ], 'config.items' => [ 'collision' => true, - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'type' => 'itemList', 'label' => 'tx_mask.content.check.items', 'description' => 'tx_mask.content.check.items.description', @@ -643,7 +643,7 @@ 12 => 'ColumnsConfig/Type/Check/Properties/Items.html', ], ], - FieldType::RADIO => [ + FieldType::RADIO->value => [ 'type' => 'itemList', 'code' => 'items', 'label' => 'tx_mask.content.check.items', @@ -663,7 +663,7 @@ 12 => 'ColumnsConfig/Type/Radio/Properties/Items.html', ], ], - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'type' => 'itemList', 'code' => 'items', 'properties' => [ @@ -748,7 +748,7 @@ ], 'config.renderType' => [ 'collision' => true, - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'type' => 'select', 'label' => 'tx_mask.field.check.renderType', 'description' => 'tx_mask.field.check.renderType.description', @@ -763,7 +763,7 @@ 12 => 'ColumnsConfig/Type/Select/Index.html', ], ], - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'type' => 'select', 'label' => 'tx_mask.field.check.renderType', 'description' => 'tx_mask.field.check.renderType.description', @@ -866,7 +866,7 @@ ], 'config.elementBrowserEntryPoints._default' => [ 'collision' => true, - FieldType::GROUP => [ + FieldType::GROUP->value => [ 'type' => 'text', 'label' => 'tx_mask.field.elementBrowserEntryPoints.label', 'description' => 'tx_mask.field.group.elementBrowserEntryPoints.description', @@ -875,7 +875,7 @@ 12 => 'ColumnsConfig/Type/Group/Properties/ElementBrowserEntryPoints.html', ], ], - FieldType::FOLDER => [ + FieldType::FOLDER->value => [ 'type' => 'text', 'label' => 'tx_mask.field.elementBrowserEntryPoints.label', 'description' => 'tx_mask.field.folder.elementBrowserEntryPoints.description', diff --git a/Tests/Unit/Definition/TableDefinitionCollectionTest.php b/Tests/Unit/Definition/TableDefinitionCollectionTest.php index 4263fd5e..44009a89 100644 --- a/Tests/Unit/Definition/TableDefinitionCollectionTest.php +++ b/Tests/Unit/Definition/TableDefinitionCollectionTest.php @@ -1572,13 +1572,13 @@ public static function getFormTypeDataProvider(): iterable * @test * @dataProvider getFormTypeDataProvider */ - public function getFormType(array $tca, array $json, string $fieldKey, string $table, string $expected): void + public function getFormType(array $tca, array $json, string $fieldKey, string $table, FieldType $expected): void { $GLOBALS['TCA'] = $tca; $tableDefinitionCollection = TableDefinitionCollection::createFromArray($json); - self::assertEquals($expected, (string)$tableDefinitionCollection->getFieldType($fieldKey, $table)); + self::assertEquals($expected, $tableDefinitionCollection->getFieldType($fieldKey, $table)); } public static function findFirstNonEmptyLabelDataProvider(): array diff --git a/Tests/Unit/Definition/TcaFieldDefinitionTest.php b/Tests/Unit/Definition/TcaFieldDefinitionTest.php index 8d5ef85e..bec74936 100644 --- a/Tests/Unit/Definition/TcaFieldDefinitionTest.php +++ b/Tests/Unit/Definition/TcaFieldDefinitionTest.php @@ -842,7 +842,7 @@ public static function getTypeReturnsTypeIfTypeCanBeFoundDataProvider(): iterabl public function getTypeReturnsTypeIfTypeCanBeFound(array $json, string $expected, string $elementKey): void { $tcaFieldDefinition = TcaFieldDefinition::createFromFieldArray($json); - self::assertSame($expected, (string)$tcaFieldDefinition->getFieldType($elementKey)); + self::assertSame($expected, $tcaFieldDefinition->getFieldType($elementKey)->value); } /** diff --git a/Tests/Unit/Fixtures/Defaults.php b/Tests/Unit/Fixtures/Defaults.php index 23b616c6..213d6bb3 100644 --- a/Tests/Unit/Fixtures/Defaults.php +++ b/Tests/Unit/Fixtures/Defaults.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\FieldType; return [ - FieldType::STRING => [ + FieldType::STRING->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.eval.null' => 0, @@ -13,7 +13,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::FLOAT => [ + FieldType::FLOAT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.eval.null' => 0, @@ -24,7 +24,7 @@ ], 'sql' => 'float DEFAULT \'0\' NOT NULL', ], - FieldType::INTEGER => [ + FieldType::INTEGER->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.eval.null' => 0, @@ -35,7 +35,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::LINK => [ + FieldType::LINK->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.eval.null' => 0, @@ -47,7 +47,7 @@ ], 'sql' => 'varchar(1024) DEFAULT \'\' NOT NULL', ], - FieldType::DATE => [ + FieldType::DATE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.eval.null' => 0, @@ -60,7 +60,7 @@ ], 'sql' => 'date', ], - FieldType::DATETIME => [ + FieldType::DATETIME->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.eval.null' => 0, @@ -73,7 +73,7 @@ ], 'sql' => 'datetime', ], - FieldType::TIMESTAMP => [ + FieldType::TIMESTAMP->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.eval' => 'date', @@ -86,7 +86,7 @@ ], 'sql' => 'int(10) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::TEXT => [ + FieldType::TEXT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.wrap' => 'virtual', @@ -98,7 +98,7 @@ ], 'sql' => 'mediumtext', ], - FieldType::RICHTEXT => [ + FieldType::RICHTEXT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.richtextConfiguration' => '', @@ -109,7 +109,7 @@ ], 'sql' => 'mediumtext', ], - FieldType::CHECK => [ + FieldType::CHECK->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.renderType' => '', @@ -119,7 +119,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::SELECT => [ + FieldType::SELECT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.renderType' => 'selectSingle', @@ -129,7 +129,7 @@ ], 'sql' => 'varchar(255) DEFAULT \'\' NOT NULL', ], - FieldType::RADIO => [ + FieldType::RADIO->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.items' => '', @@ -139,7 +139,7 @@ ], 'sql' => 'int(11) DEFAULT \'0\' NOT NULL', ], - FieldType::GROUP => [ + FieldType::GROUP->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.internal_type' => 'db', @@ -153,7 +153,7 @@ ], 'sql' => 'text', ], - FieldType::FILE => [ + FieldType::FILE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'imageoverlayPalette' => 1, @@ -165,7 +165,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::INLINE => [ + FieldType::INLINE->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.appearance.collapseAll' => 1, @@ -184,7 +184,7 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::CONTENT => [ + FieldType::CONTENT->value => [ 'tca_in' => [ 'l10n_mode' => '', 'config.appearance.levelLinksPosition' => 'top', @@ -204,17 +204,17 @@ ], 'sql' => 'int(11) unsigned DEFAULT \'0\' NOT NULL', ], - FieldType::TAB => [ + FieldType::TAB->value => [ 'tca_out' => [ 'config.type' => 'tab', ], ], - FieldType::PALETTE => [ + FieldType::PALETTE->value => [ 'tca_out' => [ 'config.type' => 'palette', ], ], - FieldType::LINEBREAK => [ + FieldType::LINEBREAK->value => [ 'tca_out' => [ 'config.type' => 'linebreak', ], diff --git a/Tests/Unit/Fixtures/FieldGroups.php b/Tests/Unit/Fixtures/FieldGroups.php index ccb12bca..407036d7 100644 --- a/Tests/Unit/Fixtures/FieldGroups.php +++ b/Tests/Unit/Fixtures/FieldGroups.php @@ -3,28 +3,28 @@ use MASK\Mask\Enumeration\FieldType; return [ - FieldType::STRING => 'input', - FieldType::INTEGER => 'input', - FieldType::FLOAT => 'input', - FieldType::LINK => 'input', + FieldType::STRING->value => 'input', + FieldType::INTEGER->value => 'input', + FieldType::FLOAT->value => 'input', + FieldType::LINK->value => 'input', - FieldType::TEXT => 'text', - FieldType::RICHTEXT => 'text', + FieldType::TEXT->value => 'text', + FieldType::RICHTEXT->value => 'text', - FieldType::DATE => 'date', - FieldType::DATETIME => 'date', - FieldType::TIMESTAMP => 'date', + FieldType::DATE->value => 'date', + FieldType::DATETIME->value => 'date', + FieldType::TIMESTAMP->value => 'date', - FieldType::CHECK => 'choice', - FieldType::RADIO => 'choice', - FieldType::SELECT => 'choice', - FieldType::GROUP => 'choice', + FieldType::CHECK->value => 'choice', + FieldType::RADIO->value => 'choice', + FieldType::SELECT->value => 'choice', + FieldType::GROUP->value => 'choice', - FieldType::FILE => 'repeating', - FieldType::INLINE => 'repeating', - FieldType::CONTENT => 'repeating', + FieldType::FILE->value => 'repeating', + FieldType::INLINE->value => 'repeating', + FieldType::CONTENT->value => 'repeating', - FieldType::TAB => 'structure', - FieldType::PALETTE => 'structure', - FieldType::LINEBREAK => 'structure', + FieldType::TAB->value => 'structure', + FieldType::PALETTE->value => 'structure', + FieldType::LINEBREAK->value => 'structure', ]; diff --git a/Tests/Unit/Fixtures/Tabs/check.php b/Tests/Unit/Fixtures/Tabs/check.php index 8c3cea41..a90b87e4 100644 --- a/Tests/Unit/Fixtures/Tabs/check.php +++ b/Tests/Unit/Fixtures/Tabs/check.php @@ -3,12 +3,12 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.renderType' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -16,7 +16,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.items' => 12, ], diff --git a/Tests/Unit/Fixtures/Tabs/content.php b/Tests/Unit/Fixtures/Tabs/content.php index 51b27efb..92a6cf2d 100644 --- a/Tests/Unit/Fixtures/Tabs/content.php +++ b/Tests/Unit/Fixtures/Tabs/content.php @@ -3,18 +3,18 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'cTypes' => 12, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - TAB::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'config.appearance.newRecordLinkTitle' => 6, 'config.appearance.levelLinksPosition' => 6, @@ -23,7 +23,7 @@ 'config.appearance.expandSingle' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Tests/Unit/Fixtures/Tabs/date.php b/Tests/Unit/Fixtures/Tabs/date.php index a85d25c3..1c7e594d 100644 --- a/Tests/Unit/Fixtures/Tabs/date.php +++ b/Tests/Unit/Fixtures/Tabs/date.php @@ -3,20 +3,20 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.range.lower' => 6, 'config.range.upper' => 6, 'config.eval.required' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -24,7 +24,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/datetime.php b/Tests/Unit/Fixtures/Tabs/datetime.php index a85d25c3..1c7e594d 100644 --- a/Tests/Unit/Fixtures/Tabs/datetime.php +++ b/Tests/Unit/Fixtures/Tabs/datetime.php @@ -3,20 +3,20 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.range.lower' => 6, 'config.range.upper' => 6, 'config.eval.required' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -24,7 +24,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/file.php b/Tests/Unit/Fixtures/Tabs/file.php index d670e027..43aa4b12 100644 --- a/Tests/Unit/Fixtures/Tabs/file.php +++ b/Tests/Unit/Fixtures/Tabs/file.php @@ -3,18 +3,18 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'imageoverlayPalette' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - TAB::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'allowedFileExtensions' => 6, ], @@ -25,7 +25,7 @@ 'config.appearance.fileUploadAllowed' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Tests/Unit/Fixtures/Tabs/float.php b/Tests/Unit/Fixtures/Tabs/float.php index dad7fd2d..33f21d46 100644 --- a/Tests/Unit/Fixtures/Tabs/float.php +++ b/Tests/Unit/Fixtures/Tabs/float.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -12,7 +12,7 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.eval.required' => 6, 'config.max' => 6, @@ -20,13 +20,13 @@ 'config.range.upper' => 6, ], ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ [ 'config.slider.step' => 6, 'config.slider.width' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -34,7 +34,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/group.php b/Tests/Unit/Fixtures/Tabs/group.php index eb138bc3..5f27e458 100644 --- a/Tests/Unit/Fixtures/Tabs/group.php +++ b/Tests/Unit/Fixtures/Tabs/group.php @@ -3,19 +3,19 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.internal_type' => 6, 'config.allowed' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ [ 'config.fieldControl' => 12, 'config.fieldControl.editPopup.disabled' => 4, @@ -30,7 +30,7 @@ 'config.fieldWizard.tableList.disabled' => 4, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -38,7 +38,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.size' => 6, 'config.autoSizeMax' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/inline.php b/Tests/Unit/Fixtures/Tabs/inline.php index bbc47d04..132b982a 100644 --- a/Tests/Unit/Fixtures/Tabs/inline.php +++ b/Tests/Unit/Fixtures/Tabs/inline.php @@ -3,19 +3,19 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'ctrl.label' => 6, 'ctrl.iconfile' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - TAB::APPEARANCE => [ + Tab::APPEARANCE->value => [ [ 'config.appearance.newRecordLinkTitle' => 6, 'config.appearance.levelLinksPosition' => 6, @@ -26,7 +26,7 @@ 'config.appearance.useSortable' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Tests/Unit/Fixtures/Tabs/integer.php b/Tests/Unit/Fixtures/Tabs/integer.php index fcb2be4c..4fecd199 100644 --- a/Tests/Unit/Fixtures/Tabs/integer.php +++ b/Tests/Unit/Fixtures/Tabs/integer.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -12,7 +12,7 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.eval.required' => 6, 'config.max' => 6, @@ -22,13 +22,13 @@ 'config.range.upper' => 6, ], ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ [ 'config.slider.step' => 6, 'config.slider.width' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -36,7 +36,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/link.php b/Tests/Unit/Fixtures/Tabs/link.php index 236f858a..2ef167da 100644 --- a/Tests/Unit/Fixtures/Tabs/link.php +++ b/Tests/Unit/Fixtures/Tabs/link.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.placeholder' => 6, ], @@ -11,13 +11,13 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.eval.required' => 6, 'config.fieldControl.linkPopup.options.allowedExtensions' => 6, ], ], - Tab::FIELD_CONTROL => [ + Tab::FIELD_CONTROL->value => [ [ 'config.fieldControl.linkPopup.options.blindLinkOptions' => 12, 'config.fieldControl.linkPopup.options.blindLinkOptions.file' => 4, @@ -28,7 +28,7 @@ 'config.fieldControl.linkPopup.options.blindLinkOptions.telephone' => 4, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -36,7 +36,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/palette.php b/Tests/Unit/Fixtures/Tabs/palette.php index 00035def..064ffabe 100644 --- a/Tests/Unit/Fixtures/Tabs/palette.php +++ b/Tests/Unit/Fixtures/Tabs/palette.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ ], ]; diff --git a/Tests/Unit/Fixtures/Tabs/radio.php b/Tests/Unit/Fixtures/Tabs/radio.php index dd886ef8..df4ab672 100644 --- a/Tests/Unit/Fixtures/Tabs/radio.php +++ b/Tests/Unit/Fixtures/Tabs/radio.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.items' => 12, ], @@ -11,7 +11,7 @@ 'config.default' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Tests/Unit/Fixtures/Tabs/richtext.php b/Tests/Unit/Fixtures/Tabs/richtext.php index 73536285..e113295e 100644 --- a/Tests/Unit/Fixtures/Tabs/richtext.php +++ b/Tests/Unit/Fixtures/Tabs/richtext.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.richtextConfiguration' => 6, ], @@ -11,7 +11,7 @@ 'config.default' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], diff --git a/Tests/Unit/Fixtures/Tabs/select.php b/Tests/Unit/Fixtures/Tabs/select.php index 7091305f..6528db27 100644 --- a/Tests/Unit/Fixtures/Tabs/select.php +++ b/Tests/Unit/Fixtures/Tabs/select.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.renderType' => 6, ], @@ -11,13 +11,13 @@ 'config.items' => 12, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.minitems' => 6, 'config.maxitems' => 6, ], ], - Tab::DATABASE => [ + Tab::DATABASE->value => [ [ 'config.foreign_table' => 6, ], @@ -25,14 +25,14 @@ 'config.foreign_table_where' => 12, ], ], - Tab::FILES => [ + Tab::FILES->value => [ [ 'config.fileFolder' => 6, 'config.fileFolder_extList' => 6, 'config.fileFolder_recursions' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -40,7 +40,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.size' => 6, 'config.autoSizeMax' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/string.php b/Tests/Unit/Fixtures/Tabs/string.php index 8154d32c..aba30950 100644 --- a/Tests/Unit/Fixtures/Tabs/string.php +++ b/Tests/Unit/Fixtures/Tabs/string.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -12,7 +12,7 @@ 'config.size' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.max' => 6, 'config.is_in' => 6, @@ -33,7 +33,7 @@ 'config.eval.nospace' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -41,7 +41,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/tab.php b/Tests/Unit/Fixtures/Tabs/tab.php index 00035def..064ffabe 100644 --- a/Tests/Unit/Fixtures/Tabs/tab.php +++ b/Tests/Unit/Fixtures/Tabs/tab.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ ], ]; diff --git a/Tests/Unit/Fixtures/Tabs/text.php b/Tests/Unit/Fixtures/Tabs/text.php index 6fb68c80..71621d75 100644 --- a/Tests/Unit/Fixtures/Tabs/text.php +++ b/Tests/Unit/Fixtures/Tabs/text.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.default' => 6, 'config.placeholder' => 6, @@ -13,7 +13,7 @@ 'config.rows' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.max' => 6, ], @@ -22,7 +22,7 @@ 'config.eval.trim' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -30,12 +30,12 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::WIZARDS => [ + Tab::WIZARDS->value => [ [ 'config.format' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/Tabs/timestamp.php b/Tests/Unit/Fixtures/Tabs/timestamp.php index c01e237f..894eebe0 100644 --- a/Tests/Unit/Fixtures/Tabs/timestamp.php +++ b/Tests/Unit/Fixtures/Tabs/timestamp.php @@ -3,7 +3,7 @@ use MASK\Mask\Enumeration\Tab; return [ - Tab::GENERAL => [ + Tab::GENERAL->value => [ [ 'config.eval' => 6, ], @@ -12,14 +12,14 @@ 'config.placeholder' => 6, ], ], - Tab::VALIDATION => [ + Tab::VALIDATION->value => [ [ 'config.range.lower' => 6, 'config.range.upper' => 6, 'config.eval.required' => 6, ], ], - Tab::LOCALIZATION => [ + Tab::LOCALIZATION->value => [ [ 'l10n_mode' => 12, ], @@ -27,7 +27,7 @@ 'config.behaviour.allowLanguageSynchronization' => 6, ], ], - Tab::EXTENDED => [ + Tab::EXTENDED->value => [ [ 'config.eval.null' => 6, 'config.mode' => 6, diff --git a/Tests/Unit/Fixtures/TcaFields.php b/Tests/Unit/Fixtures/TcaFields.php index 9c0de014..a35f8944 100644 --- a/Tests/Unit/Fixtures/TcaFields.php +++ b/Tests/Unit/Fixtures/TcaFields.php @@ -26,8 +26,8 @@ 'config.placeholder' => [ 'type' => 'variable', 'types' => [ - FieldType::TEXT => 'textarea', - FieldType::RICHTEXT => 'textarea', + FieldType::TEXT->value => 'textarea', + FieldType::RICHTEXT->value => 'textarea', ], 'rows' => 5, 'label' => 'tx_mask.field.string.placeholder', diff --git a/Tests/Unit/Migrations/RteMigrationTest.php b/Tests/Unit/Migrations/RteMigrationTest.php index 018487c6..39dd537d 100644 --- a/Tests/Unit/Migrations/RteMigrationTest.php +++ b/Tests/Unit/Migrations/RteMigrationTest.php @@ -51,6 +51,6 @@ public function legacyRteFormatCompatibilityLayerWorks(): void ); $tableDefinitionCollection = $jsonLoader->load(); - self::assertTrue($tableDefinitionCollection->loadField('tt_content', 'tx_mask_rte')->getFieldType()->equals(FieldType::RICHTEXT), 'Field tx_mask_rte is not a richtext.'); + self::assertTrue($tableDefinitionCollection->loadField('tt_content', 'tx_mask_rte')->getFieldType() == FieldType::RICHTEXT, 'Field tx_mask_rte is not a richtext.'); } }