From cbfe293d7a6fc251eb82e3ca1f2841aaebeb71b4 Mon Sep 17 00:00:00 2001
From: l26yan <l26yan@uwaterloo.ca>
Date: Mon, 4 Oct 2021 15:31:48 -0400
Subject: [PATCH] ISTWCMS-5124 Use layout builder to manage display

---
 ...orm_display.node.uw_ct_service.default.yml |   4 +-
 ...iew_display.node.uw_ct_service.default.yml | 367 ++++++++++++++++++
 ...view_display.node.uw_ct_service.teaser.yml |   2 +
 ...e.uw_ct_service.layout_builder__layout.yml |  20 +
 uw_ct_service.info.yml                        |   2 +
 5 files changed, 394 insertions(+), 1 deletion(-)
 create mode 100644 config/install/field.field.node.uw_ct_service.layout_builder__layout.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 d99bd22..d6bc76e 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
@@ -21,6 +21,7 @@ dependencies:
     - field.field.node.uw_ct_service.field_uw_service_status
     - field.field.node.uw_ct_service.field_uw_service_summary
     - field.field.node.uw_ct_service.field_uw_service_support
+    - field.field.node.uw_ct_service.layout_builder__layout
     - node.type.uw_ct_service
   module:
     - address
@@ -333,4 +334,5 @@ content:
     region: content
     settings: {  }
     third_party_settings: {  }
-hidden: {  }
+hidden:
+  layout_builder__layout: true
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 dbfb4f8..2e1800f 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
@@ -21,15 +21,381 @@ dependencies:
     - field.field.node.uw_ct_service.field_uw_service_status
     - field.field.node.uw_ct_service.field_uw_service_summary
     - field.field.node.uw_ct_service.field_uw_service_support
+    - field.field.node.uw_ct_service.layout_builder__layout
     - node.type.uw_ct_service
   module:
     - address
+    - layout_builder
+    - layout_builder_restrictions
+    - layout_discovery
     - link
     - metatag
     - office_hours
     - options
     - text
     - user
+third_party_settings:
+  layout_builder:
+    allow_custom: true
+    enabled: true
+    sections:
+      -
+        layout_id: layout_onecol
+        layout_settings:
+          label: ''
+        components:
+          a6cd2f25-970a-42b5-92a5-aefa61a8e279:
+            uuid: a6cd2f25-970a-42b5-92a5-aefa61a8e279
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'extra_field_block:node:uw_ct_service:links'
+            additional: {  }
+            weight: 0
+          0fe9133d-67df-4d2d-ba0d-1928c2b89512:
+            uuid: 0fe9133d-67df-4d2d-ba0d-1928c2b89512
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_summary'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: text_default
+            additional: {  }
+            weight: 1
+          bcfa7090-18ad-4957-b94f-2ccc284d75c0:
+            uuid: bcfa7090-18ad-4957-b94f-2ccc284d75c0
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_status'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: list_default
+            additional: {  }
+            weight: 2
+          7a2dbb47-2fc4-49d4-86ae-8e91ad23719f:
+            uuid: 7a2dbb47-2fc4-49d4-86ae-8e91ad23719f
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_category'
+              formatter:
+                label: above
+                settings:
+                  link: true
+                third_party_settings: {  }
+                type: entity_reference_label
+            additional: {  }
+            weight: 3
+          59ac199d-d5d1-4ef4-b5ac-7aa1f934fb9e:
+            uuid: 59ac199d-d5d1-4ef4-b5ac-7aa1f934fb9e
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_popularity'
+              formatter:
+                label: above
+                settings:
+                  thousand_separator: ''
+                  prefix_suffix: true
+                third_party_settings: {  }
+                type: number_integer
+            additional: {  }
+            weight: 4
+          f87f7653-d0b1-4597-829c-753df210e9cf:
+            uuid: f87f7653-d0b1-4597-829c-753df210e9cf
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_length'
+              formatter:
+                label: above
+                settings:
+                  link_to_entity: false
+                third_party_settings: {  }
+                type: string
+            additional: {  }
+            weight: 5
+          45a2d899-fbef-4d23-8d5d-34c1ca692c50:
+            uuid: 45a2d899-fbef-4d23-8d5d-34c1ca692c50
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_available'
+              formatter:
+                label: above
+                settings:
+                  link_to_entity: false
+                third_party_settings: {  }
+                type: string
+            additional: {  }
+            weight: 6
+          25449959-0d2b-4344-b74e-6900e2abfe34:
+            uuid: 25449959-0d2b-4344-b74e-6900e2abfe34
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_audience'
+              formatter:
+                label: above
+                settings:
+                  link: true
+                third_party_settings: {  }
+                type: entity_reference_label
+            additional: {  }
+            weight: 7
+          57069c72-9400-4d57-9bb0-9bfcfbc84ea9:
+            uuid: 57069c72-9400-4d57-9bb0-9bfcfbc84ea9
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_notice'
+              formatter:
+                label: above
+                settings:
+                  link_to_entity: false
+                third_party_settings: {  }
+                type: string
+            additional: {  }
+            weight: 8
+          c6d4722b-2f65-4176-bab1-0b21c25e782d:
+            uuid: c6d4722b-2f65-4176-bab1-0b21c25e782d
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_request'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: text_default
+            additional: {  }
+            weight: 9
+          421d732a-2ce9-4f46-9052-50451240463a:
+            uuid: 421d732a-2ce9-4f46-9052-50451240463a
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_cost'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: text_default
+            additional: {  }
+            weight: 10
+          d166319c-c23e-4069-b02b-38949f9841c5:
+            uuid: d166319c-c23e-4069-b02b-38949f9841c5
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_support'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: text_default
+            additional: {  }
+            weight: 11
+          b4678d02-2a1a-40bf-93f4-6978c21ddd55:
+            uuid: b4678d02-2a1a-40bf-93f4-6978c21ddd55
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_hours'
+              formatter:
+                label: above
+                settings:
+                  day_format: long
+                  time_format: G
+                  compress: false
+                  grouped: false
+                  show_closed: all
+                  closed_format: Closed
+                  separator:
+                    days: '<br />'
+                    grouped_days: ' - '
+                    day_hours: ': '
+                    hours_hours: '-'
+                    more_hours: ', '
+                  current_status:
+                    position: ''
+                    open_text: 'Currently open!'
+                    closed_text: 'Currently closed'
+                  schema:
+                    enabled: false
+                  timezone_field: ''
+                  office_hours_first_day: ''
+                third_party_settings: {  }
+                type: office_hours
+            additional: {  }
+            weight: 12
+          d587e500-bb76-4a15-a241-307df5cdad5e:
+            uuid: d587e500-bb76-4a15-a241-307df5cdad5e
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_location'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: address_default
+            additional: {  }
+            weight: 13
+          78665c69-86ee-4500-8bc0-2de2540c5dd1:
+            uuid: 78665c69-86ee-4500-8bc0-2de2540c5dd1
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_map'
+              formatter:
+                label: above
+                settings:
+                  trim_length: 80
+                  url_only: false
+                  url_plain: false
+                  rel: ''
+                  target: ''
+                third_party_settings: {  }
+                type: link
+            additional: {  }
+            weight: 14
+          675a590b-6c99-48eb-acdc-27b30e59f789:
+            uuid: 675a590b-6c99-48eb-acdc-27b30e59f789
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_owner'
+              formatter:
+                label: above
+                settings:
+                  trim_length: 80
+                  url_only: false
+                  url_plain: false
+                  rel: ''
+                  target: ''
+                third_party_settings: {  }
+                type: link
+            additional: {  }
+            weight: 15
+          272675b3-7dd3-4a20-8d58-144a7a8f2e45:
+            uuid: 272675b3-7dd3-4a20-8d58-144a7a8f2e45
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_service_contacts'
+              formatter:
+                label: above
+                settings:
+                  trim_length: 80
+                  url_only: false
+                  url_plain: false
+                  rel: ''
+                  target: ''
+                third_party_settings: {  }
+                type: link
+            additional: {  }
+            weight: 16
+          f5db00fe-9c29-413a-8975-fa00ad93ef58:
+            uuid: f5db00fe-9c29-413a-8975-fa00ad93ef58
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_meta_description'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: basic_string
+            additional: {  }
+            weight: 17
+          596a9218-8e81-44fc-a496-8d2cd0358215:
+            uuid: 596a9218-8e81-44fc-a496-8d2cd0358215
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_meta_image'
+              formatter:
+                label: above
+                settings:
+                  link: true
+                third_party_settings: {  }
+                type: entity_reference_label
+            additional: {  }
+            weight: 18
+          8056fd37-5b19-4e9a-bfde-92af608ef6c3:
+            uuid: 8056fd37-5b19-4e9a-bfde-92af608ef6c3
+            region: content
+            configuration:
+              label_display: '0'
+              context_mapping:
+                entity: layout_builder.entity
+              id: 'field_block:node:uw_ct_service:field_uw_meta_tags'
+              formatter:
+                label: above
+                settings: {  }
+                third_party_settings: {  }
+                type: metatag_empty_formatter
+            additional: {  }
+            weight: 19
+        third_party_settings: {  }
+  layout_builder_restrictions:
+    allowed_block_categories: {  }
+    entity_view_mode_restriction:
+      whitelisted_blocks: {  }
+      blacklisted_blocks: {  }
+      restricted_categories: {  }
+      allowed_layouts:
+        - uw_1_column
+        - uw_2_column
+        - uw_3_column
+        - uw_4_column
+        - uw_inverted_l_right
+        - uw_inverted_l_left
 id: node.uw_ct_service.default
 targetEntityType: node
 bundle: uw_ct_service
@@ -218,3 +584,4 @@ content:
     region: content
 hidden:
   langcode: true
+  layout_builder__layout: true
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 1df6c33..f75207a 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
@@ -22,6 +22,7 @@ dependencies:
     - field.field.node.uw_ct_service.field_uw_service_status
     - field.field.node.uw_ct_service.field_uw_service_summary
     - field.field.node.uw_ct_service.field_uw_service_support
+    - field.field.node.uw_ct_service.layout_builder__layout
     - node.type.uw_ct_service
   module:
     - user
@@ -56,3 +57,4 @@ hidden:
   field_uw_service_summary: true
   field_uw_service_support: true
   langcode: true
+  layout_builder__layout: true
diff --git a/config/install/field.field.node.uw_ct_service.layout_builder__layout.yml b/config/install/field.field.node.uw_ct_service.layout_builder__layout.yml
new file mode 100644
index 0000000..b0b6bdf
--- /dev/null
+++ b/config/install/field.field.node.uw_ct_service.layout_builder__layout.yml
@@ -0,0 +1,20 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.layout_builder__layout
+    - node.type.uw_ct_service
+  module:
+    - layout_builder
+id: node.uw_ct_service.layout_builder__layout
+field_name: layout_builder__layout
+entity_type: node
+bundle: uw_ct_service
+label: Layout
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: layout_section
diff --git a/uw_ct_service.info.yml b/uw_ct_service.info.yml
index 32c7216..9decdc5 100644
--- a/uw_ct_service.info.yml
+++ b/uw_ct_service.info.yml
@@ -11,6 +11,7 @@ dependencies:
   - 'drupal:field'
   - 'drupal:language'
   - 'drupal:layout_builder'
+  - 'drupal:layout_discovery'
   - 'drupal:link'
   - 'drupal:media'
   - 'drupal:media_library'
@@ -23,6 +24,7 @@ dependencies:
   - 'drupal:user'
   - 'entity_browser_block_layout:entity_browser_block_layout'
   - 'field_group:field_group'
+  - 'layout_builder_restrictions:layout_builder_restrictions'
   - 'metatag:metatag'
   - 'node_revision_delete:node_revision_delete'
   - 'office_hours:office_hours'
-- 
GitLab