d01e2780f8ad10572dea46ae2ac9d1f2d8d36a57
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Configuration / Yaml / FormEditorSetup.yaml
1 TYPO3:
2   CMS:
3     Form:
4       ########### FORM MANAGER CONFIGURATION ###########
5       formManager:
6         dynamicRequireJsModules:
7           app: 'TYPO3/CMS/Form/Backend/FormManager'
8           viewModel: 'TYPO3/CMS/Form/Backend/FormManager/ViewModel'
9         stylesheets:
10           100: 'EXT:form/Resources/Public/Css/form.css'
11         translationFile: 'EXT:form/Resources/Private/Language/Database.xlf'
12         javaScriptTranslationFile: 'EXT:form/Resources/Private/Language/locallang_formManager_javascript.xlf'
13         selectablePrototypesConfiguration:
14           100:
15             identifier: 'standard'
16             label: 'formManager.selectablePrototypesConfiguration.standard.label'
17             newFormTemplates:
18               100:
19                 templatePath: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/Yaml/NewForms/BlankForm.yaml'
20                 label: 'formManager.selectablePrototypesConfiguration.standard.newFormTemplates.blankForm.label'
21               200:
22                 templatePath: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/Yaml/NewForms/SimpleContactForm.yaml'
23                 label: 'formManager.selectablePrototypesConfiguration.standard.newFormTemplates.simpleContactForm.label'
24         controller:
25           deleteAction:
26             errorTitle: 'formManagerController.deleteAction.error.title'
27             errorMessage: 'formManagerController.deleteAction.error.body'
28
29       ########### FORMEDITOR CONFIGURATION ###########
30       prototypes:
31         standard:
32           formEditor:
33             translationFile: 'EXT:form/Resources/Private/Language/Database.xlf'
34             dynamicRequireJsModules:
35               app: 'TYPO3/CMS/Form/Backend/FormEditor'
36               mediator: 'TYPO3/CMS/Form/Backend/FormEditor/Mediator'
37               viewModel: 'TYPO3/CMS/Form/Backend/FormEditor/ViewModel'
38               additionalViewModelModules:
39
40             addInlineSettings: []
41             maximumUndoSteps: 10
42
43             stylesheets:
44               200: 'EXT:form/Resources/Public/Css/form.css'
45
46             formEditorFluidConfiguration:
47               templatePathAndFilename: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/InlineTemplates.html'
48               partialRootPaths:
49                 10: 'EXT:form/Resources/Private/Backend/Partials/FormEditor/'
50               layoutRootPaths:
51                 10: 'EXT:form/Resources/Private/Backend/Layouts/FormEditor/'
52
53             formEditorPartials:
54               # abstract form element partials
55               FormElement-_ElementToolbar: 'Stage/_ElementToolbar'
56               FormElement-_UnknownElement: 'Stage/_UnknownElement'
57               FormElement-Page: 'Stage/Page'
58               FormElement-SummaryPage: 'Stage/SummaryPage'
59               FormElement-Fieldset: 'Stage/Fieldset'
60               FormElement-GridContainer: 'Stage/Fieldset'
61               FormElement-GridRow: 'Stage/Fieldset'
62               FormElement-Text: 'Stage/SimpleTemplate'
63               FormElement-Password: 'Stage/SimpleTemplate'
64               FormElement-AdvancedPassword: 'Stage/SimpleTemplate'
65               FormElement-Textarea: 'Stage/SimpleTemplate'
66               FormElement-Checkbox: 'Stage/SimpleTemplate'
67               FormElement-MultiCheckbox: 'Stage/SelectTemplate'
68               FormElement-MultiSelect: 'Stage/SelectTemplate'
69               FormElement-RadioButton: 'Stage/SelectTemplate'
70               FormElement-SingleSelect: 'Stage/SelectTemplate'
71               FormElement-DatePicker: 'Stage/SimpleTemplate'
72               FormElement-StaticText: 'Stage/StaticText'
73               FormElement-Hidden: 'Stage/SimpleTemplate'
74               FormElement-ContentElement: 'Stage/ContentElement'
75               FormElement-FileUpload: 'Stage/FileUploadTemplate'
76               FormElement-ImageUpload: 'Stage/FileUploadTemplate'
77               FormElement-Email: 'Stage/SimpleTemplate'
78               FormElement-Telephone: 'Stage/SimpleTemplate'
79               FormElement-Url: 'Stage/SimpleTemplate'
80               FormElement-Number: 'Stage/SimpleTemplate'
81
82               # modals
83               Modal-InsertElements: 'Modals/InsertElements'
84               Modal-InsertPages: 'Modals/InsertPages'
85               Modal-ValidationErrors: 'Modals/ValidationErrors'
86
87               # inspector editors
88               Inspector-FormElementHeaderEditor: 'Inspector/FormElementHeaderEditor'
89               Inspector-CollectionElementHeaderEditor: 'Inspector/CollectionElementHeaderEditor'
90               Inspector-TextEditor: 'Inspector/TextEditor'
91               Inspector-PropertyGridEditor: 'Inspector/PropertyGridEditor'
92               Inspector-SingleSelectEditor: 'Inspector/SingleSelectEditor'
93               Inspector-MultiSelectEditor: 'Inspector/MultiSelectEditor'
94               Inspector-GridColumnViewPortConfigurationEditor: 'Inspector/GridColumnViewPortConfigurationEditor'
95               Inspector-TextareaEditor: 'Inspector/TextareaEditor'
96               Inspector-RemoveElementEditor: 'Inspector/RemoveElementEditor'
97               Inspector-FinishersEditor: 'Inspector/FinishersEditor'
98               Inspector-ValidatorsEditor: 'Inspector/ValidatorsEditor'
99               Inspector-RequiredValidatorEditor: 'Inspector/RequiredValidatorEditor'
100               Inspector-CheckboxEditor: 'Inspector/CheckboxEditor'
101               Inspector-Typo3WinBrowserEditor: 'Inspector/Typo3WinBrowserEditor'
102
103             formElementPropertyValidatorsDefinition:
104               NotEmpty:
105                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NotEmpty.label'
106               Integer:
107                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.Integer.label'
108               NaiveEmail:
109                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label'
110               NaiveEmailOrEmpty:
111                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label'
112               FormElementIdentifierWithinCurlyBracesInclusive:
113                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label'
114               FormElementIdentifierWithinCurlyBracesExclusive:
115                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label'
116               FileSize:
117                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FileSize.label'
118
119             formElementGroups:
120               input:
121                 label: 'formEditor.formElementGroups.input.label'
122               html5:
123                 label: 'formEditor.formElementGroups.html5.label'
124               select:
125                 label: 'formEditor.formElementGroups.select.label'
126               custom:
127                 label: 'formEditor.formElementGroups.custom.label'
128               container:
129                 label: 'formEditor.formElementGroups.container.label'
130               page:
131                 label: 'formEditor.formElementGroups.page.label'
132
133           ########### DEFAULT FORM ELEMENT DEFINITIONS ###########
134           formElementsDefinition:
135             Form:
136               formEditor:
137                 _isCompositeFormElement: false
138                 _isTopLevelFormElement: true
139
140                 saveSuccessFlashMessageTitle: 'formEditor.elements.Form.saveSuccessFlashMessageTitle'
141                 saveSuccessFlashMessageMessage: 'formEditor.elements.Form.saveSuccessFlashMessageMessage'
142                 saveErrorFlashMessageTitle: 'formEditor.elements.Form.saveErrorFlashMessageTitle'
143                 saveErrorFlashMessageMessage: 'formEditor.elements.Form.saveErrorFlashMessageMessage'
144
145                 modalValidationErrorsDialogTitle: 'formEditor.modals.validationErrors.dialogTitle'
146                 modalValidationErrorsConfirmButton: 'formEditor.modals.validationErrors.confirmButton'
147
148                 modalInsertElementsDialogTitle: 'formEditor.modals.insertElements.dialogTitle'
149                 modalInsertPagesDialogTitle: 'formEditor.modals.newPages.dialogTitle'
150
151                 modalCloseDialogMessage: 'formEditor.modals.close.dialogMessage'
152                 modalCloseDialogTitle: 'formEditor.modals.close.dialogTitle'
153                 modalCloseConfirmButton: 'formEditor.modals.close.confirmButton'
154                 modalCloseCancleButton: 'formEditor.modals.close.cancleButton'
155
156                 modalRemoveElementDialogTitle: 'formEditor.modals.removeElement.dialogTitle'
157                 modalRemoveElementDialogMessage: 'formEditor.modals.removeElement.dialogMessage'
158                 modalRemoveElementConfirmButton: 'formEditor.modals.removeElement.confirmButton'
159                 modalRemoveElementCancleButton: 'formEditor.modals.removeElement.cancleButton'
160                 modalRemoveElementLastAvailablePageFlashMessageTitle: 'formEditor.modals.removeElement.lastAvailablePageFlashMessageTitle'
161                 modalRemoveElementLastAvailablePageFlashMessageMessage: 'formEditor.modals.removeElement.lastAvailablePageFlashMessageMessage'
162
163                 inspectorEditorFormElementSelectorNoElements: 'formEditor.inspector.editor.formelement_selector.no_elements'
164
165                 paginationTitle: 'formEditor.pagination.title'
166
167                 iconIdentifier: 'content-elements-mailform'
168                 predefinedDefaults:
169                   renderingOptions:
170                     submitButtonLabel: 'formEditor.elements.Form.editor.submitButtonLabel.value'
171                 editors:
172                   300:
173                     identifier: 'submitButtonLabel'
174                     templateName: 'Inspector-TextEditor'
175                     label: 'formEditor.elements.Form.editor.submitButtonLabel.label'
176                     propertyPath: 'renderingOptions.submitButtonLabel'
177                   900:
178                     identifier: 'finishers'
179                     templateName: 'Inspector-FinishersEditor'
180                     label: 'formEditor.elements.Form.editor.finishers.label'
181                     selectOptions:
182                       10:
183                         value: ''
184                         label: 'formEditor.elements.Form.editor.finishers.EmptyValue.label'
185                       20:
186                         value: 'EmailToSender'
187                         label: 'formEditor.elements.Form.editor.finishers.EmailToSender.label'
188                       30:
189                         value: 'EmailToReceiver'
190                         label: 'formEditor.elements.Form.editor.finishers.EmailToReceiver.label'
191                       40:
192                         value: 'Redirect'
193                         label: 'formEditor.elements.Form.editor.finishers.Redirect.label'
194                       50:
195                         value: 'DeleteUploads'
196                         label: 'formEditor.elements.Form.editor.finishers.DeleteUploads.label'
197                       60:
198                         value: 'Confirmation'
199                         label: 'formEditor.elements.Form.editor.finishers.Confirmation.label'
200
201                 propertyCollections:
202                   finishers:
203                     10:
204                       __inheritances:
205                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.formEmailFinisherMixin'
206                       identifier: 'EmailToSender'
207
208                     20:
209                       __inheritances:
210                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.formEmailFinisherMixin'
211                       identifier: 'EmailToReceiver'
212                       editors:
213                         100:
214                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label'
215                         200:
216                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.subject.label'
217                         300:
218                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientAddress.label'
219                           fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientAddress.fieldExplanationText'
220                         400:
221                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientName.label'
222                           fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientName.fieldExplanationText'
223                         500:
224                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.label'
225                           fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.fieldExplanationText'
226                         600:
227                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.label'
228                           fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.fieldExplanationText'
229                         700:
230                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.replyToAddress.label'
231                         800:
232                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.carbonCopyAddress.label'
233                         900:
234                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.blindCarbonCopyAddress.label'
235                         1000:
236                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.format.label'
237                         1100:
238                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.attachUploads.label'
239                         1200:
240                           identifier: 'language'
241                           templateName: 'Inspector-SingleSelectEditor'
242                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.language.label'
243                           propertyPath: 'options.translation.language'
244                           selectOptions:
245                             10:
246                               value: 'default'
247                               label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.language.1'
248
249                     30:
250                       identifier: 'Redirect'
251                       editors:
252                         __inheritances:
253                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
254                         100:
255                           label: 'formEditor.elements.Form.finisher.Redirect.editor.header.label'
256                         200:
257                           identifier: 'pageUid'
258                           templateName: 'Inspector-Typo3WinBrowserEditor'
259                           label: 'formEditor.elements.Form.finisher.Redirect.editor.pageUid.label'
260                           buttonLabel: 'formEditor.elements.Form.finisher.Redirect.editor.pageUid.buttonLabel'
261                           browsableType: pages
262                           propertyPath: 'options.pageUid'
263                           propertyValidatorsMode: 'OR'
264                           propertyValidators:
265                             10: 'Integer'
266                             20: 'FormElementIdentifierWithinCurlyBracesExclusive'
267
268                         300:
269                           identifier: 'additionalParameters'
270                           templateName: 'Inspector-TextEditor'
271                           label: 'formEditor.elements.Form.finisher.Redirect.editor.additionalParameters.label'
272                           propertyPath: 'options.additionalParameters'
273
274                     40:
275                       identifier: 'DeleteUploads'
276                       editors:
277                         __inheritances:
278                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
279                         100:
280                           label: 'formEditor.elements.Form.finisher.DeleteUploads.editor.header.label'
281
282                     50:
283                       identifier: 'Confirmation'
284                       editors:
285                         __inheritances:
286                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
287                         100:
288                           label: 'formEditor.elements.Form.finisher.Confirmation.editor.header.label'
289                         200:
290                           identifier: 'contentElement'
291                           templateName: 'Inspector-Typo3WinBrowserEditor'
292                           label: 'formEditor.elements.Form.finisher.Confirmation.editor.contentElement.label'
293                           buttonLabel: 'formEditor.elements.Form.finisher.Confirmation.editor.contentElement.buttonLabel'
294                           browsableType: tt_content
295                           propertyPath: 'options.contentElementUid'
296                           propertyValidatorsMode: 'OR'
297                           propertyValidators:
298                             10: 'IntegerOrEmpty'
299                             20: 'FormElementIdentifierWithinCurlyBracesExclusive'
300                         300:
301                           identifier: 'message'
302                           templateName: 'Inspector-TextareaEditor'
303                           label: 'formEditor.elements.Form.finisher.Confirmation.editor.message.label'
304                           propertyPath: 'options.message'
305                           fieldExplanationText: 'formEditor.elements.Form.finisher.Confirmation.editor.message.fieldExplanationText'
306
307                     60:
308                       identifier: 'Closure'
309                       editors:
310                         __inheritances:
311                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
312                         100:
313                           label: 'formEditor.elements.Form.finisher.Closure.editor.header.label'
314
315                     70:
316                       identifier: 'FlashMessage'
317                       editors:
318                         __inheritances:
319                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
320                         100:
321                           label: 'formEditor.elements.Form.finisher.FlashMessage.editor.header.label'
322
323                     80:
324                       identifier: 'SaveToDatabase'
325                       editors:
326                         __inheritances:
327                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
328                         100:
329                           label: 'formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label'
330
331             ### FORM ELEMENTS: CONTAINER ###
332             Fieldset:
333               formEditor:
334                 label: 'formEditor.elements.Fieldset.label'
335                 group: container
336                 groupSorting: 100
337                 _isCompositeFormElement: true
338                 iconIdentifier: 'form-fieldset'
339                 editors:
340                   200:
341                     label: 'formEditor.elements.Fieldset.editor.label.label'
342                   800: null
343
344             GridContainer:
345               formEditor:
346                 label: 'formEditor.elements.GridContainer.label'
347                 _isCompositeFormElement: true
348                 _isGridContainerFormElement: true
349                 iconIdentifier: 'form-gridcontainer'
350                 editors:
351                   200:
352                     label: 'formEditor.elements.GridContainer.editor.label.label'
353                   800: null
354
355             GridRow:
356               formEditor:
357                 label: 'formEditor.elements.GridRow.label'
358                 group: container
359                 groupSorting: 300
360                 _isCompositeFormElement: true
361                 _isGridRowFormElement: true
362                 iconIdentifier: 'form-gridrow'
363                 editors:
364                   200:
365                     label: 'formEditor.elements.GridRow.editor.label.label'
366                   800: null
367
368             ### FORM ELEMENTS: PAGE TYPES ###
369             Page:
370               formEditor:
371                 __inheritances:
372                   10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
373                 predefinedDefaults:
374                   renderingOptions:
375                     previousButtonLabel: 'formEditor.elements.Page.editor.previousButtonLabel.value'
376                     nextButtonLabel: 'formEditor.elements.Page.editor.nextButtonLabel.value'
377                 label: 'formEditor.elements.Page.label'
378                 group: page
379                 groupSorting: 100
380                 _isTopLevelFormElement: true
381                 _isCompositeFormElement: true
382                 iconIdentifier: 'form-page'
383                 editors:
384                   200:
385                     label: 'formEditor.elements.Page.editor.label.label'
386                   300:
387                     identifier: 'previousButtonLabel'
388                     templateName: 'Inspector-TextEditor'
389                     label: 'formEditor.elements.Page.editor.previousButtonLabel.label'
390                     propertyPath: 'renderingOptions.previousButtonLabel'
391                   400:
392                     identifier: 'nextButtonLabel'
393                     templateName: 'Inspector-TextEditor'
394                     label: 'formEditor.elements.Page.editor.nextButtonLabel.label'
395                     propertyPath: 'renderingOptions.nextButtonLabel'
396
397             SummaryPage:
398               formEditor:
399                 predefinedDefaults:
400                   renderingOptions:
401                     previousButtonLabel: 'formEditor.elements.SummaryPage.editor.previousButtonLabel.value'
402                     nextButtonLabel: 'formEditor.elements.SummaryPage.editor.nextButtonLabel.value'
403                 label: 'formEditor.elements.SummaryPage.label'
404                 group: page
405                 groupSorting: 200
406                 _isTopLevelFormElement: true
407                 _isCompositeFormElement: false
408                 iconIdentifier: 'form-summary-page'
409                 editors:
410                   200:
411                     label: 'formEditor.elements.SummaryPage.editor.label.label'
412                   300:
413                     identifier: 'previousButtonLabel'
414                     templateName: 'Inspector-TextEditor'
415                     label: 'formEditor.elements.SummaryPage.editor.previousButtonLabel.label'
416                     propertyPath: 'renderingOptions.previousButtonLabel'
417                   400:
418                     identifier: 'nextButtonLabel'
419                     templateName: 'Inspector-TextEditor'
420                     label: 'formEditor.elements.SummaryPage.editor.nextButtonLabel.label'
421                     propertyPath: 'renderingOptions.nextButtonLabel'
422
423             ### FORM ELEMENTS: INPUT ###
424
425             Text:
426               formEditor:
427                 label: 'formEditor.elements.Text.label'
428                 group: input
429                 groupSorting: 100
430                 iconIdentifier: 'form-text'
431
432             Password:
433               formEditor:
434                 label: 'formEditor.elements.Password.label'
435                 group: input
436                 groupSorting: 300
437                 iconIdentifier: 'form-password'
438
439             AdvancedPassword:
440               formEditor:
441                 label: 'formEditor.elements.AdvancedPassword.label'
442                 group: custom
443                 groupSorting: 500
444                 predefinedDefaults:
445                   properties:
446                     confirmationLabel: 'formEditor.element.AdvancedPassword.editor.confirmationLabel.predefinedDefaults'
447                   defaultValue: null
448                 iconIdentifier: 'form-advanced-password'
449                 editors:
450                   300:
451                     identifier: 'confirmationLabel'
452                     templateName: 'Inspector-TextEditor'
453                     label: 'formEditor.elements.AdvancedPassword.editor.confirmationLabel.label'
454                     propertyPath: 'properties.confirmationLabel'
455                   500: null
456
457             Hidden:
458               formEditor:
459                 label: 'formEditor.elements.Hidden.label'
460                 group: custom
461                 groupSorting: 300
462                 iconIdentifier: 'form-hidden'
463                 predefinedDefaults:
464                   defaultValue: ''
465                 editors:
466                   300:
467                     identifier: 'defaultValue'
468                     templateName: 'Inspector-TextEditor'
469                     label: 'formEditor.elements.Hidden.editor.defaultValue.label'
470                     propertyPath: 'defaultValue'
471                   800: null
472
473             Textarea:
474               formEditor:
475                 label: 'formEditor.elements.Textarea.label'
476                 group: input
477                 groupSorting: 200
478                 iconIdentifier: 'form-textarea'
479                 editors:
480                   900:
481                     selectOptions:
482                       # remove email validator
483                       50: null
484
485             ### FORM ELEMENTS: HTML5 ###
486             Email:
487               formEditor:
488                 label: 'formEditor.elements.Email.label'
489                 group: html5
490                 groupSorting: 100
491                 iconIdentifier: 'form-email'
492                 predefinedDefaults:
493                   validators:
494                     -
495                       identifier: EmailAddress
496                 editors:
497                   500:
498                     propertyValidators:
499                       10: 'NaiveEmailOrEmpty'
500                   900:
501                     selectOptions:
502                       20: null
503                       30: null
504                       40: null
505                       60: null
506                       70: null
507                       80: null
508                       90: null
509
510                 propertyCollections:
511                   validators:
512                     40:
513                       editors:
514                         9999: null
515
516             Telephone:
517               formEditor:
518                 label: 'formEditor.elements.Telephone.label'
519                 group: html5
520                 groupSorting: 200
521                 iconIdentifier: 'form-telephone'
522
523                 editors:
524                   900:
525                     selectOptions:
526                       20: null
527                       30: null
528                       40: null
529                       50: null
530                       60: null
531                       70: null
532                       80: null
533
534                 propertyCollections:
535                   validators:
536                     80:
537                       editors:
538                         9999: null
539
540             Url:
541               formEditor:
542                 label: 'formEditor.elements.Url.label'
543                 group: html5
544                 groupSorting: 300
545                 iconIdentifier: 'form-url'
546
547                 editors:
548                   900:
549                     selectOptions:
550                       20: null
551                       30: null
552                       40: null
553                       50: null
554                       60: null
555                       70: null
556                       80: null
557
558                 propertyCollections:
559                   validators:
560                     80:
561                       editors:
562                         9999: null
563
564             Number:
565               formEditor:
566                 label: 'formEditor.elements.Number.label'
567                 group: html5
568                 groupSorting: 400
569                 iconIdentifier: 'form-number'
570                 predefinedDefaults:
571                   properties:
572                     fluidAdditionalAttributes:
573                       step: 1
574                   validators:
575                     -
576                       identifier: Number
577                 editors:
578                   500:
579                    propertyValidators:
580                       10: 'IntegerOrEmpty'
581                   700:
582                     identifier: 'step'
583                     templateName: 'Inspector-TextEditor'
584                     label: 'formEditor.elements.TextMixin.editor.step.label'
585                     propertyPath: 'properties.fluidAdditionalAttributes.step'
586                     propertyValidators:
587                       10: 'Integer'
588
589                   900:
590                     selectOptions:
591                       20: null
592                       30: null
593                       40: null
594                       50: null
595                       60:
596                         value: 'Number'
597                         label: 'formEditor.elements.Number.editor.validators.Number.label'
598                       70: null
599                       90: null
600
601                 propertyCollections:
602                   validators:
603                     60:
604                       identifier: 'Number'
605                       editors:
606                         __inheritances:
607                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
608                         100:
609                           label: 'formEditor.elements.TextMixin.validators.Number.editor.header.label'
610                         9999: null
611
612             ### FORM ELEMENTS: SELECT ###
613             Checkbox:
614               formEditor:
615                 label: 'formEditor.elements.Checkbox.label'
616                 group: select
617                 groupSorting: 100
618                 iconIdentifier: 'form-checkbox'
619
620             MultiCheckbox:
621               formEditor:
622                 label: 'formEditor.elements.MultiCheckbox.label'
623                 group: select
624                 groupSorting: 400
625                 iconIdentifier: 'form-multi-checkbox'
626                 editors:
627                   800:
628                     propertyPath: null
629                     propertyValue: null
630
631             MultiSelect:
632               formEditor:
633                 label: 'formEditor.elements.MultiSelect.label'
634                 group: select
635                 groupSorting: 500
636                 iconIdentifier: 'form-multi-select'
637                 editors:
638                   250:
639                     identifier: 'inactiveOption'
640                     templateName: 'Inspector-TextEditor'
641                     label: 'formEditor.elements.SelectionMixin.editor.inactiveOption.label'
642                     propertyPath: 'properties.prependOptionLabel'
643                     fieldExplanationText: 'formEditor.elements.SelectionMixin.editor.inactiveOption.fieldExplanationText'
644                     doNotSetIfPropertyValueIsEmpty: true
645
646             RadioButton:
647               formEditor:
648                 label: 'formEditor.elements.RadioButton.label'
649                 group: select
650                 groupSorting: 300
651                 iconIdentifier: 'form-radio-button'
652
653             SingleSelect:
654               formEditor:
655                 label: 'formEditor.elements.SingleSelect.label'
656                 group: select
657                 groupSorting: 200
658                 iconIdentifier: 'form-single-select'
659                 editors:
660                   250:
661                     identifier: 'inactiveOption'
662                     templateName: 'Inspector-TextEditor'
663                     label: 'formEditor.elements.SelectionMixin.editor.inactiveOption.label'
664                     propertyPath: 'properties.prependOptionLabel'
665                     fieldExplanationText: 'formEditor.elements.SelectionMixin.editor.inactiveOption.fieldExplanationText'
666                     doNotSetIfPropertyValueIsEmpty: true
667
668             ### FORM ELEMENTS: CUSTOM ###
669             DatePicker:
670               formEditor:
671                 label: 'formEditor.elements.DatePicker.label'
672                 group: custom
673                 groupSorting: 200
674                 predefinedDefaults:
675                   properties:
676                     dateFormat: 'Y-m-d'
677                     enableDatePicker: true
678                     displayTimeSelector: false
679                 iconIdentifier: 'form-date-picker'
680                 editors:
681                   300:
682                     identifier: 'dateFormat'
683                     templateName: 'Inspector-TextEditor'
684                     label: 'formEditor.elements.DatePicker.editor.dateFormat.label'
685                     propertyPath: 'properties.dateFormat'
686                   350:
687                     identifier: 'placeholder'
688                     templateName: 'Inspector-TextEditor'
689                     label: 'formEditor.elements.TextMixin.editor.placeholder.label'
690                     propertyPath: 'properties.fluidAdditionalAttributes.placeholder'
691                     doNotSetIfPropertyValueIsEmpty: true
692                   400:
693                     identifier: 'enableDatePicker'
694                     templateName: 'Inspector-CheckboxEditor'
695                     label: 'formEditor.elements.DatePicker.editor.enableDatePicker.label'
696                     propertyPath: 'properties.enableDatePicker'
697                   500:
698                     identifier: 'displayTimeSelector'
699                     templateName: 'Inspector-CheckboxEditor'
700                     label: 'formEditor.elements.DatePicker.editor.displayTimeSelector.label'
701                     propertyPath: 'properties.displayTimeSelector'
702                   900:
703                     identifier: 'validators'
704                     templateName: 'Inspector-ValidatorsEditor'
705                     label: 'formEditor.elements.DatePicker.editor.validators.label'
706                     selectOptions:
707                       10:
708                         value: ''
709                         label: 'formEditor.elements.DatePicker.editor.validators.EmptyValue.label'
710                       20:
711                         value: 'DateTime'
712                         label: 'formEditor.elements.DatePicker.editor.validators.DateTime.label'
713
714                 propertyCollections:
715                   validators:
716                     10:
717                       identifier: 'DateTime'
718                       editors:
719                         __inheritances:
720                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
721                         100:
722                           label: 'formEditor.elements.DatePicker.validators.DateTime.editor.header.label'
723
724             StaticText:
725               formEditor:
726                 label: 'formEditor.elements.StaticText.label'
727                 group: custom
728                 groupSorting: 600
729                 predefinedDefaults:
730                   properties:
731                     text: ''
732                 iconIdentifier: 'form-static-text'
733                 editors:
734                   300:
735                     identifier: 'staticText'
736                     templateName: 'Inspector-TextareaEditor'
737                     label: 'formEditor.elements.StaticText.editor.staticText.label'
738                     propertyPath: 'properties.text'
739
740             ContentElement:
741               formEditor:
742                 label: 'formEditor.elements.ContentElement.label'
743                 group: custom
744                 groupSorting: 700
745                 predefinedDefaults:
746                   properties:
747                     contentElementUid: ''
748                 iconIdentifier: 'form-content-element'
749                 editors:
750                   200: null
751                   300:
752                     identifier: 'contentElement'
753                     templateName: 'Inspector-Typo3WinBrowserEditor'
754                     label: 'formEditor.elements.ContentElement.editor.contentElement.label'
755                     buttonLabel: 'formEditor.elements.ContentElement.editor.contentElement.buttonLabel'
756                     browsableType: tt_content
757                     propertyPath: 'properties.contentElementUid'
758                     propertyValidatorsMode: 'OR'
759                     propertyValidators:
760                       10: 'Integer'
761                       20: 'FormElementIdentifierWithinCurlyBracesExclusive'
762
763             ### FORM ELEMENTS: UPLOADS ###
764             FileUpload:
765               formEditor:
766                 label: 'formEditor.elements.FileUpload.label'
767                 group: custom
768                 groupSorting: 100
769                 predefinedDefaults:
770                   properties:
771                     allowedMimeTypes: ['application/pdf']
772                 iconIdentifier: 'form-file-upload'
773                 editors:
774                   300:
775                     identifier: 'allowedMimeTypes'
776                     templateName: 'Inspector-MultiSelectEditor'
777                     label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.label'
778                     propertyPath: 'properties.allowedMimeTypes'
779                     selectOptions:
780                       10:
781                         value: 'application/msword'
782                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.doc'
783                       20:
784                         value: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
785                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.docx'
786                       30:
787                         value: 'application/msexcel'
788                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.xls'
789                       40:
790                         value: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
791                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.xlsx'
792                       50:
793                         value: 'application/pdf'
794                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.pdf'
795                       60:
796                         value: 'application/vnd.oasis.opendocument.text'
797                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.odt'
798                       70:
799                         value: 'application/vnd.oasis.opendocument.spreadsheet-template'
800                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.ods'
801
802             ImageUpload:
803               formEditor:
804                 label: 'formEditor.elements.ImageUpload.label'
805                 group: custom
806                 groupSorting: 400
807                 predefinedDefaults:
808                   properties:
809                     allowedMimeTypes: ['image/jpeg']
810                 iconIdentifier: 'form-image-upload'
811                 editors:
812                   300:
813                     identifier: 'allowedMimeTypes'
814                     templateName: 'Inspector-MultiSelectEditor'
815                     label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.label'
816                     propertyPath: 'properties.allowedMimeTypes'
817                     selectOptions:
818                       10:
819                         value: 'image/jpeg'
820                         label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.jpg'
821                       20:
822                         value: 'image/png'
823                         label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.png'
824                       30:
825                         value: 'image/bmp'
826                         label: 'formEditor.elements.ImageUpload.editor.allowedMimeTypes.bmp'
827
828           ### FINISHERS ###
829           finishersDefinition:
830             EmailToSender:
831               formEditor:
832                 iconIdentifier: 'form-finisher'
833                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.header.label'
834                 predefinedDefaults:
835                   options:
836                     subject: ''
837                     recipientAddress: ''
838                     recipientName: ''
839                     senderAddress: ''
840                     senderName: ''
841                     replyToAddress: ''
842                     carbonCopyAddress: ''
843                     blindCarbonCopyAddress: ''
844                     format: 'html'
845                     attachUploads: true
846
847             EmailToReceiver:
848               formEditor:
849                 iconIdentifier: 'form-finisher'
850                 label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label'
851                 predefinedDefaults:
852                   options:
853                     subject: ''
854                     recipientAddress: ''
855                     recipientName: ''
856                     senderAddress: ''
857                     senderName: ''
858                     replyToAddress: ''
859                     carbonCopyAddress: ''
860                     blindCarbonCopyAddress: ''
861                     format: 'html'
862                     attachUploads: true
863                     translation:
864                       language: ''
865
866             Redirect:
867               formEditor:
868                 iconIdentifier: 'form-finisher'
869                 label: 'formEditor.elements.Form.finisher.Redirect.editor.header.label'
870                 predefinedDefaults:
871                   options:
872                     pageUid: ''
873                     additionalParameters: ''
874
875             Closure:
876               formEditor:
877                 iconIdentifier: 'form-finisher'
878                 label: 'formEditor.elements.Form.finisher.Closure.editor.header.label'
879                 predefinedDefaults:
880                   options:
881                     closure: ''
882
883             Confirmation:
884               formEditor:
885                 iconIdentifier: 'form-finisher'
886                 label: 'formEditor.elements.Form.finisher.Confirmation.editor.header.label'
887                 predefinedDefaults:
888                   options:
889                     message: ''
890                     contentElementUid: ''
891
892             FlashMessage:
893               formEditor:
894                 iconIdentifier: 'form-finisher'
895                 label: 'formEditor.elements.Form.finisher.FlashMessage.editor.header.label'
896                 predefinedDefaults:
897                   options:
898                     messageBody: ''
899                     messageTitle: ''
900                     messageArguments: ''
901                     messageCode: 0
902                     severity: 0
903
904             SaveToDatabase:
905               formEditor:
906                 iconIdentifier: 'form-finisher'
907                 label: 'formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label'
908                 predefinedDefaults:
909                   options: []
910
911             DeleteUploads:
912               formEditor:
913                 iconIdentifier: 'form-finisher'
914                 label: 'formEditor.elements.Form.finisher.DeleteUploads.editor.header.label'
915
916           ### VALIDATORS ###
917           validatorsDefinition:
918             NotEmpty:
919               formEditor:
920                 iconIdentifier: 'form-validator'
921                 label : 'formEditor.elements.FormElement.editor.requiredValidator.label'
922             DateTime:
923               formEditor:
924                 iconIdentifier: 'form-validator'
925                 label: 'formEditor.elements.DatePicker.validators.DateTime.editor.header.label'
926             Alphanumeric:
927               formEditor:
928                 iconIdentifier: 'form-validator'
929                 label: 'formEditor.elements.TextMixin.editor.validators.Alphanumeric.label'
930             Text:
931               formEditor:
932                 iconIdentifier: 'form-validator'
933                 label: 'formEditor.elements.TextMixin.editor.validators.Text.label'
934             StringLength:
935               formEditor:
936                 iconIdentifier: 'form-validator'
937                 label: 'formEditor.elements.TextMixin.editor.validators.StringLength.label'
938                 predefinedDefaults:
939                   options:
940                     minimum: ''
941                     maximum: ''
942             EmailAddress:
943               formEditor:
944                 iconIdentifier: 'form-validator'
945                 label: 'formEditor.elements.TextMixin.editor.validators.EmailAddress.label'
946             Integer:
947               formEditor:
948                 iconIdentifier: 'form-validator'
949                 label: 'formEditor.elements.TextMixin.editor.validators.Integer.label'
950             Float:
951               formEditor:
952                 iconIdentifier: 'form-validator'
953                 label: 'formEditor.elements.TextMixin.editor.validators.Float.label'
954             Number:
955               formEditor:
956                 iconIdentifier: 'form-validator'
957                 label: 'formEditor.elements.TextMixin.editor.validators.Number.label'
958             NumberRange:
959               formEditor:
960                 iconIdentifier: 'form-validator'
961                 label: 'formEditor.elements.TextMixin.editor.validators.NumberRange.label'
962                 predefinedDefaults:
963                   options:
964                     minimum: ''
965                     maximum: ''
966             RegularExpression:
967               formEditor:
968                 iconIdentifier: 'form-validator'
969                 label: 'formEditor.elements.TextMixin.editor.validators.RegularExpression.label'
970                 predefinedDefaults:
971                   options:
972                     regularExpression: ''
973             Count:
974               formEditor:
975                 iconIdentifier: 'form-validator'
976                 label: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label'
977                 predefinedDefaults:
978                   options:
979                     minimum: ''
980                     maximum: ''
981             FileSize:
982               formEditor:
983                 iconIdentifier: 'form-validator'
984                 label: 'formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label'
985                 predefinedDefaults:
986                   options:
987                     minimum: '0B'
988                     maximum: '10M'
989
990       ########### MIXINS ###########
991       mixins:
992         ########### FORM ELEMENT MIXINS ###########
993         formElementMixins:
994           BaseFormElementMixin:
995             formEditor:
996               predefinedDefaults: []
997               editors:
998                 100:
999                   identifier: 'header'
1000                   templateName: 'Inspector-FormElementHeaderEditor'
1001                 200:
1002                   identifier: 'label'
1003                   templateName: 'Inspector-TextEditor'
1004                   label: 'formEditor.elements.BaseFormElementMixin.editor.label.label'
1005                   propertyPath: 'label'
1006
1007           RemoveButtonMixin:
1008             9999:
1009               identifier: 'removeButton'
1010               templateName: 'Inspector-RemoveElementEditor'
1011
1012           RemovableFormElementMixin:
1013             editors:
1014               __inheritances:
1015                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemoveButtonMixin'
1016
1017           BaseCollectionEditorsMixin:
1018             __inheritances:
1019               10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemoveButtonMixin'
1020             100:
1021               identifier: 'header'
1022               templateName: 'Inspector-CollectionElementHeaderEditor'
1023               label: ''
1024
1025           MinimumMaximumEditorsMixin:
1026             200:
1027               identifier: 'minimum'
1028               templateName: 'Inspector-TextEditor'
1029               label: 'formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label'
1030               propertyPath: 'options.minimum'
1031               propertyValidators:
1032                 10: 'Integer'
1033             300:
1034               identifier: 'maximum'
1035               templateName: 'Inspector-TextEditor'
1036               label: 'formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label'
1037               propertyPath: 'options.maximum'
1038               propertyValidators:
1039                 10: 'Integer'
1040
1041           ReadOnlyFormElementMixin:
1042             formEditor:
1043               __inheritances:
1044                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
1045               editors:
1046                 200:
1047                   label: 'formEditor.elements.ReadOnlyFormElement.editor.label.label'
1048
1049           FormElementMixin:
1050             formEditor:
1051               __inheritances:
1052                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
1053               editors:
1054                 200:
1055                   label: 'formEditor.elements.FormElement.editor.label.label'
1056
1057                 700:
1058                   identifier: 'gridColumnViewPortConfiguration'
1059                   templateName: 'Inspector-GridColumnViewPortConfigurationEditor'
1060                   label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label'
1061                   configurationOptions:
1062                     viewPorts:
1063                       10:
1064                         viewPortIdentifier: 'xs'
1065                         label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label'
1066                       20:
1067                         viewPortIdentifier: 'sm'
1068                         label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label'
1069                       30:
1070                         viewPortIdentifier: 'md'
1071                         label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label'
1072                       40:
1073                         viewPortIdentifier: 'lg'
1074                         label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label'
1075                     numbersOfColumnsToUse:
1076                       label: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label'
1077                       propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
1078                       fieldExplanationText: 'formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText'
1079
1080                 800:
1081                   identifier: 'requiredValidator'
1082                   templateName: 'Inspector-RequiredValidatorEditor'
1083                   label: 'formEditor.elements.FormElement.editor.requiredValidator.label'
1084                   validatorIdentifier: 'NotEmpty'
1085                   propertyPath: 'properties.fluidAdditionalAttributes.required'
1086                   propertyValue: 'required'
1087
1088           TextMixin:
1089             formEditor:
1090               predefinedDefaults:
1091                 defaultValue: ''
1092               editors:
1093                 400:
1094                   identifier: 'placeholder'
1095                   templateName: 'Inspector-TextEditor'
1096                   label: 'formEditor.elements.TextMixin.editor.placeholder.label'
1097                   propertyPath: 'properties.fluidAdditionalAttributes.placeholder'
1098                   doNotSetIfPropertyValueIsEmpty: true
1099                 500:
1100                   identifier: 'defaultValue'
1101                   templateName: 'Inspector-TextEditor'
1102                   label: 'formEditor.elements.TextMixin.editor.defaultValue.label'
1103                   propertyPath: 'defaultValue'
1104                 900:
1105                   identifier: 'validators'
1106                   templateName: 'Inspector-ValidatorsEditor'
1107                   label: 'formEditor.elements.TextMixin.editor.validators.label'
1108                   selectOptions:
1109                     10:
1110                       value: ''
1111                       label: 'formEditor.elements.TextMixin.editor.validators.EmptyValue.label'
1112                     20:
1113                       value: 'Alphanumeric'
1114                       label: 'formEditor.elements.TextMixin.editor.validators.Alphanumeric.label'
1115                     30:
1116                       value: 'Text'
1117                       label: 'formEditor.elements.TextMixin.editor.validators.Text.label'
1118                     40:
1119                       value: 'StringLength'
1120                       label: 'formEditor.elements.TextMixin.editor.validators.StringLength.label'
1121                     50:
1122                       value: 'EmailAddress'
1123                       label: 'formEditor.elements.TextMixin.editor.validators.EmailAddress.label'
1124                     60:
1125                       value: 'Integer'
1126                       label: 'formEditor.elements.TextMixin.editor.validators.Integer.label'
1127                     70:
1128                       value: 'Float'
1129                       label: 'formEditor.elements.TextMixin.editor.validators.Float.label'
1130                     80:
1131                       value: 'NumberRange'
1132                       label: 'formEditor.elements.TextMixin.editor.validators.NumberRange.label'
1133                     90:
1134                       value: 'RegularExpression'
1135                       label: 'formEditor.elements.TextMixin.editor.validators.RegularExpression.label'
1136
1137               propertyCollections:
1138                 validators:
1139                   10:
1140                     identifier: 'Alphanumeric'
1141                     editors:
1142                       __inheritances:
1143                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1144                       100:
1145                         label: 'formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label'
1146                   20:
1147                     identifier: 'Text'
1148                     editors:
1149                       __inheritances:
1150                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1151                       100:
1152                         label: 'formEditor.elements.TextMixin.validators.Text.editor.header.label'
1153                   30:
1154                     identifier: 'StringLength'
1155                     editors:
1156                       __inheritances:
1157                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1158                         20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
1159                       100:
1160                         label: 'formEditor.elements.TextMixin.validators.StringLength.editor.header.label'
1161                       200:
1162                         additionalElementPropertyPaths:
1163                           10: 'properties.fluidAdditionalAttributes.minlength'
1164                       300:
1165                         additionalElementPropertyPaths:
1166                           10: 'properties.fluidAdditionalAttributes.maxlength'
1167                   40:
1168                     identifier: 'EmailAddress'
1169                     editors:
1170                       __inheritances:
1171                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1172                       100:
1173                         label: 'formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label'
1174                   50:
1175                     identifier: 'Integer'
1176                     editors:
1177                       __inheritances:
1178                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1179                       100:
1180                         label: 'formEditor.elements.TextMixin.validators.Integer.editor.header.label'
1181                   60:
1182                     identifier: 'Float'
1183                     editors:
1184                       __inheritances:
1185                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1186                       100:
1187                         label: 'formEditor.elements.TextMixin.validators.Float.editor.header.label'
1188                   70:
1189                     identifier: 'NumberRange'
1190                     editors:
1191                       __inheritances:
1192                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1193                         20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
1194                       100:
1195                         label: 'formEditor.elements.TextMixin.validators.NumberRange.editor.header.label'
1196                       200:
1197                         additionalElementPropertyPaths:
1198                           10: 'properties.fluidAdditionalAttributes.min'
1199                       300:
1200                         additionalElementPropertyPaths:
1201                           10: 'properties.fluidAdditionalAttributes.max'
1202                   80:
1203                     identifier: 'RegularExpression'
1204                     editors:
1205                       __inheritances:
1206                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1207                       100:
1208                         label: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label'
1209                       200:
1210                         identifier: 'regex'
1211                         templateName: 'Inspector-TextEditor'
1212                         label: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label'
1213                         fieldExplanationText: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText'
1214                         propertyPath: 'options.regularExpression'
1215                         propertyValidators:
1216                           10: 'NotEmpty'
1217
1218           SelectionMixin:
1219             formEditor:
1220               predefinedDefaults:
1221                 properties:
1222                   options: []
1223               editors:
1224                 300:
1225                   identifier: 'options'
1226                   templateName: 'Inspector-PropertyGridEditor'
1227                   label: 'formEditor.elements.SelectionMixin.editor.options.label'
1228                   propertyPath: 'properties.options'
1229                   isSortable: true
1230                   enableAddRow: true
1231                   enableDeleteRow: true
1232                   removeLastAvailableRowFlashMessageTitle: 'formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle'
1233                   removeLastAvailableRowFlashMessageMessage: 'formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage'
1234
1235           SingleSelectionMixin:
1236             formEditor:
1237               editors:
1238                 300:
1239                   shouldShowPreselectedValueColumn: 'single'
1240                   multiSelection: false
1241
1242           MultiSelectionMixin:
1243             formEditor:
1244               editors:
1245                 300:
1246                   shouldShowPreselectedValueColumn: 'multiple'
1247                   multiSelection: true
1248                 900:
1249                   identifier: 'validators'
1250                   templateName: 'Inspector-ValidatorsEditor'
1251                   label: 'formEditor.elements.MultiSelectionMixin.editor.validators.label'
1252                   selectOptions:
1253                     10:
1254                       value: ''
1255                       label: 'formEditor.elements.MultiSelectionMixin.editor.validators.EmptyValue.label'
1256                     20:
1257                       value: 'Count'
1258                       label: 'formEditor.elements.MultiSelectionMixin.editor.validators.Count.label'
1259
1260               propertyCollections:
1261                 validators:
1262                   10:
1263                     identifier: 'Count'
1264                     editors:
1265                       __inheritances:
1266                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1267                         20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
1268                       100:
1269                         label: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label'
1270
1271           FileUploadMixin:
1272             formEditor:
1273               predefinedDefaults:
1274                 properties:
1275                   saveToFileMount: '1:/user_upload/'
1276               editors:
1277                 400:
1278                   identifier: 'saveToFileMount'
1279                   templateName: 'Inspector-SingleSelectEditor'
1280                   label: 'formEditor.elements.FileUploadMixin.editor.saveToFileMount.label'
1281                   propertyPath: 'properties.saveToFileMount'
1282                   selectOptions:
1283                     10:
1284                       value: '1:/user_upload/'
1285                       label: '1:/user_upload/'
1286                 900:
1287                   identifier: 'validators'
1288                   templateName: 'Inspector-ValidatorsEditor'
1289                   label: 'formEditor.elements.FileUploadMixin.editor.validators.label'
1290                   selectOptions:
1291                     10:
1292                       value: ''
1293                       label: 'formEditor.elements.FileUploadMixin.editor.validators.EmptyValue.label'
1294                     20:
1295                       value: 'FileSize'
1296                       label: 'formEditor.elements.FileUploadMixin.editor.validators.FileSize.label'
1297
1298               propertyCollections:
1299                 validators:
1300                   10:
1301                     identifier: 'FileSize'
1302                     editors:
1303                       __inheritances:
1304                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1305                         20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
1306                       100:
1307                         label: 'formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label'
1308                       200:
1309                         propertyValidators:
1310                           10: 'FileSize'
1311                       300:
1312                         propertyValidators:
1313                           10: 'FileSize'
1314
1315           formEmailFinisherMixin:
1316             editors:
1317               __inheritances:
1318                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
1319               100:
1320                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.header.label'
1321               200:
1322                 identifier: 'subject'
1323                 templateName: 'Inspector-TextEditor'
1324                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.subject.label'
1325                 propertyPath: 'options.subject'
1326                 enableFormelementSelectionButton: true
1327                 propertyValidators:
1328                   10: 'NotEmpty'
1329                   20: 'FormElementIdentifierWithinCurlyBracesInclusive'
1330               300:
1331                 identifier: 'recipientAddress'
1332                 templateName: 'Inspector-TextEditor'
1333                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientAddress.label'
1334                 propertyPath: 'options.recipientAddress'
1335                 enableFormelementSelectionButton: true
1336                 propertyValidatorsMode: 'OR'
1337                 propertyValidators:
1338                   10: 'NaiveEmail'
1339                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
1340                 fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientAddress.fieldExplanationText'
1341               400:
1342                 identifier: 'recipientName'
1343                 templateName: 'Inspector-TextEditor'
1344                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientName.label'
1345                 propertyPath: 'options.recipientName'
1346                 enableFormelementSelectionButton: true
1347                 propertyValidators:
1348                   10: 'FormElementIdentifierWithinCurlyBracesInclusive'
1349                 fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientName.fieldExplanationText'
1350               500:
1351                 identifier: 'senderAddress'
1352                 templateName: 'Inspector-TextEditor'
1353                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.label'
1354                 propertyPath: 'options.senderAddress'
1355                 enableFormelementSelectionButton: true
1356                 propertyValidatorsMode: 'OR'
1357                 propertyValidators:
1358                   10: 'NaiveEmail'
1359                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
1360                 fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.fieldExplanationText'
1361               600:
1362                 identifier: 'senderName'
1363                 templateName: 'Inspector-TextEditor'
1364                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderName.label'
1365                 propertyPath: 'options.senderName'
1366                 enableFormelementSelectionButton: true
1367                 propertyValidators:
1368                   10: 'FormElementIdentifierWithinCurlyBracesInclusive'
1369                 fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderName.fieldExplanationText'
1370               700:
1371                 identifier: 'replyToAddress'
1372                 templateName: 'Inspector-TextEditor'
1373                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.replyToAddress.label'
1374                 propertyPath: 'options.replyToAddress'
1375                 enableFormelementSelectionButton: true
1376                 propertyValidatorsMode: 'OR'
1377                 propertyValidators:
1378                   10: 'NaiveEmailOrEmpty'
1379                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
1380               800:
1381                 identifier: 'carbonCopyAddress'
1382                 templateName: 'Inspector-TextEditor'
1383                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.carbonCopyAddress.label'
1384                 propertyPath: 'options.carbonCopyAddress'
1385                 enableFormelementSelectionButton: true
1386                 propertyValidatorsMode: 'OR'
1387                 propertyValidators:
1388                   10: 'NaiveEmailOrEmpty'
1389                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
1390               900:
1391                 identifier: 'blindCarbonCopyAddress'
1392                 templateName: 'Inspector-TextEditor'
1393                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.blindCarbonCopyAddress.label'
1394                 propertyPath: 'options.blindCarbonCopyAddress'
1395                 enableFormelementSelectionButton: true
1396                 propertyValidatorsMode: 'OR'
1397                 propertyValidators:
1398                   10: 'NaiveEmailOrEmpty'
1399                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
1400               1000:
1401                 identifier: 'format'
1402                 templateName: 'Inspector-SingleSelectEditor'
1403                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.label'
1404                 propertyPath: 'options.format'
1405                 selectOptions:
1406                   10:
1407                     value: 'plaintext'
1408                     label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.1'
1409                   20:
1410                     value: 'html'
1411                     label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.2'
1412               1100:
1413                 identifier: 'attachUploads'
1414                 templateName: 'Inspector-CheckboxEditor'
1415                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.attachUploads.label'
1416                 propertyPath: 'options.attachUploads'