Revert "[FEATURE] EXT:form - introduce YAML "imports""
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Configuration / Yaml / BaseSetup.yaml
1 TYPO3:
2   CMS:
3     Form:
4       persistenceManager:
5         allowedFileMounts:
6           10: 1:/form_definitions/
7           20: 1:/user_upload/
8         allowSaveToExtensionPaths: false
9         allowDeleteFromExtensionPaths: false
10         #allowedExtensionPaths:
11           #10: EXT:example/Resources/Private/Forms/
12
13       prototypes:
14         standard:
15
16           ########### DEFAULT FORM ELEMENT DEFINITIONS ###########
17           formElementsDefinition:
18
19             ### BASE ELEMENTS ###
20             Form:
21               __inheritances:
22                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
23               rendererClassName: 'TYPO3\CMS\Form\Domain\Renderer\FluidFormRenderer'
24               renderingOptions:
25                 __inheritances:
26                   10: 'TYPO3.CMS.Form.mixins.translationSettingsMixin'
27                 templateRootPaths:
28                   10: 'EXT:form/Resources/Private/Frontend/Templates/'
29                 partialRootPaths:
30                   10: 'EXT:form/Resources/Private/Frontend/Partials/'
31                 layoutRootPaths:
32                   10: 'EXT:form/Resources/Private/Frontend/Layouts/'
33                 addQueryString: false
34                 argumentsToBeExcludedFromQueryString: []
35                 additionalParams: []
36                 controllerAction: perform
37                 httpMethod: post
38                 httpEnctype: 'multipart/form-data'
39                 _isCompositeFormElement: false
40                 _isTopLevelFormElement: true
41
42                 honeypot:
43                   enable: true
44                   formElementToUse: 'Honeypot'
45
46                 submitButtonLabel: 'Submit'
47
48                 # set this to TRUE if you want to avoid exceptions for FormElements without definitions
49                 skipUnknownElements: true
50
51             ### FORM ELEMENTS: CONTAINER ###
52             Page:
53               __inheritances:
54                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
55               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\Page'
56               renderingOptions:
57                 _isTopLevelFormElement: true
58                 _isCompositeFormElement: true
59                 nextButtonLabel: 'next Page'
60                 previousButtonLabel: 'previous Page'
61
62             SummaryPage:
63               __inheritances:
64                 10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Page'
65               renderingOptions:
66                 _isTopLevelFormElement: true
67                 _isCompositeFormElement: false
68                 nextButtonLabel: 'next Page'
69                 previousButtonLabel: 'previous Page'
70
71             Fieldset:
72               __inheritances:
73                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
74               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\Section'
75               renderingOptions:
76                 _isCompositeFormElement: true
77
78             GridContainer:
79               __inheritances:
80                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
81               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GridContainer'
82               renderingOptions:
83                 _isCompositeFormElement: true
84                 _isGridContainerFormElement: true
85               properties:
86                 elementClassAttribute: 'container'
87                 # overrules 'GridRow.properties.gridColumnClassAutoConfiguration'
88                 gridColumnClassAutoConfiguration:
89                   gridSize: 12
90                   viewPorts:
91                     xs:
92                       classPattern: 'col-xs-{@numbersOfColumnsToUse}'
93                     sm:
94                       classPattern: 'col-sm-{@numbersOfColumnsToUse}'
95                     md:
96                       classPattern: 'col-md-{@numbersOfColumnsToUse}'
97                     lg:
98                       classPattern: 'col-lg-{@numbersOfColumnsToUse}'
99
100             GridRow:
101               __inheritances:
102                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
103               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GridRow'
104               properties:
105                 elementClassAttribute: 'row'
106                 gridColumnClassAutoConfiguration:
107                   gridSize: 12
108                   viewPorts:
109                     xs:
110                       classPattern: 'col-xs-{@numbersOfColumnsToUse}'
111                     sm:
112                       classPattern: 'col-sm-{@numbersOfColumnsToUse}'
113                     md:
114                       classPattern: 'col-md-{@numbersOfColumnsToUse}'
115                     lg:
116                       classPattern: 'col-lg-{@numbersOfColumnsToUse}'
117               renderingOptions:
118                 _isCompositeFormElement: true
119                 _isGridRowFormElement: true
120
121             ### FORM ELEMENTS: INPUT ###
122             Text:
123               __inheritances:
124                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
125
126             Password:
127               __inheritances:
128                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
129
130             AdvancedPassword:
131               __inheritances:
132                 10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Password'
133               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
134               properties:
135                 elementClassAttribute: 'input-medium'
136                 confirmationLabel: ''
137                 # Optional description (hint) for the first password input element
138                 #passwordDescription: ''
139                 confirmationClassAttribute: 'input-medium'
140
141             Textarea:
142               __inheritances:
143                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
144               properties:
145                 elementClassAttribute: 'xxlarge'
146
147             Honeypot:
148               __inheritances:
149                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
150               properties:
151                 renderAsHiddenField: false
152                 styleAttribute: 'position:absolute; margin:0 0 0 -999em;'
153               renderingOptions:
154                 _isHiddenFormElement: true
155
156             Hidden:
157               __inheritances:
158                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
159               renderingOptions:
160                 _isHiddenFormElement: true
161
162             ### FORM ELEMENTS: HTML5 ###
163             Email:
164               __inheritances:
165                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
166               validators:
167                 -
168                   identifier: EmailAddress
169
170             Telephone:
171               __inheritances:
172                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
173               validators:
174                 -
175                   identifier: RegularExpression
176                   options:
177                     regularExpression: '/^.*$/'
178
179             Url:
180               __inheritances:
181                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
182               validators:
183                 -
184                   identifier: RegularExpression
185                   options:
186                     regularExpression: '/^.*$/'
187
188             Number:
189               __inheritances:
190                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
191               validators:
192                 -
193                   identifier: Number
194
195             ### FORM ELEMENTS: SELECT ###
196             Checkbox:
197               __inheritances:
198                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
199               properties:
200                 elementClassAttribute: 'add-on'
201                 containerClassAttribute: 'input checkbox'
202                 value: 1
203
204             MultiCheckbox:
205               __inheritances:
206                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.MultiSelectionMixin'
207               properties:
208                 containerClassAttribute: 'input checkbox'
209
210             MultiSelect:
211               __inheritances:
212                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.MultiSelectionMixin'
213               properties:
214                 elementClassAttribute: 'xlarge'
215
216             RadioButton:
217               __inheritances:
218                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SingleSelectionMixin'
219               properties:
220                 elementClassAttribute: 'xlarge'
221
222             SingleSelect:
223               __inheritances:
224                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SingleSelectionMixin'
225
226             ### FORM ELEMENTS: CUSTOM ###
227             DatePicker:
228               __inheritances:
229                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
230               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\DatePicker'
231               properties:
232                 elementClassAttribute: 'small form-control'
233                 timeSelectorClassAttribute: 'mini'
234                 timeSelectorHourLabel: ''
235                 timeSelectorMinuteLabel: ''
236                 dateFormat: 'Y-m-d'
237                 enableDatePicker: true
238                 displayTimeSelector: false
239
240             StaticText:
241               __inheritances:
242                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.ReadOnlyFormElementMixin'
243               properties:
244                 text: ''
245
246             ContentElement:
247               __inheritances:
248                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.ReadOnlyFormElementMixin'
249               properties:
250                 contentElementUid: ''
251
252             ### FORM ELEMENTS: UPLOADS ###
253             FileUpload:
254               __inheritances:
255                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FileUploadMixin'
256               properties:
257                 allowedMimeTypes: ['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.oasis.opendocument.text', 'application/pdf']
258
259             ImageUpload:
260               __inheritances:
261                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FileUploadMixin'
262               properties:
263                 allowedMimeTypes: ['image/jpeg', 'image/png', 'image/bmp']
264                 elementClassAttribute: 'lightbox'
265                 imageLinkMaxWidth: 500
266                 imageMaxWidth: 500
267                 imageMaxHeight: 500
268
269           ### FINISHERS ###
270
271           finishersDefinition:
272             Closure:
273               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\ClosureFinisher'
274               options:
275                 #closure:
276
277             Confirmation:
278               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher'
279               #options:
280                 #message: ''
281                 #contentElementUid: 0
282                 #typoscriptObjectPath: 'lib.tx_form.contentElementRendering'
283
284             EmailToSender:
285               __inheritances:
286                 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
287
288             EmailToReceiver:
289               __inheritances:
290                 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
291
292             DeleteUploads:
293               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher'
294
295             FlashMessage:
296               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\FlashMessageFinisher'
297               #options:
298                 #messageBody: ''
299                 #messageTitle: ''
300                 #messageArguments: {}
301                 #messageCode: 0
302                 #severity: 0
303
304             Redirect:
305               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher'
306               #options:
307                 #pageUid: 1
308                 #additionalParameters: ''
309                 #delay: 0
310                 #statusCode: 303
311
312             SaveToDatabase:
313               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher'
314               #options:
315                 #table: ''
316                 #mode: 'insert'
317                 #whereClause: []
318                 #elements:
319                 #  <elementIdentifier>:
320                 #    mapOnDatabaseColumn: <databaseColumnName>
321                 #    saveFileIdentifierInsteadOfUid: false
322                 #    skipIfValueIsEmpty: false
323                 #databaseColumnMappings:
324                 #  <databaseColumnName>:
325                 #    value: 'someValue'
326                 #    skipIfValueIsEmpty: false
327
328           ### VALIDATORS ###
329           validatorsDefinition:
330             NotEmpty:
331               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NotEmptyValidator'
332             DateTime:
333               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\DateTimeValidator'
334             Alphanumeric:
335               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\AlphanumericValidator'
336             Text:
337               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\TextValidator'
338             StringLength:
339               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator'
340               #options:
341                 #minimum: 0
342                 #maximum: 0
343             EmailAddress:
344               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\EmailAddressValidator'
345             Integer:
346               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\IntegerValidator'
347             Float:
348               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\FloatValidator'
349             Number:
350               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NumberValidator'
351             NumberRange:
352               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator'
353               #options:
354                 #minimum: 0
355                 #maximum: 0
356             RegularExpression:
357               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator'
358               #options:
359                 #regularExpression: '/^.*$/'
360             Count:
361               implementationClassName: 'TYPO3\CMS\Form\Mvc\Validation\CountValidator'
362               #options:
363                 #minimum: 0
364                 #maximum: 0
365             FileSize:
366               implementationClassName: 'TYPO3\CMS\Form\Mvc\Validation\FileSizeValidator'
367               #options:
368                 #minimum: '0B'
369                 #maximum: '10M'
370
371       ########### MIXINS ###########
372       mixins:
373         translationSettingsMixin:
374           translation:
375             translationFile: 'EXT:form/Resources/Private/Language/locallang.xlf'
376             #translatePropertyValueIfEmpty: true
377
378         ########### FORM ELEMENT MIXINS ###########
379         formElementMixins:
380           BaseFormElementMixin: []
381               # The form element type is chosen as the template name by default.
382               # If you want another name you can set it with 'templateName'
383               #templateName: 'CustomTemplateName'
384
385           ReadOnlyFormElementMixin:
386             __inheritances:
387               10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
388             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
389             renderingOptions:
390               _isReadOnlyFormElement: true
391
392           FormElementMixin:
393             __inheritances:
394               10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
395             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
396             properties:
397               containerClassAttribute: 'input'
398               elementClassAttribute: ''
399               elementErrorClassAttribute: 'error'
400               #gridColumnClassAutoConfiguration:
401               #  viewPorts:
402               #    xs:
403               #      numbersOfColumnsToUse: ''
404               #    sm:
405               #      numbersOfColumnsToUse: ''
406               #    md:
407               #      numbersOfColumnsToUse: ''
408               #    lg:
409               #      numbersOfColumnsToUse: ''
410
411           TextMixin:
412             __inheritances:
413               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
414
415           SelectionMixin:
416             __inheritances:
417               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
418
419           SingleSelectionMixin:
420             __inheritances:
421               10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
422
423           MultiSelectionMixin:
424             __inheritances:
425               10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
426
427           FileUploadMixin:
428             __inheritances:
429               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
430             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload'
431             properties:
432               saveToFileMount: '1:/user_upload/'
433
434         finishersEmailMixin:
435           implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\EmailFinisher'
436           options:
437             #subject: ''
438             #recipientAddress: ''
439             #recipientName: ''
440             #senderAddress:
441             #senderName: ''
442             #replyToAddress: ''
443             #carbonCopyAddress: ''
444             #blindCarbonCopyAddress: ''
445             #format: 'html'
446             #attachUploads: true
447             #translation:
448             #  language: 'default'
449             # {@format} depends the 'format' value
450             templateName: '{@format}.html'
451             templateRootPaths:
452               10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/'
453             #partialRootPaths: []
454             #layoutRootPaths: []
455             #variables: {}