From 16c3c262598a9deb0be2b610b3711eef7ad0a910 Mon Sep 17 00:00:00 2001 From: Liam Morland <lkmorlan@uwaterloo.ca> Date: Mon, 22 Nov 2021 11:14:12 -0500 Subject: [PATCH] ISTWCMS-4866: Make expand/collapse use new node theming --- ...r_browser_block.uw_cbl_multi_type_list.yml | 2 +- ...er_browser_block.uw_lbb_catalog_search.yml | 2 +- ...r_browser_block.uw_lbb_expand_collapse.yml | 11 ++++++++ src/Service/UWService.php | 1 + src/Service/UwNodeContent.php | 26 +++++++++++++++++++ src/UwPermissions/UwPermissions.php | 8 ++++++ .../user.role.uw_role_content_author.yml | 6 +++++ .../user.role.uw_role_content_editor.yml | 6 +++++ .../user.role.uw_role_site_manager.yml | 6 +++++ uw_cfg_common.info.yml | 1 - uw_cfg_common.install | 7 +++++ uw_cfg_common.links.menu.yml | 6 +++++ 12 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_expand_collapse.yml diff --git a/config/install/layout_builder_browser.layout_builder_browser_block.uw_cbl_multi_type_list.yml b/config/install/layout_builder_browser.layout_builder_browser_block.uw_cbl_multi_type_list.yml index 7c5efc0d..40950f15 100644 --- a/config/install/layout_builder_browser.layout_builder_browser_block.uw_cbl_multi_type_list.yml +++ b/config/install/layout_builder_browser.layout_builder_browser_block.uw_cbl_multi_type_list.yml @@ -5,7 +5,7 @@ id: uw_cbl_multi_type_list block_id: uw_cbl_multi_type_list category: uw_bc_listings label: 'Multi-type list' -weight: -1 +weight: 0 image_path: images/layout_builder_browser/multitypelist.svg image_path_base: 'theme:uw_fdsu_theme_resp' image_alt: '' diff --git a/config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_catalog_search.yml b/config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_catalog_search.yml index a90e4804..25aa3f6d 100644 --- a/config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_catalog_search.yml +++ b/config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_catalog_search.yml @@ -5,7 +5,7 @@ id: uw_lbb_catalog_search block_id: uw_cbl_catalog_search category: uw_bc_searches label: 'Catalog search' -weight: -1 +weight: 0 image_path: images/layout_builder_browser/catalogsearch.svg image_path_base: 'theme:uw_fdsu_theme_resp' image_alt: 'Catalog search' diff --git a/config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_expand_collapse.yml b/config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_expand_collapse.yml new file mode 100644 index 00000000..c896ca49 --- /dev/null +++ b/config/install/layout_builder_browser.layout_builder_browser_block.uw_lbb_expand_collapse.yml @@ -0,0 +1,11 @@ +langcode: en +status: true +dependencies: { } +id: uw_lbb_expand_collapse +block_id: uw_cbl_expand_collapse +category: uw_bc_content +label: Expand/collapse +weight: 0 +image_path: images/layout_builder_browser/expandcollapse.svg +image_path_base: 'theme:uw_fdsu_theme_resp' +image_alt: '' diff --git a/src/Service/UWService.php b/src/Service/UWService.php index f21a264b..1175ae9c 100644 --- a/src/Service/UWService.php +++ b/src/Service/UWService.php @@ -189,6 +189,7 @@ class UWService implements UWServiceInterface { 'uw_ct_catalog_item', 'uw_ct_contact', 'uw_ct_event', + 'uw_ct_expand_collapse_group', 'uw_ct_news_item', 'uw_ct_opportunity', 'uw_ct_profile', diff --git a/src/Service/UwNodeContent.php b/src/Service/UwNodeContent.php index fc0f7e1d..596fcb32 100644 --- a/src/Service/UwNodeContent.php +++ b/src/Service/UwNodeContent.php @@ -61,6 +61,10 @@ class UwNodeContent { $content_data = $this->getEventContent($node_flags); break; + case 'uw_ct_expand_collapse_group': + $content_data = $this->getExpandCollapseGroupContent($node_flags); + break; + case 'uw_ct_news_item': $content_data = $this->getNewsContent($node_flags); break; @@ -351,6 +355,28 @@ class UwNodeContent { return $content_data; } + /** + * Get the node content for e/c group content type. + * + * @param array $node_flags + * The flags for the node. + * + * @return array + * Array of content to get from the node. + */ + public function getExpandCollapseGroupContent(array $node_flags): array { + + // Setup the content data array. + $content_data = $this->setupContentData($node_flags); + + // Setup the actual content. + if ($node_flags['get_content']) { + $content_data['content'] = $this->addToContentData('content', ''); + } + + return $content_data; + } + /** * Get the node content for news content type. * diff --git a/src/UwPermissions/UwPermissions.php b/src/UwPermissions/UwPermissions.php index 8630e24a..11cdaff4 100644 --- a/src/UwPermissions/UwPermissions.php +++ b/src/UwPermissions/UwPermissions.php @@ -159,6 +159,14 @@ class UwPermissions { ), ], + // Expand/Collapse. + 'Expand/Collapse Group' => [ + 'Use content type' => + UwPermissions::buildRolePermissionsListContentType( + 'uw_ct_expand_collapse_group' + ), + ], + // News permissions. 'News' => [ 'Use content type' => diff --git a/src/UwRoles/user.role.uw_role_content_author.yml b/src/UwRoles/user.role.uw_role_content_author.yml index 0d87fc01..c6b5c1a1 100644 --- a/src/UwRoles/user.role.uw_role_content_author.yml +++ b/src/UwRoles/user.role.uw_role_content_author.yml @@ -47,6 +47,7 @@ permissions: - 'clone uw_ct_catalog_item content' - 'clone uw_ct_contact content' - 'clone uw_ct_event content' + - 'clone uw_ct_expand_collapse_group content' - 'clone uw_ct_news_item content' - 'clone uw_ct_opportunity content' - 'clone uw_ct_profile content' @@ -59,6 +60,7 @@ permissions: - 'configure editable uw_ct_catalog_item node layout overrides' - 'configure editable uw_ct_contact node layout overrides' - 'configure editable uw_ct_event node layout overrides' + - 'configure editable uw_ct_expand_collapse_group node layout overrides' - 'configure editable uw_ct_news_item node layout overrides' - 'configure editable uw_ct_opportunity node layout overrides' - 'configure editable uw_ct_profile node layout overrides' @@ -101,6 +103,7 @@ permissions: - 'enter uw_ct_catalog_item revision log entry' - 'enter uw_ct_contact revision log entry' - 'enter uw_ct_event revision log entry' + - 'enter uw_ct_expand_collapse_group revision log entry' - 'enter uw_ct_news_item revision log entry' - 'enter uw_ct_opportunity revision log entry' - 'enter uw_ct_profile revision log entry' @@ -120,6 +123,9 @@ permissions: - 'override uw_ct_event published option' - 'override uw_ct_event revision option' - 'override uw_ct_event sticky option' + - 'override uw_ct_expand_collapse_group published option' + - 'override uw_ct_expand_collapse_group revision option' + - 'override uw_ct_expand_collapse_group sticky option' - 'override uw_ct_news_item promote to front page option' - 'override uw_ct_news_item published option' - 'override uw_ct_news_item revision option' diff --git a/src/UwRoles/user.role.uw_role_content_editor.yml b/src/UwRoles/user.role.uw_role_content_editor.yml index b039ce20..b392924c 100644 --- a/src/UwRoles/user.role.uw_role_content_editor.yml +++ b/src/UwRoles/user.role.uw_role_content_editor.yml @@ -48,6 +48,7 @@ permissions: - 'clone uw_ct_catalog_item content' - 'clone uw_ct_contact content' - 'clone uw_ct_event content' + - 'clone uw_ct_expand_collapse_group content' - 'clone uw_ct_news_item content' - 'clone uw_ct_opportunity content' - 'clone uw_ct_profile content' @@ -59,6 +60,7 @@ permissions: - 'configure editable uw_ct_catalog_item node layout overrides' - 'configure editable uw_ct_contact node layout overrides' - 'configure editable uw_ct_event node layout overrides' + - 'configure editable uw_ct_expand_collapse_group node layout overrides' - 'configure editable uw_ct_news_item node layout overrides' - 'configure editable uw_ct_opportunity node layout overrides' - 'configure editable uw_ct_profile node layout overrides' @@ -87,6 +89,7 @@ permissions: - 'enter uw_ct_catalog_item revision log entry' - 'enter uw_ct_contact revision log entry' - 'enter uw_ct_event revision log entry' + - 'enter uw_ct_expand_collapse_group revision log entry' - 'enter uw_ct_news_item revision log entry' - 'enter uw_ct_opportunity revision log entry' - 'enter uw_ct_profile revision log entry' @@ -106,6 +109,9 @@ permissions: - 'override uw_ct_event published option' - 'override uw_ct_event revision option' - 'override uw_ct_event sticky option' + - 'override uw_ct_expand_collapse_group published option' + - 'override uw_ct_expand_collapse_group revision option' + - 'override uw_ct_expand_collapse_group sticky option' - 'override uw_ct_news_item promote to front page option' - 'override uw_ct_news_item published option' - 'override uw_ct_news_item revision option' diff --git a/src/UwRoles/user.role.uw_role_site_manager.yml b/src/UwRoles/user.role.uw_role_site_manager.yml index 175ee68a..eaf74734 100644 --- a/src/UwRoles/user.role.uw_role_site_manager.yml +++ b/src/UwRoles/user.role.uw_role_site_manager.yml @@ -52,6 +52,7 @@ permissions: - 'clone uw_ct_catalog_item content' - 'clone uw_ct_contact content' - 'clone uw_ct_event content' + - 'clone uw_ct_expand_collapse_group content' - 'clone uw_ct_news_item content' - 'clone uw_ct_opportunity content' - 'clone uw_ct_profile content' @@ -63,6 +64,7 @@ permissions: - 'configure editable uw_ct_catalog_item node layout overrides' - 'configure editable uw_ct_contact node layout overrides' - 'configure editable uw_ct_event node layout overrides' + - 'configure editable uw_ct_expand_collapse_group node layout overrides' - 'configure editable uw_ct_news_item node layout overrides' - 'configure editable uw_ct_opportunity node layout overrides' - 'configure editable uw_ct_profile node layout overrides' @@ -106,6 +108,7 @@ permissions: - 'enter uw_ct_catalog_item revision log entry' - 'enter uw_ct_contact revision log entry' - 'enter uw_ct_event revision log entry' + - 'enter uw_ct_expand_collapse_group revision log entry' - 'enter uw_ct_news_item revision log entry' - 'enter uw_ct_opportunity revision log entry' - 'enter uw_ct_profile revision log entry' @@ -125,6 +128,9 @@ permissions: - 'override uw_ct_event published option' - 'override uw_ct_event revision option' - 'override uw_ct_event sticky option' + - 'override uw_ct_expand_collapse_group published option' + - 'override uw_ct_expand_collapse_group revision option' + - 'override uw_ct_expand_collapse_group sticky option' - 'override uw_ct_news_item promote to front page option' - 'override uw_ct_news_item published option' - 'override uw_ct_news_item revision option' diff --git a/uw_cfg_common.info.yml b/uw_cfg_common.info.yml index cf8095e5..574beb15 100644 --- a/uw_cfg_common.info.yml +++ b/uw_cfg_common.info.yml @@ -25,7 +25,6 @@ dependencies: - 'drupal:language' - 'drupal:layout_builder' - 'drupal:layout_builder_browser' - - 'drupal:layout_builder_expand_collapse' - 'drupal:layout_builder_modal' - 'drupal:layout_builder_restrictions' - 'drupal:layout_builder_styles' diff --git a/uw_cfg_common.install b/uw_cfg_common.install index 75a23094..58ee4a9a 100644 --- a/uw_cfg_common.install +++ b/uw_cfg_common.install @@ -140,6 +140,13 @@ function uw_cfg_common_install() { 'Site manager', ], ], + 'Expand/Collapse Group' => [ + 'Use content type' => [ + 'Site manager', + 'Content author', + 'Content editor', + ], + ], 'News' => [ 'Use content type' => [ 'Site manager', diff --git a/uw_cfg_common.links.menu.yml b/uw_cfg_common.links.menu.yml index b19fad4d..4d38d8b8 100644 --- a/uw_cfg_common.links.menu.yml +++ b/uw_cfg_common.links.menu.yml @@ -226,6 +226,12 @@ uw_content_management.content_types.event.list_event_types: url: internal:/admin/structure/taxonomy/manage/uw_tax_event_type/overview weight: 0 +uw_content_management.content_types.expand_collapse: + title: 'Expand/collapse group' + parent: uw_content_management.content_types + url: internal:/node/add/uw_ct_expand_collapse_group + weight: 0 + uw_content_management.content_types.news_item: title: 'News item' parent: uw_content_management.content_types -- GitLab