From ca8065d065f6b5a76fbaf56cdd382c8cd8d04cda Mon Sep 17 00:00:00 2001
From: l26yan <l26yan@uwaterloo.ca>
Date: Tue, 5 Oct 2021 14:08:43 -0400
Subject: [PATCH] ISTWCMS-5124 Add geofield

---
 ...orm_display.node.uw_ct_service.default.yml | 47 ++++++++++++++++++-
 ...iew_display.node.uw_ct_service.default.yml | 43 +++++++++++++++++
 ...view_display.node.uw_ct_service.teaser.yml |  7 +++
 ...w_ct_service.field_uw_service_location.yml |  2 +-
 ...ervice.field_uw_service_location_coord.yml | 20 ++++++++
 ...e.node.field_uw_service_location_coord.yml | 19 ++++++++
 uw_ct_service.info.yml                        |  2 +
 7 files changed, 138 insertions(+), 2 deletions(-)
 create mode 100644 config/install/field.field.node.uw_ct_service.field_uw_service_location_coord.yml
 create mode 100644 config/install/field.storage.node.field_uw_service_location_coord.yml

diff --git a/config/install/core.entity_form_display.node.uw_ct_service.default.yml b/config/install/core.entity_form_display.node.uw_ct_service.default.yml
index d6bc76e..a592299 100644
--- a/config/install/core.entity_form_display.node.uw_ct_service.default.yml
+++ b/config/install/core.entity_form_display.node.uw_ct_service.default.yml
@@ -13,6 +13,7 @@ dependencies:
     - field.field.node.uw_ct_service.field_uw_service_hours
     - field.field.node.uw_ct_service.field_uw_service_length
     - field.field.node.uw_ct_service.field_uw_service_location
+    - field.field.node.uw_ct_service.field_uw_service_location_coord
     - field.field.node.uw_ct_service.field_uw_service_map
     - field.field.node.uw_ct_service.field_uw_service_notice
     - field.field.node.uw_ct_service.field_uw_service_owner
@@ -23,10 +24,12 @@ dependencies:
     - field.field.node.uw_ct_service.field_uw_service_support
     - field.field.node.uw_ct_service.layout_builder__layout
     - node.type.uw_ct_service
+    - workflows.workflow.uw_workflow
   module:
     - address
     - content_moderation
     - field_group
+    - geofield_map
     - link
     - media_library
     - metatag
@@ -60,6 +63,7 @@ third_party_settings:
     group_service_location:
       children:
         - field_uw_service_location
+        - field_uw_service_location_coord
         - field_uw_service_map
       parent_name: ''
       weight: 6
@@ -207,8 +211,49 @@ content:
     third_party_settings: {  }
     type: address_default
     region: content
-  field_uw_service_map:
+  field_uw_service_location_coord:
     weight: 17
+    settings:
+      map_google_places:
+        places_additional_options: ''
+        places_control: false
+      map_library: leaflet
+      map_type_google: roadmap
+      map_type_leaflet: OpenStreetMap_Mapnik
+      map_dimensions:
+        width: 100%
+        height: 450px
+      zoom:
+        start: 14
+        focus: 14
+        min: 0
+        max: 22
+      geoaddress_field:
+        field: '0'
+        disabled: true
+        hidden: false
+      default_value:
+        lat: !!float 0
+        lon: !!float 0
+      map_type_selector: false
+      click_to_find_marker: false
+      click_to_place_marker: false
+      hide_coordinates: false
+      html5_geolocation: false
+      map_google_api_key: ''
+      map_geocoder:
+        control: 0
+        settings:
+          providers: {  }
+          min_terms: 4
+          delay: 800
+          options: ''
+      zoom_level: 5
+    third_party_settings: {  }
+    type: geofield_map
+    region: content
+  field_uw_service_map:
+    weight: 18
     settings:
       placeholder_url: ''
       placeholder_title: ''
diff --git a/config/install/core.entity_view_display.node.uw_ct_service.default.yml b/config/install/core.entity_view_display.node.uw_ct_service.default.yml
index 2e1800f..0a071d5 100644
--- a/config/install/core.entity_view_display.node.uw_ct_service.default.yml
+++ b/config/install/core.entity_view_display.node.uw_ct_service.default.yml
@@ -13,6 +13,7 @@ dependencies:
     - field.field.node.uw_ct_service.field_uw_service_hours
     - field.field.node.uw_ct_service.field_uw_service_length
     - field.field.node.uw_ct_service.field_uw_service_location
+    - field.field.node.uw_ct_service.field_uw_service_location_coord
     - field.field.node.uw_ct_service.field_uw_service_map
     - field.field.node.uw_ct_service.field_uw_service_notice
     - field.field.node.uw_ct_service.field_uw_service_owner
@@ -25,6 +26,7 @@ dependencies:
     - node.type.uw_ct_service
   module:
     - address
+    - geofield
     - layout_builder
     - layout_builder_restrictions
     - layout_discovery
@@ -382,6 +384,33 @@ third_party_settings:
                 type: metatag_empty_formatter
             additional: {  }
             weight: 19
+          6c23a422-774e-4a26-aff4-f774d5eabbac:
+            uuid: 6c23a422-774e-4a26-aff4-f774d5eabbac
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'extra_field_block:node:uw_ct_service:content_moderation_control'
+            additional: {  }
+            weight: 20
+          a21a4ce3-c17d-49ad-a69c-742020802ba6:
+            uuid: a21a4ce3-c17d-49ad-a69c-742020802ba6
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_location_coord'
+              formatter:
+                label: above
+                settings:
+                  output_format: wkt
+                  output_escape: true
+                third_party_settings: {  }
+                type: geofield_default
+            additional: {  }
+            weight: 21
         third_party_settings: {  }
   layout_builder_restrictions:
     allowed_block_categories: {  }
@@ -401,6 +430,11 @@ targetEntityType: node
 bundle: uw_ct_service
 mode: default
 content:
+  content_moderation_control:
+    weight: -20
+    settings: {  }
+    third_party_settings: {  }
+    region: content
   field_uw_meta_description:
     weight: 121
     label: above
@@ -508,6 +542,15 @@ content:
     third_party_settings: {  }
     type: address_default
     region: content
+  field_uw_service_location_coord:
+    weight: 124
+    label: above
+    settings:
+      output_format: wkt
+      output_escape: true
+    third_party_settings: {  }
+    type: geofield_default
+    region: content
   field_uw_service_map:
     weight: 118
     label: above
diff --git a/config/install/core.entity_view_display.node.uw_ct_service.teaser.yml b/config/install/core.entity_view_display.node.uw_ct_service.teaser.yml
index f75207a..96fa5e4 100644
--- a/config/install/core.entity_view_display.node.uw_ct_service.teaser.yml
+++ b/config/install/core.entity_view_display.node.uw_ct_service.teaser.yml
@@ -14,6 +14,7 @@ dependencies:
     - field.field.node.uw_ct_service.field_uw_service_hours
     - field.field.node.uw_ct_service.field_uw_service_length
     - field.field.node.uw_ct_service.field_uw_service_location
+    - field.field.node.uw_ct_service.field_uw_service_location_coord
     - field.field.node.uw_ct_service.field_uw_service_map
     - field.field.node.uw_ct_service.field_uw_service_notice
     - field.field.node.uw_ct_service.field_uw_service_owner
@@ -31,6 +32,11 @@ targetEntityType: node
 bundle: uw_ct_service
 mode: teaser
 content:
+  content_moderation_control:
+    weight: -20
+    settings: {  }
+    third_party_settings: {  }
+    region: content
   links:
     weight: 100
     settings: {  }
@@ -48,6 +54,7 @@ hidden:
   field_uw_service_hours: true
   field_uw_service_length: true
   field_uw_service_location: true
+  field_uw_service_location_coord: true
   field_uw_service_map: true
   field_uw_service_notice: true
   field_uw_service_owner: true
diff --git a/config/install/field.field.node.uw_ct_service.field_uw_service_location.yml b/config/install/field.field.node.uw_ct_service.field_uw_service_location.yml
index f1d816b..56ab259 100644
--- a/config/install/field.field.node.uw_ct_service.field_uw_service_location.yml
+++ b/config/install/field.field.node.uw_ct_service.field_uw_service_location.yml
@@ -10,7 +10,7 @@ id: node.uw_ct_service.field_uw_service_location
 field_name: field_uw_service_location
 entity_type: node
 bundle: uw_ct_service
-label: Location
+label: 'Location address'
 description: ''
 required: false
 translatable: false
diff --git a/config/install/field.field.node.uw_ct_service.field_uw_service_location_coord.yml b/config/install/field.field.node.uw_ct_service.field_uw_service_location_coord.yml
new file mode 100644
index 0000000..2fd4ed3
--- /dev/null
+++ b/config/install/field.field.node.uw_ct_service.field_uw_service_location_coord.yml
@@ -0,0 +1,20 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_uw_service_location_coord
+    - node.type.uw_ct_service
+  module:
+    - geofield
+id: node.uw_ct_service.field_uw_service_location_coord
+field_name: field_uw_service_location_coord
+entity_type: node
+bundle: uw_ct_service
+label: 'Location coordinates'
+description: 'If the address is not sufficient for locating the event, enter its coordinates here. To remove the coordinates, empty or set to zero either latitude or longitude.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: geofield
diff --git a/config/install/field.storage.node.field_uw_service_location_coord.yml b/config/install/field.storage.node.field_uw_service_location_coord.yml
new file mode 100644
index 0000000..df0dbc3
--- /dev/null
+++ b/config/install/field.storage.node.field_uw_service_location_coord.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - geofield
+    - node
+id: node.field_uw_service_location_coord
+field_name: field_uw_service_location_coord
+entity_type: node
+type: geofield
+settings:
+  backend: geofield_backend_default
+module: geofield
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/uw_ct_service.info.yml b/uw_ct_service.info.yml
index 9decdc5..5a0f372 100644
--- a/uw_ct_service.info.yml
+++ b/uw_ct_service.info.yml
@@ -24,6 +24,8 @@ dependencies:
   - 'drupal:user'
   - 'entity_browser_block_layout:entity_browser_block_layout'
   - 'field_group:field_group'
+  - 'geofield:geofield'
+  - 'geofield_map:geofield_map'
   - 'layout_builder_restrictions:layout_builder_restrictions'
   - 'metatag:metatag'
   - 'node_revision_delete:node_revision_delete'
-- 
GitLab