# Schema for the views style plugins.

views.style.geofield_google_map:
  type: views_style
  label: Geofield Google Map
  mapping:
    data_source:
      type: sequence
      label: 'Data sources'
      sequence:
        type: string
        label: 'Data source'
    entity_source:
      type: string
      label: Entity source
    entity_source_submit:
      type: string
      label: 'Submit label for entity source'
    map_dimensions:
      type: geofield_map.map_dimensions
    map_empty:
      type: mapping
      label: Map empty
      mapping:
        empty_behaviour:
          type: string
          label: Empty behavior
    map_center:
      type: mapping
      label: Map center
      mapping:
        lat:
          type: float
          label: Lat
        lon:
          type: float
          label: Lon
        center_force:
          type: boolean
          label: Center force
        geocode:
          type: string
          label: Geocode
    map_zoom_and_pan:
      type: mapping
      label: Map zoom and pan
      mapping:
        zoom:
          type: mapping
          label: Zoom
          mapping:
            initial:
              type: integer
              label: Initial
            force:
              type: boolean
              label: Force
            min:
              type: integer
              label: Min
            max:
              type: integer
              label: Max
            finer:
              type: integer
              label: Finer
        gestureHandling:
          type: string
          label: Gesture handling
        scrollwheel:
          type: boolean
          label: Scroll wheel
        draggable:
          type: boolean
          label: Draggable
        map_reset_position:
          type: string
          label: Map reset position
        map_reset:
          type: boolean
          label: Map reset
    map_controls:
      type: mapping
      label: Map controls
      mapping:
        disable_default_ui:
          type: boolean
          label: Disable default ui
        zoom_control:
          type: boolean
          label: Zoom control
        map_type_id:
          type: string
          label: Map type id
        map_type_control:
          type: boolean
          label: Map type control
        map_type_control_options_type_ids:
          type: mapping
          label: Map type control options
          mapping:
            roadmap:
              type: string
              label: Roadmap
            satellite:
              type: string
              label: Satellite
            hybrid:
              type: string
              label: Hybrid
            terrain:
              type: string
              label: Terrain
        scale_control:
          type: boolean
          label: Scale control
        street_view_control:
          type: boolean
          label: Street view control
        fullscreen_control:
          type: boolean
          label: Fullscreen control
    map_marker_and_infowindow:
      type: mapping
      label: Map marker and infowindow
      mapping:
        icon_image_path:
          type: string
          label: Icon Image Path
        icon_image_mode:
          type: string
          label: Icon image mode
        infowindow_field:
          type: string
          label: Infowindow field
        view_mode:
          type: string
          label: View mode
        tooltip_field:
          type: string
          label: Marker Tooltip
        icon_file_wrapper:
          type: mapping
          label: Icon file wrapper
          mapping:
            icon_file:
              type: mapping
              label: Icon file
              mapping:
                fids:
                  type: string
                  label: Fids
                upload_button:
                  type: string
                  label: Upload button
                remove_button:
                  type: string
                  label: Remove button
                upload:
                  type: string
                  label: Upload
                is_svg:
                  type: boolean
                  label: Is svg
            image_style:
              type: string
              label: Image style
        multivalue_split:
          type: boolean
          label: Multivalue split
        theming:
          type: mapping
          label: Theming
          mapping:
            plugin_id:
              type: 'string'
              label: Plugin id
            plugins_descriptions:
              type: mapping
              label: Plugins descriptions
              mapping:
                table:
                  type: string
                  label: Table
            geofieldmap_entity_type_url:
              type: mapping
              mapping:
                values:
                  type: sequence
                  sequence:
                    - type: mapping
    map_oms:
      type: mapping
      label: Map oms
      mapping:
        map_oms_control:
          type: boolean
          label: Map oms control
        map_oms_options:
          type: string
          label: Map oms options
    weight:
      type: integer
      label: Weight
    map_additional_options:
      type: string
      label: Map additional options
    map_geometries_options:
      type: string
      label: Map geometries options
    custom_style_map:
      type: mapping
      label: Custom style map
      mapping:
        custom_style_name:
          type: string
          label: Custom style name
        custom_style_options:
          type: string
          label: Custom style options
        custom_style_control:
          type: boolean
          label: Custom style control
        custom_style_default:
          type: boolean
          label: Custom style default
    map_markercluster:
      type: mapping
      label: Map markercluster
      mapping:
        markercluster_additional_options:
          type: string
          label: Markercluster additional options
        markercluster_control:
          type: boolean
          label: Markercluster control
    map_geocoder:
      type: geofield_map.map_geocoder
    map_additional_libraries:
      type: mapping
      label: Map additional libraries
      mapping:
        places:
          type: boolean
          label: Places
        drawing:
          type: boolean
          label: Drawing
        geometry:
          type: boolean
          label: Geometry
        visualization:
          type: boolean
          label: Visualization
    map_lazy_load:
      type: mapping
      label: Map lazy load
      mapping:
        lazy_load:
          type: boolean
          label: Lazy load
