Skip to content
Snippets Groups Projects
Commit 5de704cd authored by Florent Torregrosa's avatar Florent Torregrosa Committed by Jean Valverde
Browse files

Issue #3466324 by mogtofu33, grimreaper: [1.0.0-alpha3] Config Schema: flatten structure

parent 78ed8973
No related branches found
No related tags found
1 merge request!9Issue #3466324 by mogtofu33, grimreaper: [1.0.0-alpha3] Config Schema: flatten structure
Pipeline #259445 passed
Showing
with 298 additions and 54 deletions
ui_icons.icon_pack_options.*:
type: ui_icons.icon_pack_options_default
label: 'Default settings'
constraints:
FullyValidatable: ~
ui_icons.icon_pack_options_default:
type: mapping
label: 'Default settings'
constraints:
FullyValidatable: ~
mapping:
width:
type: integer
label: 'Width'
constraints:
Range:
min: 0
height:
type: integer
label: 'Height'
constraints:
Range:
min: 0
title:
type: label
label: 'Title'
alt:
type: label
label: 'Alternative text'
ckeditor5.plugin.ui_icons_ckeditor5_icon:
type: mapping
label: 'UI Icons'
constraints:
FullyValidatable: ~
ui_icons.icon_pack_options.icon_pack_example_drupal_core:
type: ui_icons.icon_pack_options_default
label: 'Drupal core by UI Icons example settings'
ui_icons.icon_pack_options.icon_pack_example_local:
type: ui_icons.icon_pack_options_default
label: 'Local files mixed settings'
ui_icons.icon_pack_options.icon_pack_example_svg:
type: ui_icons.icon_pack_options_default
label: 'SVG settings'
ui_icons.icon_pack_options.icon_pack_example_svg_sprite:
type: ui_icons.icon_pack_options_default
label: 'SVG sprite settings'
ui_icons.icon_pack_options.icon_pack_example_settings:
type: ui_icons.icon_pack_options_default
label: 'Example settings'
mapping:
select:
type: integer
label: 'Test select'
constraints:
Range:
min: 0
boolean:
type: boolean
label: 'Test boolean'
color:
type: color_hex
label: 'Test color'
decimal:
type: float
label: 'Test decimal'
range:
type: integer
label: 'Test range'
constraints:
Range:
min: 0
ui_icons.icon_pack_options.icon_pack_example_no_settings:
type: mapping
label: 'Example no settings'
constraints:
FullyValidatable: ~
ui_icons.icon_pack_options.icon_pack_example_drupal_core_sprite:
type: mapping
label: 'Drupal core sprite settings'
constraints:
FullyValidatable: ~
mapping:
width:
type: integer
label: 'Width'
constraints:
Range:
min: 0
height:
type: integer
label: 'Height'
constraints:
Range:
min: 0
ui_icons.icon_pack_options.ui_icons_bootstrap_svg:
type: ui_icons.icon_pack_options_default
label: 'Bootstrap settings'
ui_icons.icon_pack_options.ui_icons_bootstrap_svg_sprite:
type: ui_icons.icon_pack_options_default
label: 'Bootstrap Sprite settings'
ui_icons.icon_pack_options.ui_icons_dsfr_svg:
type: ui_icons.icon_pack_options_default
label: 'DSFR settings'
ui_icons.icon_pack_options.ui_icons_feather_svg:
type: ui_icons.icon_pack_options_default
label: 'Feather settings'
ui_icons.icon_pack_options.ui_icons_font_awesome_svg:
type: ui_icons.icon_pack_options_default
label: 'Font Awesome settings'
ui_icons.icon_pack_options.ui_icons_heroicons_solid:
type: ui_icons.icon_pack_options_default
label: 'Hero Icons solid settings'
mapping:
stroke_width:
type: float
label: 'Stroke width'
ui_icons.icon_pack_options.ui_icons_heroicons_outline:
type: ui_icons.icon_pack_options.ui_icons_heroicons_solid
label: 'Hero Icons outline settings'
ui_icons.icon_pack_options.ui_icons_icomoon_svg:
type: ui_icons.icon_pack_options_default
label: 'IcoMoon settings'
ui_icons.icon_pack_options.ui_icons_material_svg_filled:
type: ui_icons.icon_pack_options_default
label: 'Material Symbols filled settings'
ui_icons.icon_pack_options.ui_icons_material_svg_outlined:
type: ui_icons.icon_pack_options_default
label: 'Material Symbols outlined settings'
ui_icons.icon_pack_options.ui_icons_material_svg_round:
type: ui_icons.icon_pack_options_default
label: 'Material Symbols round settings'
ui_icons.icon_pack_options.ui_icons_material_svg_sharp:
type: ui_icons.icon_pack_options_default
label: 'Material Symbols sharp settings'
ui_icons.icon_pack_options.ui_icons_material_svg_two_tone:
type: ui_icons.icon_pack_options_default
label: 'Material Symbols two-tone settings'
ui_icons.icon_pack_options.ui_icons_octicons_svg:
type: ui_icons.icon_pack_options_default
label: 'Octicons settings'
......@@ -26,7 +26,6 @@ ui_icons_octicons_svg:
title: "Alt text"
placeholder: "Alternative text for this icon"
description: "Accessibility alternative text, leave empty for decorative icon."
template: >
<svg xmlns="http://www.w3.org/2000/svg"
width="{{ width|default(24) }}"
......
ui_icons.icon_pack_options.ui_icons_phosphor_svg:
type: ui_icons.icon_pack_options_default
label: 'Phosphor settings'
ui_icons.icon_pack_options.ui_icons_remixicon_svg:
type: ui_icons.icon_pack_options_default
label: 'Remix icon settings'
ui_icons.icon_pack_options.ui_icons_uswds_svg_sprite:
type: ui_icons.icon_pack_options_default
label: 'USWDS Sprite settings'
field.value.ui_icon:
type: mapping
label: 'Default icon value'
constraints:
FullyValidatable: ~
mapping:
target_id:
type: string
......@@ -8,49 +10,41 @@ field.value.ui_icon:
settings:
type: sequence
label: 'Default icon settings'
# sequence:
# type: sequence
# sequence:
# type: string
sequence:
type: ui_icons.icon_pack_options.[%key]
field.formatter.settings.icon_formatter:
type: mapping
label: 'icon formatter settings'
constraints:
FullyValidatable: ~
mapping:
icon_settings:
type: sequence
label: 'Icon extractor settings'
sequence:
type: ui_icons.icon_pack_options.[%key]
field.formatter.settings.icon_link_formatter:
type: mapping
type: field.formatter.settings.link
label: 'icon formatter link settings'
constraints:
FullyValidatable: ~
mapping:
icon_settings:
type: sequence
label: 'Icon extractor settings'
sequence:
type: ui_icons.icon_pack_options.[%key]
icon_display:
type: string
label: 'Icon display position'
# @see web/core/modules/link/config/schema/link.schema.yml
trim_length:
type: integer
label: 'Trim link text length'
url_only:
type: boolean
label: 'URL only'
url_plain:
type: boolean
label: 'Show URL as plain text'
rel:
type: string
label: 'Add rel="nofollow" to links'
target:
type: string
label: 'Open link in new window'
field.widget.settings.icon_widget:
type: mapping
label: 'icon widget settings'
constraints:
FullyValidatable: ~
mapping:
allowed_icon_pack:
type: sequence
......@@ -63,8 +57,10 @@ field.widget.settings.icon_widget:
label: 'Show extractor settings'
field.widget.settings.icon_link_widget:
type: mapping
type: field.widget.settings.link_default
label: 'icon widget link settings'
constraints:
FullyValidatable: ~
mapping:
allowed_icon_pack:
type: sequence
......@@ -81,10 +77,3 @@ field.widget.settings.icon_link_widget:
icon_position:
type: boolean
label: 'Allow icon pack display selection'
# @see web/core/modules/link/config/schema/link.schema.yml
placeholder_url:
type: string
label: 'Placeholder for URL'
placeholder_title:
type: label
label: 'Placeholder for link text'
field.widget.settings.icon_link_attributes_widget:
type: mapping
type: field.widget.settings.icon_link_widget
label: 'icon link attributes widget settings'
constraints:
FullyValidatable: ~
mapping:
# @see ui_icons_field/config/schema/ui_icons_field_link.schema.yml
allowed_icon_pack:
type: sequence
label: 'IconPack limitation for selection'
sequence:
type: string
label: 'IconPack id'
show_settings:
type: string
label: 'Show extractor settings'
icon_required:
type: string
label: 'Set icon required'
icon_position:
type: string
label: 'Allow icon pack display selection'
# @see core/modules/link/config/schema/link.schema.yml
placeholder_url:
type: string
label: 'Placeholder for URL'
placeholder_title:
type: label
label: 'Placeholder for link text'
# @see link_attributes/config/schema/link_attributes.schema.yml
enabled_attributes:
type: sequence
......
<?php
/**
* @file
* Drupal UI Icons Field.
*/
declare(strict_types=1);
/**
* Implements hook_config_schema_info_alter().
*/
function ui_icons_field_config_schema_info_alter(array &$definitions): void {
if (!isset($definitions['field.value.link']['mapping']['options']['mapping'])) {
return;
}
$definitions['field.value.link']['mapping']['options']['mapping']['icon'] = [
'type' => 'field.value.ui_icon',
];
$definitions['field.value.link']['mapping']['options']['mapping']['icon_display'] = [
'type' => 'string',
'label' => 'Icon display position',
];
}
filter_settings.icon_embed:
type: mapping
label: 'Icon Embed'
constraints:
FullyValidatable: ~
mapping:
allowed_icon_pack:
type: sequence
......
ui_icons.icon_pack_options.test_local_files:
type: mapping
label: 'Local files settings'
constraints:
FullyValidatable: ~
mapping:
width:
type: integer
label: 'Width'
constraints:
Range:
min: 0
height:
type: integer
label: 'Height'
constraints:
Range:
min: 0
title:
type: label
label: 'Title'
ui_icons.icon_pack_options.test_local_svg:
type: mapping
label: 'Local svg files settings'
constraints:
FullyValidatable: ~
mapping:
width:
type: integer
label: 'Width'
constraints:
Range:
min: 0
height:
type: integer
label: 'Height'
constraints:
Range:
min: 0
title:
type: label
label: 'Title'
ui_icons.icon_pack_options.test_local_svg_sprite:
type: mapping
label: 'Local svg sprite file settings'
constraints:
FullyValidatable: ~
mapping:
width:
type: integer
label: 'Width'
constraints:
Range:
min: 0
height:
type: integer
label: 'Height'
constraints:
Range:
min: 0
ui_icons.icon_pack_options.test_disabled_icon_pack:
type: mapping
label: 'Disabled settings'
constraints:
FullyValidatable: ~
mapping:
title:
type: label
label: 'Title'
ui_icons.icon_pack_options.test_no_icons:
type: mapping
label: 'No Icons settings'
constraints:
FullyValidatable: ~
mapping:
title:
type: label
label: 'Title'
ui_icons.icon_pack_options.test_no_settings:
type: mapping
label: 'No Settings settings'
constraints:
FullyValidatable: ~
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment