From 484657dd23a6433f8a285a6c12e58fd41966b15a Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Fri, 6 Dec 2024 10:50:00 -0500 Subject: [PATCH 1/8] Initial commit for Resources branch. --- .../custom/yalesites_profile/composer.json | 3 - .../config/sync/block.block.pagetitle.yml | 2 +- .../block_content.type.search_resources.yml | 33 + .../config/sync/block_content.type.tags.yml | 33 + ...block_content.search_resources.default.yml | 121 +++ ...orm_display.block_content.tags.default.yml | 45 + ....entity_form_display.node.page.default.yml | 64 +- ...block_content.search_resources.default.yml | 82 ++ ...iew_display.block_content.tags.default.yml | 22 + ...ore.entity_view_display.node.page.card.yml | 8 + ...ntity_view_display.node.page.condensed.yml | 8 + ....entity_view_display.node.page.default.yml | 45 +- ...ntity_view_display.node.page.list_item.yml | 8 + ...y_view_display.node.page.resource_card.yml | 230 +++++ ...y_view_display.node.page.search_result.yml | 8 + ...e.entity_view_display.node.page.teaser.yml | 8 + ...re.entity_view_mode.node.resource_card.yml | 10 + .../config/sync/core.extension.yml | 1 + ...content.search_resources.field_heading.yml | 24 + ...ck_content.search_resources.field_link.yml | 23 + ...ources.field_popular_resources_heading.yml | 19 + ....search_resources.field_search_display.yml | 21 + ...ch_resources.field_search_form_heading.yml | 19 + ...ck_content.search_resources.field_tags.yml | 29 + ...ck_content.search_resources.field_text.yml | 24 + ...k_content.tags.field_selected_resource.yml | 29 + ...d.block_content.view.field_view_params.yml | 4 +- .../field.field.node.page.field_audience.yml | 29 + .../field.field.node.page.field_category.yml | 2 +- .../field.field.node.page.field_series.yml | 21 + ...ld.field.node.page.field_series_member.yml | 25 + .../sync/field.field.node.page.field_type.yml | 29 + ...ontent.field_popular_resources_heading.yml | 21 + ...age.block_content.field_search_display.yml | 27 + ...lock_content.field_search_form_heading.yml | 21 + ....block_content.field_selected_resource.yml | 20 + ...field.storage.block_content.field_tags.yml | 20 + .../field.storage.node.field_audience.yml | 20 + .../sync/field.storage.node.field_series.yml | 18 + ...field.storage.node.field_series_member.yml | 19 + .../sync/field.storage.node.field_type.yml | 20 + ...uilder_browser_block.explore_resources.yml | 11 + ...ut_builder_browser_block.resource_tags.yml | 11 + .../taxonomy.vocabulary.page_audience.yml | 33 + .../config/sync/taxonomy.vocabulary.type.yml | 33 + ...ws.view.entity_reference_series_member.yml | 286 ++++++ .../sync/views.view.explore_resources.yml | 894 ++++++++++++++++++ .../sync/views.view.popular_resources.yml | 285 ++++++ .../config/sync/views.view.resource_tags.yml | 430 +++++++++ .../sync/ys_resource.resource_config.yml | 4 + .../modules/custom/ys_core/ys_core.module | 2 + .../src/Plugin/Block/PageMetaBlock.php | 20 +- .../templates/ys-page-meta-block.html.twig | 3 +- .../custom/ys_layouts/ys_layouts.module | 1 + .../src/Form/ResourceConfigForm.php | 133 +++ .../custom/ys_resource/src/ResourceConfig.php | 65 ++ .../custom/ys_resource/ys_resource.info.yml | 5 + .../ys_resource/ys_resource.links.menu.yml | 6 + .../custom/ys_resource/ys_resource.module | 33 + .../ys_resource/ys_resource.routing.yml | 7 + .../ys_resource/ys_resource.services.yml | 4 + .../FieldWidget/ViewsBasicDefaultWidget.php | 43 +- .../views/style/ViewsBasicDynamicStyle.php | 1 + .../ys_views_basic/src/ViewsBasicManager.php | 54 +- .../ys_views_basic/ys_views_basic.module | 2 + .../ys_views_basic.services.yml | 2 +- 66 files changed, 3545 insertions(+), 38 deletions(-) create mode 100644 web/profiles/custom/yalesites_profile/config/sync/block_content.type.search_resources.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/block_content.type.tags.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.search_resources.default.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.tags.default.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.search_resources.default.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.tags.default.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.resource_card.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/core.entity_view_mode.node.resource_card.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_heading.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_link.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_popular_resources_heading.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_display.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_form_heading.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_tags.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_text.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.tags.field_selected_resource.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_audience.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series_member.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_type.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_popular_resources_heading.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_display.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_form_heading.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_selected_resource.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_tags.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_audience.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series_member.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_type.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.explore_resources.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.resource_tags.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.page_audience.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.type.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/views.view.entity_reference_series_member.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/views.view.explore_resources.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/views.view.popular_resources.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/views.view.resource_tags.yml create mode 100644 web/profiles/custom/yalesites_profile/config/sync/ys_resource.resource_config.yml create mode 100644 web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/Form/ResourceConfigForm.php create mode 100644 web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/ResourceConfig.php create mode 100644 web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.info.yml create mode 100644 web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.links.menu.yml create mode 100644 web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.module create mode 100644 web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.routing.yml create mode 100644 web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.services.yml diff --git a/web/profiles/custom/yalesites_profile/composer.json b/web/profiles/custom/yalesites_profile/composer.json index 08fc1ea4c9..ab0b2e5174 100644 --- a/web/profiles/custom/yalesites_profile/composer.json +++ b/web/profiles/custom/yalesites_profile/composer.json @@ -166,9 +166,6 @@ "drupal/migrate_plus": { "Allow callback for Url source, and single item Json plugin https://www.drupal.org/project/migrate_plus/issues/3040427": "https://www.drupal.org/files/issues/2023-02-15/3040427-42-migrate_plus_multiple_urls.patch" }, - "drupal/focal_point": { - "Limit image styles on preview page": "https://git.drupalcode.org/project/focal_point/-/merge_requests/27.diff" - }, "drupal/selective_better_exposed_filters": { "Hide form when no options are available:": "patches/selective_better_exposed_filters/selective_better_exposed_filters-3432551.patch" } diff --git a/web/profiles/custom/yalesites_profile/config/sync/block.block.pagetitle.yml b/web/profiles/custom/yalesites_profile/config/sync/block.block.pagetitle.yml index ce91a4d812..f036326766 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/block.block.pagetitle.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/block.block.pagetitle.yml @@ -21,4 +21,4 @@ visibility: request_path: id: request_path negate: false - pages: /search + pages: "/search\r\n/resource-tags-overview/*" diff --git a/web/profiles/custom/yalesites_profile/config/sync/block_content.type.search_resources.yml b/web/profiles/custom/yalesites_profile/config/sync/block_content.type.search_resources.yml new file mode 100644 index 0000000000..603e640e3b --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/block_content.type.search_resources.yml @@ -0,0 +1,33 @@ +uuid: 6186dfa3-22a1-4a67-9b0c-34478ca3db26 +langcode: en +status: true +dependencies: + module: + - entity_redirect +third_party_settings: + entity_redirect: + redirect: + add: + active: 0 + destination: default + url: '' + external: '' + edit: + active: 0 + destination: default + url: '' + external: '' + delete: + active: 0 + destination: default + url: '' + external: '' + anonymous: + active: 0 + destination: default + url: '' + external: '' +id: search_resources +label: 'Search Resources' +revision: 0 +description: '' diff --git a/web/profiles/custom/yalesites_profile/config/sync/block_content.type.tags.yml b/web/profiles/custom/yalesites_profile/config/sync/block_content.type.tags.yml new file mode 100644 index 0000000000..39956d646d --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/block_content.type.tags.yml @@ -0,0 +1,33 @@ +uuid: a69bdfdd-d7d2-4c53-b531-54531018f15d +langcode: en +status: true +dependencies: + module: + - entity_redirect +third_party_settings: + entity_redirect: + redirect: + add: + active: 0 + destination: default + url: '' + external: '' + edit: + active: 0 + destination: default + url: '' + external: '' + delete: + active: 0 + destination: default + url: '' + external: '' + anonymous: + active: 0 + destination: default + url: '' + external: '' +id: tags +label: Tags +revision: 1 +description: 'Block to display tag information about a Resource ' diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.search_resources.default.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.search_resources.default.yml new file mode 100644 index 0000000000..05de4f782f --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.search_resources.default.yml @@ -0,0 +1,121 @@ +uuid: e8c4a310-7ea3-46fa-895d-576467fb076e +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.field.block_content.search_resources.field_heading + - field.field.block_content.search_resources.field_link + - field.field.block_content.search_resources.field_popular_resources_heading + - field.field.block_content.search_resources.field_search_display + - field.field.block_content.search_resources.field_search_form_heading + - field.field.block_content.search_resources.field_tags + - field.field.block_content.search_resources.field_text + module: + - allowed_formats + - hide_revision_field + - linkit + - maxlength + - text +id: block_content.search_resources.default +targetEntityType: block_content +bundle: search_resources +mode: default +content: + field_heading: + type: text_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: + allowed_formats: + hide_help: '1' + hide_guidelines: '1' + maxlength: + maxlength_js: 50 + maxlength_js_label: 'Content recommended length set to @limit characters, remaining: @remaining' + maxlength_js_enforce: false + field_link: + type: linkit + weight: 3 + region: content + settings: + placeholder_url: '' + placeholder_title: '' + linkit_profile: default + linkit_auto_link_text: false + third_party_settings: + maxlength: + maxlength_js: null + maxlength_js_label: 'Content limited to @limit characters, remaining: @remaining' + maxlength_js_enforce: false + field_popular_resources_heading: + type: string_textfield + weight: 7 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_search_display: + type: options_buttons + weight: 4 + region: content + settings: { } + third_party_settings: { } + field_search_form_heading: + type: string_textfield + weight: 6 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete + weight: 5 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + field_text: + type: text_textarea + weight: 2 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: + allowed_formats: + hide_help: '1' + hide_guidelines: '1' + maxlength: + maxlength_js: 500 + maxlength_js_label: 'Content limited to @limit characters, remaining: @remaining' + maxlength_js_enforce: true + info: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + revision_log: + type: hide_revision_field_log_widget + weight: 8 + region: content + settings: + rows: 5 + placeholder: '' + show: true + default: '' + permission_based: false + allow_user_settings: true + third_party_settings: { } +hidden: { } diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.tags.default.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.tags.default.yml new file mode 100644 index 0000000000..f78b98243d --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.block_content.tags.default.yml @@ -0,0 +1,45 @@ +uuid: aec9487e-e4cf-4057-b324-99a12f9215f5 +langcode: en +status: true +dependencies: + config: + - block_content.type.tags + - field.field.block_content.tags.field_selected_resource + module: + - hide_revision_field +id: block_content.tags.default +targetEntityType: block_content +bundle: tags +mode: default +content: + field_selected_resource: + type: entity_reference_autocomplete + weight: 82 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + info: + type: string_textfield + weight: -5 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + revision_log: + type: hide_revision_field_log_widget + weight: 80 + region: content + settings: + rows: 5 + placeholder: '' + show: true + default: '' + permission_based: false + allow_user_settings: true + third_party_settings: { } +hidden: { } diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.node.page.default.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.node.page.default.yml index a6d418b661..527a3a30f2 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.node.page.default.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_form_display.node.page.default.yml @@ -3,14 +3,18 @@ langcode: en status: true dependencies: config: + - field.field.node.page.field_audience - field.field.node.page.field_category - field.field.node.page.field_external_source - field.field.node.page.field_login_required - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member - field.field.node.page.field_tags - field.field.node.page.field_teaser_media - field.field.node.page.field_teaser_text - field.field.node.page.field_teaser_title + - field.field.node.page.field_type - field.field.node.page.layout_builder__layout - node.type.page module: @@ -34,7 +38,7 @@ third_party_settings: label: Teaser region: content parent_name: '' - weight: 3 + weight: 8 format_type: fieldset format_settings: classes: '' @@ -45,10 +49,11 @@ third_party_settings: group_publishing_settings: children: - field_login_required + - sticky label: 'Publishing Settings' region: content parent_name: '' - weight: 8 + weight: 13 format_type: details_sidebar format_settings: classes: '' @@ -64,7 +69,7 @@ third_party_settings: label: 'External Link' region: content parent_name: '' - weight: 10 + weight: 15 format_type: details_sidebar format_settings: classes: '' @@ -79,9 +84,15 @@ targetEntityType: node bundle: page mode: default content: + field_audience: + type: chosen_select + weight: 4 + region: content + settings: { } + third_party_settings: { } field_category: type: chosen_select - weight: 1 + weight: 2 region: content settings: { } third_party_settings: { } @@ -102,15 +113,32 @@ content: third_party_settings: { } field_metatags: type: metatag_firehose - weight: 7 + weight: 12 region: content settings: sidebar: true use_details: true third_party_settings: { } + field_series: + type: boolean_checkbox + weight: 6 + region: content + settings: + display_label: true + third_party_settings: { } + field_series_member: + type: entity_reference_autocomplete + weight: 7 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } field_tags: type: chosen_select - weight: 2 + weight: 3 region: content settings: { } third_party_settings: { } @@ -144,27 +172,40 @@ content: size: 60 placeholder: '' third_party_settings: { } + field_type: + type: chosen_select + weight: 5 + region: content + settings: { } + third_party_settings: { } moderation_state: type: workflow_buttons - weight: 5 + weight: 10 region: content settings: show_current_state: false third_party_settings: { } path: type: path - weight: 4 + weight: 9 region: content settings: { } third_party_settings: { } simple_sitemap: - weight: 11 + weight: 16 region: content settings: { } third_party_settings: { } status: type: boolean_checkbox - weight: 9 + weight: 14 + region: content + settings: + display_label: true + third_party_settings: { } + sticky: + type: boolean_checkbox + weight: 8 region: content settings: display_label: true @@ -178,7 +219,7 @@ content: placeholder: '' third_party_settings: { } url_redirects: - weight: 6 + weight: 11 region: content settings: { } third_party_settings: { } @@ -187,5 +228,4 @@ hidden: layout_builder__layout: true promote: true revision_log: true - sticky: true uid: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.search_resources.default.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.search_resources.default.yml new file mode 100644 index 0000000000..ab19af70e9 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.search_resources.default.yml @@ -0,0 +1,82 @@ +uuid: f848564a-3bba-4e3f-adc6-e52aa7f19344 +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.field.block_content.search_resources.field_heading + - field.field.block_content.search_resources.field_link + - field.field.block_content.search_resources.field_popular_resources_heading + - field.field.block_content.search_resources.field_search_display + - field.field.block_content.search_resources.field_search_form_heading + - field.field.block_content.search_resources.field_tags + - field.field.block_content.search_resources.field_text + module: + - linkit + - options + - text +id: block_content.search_resources.default +targetEntityType: block_content +bundle: search_resources +mode: default +content: + field_heading: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content + field_link: + type: linkit + label: hidden + settings: + trim_length: null + url_only: false + url_plain: false + rel: '0' + target: '0' + linkit_profile: default + third_party_settings: { } + weight: 3 + region: content + field_popular_resources_heading: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 6 + region: content + field_search_display: + type: list_default + label: hidden + settings: { } + third_party_settings: { } + weight: 2 + region: content + field_search_form_heading: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 5 + region: content + field_tags: + type: entity_reference_label + label: hidden + settings: + link: true + third_party_settings: { } + weight: 4 + region: content + field_text: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + region: content +hidden: + search_api_excerpt: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.tags.default.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.tags.default.yml new file mode 100644 index 0000000000..e900a362b4 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.block_content.tags.default.yml @@ -0,0 +1,22 @@ +uuid: 3fd5878c-5140-4749-8fed-56048696b0d2 +langcode: en +status: true +dependencies: + config: + - block_content.type.tags + - field.field.block_content.tags.field_selected_resource +id: block_content.tags.default +targetEntityType: block_content +bundle: tags +mode: default +content: + field_selected_resource: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 1 + region: content +hidden: + search_api_excerpt: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.card.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.card.yml index 61045d25ae..f9b97f0098 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.card.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.card.yml @@ -4,14 +4,18 @@ status: true dependencies: config: - core.entity_view_mode.node.card + - field.field.node.page.field_audience - field.field.node.page.field_category - field.field.node.page.field_external_source - field.field.node.page.field_login_required - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member - field.field.node.page.field_tags - field.field.node.page.field_teaser_media - field.field.node.page.field_teaser_text - field.field.node.page.field_teaser_title + - field.field.node.page.field_type - field.field.node.page.layout_builder__layout - node.type.page module: @@ -86,8 +90,12 @@ content: weight: 1 region: content hidden: + field_audience: true field_login_required: true field_metatags: true + field_series: true + field_series_member: true + field_type: true layout_builder__layout: true links: true search_api_excerpt: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.condensed.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.condensed.yml index eb1cb82ce3..b5169e9f9d 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.condensed.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.condensed.yml @@ -4,14 +4,18 @@ status: true dependencies: config: - core.entity_view_mode.node.condensed + - field.field.node.page.field_audience - field.field.node.page.field_category - field.field.node.page.field_external_source - field.field.node.page.field_login_required - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member - field.field.node.page.field_tags - field.field.node.page.field_teaser_media - field.field.node.page.field_teaser_text - field.field.node.page.field_teaser_title + - field.field.node.page.field_type - field.field.node.page.layout_builder__layout - node.type.page module: @@ -81,13 +85,17 @@ content: weight: 2 region: content hidden: + field_audience: true field_category: true field_login_required: true field_metatags: true + field_series: true + field_series_member: true field_tags: true field_teaser_media: true field_teaser_text: true field_teaser_title: true + field_type: true layout_builder__layout: true links: true search_api_excerpt: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.default.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.default.yml index af82f6c568..a1b2e8fd1e 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.default.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.default.yml @@ -3,14 +3,18 @@ langcode: en status: true dependencies: config: + - field.field.node.page.field_audience - field.field.node.page.field_category - field.field.node.page.field_external_source - field.field.node.page.field_login_required - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member - field.field.node.page.field_tags - field.field.node.page.field_teaser_media - field.field.node.page.field_teaser_text - field.field.node.page.field_teaser_title + - field.field.node.page.field_type - field.field.node.page.layout_builder__layout - node.type.page module: @@ -99,6 +103,11 @@ third_party_settings: - layout_onecol - ys_layout_two_column allowlisted_blocks: + layout_onecol: + all_regions: + 'Lists (Views)': + - 'views_block:popular_resources-block_1' + - 'views_block:resource_tags-block_1' ys_layout_banner: all_regions: 'Inline blocks': @@ -174,7 +183,6 @@ third_party_settings: - Devel - Forms - Help - - 'Lists (Views)' - Menus - System - Webform @@ -224,6 +232,14 @@ content: third_party_settings: { } weight: -20 region: content + field_audience: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 3 + region: content field_external_source: type: link label: above @@ -236,10 +252,37 @@ content: third_party_settings: { } weight: 1 region: content + field_series: + type: boolean + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + weight: 6 + region: content + field_series_member: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 5 + region: content + field_type: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 4 + region: content hidden: field_category: true field_login_required: true field_metatags: true + field_page_type: true field_tags: true field_teaser_media: true field_teaser_text: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.list_item.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.list_item.yml index d9a85409df..e2fe02de90 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.list_item.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.list_item.yml @@ -4,14 +4,18 @@ status: true dependencies: config: - core.entity_view_mode.node.list_item + - field.field.node.page.field_audience - field.field.node.page.field_category - field.field.node.page.field_external_source - field.field.node.page.field_login_required - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member - field.field.node.page.field_tags - field.field.node.page.field_teaser_media - field.field.node.page.field_teaser_text - field.field.node.page.field_teaser_title + - field.field.node.page.field_type - field.field.node.page.layout_builder__layout - node.type.page module: @@ -86,8 +90,12 @@ content: weight: 1 region: content hidden: + field_audience: true field_login_required: true field_metatags: true + field_series: true + field_series_member: true + field_type: true layout_builder__layout: true links: true search_api_excerpt: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.resource_card.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.resource_card.yml new file mode 100644 index 0000000000..e3a7016fff --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.resource_card.yml @@ -0,0 +1,230 @@ +uuid: c331275d-5f28-47c1-937b-bc381688a5df +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.resource_card + - field.field.node.page.field_audience + - field.field.node.page.field_category + - field.field.node.page.field_external_source + - field.field.node.page.field_login_required + - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member + - field.field.node.page.field_tags + - field.field.node.page.field_teaser_media + - field.field.node.page.field_teaser_text + - field.field.node.page.field_teaser_title + - field.field.node.page.field_type + - field.field.node.page.layout_builder__layout + - node.type.page + module: + - layout_builder + - layout_builder_restrictions + - link + - text + - user +third_party_settings: + layout_builder: + enabled: false + allow_custom: false + layout_builder_restrictions: + allowed_block_categories: { } + entity_view_mode_restriction: + allowed_layouts: + - layout_onecol + - ys_layout_two_column + denylisted_blocks: { } + allowlisted_blocks: { } + restricted_categories: { } + entity_view_mode_restriction_by_region: + allowed_layouts: + - layout_onecol + - ys_layout_two_column + allowlisted_blocks: + layout_onecol: + all_regions: + 'Lists (Views)': + - 'views_block:resource_tags-block_1' + ys_layout_banner: + all_regions: + 'Inline blocks': + - 'inline_block:cta_banner' + - 'inline_block:grand_hero' + - 'inline_block:image_banner' + - 'inline_block:content_spotlight' + - 'inline_block:content_spotlight_portrait' + ys_layout_page_meta: + all_regions: + 'YaleSites Layouts': + - page_meta_block + ys_layout_two_column: + content: + 'Custom block types': + - accordion + - button_link + - divider + - image + - pull_quote + - reference_card + - tabs + - text + - video + 'Inline blocks': + - 'inline_block:accordion' + - 'inline_block:button_link' + - 'inline_block:divider' + - 'inline_block:image' + - 'inline_block:pull_quote' + - 'inline_block:reference_card' + - 'inline_block:tabs' + - 'inline_block:text' + - 'inline_block:video' + sidebar: + 'Custom block types': + - text + 'Inline blocks': + - 'inline_block:text' + restricted_categories: + ys_layout_two_column: + sidebar: + - 'Chaos Tools' + - 'Content fields' + - Devel + - Forms + - Help + - 'Lists (Views)' + - Menus + - System + - Webform + - 'YaleSites Core' + - 'YaleSites Layouts' + - 'YaleSites alert' + - core + content: + - 'Chaos Tools' + - 'Content fields' + - Forms + - Help + - 'Lists (Views)' + - Menus + - System + - Webform + - 'YaleSites Core' + - 'YaleSites Layouts' + - 'YaleSites alert' + - core + layout_onecol: + all_regions: + - 'Chaos Tools' + - 'Content fields' + - Devel + - Forms + - Help + - Menus + - System + - Webform + - 'YaleSites Core' + - 'YaleSites Layouts' + - 'YaleSites alert' + - core + ys_layout_banner: + all_regions: + - 'Chaos Tools' + - 'Content fields' + - 'Custom block types' + - Devel + - Forms + - Help + - 'Lists (Views)' + - Menus + - System + - Webform + - 'YaleSites Core' + - 'YaleSites Layouts' + - 'YaleSites alert' + - core + ys_layout_page_meta: + all_regions: + - 'Chaos Tools' + - 'Content fields' + - 'Custom block types' + - Devel + - Forms + - Help + - 'Inline blocks' + - 'Lists (Views)' + - Menus + - System + - Webform + - 'YaleSites Core' + - 'YaleSites alert' + - core +id: node.page.resource_card +targetEntityType: node +bundle: page +mode: resource_card +content: + content_moderation_control: + settings: { } + third_party_settings: { } + weight: 0 + region: content + field_category: + type: entity_reference_label + label: hidden + settings: + link: false + third_party_settings: { } + weight: 4 + region: content + field_external_source: + type: link + label: hidden + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + weight: 3 + region: content + field_series: + type: boolean + label: hidden + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + weight: 5 + region: content + field_teaser_text: + type: text_trimmed + label: hidden + settings: + trim_length: 120 + third_party_settings: { } + weight: 2 + region: content + field_teaser_title: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 1 + region: content +hidden: + field_audience: true + field_login_required: true + field_metatags: true + field_series_member: true + field_tags: true + field_teaser_media: true + field_type: true + layout_builder__layout: true + links: true + search_api_excerpt: true + workflow_buttons: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.search_result.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.search_result.yml index 41a2174cd0..20f6a70f09 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.search_result.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.search_result.yml @@ -4,14 +4,18 @@ status: true dependencies: config: - core.entity_view_mode.node.search_result + - field.field.node.page.field_audience - field.field.node.page.field_category - field.field.node.page.field_external_source - field.field.node.page.field_login_required - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member - field.field.node.page.field_tags - field.field.node.page.field_teaser_media - field.field.node.page.field_teaser_text - field.field.node.page.field_teaser_title + - field.field.node.page.field_type - field.field.node.page.layout_builder__layout - node.type.page module: @@ -63,11 +67,15 @@ content: weight: 1 region: content hidden: + field_audience: true field_category: true field_metatags: true + field_series: true + field_series_member: true field_tags: true field_teaser_media: true field_teaser_title: true + field_type: true layout_builder__layout: true links: true workflow_buttons: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.teaser.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.teaser.yml index 01b3f67a0e..36cbb980bd 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.teaser.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_display.node.page.teaser.yml @@ -4,14 +4,18 @@ status: true dependencies: config: - core.entity_view_mode.node.teaser + - field.field.node.page.field_audience - field.field.node.page.field_category - field.field.node.page.field_external_source - field.field.node.page.field_login_required - field.field.node.page.field_metatags + - field.field.node.page.field_series + - field.field.node.page.field_series_member - field.field.node.page.field_tags - field.field.node.page.field_teaser_media - field.field.node.page.field_teaser_text - field.field.node.page.field_teaser_title + - field.field.node.page.field_type - field.field.node.page.layout_builder__layout - node.type.page module: @@ -32,14 +36,18 @@ content: weight: 0 region: content hidden: + field_audience: true field_category: true field_external_source: true field_login_required: true field_metatags: true + field_series: true + field_series_member: true field_tags: true field_teaser_media: true field_teaser_text: true field_teaser_title: true + field_type: true layout_builder__layout: true search_api_excerpt: true workflow_buttons: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_mode.node.resource_card.yml b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_mode.node.resource_card.yml new file mode 100644 index 0000000000..af3f6a808c --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/core.entity_view_mode.node.resource_card.yml @@ -0,0 +1,10 @@ +uuid: ccf54579-b48c-4c7a-8ff7-c42b837d63dc +langcode: en +status: true +dependencies: + module: + - node +id: node.resource_card +label: 'Resource Card' +targetEntityType: node +cache: true diff --git a/web/profiles/custom/yalesites_profile/config/sync/core.extension.yml b/web/profiles/custom/yalesites_profile/config/sync/core.extension.yml index b0c7709708..871ab28ac3 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/core.extension.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/core.extension.yml @@ -149,6 +149,7 @@ module: ys_localist: 0 ys_mail: 0 ys_node_access: 0 + ys_resource: 0 ys_servicenow: 0 ys_starterkit: 0 ys_toolbar: 0 diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_heading.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_heading.yml new file mode 100644 index 0000000000..9ca11c5e72 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_heading.yml @@ -0,0 +1,24 @@ +uuid: be7465bc-5f09-4802-a851-54d0ea88eb7e +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.storage.block_content.field_heading + - filter.format.heading_html + module: + - text +id: block_content.search_resources.field_heading +field_name: field_heading +entity_type: block_content +bundle: search_resources +label: Heading +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + allowed_formats: + - heading_html +field_type: text diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_link.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_link.yml new file mode 100644 index 0000000000..e0b3265baf --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_link.yml @@ -0,0 +1,23 @@ +uuid: 3c1d0f44-3ec7-498c-8356-7a760d4311e4 +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.storage.block_content.field_link + module: + - link +id: block_content.search_resources.field_link +field_name: field_link +entity_type: block_content +bundle: search_resources +label: 'Full Page Destination Link' +description: 'For more information about linking content, view our resource Linking Content on YaleSites.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + title: 2 + link_type: 1 +field_type: link diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_popular_resources_heading.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_popular_resources_heading.yml new file mode 100644 index 0000000000..4b8a6fa5be --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_popular_resources_heading.yml @@ -0,0 +1,19 @@ +uuid: 2b90fe61-9ceb-4874-a4a7-02c9f7219103 +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.storage.block_content.field_popular_resources_heading +id: block_content.search_resources.field_popular_resources_heading +field_name: field_popular_resources_heading +entity_type: block_content +bundle: search_resources +label: 'Popular Resources Heading' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_display.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_display.yml new file mode 100644 index 0000000000..5fa8a2ae72 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_display.yml @@ -0,0 +1,21 @@ +uuid: f519e910-3c04-46d1-8d89-0a7168486d23 +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.storage.block_content.field_search_display + module: + - options +id: block_content.search_resources.field_search_display +field_name: field_search_display +entity_type: block_content +bundle: search_resources +label: 'Search Display' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_form_heading.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_form_heading.yml new file mode 100644 index 0000000000..7afd3fa3dd --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_search_form_heading.yml @@ -0,0 +1,19 @@ +uuid: d497df1a-60a6-4154-b05c-cbf6fe86f337 +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.storage.block_content.field_search_form_heading +id: block_content.search_resources.field_search_form_heading +field_name: field_search_form_heading +entity_type: block_content +bundle: search_resources +label: 'Search Form Heading' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_tags.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_tags.yml new file mode 100644 index 0000000000..11b47bd8cc --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_tags.yml @@ -0,0 +1,29 @@ +uuid: ea547675-e1fe-4803-8a21-2067c4620412 +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.storage.block_content.field_tags + - taxonomy.vocabulary.tags +id: block_content.search_resources.field_tags +field_name: field_tags +entity_type: block_content +bundle: search_resources +label: 'Page Type Resource' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + tags: tags + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_text.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_text.yml new file mode 100644 index 0000000000..7f2aaca227 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.search_resources.field_text.yml @@ -0,0 +1,24 @@ +uuid: a281e55c-834e-4497-898e-8bc346c7a416 +langcode: en +status: true +dependencies: + config: + - block_content.type.search_resources + - field.storage.block_content.field_text + - filter.format.basic_html + module: + - text +id: block_content.search_resources.field_text +field_name: field_text +entity_type: block_content +bundle: search_resources +label: Subheading +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + allowed_formats: + - basic_html +field_type: text_long diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.tags.field_selected_resource.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.tags.field_selected_resource.yml new file mode 100644 index 0000000000..eafb292bdc --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.tags.field_selected_resource.yml @@ -0,0 +1,29 @@ +uuid: c855643b-6959-4864-9b52-9b21b0c92057 +langcode: en +status: true +dependencies: + config: + - block_content.type.tags + - field.storage.block_content.field_selected_resource + - node.type.page +id: block_content.tags.field_selected_resource +field_name: field_selected_resource +entity_type: block_content +bundle: tags +label: 'Selected Resource' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: + target_bundles: + page: page + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.view.field_view_params.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.view.field_view_params.yml index 31685533d4..224f8c1315 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.view.field_view_params.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.block_content.view.field_view_params.yml @@ -18,8 +18,8 @@ translatable: false default_value: - group_params: - params: '{"view_mode":"card","filters":{"types":["post"],"terms_include":null,"terms_exclude":null,"event_time_period":"future"},"operator":"+","sort_by":null,"display":null,"limit":0}' - params: '{"view_mode":"card","filters":{"types":["post"],"terms_include":null,"terms_exclude":null,"event_time_period":"future"},"field_options":[],"exposed_filter_options":[],"category_filter_label":null,"category_included_terms":null,"operator":"+","sort_by":null,"display":null,"limit":0}' + params: '{"view_mode":"card","filters":{"types":["post"],"terms_include":null,"terms_exclude":null,"event_time_period":"future"},"field_options":[],"exposed_filter_options":[],"category_filter_label":null,"category_included_terms":null,"operator":"+","sort_by":null,"display":null,"limit":0}' + params: '{"view_mode":"card","filters":{"types":["post"],"terms_include":null,"terms_exclude":null,"event_time_period":"future"},"field_options":[],"highlighted_content_label":"","exposed_filter_options":[],"category_filter_label":"","category_included_terms":"","operator":"+","sort_by":null,"display":null,"limit":0,"offset":0}' default_value_callback: '' settings: { } field_type: views_basic_params diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_audience.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_audience.yml new file mode 100644 index 0000000000..6e4fc764a6 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_audience.yml @@ -0,0 +1,29 @@ +uuid: 6f46825e-4502-4eaa-af86-ba12ce501b42 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_audience + - node.type.page + - taxonomy.vocabulary.page_audience +id: node.page.field_audience +field_name: field_audience +entity_type: node +bundle: page +label: Audience +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + page_audience: page_audience + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_category.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_category.yml index b2eb02308c..69cea0e26c 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_category.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_category.yml @@ -11,7 +11,7 @@ field_name: field_category entity_type: node bundle: page label: Category -description: "Categories will autocomplete as you type. Choose from pre-created options only. To add a new category, go to 'Content->Manage Taxonomy->Page Category'." +description: "Categories will autocomplete as you type. Choose from pre-created options only. To add a new category, go to 'Content->Manage Taxonomy->Page Category'.\r\nPlease note that only 3 or less selections will display correctly." required: false translatable: false default_value: { } diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series.yml new file mode 100644 index 0000000000..2501d25693 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series.yml @@ -0,0 +1,21 @@ +uuid: f5371f28-04bb-43f8-b1e9-485163115a9c +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_series + - node.type.page +id: node.page.field_series +field_name: field_series +entity_type: node +bundle: page +label: 'Is this a series?' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series_member.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series_member.yml new file mode 100644 index 0000000000..488de5fb8b --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_series_member.yml @@ -0,0 +1,25 @@ +uuid: 4c4cabda-a27f-47f4-8ece-c7b9452d225e +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_series_member + - node.type.page +id: node.page.field_series_member +field_name: field_series_member +entity_type: node +bundle: page +label: 'Series Member' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: views + handler_settings: + view: + view_name: entity_reference_series_member + display_name: entity_reference_1 + arguments: { } +field_type: entity_reference diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_type.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_type.yml new file mode 100644 index 0000000000..4de2166903 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.node.page.field_type.yml @@ -0,0 +1,29 @@ +uuid: ecdb95bd-3c25-4264-9c11-666a5625eeec +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_type + - node.type.page + - taxonomy.vocabulary.type +id: node.page.field_type +field_name: field_type +entity_type: node +bundle: page +label: Type +description: 'Please note that only 3 or less selections will display correctly.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + type: type + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_popular_resources_heading.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_popular_resources_heading.yml new file mode 100644 index 0000000000..bd12b42043 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_popular_resources_heading.yml @@ -0,0 +1,21 @@ +uuid: 924c70c1-3aff-46a3-9e58-c29e0207dcea +langcode: en +status: true +dependencies: + module: + - block_content +id: block_content.field_popular_resources_heading +field_name: field_popular_resources_heading +entity_type: block_content +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_display.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_display.yml new file mode 100644 index 0000000000..07187eeb79 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_display.yml @@ -0,0 +1,27 @@ +uuid: 9eeec877-9c0a-4af1-93a9-cc45818dffff +langcode: en +status: true +dependencies: + module: + - block_content + - options +id: block_content.field_search_display +field_name: field_search_display +entity_type: block_content +type: list_string +settings: + allowed_values: + - + value: full + label: Full + - + value: compact + label: Compact + allowed_values_function: '' +module: options +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_form_heading.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_form_heading.yml new file mode 100644 index 0000000000..65c29effe3 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_search_form_heading.yml @@ -0,0 +1,21 @@ +uuid: e72daf1f-8042-45b6-ba5d-5e082a30a110 +langcode: en +status: true +dependencies: + module: + - block_content +id: block_content.field_search_form_heading +field_name: field_search_form_heading +entity_type: block_content +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_selected_resource.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_selected_resource.yml new file mode 100644 index 0000000000..045fe2fa4a --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_selected_resource.yml @@ -0,0 +1,20 @@ +uuid: 92bf4bef-ac8e-403a-9671-b65131a12c07 +langcode: en +status: true +dependencies: + module: + - block_content + - node +id: block_content.field_selected_resource +field_name: field_selected_resource +entity_type: block_content +type: entity_reference +settings: + target_type: node +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_tags.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_tags.yml new file mode 100644 index 0000000000..218c932d4a --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.block_content.field_tags.yml @@ -0,0 +1,20 @@ +uuid: 6e916679-2081-43a5-9028-5beda4a4093c +langcode: en +status: true +dependencies: + module: + - block_content + - taxonomy +id: block_content.field_tags +field_name: field_tags +entity_type: block_content +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_audience.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_audience.yml new file mode 100644 index 0000000000..2abb03e9b3 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_audience.yml @@ -0,0 +1,20 @@ +uuid: b09e18f3-1d21-4619-b9dd-6c613f16b218 +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_audience +field_name: field_audience +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series.yml new file mode 100644 index 0000000000..82ba19ad03 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series.yml @@ -0,0 +1,18 @@ +uuid: f626c92a-18b3-4588-afd1-48e39d7f2277 +langcode: en +status: true +dependencies: + module: + - node +id: node.field_series +field_name: field_series +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series_member.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series_member.yml new file mode 100644 index 0000000000..5fd966d4fe --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_series_member.yml @@ -0,0 +1,19 @@ +uuid: 0a64f139-0ee7-4417-8041-2f4f8c665fe0 +langcode: en +status: true +dependencies: + module: + - node +id: node.field_series_member +field_name: field_series_member +entity_type: node +type: entity_reference +settings: + target_type: node +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_type.yml b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_type.yml new file mode 100644 index 0000000000..f714c0660c --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/field.storage.node.field_type.yml @@ -0,0 +1,20 @@ +uuid: ee9e4acf-7973-43e8-96cb-be14e17bd904 +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_type +field_name: field_type +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.explore_resources.yml b/web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.explore_resources.yml new file mode 100644 index 0000000000..db8418321d --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.explore_resources.yml @@ -0,0 +1,11 @@ +uuid: fec2e9de-f549-4b85-9206-9e0d7722bd1c +langcode: en +status: true +dependencies: { } +id: explore_resources +block_id: 'inline_block:search_resources' +category: advanced +label: 'Search Resources' +image_path: '' +image_alt: '' +weight: -100 diff --git a/web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.resource_tags.yml b/web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.resource_tags.yml new file mode 100644 index 0000000000..567b4ebfc8 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/layout_builder_browser.layout_builder_browser_block.resource_tags.yml @@ -0,0 +1,11 @@ +uuid: b90cf842-ff4d-46b4-9e70-45468575d2bb +langcode: en +status: true +dependencies: { } +id: resource_tags +block_id: 'views_block:resource_tags-block_1' +category: advanced +label: 'Resource Tags' +image_path: '' +image_alt: '' +weight: -100 diff --git a/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.page_audience.yml b/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.page_audience.yml new file mode 100644 index 0000000000..80daffd918 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.page_audience.yml @@ -0,0 +1,33 @@ +uuid: 7122ff07-0996-419b-be63-e5b6f9b7c6c4 +langcode: en +status: true +dependencies: + module: + - entity_redirect +third_party_settings: + entity_redirect: + redirect: + anonymous: + active: false + destination: default + url: '' + external: '' + add: + active: false + destination: default + url: '' + external: '' + edit: + active: false + destination: default + url: '' + external: '' + delete: + active: false + destination: default + url: '' + external: '' +name: 'Page Audience' +vid: page_audience +description: '' +weight: 0 diff --git a/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.type.yml b/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.type.yml new file mode 100644 index 0000000000..0dedcd1c45 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.type.yml @@ -0,0 +1,33 @@ +uuid: c7830d5c-4dd7-42d0-a9cc-e598f956d610 +langcode: en +status: true +dependencies: + module: + - entity_redirect +third_party_settings: + entity_redirect: + redirect: + anonymous: + active: false + destination: default + url: '' + external: '' + add: + active: false + destination: default + url: '' + external: '' + edit: + active: false + destination: default + url: '' + external: '' + delete: + active: false + destination: default + url: '' + external: '' +name: Type +vid: type +description: '' +weight: 0 diff --git a/web/profiles/custom/yalesites_profile/config/sync/views.view.entity_reference_series_member.yml b/web/profiles/custom/yalesites_profile/config/sync/views.view.entity_reference_series_member.yml new file mode 100644 index 0000000000..9d9bc696b8 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/views.view.entity_reference_series_member.yml @@ -0,0 +1,286 @@ +uuid: 374f3bde-4bdd-4dc0-aa4c-35202550de77 +langcode: en +status: true +dependencies: + config: + - node.type.page + module: + - node + - user +id: entity_reference_series_member +label: 'Entity reference series member' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: mini + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: second + arguments: { } + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + page: page + field_series_value: + id: field_series_value + table: node__field_series + field: field_series_value + relationship: none + group_type: group + admin_label: '' + plugin_id: boolean + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_series_member_target_id: + id: field_series_member_target_id + table: node__field_series_member + field: field_series_member_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: numeric + operator: empty + value: + min: '' + max: '' + value: '' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + entity_reference_1: + id: entity_reference_1 + display_title: 'Entity Reference' + display_plugin: entity_reference + position: 1 + display_options: + style: + type: entity_reference + options: + search_fields: + title: title + display_extenders: + metatag_display_extender: + metatags: { } + tokenize: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/web/profiles/custom/yalesites_profile/config/sync/views.view.explore_resources.yml b/web/profiles/custom/yalesites_profile/config/sync/views.view.explore_resources.yml new file mode 100644 index 0000000000..ed0564a439 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/views.view.explore_resources.yml @@ -0,0 +1,894 @@ +uuid: a1c5cfe0-06bd-492f-8a22-b92b5abc8f3a +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.resource_card + - field.storage.node.field_tags + - field.storage.node.field_teaser_title + - node.type.page + - taxonomy.vocabulary.page_audience + - taxonomy.vocabulary.page_category + - taxonomy.vocabulary.tags + - taxonomy.vocabulary.type + content: + - 'taxonomy_term:tags:010c498d-9337-46c6-8b43-790d5178b2ad' + module: + - better_exposed_filters + - node + - taxonomy + - user +id: explore_resources +label: 'Explore Resources' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Explore Resources' + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: full + options: + offset: 0 + items_per_page: 15 + total_pages: null + id: 0 + tags: + next: 'Next ›' + previous: '‹ Previous' + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + exposed_form: + type: bef + options: + submit_button: Search + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + text_input_required: 'Select any filter and click on Apply to see results' + text_input_required_format: basic_html + bef: + general: + autosubmit: false + autosubmit_exclude_textfield: false + autosubmit_textfield_delay: 500 + autosubmit_hide: false + input_required: false + allow_secondary: false + secondary_label: 'Advanced options' + secondary_open: false + reset_button_always_show: false + filter: + combine: + plugin_id: default + advanced: + placeholder_text: '' + collapsible: false + is_secondary: false + options_show_only_used: false + options_show_only_used_filtered: false + options_hide_when_empty: false + options_show_items_count: false + field_audience_target_id: + plugin_id: default + advanced: + sort_options: false + rewrite: + filter_rewrite_values: '- Any - | Any Audience' + collapsible: false + is_secondary: false + options_show_only_used: false + options_show_only_used_filtered: false + options_hide_when_empty: false + options_show_items_count: 0 + field_type_target_id: + plugin_id: default + advanced: + sort_options: false + rewrite: + filter_rewrite_values: '- Any - | Any Types' + collapsible: false + is_secondary: false + options_show_only_used: false + options_show_only_used_filtered: false + options_hide_when_empty: false + options_show_items_count: 0 + field_category_target_id: + plugin_id: default + advanced: + sort_options: false + rewrite: + filter_rewrite_values: '- Any - | Any Category' + collapsible: false + is_secondary: false + options_show_only_used: false + options_show_only_used_filtered: false + options_hide_when_empty: false + options_show_items_count: 0 + access: + type: perm + options: + perm: 'access content' + cache: + type: none + options: { } + empty: { } + sorts: { } + arguments: + field_tags_target_id: + id: field_tags_target_id + table: node__field_tags + field: field_tags_target_id + plugin_id: numeric + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + page: page + field_tags_target_id: + id: field_tags_target_id + table: node__field_tags + field: field_tags_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: + - 41 + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: tags + type: textfield + hierarchy: false + limit: true + error_message: true + style: + type: default + options: + row_class: '' + default_row_class: true + uses_fields: true + row: + type: 'entity:node' + options: + relationship: none + view_mode: resource_card + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: + field_tags: + id: field_tags + table: node__field_tags + field: field_tags + relationship: none + group_type: group + admin_label: 'field_tags: Taxonomy term' + plugin_id: standard + required: false + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } + block_1: + id: block_1 + display_title: Full + display_plugin: block + position: 2 + display_options: + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_tags: + id: field_tags + table: node__field_tags + field: field_tags + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_teaser_title: + id: field_teaser_title + table: node__field_teaser_title + field: field_teaser_title + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: field_tags + group_type: group + admin_label: '' + entity_type: taxonomy_term + entity_field: name + plugin_id: term_name + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + sorts: + sticky: + id: sticky + table: node_field_data + field: sticky + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: sticky + plugin_id: standard + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: standard + order: ASC + expose: + label: '' + field_identifier: '' + exposed: false + arguments: + field_tags_target_id: + id: field_tags_target_id + table: node__field_tags + field: field_tags_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: numeric + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: raw + default_argument_options: + index: 0 + use_alias: false + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + page: page + group: 1 + combine: + id: combine + table: views + field: combine + relationship: none + group_type: group + admin_label: '' + plugin_id: combine + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_op + label: '' + description: '' + use_operator: false + operator: combine_op + operator_limit_selection: false + operator_list: { } + identifier: combine + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + contributor: '0' + editor: '0' + site_admin: '0' + platform_admin: '0' + placeholder: 'Search by Topic' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + title: title + field_teaser_title: field_teaser_title + name: name + field_audience_target_id: + id: field_audience_target_id + table: node__field_audience + field: field_audience_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_audience_target_id_op + label: For + description: '' + use_operator: false + operator: field_audience_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_audience_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + contributor: '0' + editor: '0' + site_admin: '0' + platform_admin: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: page_audience + type: select + hierarchy: false + limit: true + error_message: true + field_type_target_id: + id: field_type_target_id + table: node__field_type + field: field_type_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_type_target_id_op + label: Type + description: '' + use_operator: false + operator: field_type_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_type_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + contributor: '0' + editor: '0' + site_admin: '0' + platform_admin: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: type + type: select + hierarchy: false + limit: true + error_message: true + field_category_target_id: + id: field_category_target_id + table: node__field_category + field: field_category_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_category_target_id_op + label: Category + description: '' + use_operator: false + operator: field_category_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_category_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + contributor: '0' + editor: '0' + site_admin: '0' + platform_admin: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: page_category + type: select + hierarchy: false + limit: true + error_message: true + filter_groups: + operator: AND + groups: + 1: AND + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: true + row: + type: 'entity:node' + options: + relationship: none + view_mode: resource_card + defaults: + style: false + row: false + fields: false + sorts: false + arguments: false + filters: false + filter_groups: false + display_description: '' + exposed_block: false + display_extenders: + metatag_display_extender: + metatags: { } + tokenize: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.field_tags' + - 'config:field.storage.node.field_teaser_title' diff --git a/web/profiles/custom/yalesites_profile/config/sync/views.view.popular_resources.yml b/web/profiles/custom/yalesites_profile/config/sync/views.view.popular_resources.yml new file mode 100644 index 0000000000..80ba0d150e --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/views.view.popular_resources.yml @@ -0,0 +1,285 @@ +uuid: c420f5bf-1dbd-46b0-9901-5813cd5e3ad8 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.resource_card + - node.type.page + - taxonomy.vocabulary.tags + module: + - node + - user +id: popular_resources +label: 'Popular Resources' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Popular Resources' + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: some + options: + offset: 0 + items_per_page: 4 + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: second + arguments: + field_tags_target_id: + id: field_tags_target_id + table: node__field_tags + field: field_tags_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: numeric + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: raw + default_argument_options: + index: 0 + use_alias: false + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: true + validate: + type: 'entity:taxonomy_term' + fail: 'not found' + validate_options: + bundles: + tags: tags + access: false + operation: view + multiple: 0 + break_phrase: false + not: false + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + page: page + group: 1 + sticky: + id: sticky + table: node_field_data + field: sticky + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: sticky + plugin_id: boolean + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + style: + type: default + row: + type: 'entity:node' + options: + relationship: none + view_mode: resource_card + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - 'user.node_grants:view' + - user.permissions + tags: { } + block_1: + id: block_1 + display_title: Block + display_plugin: block + position: 1 + display_options: + display_extenders: + metatag_display_extender: + metatags: { } + tokenize: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/web/profiles/custom/yalesites_profile/config/sync/views.view.resource_tags.yml b/web/profiles/custom/yalesites_profile/config/sync/views.view.resource_tags.yml new file mode 100644 index 0000000000..3898774c18 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/views.view.resource_tags.yml @@ -0,0 +1,430 @@ +uuid: b5846236-b779-4af6-91ca-3d9dcf899268 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_audience + - field.storage.node.field_category + - field.storage.node.field_type + - node.type.page + - taxonomy.vocabulary.tags + content: + - 'taxonomy_term:tags:010c498d-9337-46c6-8b43-790d5178b2ad' + module: + - node + - taxonomy + - user +id: resource_tags +label: 'Resource Tags' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: Tags + fields: + field_audience: + id: field_audience + table: node__field_audience + field: field_audience + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Audience + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_type: + id: field_type + table: node__field_type + field: field_type + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_category: + id: field_category + table: node__field_category + field: field_category + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: Category + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + pager: + type: some + options: + offset: 0 + items_per_page: 1 + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: second + arguments: + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: node_nid + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + page: page + field_tags_target_id: + id: field_tags_target_id + table: node__field_tags + field: field_tags_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: + - 41 + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: tags + type: textfield + hierarchy: false + limit: true + error_message: true + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + row: + type: fields + options: + default_field_elements: true + inline: + field_audience: field_audience + field_type: field_type + field_category: field_category + field_tags: field_tags + separator: '' + hide_empty: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.field_audience' + - 'config:field.storage.node.field_category' + - 'config:field.storage.node.field_type' + block_1: + id: block_1 + display_title: Block + display_plugin: block + position: 1 + display_options: + display_extenders: + metatag_display_extender: + metatags: { } + tokenize: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.field_audience' + - 'config:field.storage.node.field_category' + - 'config:field.storage.node.field_type' diff --git a/web/profiles/custom/yalesites_profile/config/sync/ys_resource.resource_config.yml b/web/profiles/custom/yalesites_profile/config/sync/ys_resource.resource_config.yml new file mode 100644 index 0000000000..f68beb1de9 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/config/sync/ys_resource.resource_config.yml @@ -0,0 +1,4 @@ +category_parent_term: '36' +tags_parent_term: '10' +resource_full_page_link: /explore-resources +custom_vocabulary_label: 'Custom type' diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module index 4ee9e0756d..4ab892cb2d 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module @@ -589,6 +589,8 @@ function ys_core_form_views_exposed_form_alter(&$form, FormStateInterface $form_ 'field_category_target_id', 'field_category_target_id_1', 'field_affiliation_target_id', + 'field_audience_target_id', + 'field_type_target_id', 'post_year_filter', ]; // Loop through each specified field and apply Chosen settings if the field diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/src/Plugin/Block/PageMetaBlock.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/src/Plugin/Block/PageMetaBlock.php index db909ea5c5..8b9f853cba 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/src/Plugin/Block/PageMetaBlock.php +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/src/Plugin/Block/PageMetaBlock.php @@ -6,7 +6,9 @@ use Drupal\Core\Controller\TitleResolver; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; +use Drupal\Core\Render\Markup; use Drupal\Core\Routing\RouteMatchInterface; +use Drupal\node\NodeInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RequestStack; @@ -87,16 +89,30 @@ public function build() { $route = $this->routeMatch->getRouteObject(); $request = $this->requestStack->getCurrentRequest(); $page_title = ''; + $page_title_extra = ''; // Get the page title. if ($route) { $page_title = $this->titleResolver->getTitle($request, $route); - }; + $node = $this->routeMatch->getParameter('node'); + if ($node instanceof NodeInterface && $node->getType() == 'page') { + if ($node->hasField('field_series') && $node->get('field_series')->value == 1) { + $page_title = "" . $page_title; + if ($node->hasField('field_series_member') && !empty($node->get('field_series_member')->target_id)) { + $series_member = $node->get('field_series_member')->entity->label(); + $serires_url = $node->get('field_series_member')->entity->toUrl()->toString(); + $series_link = '' . $series_member . ''; + $page_title_extra = "Part of series: " . $series_link . ''; + } + } + } + } return [ '#theme' => 'ys_page_meta_block', - '#page_title' => $page_title, + '#page_title' => Markup::create($page_title), '#page_title_display' => $this->configuration['page_title_display'] ?? '', + '#page_title_extra' => Markup::create($page_title_extra), ]; } diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/templates/ys-page-meta-block.html.twig b/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/templates/ys-page-meta-block.html.twig index c937218c90..2b45724713 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/templates/ys-page-meta-block.html.twig +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/templates/ys-page-meta-block.html.twig @@ -1,5 +1,6 @@ {% include "@molecules/page-title/yds-page-title.twig" with { page_title__heading: page_title, page_title__display: page_title_display, - page_title__additional_classes: page_title_display + page_title__additional_classes: page_title_display, + page_title__extra: page_title_extra } %} diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/ys_layouts.module b/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/ys_layouts.module index b029a58559..60456cc838 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/ys_layouts.module +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_layouts/ys_layouts.module @@ -42,6 +42,7 @@ function ys_layouts_theme($existing, $type, $theme, $path): array { 'variables' => [ 'page_title' => NULL, 'page_title_display' => 'visible', + 'page_title_extra' => NULL, ], ], 'ys_post_meta_block' => [ diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/Form/ResourceConfigForm.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/Form/ResourceConfigForm.php new file mode 100644 index 0000000000..db9265ce89 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/Form/ResourceConfigForm.php @@ -0,0 +1,133 @@ +entityTypeManager = $entity_type_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new self( + $container->get('entity_type.manager') + ); + } + + /** + * {@inheritdoc} + */ + protected function getEditableConfigNames() { + return ['ys_resource.resource_config']; + } + + /** + * {@inheritdoc} + */ + public function getFormId() { + return 'resource_config_form'; + } + + /** + * Builds the configuration form. + */ + public function buildForm(array $form, FormStateInterface $form_state) { + $config = $this->config('ys_resource.resource_config'); + + // Load available terms for Category and Tags vocabularies. + $category_options = $this->getVocabularyTerms('page_category'); + $tags_options = $this->getVocabularyTerms('tags'); + + $form['category_parent_term'] = [ + '#type' => 'select', + '#title' => $this->t('Parent Category Term'), + '#options' => $category_options, + '#default_value' => $config->get('category_parent_term'), + '#description' => $this->t('Select the parent term for Category.'), + '#required' => TRUE, + ]; + + // Tags term reference field. + $form['tags_parent_term'] = [ + '#type' => 'select', + '#title' => $this->t('Parent Tags Term'), + '#options' => $tags_options, + '#default_value' => $config->get('tags_parent_term'), + '#description' => $this->t('Select the parent term for Tags.'), + '#required' => TRUE, + ]; + + $form['resource_full_page_link'] = [ + '#type' => 'linkit', + '#title' => $this->t('Resource Full page link'), + '#default_value' => $config->get('resource_full_page_link'), + '#description' => $this->t('Enter the resource full page link'), + '#required' => TRUE, + '#autocomplete_route_name' => 'linkit.autocomplete', + '#autocomplete_route_parameters' => [ + 'linkit_profile_id' => 'default', + ], + ]; + + $form['custom_vocabulary_label'] = [ + '#type' => 'textfield', + '#required' => FALSE, + '#title' => $this->t('Custom vocabulary label'), + '#default_value' => $config->get('custom_vocabulary_label'), + '#description' => $this->t('Enter the custom vocabulary label'), + ]; + + return parent::buildForm($form, $form_state); + } + + /** + * Fetches terms from a vocabulary. + */ + protected function getVocabularyTerms($vocabulary_id) { + $terms = $this->entityTypeManager->getStorage('taxonomy_term')->loadTree($vocabulary_id); + $options = []; + foreach ($terms as $term) { + $options[$term->tid] = $term->name; + } + return $options; + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $this->configFactory->getEditable('ys_resource.resource_config') + ->set('category_parent_term', $form_state->getValue('category_parent_term')) + ->set('tags_parent_term', $form_state->getValue('tags_parent_term')) + ->set('resource_full_page_link', $form_state->getValue('resource_full_page_link')) + ->set('custom_vocabulary_label', $form_state->getValue('custom_vocabulary_label')) + ->save(); + + parent::submitForm($form, $form_state); + } + +} diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/ResourceConfig.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/ResourceConfig.php new file mode 100644 index 0000000000..fcb7a70899 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/src/ResourceConfig.php @@ -0,0 +1,65 @@ +configFactory = $config_factory->getEditable('ys_resource.resource_config'); + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('config.factory'), + ); + } + + /** + * Gets the configuration for ys_campus_group. + * + * @return \Drupal\Core\Config\ImmutableConfig + * The configuration object. + */ + public function getConfig() { + return $this->configFactory; + } + + /** + * Gets the custom_vocabulary_label configuration for ys_resource. + * + * @return \Drupal\Core\Config\ImmutableConfig + * The configuration object. + */ + public function getCustomVocabularyLabel() { + return $this->configFactory->get('custom_vocabulary_label') ? $this->configFactory->get('custom_vocabulary_label') : $this->t('Type'); + } + +} diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.info.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.info.yml new file mode 100644 index 0000000000..2fbb63c826 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.info.yml @@ -0,0 +1,5 @@ +name: 'YS Resource' +type: module +description: 'Provides Resource Config and form and functionality' +package: YaleSites +core_version_requirement: ^10 diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.links.menu.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.links.menu.yml new file mode 100644 index 0000000000..95453bab8c --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.links.menu.yml @@ -0,0 +1,6 @@ +ys_resource.resource_config: + title: 'Page Content Settings' + description: 'Configure Page content settings' + route_name: ys_resource.resource_config + parent: ys_core.admin_yalesites + weight: 0 diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.module b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.module new file mode 100644 index 0000000000..19cec6aa46 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.module @@ -0,0 +1,33 @@ +id() == 'resource_tags_overview' && $variables['view']->current_display == 'page_1') { + $config = \Drupal::config('ys_resource.resource_config'); + // Pass the variable to the Twig template. + $variables['all_resources_link'] = $config->get('resource_full_page_link'); + } +} + +/** + * Implements hook_views_query_alter(). + */ +function ys_resource_views_query_alter(ViewExecutable $view, QueryPluginBase $query) { + if (($view->id() == 'explore_resources') && $view->current_display == 'block_1') { + $query->addField('node_field_data', 'nid', 'nid', [ + 'function' => 'groupby', + ]); + $query->groupby = ['node_field_data.nid']; + } +} diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.routing.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.routing.yml new file mode 100644 index 0000000000..ed093e2869 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.routing.yml @@ -0,0 +1,7 @@ +ys_resource.resource_config: + path: '/admin/config/yalesites/resource-config' + defaults: + _form: '\Drupal\ys_resource\Form\ResourceConfigForm' + _title: 'Page Content Settings' + requirements: + _permission: 'administer site configuration' diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.services.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.services.yml new file mode 100644 index 0000000000..08907a1604 --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_resource/ys_resource.services.yml @@ -0,0 +1,4 @@ +services: + ys_resource.config: + class: Drupal\ys_resource\ResourceConfig + arguments: ['@config.factory'] diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/Field/FieldWidget/ViewsBasicDefaultWidget.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/Field/FieldWidget/ViewsBasicDefaultWidget.php index 7e16cb70d4..a581e3e761 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/Field/FieldWidget/ViewsBasicDefaultWidget.php +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/Field/FieldWidget/ViewsBasicDefaultWidget.php @@ -10,6 +10,7 @@ use Drupal\Core\Field\WidgetBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; +use Drupal\ys_resource\ResourceConfig; use Drupal\ys_views_basic\ViewsBasicManager; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -33,6 +34,13 @@ class ViewsBasicDefaultWidget extends WidgetBase implements ContainerFactoryPlug */ protected $viewsBasicManager; + /** + * The ys resource manager service. + * + * @var \Drupal\ys_resource\ResourceConfig + */ + protected $resourceConfig; + /** * Constructs a ViewsBasicDefaultWidget object. * @@ -48,6 +56,8 @@ class ViewsBasicDefaultWidget extends WidgetBase implements ContainerFactoryPlug * Any third party settings. * @param \Drupal\ys_views_basic\ViewsBasicManager $views_basic_manager * The ViewsBasic management service. + * @param \Drupal\ys_resource\ResourceConfig $resource_config + * The Ys resource management service. */ public function __construct( $plugin_id, @@ -56,6 +66,7 @@ public function __construct( array $settings, array $third_party_settings, ViewsBasicManager $views_basic_manager, + ResourceConfig $resource_config, ) { parent::__construct( $plugin_id, @@ -65,6 +76,7 @@ public function __construct( $third_party_settings ); $this->viewsBasicManager = $views_basic_manager; + $this->resourceConfig = $resource_config; } /** @@ -82,7 +94,8 @@ public static function create( $configuration['field_definition'], $configuration['settings'], $configuration['third_party_settings'], - $container->get('ys_views_basic.views_basic_manager') + $container->get('ys_views_basic.views_basic_manager'), + $container->get('ys_resource.config') ); } @@ -236,6 +249,10 @@ public function formElement( $showCategoriesLabel = $this->t("Show Affiliations"); } + $isNewForm = FALSE; + if (!empty($formState->getCompleteForm()['#id'])) { + $isNewForm = str_contains($formState->getCompleteForm()['#id'], 'layout-builder-add-block'); + } // Set the default value for 'field_options' to 'show_thumbnail' // when creating a new block. $form['group_user_selection']['entity_and_view_mode']['field_options'] = [ @@ -243,7 +260,8 @@ public function formElement( '#options' => [ 'show_categories' => $showCategoriesLabel, 'show_tags' => $this->t('Show Tags'), - 'show_thumbnail' => $this->t('Show Teaser Image'), + 'show_thumbnail' => $this->t('Show Thumbnail'), + 'highlight_pinned_content' => $this->t('Show Highlight Pinned content'), ], '#title' => $this->t('Field Display Options'), '#tree' => TRUE, @@ -261,12 +279,24 @@ public function formElement( ], ]; + $form['group_user_selection']['entity_and_view_mode']['highlighted_content_label'] = [ + '#type' => 'textfield', + '#title' => $this->t('Highlighted Content Label'), + '#description' => $this->t("Enter a custom label for the HIghlighted text on card."), + '#default_value' => ($items[$delta]->params) ? $this->viewsBasicManager->getDefaultParamValue('highlighted_content_label', $items[$delta]->params) : NULL, + '#states' => [ + 'visible' => [$formSelectors['show_highlight_pinned_content'] => ['checked' => TRUE]], + ], + ]; + $form['group_user_selection']['entity_and_view_mode']['exposed_filter_options'] = [ '#type' => 'checkboxes', '#options' => [ - 'show_search_filter' => $this->t('Show Search'), - 'show_year_filter' => $this->t('Show Year'), - 'show_category_filter' => $this->t('Show Category'), + 'show_search_filter' => $this->t('Show Search Filter'), + 'show_year_filter' => $this->t('Show Year Filter'), + 'show_category_filter' => $this->t('Show Category Filter'), + 'show_audience_filter' => $this->t('Show Audience Filter'), + 'show_type_filter' => $this->t('Show @type Filter', ['@type' => $this->resourceConfig->getCustomVocabularyLabel()]), ], '#title' => $this->t('Exposed Filter Options'), '#tree' => TRUE, @@ -288,7 +318,7 @@ public function formElement( ], ]; - $vocabulary_id = $selectedEntityType === 'profile' + $vocabulary_id = $formSelectors['entity_types'] === 'profile' ? 'affiliation' : $formSelectors['entity_types'] . '_category'; $form['group_user_selection']['entity_and_view_mode']['category_included_terms'] = [ @@ -467,6 +497,7 @@ public function massageFormValues(array $values, array $form, FormStateInterface "event_time_period" => $form['group_user_selection']['entity_specific']['event_time_period']['#value'], ], "field_options" => $form['group_user_selection']['entity_and_view_mode']['field_options']['#value'], + "highlighted_content_label" => $form['group_user_selection']['entity_and_view_mode']['highlighted_content_label']['#value'], "exposed_filter_options" => $form['group_user_selection']['entity_and_view_mode']['exposed_filter_options']['#value'], "category_filter_label" => $form['group_user_selection']['entity_and_view_mode']['category_filter_label']['#value'], "category_included_terms" => $form['group_user_selection']['entity_and_view_mode']['category_included_terms']['#value'], diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/views/style/ViewsBasicDynamicStyle.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/views/style/ViewsBasicDynamicStyle.php index 1dc184d303..09c18c2859 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/views/style/ViewsBasicDynamicStyle.php +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/Plugin/views/style/ViewsBasicDynamicStyle.php @@ -122,6 +122,7 @@ public function render() { 'list_item' => 'list', 'condensed' => 'condensed', 'directory' => 'profile-directory', + 'resource_card' => 'grid', ]; $type = $viewModesMap[$this->view->rowPlugin->options['view_mode']]; diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php index 08cc1a38a2..54c976c091 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php @@ -7,6 +7,7 @@ use Drupal\Core\Entity\EntityDisplayRepository; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\views\Views; +use Drupal\ys_resource\ResourceConfig; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -113,6 +114,11 @@ class ViewsBasicManager extends ControllerBase implements ContainerInjectionInte 'img' => '/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/assets/icons/display-type-condensed.svg', 'img_alt' => 'Icon showing 3 generic list items one on top of the other with no images on the items.', ], + 'resource_card' => [ + 'label' => 'Resource Card', + 'img' => '/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/assets/icons/display-type-condensed.svg', + 'img_alt' => 'Icon showing 3 resource list items.', + ], ], 'sort_by' => [ 'title:ASC' => 'Title - A-Z', @@ -181,16 +187,25 @@ class ViewsBasicManager extends ControllerBase implements ContainerInjectionInte */ protected $termStorage; + /** + * The term storage. + * + * @var \Drupal\ys_resource\ResourceConfig + */ + protected $resourceConfig; + /** * Constructs a new ViewsBasicManager object. */ public function __construct( EntityTypeManagerInterface $entity_type_manager, EntityDisplayRepository $entity_display_repository, + ResourceConfig $resource_config, ) { $this->entityTypeManager = $entity_type_manager; $this->entityDisplayRepository = $entity_display_repository; $this->termStorage = $this->entityTypeManager->getStorage('taxonomy_term'); + $this->resourceConfig = $resource_config; } /** @@ -199,7 +214,8 @@ public function __construct( public static function create(ContainerInterface $container) { return new static( $container->get('entity_type.manager'), - $container->get('entity_display.repository') + $container->get('entity_display.repository'), + $container->get('ys_resource.config') ); } @@ -227,7 +243,6 @@ public function getView($type, $params) { // Set up the view and initial decoded parameters. $paramsDecoded = json_decode($params, TRUE); - /* Events need to have aggregation turned on in the view. Therefore, we * retrieve a special event scaffold view and apply sorting here instead of * the custom sort plugin. @@ -275,10 +290,14 @@ public function getView($type, $params) { self::CONTENT_TYPE_POST, self::CONTENT_TYPE_EVENT => [ 'field_category_target_id_1', 'field_affiliation_target_id', + 'field_audience_target_id', + 'field_type_target_id', ], self::CONTENT_TYPE_PROFILE => [ 'field_category_target_id', 'field_category_target_id_1', + 'field_audience_target_id', + 'field_type_target_id', ], self::CONTENT_TYPE_PAGE => [ 'field_category_target_id', @@ -310,6 +329,8 @@ public function getView($type, $params) { if (!empty($paramsDecoded['category_filter_label'])) { $filters[$category_filter_name]['expose']['label'] = $paramsDecoded['category_filter_label']; } + // Set a custom label for the 'Type' filter if provided. + $filters['field_type_target_id']['expose']['label'] = $this->resourceConfig->getCustomVocabularyLabel(); } else { // Remove all category and affiliation filters if 'show_category_filter' @@ -327,6 +348,18 @@ public function getView($type, $params) { unset($filters['combine']); } + if (!isset($paramsDecoded['exposed_filter_options']['show_audience_filter'])) { + // If the 'show_audience_filter' option is not set, + // remove the 'field_audience_target_id' filter. + unset($filters['field_audience_target_id']); + } + + if (!isset($paramsDecoded['exposed_filter_options']['show_type_filter'])) { + // If the 'show_type_filter' option is not set, + // remove the 'field_type_target_id' filter. + unset($filters['field_type_target_id']); + } + if (!isset($paramsDecoded['exposed_filter_options']['show_year_filter']) || $filterType !== self::CONTENT_TYPE_POST) { // Remove the 'Year' filter if the 'show_year_filter' is not set. unset($filters['post_year_filter']); @@ -412,6 +445,8 @@ public function getView($type, $params) { 'show_categories' => (int) !empty($paramsDecoded['field_options']['show_categories']), 'show_tags' => (int) !empty($paramsDecoded['field_options']['show_tags']), 'show_thumbnail' => (int) $no_field_display_options_saved || !empty($paramsDecoded['field_options']['show_thumbnail']), + 'highlight_pinned_content' => (int) !empty($paramsDecoded['field_options']['highlight_pinned_content']), + 'highlighted_content_label' => (string) !empty($paramsDecoded['highlighted_content_label']) ? strtolower($paramsDecoded['highlighted_content_label']) : 'popular', ]; $view->setArguments( @@ -446,12 +481,12 @@ public function getView($type, $params) { // This ensures that if the options for showing categories, tags, // or thumbnails change, the cache will be invalidated, // and the view will be re-rendered with the new options. - if ($view['#rows'] && $view['#rows']['#rows']) { - foreach ($view['#rows']['#rows'] as &$resultRow) { - $resultRow['#cache']['keys'][] = $field_display_options['show_categories']; - $resultRow['#cache']['keys'][] = $field_display_options['show_tags']; - $resultRow['#cache']['keys'][] = $field_display_options['show_thumbnail']; - } + foreach ($view['#rows']['#rows'] as &$resultRow) { + $resultRow['#cache']['keys'][] = $field_display_options['show_categories']; + $resultRow['#cache']['keys'][] = $field_display_options['show_tags']; + $resultRow['#cache']['keys'][] = $field_display_options['show_thumbnail']; + $resultRow['#cache']['keys'][] = $field_display_options['highlight_pinned_content']; + $resultRow['#cache']['keys'][] = $field_display_options['highlighted_content_label']; } break; @@ -758,6 +793,7 @@ public function getFormSelectors($formState, $form = NULL, $entityValue = NULL) 'view_mode_ajax' => ($form) ? $form['block_form']['group_user_selection']['entity_and_view_mode']['view_mode'] : NULL, 'category_included_terms_ajax' => ($form) ? $form['block_form']['group_user_selection']['entity_and_view_mode']['category_included_terms'] : NULL, 'show_category_filter_selector' => ':input[name="block_form[group_user_selection][entity_and_view_mode][exposed_filter_options][show_category_filter]"]', + 'show_highlight_pinned_content' => ':input[name="block_form[group_user_selection][entity_and_view_mode][field_options][highlight_pinned_content]"]', 'massage_terms_include_array' => [ 'block_form', 'group_user_selection', @@ -811,6 +847,7 @@ public function getFormSelectors($formState, $form = NULL, $entityValue = NULL) 'view_mode_ajax' => ($form) ? $form['settings']['block_form']['group_user_selection']['entity_and_view_mode']['view_mode'] : NULL, 'category_included_terms_ajax' => ($form) ? $form['settings']['block_form']['group_user_selection']['entity_and_view_mode']['category_included_terms'] : NULL, 'show_category_filter_selector' => ':input[name="settings[block_form][group_user_selection][entity_and_view_mode][exposed_filter_options][show_category_filter]"]', + 'show_highlight_pinned_content' => ':input[name="settings[block_form][group_user_selection][entity_and_view_mode][field_options][highlight_pinned_content]"]', 'massage_terms_include_array' => [ 'settings', 'block_form', @@ -877,6 +914,7 @@ public function getFormSelectors($formState, $form = NULL, $entityValue = NULL) 'view_mode_ajax' => ($form) ? $form['group_user_selection']['entity_and_view_mode']['view_mode'] : NULL, 'category_included_terms_ajax' => ($form) ? $form['group_user_selection']['entity_and_view_mode']['category_included_terms'] : NULL, 'show_category_filter_selector' => ':input[name="show_category_filter"]', + 'show_highlight_pinned_content' => ':input[name="highlight_pinned_content"]', 'massage_terms_include_array' => ['terms_include'], 'massage_terms_exclude_array' => ['terms_exclude'], 'sort_by_array' => ['sort_by'], diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.module b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.module index 70ad89fb59..4cc57d9f54 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.module +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.module @@ -100,6 +100,8 @@ function ys_views_basic_views_pre_render(ViewExecutable $view): void { $row->_entity->show_categories = $field_display_options->show_categories; $row->_entity->show_tags = $field_display_options->show_tags; $row->_entity->show_thumbnail = $field_display_options->show_thumbnail; + $row->_entity->highlight_pinned_content = $field_display_options->highlight_pinned_content; + $row->_entity->highlighted_content_label = $field_display_options->highlighted_content_label; } } } diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml index 0a37a9f47d..78ba9814f1 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml @@ -2,7 +2,7 @@ services: # Service for managing views basic plugins. ys_views_basic.views_basic_manager: class: Drupal\ys_views_basic\ViewsBasicManager - arguments: ['@entity_type.manager', '@entity_display.repository'] + arguments: ['@entity_type.manager', '@entity_display.repository', '@ys_resource.config'] ys_views_basic.events_calendar: class: Drupal\ys_views_basic\Service\EventsCalendar From c60242a4daabc997cf9c3ea05cb2eecff335d99c Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Fri, 6 Dec 2024 11:22:46 -0500 Subject: [PATCH 2/8] Temporarily remove dependency until module is enabled. --- .../modules/custom/ys_views_basic/ys_views_basic.services.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml index 78ba9814f1..0a37a9f47d 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml @@ -2,7 +2,7 @@ services: # Service for managing views basic plugins. ys_views_basic.views_basic_manager: class: Drupal\ys_views_basic\ViewsBasicManager - arguments: ['@entity_type.manager', '@entity_display.repository', '@ys_resource.config'] + arguments: ['@entity_type.manager', '@entity_display.repository'] ys_views_basic.events_calendar: class: Drupal\ys_views_basic\Service\EventsCalendar From d88af40ebff22bd42d66b60f96f5927dd91bb7f2 Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Fri, 6 Dec 2024 12:02:05 -0500 Subject: [PATCH 3/8] Adding services back in now the multidev is up. --- .../modules/custom/ys_core/ys_core.services.yml | 2 +- .../modules/custom/ys_views_basic/ys_views_basic.services.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml index 87bee3f664..94c02c60c0 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml @@ -18,7 +18,7 @@ services: # Redirect visitors to external source if set on the node. ys_core.external_source_redirect_subscriber: class: Drupal\ys_core\EventSubscriber\ExternalSourceRedirectSubscriber - arguments: ['@current_route_match'] + arguments: ['@current_route_match', '@ys_campus_group.config'] tags: - { name: 'event_subscriber' } ys_core.moderation_sidebar_controller_alter: diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml index 0a37a9f47d..78ba9814f1 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/ys_views_basic.services.yml @@ -2,7 +2,7 @@ services: # Service for managing views basic plugins. ys_views_basic.views_basic_manager: class: Drupal\ys_views_basic\ViewsBasicManager - arguments: ['@entity_type.manager', '@entity_display.repository'] + arguments: ['@entity_type.manager', '@entity_display.repository', '@ys_resource.config'] ys_views_basic.events_calendar: class: Drupal\ys_views_basic\Service\EventsCalendar From 59f818b910dded0caa6740399e0be5a22b447227 Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Fri, 6 Dec 2024 12:23:22 -0500 Subject: [PATCH 4/8] Missed a CG reference. --- .../modules/custom/ys_core/ys_core.services.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml index 94c02c60c0..87bee3f664 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.services.yml @@ -18,7 +18,7 @@ services: # Redirect visitors to external source if set on the node. ys_core.external_source_redirect_subscriber: class: Drupal\ys_core\EventSubscriber\ExternalSourceRedirectSubscriber - arguments: ['@current_route_match', '@ys_campus_group.config'] + arguments: ['@current_route_match'] tags: - { name: 'event_subscriber' } ys_core.moderation_sidebar_controller_alter: From f3679cec729e10cc286a818c909e591a6c70bb7c Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Fri, 6 Dec 2024 13:12:53 -0500 Subject: [PATCH 5/8] Tweak permissions. --- .../config/sync/user.role.platform_admin.yml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml b/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml index bc661139ee..ac5743f360 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml @@ -27,7 +27,9 @@ dependencies: - block_content.type.quick_links - block_content.type.quote_callout - block_content.type.reference_card + - block_content.type.search_resources - block_content.type.tabs + - block_content.type.tags - block_content.type.text - block_content.type.tiles - block_content.type.video @@ -49,6 +51,8 @@ dependencies: - node.type.profile - taxonomy.vocabulary.affiliation - taxonomy.vocabulary.event_category + - taxonomy.vocabulary.event_source + - taxonomy.vocabulary.page_audience - taxonomy.vocabulary.page_category - taxonomy.vocabulary.post_category - taxonomy.vocabulary.tags @@ -57,6 +61,7 @@ dependencies: module: - block - block_content + - config - content_moderation - contextual - editoria11y @@ -64,6 +69,7 @@ dependencies: - layout_builder - media - menu_admin_per_menu + - migrate_tools - moderation_sidebar - node - override_node_options @@ -79,12 +85,15 @@ dependencies: - ys_alert - ys_core - ys_localist + - ys_resource id: platform_admin label: 'Platform administrator' weight: -5 is_admin: null permissions: + - 'access administration pages' - 'access block library' + - 'access content' - 'access content overview' - 'access contextual links' - 'access files overview' @@ -99,7 +108,10 @@ permissions: - 'administer block types' - 'administer blocks' - 'administer main menu items' + - 'administer migrations' + - 'administer permissions' - 'administer redirects' + - 'administer site configuration' - 'administer users' - 'administer utility-navigation menu items' - 'assign contributor role' @@ -149,9 +161,13 @@ permissions: - 'create quote_callout block content' - 'create reference_card block content' - 'create reusable blocks' + - 'create search_resources block content' - 'create tabs block content' + - 'create tags block content' - 'create terms in affiliation' - 'create terms in event_category' + - 'create terms in event_source' + - 'create terms in page_audience' - 'create terms in page_category' - 'create terms in post_category' - 'create terms in tags' @@ -220,8 +236,10 @@ permissions: - 'delete any quote_callout block content revisions' - 'delete any reference_card block content' - 'delete any reference_card block content revisions' + - 'delete any search_resources block content' - 'delete any tabs block content' - 'delete any tabs block content revisions' + - 'delete any tags block content' - 'delete any text block content' - 'delete any text block content revisions' - 'delete any tiles block content' @@ -285,6 +303,7 @@ permissions: - 'edit any quote_callout block content' - 'edit any reference_card block content' - 'edit any tabs block content' + - 'edit any tags block content' - 'edit any text block content' - 'edit any tiles block content' - 'edit any video block content' @@ -305,9 +324,13 @@ permissions: - 'edit own webform submission' - 'edit terms in affiliation' - 'edit terms in event_category' + - 'edit terms in event_source' + - 'edit terms in page_audience' - 'edit terms in page_category' - 'edit terms in post_category' - 'edit terms in tags' + - 'export configuration' + - 'import configuration' - 'mark as hidden in editoria11y' - 'override all authored by option' - 'override all authored on option' @@ -339,6 +362,7 @@ permissions: - 'revert any quick_links block content revisions' - 'revert any quote_callout block content revisions' - 'revert any reference_card block content revisions' + - 'revert any search_resources block content revisions' - 'revert any tabs block content revisions' - 'revert any text block content revisions' - 'revert any tiles block content revisions' @@ -350,6 +374,7 @@ permissions: - 'revert page revisions' - 'revert post revisions' - 'revert profile revisions' + - 'synchronize configuration' - 'update any media' - 'update media' - 'use editorial transition archive' @@ -401,6 +426,7 @@ permissions: - 'view editoria11y checker' - 'view event revisions' - 'view latest version' + - 'view media' - 'view own unpublished content' - 'view own unpublished media' - 'view own webform submission' @@ -412,3 +438,4 @@ permissions: - 'yalesites manage alerts' - 'yalesites manage localist' - 'yalesites manage settings' + From 29cead94b1b7868dbc50d3ba6dc8b4ba84a0f206 Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Fri, 6 Dec 2024 13:44:43 -0500 Subject: [PATCH 6/8] Another tweak. --- .../yalesites_profile/config/sync/user.role.platform_admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml b/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml index ac5743f360..1f3d9683ad 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml @@ -51,7 +51,6 @@ dependencies: - node.type.profile - taxonomy.vocabulary.affiliation - taxonomy.vocabulary.event_category - - taxonomy.vocabulary.event_source - taxonomy.vocabulary.page_audience - taxonomy.vocabulary.page_category - taxonomy.vocabulary.post_category From f38318bfe06cb4cc3962cb96f7a27f750388eea2 Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Mon, 9 Dec 2024 08:17:13 -0500 Subject: [PATCH 7/8] Missing file. --- .../sync/views.view.views_basic_scaffold.yml | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/web/profiles/custom/yalesites_profile/config/sync/views.view.views_basic_scaffold.yml b/web/profiles/custom/yalesites_profile/config/sync/views.view.views_basic_scaffold.yml index b7304657ea..dbb74fdc16 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/views.view.views_basic_scaffold.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/views.view.views_basic_scaffold.yml @@ -7,8 +7,10 @@ dependencies: - field.storage.node.field_teaser_text - field.storage.node.field_teaser_title - taxonomy.vocabulary.affiliation + - taxonomy.vocabulary.page_audience - taxonomy.vocabulary.page_category - taxonomy.vocabulary.post_category + - taxonomy.vocabulary.type module: - node - taxonomy @@ -739,6 +741,106 @@ display: hierarchy: false limit: true error_message: true + field_audience_target_id: + id: field_audience_target_id + table: node__field_audience + field: field_audience_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_audience_target_id_op + label: Audience + description: '' + use_operator: false + operator: field_audience_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_audience_target_id + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + contributor: '0' + editor: '0' + site_admin: '0' + platform_admin: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: page_audience + type: select + hierarchy: true + limit: true + error_message: true + field_type_target_id: + id: field_type_target_id + table: node__field_type + field: field_type_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_type_target_id_op + label: Type + description: '' + use_operator: false + operator: field_type_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_type_target_id + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + contributor: '0' + editor: '0' + site_admin: '0' + platform_admin: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + vid: type + type: select + hierarchy: true + limit: true + error_message: true filter_groups: operator: AND groups: From 6d0c37e3b85d4dc468454fdef815d4721c6efd12 Mon Sep 17 00:00:00 2001 From: "jeff@ifactory.com" Date: Mon, 9 Dec 2024 16:59:43 -0500 Subject: [PATCH 8/8] Permissions tweak. --- .../yalesites_profile/config/sync/user.role.platform_admin.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml b/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml index 1f3d9683ad..5e07c1405a 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/user.role.platform_admin.yml @@ -165,7 +165,6 @@ permissions: - 'create tags block content' - 'create terms in affiliation' - 'create terms in event_category' - - 'create terms in event_source' - 'create terms in page_audience' - 'create terms in page_category' - 'create terms in post_category' @@ -323,7 +322,6 @@ permissions: - 'edit own webform submission' - 'edit terms in affiliation' - 'edit terms in event_category' - - 'edit terms in event_source' - 'edit terms in page_audience' - 'edit terms in page_category' - 'edit terms in post_category'