98edc7625355a6040c9d78685d3c0f800f75164c
[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               # @toDo: move form.less to the TYPO3 Build folder
45               200: 'EXT:form/Resources/Public/Css/form.css'
46
47             formEditorTemplates:
48               templateRootPaths:
49                 10: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/'
50               partialRootPaths:
51                 10: 'EXT:form/Resources/Private/Backend/Partials/FormEditor/'
52               layoutRootPaths:
53                 10: 'EXT:form/Resources/Private/Backend/Layouts/FormEditor/'
54
55               # Element options editors
56               FormElement-_ElementToolbar: 'Stage/_ElementToolbar'
57               FormElement-_UnknownElement: 'Stage/_UnknownElement'
58               FormElement-Page: 'Stage/Page'
59               FormElement-SummaryPage: 'Stage/SummaryPage'
60               FormElement-Fieldset: 'Stage/Fieldset'
61               FormElement-Text: 'Stage/Text'
62               FormElement-Password: 'Stage/Password'
63               FormElement-AdvancedPassword: 'Stage/AdvancedPassword'
64               FormElement-Textarea: 'Stage/Textarea'
65               FormElement-Checkbox: 'Stage/Checkbox'
66               FormElement-MultiCheckbox: 'Stage/MultiCheckbox'
67               FormElement-MultiSelect: 'Stage/MultiSelect'
68               FormElement-RadioButton: 'Stage/RadioButton'
69               FormElement-SingleSelect: 'Stage/SingleSelect'
70               FormElement-DatePicker: 'Stage/DatePicker'
71               FormElement-StaticText: 'Stage/StaticText'
72               FormElement-Hidden: 'Stage/Hidden'
73               FormElement-ContentElement: 'Stage/ContentElement'
74               FormElement-FileUpload: 'Stage/FileUpload'
75               FormElement-ImageUpload: 'Stage/ImageUpload'
76
77               Modal-InsertElements: 'Modals/InsertElements'
78               Modal-InsertPages: 'Modals/InsertPages'
79               Modal-ValidationErrors: 'Modals/ValidationErrors'
80
81               Inspector-FormElementHeaderEditor: 'Inspector/FormElementHeaderEditor'
82               Inspector-CollectionElementHeaderEditor: 'Inspector/CollectionElementHeaderEditor'
83               Inspector-TextEditor: 'Inspector/TextEditor'
84               Inspector-PropertyGridEditor: 'Inspector/PropertyGridEditor'
85               Inspector-SingleSelectEditor: 'Inspector/SingleSelectEditor'
86               Inspector-TextareaEditor: 'Inspector/TextareaEditor'
87               Inspector-RemoveElementEditor: 'Inspector/RemoveElementEditor'
88               Inspector-FinishersEditor: 'Inspector/FinishersEditor'
89               Inspector-ValidatorsEditor: 'Inspector/ValidatorsEditor'
90               Inspector-RequiredValidatorEditor: 'Inspector/RequiredValidatorEditor'
91               Inspector-CheckboxEditor: 'Inspector/CheckboxEditor'
92               Inspector-Typo3WinBrowserEditor: 'Inspector/Typo3WinBrowserEditor'
93
94             formElementPropertyValidatorsDefinition:
95               NotEmpty:
96                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NotEmpty.label'
97               Integer:
98                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.Integer.label'
99               NaiveEmail:
100                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label'
101               NaiveEmailOrEmpty:
102                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label'
103               FormElementIdentifierWithinCurlyBracesInclusive:
104                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label'
105               FormElementIdentifierWithinCurlyBracesExclusive:
106                 errorMessage: 'formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label'
107
108             formElementGroups:
109               input:
110                 label: 'formEditor.formElementGroups.input.label'
111               select:
112                 label: 'formEditor.formElementGroups.select.label'
113               custom:
114                 label: 'formEditor.formElementGroups.custom.label'
115               container:
116                 label: 'formEditor.formElementGroups.container.label'
117               page:
118                 label: 'formEditor.formElementGroups.page.label'
119
120           ########### DEFAULT FORM ELEMENT DEFINITIONS ###########
121           formElementsDefinition:
122             Form:
123               formEditor:
124                 _isCompositeFormElement: false
125                 _isTopLevelFormElement: true
126
127                 saveSuccessFlashMessageTitle: 'formEditor.elements.Form.saveSuccessFlashMessageTitle'
128                 saveSuccessFlashMessageMessage: 'formEditor.elements.Form.saveSuccessFlashMessageMessage'
129
130                 modalValidationErrorsDialogTitle: 'formEditor.modals.validationErrors.dialogTitle'
131                 modalValidationErrorsConfirmButton: 'formEditor.modals.validationErrors.confirmButton'
132
133                 modalInsertElementsDialogTitle: 'formEditor.modals.insertElements.dialogTitle'
134                 modalInsertPagesDialogTitle: 'formEditor.modals.newPages.dialogTitle'
135
136                 modalCloseDialogMessage: 'formEditor.modals.close.dialogMessage'
137                 modalCloseDialogTitle: 'formEditor.modals.close.dialogTitle'
138                 modalCloseConfirmButton: 'formEditor.modals.close.confirmButton'
139                 modalCloseCancleButton: 'formEditor.modals.close.cancleButton'
140
141                 modalRemoveElementDialogTitle: 'formEditor.modals.removeElement.dialogTitle'
142                 modalRemoveElementDialogMessage: 'formEditor.modals.removeElement.dialogMessage'
143                 modalRemoveElementConfirmButton: 'formEditor.modals.removeElement.confirmButton'
144                 modalRemoveElementCancleButton: 'formEditor.modals.removeElement.cancleButton'
145                 modalRemoveElementLastAvailablePageFlashMessageTitle: 'formEditor.modals.removeElement.lastAvailablePageFlashMessageTitle'
146                 modalRemoveElementLastAvailablePageFlashMessageMessage: 'formEditor.modals.removeElement.lastAvailablePageFlashMessageMessage'
147
148                 paginationTitle: 'formEditor.pagination.title'
149
150                 iconIdentifier: 'content-elements-mailform'
151                 predefinedDefaults:
152                 editors:
153                   900:
154                     identifier: 'finishers'
155                     templateName: 'Inspector-FinishersEditor'
156                     label: 'formEditor.elements.Form.editor.finishers.label'
157                     selectOptions:
158                       10:
159                         value: ''
160                         label: 'formEditor.elements.Form.editor.finishers.EmptyValue.label'
161                       20:
162                         value: 'EmailToSender'
163                         label: 'formEditor.elements.Form.editor.finishers.EmailToSender.label'
164                       30:
165                         value: 'EmailToReceiver'
166                         label: 'formEditor.elements.Form.editor.finishers.EmailToReceiver.label'
167                       40:
168                         value: 'Redirect'
169                         label: 'formEditor.elements.Form.editor.finishers.Redirect.label'
170                       50:
171                         value: 'DeleteUploads'
172                         label: 'formEditor.elements.Form.editor.finishers.DeleteUploads.label'
173
174                 propertyCollections:
175                   finishers:
176                     10:
177                       __inheritances:
178                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.formEmailFinisherMixin'
179                       identifier: 'EmailToSender'
180
181                     20:
182                       __inheritances:
183                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.formEmailFinisherMixin'
184                       identifier: 'EmailToReceiver'
185                       editors:
186                         100:
187                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label'
188                         200:
189                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.subject.label'
190                         300:
191                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientAddress.label'
192                         400:
193                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientName.label'
194                         500:
195                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.label'
196                         600:
197                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.label'
198                         700:
199                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.replyToAddress.label'
200                         800:
201                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.carbonCopyAddress.label'
202                         900:
203                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.blindCarbonCopyAddress.label'
204                         1000:
205                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.format.label'
206                         1100:
207                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.attachUploads.label'
208                         1200:
209                           identifier: 'language'
210                           templateName: 'Inspector-SingleSelectEditor'
211                           label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.language.label'
212                           propertyPath: 'options.translation.language'
213                           selectOptions:
214                             10:
215                               value: 'default'
216                               label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.language.1'
217
218                     30:
219                       identifier: 'Redirect'
220                       editors:
221                         __inheritances:
222                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
223                         100:
224                           label: 'formEditor.elements.Form.finisher.Redirect.editor.header.label'
225                         200:
226                           identifier: 'pageUid'
227                           templateName: 'Inspector-Typo3WinBrowserEditor'
228                           label: 'formEditor.elements.Form.finisher.Redirect.editor.pageUid.label'
229                           buttonLabel: 'formEditor.elements.Form.finisher.Redirect.editor.pageUid.buttonLabel'
230                           browsableType: pages
231                           propertyPath: 'options.pageUid'
232                           propertyValidatorsMode: 'OR'
233                           propertyValidators:
234                             10: 'Integer'
235                             20: 'FormElementIdentifierWithinCurlyBracesExclusive'
236
237                         300:
238                           identifier: 'additionalParameters'
239                           templateName: 'Inspector-TextEditor'
240                           label: 'formEditor.elements.Form.finisher.Redirect.editor.additionalParameters.label'
241                           propertyPath: 'options.additionalParameters'
242
243                     40:
244                       identifier: 'DeleteUploads'
245                       editors:
246                         __inheritances:
247                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
248                         100:
249                           label: 'formEditor.elements.Form.finisher.DeleteUploads.editor.header.label'
250
251                     50:
252                       identifier: 'Confirmation'
253                       editors:
254                         __inheritances:
255                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
256                         100:
257                           label: 'formEditor.elements.Form.finisher.Confirmation.editor.header.label'
258
259                     60:
260                       identifier: 'Closure'
261                       editors:
262                         __inheritances:
263                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
264                         100:
265                           label: 'formEditor.elements.Form.finisher.Closure.editor.header.label'
266
267                     70:
268                       identifier: 'FlashMessage'
269                       editors:
270                         __inheritances:
271                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
272                         100:
273                           label: 'formEditor.elements.Form.finisher.FlashMessage.editor.header.label'
274
275                     80:
276                       identifier: 'SaveToDatabase'
277                       editors:
278                         __inheritances:
279                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
280                         100:
281                           label: 'formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label'
282
283             ### FORM ELEMENTS: CONTAINER ###
284             Fieldset:
285               formEditor:
286                 label: 'formEditor.elements.Fieldset.label'
287                 group: container
288                 groupSorting: 100
289                 _isCompositeFormElement: true
290                 iconIdentifier: 't3-form-icon-fieldset'
291                 editors:
292                   200:
293                     label: 'formEditor.elements.Fieldset.editor.label.label'
294                   800: null
295
296             ### FORM ELEMENTS: PAGE TYPES ###
297             Page:
298               formEditor:
299                 __inheritances:
300                   10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
301                 predefinedDefaults:
302                 label: 'formEditor.elements.Page.label'
303                 group: page
304                 groupSorting: 100
305                 _isTopLevelFormElement: true
306                 _isCompositeFormElement: true
307                 iconIdentifier: 't3-form-icon-page'
308                 editors:
309                   200:
310                     label: 'formEditor.elements.Page.editor.label.label'
311
312             SummaryPage:
313               formEditor:
314                 predefinedDefaults:
315                 label: 'formEditor.elements.SummaryPage.label'
316                 group: page
317                 groupSorting: 200
318                 _isTopLevelFormElement: true
319                 _isCompositeFormElement: false
320                 iconIdentifier: 't3-form-icon-summary-page'
321                 editors:
322                   200:
323                     label: 'formEditor.elements.SummaryPage.editor.label.label'
324
325             ### FORM ELEMENTS: INPUT ###
326
327             Text:
328               formEditor:
329                 label: 'formEditor.elements.Text.label'
330                 group: input
331                 groupSorting: 100
332                 iconIdentifier: 't3-form-icon-text'
333
334             Password:
335               formEditor:
336                 label: 'formEditor.elements.Password.label'
337                 group: input
338                 groupSorting: 300
339                 iconIdentifier: 't3-form-icon-password'
340
341             AdvancedPassword:
342               formEditor:
343                 label: 'formEditor.elements.AdvancedPassword.label'
344                 group: input
345                 groupSorting: 400
346                 predefinedDefaults:
347                   properties:
348                     confirmationLabel: 'formEditor.element.AdvancedPassword.editor.confirmationLabel.predefinedDefaults'
349                   defaultValue: null
350                 iconIdentifier: 't3-form-icon-advanced-password'
351                 editors:
352                   300:
353                     identifier: 'confirmationLabel'
354                     templateName: 'Inspector-TextEditor'
355                     label: 'formEditor.elements.AdvancedPassword.editor.confirmationLabel.label'
356                     propertyPath: 'properties.confirmationLabel'
357                   500: null
358
359             Textarea:
360               formEditor:
361                 label: 'formEditor.elements.Textarea.label'
362                 group: input
363                 groupSorting: 200
364                 iconIdentifier: 't3-form-icon-textarea'
365
366             ### FORM ELEMENTS: SELECT ###
367             Checkbox:
368               formEditor:
369                 label: 'formEditor.elements.Checkbox.label'
370                 group: select
371                 groupSorting: 100
372                 iconIdentifier: 't3-form-icon-checkbox'
373
374             MultiCheckbox:
375               formEditor:
376                 label: 'formEditor.elements.MultiCheckbox.label'
377                 group: select
378                 groupSorting: 500
379                 iconIdentifier: 't3-form-icon-multi-checkbox'
380
381             MultiSelect:
382               formEditor:
383                 label: 'formEditor.elements.MultiSelect.label'
384                 group: select
385                 groupSorting: 400
386                 iconIdentifier: 't3-form-icon-multi-select'
387
388             RadioButton:
389               formEditor:
390                 label: 'formEditor.elements.RadioButton.label'
391                 group: select
392                 groupSorting: 300
393                 iconIdentifier: 't3-form-icon-radio-button'
394
395             SingleSelect:
396               formEditor:
397                 label: 'formEditor.elements.SingleSelect.label'
398                 group: select
399                 groupSorting: 200
400                 iconIdentifier: 't3-form-icon-single-select'
401
402             ### FORM ELEMENTS: CUSTOM ###
403             DatePicker:
404               formEditor:
405                 label: 'formEditor.elements.DatePicker.label'
406                 group: custom
407                 groupSorting: 100
408                 iconIdentifier: 't3-form-icon-date-picker'
409                 editors:
410                   900:
411                     identifier: 'validators'
412                     templateName: 'Inspector-ValidatorsEditor'
413                     label: 'formEditor.elements.DatePicker.editor.validators.label'
414                     selectOptions:
415                       10:
416                         value: ''
417                         label: 'formEditor.elements.DatePicker.editor.validators.EmptyValue.label'
418                       20:
419                         value: 'DateTime'
420                         label: 'formEditor.elements.DatePicker.editor.validators.DateTime.label'
421
422                 propertyCollections:
423                   validators:
424                     10:
425                       identifier: 'DateTime'
426                       editors:
427                         __inheritances:
428                           10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
429                         100:
430                           label: 'formEditor.elements.DatePicker.validators.DateTime.editor.header.label'
431
432             StaticText:
433               formEditor:
434                 label: 'formEditor.elements.StaticText.label'
435                 group: custom
436                 groupSorting: 400
437                 predefinedDefaults:
438                   properties:
439                     text: ''
440                 iconIdentifier: 't3-form-icon-static-text'
441                 editors:
442                   300:
443                     identifier: 'staticText'
444                     templateName: 'Inspector-TextareaEditor'
445                     label: 'formEditor.elements.StaticText.editor.staticText.label'
446                     propertyPath: 'properties.text'
447
448             ContentElement:
449               formEditor:
450                 label: 'formEditor.elements.ContentElement.label'
451                 group: custom
452                 groupSorting: 500
453                 predefinedDefaults:
454                   properties:
455                     contentElementUid: ''
456                 iconIdentifier: 't3-form-icon-content-element'
457                 editors:
458                   200: null
459                   300:
460                     identifier: 'staticText'
461                     templateName: 'Inspector-Typo3WinBrowserEditor'
462                     label: 'formEditor.elements.StaticText.editor.contentElement.label'
463                     buttonLabel: 'formEditor.elements.StaticText.editor.contentElement.buttonLabel'
464                     browsableType: tt_content
465                     propertyPath: 'properties.contentElementUid'
466                     propertyValidatorsMode: 'OR'
467                     propertyValidators:
468                       10: 'Integer'
469                       20: 'FormElementIdentifierWithinCurlyBracesExclusive'
470
471             ### FORM ELEMENTS: UPLOADS ###
472             FileUpload:
473               formEditor:
474                 label: 'formEditor.elements.FileUpload.label'
475                 group: custom
476                 groupSorting: 200
477                 predefinedDefaults:
478                   properties:
479                     allowedMimeTypes: ['application/doc', 'application/docx', 'application/odt', 'application/pdf']
480                 iconIdentifier: 't3-form-icon-file-upload'
481                 editors:
482                   300:
483                     identifier: 'allowedMimeTypes'
484                     templateName: 'Inspector-SingleSelectEditor'
485                     label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.label'
486                     propertyPath: 'properties.allowedMimeTypes'
487                     selectOptions:
488                       10:
489                         value: ['application/doc', 'application/docx', 'application/odt', 'application/pdf']
490                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.1'
491                       20:
492                         value: ['application/xls']
493                         label: 'formEditor.elements.FileUpload.editor.allowedMimeTypes.2'
494
495             ImageUpload:
496               formEditor:
497                 label: 'formEditor.elements.ImageUpload.label'
498                 group: custom
499                 groupSorting: 300
500                 predefinedDefaults:
501                   properties:
502                     allowedMimeTypes: ['image/jpeg', 'image/png', 'image/bmp']
503                 iconIdentifier: 't3-form-icon-image-upload'
504
505           ### FINISHERS ###
506           finishersDefinition:
507             EmailToSender:
508               formEditor:
509                 iconIdentifier: 't3-form-icon-finisher'
510                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.header.label'
511                 predefinedDefaults:
512                   options:
513                     subject: ''
514                     recipientAddress: ''
515                     recipientName: ''
516                     senderAddress: ''
517                     senderName: ''
518                     replyToAddress: ''
519                     carbonCopyAddress: ''
520                     blindCarbonCopyAddress: ''
521                     format: 'html'
522                     attachUploads: true
523
524             EmailToReceiver:
525               formEditor:
526                 iconIdentifier: 't3-form-icon-finisher'
527                 label: 'formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label'
528                 predefinedDefaults:
529                   options:
530                     subject: ''
531                     recipientAddress: ''
532                     recipientName: ''
533                     senderAddress: ''
534                     senderName: ''
535                     replyToAddress: ''
536                     carbonCopyAddress: ''
537                     blindCarbonCopyAddress: ''
538                     format: 'html'
539                     attachUploads: true
540                     translation:
541                       language: ''
542
543             Redirect:
544               formEditor:
545                 iconIdentifier: 't3-form-icon-finisher'
546                 label: 'formEditor.elements.Form.finisher.Redirect.editor.header.label'
547                 predefinedDefaults:
548                   options:
549                     pageUid: ''
550                     additionalParameters: ''
551
552             Closure:
553               formEditor:
554                 iconIdentifier: 't3-form-icon-finisher'
555                 label: 'formEditor.elements.Form.finisher.Closure.editor.header.label'
556                 predefinedDefaults:
557                   options:
558                     closure: ''
559
560             Confirmation:
561               formEditor:
562                 iconIdentifier: 't3-form-icon-finisher'
563                 label: 'formEditor.elements.Form.finisher.Confirmation.editor.header.label'
564                 predefinedDefaults:
565                   options:
566                     message: ''
567
568             FlashMessage:
569               formEditor:
570                 iconIdentifier: 't3-form-icon-finisher'
571                 label: 'formEditor.elements.Form.finisher.FlashMessage.editor.header.label'
572                 predefinedDefaults:
573                   options:
574                     messageBody: ''
575                     messageTitle: ''
576                     messageArguments: ''
577                     messageCode: 0
578                     severity: 0
579
580             SaveToDatabase:
581               formEditor:
582                 iconIdentifier: 't3-form-icon-finisher'
583                 label: 'formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label'
584                 predefinedDefaults:
585                   options:
586                     table: ''
587                     elements:
588
589             DeleteUploads:
590               formEditor:
591                 iconIdentifier: 't3-form-icon-finisher'
592                 label: 'formEditor.elements.Form.finisher.DeleteUploads.editor.header.label'
593
594           ### VALIDATORS ###
595           validatorsDefinition:
596             NotEmpty:
597               formEditor:
598                 iconIdentifier: 't3-form-icon-validator'
599                 label : 'formEditor.elements.FormElement.editor.requiredValidator.label'
600             DateTime:
601               formEditor:
602                 iconIdentifier: 't3-form-icon-validator'
603                 label: 'formEditor.elements.DatePicker.validators.DateTime.editor.header.label'
604             Alphanumeric:
605               formEditor:
606                 iconIdentifier: 't3-form-icon-validator'
607                 label: 'formEditor.elements.TextMixin.editor.validators.Alphanumeric.label'
608             Text:
609               formEditor:
610                 iconIdentifier: 't3-form-icon-validator'
611                 label: 'formEditor.elements.TextMixin.editor.validators.Text.label'
612             StringLength:
613               formEditor:
614                 iconIdentifier: 't3-form-icon-validator'
615                 label: 'formEditor.elements.TextMixin.editor.validators.StringLength.label'
616                 predefinedDefaults:
617                   options:
618                     minimum: ''
619                     maximum: ''
620             EmailAddress:
621               formEditor:
622                 iconIdentifier: 't3-form-icon-validator'
623                 label: 'formEditor.elements.TextMixin.editor.validators.EmailAddress.label'
624             Integer:
625               formEditor:
626                 iconIdentifier: 't3-form-icon-validator'
627                 label: 'formEditor.elements.TextMixin.editor.validators.Integer.label'
628             Float:
629               formEditor:
630                 iconIdentifier: 't3-form-icon-validator'
631                 label: 'formEditor.elements.TextMixin.editor.validators.Float.label'
632             NumberRange:
633               formEditor:
634                 iconIdentifier: 't3-form-icon-validator'
635                 label: 'formEditor.elements.TextMixin.editor.validators.NumberRange.label'
636                 predefinedDefaults:
637                   options:
638                     minimum: ''
639                     maximum: ''
640             RegularExpression:
641               formEditor:
642                 iconIdentifier: 't3-form-icon-validator'
643                 label: 'formEditor.elements.TextMixin.editor.validators.RegularExpression.label'
644                 predefinedDefaults:
645                   options:
646                     regularExpression: ''
647             Count:
648               formEditor:
649                 iconIdentifier: 't3-form-icon-validator'
650                 label: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label'
651                 predefinedDefaults:
652                   options:
653                     minimum: ''
654                     maximum: ''
655
656       ########### MIXINS ###########
657       mixins:
658         ########### FORM ELEMENT MIXINS ###########
659         formElementMixins:
660           BaseFormElementMixin:
661             formEditor:
662               predefinedDefaults:
663               editors:
664                 100:
665                   identifier: 'header'
666                   templateName: 'Inspector-FormElementHeaderEditor'
667                 200:
668                   identifier: 'label'
669                   templateName: 'Inspector-TextEditor'
670                   label: 'formEditor.elements.BaseFormElementMixin.editor.label.label'
671                   propertyPath: 'label'
672
673           RemoveButtonMixin:
674             9999:
675               identifier: 'removeButton'
676               templateName: 'Inspector-RemoveElementEditor'
677
678           RemovableFormElementMixin:
679             editors:
680               __inheritances:
681                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemoveButtonMixin'
682
683           BaseCollectionEditorsMixin:
684             __inheritances:
685               10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemoveButtonMixin'
686             100:
687               identifier: 'header'
688               templateName: 'Inspector-CollectionElementHeaderEditor'
689               label: ''
690
691           MinimumMaximumEditorsMixin:
692             200:
693               identifier: 'minimum'
694               templateName: 'Inspector-TextEditor'
695               label: 'formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label'
696               propertyPath: 'options.minimum'
697               propertyValidatorsMode: 'OR'
698               propertyValidators:
699                 10: 'Integer'
700                 20: 'FormElementIdentifierWithinCurlyBracesExclusive'
701             300:
702               identifier: 'maximum'
703               templateName: 'Inspector-TextEditor'
704               label: 'formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label'
705               propertyPath: 'options.maximum'
706               propertyValidatorsMode: 'OR'
707               propertyValidators:
708                 10: 'Integer'
709                 20: 'FormElementIdentifierWithinCurlyBracesExclusive'
710
711           ReadOnlyFormElementMixin:
712             formEditor:
713               __inheritances:
714                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
715               editors:
716                 200:
717                   label: 'formEditor.elements.ReadOnlyFormElement.editor.label.label'
718
719           FormElementMixin:
720             formEditor:
721               __inheritances:
722                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.RemovableFormElementMixin'
723               editors:
724                 200:
725                   label: 'formEditor.elements.FormElement.editor.label.label'
726                 800:
727                   identifier: 'requiredValidator'
728                   templateName: 'Inspector-RequiredValidatorEditor'
729                   label: 'formEditor.elements.FormElement.editor.requiredValidator.label'
730                   validatorIdentifier: 'NotEmpty'
731
732           TextMixin:
733             formEditor:
734               predefinedDefaults:
735                 properties:
736                   placeholder: ''
737                 defaultValue: ''
738               editors:
739                 400:
740                   identifier: 'placeholder'
741                   templateName: 'Inspector-TextEditor'
742                   label: 'formEditor.elements.TextMixin.editor.placeholder.label'
743                   propertyPath: 'properties.placeholder'
744                 500:
745                   identifier: 'defaultValue'
746                   templateName: 'Inspector-TextEditor'
747                   label: 'formEditor.elements.TextMixin.editor.defaultValue.label'
748                   propertyPath: 'defaultValue'
749                 900:
750                   identifier: 'validators'
751                   templateName: 'Inspector-ValidatorsEditor'
752                   label: 'formEditor.elements.TextMixin.editor.validators.label'
753                   selectOptions:
754                     10:
755                       value: ''
756                       label: 'formEditor.elements.TextMixin.editor.validators.EmptyValue.label'
757                     20:
758                       value: 'Alphanumeric'
759                       label: 'formEditor.elements.TextMixin.editor.validators.Alphanumeric.label'
760                     30:
761                       value: 'Text'
762                       label: 'formEditor.elements.TextMixin.editor.validators.Text.label'
763                     40:
764                       value: 'StringLength'
765                       label: 'formEditor.elements.TextMixin.editor.validators.StringLength.label'
766                     50:
767                       value: 'EmailAddress'
768                       label: 'formEditor.elements.TextMixin.editor.validators.EmailAddress.label'
769                     60:
770                       value: 'Integer'
771                       label: 'formEditor.elements.TextMixin.editor.validators.Integer.label'
772                     70:
773                       value: 'Float'
774                       label: 'formEditor.elements.TextMixin.editor.validators.Float.label'
775                     80:
776                       value: 'NumberRange'
777                       label: 'formEditor.elements.TextMixin.editor.validators.NumberRange.label'
778                     90:
779                       value: 'RegularExpression'
780                       label: 'formEditor.elements.TextMixin.editor.validators.RegularExpression.label'
781
782               propertyCollections:
783                 validators:
784                   10:
785                     identifier: 'Alphanumeric'
786                     editors:
787                       __inheritances:
788                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
789                       100:
790                         label: 'formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label'
791                   20:
792                     identifier: 'Text'
793                     editors:
794                       __inheritances:
795                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
796                       100:
797                         label: 'formEditor.elements.TextMixin.validators.Text.editor.header.label'
798                   30:
799                     identifier: 'StringLength'
800                     editors:
801                       __inheritances:
802                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
803                         20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
804                       100:
805                         label: 'formEditor.elements.TextMixin.validators.StringLength.editor.header.label'
806                   40:
807                     identifier: 'EmailAddress'
808                     editors:
809                       __inheritances:
810                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
811                       100:
812                         label: 'formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label'
813                   50:
814                     identifier: 'Integer'
815                     editors:
816                       __inheritances:
817                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
818                       100:
819                         label: 'formEditor.elements.TextMixin.validators.Integer.editor.header.label'
820                   60:
821                     identifier: 'Float'
822                     editors:
823                       __inheritances:
824                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
825                       100:
826                         label: 'formEditor.elements.TextMixin.validators.Float.editor.header.label'
827                   70:
828                     identifier: 'NumberRange'
829                     editors:
830                       __inheritances:
831                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
832                         20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
833                       100:
834                         label: 'formEditor.elements.TextMixin.validators.NumberRange.editor.header.label'
835                   80:
836                     identifier: 'RegularExpression'
837                     editors:
838                       __inheritances:
839                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
840                       100:
841                         label: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label'
842                       200:
843                         identifier: 'regex'
844                         templateName: 'Inspector-TextEditor'
845                         label: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label'
846                         fieldExplanationText: 'formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText'
847                         propertyPath: 'options.regularExpression'
848                         propertyValidators:
849                           10: 'NotEmpty'
850
851           SelectionMixin:
852             formEditor:
853               predefinedDefaults:
854                 properties:
855                   options: []
856               editors:
857                 300:
858                   identifier: 'options'
859                   templateName: 'Inspector-PropertyGridEditor'
860                   label: 'formEditor.elements.SelectionMixin.editor.options.label'
861                   propertyPath: 'properties.options'
862                   isSortable: true
863                   enableAddRow: true
864                   enableDeleteRow: true
865                   removeLastAvailableRowFlashMessageTitle: 'formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle'
866                   removeLastAvailableRowFlashMessageMessage: 'formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage'
867
868           SingleSelectionMixin:
869             formEditor:
870               editors:
871                 300:
872                   shouldShowPreselectedValueColumn: 'single'
873                   multiSelection: false
874
875           MultiSelectionMixin:
876             formEditor:
877               editors:
878                 300:
879                   shouldShowPreselectedValueColumn: 'multiple'
880                   multiSelection: true
881                 900:
882                   identifier: 'validators'
883                   templateName: 'Inspector-ValidatorsEditor'
884                   label: 'formEditor.elements.MultiSelectionMixin.editor.validators.label'
885                   selectOptions:
886                     10:
887                       value: ''
888                       label: 'formEditor.elements.MultiSelectionMixin.editor.validators.EmptyValue.label'
889                     20:
890                       value: 'Count'
891                       label: 'formEditor.elements.MultiSelectionMixin.editor.validators.Count.label'
892
893               propertyCollections:
894                 validators:
895                   10:
896                     identifier: 'Count'
897                     editors:
898                       __inheritances:
899                         10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
900                         20: 'TYPO3.CMS.Form.mixins.formElementMixins.MinimumMaximumEditorsMixin'
901                       100:
902                         label: 'formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label'
903
904           FileUploadMixin:
905             formEditor:
906               predefinedDefaults:
907                 properties:
908                   saveToFileMount: '1:/user_upload/'
909               editors:
910                 400:
911                   identifier: 'saveToFileMount'
912                   templateName: 'Inspector-SingleSelectEditor'
913                   label: 'formEditor.elements.FileUploadMixin.editor.saveToFileMount.label'
914                   propertyPath: 'properties.saveToFileMount'
915                   selectOptions:
916                     10:
917                       value: '1:/user_upload/'
918                       label: '1:/user_upload/'
919
920           formEmailFinisherMixin:
921             editors:
922               __inheritances:
923                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
924               100:
925                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.header.label'
926               200:
927                 identifier: 'subject'
928                 templateName: 'Inspector-TextEditor'
929                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.subject.label'
930                 propertyPath: 'options.subject'
931                 propertyValidators:
932                   10: 'NotEmpty'
933                   20: 'FormElementIdentifierWithinCurlyBracesInclusive'
934               300:
935                 identifier: 'recipientAddress'
936                 templateName: 'Inspector-TextEditor'
937                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientAddress.label'
938                 propertyPath: 'options.recipientAddress'
939                 propertyValidatorsMode: 'OR'
940                 propertyValidators:
941                   10: 'NaiveEmail'
942                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
943               400:
944                 identifier: 'recipientName'
945                 templateName: 'Inspector-TextEditor'
946                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientName.label'
947                 propertyPath: 'options.recipientName'
948               500:
949                 identifier: 'senderAddress'
950                 templateName: 'Inspector-TextEditor'
951                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.label'
952                 propertyPath: 'options.senderAddress'
953                 propertyValidatorsMode: 'OR'
954                 propertyValidators:
955                   10: 'NaiveEmail'
956                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
957               600:
958                 identifier: 'senderName'
959                 templateName: 'Inspector-TextEditor'
960                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderName.label'
961                 propertyPath: 'options.senderName'
962               700:
963                 identifier: 'replyToAddress'
964                 templateName: 'Inspector-TextEditor'
965                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.replyToAddress.label'
966                 propertyPath: 'options.replyToAddress'
967                 propertyValidatorsMode: 'OR'
968                 propertyValidators:
969                   10: 'NaiveEmailOrEmpty'
970                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
971               800:
972                 identifier: 'carbonCopyAddress'
973                 templateName: 'Inspector-TextEditor'
974                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.carbonCopyAddress.label'
975                 propertyPath: 'options.carbonCopyAddress'
976                 propertyValidatorsMode: 'OR'
977                 propertyValidators:
978                   10: 'NaiveEmailOrEmpty'
979                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
980               900:
981                 identifier: 'blindCarbonCopyAddress'
982                 templateName: 'Inspector-TextEditor'
983                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.blindCarbonCopyAddress.label'
984                 propertyPath: 'options.blindCarbonCopyAddress'
985                 propertyValidatorsMode: 'OR'
986                 propertyValidators:
987                   10: 'NaiveEmailOrEmpty'
988                   20: 'FormElementIdentifierWithinCurlyBracesExclusive'
989               1000:
990                 identifier: 'format'
991                 templateName: 'Inspector-SingleSelectEditor'
992                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.label'
993                 propertyPath: 'options.format'
994                 selectOptions:
995                   10:
996                     value: 'plaintext'
997                     label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.1'
998                   20:
999                     value: 'html'
1000                     label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.2'
1001               1100:
1002                 identifier: 'attachUploads'
1003                 templateName: 'Inspector-CheckboxEditor'
1004                 label: 'formEditor.elements.Form.finisher.EmailToSender.editor.attachUploads.label'
1005                 propertyPath: 'options.attachUploads'