eeac1aea06306e512e3fc2b281f0853e4d4908dd
[yaffs-website] / web / core / config / schema / core.data_types.schema.yml
1 # Base types provided by Drupal core.
2
3 # Read https://www.drupal.org/node/1905070 for more details about configuration
4 # schema, types and type resolution.
5
6 # Undefined type used by the system to assign to elements at any level where
7 # configuration schema is not defined. Using explicitly has the same effect as
8 # not defining schema, so there is no point in doing that.
9 undefined:
10   label: 'Undefined'
11   class: '\Drupal\Core\Config\Schema\Undefined'
12
13 # Explicit type to use when no data typing is possible. Instead of using this
14 # type, we strongly suggest you use configuration structures that can be
15 # described with other structural elements of schema, and describe your schema
16 # with those elements.
17 ignore:
18   label: 'Ignore'
19   class: '\Drupal\Core\Config\Schema\Ignore'
20
21 # Basic scalar data types from typed data.
22 boolean:
23   label: 'Boolean'
24   class: '\Drupal\Core\TypedData\Plugin\DataType\BooleanData'
25 email:
26   label: 'Email'
27   class: '\Drupal\Core\TypedData\Plugin\DataType\Email'
28 integer:
29   label: 'Integer'
30   class: '\Drupal\Core\TypedData\Plugin\DataType\IntegerData'
31 float:
32   label: 'Float'
33   class: '\Drupal\Core\TypedData\Plugin\DataType\FloatData'
34 string:
35   label: 'String'
36   class: '\Drupal\Core\TypedData\Plugin\DataType\StringData'
37 uri:
38   label: 'Uri'
39   class: '\Drupal\Core\TypedData\Plugin\DataType\Uri'
40
41 # Container data types for lists with known and unknown keys.
42 mapping:
43   label: Mapping
44   class: '\Drupal\Core\Config\Schema\Mapping'
45   definition_class: '\Drupal\Core\TypedData\MapDataDefinition'
46 sequence:
47   label: Sequence
48   class: '\Drupal\Core\Config\Schema\Sequence'
49   definition_class: '\Drupal\Core\TypedData\ListDataDefinition'
50
51 # Simple extended data types:
52
53 # Human readable string that must be plain text and editable with a text field.
54 label:
55   type: string
56   label: 'Label'
57   translatable: true
58
59 # String containing plural variants, separated by EXT.
60 plural_label:
61   type: label
62   label: 'Plural variants'
63
64 # Internal Drupal path
65 path:
66   type: string
67   label: 'Path'
68
69 # Human readable string that can contain multiple lines of text or HTML.
70 text:
71   type: string
72   label: 'Text'
73   translatable: true
74
75 # PHP Date format string that is translatable.
76 date_format:
77   type: string
78   label: 'Date format'
79   translatable: true
80   translation context: 'PHP date format'
81
82 # HTML color value.
83 color_hex:
84   type: string
85   label: 'Color'
86
87 # Complex extended data types:
88
89 # Root of a configuration object.
90
91 _core_config_info:
92   type: mapping
93   mapping:
94     default_config_hash:
95       type: string
96       label: 'Default configuration hash'
97
98 config_object:
99   type: mapping
100   mapping:
101     langcode:
102       type: string
103       label: 'Language code'
104     _core:
105       type: _core_config_info
106
107 # Mail text with subject and body parts.
108 mail:
109   type: mapping
110   label: 'Mail'
111   mapping:
112     subject:
113       type: label
114       label: 'Subject'
115     body:
116       type: text
117       label: 'Body'
118
119 # Filter with module and status.
120 filter:
121   type: mapping
122   label: 'Filter'
123   mapping:
124     id:
125       type: string
126       label: 'ID'
127     provider:
128       type: string
129       label: 'Provider'
130     status:
131       type: boolean
132       label: 'Status'
133     weight:
134       type: integer
135       label: 'Weight'
136     settings:
137       type: filter_settings.[%parent.id]
138
139 # System action configuration base.
140 action_configuration_default:
141   type: sequence
142   label: 'Action configuration'
143   sequence:
144     type: string
145
146 theme_settings:
147   type: config_object
148   mapping:
149     favicon:
150       type: mapping
151       label: 'Shortcut icon settings'
152       mapping:
153         mimetype:
154           type: string
155           label: 'MIME type'
156         path:
157           type: string
158           label: 'Path'
159         url:
160           type: string
161           label: 'URL'
162         use_default:
163           type: boolean
164           label: 'Use the default shortcut icon supplied by the theme'
165     features:
166       type: mapping
167       label: 'Optional features'
168       mapping:
169         comment_user_picture:
170           type: boolean
171           label: 'User pictures in comments'
172         comment_user_verification:
173           type: boolean
174           label: 'User verification status in comments'
175         favicon:
176           type: boolean
177           label: 'Shortcut icon'
178         logo:
179           type: boolean
180           label: 'Logo'
181         name:
182           type: boolean
183           label: 'Site name'
184         node_user_picture:
185           type: boolean
186           label: 'User pictures in posts'
187         slogan:
188           type: boolean
189           label: 'Site slogan'
190     logo:
191       type: mapping
192       label: 'Logo settings'
193       mapping:
194         path:
195           type: string
196           label: 'Logo path'
197         url:
198           type: uri
199           label: 'URL'
200         use_default:
201           type: boolean
202           label: 'Use default'
203     third_party_settings:
204       type: sequence
205       label: 'Third party settings'
206       sequence:
207         type: theme_settings.third_party.[%key]
208
209 views_field_bulk_form:
210   type: views_field
211   label: 'Bulk operation'
212   mapping:
213     action_title:
214       type: label
215       label: 'Action title'
216     include_exclude:
217       type: string
218       label: 'Available actions'
219     selected_actions:
220       type: sequence
221       label: 'Available actions'
222       sequence:
223         type: string
224         label: 'Action'
225
226 # Array of routes with route_name and route_params keys.
227 route:
228   type: mapping
229   label: 'Route'
230   mapping:
231     route_name:
232       type: string
233       label: 'Route Name'
234     route_params:
235       type: sequence
236       label: 'Route Params'
237       sequence:
238         type: string
239         label: 'Param'
240
241 # Config dependencies.
242 config_dependencies_base:
243   type: mapping
244   mapping:
245     config:
246       type: sequence
247       label: 'Configuration entity dependencies'
248       sequence:
249         type: string
250     content:
251       type: sequence
252       label: 'Content entity dependencies'
253       sequence:
254         type: string
255     module:
256       type: sequence
257       label: 'Module dependencies'
258       sequence:
259         type: string
260     theme:
261       type: sequence
262       label: 'Theme dependencies'
263       sequence:
264         type: string
265
266 config_dependencies:
267   type: config_dependencies_base
268   label: 'Configuration dependencies'
269   mapping:
270     enforced:
271       type: config_dependencies_base
272       label: 'Enforced configuration dependencies'
273
274 config_entity:
275   type: mapping
276   mapping:
277     uuid:
278       type: string
279       label: 'UUID'
280     langcode:
281       type: string
282       label: 'Language code'
283     status:
284       type: boolean
285       label: 'Status'
286     dependencies:
287       type: config_dependencies
288       label: 'Dependencies'
289     third_party_settings:
290       type: sequence
291       label: 'Third party settings'
292       sequence:
293         type: '[%parent.%parent.%type].third_party.[%key]'
294     _core:
295       type: _core_config_info
296
297 block_settings:
298   type: mapping
299   label: 'Block settings'
300   mapping:
301     id:
302       type: string
303       label: 'ID'
304     label:
305       type: label
306       label: 'Description'
307     label_display:
308       type: string
309       label: 'Display title'
310     status:
311       type: boolean
312       label: 'Status'
313     info:
314       type: label
315       label: 'Admin info'
316     view_mode:
317       type: string
318       label: 'View mode'
319     provider:
320       type: string
321       label: 'Provider'
322     context_mapping:
323       type: sequence
324       label: 'Context assignments'
325       sequence:
326         type: string
327
328 condition.plugin:
329   type: mapping
330   label: 'Condition'
331   mapping:
332     id:
333       type: string
334       label: 'ID'
335     negate:
336       type: boolean
337       label: 'Negate'
338     uuid:
339       type: string
340       label: 'UUID'
341     context_mapping:
342       type: sequence
343       label: 'Context assignments'
344       sequence:
345         type: string
346
347 display_variant.plugin:
348   type: mapping
349   label: 'Display variant'
350   mapping:
351     id:
352       type: string
353       label: 'ID'
354     label:
355       type: label
356       label: 'Label'
357     weight:
358       type: integer
359       label: 'Weight'
360     uuid:
361       type: string
362       label: 'UUID'
363
364 layout_plugin.settings:
365   type: mapping
366   label: 'Layout settings'
367
368 layout_plugin.settings.*:
369   type: layout_plugin.settings
370
371 base_entity_reference_field_settings:
372   type: mapping
373   mapping:
374     target_type:
375       type: string
376       label: 'Type of item to reference'
377
378 field_config_base:
379   type: config_entity
380   mapping:
381     id:
382       type: string
383       label: 'ID'
384     field_name:
385       type: string
386       label: 'Field name'
387     entity_type:
388       type: string
389       label: 'Entity type'
390     bundle:
391       type: string
392       label: 'Bundle'
393     label:
394       type: label
395       label: 'Label'
396     description:
397       type: text
398       label: 'Help text'
399     required:
400       type: boolean
401       label: 'Required field'
402     translatable:
403       type: boolean
404       label: 'Translatable'
405     default_value:
406       type: sequence
407       label: 'Default values'
408       sequence:
409         type: field.value.[%parent.%parent.field_type]
410         label: 'Default value'
411     default_value_callback:
412       type: string
413       label: 'Default value callback'
414     settings:
415       type: field.field_settings.[%parent.field_type]
416     field_type:
417       type: string
418       label: 'Field type'
419
420 core.base_field_override.*.*.*:
421   type: field_config_base
422   label: 'Base field bundle override'
423
424 core.date_format.*:
425   type: config_entity
426   label: 'Date format'
427   mapping:
428     id:
429       type: string
430       label: 'ID'
431     label:
432       type: label
433       label: 'Label'
434     locked:
435       type: boolean
436       label: 'Locked'
437     pattern:
438       type: core_date_format_pattern.[%parent.locked]
439       label: 'PHP date format'
440
441 # Unlocked date formats should use the translatable type.
442 core_date_format_pattern.0:
443   type: date_format
444   label: 'Date format'
445
446 # Locked date formats are just used to transport the value.
447 core_date_format_pattern.1:
448   type: string
449   label: 'Date format'
450
451 # Generic field settings schemas.
452
453 field.storage_settings.*:
454   type: mapping
455   label: 'Settings'
456
457 field.field_settings.*:
458   type: mapping
459   label: 'Settings'
460
461 field.value.*:
462   type: mapping
463   label: 'Default value'
464
465 # Schema for the configuration of the String field type.
466
467 field.storage_settings.string:
468   type: mapping
469   label: 'String settings'
470   mapping:
471     max_length:
472       type: integer
473       label: 'Maximum length'
474     case_sensitive:
475       type: boolean
476       label: 'Case sensitive'
477     is_ascii:
478       type: boolean
479       label: 'Contains US ASCII characters only'
480
481 field.field_settings.string:
482   type: mapping
483   label: 'String settings'
484
485 field.value.string:
486   type: mapping
487   label: 'Default value'
488   mapping:
489     value:
490       type: label
491       label: 'Value'
492
493 # Schema for the configuration of the  String (long) field type.
494
495 field.storage_settings.string_long:
496   type: mapping
497   label: 'String (long) settings'
498   mapping:
499     case_sensitive:
500       type: boolean
501       label: 'Case sensitive'
502
503 field.field_settings.string_long:
504   type: mapping
505   label: 'String (long) settings'
506
507 field.value.string_long:
508   type: mapping
509   label: 'Default value'
510   mapping:
511     value:
512       type: text
513       label: 'Value'
514
515 # Schema for the configuration of the URI field type.
516
517 field.storage_settings.uri:
518   type: field.storage_settings.string
519   label: 'URI settings'
520   mapping:
521     max_length:
522       type: integer
523       label: 'Maximum length'
524     case_sensitive:
525       type: boolean
526       label: 'Case sensitive'
527
528 field.field_settings.uri:
529   type: mapping
530   label: 'URI settings'
531
532 field.value.uri:
533   type: mapping
534   label: 'Default value'
535   mapping:
536     value:
537       type: string
538       label: 'Value'
539
540 # Schema for the configuration of the Created field type.
541
542 field.storage_settings.created:
543   type: mapping
544   label: 'Created timestamp settings'
545
546 field.field_settings.created:
547   type: mapping
548   label: 'Created timestamp settings'
549
550 field.value.created:
551   type: mapping
552   label: 'Default value'
553   mapping:
554     value:
555       type: integer
556       label: 'Value'
557
558 # Schema for the configuration of the Changed field type.
559
560 field.storage_settings.changed:
561   type: mapping
562   label: 'Changed timestamp settings'
563
564 field.field_settings.changed:
565   type: mapping
566   label: 'Changed timestamp settings'
567
568 field.value.changed:
569   type: mapping
570   label: 'Default value'
571   mapping:
572     value:
573       type: integer
574       label: 'Value'
575
576 # Schema for the configuration of the Entity reference field type.
577
578 field.storage_settings.entity_reference:
579   type: mapping
580   label: 'Entity reference field storage settings'
581   mapping:
582     target_type:
583       type: string
584       label: 'Type of item to reference'
585
586 field.field_settings.entity_reference:
587   type: mapping
588   label: 'Entity reference field settings'
589   mapping:
590     handler:
591       type: string
592       label: 'Reference method'
593     handler_settings:
594       type: entity_reference_selection.[%parent.handler]
595       label: 'Entity reference selection plugin settings'
596
597 field.value.entity_reference:
598   type: mapping
599   label: 'Default value'
600   mapping:
601     target_id:
602       type: string
603       label: 'Value'
604     target_uuid:
605       type: string
606       label: 'Target UUID'
607
608 # Schema for the configuration of the Boolean field type.
609
610 field.field_settings.boolean:
611   label: 'Boolean settings'
612   type: mapping
613   mapping:
614     on_label:
615       type: label
616       label: 'On label'
617     off_label:
618       type: label
619       label: 'Off label'
620
621 field.value.boolean:
622   type: mapping
623   mapping:
624     value:
625       type: integer
626       label: 'Value'
627
628 # Schema for the configuration of the Email field type.
629
630 field.storage_settings.email:
631   type: mapping
632   label: 'Email settings'
633
634 field.field_settings.email:
635   type: mapping
636   label: 'Email settings'
637   sequence:
638     type: string
639     label: 'Setting'
640
641 field.value.email:
642   type: mapping
643   label: 'Default value'
644   mapping:
645     value:
646       type: email
647       label: 'Value'
648
649 # Schema for the configuration of the Integer field type.
650
651 field.storage_settings.integer:
652   type: mapping
653   label: 'Integer settings'
654   mapping:
655     unsigned:
656       type: boolean
657       label: 'Unsigned'
658     size:
659       type: string
660       label: 'Database storage size'
661
662 field.field_settings.integer:
663   type: mapping
664   label: 'Integer'
665   mapping:
666     min:
667       type: integer
668       label: 'Minimum'
669     max:
670       type: integer
671       label: 'Maximum'
672     prefix:
673       type: label
674       label: 'Prefix'
675     suffix:
676       type: label
677       label: 'Suffix'
678
679 field.value.integer:
680   type: mapping
681   label: 'Default value'
682   mapping:
683     value:
684       type: integer
685       label: 'Value'
686
687 # Schema for the configuration of the Decimal field type.
688
689 field.storage_settings.decimal:
690   type: mapping
691   label: 'Decimal settings'
692   mapping:
693     precision:
694       type: integer
695       label: 'Precision'
696     scale:
697       type: integer
698       label: 'Scale'
699
700 field.field_settings.decimal:
701   type: mapping
702   label: 'Decimal settings'
703   mapping:
704     min:
705       type: float
706       label: 'Minimum'
707     max:
708       type: float
709       label: 'Maximum'
710     prefix:
711       type: label
712       label: 'Prefix'
713     suffix:
714       type: label
715       label: 'Suffix'
716
717 field.value.decimal:
718    type: mapping
719    label: 'Default value'
720    mapping:
721      value:
722        type: float
723        label: 'Value'
724
725 # Schema for the configuration of the Float field type.
726
727 field.storage_settings.float:
728   type: mapping
729   label: 'Float settings'
730
731 field.field_settings.float:
732   type: mapping
733   label: 'Float settings'
734   mapping:
735     min:
736       type: float
737       label: 'Minimum'
738     max:
739       type: float
740       label: 'Maximum'
741     prefix:
742       type: label
743       label: 'Prefix'
744     suffix:
745       type: label
746       label: 'Suffix'
747
748 field.value.float:
749   type: mapping
750   label: 'Default value'
751   mapping:
752     value:
753       type: float
754       label: 'Value'
755
756 # Text with a text format.
757 text_format:
758   type: mapping
759   label: 'Text with text format'
760   # We declare the entire mapping of text and text format as translatable. This
761   # causes the entire mapping to be saved to the language overrides of the
762   # configuration. Storing only the (to be formatted) text could result in
763   # security problems in case the text format of the source text is changed.
764   translatable: true
765   mapping:
766     value:
767       type: text
768       label: 'Text'
769       # Mark the actual text as translatable (in addition to the entire mapping
770       # being marked as translatable) so that shipped configuration with
771       # formatted text can participate in the string translation system.
772       translatable: true
773     format:
774       type: string
775       label: 'Text format'
776       # The text format should not be translated as part of the string
777       # translation system, so this is not marked as translatable.
778
779 # Schema for the configuration of the Entity reference selection plugins.
780
781 entity_reference_selection:
782   type: mapping
783   label: 'Entity reference selection plugin configuration'
784   mapping:
785     target_bundles:
786       type: sequence
787       label: 'types'
788       nullable: true
789       sequence:
790         type: string
791         label: 'Type'
792     sort:
793       type: mapping
794       label: 'Sort settings'
795       mapping:
796         field:
797           type: string
798           label: 'Sort by'
799         direction:
800           type: string
801           label: 'Sort direction'
802     auto_create:
803       type: boolean
804       label: 'Create referenced entities if they don''t already exist'
805     auto_create_bundle:
806       type: string
807       label: 'Bundle assigned to the auto-created entities.'
808
809 entity_reference_selection.*:
810   type: entity_reference_selection