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