# Schema for the configuration files of the farm_map module.
farm_map.map_type.*:
  type: config_entity
  label: 'Map'
  mapping:
    id:
      type: string
      label: 'Machine-readable name'
    label:
      type: label
      label: 'Type'
    description:
      type: text
      label: 'Description'
    behaviors:
      type: sequence
      label: 'Map behaviors'
      nullable: true
      sequence:
        type: string
        label: 'Map behavior id'
    options:
      type: sequence
      label: 'farmOS-map options'
      sequence:
        type: ignore
        label: 'Option name'
farm_map.map_behavior.*:
  type: config_entity
  label: 'Map behavior'
  mapping:
    id:
      type: string
      label: 'Machine-readable name'
    label:
      type: label
      label: 'Behavior'
    description:
      type: text
      label: 'Description'
    library:
      type: string
      label: 'Library name'
    settings:
      type: sequence
      label: 'Behavior settings'
      sequence:
        type: ignore
        label: 'Behavior setting'
farm_map.layer_style.*:
  type: config_entity
  label: 'Map layer style'
  mapping:
    id:
      type: string
      label: 'Machine-readable name'
    color:
      type: string
      label: 'farmOS-map color'
    conditions:
      type: sequence
      label: 'Style matching conditions'
      sequence:
        type: ignore
        label: 'Layer style setting'
field.widget.settings.farm_map_geofield:
  type: mapping
  label: 'Farm map geofield settings'
  mapping:
    display_raw_geometry:
      type: boolean
      label: 'Whether or not to display the raw geometry field underneath map.'
    populate_file_field:
      type: string
      label: 'The name of the file field to geocode into the geofield.'
block.settings.map_block:
  type: block_settings
  label: 'map block settings'
  mapping:
    map_type:
      type: string
      label: 'Map type'
    map_behaviors:
      type: sequence
      label: 'Map behaviors'
      nullable: true
      sequence:
        type: string
        label: 'Map behavior id'
farm_map.settings:
  type: config_object
  label: 'Map Settings'
  mapping:
    enable_side_panel:
      type: boolean
      label: 'Enable Side Panel'
      description: 'Enables the side panel in farmOS maps for displaying additional settings and information.'
