--- /dev/null
+.. include:: ../../Includes.txt
+
+===============================================
+Important: #84221 - Restructuring of form setup
+===============================================
+
+See :issue:`84221`
+
+Description
+===========
+
+The setup of the "form" extension has been restructured. Till now the following files were used:
+
+* :file:`BaseSetup.yaml`: setup shared in all contexts
+* :file:`FormEditorSetup.yaml`: setup of the Form Editor backend module
+* :file:`FormEngineSetup.yaml`: setup of the Form plugin flexForm configuration
+
+From now on only a single file is used:
+
+* :file:`FormSetup.yaml`: basic setup including imports of the configuration for validators, form
+ elements and finishers.
+
+All previously used inheritances and mixins have been resolved which makes it very easy to
+understand the entire configuration.
+
+Consequently the entries in :typoscript:`yamlConfigurations` have changed:
+
+* :typoscript:`10` is now :file:`FormSetup.yaml`
+* :typoscript:`20` and :typoscript:`30` have been dropped
+
+Customizations of those entries must be adjusted accordingly.
+
+.. index:: Backend, FlexForm, Frontend, TypoScript, ext:form
use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml;
+use TYPO3\CMS\Core\Configuration\Loader\YamlFileLoader;
use TYPO3\CMS\Core\Resource\Exception\InsufficientFileAccessPermissionsException;
use TYPO3\CMS\Core\Resource\File;
use TYPO3\CMS\Core\Resource\FolderInterface;
* Loads the specified configuration files and returns its merged content
* as an array.
*
- * @param array $filesToLoad
- * @return array
- * @throws ParseErrorException
- * @throws NoSuchFileException
* @internal
*/
public function load(array $filesToLoad): array
{
$configuration = [];
+
foreach ($filesToLoad as $fileToLoad) {
if ($fileToLoad instanceof File) {
- $fileIdentifier = $fileToLoad->getIdentifier();
- $rawYamlContent = $fileToLoad->getContents();
- if ($rawYamlContent === false) {
- throw new NoSuchFileException(
- 'The file "' . $fileIdentifier . '" does not exist.',
- 1498802253
- );
- }
+ $loadedConfiguration = $this->loadFromFile($fileToLoad);
} else {
- $fileIdentifier = $fileToLoad;
- $fileToLoad = GeneralUtility::getFileAbsFileName($fileToLoad);
- if (is_file($fileToLoad)) {
- $rawYamlContent = file_get_contents($fileToLoad);
- } else {
- throw new NoSuchFileException(
- 'The file "' . $fileToLoad . '" does not exist.',
- 1471473378
- );
- }
+ $loadedConfiguration = $this->loadFromFilePath($fileToLoad);
}
- try {
- $loadedConfiguration = Yaml::parse($rawYamlContent);
-
- if (is_array($loadedConfiguration)) {
- $configuration = array_replace_recursive($configuration, $loadedConfiguration);
- }
- } catch (ParseException $exception) {
- throw new ParseErrorException(
- 'An error occurred while parsing file "' . $fileIdentifier . '": ' . $exception->getMessage(),
- 1480195405
- );
+ if (is_array($loadedConfiguration)) {
+ $configuration = array_replace_recursive($configuration, $loadedConfiguration);
}
}
$configuration = ArrayUtility::convertBooleanStringsToBooleanRecursive($configuration);
+
return $configuration;
}
}
/**
+ * Load YAML configuration from a local file path
+ *
+ * @throws ParseErrorException
+ */
+ protected function loadFromFilePath(string $filePath): array
+ {
+ $loader = GeneralUtility::makeInstance(YamlFileLoader::class);
+
+ try {
+ $loadedConfiguration = $loader->load($filePath);
+ } catch (\RuntimeException $e) {
+ throw new ParseErrorException(
+ sprintf('An error occurred while parsing file "%s": %s', $filePath, $e->getMessage()),
+ 1480195405,
+ $e
+ );
+ }
+
+ return $loadedConfiguration;
+ }
+
+ /**
+ * Load YAML configuration from a FAL file
+ *
+ * @throws ParseErrorException
+ * @throws NoSuchFileException
+ */
+ protected function loadFromFile(File $file): array
+ {
+ $fileIdentifier = $file->getIdentifier();
+ $rawYamlContent = $file->getContents();
+
+ if ($rawYamlContent === false) {
+ throw new NoSuchFileException(
+ sprintf('The file "%s" does not exist', $fileIdentifier),
+ 1498802253
+ );
+ }
+
+ try {
+ $loadedConfiguration = Yaml::parse($rawYamlContent);
+ } catch (ParseException $e) {
+ throw new ParseErrorException(
+ sprintf('An error occurred while parsing file "%s": %s', $fileIdentifier, $e->getMessage()),
+ 1574422322,
+ $e
+ );
+ }
+
+ return $loadedConfiguration;
+ }
+
+ /**
* Read the header part from the given file. That means, every line
* until the first non comment line is found.
*
settings {
yamlConfigurations {
- 10 = EXT:form/Configuration/Yaml/BaseSetup.yaml
- 20 = EXT:form/Configuration/Yaml/FormEngineSetup.yaml
+ 10 = EXT:form/Configuration/Yaml/FormSetup.yaml
}
}
}
tables = tt_content
source.current = 1
dontCheckPid = 1
-}
\ No newline at end of file
+}
+++ /dev/null
-TYPO3:
- CMS:
- Form:
- persistenceManager:
- allowedFileMounts:
- 10: 1:/form_definitions/
- allowSaveToExtensionPaths: false
- allowDeleteFromExtensionPaths: false
- sortByKeys: ['name', 'fileUid']
- sortAscending: true
- #allowedExtensionPaths:
- #10: EXT:example/Resources/Private/Forms/
-
- prototypes:
- standard:
-
- ########### DEFAULT FORM ELEMENT DEFINITIONS ###########
- formElementsDefinition:
-
- ### BASE ELEMENTS ###
- Form:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
- rendererClassName: 'TYPO3\CMS\Form\Domain\Renderer\FluidFormRenderer'
- renderingOptions:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.translationSettingsMixin'
- templateRootPaths:
- 10: 'EXT:form/Resources/Private/Frontend/Templates/'
- partialRootPaths:
- 10: 'EXT:form/Resources/Private/Frontend/Partials/'
- layoutRootPaths:
- 10: 'EXT:form/Resources/Private/Frontend/Layouts/'
- addQueryString: false
- argumentsToBeExcludedFromQueryString: []
- additionalParams: []
- controllerAction: perform
- httpMethod: post
- httpEnctype: 'multipart/form-data'
- _isCompositeFormElement: false
- _isTopLevelFormElement: true
-
- honeypot:
- enable: true
- formElementToUse: 'Honeypot'
-
- submitButtonLabel: 'Submit'
-
- # set this to TRUE if you want to avoid exceptions for FormElements without definitions
- skipUnknownElements: true
-
- ### FORM ELEMENTS: CONTAINER ###
- Page:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
- implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\Page'
- renderingOptions:
- _isTopLevelFormElement: true
- _isCompositeFormElement: true
- nextButtonLabel: 'next Page'
- previousButtonLabel: 'previous Page'
-
- SummaryPage:
- __inheritances:
- 10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Page'
- renderingOptions:
- _isTopLevelFormElement: true
- _isCompositeFormElement: false
- nextButtonLabel: 'next Page'
- previousButtonLabel: 'previous Page'
-
- Fieldset:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
- implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\Section'
- renderingOptions:
- _isCompositeFormElement: true
-
- GridRow:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
- implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GridRow'
- properties:
- elementClassAttribute: 'row'
- gridColumnClassAutoConfiguration:
- gridSize: 12
- viewPorts:
- xs:
- classPattern: 'col-xs-{@numbersOfColumnsToUse}'
- sm:
- classPattern: 'col-sm-{@numbersOfColumnsToUse}'
- md:
- classPattern: 'col-md-{@numbersOfColumnsToUse}'
- lg:
- classPattern: 'col-lg-{@numbersOfColumnsToUse}'
- renderingOptions:
- _isCompositeFormElement: true
- _isGridRowFormElement: true
-
- ### FORM ELEMENTS: INPUT ###
- Text:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
-
- Password:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
-
- AdvancedPassword:
- __inheritances:
- 10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Password'
- implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
- properties:
- elementClassAttribute: 'input-medium'
- confirmationLabel: ''
- # Optional description (hint) for the first password input element
- #passwordDescription: ''
- confirmationClassAttribute: 'input-medium'
-
- Textarea:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
- properties:
- elementClassAttribute: 'xxlarge'
-
- Honeypot:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
- properties:
- renderAsHiddenField: false
- styleAttribute: 'position:absolute; margin:0 0 0 -999em;'
- variants:
- -
- identifier: hide-1
- renderingOptions:
- enabled: false
- condition: 'stepType == "SummaryPage" || finisherIdentifier in ["EmailToSender", "EmailToReceiver"]'
-
- Hidden:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
- variants:
- -
- identifier: hide-1
- renderingOptions:
- enabled: false
- condition: 'stepType == "SummaryPage" || finisherIdentifier in ["EmailToSender", "EmailToReceiver"]'
-
- ### FORM ELEMENTS: HTML5 ###
- Email:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
- validators:
- -
- identifier: EmailAddress
-
- Telephone:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
- validators:
- -
- identifier: RegularExpression
- options:
- regularExpression: '/^.*$/'
-
- Url:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
- validators:
- -
- identifier: RegularExpression
- options:
- regularExpression: '/^.*$/'
-
- Number:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
- validators:
- -
- identifier: Number
-
- Date:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
- properties:
- # Rules for the summary step, email finishers etc. but
- # **not** for the form element value itself.
- # The display format of the form element value depends on the browser settings.
- displayFormat: 'd.m.Y'
- fluidAdditionalAttributes:
- # https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date#Handling_browser_support
- # https://tools.ietf.org/html/rfc3339#section-5.6 -> full-date
- pattern: '([0-9]{4})-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])'
-
- ### FORM ELEMENTS: SELECT ###
- Checkbox:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
- properties:
- elementClassAttribute: 'add-on'
- containerClassAttribute: 'input checkbox'
- value: 1
-
- MultiCheckbox:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.MultiSelectionMixin'
- properties:
- containerClassAttribute: 'input checkbox'
-
- MultiSelect:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.MultiSelectionMixin'
- properties:
- elementClassAttribute: 'xlarge'
-
- RadioButton:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SingleSelectionMixin'
- properties:
- elementClassAttribute: 'xlarge'
-
- SingleSelect:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SingleSelectionMixin'
-
- ### FORM ELEMENTS: CUSTOM ###
- DatePicker:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
- properties:
- elementClassAttribute: 'small form-control'
- timeSelectorClassAttribute: 'mini'
- timeSelectorHourLabel: ''
- timeSelectorMinuteLabel: ''
- dateFormat: 'Y-m-d'
- enableDatePicker: true
- displayTimeSelector: false
-
- StaticText:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.ReadOnlyFormElementMixin'
- properties:
- text: ''
-
- ContentElement:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.ReadOnlyFormElementMixin'
- properties:
- contentElementUid: ''
-
- ### FORM ELEMENTS: UPLOADS ###
- FileUpload:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FileUploadMixin'
- properties:
- allowedMimeTypes: []
- variants:
- -
- identifier: legacy-mime-types
- properties:
- allowedMimeTypes:
- - 'application/msword'
- - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
- - 'application/vnd.oasis.opendocument.text'
- - 'application/pdf'
- condition: 'feature("form.legacyUploadMimeTypes")'
-
- ImageUpload:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FileUploadMixin'
- properties:
- allowedMimeTypes: []
- elementClassAttribute: 'lightbox'
- imageLinkMaxWidth: 500
- imageMaxWidth: 500
- imageMaxHeight: 500
- variants:
- -
- identifier: legacy-mime-types
- properties:
- allowedMimeTypes:
- - 'image/jpeg'
- - 'image/png'
- - 'image/bmp'
- condition: 'feature("form.legacyUploadMimeTypes")'
-
- ### FINISHERS ###
-
- finishersDefinition:
- Closure:
- implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\ClosureFinisher'
- options:
- #closure:
-
- Confirmation:
- implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher'
- options:
- #message: ''
- #contentElementUid: 0
- #typoscriptObjectPath: 'lib.tx_form.contentElementRendering'
- #variables:
- templateName: 'Confirmation'
- templateRootPaths:
- 10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Confirmation/'
-
- EmailToSender:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
-
- EmailToReceiver:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
-
- DeleteUploads:
- implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher'
-
- FlashMessage:
- implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\FlashMessageFinisher'
- #options:
- #messageBody: ''
- #messageTitle: ''
- #messageArguments: {}
- #messageCode: 0
- #severity: 0
-
- Redirect:
- implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher'
- #options:
- #pageUid: 1
- #additionalParameters: ''
- #delay: 0
- #statusCode: 303
-
- SaveToDatabase:
- implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher'
- #options:
- #table: ''
- #mode: 'insert'
- #whereClause: []
- #elements:
- # <elementIdentifier>:
- # mapOnDatabaseColumn: <databaseColumnName>
- # saveFileIdentifierInsteadOfUid: false
- # skipIfValueIsEmpty: false
- #databaseColumnMappings:
- # <databaseColumnName>:
- # value: 'someValue'
- # skipIfValueIsEmpty: false
-
- ### VALIDATORS ###
- validatorsDefinition:
- NotEmpty:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NotEmptyValidator'
- DateTime:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\DateTimeValidator'
- Alphanumeric:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\AlphanumericValidator'
- Text:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\TextValidator'
- StringLength:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator'
- #options:
- #minimum: 0
- #maximum: 0
- EmailAddress:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\EmailAddressValidator'
- Integer:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\IntegerValidator'
- Float:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\FloatValidator'
- Number:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NumberValidator'
- NumberRange:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator'
- #options:
- #minimum: 0
- #maximum: 0
- RegularExpression:
- implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator'
- #options:
- #regularExpression: '/^.*$/'
- Count:
- implementationClassName: 'TYPO3\CMS\Form\Mvc\Validation\CountValidator'
- #options:
- #minimum: 0
- #maximum: 0
- FileSize:
- implementationClassName: 'TYPO3\CMS\Form\Mvc\Validation\FileSizeValidator'
- #options:
- #minimum: '0B'
- #maximum: '10M'
- DateRange:
- implementationClassName: 'TYPO3\CMS\Form\Mvc\Validation\DateRangeValidator'
- options:
- # https://tools.ietf.org/html/rfc3339#section-5.6 -> full-date
- format : 'Y-m-d'
- #minimum: '2018-03-17'
- #maximum: '2018-03-17'
-
- ########### MIXINS ###########
- mixins:
- translationSettingsMixin:
- translation:
- translationFiles:
- 10: 'EXT:form/Resources/Private/Language/locallang.xlf'
- #translatePropertyValueIfEmpty: true
-
- ########### FORM ELEMENT MIXINS ###########
- formElementMixins:
- BaseFormElementMixin: []
- # The form element type is chosen as the template name by default.
- # If you want another name you can set it with 'templateName'
- #templateName: 'CustomTemplateName'
-
- ReadOnlyFormElementMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
- implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
- variants:
- -
- identifier: hide-1
- renderingOptions:
- enabled: false
- condition: 'stepType == "SummaryPage" || finisherIdentifier in ["EmailToSender", "EmailToReceiver"]'
-
- FormElementMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
- implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
- properties:
- containerClassAttribute: 'input'
- elementClassAttribute: ''
- elementErrorClassAttribute: 'error'
- #gridColumnClassAutoConfiguration:
- # viewPorts:
- # xs:
- # numbersOfColumnsToUse: ''
- # sm:
- # numbersOfColumnsToUse: ''
- # md:
- # numbersOfColumnsToUse: ''
- # lg:
- # numbersOfColumnsToUse: ''
-
- TextMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
-
- SelectionMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
-
- SingleSelectionMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
-
- MultiSelectionMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
-
- FileUploadMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
- implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload'
- properties:
- saveToFileMount: '1:/user_upload/'
-
- finishersEmailMixin:
- implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\EmailFinisher'
- options:
- #subject: ''
- #recipients: {}
- #senderAddress:
- #senderName: ''
- #replyToRecipients: {}
- #carbonCopyRecipients: {}
- #blindCarbonCopyRecipients: {}
- #addHtmlPart: true
- #attachUploads: true
- #translation:
- # language: 'default'
- # {@format} depends the 'format' value
- templateName: '{@format}.html'
- templateRootPaths:
- 10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/'
- #partialRootPaths: []
- #layoutRootPaths: []
- #variables: {}
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ Closure:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\ClosureFinisher
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.Closure.editor.header.label
+ predefinedDefaults:
+ options:
+ closure: ''
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ Confirmation:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher
+ options:
+ templateName: Confirmation
+ templateRootPaths:
+ 10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Confirmation/'
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.Confirmation.editor.header.label
+ predefinedDefaults:
+ options:
+ message: ''
+ contentElementUid: ''
+ FormEngine:
+ label: tt_content.finishersDefinition.Confirmation.label
+ elements:
+ contentElementUid:
+ label: tt_content.finishersDefinition.Confirmation.contentElementUid.label
+ config:
+ type: group
+ internal_type: db
+ allowed: tt_content
+ size: 1
+ maxitems: 1
+ fieldWizard:
+ recordsOverview:
+ disabled: 1
+ message:
+ label: tt_content.finishersDefinition.Confirmation.message.label
+ config:
+ type: text
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ DeleteUploads:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.DeleteUploads.editor.header.label
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ EmailToReceiver:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\EmailFinisher
+ options:
+ templateName: '{@format}.html'
+ templateRootPaths:
+ 10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/'
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label
+ predefinedDefaults:
+ options:
+ subject: ''
+ recipients: { }
+ senderAddress: ''
+ senderName: ''
+ replyToRecipients: { }
+ carbonCopyRecipients: { }
+ blindCarbonCopyRecipients: { }
+ addHtmlPart: true
+ attachUploads: true
+ translation:
+ language: ''
+ FormEngine:
+ label: tt_content.finishersDefinition.EmailToReceiver.label
+ elements:
+ subject:
+ label: tt_content.finishersDefinition.EmailToReceiver.subject.label
+ config:
+ type: input
+ eval: required
+ recipients:
+ title: tt_content.finishersDefinition.EmailToReceiver.recipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.recipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ senderAddress:
+ label: tt_content.finishersDefinition.EmailToReceiver.senderAddress.label
+ config:
+ type: input
+ eval: required
+ senderName:
+ label: tt_content.finishersDefinition.EmailToReceiver.senderName.label
+ config:
+ type: input
+ replyToRecipients:
+ title: tt_content.finishersDefinition.EmailToReceiver.replyToRecipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.replyToRecipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ carbonCopyRecipients:
+ title: tt_content.finishersDefinition.EmailToReceiver.carbonCopyRecipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.carbonCopyRecipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ blindCarbonCopyRecipients:
+ title: tt_content.finishersDefinition.EmailToReceiver.blindCarbonCopyRecipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.blindCarbonCopyRecipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ addHtmlPart:
+ label: tt_content.finishersDefinition.EmailToReceiver.addHtmlPart.label
+ config:
+ type: check
+ default: 1
+ translation:
+ language:
+ label: tt_content.finishersDefinition.EmailToReceiver.language.label
+ config:
+ type: select
+ renderType: selectSingle
+ minitems: 1
+ maxitems: 1
+ size: 1
+ items:
+ 10:
+ - tt_content.finishersDefinition.EmailToReceiver.language.1
+ - default
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ EmailToSender:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\EmailFinisher
+ options:
+ templateName: '{@format}.html'
+ templateRootPaths:
+ 10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/'
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.header.label
+ predefinedDefaults:
+ options:
+ subject: ''
+ recipients: { }
+ senderAddress: ''
+ senderName: ''
+ replyToRecipients: { }
+ carbonCopyRecipients: { }
+ blindCarbonCopyRecipients: { }
+ addHtmlPart: true
+ attachUploads: true
+ FormEngine:
+ label: tt_content.finishersDefinition.EmailToSender.label
+ elements:
+ subject:
+ label: tt_content.finishersDefinition.EmailToSender.subject.label
+ config:
+ type: input
+ eval: required
+ recipients:
+ title: tt_content.finishersDefinition.EmailToSender.recipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.recipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ senderAddress:
+ label: tt_content.finishersDefinition.EmailToSender.senderAddress.label
+ config:
+ type: input
+ eval: required
+ senderName:
+ label: tt_content.finishersDefinition.EmailToSender.senderName.label
+ config:
+ type: input
+ replyToRecipients:
+ title: tt_content.finishersDefinition.EmailToSender.replyToRecipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.replyToRecipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ carbonCopyRecipients:
+ title: tt_content.finishersDefinition.EmailToSender.carbonCopyRecipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.carbonCopyRecipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ blindCarbonCopyRecipients:
+ title: tt_content.finishersDefinition.EmailToSender.blindCarbonCopyRecipients.label
+ type: array
+ section: true
+ sectionItemKey: email
+ sectionItemValue: name
+ el:
+ _arrayContainer:
+ type: array
+ title: tt_content.finishersDefinition.EmailToSender.blindCarbonCopyRecipients.item.label
+ el:
+ email:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
+ config:
+ type: input
+ eval: 'required,email'
+ name:
+ TCEforms:
+ label: tt_content.finishersDefinition.EmailToSender.recipients.name.label
+ config:
+ type: input
+ addHtmlPart:
+ label: tt_content.finishersDefinition.EmailToSender.addHtmlPart.label
+ config:
+ type: check
+ default: 1
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ FlashMessage:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\FlashMessageFinisher
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.FlashMessage.editor.header.label
+ predefinedDefaults:
+ options:
+ messageBody: ''
+ messageTitle: ''
+ messageArguments: ''
+ messageCode: 0
+ severity: 0
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ Redirect:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.Redirect.editor.header.label
+ predefinedDefaults:
+ options:
+ pageUid: ''
+ additionalParameters: ''
+ FormEngine:
+ label: tt_content.finishersDefinition.Redirect.label
+ elements:
+ pageUid:
+ label: tt_content.finishersDefinition.Redirect.pageUid.label
+ config:
+ type: group
+ internal_type: db
+ allowed: pages
+ size: 1
+ minitems: 1
+ maxitems: 1
+ fieldWizard:
+ recordsOverview:
+ disabled: 1
+ additionalParameters:
+ label: tt_content.finishersDefinition.Redirect.additionalParameters.label
+ config:
+ type: input
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ finishersDefinition:
+ SaveToDatabase:
+ implementationClassName: TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher
+ formEditor:
+ iconIdentifier: form-finisher
+ label: formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label
+ predefinedDefaults:
+ options: { }
+++ /dev/null
-TYPO3:
- CMS:
- Form:
- ########### FORM MANAGER CONFIGURATION ###########
- formManager:
- dynamicRequireJsModules:
- app: 'TYPO3/CMS/Form/Backend/FormManager'
- viewModel: 'TYPO3/CMS/Form/Backend/FormManager/ViewModel'
- stylesheets:
- 100: 'EXT:form/Resources/Public/Css/form.css'
- translationFiles:
- 10: 'EXT:form/Resources/Private/Language/Database.xlf'
- javaScriptTranslationFile: 'EXT:form/Resources/Private/Language/locallang_formManager_javascript.xlf'
- selectablePrototypesConfiguration:
- 100:
- identifier: 'standard'
- label: 'formManager.selectablePrototypesConfiguration.standard.label'
- newFormTemplates:
- 100:
- templatePath: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/Yaml/NewForms/BlankForm.yaml'
- label: 'formManager.selectablePrototypesConfiguration.standard.newFormTemplates.blankForm.label'
- 200:
- templatePath: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/Yaml/NewForms/SimpleContactForm.yaml'
- label: 'formManager.selectablePrototypesConfiguration.standard.newFormTemplates.simpleContactForm.label'
- controller:
- deleteAction:
- errorTitle: 'formManagerController.deleteAction.error.title'
- errorMessage: 'formManagerController.deleteAction.error.body'
-
- ########### FORMEDITOR CONFIGURATION ###########
- prototypes:
- standard:
- formEditor:
- translationFiles:
- 10: 'EXT:form/Resources/Private/Language/Database.xlf'
- dynamicRequireJsModules:
- app: 'TYPO3/CMS/Form/Backend/FormEditor'
- mediator: 'TYPO3/CMS/Form/Backend/FormEditor/Mediator'
- viewModel: 'TYPO3/CMS/Form/Backend/FormEditor/ViewModel'
- additionalViewModelModules:
-
- addInlineSettings: []
- maximumUndoSteps: 10
-
- stylesheets:
- 200: 'EXT:form/Resources/Public/Css/form.css'
-
- formEditorFluidConfiguration:
- templatePathAndFilename: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/InlineTemplates.html'
- partialRootPaths:
- 10: 'EXT:form/Resources/Private/Backend/Partials/FormEditor/'
- layoutRootPaths:
- 10: 'EXT:form/Resources/Private/Backend/Layouts/FormEditor/'
-
- formEditorPartials:
- # abstract form element partials
- FormElement-_ElementToolbar: 'Stage/_ElementToolbar'
- FormElement-_UnknownElement: 'Stage/_UnknownElement'
- FormElement-Page: 'Stage/Page'
- FormElement-SummaryPage: 'Stage/SummaryPage'
- FormElement-Fieldset: 'Stage/Fieldset'
- FormElement-GridRow: 'Stage/Fieldset'
- FormElement-Text: 'Stage/SimpleTemplate'
- FormElement-Password: 'Stage/SimpleTemplate'
- FormElement-AdvancedPassword: 'Stage/SimpleTemplate'
- FormElement-Textarea: 'Stage/SimpleTemplate'
- FormElement-Checkbox: 'Stage/SimpleTemplate'
- FormElement-MultiCheckbox: 'Stage/SelectTemplate'
- FormElement-MultiSelect: 'Stage/SelectTemplate'
- FormElement-RadioButton: 'Stage/SelectTemplate'
- FormElement-SingleSelect: 'Stage/SelectTemplate'
- FormElement-DatePicker: 'Stage/SimpleTemplate'
- FormElement-StaticText: 'Stage/StaticText'
- FormElement-Hidden: 'Stage/SimpleTemplate'
- FormElement-ContentElement: 'Stage/ContentElement'
- FormElement-FileUpload: 'Stage/FileUploadTemplate'
- FormElement-ImageUpload: 'Stage/FileUploadTemplate'
- FormElement-Email: 'Stage/SimpleTemplate'
- FormElement-Telephone: 'Stage/SimpleTemplate'
- FormElement-Url: 'Stage/SimpleTemplate'
- FormElement-Number: 'Stage/SimpleTemplate'
- FormElement-Date: 'Stage/SimpleTemplate'
-
- # modals
- Modal-InsertElements: 'Modals/InsertElements'
- Modal-InsertPages: 'Modals/InsertPages'
- Modal-ValidationErrors: 'Modals/ValidationErrors'
-
- # inspector editors
- Inspector-FormElementHeaderEditor: 'Inspector/FormElementHeaderEditor'
- Inspector-CollectionElementHeaderEditor: 'Inspector/CollectionElementHeaderEditor'
- Inspector-TextEditor: 'Inspector/TextEditor'
- Inspector-PropertyGridEditor: 'Inspector/PropertyGridEditor'
- Inspector-SingleSelectEditor: 'Inspector/SingleSelectEditor'
- Inspector-MultiSelectEditor: 'Inspector/MultiSelectEditor'
- Inspector-GridColumnViewPortConfigurationEditor: 'Inspector/GridColumnViewPortConfigurationEditor'
- Inspector-TextareaEditor: 'Inspector/TextareaEditor'
- Inspector-RemoveElementEditor: 'Inspector/RemoveElementEditor'
- Inspector-FinishersEditor: 'Inspector/FinishersEditor'
- Inspector-ValidatorsEditor: 'Inspector/ValidatorsEditor'
- Inspector-RequiredValidatorEditor: 'Inspector/RequiredValidatorEditor'
- Inspector-CheckboxEditor: 'Inspector/CheckboxEditor'
- Inspector-ValidationErrorMessageEditor: 'Inspector/ValidationErrorMessageEditor'
- Inspector-Typo3WinBrowserEditor: 'Inspector/Typo3WinBrowserEditor'
- Inspector-MaximumFileSizeEditor: 'Inspector/MaximumFileSizeEditor'
-
- formElementPropertyValidatorsDefinition:
- NotEmpty:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NotEmpty.label'
- Integer:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.Integer.label'
- NaiveEmail:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label'
- NaiveEmailOrEmpty:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label'
- FormElementIdentifierWithinCurlyBracesInclusive:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label'
- FormElementIdentifierWithinCurlyBracesExclusive:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label'
- FileSize:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FileSize.label'
- RFC3339FullDate:
- errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.RFC3339FullDate.label'
-
- formElementGroups:
- input:
- label: 'formEditor.formElementGroups.input.label'
- html5:
- label: 'formEditor.formElementGroups.html5.label'
- select:
- label: 'formEditor.formElementGroups.select.label'
- custom:
- label: 'formEditor.formElementGroups.custom.label'
- container:
- label: 'formEditor.formElementGroups.container.label'
- page:
- label: 'formEditor.formElementGroups.page.label'
-
- ########### DEFAULT FORM ELEMENT DEFINITIONS ###########
- formElementsDefinition:
- Form:
- formEditor:
- _isCompositeFormElement: false
- _isTopLevelFormElement: true
-
- saveSuccessFlashMessageTitle: 'formEditor.elements.Form.saveSuccessFlashMessageTitle'
- saveSuccessFlashMessageMessage: 'formEditor.elements.Form.saveSuccessFlashMessageMessage'
- saveErrorFlashMessageTitle: 'formEditor.elements.Form.saveErrorFlashMessageTitle'
- saveErrorFlashMessageMessage: 'formEditor.elements.Form.saveErrorFlashMessageMessage'
-
- modalValidationErrorsDialogTitle: 'formEditor.modals.validationErrors.dialogTitle'
- modalValidationErrorsConfirmButton: 'formEditor.modals.validationErrors.confirmButton'
-
- modalInsertElementsDialogTitle: 'formEditor.modals.insertElements.dialogTitle'
- modalInsertPagesDialogTitle: 'formEditor.modals.newPages.dialogTitle'
-
- modalCloseDialogMessage: 'formEditor.modals.close.dialogMessage'
- modalCloseDialogTitle: 'formEditor.modals.close.dialogTitle'
- modalCloseConfirmButton: 'formEditor.modals.close.confirmButton'
- modalCloseCancleButton: 'formEditor.modals.close.cancleButton'
-
- modalRemoveElementDialogTitle: 'formEditor.modals.removeElement.dialogTitle'
- modalRemoveElementDialogMessage: 'formEditor.modals.removeElement.dialogMessage'
- modalRemoveElementConfirmButton: 'formEditor.modals.removeElement.confirmButton'
- modalRemoveElementCancleButton: 'formEditor.modals.removeElement.cancleButton'
- modalRemoveElementLastAvailablePageFlashMessageTitle: 'formEditor.modals.removeElement.lastAvailablePageFlashMessageTitle'
- modalRemoveElementLastAvailablePageFlashMessageMessage: 'formEditor.modals.removeElement.lastAvailablePageFlashMessageMessage'
-
- inspectorEditorFormElementSelectorNoElements: 'formEditor.inspector.editor.formelement_selector.no_elements'
-
- paginationTitle: 'formEditor.pagination.title'
-
- iconIdentifier: 'content-form'
- predefinedDefaults:
- renderingOptions:
- submitButtonLabel: 'formEditor.elements.Form.editor.submitButtonLabel.value'
- editors:
- 300:
- identifier: 'submitButtonLabel'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Form.editor.submitButtonLabel.label'
- propertyPath: 'renderingOptions.submitButtonLabel'
- 900:
- identifier: 'finishers'
- templateName: 'Inspector-FinishersEditor'
- label: 'formEditor.elements.Form.editor.finishers.label'
- selectOptions:
- 10:
- value: ''
- label: 'formEditor.elements.Form.editor.finishers.EmptyValue.label'
- 20:
- value: 'EmailToSender'
- label: 'formEditor.elements.Form.editor.finishers.EmailToSender.label'
- 30:
- value: 'EmailToReceiver'
- label: 'formEditor.elements.Form.editor.finishers.EmailToReceiver.label'
- 40:
- value: 'Redirect'
- label: 'formEditor.elements.Form.editor.finishers.Redirect.label'
- 50:
- value: 'DeleteUploads'
- label: 'formEditor.elements.Form.editor.finishers.DeleteUploads.label'
- 60:
- value: 'Confirmation'
- label: 'formEditor.elements.Form.editor.finishers.Confirmation.label'
-
- propertyCollections:
- finishers:
- 10:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.formEmailFinisherMixin'
- identifier: 'EmailToSender'
-
- 20:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.formEmailFinisherMixin'
- identifier: 'EmailToReceiver'
- editors:
- 100:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label'
- 200:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.subject.label'
- 350:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipients.label'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipients.fieldExplanationText'
- 500:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.label'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.fieldExplanationText'
- 600:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.label'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.fieldExplanationText'
- 750:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.replyToRecipients.label'
- 850:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.carbonCopyRecipients.label'
- 950:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.blindCarbonCopyRecipients.label'
- 1050:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.addHtmlPart.label'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.addHtmlPart.fieldExplanationText'
- 1100:
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.attachUploads.label'
- 1200:
- identifier: 'language'
- templateName: 'Inspector-SingleSelectEditor'
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.language.label'
- propertyPath: 'options.translation.language'
- selectOptions:
- 10:
- value: 'default'
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.language.1'
-
- 30:
- identifier: 'Redirect'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.Form.finisher.Redirect.editor.header.label'
- 200:
- identifier: 'pageUid'
- templateName: 'Inspector-Typo3WinBrowserEditor'
- label: 'formEditor.elements.Form.finisher.Redirect.editor.pageUid.label'
- buttonLabel: 'formEditor.elements.Form.finisher.Redirect.editor.pageUid.buttonLabel'
- browsableType: pages
- propertyPath: 'options.pageUid'
- propertyValidatorsMode: 'OR'
- propertyValidators:
- 10: 'Integer'
- 20: 'FormElementIdentifierWithinCurlyBracesExclusive'
-
- 300:
- identifier: 'additionalParameters'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Form.finisher.Redirect.editor.additionalParameters.label'
- propertyPath: 'options.additionalParameters'
-
- 40:
- identifier: 'DeleteUploads'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.Form.finisher.DeleteUploads.editor.header.label'
-
- 50:
- identifier: 'Confirmation'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.Form.finisher.Confirmation.editor.header.label'
- 200:
- identifier: 'contentElement'
- templateName: 'Inspector-Typo3WinBrowserEditor'
- label: 'formEditor.elements.Form.finisher.Confirmation.editor.contentElement.label'
- buttonLabel: 'formEditor.elements.Form.finisher.Confirmation.editor.contentElement.buttonLabel'
- browsableType: tt_content
- propertyPath: 'options.contentElementUid'
- propertyValidatorsMode: 'OR'
- propertyValidators:
- 10: 'IntegerOrEmpty'
- 20: 'FormElementIdentifierWithinCurlyBracesExclusive'
- 300:
- identifier: 'message'
- templateName: 'Inspector-TextareaEditor'
- label: 'formEditor.elements.Form.finisher.Confirmation.editor.message.label'
- propertyPath: 'options.message'
- fieldExplanationText: 'formEditor.elements.Form.finisher.Confirmation.editor.message.fieldExplanationText'
-
- 60:
- identifier: 'Closure'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.Form.finisher.Closure.editor.header.label'
-
- 70:
- identifier: 'FlashMessage'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.Form.finisher.FlashMessage.editor.header.label'
-
- 80:
- identifier: 'SaveToDatabase'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label'
-
- ### FORM ELEMENTS: CONTAINER ###
- Fieldset:
- formEditor:
- label: 'formEditor.elements.Fieldset.label'
- group: container
- groupSorting: 100
- _isCompositeFormElement: true
- iconIdentifier: 'form-fieldset'
- editors:
- 200:
- label: 'formEditor.elements.Fieldset.editor.label.label'
- 230: null
- 800: null
-
- GridRow:
- formEditor:
- label: 'formEditor.elements.GridRow.label'
- group: container
- groupSorting: 300
- _isCompositeFormElement: true
- _isGridRowFormElement: true
- iconIdentifier: 'form-gridrow'
- editors:
- 200:
- label: 'formEditor.elements.GridRow.editor.label.label'
- 230: null
- 800: null
-
- ### FORM ELEMENTS: PAGE TYPES ###
- Page:
- formEditor:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
- predefinedDefaults:
- renderingOptions:
- previousButtonLabel: 'formEditor.elements.Page.editor.previousButtonLabel.value'
- nextButtonLabel: 'formEditor.elements.Page.editor.nextButtonLabel.value'
- label: 'formEditor.elements.Page.label'
- group: page
- groupSorting: 100
- _isTopLevelFormElement: true
- _isCompositeFormElement: true
- iconIdentifier: 'form-page'
- editors:
- 200:
- label: 'formEditor.elements.Page.editor.label.label'
- 300:
- identifier: 'previousButtonLabel'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Page.editor.previousButtonLabel.label'
- propertyPath: 'renderingOptions.previousButtonLabel'
- 400:
- identifier: 'nextButtonLabel'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Page.editor.nextButtonLabel.label'
- propertyPath: 'renderingOptions.nextButtonLabel'
-
- SummaryPage:
- formEditor:
- predefinedDefaults:
- renderingOptions:
- previousButtonLabel: 'formEditor.elements.SummaryPage.editor.previousButtonLabel.value'
- nextButtonLabel: 'formEditor.elements.SummaryPage.editor.nextButtonLabel.value'
- label: 'formEditor.elements.SummaryPage.label'
- group: page
- groupSorting: 200
- _isTopLevelFormElement: true
- _isCompositeFormElement: false
- iconIdentifier: 'form-summary-page'
- editors:
- 200:
- label: 'formEditor.elements.SummaryPage.editor.label.label'
- 300:
- identifier: 'previousButtonLabel'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.SummaryPage.editor.previousButtonLabel.label'
- propertyPath: 'renderingOptions.previousButtonLabel'
- 400:
- identifier: 'nextButtonLabel'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.SummaryPage.editor.nextButtonLabel.label'
- propertyPath: 'renderingOptions.nextButtonLabel'
-
- ### FORM ELEMENTS: INPUT ###
-
- Text:
- formEditor:
- label: 'formEditor.elements.Text.label'
- group: input
- groupSorting: 100
- iconIdentifier: 'form-text'
-
- Password:
- formEditor:
- label: 'formEditor.elements.Password.label'
- group: input
- groupSorting: 300
- iconIdentifier: 'form-password'
-
- AdvancedPassword:
- formEditor:
- label: 'formEditor.elements.AdvancedPassword.label'
- group: custom
- groupSorting: 500
- predefinedDefaults:
- properties:
- confirmationLabel: 'formEditor.element.AdvancedPassword.editor.confirmationLabel.predefinedDefaults'
- defaultValue: null
- iconIdentifier: 'form-advanced-password'
- editors:
- 300:
- identifier: 'confirmationLabel'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.AdvancedPassword.editor.confirmationLabel.label'
- propertyPath: 'properties.confirmationLabel'
- 500: null
-
- Hidden:
- formEditor:
- label: 'formEditor.elements.Hidden.label'
- group: custom
- groupSorting: 300
- iconIdentifier: 'form-hidden'
- predefinedDefaults:
- defaultValue: ''
- editors:
- 230: null
- 300:
- identifier: 'defaultValue'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Hidden.editor.defaultValue.label'
- propertyPath: 'defaultValue'
- 800: null
-
- Textarea:
- formEditor:
- label: 'formEditor.elements.Textarea.label'
- group: input
- groupSorting: 200
- iconIdentifier: 'form-textarea'
- editors:
- 900:
- selectOptions:
- # remove email validator
- 50: null
-
- ### FORM ELEMENTS: HTML5 ###
- Email:
- formEditor:
- label: 'formEditor.elements.Email.label'
- group: html5
- groupSorting: 100
- iconIdentifier: 'form-email'
- predefinedDefaults:
- validators:
- -
- identifier: EmailAddress
- editors:
- 500:
- propertyValidators:
- 10: 'NaiveEmailOrEmpty'
- 900:
- selectOptions:
- 20: null
- 30: null
- 40: null
- 60: null
- 70: null
- 80: null
- 90: null
-
- propertyCollections:
- validators:
- 40:
- editors:
- 9999: null
-
- Telephone:
- formEditor:
- label: 'formEditor.elements.Telephone.label'
- group: html5
- groupSorting: 200
- iconIdentifier: 'form-telephone'
-
- editors:
- 900:
- selectOptions:
- 20: null
- 30: null
- 40: null
- 50: null
- 60: null
- 70: null
- 80: null
-
- propertyCollections:
- validators:
- 80:
- editors:
- 9999: null
-
- Url:
- formEditor:
- label: 'formEditor.elements.Url.label'
- group: html5
- groupSorting: 300
- iconIdentifier: 'form-url'
-
- editors:
- 900:
- selectOptions:
- 20: null
- 30: null
- 40: null
- 50: null
- 60: null
- 70: null
- 80: null
-
- propertyCollections:
- validators:
- 80:
- editors:
- 9999: null
-
- Number:
- formEditor:
- label: 'formEditor.elements.Number.label'
- group: html5
- groupSorting: 400
- iconIdentifier: 'form-number'
- predefinedDefaults:
- properties:
- fluidAdditionalAttributes:
- step: 1
- validators:
- -
- identifier: Number
- editors:
- 500:
- propertyValidators:
- 10: 'IntegerOrEmpty'
- 700:
- identifier: 'step'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.TextMixin.editor.step.label'
- propertyPath: 'properties.fluidAdditionalAttributes.step'
- propertyValidators:
- 10: 'Integer'
-
- 900:
- selectOptions:
- 20: null
- 30: null
- 40: null
- 50: null
- 60:
- value: 'Number'
- label: 'formEditor.elements.Number.editor.validators.Number.label'
- 70: null
- 90: null
-
- propertyCollections:
- validators:
- 60:
- identifier: 'Number'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.Number.editor.header.label'
- 9999: null
-
- Date:
- formEditor:
- label: 'formEditor.elements.Date.label'
- group: html5
- groupSorting: 500
- iconIdentifier: 'form-date-picker'
- predefinedDefaults:
- properties:
- fluidAdditionalAttributes:
- min: ''
- max: ''
- step: 1
- editors:
- 400: null
- 500:
- placeholder: 'formEditor.elements.Date.editor.defaultValue.placeholder'
- propertyValidators:
- 10: 'RFC3339FullDateOrEmpty'
- 550:
- identifier: 'step'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Date.editor.step.label'
- fieldExplanationText: 'formEditor.elements.Date.editor.step.fieldExplanationText'
- propertyPath: 'properties.fluidAdditionalAttributes.step'
- propertyValidators:
- 10: 'Integer'
- 900:
- selectOptions:
- 20:
- value: 'DateRange'
- label: 'formEditor.elements.Date.editor.validators.DateRange.label'
- 30: null
- 40: null
- 50: null
- 60: null
- 70: null
- 80: null
- 90: null
-
- propertyCollections:
- validators:
- 10:
- identifier: 'DateRange'
- editors:
- 100:
- label: 'formEditor.elements.DatePicker.validators.DateRange.editor.header.label'
- 200:
- errorCodes:
- 10: 1521293685
- 20: 1521293686
- 30: 1521293687
- 250:
- identifier: 'minimum'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.DatePicker.validators.DateRange.editor.minimum'
- placeholder: 'formEditor.elements.DatePicker.validators.DateRange.editor.minimum.placeholder'
- propertyPath: 'options.minimum'
- propertyValidators:
- 10: 'RFC3339FullDateOrEmpty'
- additionalElementPropertyPaths:
- 10: 'properties.fluidAdditionalAttributes.min'
- 300:
- identifier: 'maximum'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.DatePicker.validators.DateRange.editor.maximum'
- placeholder: 'formEditor.elements.DatePicker.validators.DateRange.editor.maximum.placeholder'
- propertyPath: 'options.maximum'
- propertyValidators:
- 10: 'RFC3339FullDateOrEmpty'
- additionalElementPropertyPaths:
- 10: 'properties.fluidAdditionalAttributes.max'
-
- ### FORM ELEMENTS: SELECT ###
- Checkbox:
- formEditor:
- label: 'formEditor.elements.Checkbox.label'
- group: select
- groupSorting: 100
- iconIdentifier: 'form-checkbox'
-
- MultiCheckbox:
- formEditor:
- label: 'formEditor.elements.MultiCheckbox.label'
- group: select
- groupSorting: 400
- iconIdentifier: 'form-multi-checkbox'
- editors:
- 800:
- propertyPath: null
- propertyValue: null
-
- MultiSelect:
- formEditor:
- label: 'formEditor.elements.MultiSelect.label'
- group: select
- groupSorting: 500
- iconIdentifier: 'form-multi-select'
- editors:
- 250:
- identifier: 'inactiveOption'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.SelectionMixin.editor.inactiveOption.label'
- propertyPath: 'properties.prependOptionLabel'
- fieldExplanationText: 'formEditor.elements.SelectionMixin.editor.inactiveOption.fieldExplanationText'
- doNotSetIfPropertyValueIsEmpty: true
-
- RadioButton:
- formEditor:
- label: 'formEditor.elements.RadioButton.label'
- group: select
- groupSorting: 300
- iconIdentifier: 'form-radio-button'
-
- SingleSelect:
- formEditor:
- label: 'formEditor.elements.SingleSelect.label'
- group: select
- groupSorting: 200
- iconIdentifier: 'form-single-select'
- editors:
- 250:
- identifier: 'inactiveOption'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.SelectionMixin.editor.inactiveOption.label'
- propertyPath: 'properties.prependOptionLabel'
- fieldExplanationText: 'formEditor.elements.SelectionMixin.editor.inactiveOption.fieldExplanationText'
- doNotSetIfPropertyValueIsEmpty: true
-
- ### FORM ELEMENTS: CUSTOM ###
- DatePicker:
- formEditor:
- label: 'formEditor.elements.DatePicker.label'
- group: custom
- groupSorting: 200
- predefinedDefaults:
- properties:
- dateFormat: 'Y-m-d'
- enableDatePicker: true
- displayTimeSelector: false
- iconIdentifier: 'form-date-picker'
- editors:
- 300:
- identifier: 'dateFormat'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.DatePicker.editor.dateFormat.label'
- propertyPath: 'properties.dateFormat'
- 350:
- identifier: 'placeholder'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.TextMixin.editor.placeholder.label'
- propertyPath: 'properties.fluidAdditionalAttributes.placeholder'
- doNotSetIfPropertyValueIsEmpty: true
- 400:
- identifier: 'enableDatePicker'
- templateName: 'Inspector-CheckboxEditor'
- label: 'formEditor.elements.DatePicker.editor.enableDatePicker.label'
- propertyPath: 'properties.enableDatePicker'
- 500:
- identifier: 'displayTimeSelector'
- templateName: 'Inspector-CheckboxEditor'
- label: 'formEditor.elements.DatePicker.editor.displayTimeSelector.label'
- propertyPath: 'properties.displayTimeSelector'
- 900:
- identifier: 'validators'
- templateName: 'Inspector-ValidatorsEditor'
- label: 'formEditor.elements.DatePicker.editor.validators.label'
- selectOptions:
- 10:
- value: ''
- label: 'formEditor.elements.DatePicker.editor.validators.EmptyValue.label'
- 20:
- value: 'DateTime'
- label: 'formEditor.elements.DatePicker.editor.validators.DateTime.label'
-
- propertyCollections:
- validators:
- 10:
- identifier: 'DateTime'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.DatePicker.validators.DateTime.editor.header.label'
- 200:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.DatePicker.validators.DateTime.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.DatePicker.validators.DateTime.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1238087674
- propertyPath: 'properties.validationErrorMessages'
-
- StaticText:
- formEditor:
- label: 'formEditor.elements.StaticText.label'
- group: custom
- groupSorting: 600
- predefinedDefaults:
- properties:
- text: ''
- iconIdentifier: 'form-static-text'
- editors:
- 200:
- label: 'formEditor.elements.StaticText.editor.label.label'
- 300:
- identifier: 'staticText'
- templateName: 'Inspector-TextareaEditor'
- label: 'formEditor.elements.StaticText.editor.staticText.label'
- propertyPath: 'properties.text'
-
- ContentElement:
- formEditor:
- label: 'formEditor.elements.ContentElement.label'
- group: custom
- groupSorting: 700
- predefinedDefaults:
- label: 'formEditor.elements.ContentElement.label'
- properties:
- contentElementUid: ''
- iconIdentifier: 'form-content-element'
- editors:
- 200: null
- 300:
- identifier: 'contentElement'
- templateName: 'Inspector-Typo3WinBrowserEditor'
- label: 'formEditor.elements.ContentElement.editor.contentElement.label'
- buttonLabel: 'formEditor.elements.ContentElement.editor.contentElement.buttonLabel'
- browsableType: tt_content
- propertyPath: 'properties.contentElementUid'
- propertyValidatorsMode: 'OR'
- propertyValidators:
- 10: 'Integer'
- 20: 'FormElementIdentifierWithinCurlyBracesExclusive'
-
- ### FORM ELEMENTS: UPLOADS ###
- FileUpload:
- formEditor:
- label: 'formEditor.elements.FileUpload.label'
- group: custom
- groupSorting: 100
- predefinedDefaults:
- properties:
- allowedMimeTypes: ['application/pdf']
- iconIdentifier: 'form-file-upload'
- editors:
- 300:
- identifier: 'allowedMimeTypes'
- templateName: 'Inspector-MultiSelectEditor'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.label'
- propertyPath: 'properties.allowedMimeTypes'
- selectOptions:
- 10:
- value: 'application/msword'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.doc'
- 20:
- value: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.docx'
- 30:
- value: 'application/msexcel'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.xls'
- 40:
- value: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.xlsx'
- 50:
- value: 'application/pdf'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.pdf'
- 60:
- value: 'application/vnd.oasis.opendocument.text'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.odt'
- 70:
- value: 'application/vnd.oasis.opendocument.spreadsheet-template'
- label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.ods'
-
- ImageUpload:
- formEditor:
- label: 'formEditor.elements.ImageUpload.label'
- group: custom
- groupSorting: 400
- predefinedDefaults:
- properties:
- allowedMimeTypes: ['image/jpeg']
- iconIdentifier: 'form-image-upload'
- editors:
- 300:
- identifier: 'allowedMimeTypes'
- templateName: 'Inspector-MultiSelectEditor'
- label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.label'
- propertyPath: 'properties.allowedMimeTypes'
- selectOptions:
- 10:
- value: 'image/jpeg'
- label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.jpg'
- 20:
- value: 'image/png'
- label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.png'
- 30:
- value: 'image/bmp'
- label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.bmp'
-
- ### FINISHERS ###
- finishersDefinition:
- EmailToSender:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.EmailToSender.editor.header.label'
- predefinedDefaults:
- options:
- subject: ''
- recipients: {}
- senderAddress: ''
- senderName: ''
- replyToRecipients: {}
- carbonCopyRecipients: {}
- blindCarbonCopyRecipients: {}
- addHtmlPart: true
- attachUploads: true
-
- EmailToReceiver:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label'
- predefinedDefaults:
- options:
- subject: ''
- recipients: {}
- senderAddress: ''
- senderName: ''
- replyToRecipients: {}
- carbonCopyRecipients: {}
- blindCarbonCopyRecipients: {}
- addHtmlPart: true
- attachUploads: true
- translation:
- language: ''
-
- Redirect:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.Redirect.editor.header.label'
- predefinedDefaults:
- options:
- pageUid: ''
- additionalParameters: ''
-
- Closure:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.Closure.editor.header.label'
- predefinedDefaults:
- options:
- closure: ''
-
- Confirmation:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.Confirmation.editor.header.label'
- predefinedDefaults:
- options:
- message: ''
- contentElementUid: ''
-
- FlashMessage:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.FlashMessage.editor.header.label'
- predefinedDefaults:
- options:
- messageBody: ''
- messageTitle: ''
- messageArguments: ''
- messageCode: 0
- severity: 0
-
- SaveToDatabase:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label'
- predefinedDefaults:
- options: []
-
- DeleteUploads:
- formEditor:
- iconIdentifier: 'form-finisher'
- label: 'formEditor.elements.Form.finisher.DeleteUploads.editor.header.label'
-
- ### VALIDATORS ###
- validatorsDefinition:
- NotEmpty:
- formEditor:
- iconIdentifier: 'form-validator'
- label : 'formEditor.elements.FormElement.editor.requiredValidator.label'
- DateTime:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.DatePicker.validators.DateTime.editor.header.label'
- Alphanumeric:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.Alphanumeric.label'
- Text:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.Text.label'
- StringLength:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.StringLength.label'
- predefinedDefaults:
- options:
- minimum: ''
- maximum: ''
- EmailAddress:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.EmailAddress.label'
- Integer:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.Integer.label'
- Float:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.Float.label'
- Number:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.Number.label'
- NumberRange:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.NumberRange.label'
- predefinedDefaults:
- options:
- minimum: ''
- maximum: ''
- RegularExpression:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.TextMixin.editor.validators.RegularExpression.label'
- predefinedDefaults:
- options:
- regularExpression: ''
- Count:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label'
- predefinedDefaults:
- options:
- minimum: ''
- maximum: ''
- FileSize:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label'
- predefinedDefaults:
- options:
- minimum: '0B'
- maximum: '10M'
- DateRange:
- formEditor:
- iconIdentifier: 'form-validator'
- label: 'formEditor.elements.FormElement.validators.DateRange.editor.header.label'
- predefinedDefaults:
- options:
- minimum: ''
- maximum: ''
-
- ########### MIXINS ###########
- mixins:
- ########### FORM ELEMENT MIXINS ###########
- formElementMixins:
- BaseFormElementMixin:
- formEditor:
- predefinedDefaults: []
- editors:
- 100:
- identifier: 'header'
- templateName: 'Inspector-FormElementHeaderEditor'
- 200:
- identifier: 'label'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.BaseFormElementMixin.editor.label.label'
- propertyPath: 'label'
-
- RemoveButtonMixin:
- 9999:
- identifier: 'removeButton'
- templateName: 'Inspector-RemoveElementEditor'
-
- RemovableFormElementMixin:
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemoveButtonMixin'
-
- BaseCollectionEditorsMixin:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemoveButtonMixin'
- 100:
- identifier: 'header'
- templateName: 'Inspector-CollectionElementHeaderEditor'
- label: ''
-
- MinimumMaximumEditorsMixin:
- 200:
- identifier: 'minimum'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label'
- propertyPath: 'options.minimum'
- propertyValidators:
- 10: 'Integer'
- 300:
- identifier: 'maximum'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label'
- propertyPath: 'options.maximum'
- propertyValidators:
- 10: 'Integer'
-
- ReadOnlyFormElementMixin:
- formEditor:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
- editors:
- 200:
- label: 'formEditor.elements.ReadOnlyFormElement.editor.label.label'
-
- FormElementMixin:
- formEditor:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
- editors:
- 200:
- label: 'formEditor.elements.FormElement.editor.label.label'
-
- 230:
- identifier: 'elementDescription'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.FormElement.editor.elementDescription.label'
- propertyPath: 'properties.elementDescription'
-
- 700:
- identifier: 'gridColumnViewPortConfiguration'
- templateName: 'Inspector-GridColumnViewPortConfigurationEditor'
- label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label'
- configurationOptions:
- viewPorts:
- 10:
- viewPortIdentifier: 'xs'
- label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label'
- 20:
- viewPortIdentifier: 'sm'
- label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label'
- 30:
- viewPortIdentifier: 'md'
- label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label'
- 40:
- viewPortIdentifier: 'lg'
- label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label'
- numbersOfColumnsToUse:
- label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label'
- propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
- fieldExplanationText: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText'
-
- 800:
- identifier: 'requiredValidator'
- templateName: 'Inspector-RequiredValidatorEditor'
- label: 'formEditor.elements.FormElement.editor.requiredValidator.label'
- validatorIdentifier: 'NotEmpty'
- propertyPath: 'properties.fluidAdditionalAttributes.required'
- propertyValue: 'required'
- configurationOptions:
- validationErrorMessage:
- label: 'formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label'
- propertyPath: 'properties.validationErrorMessages'
- fieldExplanationText: 'formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221560910
- 20: 1221560718
- 30: 1347992400
- 40: 1347992453
-
- TextMixin:
- formEditor:
- predefinedDefaults:
- defaultValue: ''
- editors:
- 400:
- identifier: 'placeholder'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.TextMixin.editor.placeholder.label'
- propertyPath: 'properties.fluidAdditionalAttributes.placeholder'
- doNotSetIfPropertyValueIsEmpty: true
- 500:
- identifier: 'defaultValue'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.TextMixin.editor.defaultValue.label'
- propertyPath: 'defaultValue'
- 900:
- identifier: 'validators'
- templateName: 'Inspector-ValidatorsEditor'
- label: 'formEditor.elements.TextMixin.editor.validators.label'
- selectOptions:
- 10:
- value: ''
- label: 'formEditor.elements.TextMixin.editor.validators.EmptyValue.label'
- 20:
- value: 'Alphanumeric'
- label: 'formEditor.elements.TextMixin.editor.validators.Alphanumeric.label'
- 30:
- value: 'Text'
- label: 'formEditor.elements.TextMixin.editor.validators.Text.label'
- 40:
- value: 'StringLength'
- label: 'formEditor.elements.TextMixin.editor.validators.StringLength.label'
- 50:
- value: 'EmailAddress'
- label: 'formEditor.elements.TextMixin.editor.validators.EmailAddress.label'
- 60:
- value: 'Integer'
- label: 'formEditor.elements.TextMixin.editor.validators.Integer.label'
- 70:
- value: 'Float'
- label: 'formEditor.elements.TextMixin.editor.validators.Float.label'
- 80:
- value: 'NumberRange'
- label: 'formEditor.elements.TextMixin.editor.validators.NumberRange.label'
- 90:
- value: 'RegularExpression'
- label: 'formEditor.elements.TextMixin.editor.validators.RegularExpression.label'
-
- propertyCollections:
- validators:
- 10:
- identifier: 'Alphanumeric'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label'
- 200:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221551320
- propertyPath: 'properties.validationErrorMessages'
-
- 20:
- identifier: 'Text'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.Text.editor.header.label'
- 200:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221565786
- propertyPath: 'properties.validationErrorMessages'
-
- 30:
- identifier: 'StringLength'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.StringLength.editor.header.label'
- 200:
- additionalElementPropertyPaths:
- 10: 'properties.fluidAdditionalAttributes.minlength'
- 300:
- additionalElementPropertyPaths:
- 10: 'properties.fluidAdditionalAttributes.maxlength'
- 400:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1238110957
- 20: 1269883975
- 30: 1428504122
- 40: 1238108068
- 50: 1238108069
- propertyPath: 'properties.validationErrorMessages'
-
- 40:
- identifier: 'EmailAddress'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label'
- 200:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221559976
- propertyPath: 'properties.validationErrorMessages'
-
- 50:
- identifier: 'Integer'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.Integer.editor.header.label'
- 200:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221560494
- propertyPath: 'properties.validationErrorMessages'
-
- 60:
- identifier: 'Float'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.Float.editor.header.label'
- 200:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221560288
- propertyPath: 'properties.validationErrorMessages'
-
- 70:
- identifier: 'NumberRange'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.NumberRange.editor.header.label'
- 200:
- additionalElementPropertyPaths:
- 10: 'properties.fluidAdditionalAttributes.min'
- 300:
- additionalElementPropertyPaths:
- 10: 'properties.fluidAdditionalAttributes.max'
- 400:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221563685
- 20: 1221561046
- propertyPath: 'properties.validationErrorMessages'
-
- 80:
- identifier: 'RegularExpression'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label'
- 200:
- identifier: 'regex'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText'
- propertyPath: 'options.regularExpression'
- propertyValidators:
- 10: 'NotEmpty'
- 300:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1221565130
- propertyPath: 'properties.validationErrorMessages'
-
- SelectionMixin:
- formEditor:
- predefinedDefaults:
- properties:
- options: []
- editors:
- 300:
- identifier: 'options'
- templateName: 'Inspector-PropertyGridEditor'
- label: 'formEditor.elements.SelectionMixin.editor.options.label'
- propertyPath: 'properties.options'
- propertyValidators:
- 10: 'NotEmpty'
- isSortable: true
- enableAddRow: true
- enableDeleteRow: true
- removeLastAvailableRowFlashMessageTitle: 'formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle'
- removeLastAvailableRowFlashMessageMessage: 'formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage'
-
- SingleSelectionMixin:
- formEditor:
- editors:
- 300:
- shouldShowPreselectedValueColumn: 'single'
- multiSelection: false
-
- MultiSelectionMixin:
- formEditor:
- editors:
- 300:
- shouldShowPreselectedValueColumn: 'multiple'
- multiSelection: true
- 900:
- identifier: 'validators'
- templateName: 'Inspector-ValidatorsEditor'
- label: 'formEditor.elements.MultiSelectionMixin.editor.validators.label'
- selectOptions:
- 10:
- value: ''
- label: 'formEditor.elements.MultiSelectionMixin.editor.validators.EmptyValue.label'
- 20:
- value: 'Count'
- label: 'formEditor.elements.MultiSelectionMixin.editor.validators.Count.label'
-
- propertyCollections:
- validators:
- 10:
- identifier: 'Count'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
- 100:
- label: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label'
- 400:
- identifier: 'validationErrorMessage'
- templateName: 'Inspector-ValidationErrorMessageEditor'
- label: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.validationErrorMessage.label'
- fieldExplanationText: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.validationErrorMessage.fieldExplanationText'
- errorCodes:
- 10: 1475002976
- 20: 1475002994
- propertyPath: 'properties.validationErrorMessages'
-
- FileUploadMixin:
- formEditor:
- predefinedDefaults:
- properties:
- saveToFileMount: '1:/user_upload/'
- editors:
- 400:
- identifier: 'saveToFileMount'
- templateName: 'Inspector-SingleSelectEditor'
- label: 'formEditor.elements.FileUploadMixin.editor.saveToFileMount.label'
- propertyPath: 'properties.saveToFileMount'
- selectOptions:
- 10:
- value: '1:/user_upload/'
- label: '1:/user_upload/'
- 900:
- identifier: 'validators'
- templateName: 'Inspector-ValidatorsEditor'
- label: 'formEditor.elements.FileUploadMixin.editor.validators.label'
- selectOptions:
- 10:
- value: ''
- label: 'formEditor.elements.FileUploadMixin.editor.validators.EmptyValue.label'
- 20:
- value: 'FileSize'
- label: 'formEditor.elements.FileUploadMixin.editor.validators.FileSize.label'
-
- propertyCollections:
- validators:
- 10:
- identifier: 'FileSize'
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
- 100:
- label: 'formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label'
- 150:
- identifier: 'maximumFileSize'
- templateName: 'Inspector-MaximumFileSizeEditor'
- label: 'formEditor.elements.FileUpload.editor.maximumFileSize.label'
- 200:
- propertyValidators:
- 10: 'FileSize'
- 300:
- propertyValidators:
- 10: 'FileSize'
-
- formEmailFinisherMixin:
- editors:
- __inheritances:
- 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
- 100:
- label: 'formEditor.elements.Form.finisher.EmailToSender.editor.header.label'
- 200:
- identifier: 'subject'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Form.finisher.EmailToSender.editor.subject.label'
- propertyPath: 'options.subject'
- enableFormelementSelectionButton: true
- propertyValidators:
- 10: 'NotEmpty'
- 20: 'FormElementIdentifierWithinCurlyBracesInclusive'
- 350:
- identifier: 'recipients'
- templateName: 'Inspector-PropertyGridEditor'
- label: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.label
- propertyPath: 'options.recipients'
- propertyValidators:
- 10: 'NotEmpty'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipients.fieldExplanationText'
- isSortable: true
- enableAddRow: true
- enableDeleteRow: true
- useLabelAsFallbackValue: false
- gridColumns:
- - name: value
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
- - name: label
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
- 500:
- identifier: 'senderAddress'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.label'
- propertyPath: 'options.senderAddress'
- enableFormelementSelectionButton: true
- propertyValidatorsMode: 'OR'
- propertyValidators:
- 10: 'NaiveEmail'
- 20: 'FormElementIdentifierWithinCurlyBracesExclusive'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.fieldExplanationText'
- 600:
- identifier: 'senderName'
- templateName: 'Inspector-TextEditor'
- label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderName.label'
- propertyPath: 'options.senderName'
- enableFormelementSelectionButton: true
- propertyValidators:
- 10: 'FormElementIdentifierWithinCurlyBracesInclusive'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderName.fieldExplanationText'
- 750:
- identifier: 'replyToRecipients'
- templateName: 'Inspector-PropertyGridEditor'
- label: formEditor.elements.Form.finisher.EmailToSender.editor.replyToRecipients.label
- propertyPath: 'options.replyToRecipients'
- isSortable: true
- enableAddRow: true
- enableDeleteRow: true
- useLabelAsFallbackValue: false
- gridColumns:
- - name: value
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
- - name: label
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
- 850:
- identifier: 'carbonCopyRecipients'
- templateName: 'Inspector-PropertyGridEditor'
- label: formEditor.elements.Form.finisher.EmailToSender.editor.carbonCopyRecipients.label
- propertyPath: 'options.carbonCopyRecipients'
- isSortable: true
- enableAddRow: true
- enableDeleteRow: true
- useLabelAsFallbackValue: false
- gridColumns:
- - name: value
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
- - name: label
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
- 950:
- identifier: 'blindCarbonCopyRecipients'
- templateName: 'Inspector-PropertyGridEditor'
- label: formEditor.elements.Form.finisher.EmailToSender.editor.blindCarbonCopyRecipients.label
- propertyPath: 'options.blindCarbonCopyRecipients'
- isSortable: true
- enableAddRow: true
- enableDeleteRow: true
- useLabelAsFallbackValue: false
- gridColumns:
- - name: value
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
- - name: label
- title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
- 1050:
- identifier: 'addHtmlPart'
- templateName: 'Inspector-CheckboxEditor'
- label: 'formEditor.elements.Form.finisher.EmailToSender.editor.addHtmlPart.label'
- propertyPath: 'options.addHtmlPart'
- fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.addHtmlPart.fieldExplanationText'
- 1100:
- identifier: 'attachUploads'
- templateName: 'Inspector-CheckboxEditor'
- label: 'formEditor.elements.Form.finisher.EmailToSender.editor.attachUploads.label'
- propertyPath: 'options.attachUploads'
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ AdvancedPassword:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 300:
+ identifier: confirmationLabel
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.AdvancedPassword.editor.confirmationLabel.label
+ propertyPath: properties.confirmationLabel
+ 400:
+ identifier: placeholder
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.editor.placeholder.label
+ propertyPath: properties.fluidAdditionalAttributes.placeholder
+ doNotSetIfPropertyValueIsEmpty: true
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.TextMixin.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
+ 20:
+ value: Alphanumeric
+ label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
+ 30:
+ value: Text
+ label: formEditor.elements.TextMixin.editor.validators.Text.label
+ 40:
+ value: StringLength
+ label: formEditor.elements.TextMixin.editor.validators.StringLength.label
+ 50:
+ value: EmailAddress
+ label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
+ 60:
+ value: Integer
+ label: formEditor.elements.TextMixin.editor.validators.Integer.label
+ 70:
+ value: Float
+ label: formEditor.elements.TextMixin.editor.validators.Float.label
+ 80:
+ value: NumberRange
+ label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
+ 90:
+ value: RegularExpression
+ label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ properties:
+ confirmationLabel: formEditor.element.AdvancedPassword.editor.confirmationLabel.predefinedDefaults
+ propertyCollections:
+ validators:
+ 10:
+ identifier: Alphanumeric
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221551320
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 20:
+ identifier: Text
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565786
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 30:
+ identifier: StringLength
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.minlength
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.maxlength
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1238110957
+ 20: 1269883975
+ 30: 1428504122
+ 40: 1238108068
+ 50: 1238108069
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 40:
+ identifier: EmailAddress
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221559976
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 50:
+ identifier: Integer
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560494
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 60:
+ identifier: Float
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560288
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 70:
+ identifier: NumberRange
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.min
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.max
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221563685
+ 20: 1221561046
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 80:
+ identifier: RegularExpression
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label
+ 200:
+ identifier: regex
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText
+ propertyPath: options.regularExpression
+ propertyValidators:
+ 10: NotEmpty
+ 300:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565130
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ label: formEditor.elements.AdvancedPassword.label
+ group: custom
+ groupSorting: 500
+ iconIdentifier: form-advanced-password
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: input-medium
+ elementErrorClassAttribute: error
+ confirmationLabel: ''
+ confirmationClassAttribute: input-medium
+ formEditor:
+ formEditorPartials:
+ FormElement-AdvancedPassword: Stage/SimpleTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ Checkbox:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults: { }
+ label: formEditor.elements.Checkbox.label
+ group: select
+ groupSorting: 100
+ iconIdentifier: form-checkbox
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: 'input checkbox'
+ elementClassAttribute: add-on
+ elementErrorClassAttribute: error
+ value: 1
+ formEditor:
+ formEditorPartials:
+ FormElement-Checkbox: Stage/SimpleTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ ContentElement:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 300:
+ identifier: contentElement
+ templateName: Inspector-Typo3WinBrowserEditor
+ label: formEditor.elements.ContentElement.editor.contentElement.label
+ buttonLabel: formEditor.elements.ContentElement.editor.contentElement.buttonLabel
+ browsableType: tt_content
+ propertyPath: properties.contentElementUid
+ propertyValidatorsMode: OR
+ propertyValidators:
+ 10: Integer
+ 20: FormElementIdentifierWithinCurlyBracesExclusive
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ label: formEditor.elements.ContentElement.label
+ properties:
+ contentElementUid: ''
+ label: formEditor.elements.ContentElement.label
+ group: custom
+ groupSorting: 700
+ iconIdentifier: form-content-element
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ variants:
+ -
+ identifier: hide-1
+ renderingOptions:
+ enabled: false
+ condition: 'stepType == "SummaryPage" || finisherIdentifier in ["EmailToSender", "EmailToReceiver"]'
+ properties:
+ contentElementUid: ''
+ formEditor:
+ formEditorPartials:
+ FormElement-ContentElement: Stage/ContentElement
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ Date:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 500:
+ identifier: defaultValue
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.editor.defaultValue.label
+ propertyPath: defaultValue
+ placeholder: formEditor.elements.Date.editor.defaultValue.placeholder
+ propertyValidators:
+ 10: RFC3339FullDateOrEmpty
+ 550:
+ identifier: step
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Date.editor.step.label
+ fieldExplanationText: formEditor.elements.Date.editor.step.fieldExplanationText
+ propertyPath: properties.fluidAdditionalAttributes.step
+ propertyValidators:
+ 10: Integer
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.TextMixin.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
+ 20:
+ value: DateRange
+ label: formEditor.elements.Date.editor.validators.DateRange.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ defaultValue: ''
+ properties:
+ fluidAdditionalAttributes:
+ min: ''
+ max: ''
+ step: 1
+ propertyCollections:
+ validators:
+ 10:
+ identifier: DateRange
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.DatePicker.validators.DateRange.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1521293685
+ 20: 1521293686
+ 30: 1521293687
+ propertyPath: properties.validationErrorMessages
+ 250:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.DatePicker.validators.DateRange.editor.minimum
+ placeholder: formEditor.elements.DatePicker.validators.DateRange.editor.minimum.placeholder
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: RFC3339FullDateOrEmpty
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.min
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.DatePicker.validators.DateRange.editor.maximum
+ placeholder: formEditor.elements.DatePicker.validators.DateRange.editor.maximum.placeholder
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: RFC3339FullDateOrEmpty
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.max
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 20:
+ identifier: Text
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565786
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 30:
+ identifier: StringLength
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.minlength
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.maxlength
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1238110957
+ 20: 1269883975
+ 30: 1428504122
+ 40: 1238108068
+ 50: 1238108069
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 40:
+ identifier: EmailAddress
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221559976
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 50:
+ identifier: Integer
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560494
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 60:
+ identifier: Float
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560288
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 70:
+ identifier: NumberRange
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.min
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.max
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221563685
+ 20: 1221561046
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 80:
+ identifier: RegularExpression
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label
+ 200:
+ identifier: regex
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText
+ propertyPath: options.regularExpression
+ propertyValidators:
+ 10: NotEmpty
+ 300:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565130
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ label: formEditor.elements.Date.label
+ group: html5
+ groupSorting: 500
+ iconIdentifier: form-date-picker
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: ''
+ elementErrorClassAttribute: error
+ displayFormat: d.m.Y
+ fluidAdditionalAttributes:
+ pattern: '([0-9]{4})-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])'
+ formEditor:
+ formEditorPartials:
+ FormElement-Date: Stage/SimpleTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ DatePicker:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 300:
+ identifier: dateFormat
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.DatePicker.editor.dateFormat.label
+ propertyPath: properties.dateFormat
+ 350:
+ identifier: placeholder
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.editor.placeholder.label
+ propertyPath: properties.fluidAdditionalAttributes.placeholder
+ doNotSetIfPropertyValueIsEmpty: true
+ 400:
+ identifier: enableDatePicker
+ templateName: Inspector-CheckboxEditor
+ label: formEditor.elements.DatePicker.editor.enableDatePicker.label
+ propertyPath: properties.enableDatePicker
+ 500:
+ identifier: displayTimeSelector
+ templateName: Inspector-CheckboxEditor
+ label: formEditor.elements.DatePicker.editor.displayTimeSelector.label
+ propertyPath: properties.displayTimeSelector
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.DatePicker.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.DatePicker.editor.validators.EmptyValue.label
+ 20:
+ value: DateTime
+ label: formEditor.elements.DatePicker.editor.validators.DateTime.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ properties:
+ dateFormat: Y-m-d
+ enableDatePicker: true
+ displayTimeSelector: false
+ label: formEditor.elements.DatePicker.label
+ group: custom
+ groupSorting: 200
+ iconIdentifier: form-date-picker
+ propertyCollections:
+ validators:
+ 10:
+ identifier: DateTime
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.DatePicker.validators.DateTime.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.DatePicker.validators.DateTime.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.DatePicker.validators.DateTime.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1238087674
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: 'small form-control'
+ elementErrorClassAttribute: error
+ timeSelectorClassAttribute: mini
+ timeSelectorHourLabel: ''
+ timeSelectorMinuteLabel: ''
+ dateFormat: Y-m-d
+ enableDatePicker: true
+ displayTimeSelector: false
+ formEditor:
+ formEditorPartials:
+ FormElement-DatePicker: Stage/SimpleTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ Email:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 400:
+ identifier: placeholder
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.editor.placeholder.label
+ propertyPath: properties.fluidAdditionalAttributes.placeholder
+ doNotSetIfPropertyValueIsEmpty: true
+ 500:
+ identifier: defaultValue
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.editor.defaultValue.label
+ propertyPath: defaultValue
+ propertyValidators:
+ 10: NaiveEmailOrEmpty
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.TextMixin.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
+ 50:
+ value: EmailAddress
+ label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ defaultValue: ''
+ validators:
+ -
+ identifier: EmailAddress
+ propertyCollections:
+ validators:
+ 10:
+ identifier: Alphanumeric
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221551320
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 20:
+ identifier: Text
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565786
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 30:
+ identifier: StringLength
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.minlength
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.maxlength
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1238110957
+ 20: 1269883975
+ 30: 1428504122
+ 40: 1238108068
+ 50: 1238108069
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 40:
+ identifier: EmailAddress
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221559976
+ propertyPath: properties.validationErrorMessages
+ 50:
+ identifier: Integer
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560494
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 60:
+ identifier: Float
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560288
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 70:
+ identifier: NumberRange
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.min
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.max
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221563685
+ 20: 1221561046
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 80:
+ identifier: RegularExpression
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label
+ 200:
+ identifier: regex
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText
+ propertyPath: options.regularExpression
+ propertyValidators:
+ 10: NotEmpty
+ 300:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565130
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ label: formEditor.elements.Email.label
+ group: html5
+ groupSorting: 100
+ iconIdentifier: form-email
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: ''
+ elementErrorClassAttribute: error
+ validators:
+ -
+ identifier: EmailAddress
+ formEditor:
+ formEditorPartials:
+ FormElement-Email: Stage/SimpleTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ Fieldset:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Fieldset.editor.label.label
+ propertyPath: label
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults: { }
+ label: formEditor.elements.Fieldset.label
+ group: container
+ groupSorting: 100
+ _isCompositeFormElement: true
+ iconIdentifier: form-fieldset
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\Section
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: ''
+ elementErrorClassAttribute: error
+ renderingOptions:
+ _isCompositeFormElement: true
+ formEditor:
+ formEditorPartials:
+ FormElement-Fieldset: Stage/Fieldset
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ FileUpload:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 300:
+ identifier: allowedMimeTypes
+ templateName: Inspector-MultiSelectEditor
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.label
+ propertyPath: properties.allowedMimeTypes
+ selectOptions:
+ 10:
+ value: application/msword
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.doc
+ 20:
+ value: application/vnd.openxmlformats-officedocument.wordprocessingml.document
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.docx
+ 30:
+ value: application/msexcel
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.xls
+ 40:
+ value: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.xlsx
+ 50:
+ value: application/pdf
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.pdf
+ 60:
+ value: application/vnd.oasis.opendocument.text
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.odt
+ 70:
+ value: application/vnd.oasis.opendocument.spreadsheet-template
+ label: formEditor.elements.FileUpload.editor.allowedMimeTypes.ods
+ 400:
+ identifier: saveToFileMount
+ templateName: Inspector-SingleSelectEditor
+ label: formEditor.elements.FileUploadMixin.editor.saveToFileMount.label
+ propertyPath: properties.saveToFileMount
+ selectOptions:
+ 10:
+ value: '1:/user_upload/'
+ label: '1:/user_upload/'
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.FileUploadMixin.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.FileUploadMixin.editor.validators.EmptyValue.label
+ 20:
+ value: FileSize
+ label: formEditor.elements.FileUploadMixin.editor.validators.FileSize.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ properties:
+ saveToFileMount: '1:/user_upload/'
+ allowedMimeTypes:
+ - application/pdf
+ propertyCollections:
+ validators:
+ 10:
+ identifier: FileSize
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label
+ 150:
+ identifier: maximumFileSize
+ templateName: Inspector-MaximumFileSizeEditor
+ label: formEditor.elements.FileUpload.editor.maximumFileSize.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: FileSize
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: FileSize
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ label: formEditor.elements.FileUpload.label
+ group: custom
+ groupSorting: 100
+ iconIdentifier: form-file-upload
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: ''
+ elementErrorClassAttribute: error
+ saveToFileMount: '1:/user_upload/'
+ allowedMimeTypes:
+ - application/msword
+ - application/vnd.openxmlformats-officedocument.wordprocessingml.document
+ - application/vnd.oasis.opendocument.text
+ - application/pdf
+ formEditor:
+ formEditorPartials:
+ FormElement-FileUpload: Stage/FileUploadTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ Form:
+ formEditor:
+ predefinedDefaults:
+ renderingOptions:
+ submitButtonLabel: formEditor.elements.Form.editor.submitButtonLabel.value
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.BaseFormElementMixin.editor.label.label
+ propertyPath: label
+ 300:
+ identifier: submitButtonLabel
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.editor.submitButtonLabel.label
+ propertyPath: renderingOptions.submitButtonLabel
+ 900:
+ identifier: finishers
+ templateName: Inspector-FinishersEditor
+ label: formEditor.elements.Form.editor.finishers.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.Form.editor.finishers.EmptyValue.label
+ 20:
+ value: EmailToSender
+ label: formEditor.elements.Form.editor.finishers.EmailToSender.label
+ 30:
+ value: EmailToReceiver
+ label: formEditor.elements.Form.editor.finishers.EmailToReceiver.label
+ 40:
+ value: Redirect
+ label: formEditor.elements.Form.editor.finishers.Redirect.label
+ 50:
+ value: DeleteUploads
+ label: formEditor.elements.Form.editor.finishers.DeleteUploads.label
+ 60:
+ value: Confirmation
+ label: formEditor.elements.Form.editor.finishers.Confirmation.label
+ _isCompositeFormElement: false
+ _isTopLevelFormElement: true
+ saveSuccessFlashMessageTitle: formEditor.elements.Form.saveSuccessFlashMessageTitle
+ saveSuccessFlashMessageMessage: formEditor.elements.Form.saveSuccessFlashMessageMessage
+ saveErrorFlashMessageTitle: formEditor.elements.Form.saveErrorFlashMessageTitle
+ saveErrorFlashMessageMessage: formEditor.elements.Form.saveErrorFlashMessageMessage
+ modalValidationErrorsDialogTitle: formEditor.modals.validationErrors.dialogTitle
+ modalValidationErrorsConfirmButton: formEditor.modals.validationErrors.confirmButton
+ modalInsertElementsDialogTitle: formEditor.modals.insertElements.dialogTitle
+ modalInsertPagesDialogTitle: formEditor.modals.newPages.dialogTitle
+ modalCloseDialogMessage: formEditor.modals.close.dialogMessage
+ modalCloseDialogTitle: formEditor.modals.close.dialogTitle
+ modalCloseConfirmButton: formEditor.modals.close.confirmButton
+ modalCloseCancleButton: formEditor.modals.close.cancleButton
+ modalRemoveElementDialogTitle: formEditor.modals.removeElement.dialogTitle
+ modalRemoveElementDialogMessage: formEditor.modals.removeElement.dialogMessage
+ modalRemoveElementConfirmButton: formEditor.modals.removeElement.confirmButton
+ modalRemoveElementCancleButton: formEditor.modals.removeElement.cancleButton
+ modalRemoveElementLastAvailablePageFlashMessageTitle: formEditor.modals.removeElement.lastAvailablePageFlashMessageTitle
+ modalRemoveElementLastAvailablePageFlashMessageMessage: formEditor.modals.removeElement.lastAvailablePageFlashMessageMessage
+ inspectorEditorFormElementSelectorNoElements: formEditor.inspector.editor.formelement_selector.no_elements
+ paginationTitle: formEditor.pagination.title
+ iconIdentifier: content-form
+ propertyCollections:
+ finishers:
+ 10:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.header.label
+ 200:
+ identifier: subject
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.subject.label
+ propertyPath: options.subject
+ enableFormelementSelectionButton: true
+ propertyValidators:
+ 10: NotEmpty
+ 20: FormElementIdentifierWithinCurlyBracesInclusive
+ 350:
+ identifier: recipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.label
+ propertyPath: options.recipients
+ propertyValidators:
+ 10: NotEmpty
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.fieldExplanationText
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 500:
+ identifier: senderAddress
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.label
+ propertyPath: options.senderAddress
+ enableFormelementSelectionButton: true
+ propertyValidatorsMode: OR
+ propertyValidators:
+ 10: NaiveEmail
+ 20: FormElementIdentifierWithinCurlyBracesExclusive
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.fieldExplanationText
+ 600:
+ identifier: senderName
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.senderName.label
+ propertyPath: options.senderName
+ enableFormelementSelectionButton: true
+ propertyValidators:
+ 10: FormElementIdentifierWithinCurlyBracesInclusive
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToSender.editor.senderName.fieldExplanationText
+ 750:
+ identifier: replyToRecipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.replyToRecipients.label
+ propertyPath: options.replyToRecipients
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 850:
+ identifier: carbonCopyRecipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.carbonCopyRecipients.label
+ propertyPath: options.carbonCopyRecipients
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 950:
+ identifier: blindCarbonCopyRecipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.blindCarbonCopyRecipients.label
+ propertyPath: options.blindCarbonCopyRecipients
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 1050:
+ identifier: addHtmlPart
+ templateName: Inspector-CheckboxEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.addHtmlPart.label
+ propertyPath: options.addHtmlPart
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToSender.editor.addHtmlPart.fieldExplanationText
+ 1100:
+ identifier: attachUploads
+ templateName: Inspector-CheckboxEditor
+ label: formEditor.elements.Form.finisher.EmailToSender.editor.attachUploads.label
+ propertyPath: options.attachUploads
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ identifier: EmailToSender
+ 20:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label
+ 200:
+ identifier: subject
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.subject.label
+ propertyPath: options.subject
+ enableFormelementSelectionButton: true
+ propertyValidators:
+ 10: NotEmpty
+ 20: FormElementIdentifierWithinCurlyBracesInclusive
+ 350:
+ identifier: recipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.recipients.label
+ propertyPath: options.recipients
+ propertyValidators:
+ 10: NotEmpty
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToReceiver.editor.recipients.fieldExplanationText
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 500:
+ identifier: senderAddress
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.label
+ propertyPath: options.senderAddress
+ enableFormelementSelectionButton: true
+ propertyValidatorsMode: OR
+ propertyValidators:
+ 10: NaiveEmail
+ 20: FormElementIdentifierWithinCurlyBracesExclusive
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.fieldExplanationText
+ 600:
+ identifier: senderName
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.label
+ propertyPath: options.senderName
+ enableFormelementSelectionButton: true
+ propertyValidators:
+ 10: FormElementIdentifierWithinCurlyBracesInclusive
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.fieldExplanationText
+ 750:
+ identifier: replyToRecipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.replyToRecipients.label
+ propertyPath: options.replyToRecipients
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 850:
+ identifier: carbonCopyRecipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.carbonCopyRecipients.label
+ propertyPath: options.carbonCopyRecipients
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 950:
+ identifier: blindCarbonCopyRecipients
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.blindCarbonCopyRecipients.label
+ propertyPath: options.blindCarbonCopyRecipients
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ useLabelAsFallbackValue: false
+ gridColumns:
+ -
+ name: value
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.value.title
+ -
+ name: label
+ title: formEditor.elements.Form.finisher.EmailToSender.editor.recipients.gridColumns.label.title
+ 1050:
+ identifier: addHtmlPart
+ templateName: Inspector-CheckboxEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.addHtmlPart.label
+ propertyPath: options.addHtmlPart
+ fieldExplanationText: formEditor.elements.Form.finisher.EmailToReceiver.editor.addHtmlPart.fieldExplanationText
+ 1100:
+ identifier: attachUploads
+ templateName: Inspector-CheckboxEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.attachUploads.label
+ propertyPath: options.attachUploads
+ 1200:
+ identifier: language
+ templateName: Inspector-SingleSelectEditor
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.language.label
+ propertyPath: options.translation.language
+ selectOptions:
+ 10:
+ value: default
+ label: formEditor.elements.Form.finisher.EmailToReceiver.editor.language.1
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ identifier: EmailToReceiver
+ 30:
+ identifier: Redirect
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.Redirect.editor.header.label
+ 200:
+ identifier: pageUid
+ templateName: Inspector-Typo3WinBrowserEditor
+ label: formEditor.elements.Form.finisher.Redirect.editor.pageUid.label
+ buttonLabel: formEditor.elements.Form.finisher.Redirect.editor.pageUid.buttonLabel
+ browsableType: pages
+ propertyPath: options.pageUid
+ propertyValidatorsMode: OR
+ propertyValidators:
+ 10: Integer
+ 20: FormElementIdentifierWithinCurlyBracesExclusive
+ 300:
+ identifier: additionalParameters
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Form.finisher.Redirect.editor.additionalParameters.label
+ propertyPath: options.additionalParameters
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 40:
+ identifier: DeleteUploads
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.DeleteUploads.editor.header.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 50:
+ identifier: Confirmation
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.Confirmation.editor.header.label
+ 200:
+ identifier: contentElement
+ templateName: Inspector-Typo3WinBrowserEditor
+ label: formEditor.elements.Form.finisher.Confirmation.editor.contentElement.label
+ buttonLabel: formEditor.elements.Form.finisher.Confirmation.editor.contentElement.buttonLabel
+ browsableType: tt_content
+ propertyPath: options.contentElementUid
+ propertyValidatorsMode: OR
+ propertyValidators:
+ 10: IntegerOrEmpty
+ 20: FormElementIdentifierWithinCurlyBracesExclusive
+ 300:
+ identifier: message
+ templateName: Inspector-TextareaEditor
+ label: formEditor.elements.Form.finisher.Confirmation.editor.message.label
+ propertyPath: options.message
+ fieldExplanationText: formEditor.elements.Form.finisher.Confirmation.editor.message.fieldExplanationText
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 60:
+ identifier: Closure
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.Closure.editor.header.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 70:
+ identifier: FlashMessage
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.FlashMessage.editor.header.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 80:
+ identifier: SaveToDatabase
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ rendererClassName: TYPO3\CMS\Form\Domain\Renderer\FluidFormRenderer
+ renderingOptions:
+ translation:
+ translationFiles:
+ 10: 'EXT:form/Resources/Private/Language/locallang.xlf'
+ templateRootPaths:
+ 10: 'EXT:form/Resources/Private/Frontend/Templates/'
+ partialRootPaths:
+ 10: 'EXT:form/Resources/Private/Frontend/Partials/'
+ layoutRootPaths:
+ 10: 'EXT:form/Resources/Private/Frontend/Layouts/'
+ addQueryString: false
+ argumentsToBeExcludedFromQueryString: { }
+ additionalParams: { }
+ controllerAction: perform
+ httpMethod: post
+ httpEnctype: multipart/form-data
+ _isCompositeFormElement: false
+ _isTopLevelFormElement: true
+ honeypot:
+ enable: true
+ formElementToUse: Honeypot
+ submitButtonLabel: Submit
+ skipUnknownElements: true
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ GridRow:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.GridRow.editor.label.label
+ propertyPath: label
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults: { }
+ label: formEditor.elements.GridRow.label
+ group: container
+ groupSorting: 300
+ _isCompositeFormElement: true
+ _isGridRowFormElement: true
+ iconIdentifier: form-gridrow
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GridRow
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: row
+ elementErrorClassAttribute: error
+ gridColumnClassAutoConfiguration:
+ gridSize: 12
+ viewPorts:
+ xs:
+ classPattern: 'col-xs-{@numbersOfColumnsToUse}'
+ sm:
+ classPattern: 'col-sm-{@numbersOfColumnsToUse}'
+ md:
+ classPattern: 'col-md-{@numbersOfColumnsToUse}'
+ lg:
+ classPattern: 'col-lg-{@numbersOfColumnsToUse}'
+ renderingOptions:
+ _isCompositeFormElement: true
+ _isGridRowFormElement: true
+ formEditor:
+ formEditorPartials:
+ FormElement-GridRow: Stage/Fieldset
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ Hidden:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 300:
+ identifier: defaultValue
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.Hidden.editor.defaultValue.label
+ propertyPath: defaultValue
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ defaultValue: ''
+ label: formEditor.elements.Hidden.label
+ group: custom
+ groupSorting: 300
+ iconIdentifier: form-hidden
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: ''
+ elementErrorClassAttribute: error
+ variants:
+ -
+ identifier: hide-1
+ renderingOptions:
+ enabled: false
+ condition: 'stepType == "SummaryPage" || finisherIdentifier in ["EmailToSender", "EmailToReceiver"]'
+ formEditor:
+ formEditorPartials:
+ FormElement-Hidden: Stage/SimpleTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ Honeypot:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 400:
+ identifier: placeholder
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.editor.placeholder.label
+ propertyPath: properties.fluidAdditionalAttributes.placeholder
+ doNotSetIfPropertyValueIsEmpty: true
+ 500:
+ identifier: defaultValue
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.editor.defaultValue.label
+ propertyPath: defaultValue
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.TextMixin.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
+ 20:
+ value: Alphanumeric
+ label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
+ 30:
+ value: Text
+ label: formEditor.elements.TextMixin.editor.validators.Text.label
+ 40:
+ value: StringLength
+ label: formEditor.elements.TextMixin.editor.validators.StringLength.label
+ 50:
+ value: EmailAddress
+ label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
+ 60:
+ value: Integer
+ label: formEditor.elements.TextMixin.editor.validators.Integer.label
+ 70:
+ value: Float
+ label: formEditor.elements.TextMixin.editor.validators.Float.label
+ 80:
+ value: NumberRange
+ label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
+ 90:
+ value: RegularExpression
+ label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ defaultValue: ''
+ propertyCollections:
+ validators:
+ 10:
+ identifier: Alphanumeric
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221551320
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 20:
+ identifier: Text
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565786
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 30:
+ identifier: StringLength
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.minlength
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.maxlength
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1238110957
+ 20: 1269883975
+ 30: 1428504122
+ 40: 1238108068
+ 50: 1238108069
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 40:
+ identifier: EmailAddress
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221559976
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 50:
+ identifier: Integer
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560494
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 60:
+ identifier: Float
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.header.label
+ 200:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560288
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 70:
+ identifier: NumberRange
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.min
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ additionalElementPropertyPaths:
+ 10: properties.fluidAdditionalAttributes.max
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221563685
+ 20: 1221561046
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ 80:
+ identifier: RegularExpression
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label
+ 200:
+ identifier: regex
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText
+ propertyPath: options.regularExpression
+ propertyValidators:
+ 10: NotEmpty
+ 300:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221565130
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: ''
+ elementErrorClassAttribute: error
+ renderAsHiddenField: false
+ styleAttribute: 'position:absolute; margin:0 0 0 -999em;'
+ variants:
+ -
+ identifier: hide-1
+ renderingOptions:
+ enabled: false
+ condition: 'stepType == "SummaryPage" || finisherIdentifier in ["EmailToSender", "EmailToReceiver"]'
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ ImageUpload:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 300:
+ identifier: allowedMimeTypes
+ templateName: Inspector-MultiSelectEditor
+ label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.label
+ propertyPath: properties.allowedMimeTypes
+ selectOptions:
+ 10:
+ value: image/jpeg
+ label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.jpg
+ 20:
+ value: image/png
+ label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.png
+ 30:
+ value: image/bmp
+ label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.bmp
+ 400:
+ identifier: saveToFileMount
+ templateName: Inspector-SingleSelectEditor
+ label: formEditor.elements.FileUploadMixin.editor.saveToFileMount.label
+ propertyPath: properties.saveToFileMount
+ selectOptions:
+ 10:
+ value: '1:/user_upload/'
+ label: '1:/user_upload/'
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.FileUploadMixin.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.FileUploadMixin.editor.validators.EmptyValue.label
+ 20:
+ value: FileSize
+ label: formEditor.elements.FileUploadMixin.editor.validators.FileSize.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ properties:
+ saveToFileMount: '1:/user_upload/'
+ allowedMimeTypes:
+ - image/jpeg
+ propertyCollections:
+ validators:
+ 10:
+ identifier: FileSize
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label
+ 150:
+ identifier: maximumFileSize
+ templateName: Inspector-MaximumFileSizeEditor
+ label: formEditor.elements.FileUpload.editor.maximumFileSize.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: FileSize
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: FileSize
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ label: formEditor.elements.ImageUpload.label
+ group: custom
+ groupSorting: 400
+ iconIdentifier: form-image-upload
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload
+ properties:
+ containerClassAttribute: input
+ elementClassAttribute: lightbox
+ elementErrorClassAttribute: error
+ saveToFileMount: '1:/user_upload/'
+ allowedMimeTypes:
+ - image/jpeg
+ - image/png
+ - image/bmp
+ imageLinkMaxWidth: 500
+ imageMaxWidth: 500
+ imageMaxHeight: 500
+ formEditor:
+ formEditorPartials:
+ FormElement-ImageUpload: Stage/FileUploadTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ MultiCheckbox:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 300:
+ identifier: options
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.SelectionMixin.editor.options.label
+ propertyPath: properties.options
+ propertyValidators:
+ 10: NotEmpty
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
+ removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
+ shouldShowPreselectedValueColumn: multiple
+ multiSelection: true
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor
+ label: formEditor.elements.MultiSelectionMixin.editor.validators.label
+ selectOptions:
+ 10:
+ value: ''
+ label: formEditor.elements.MultiSelectionMixin.editor.validators.EmptyValue.label
+ 20:
+ value: Count
+ label: formEditor.elements.MultiSelectionMixin.editor.validators.Count.label
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ predefinedDefaults:
+ properties:
+ options: { }
+ propertyCollections:
+ validators:
+ 10:
+ identifier: Count
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-CollectionElementHeaderEditor
+ label: formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label
+ 200:
+ identifier: minimum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
+ propertyPath: options.minimum
+ propertyValidators:
+ 10: Integer
+ 300:
+ identifier: maximum
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
+ propertyPath: options.maximum
+ propertyValidators:
+ 10: Integer
+ 400:
+ identifier: validationErrorMessage
+ templateName: Inspector-ValidationErrorMessageEditor
+ label: formEditor.elements.MultiSelectionMixin.validators.Count.editor.validationErrorMessage.label
+ fieldExplanationText: formEditor.elements.MultiSelectionMixin.validators.Count.editor.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1475002976
+ 20: 1475002994
+ propertyPath: properties.validationErrorMessages
+ 9999:
+ identifier: removeButton
+ templateName: Inspector-RemoveElementEditor
+ label: formEditor.elements.MultiCheckbox.label
+ group: select
+ groupSorting: 400
+ iconIdentifier: form-multi-checkbox
+ implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
+ properties:
+ containerClassAttribute: 'input checkbox'
+ elementClassAttribute: ''
+ elementErrorClassAttribute: error
+ formEditor:
+ formEditorPartials:
+ FormElement-MultiCheckbox: Stage/SelectTemplate
--- /dev/null
+TYPO3:
+ CMS:
+ Form:
+ prototypes:
+ standard:
+ formElementsDefinition:
+ MultiSelect:
+ formEditor:
+ editors:
+ 100:
+ identifier: header
+ templateName: Inspector-FormElementHeaderEditor
+ 200:
+ identifier: label
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.label.label
+ propertyPath: label
+ 230:
+ identifier: elementDescription
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.FormElement.editor.elementDescription.label
+ propertyPath: properties.elementDescription
+ 250:
+ identifier: inactiveOption
+ templateName: Inspector-TextEditor
+ label: formEditor.elements.SelectionMixin.editor.inactiveOption.label
+ propertyPath: properties.prependOptionLabel
+ fieldExplanationText: formEditor.elements.SelectionMixin.editor.inactiveOption.fieldExplanationText
+ doNotSetIfPropertyValueIsEmpty: true
+ 300:
+ identifier: options
+ templateName: Inspector-PropertyGridEditor
+ label: formEditor.elements.SelectionMixin.editor.options.label
+ propertyPath: properties.options
+ propertyValidators:
+ 10: NotEmpty
+ isSortable: true
+ enableAddRow: true
+ enableDeleteRow: true
+ removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
+ removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
+ shouldShowPreselectedValueColumn: multiple
+ multiSelection: true
+ 700:
+ identifier: gridColumnViewPortConfiguration
+ templateName: Inspector-GridColumnViewPortConfigurationEditor
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
+ configurationOptions:
+ viewPorts:
+ 10:
+ viewPortIdentifier: xs
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
+ 20:
+ viewPortIdentifier: sm
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
+ 30:
+ viewPortIdentifier: md
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
+ 40:
+ viewPortIdentifier: lg
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
+ numbersOfColumnsToUse:
+ label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
+ propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
+ fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
+ 800:
+ identifier: requiredValidator
+ templateName: Inspector-RequiredValidatorEditor
+ label: formEditor.elements.FormElement.editor.requiredValidator.label
+ validatorIdentifier: NotEmpty
+ propertyPath: properties.fluidAdditionalAttributes.required
+ propertyValue: required
+ configurationOptions:
+ validationErrorMessage:
+ label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
+ propertyPath: properties.validationErrorMessages
+ fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
+ errorCodes:
+ 10: 1221560910
+ 20: 1221560718
+ 30: 1347992400
+ 40: 1347992453
+ 900:
+ identifier: validators
+ templateName: Inspector-ValidatorsEditor