diff --git a/conf/cmi/language/fi/views.view.high_school_search.yml b/conf/cmi/language/fi/views.view.high_school_search.yml index 828021e9d..38a823baa 100644 --- a/conf/cmi/language/fi/views.view.high_school_search.yml +++ b/conf/cmi/language/fi/views.view.high_school_search.yml @@ -29,6 +29,10 @@ display: advanced: rewrite: filter_rewrite_values: '- Kaikki - | Kaikki' + high_school_language: + advanced: + rewrite: + filter_rewrite_values: '' block: display_title: Lohko display_options: @@ -42,5 +46,8 @@ display: study_programme_type_filter: expose: label: 'Yleislukio tai aikuislukio' + high_school_language: + expose: + label: Opetuskieli entity_reference: display_title: Entiteettiviittaus diff --git a/conf/cmi/language/sv/views.view.high_school_search.yml b/conf/cmi/language/sv/views.view.high_school_search.yml index 0bbc5c964..181ebd6cb 100644 --- a/conf/cmi/language/sv/views.view.high_school_search.yml +++ b/conf/cmi/language/sv/views.view.high_school_search.yml @@ -22,6 +22,10 @@ display: advanced: rewrite: filter_rewrite_values: '- Alla - | Alla' + high_school_language: + advanced: + rewrite: + filter_rewrite_values: '' block: display_options: filters: @@ -34,3 +38,6 @@ display: study_programme_type_filter: expose: label: 'Allmänt gymnasium eller vuxengymnasium' + high_school_language: + expose: + label: Undervisningsspråk diff --git a/conf/cmi/views.view.high_school_search.yml b/conf/cmi/views.view.high_school_search.yml index f22cc74c6..ae33e55ac 100644 --- a/conf/cmi/views.view.high_school_search.yml +++ b/conf/cmi/views.view.high_school_search.yml @@ -233,6 +233,27 @@ display: is_secondary: false hide_label: false field_classes: '' + high_school_language: + plugin_id: bef + advanced: + sort_options: false + sort_options_method: alphabetical_asc + sort_options_natural: true + rewrite: + filter_rewrite_values: '' + filter_rewrite_values_key: false + collapsible: false + collapsible_disable_automatic_open: false + open_by_default: false + is_secondary: false + hide_label: false + field_classes: '' + select_all_none: false + select_all_none_nested: false + display_inline: false + soft_limit: 0 + soft_limit_label_less: 'Show less' + soft_limit_label_more: 'Show more' access: type: perm options: @@ -509,6 +530,46 @@ display: default_group: All default_group_multiple: { } group_items: { } + high_school_language: + id: high_school_language + table: tpr_unit_field_data + field: high_school_language + relationship: none + group_type: group + admin_label: '' + entity_type: tpr_unit + plugin_id: high_school_language + operator: in + value: { } + group: 2 + exposed: true + expose: + operator_id: high_school_language_op + label: 'Language of instruction' + description: '' + use_operator: false + operator: high_school_language_op + operator_limit_selection: false + operator_list: { } + identifier: language + required: false + remember: false + multiple: true + 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: { } filter_groups: operator: AND groups: @@ -772,6 +833,46 @@ display: default_group: All default_group_multiple: { } group_items: { } + high_school_language: + id: high_school_language + table: tpr_unit_field_data + field: high_school_language + relationship: none + group_type: group + admin_label: '' + entity_type: tpr_unit + plugin_id: high_school_language + operator: in + value: { } + group: 2 + exposed: true + expose: + operator_id: high_school_language_op + label: 'Language of instruction' + description: '' + use_operator: false + operator: high_school_language_op + operator_limit_selection: false + operator_list: { } + identifier: language + required: false + remember: false + multiple: true + 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: { } filter_groups: operator: AND groups: diff --git a/public/modules/custom/helfi_kasko_content/config/schema/helfi_kasko_content.schema.yml b/public/modules/custom/helfi_kasko_content/config/schema/helfi_kasko_content.schema.yml index 1814ce0d0..2f2e4a728 100644 --- a/public/modules/custom/helfi_kasko_content/config/schema/helfi_kasko_content.schema.yml +++ b/public/modules/custom/helfi_kasko_content/config/schema/helfi_kasko_content.schema.yml @@ -27,3 +27,8 @@ views.filter.study_programme_type_filter: type: views.filter.in_operator label: 'Allowed values' +# Schema definition for high school language filter. +views.filter.high_school_language: + type: views.filter.in_operator + label: 'Allowed languages' + diff --git a/public/modules/custom/helfi_kasko_content/helfi_kasko_content.module b/public/modules/custom/helfi_kasko_content/helfi_kasko_content.module index 6fd167a99..3016c6c12 100644 --- a/public/modules/custom/helfi_kasko_content/helfi_kasko_content.module +++ b/public/modules/custom/helfi_kasko_content/helfi_kasko_content.module @@ -290,6 +290,16 @@ function helfi_kasko_content_views_data_alter(array &$data) { 'id' => 'study_programme_type_filter', ], ]; + + $data['tpr_unit_field_data']['high_school_language'] = [ + 'title' => t('High school language'), + 'filter' => [ + 'title' => t('High school language'), + 'help' => 'Filters high school units by language of instruction.', + 'field' => 'id', + 'id' => 'high_school_language', + ], + ]; } /** diff --git a/public/modules/custom/helfi_kasko_content/src/Plugin/views/filter/HighSchoolLanguage.php b/public/modules/custom/helfi_kasko_content/src/Plugin/views/filter/HighSchoolLanguage.php new file mode 100644 index 000000000..b67ab9d36 --- /dev/null +++ b/public/modules/custom/helfi_kasko_content/src/Plugin/views/filter/HighSchoolLanguage.php @@ -0,0 +1,91 @@ + [ + 15061, + 30851, + 30852, + 30853, + 30854, + 30855, + 30858, + 30862, + 30863, + 30864, + 30865, + 73120, + ], + 'sv' => [7051, 6820, 6901], + 'en' => [34442, 30863], + ]; + + /** + * {@inheritdoc} + * + * @codeCoverageIgnore + */ + public function init(ViewExecutable $view, DisplayPluginBase $display, ?array &$options = NULL): void { + parent::init($view, $display, $options); + $this->valueTitle = (string) $this->t('Allowed languages'); + $this->definition['options callback'] = [$this, 'generateOptions']; + } + + /** + * {@inheritdoc} + */ + public function query(): void { + if (empty($this->value)) { + return; + } + + $unitIds = []; + foreach ($this->value as $langcode) { + if (isset(self::LANGUAGE_UNIT_IDS[$langcode])) { + $unitIds = array_merge($unitIds, self::LANGUAGE_UNIT_IDS[$langcode]); + } + } + + if (empty($unitIds)) { + return; + } + + assert($this->query instanceof Sql); + $this->query->addWhere($this->options['group'], 'tpr_unit_field_data.id', $unitIds, 'IN'); + } + + /** + * Generates options. + * + * @return string[] + * Available options for the filter. + */ + public function generateOptions(): array { + return [ + 'fi' => (string) $this->t('Finnish'), + 'sv' => (string) $this->t('Swedish'), + 'en' => (string) $this->t('English'), + ]; + } + +} diff --git a/public/modules/custom/helfi_kasko_content/tests/src/Unit/Plugin/views/filter/HighSchoolLanguageTest.php b/public/modules/custom/helfi_kasko_content/tests/src/Unit/Plugin/views/filter/HighSchoolLanguageTest.php new file mode 100644 index 000000000..d6f209acd --- /dev/null +++ b/public/modules/custom/helfi_kasko_content/tests/src/Unit/Plugin/views/filter/HighSchoolLanguageTest.php @@ -0,0 +1,188 @@ +filter = new HighSchoolLanguage([], 'high_school_language', []); + $this->filter->setStringTranslation($this->getStringTranslationStub()); + } + + /** + * Tests that generateOptions returns the expected language options. + * + * @covers ::generateOptions + */ + public function testGenerateOptions(): void { + $options = $this->filter->generateOptions(); + + $this->assertIsArray($options); + $this->assertArrayHasKey('fi', $options); + $this->assertArrayHasKey('sv', $options); + $this->assertArrayHasKey('en', $options); + $this->assertCount(3, $options); + } + + /** + * Tests query method with Swedish language selected. + * + * @covers ::query + */ + public function testQueryWithSwedish(): void { + $capturedIds = []; + $query = $this->createMock(Sql::class); + $query->expects($this->once()) + ->method('addWhere') + ->with( + $this->anything(), + 'tpr_unit_field_data.id', + $this->callback(function ($ids) use (&$capturedIds) { + $capturedIds = $ids; + return TRUE; + }), + 'IN' + ); + + $this->filter->query = $query; + $this->filter->value = ['sv']; + $this->filter->options['group'] = 1; + $this->filter->query(); + + $this->assertCount(3, $capturedIds); + $this->assertContains(7051, $capturedIds); + $this->assertContains(6820, $capturedIds); + $this->assertContains(6901, $capturedIds); + } + + /** + * Tests query method with English language selected. + * + * @covers ::query + */ + public function testQueryWithEnglish(): void { + $capturedIds = []; + $query = $this->createMock(Sql::class); + $query->expects($this->once()) + ->method('addWhere') + ->with( + $this->anything(), + 'tpr_unit_field_data.id', + $this->callback(function ($ids) use (&$capturedIds) { + $capturedIds = $ids; + return TRUE; + }), + 'IN' + ); + + $this->filter->query = $query; + $this->filter->value = ['en']; + $this->filter->options['group'] = 1; + $this->filter->query(); + + $this->assertCount(2, $capturedIds); + $this->assertContains(34442, $capturedIds); + $this->assertContains(30863, $capturedIds); + } + + /** + * Tests query method with empty value. + * + * @covers ::query + */ + public function testQueryWithEmptyValue(): void { + $query = $this->createMock(Sql::class); + $query->expects($this->never()) + ->method('addWhere'); + + $this->filter->query = $query; + $this->filter->value = []; + $this->assertEmpty($this->filter->value); + $this->filter->query(); + } + + /** + * Tests query method with Finnish language selected. + * + * @covers ::query + */ + public function testQueryWithFinnish(): void { + $capturedIds = []; + $query = $this->createMock(Sql::class); + $query->expects($this->once()) + ->method('addWhere') + ->with( + $this->anything(), + 'tpr_unit_field_data.id', + $this->callback(function ($ids) use (&$capturedIds) { + $capturedIds = $ids; + return TRUE; + }), + 'IN' + ); + + $this->filter->query = $query; + $this->filter->value = ['fi']; + $this->filter->options['group'] = 1; + $this->filter->query(); + + $this->assertCount(12, $capturedIds); + $this->assertContains(15061, $capturedIds); + $this->assertContains(73120, $capturedIds); + } + + /** + * Tests query method with multiple languages selected. + * + * @covers ::query + */ + public function testQueryWithMultipleLanguages(): void { + $capturedIds = []; + $query = $this->createMock(Sql::class); + $query->expects($this->once()) + ->method('addWhere') + ->with( + $this->anything(), + 'tpr_unit_field_data.id', + $this->callback(function ($ids) use (&$capturedIds) { + $capturedIds = $ids; + return TRUE; + }), + 'IN' + ); + + $this->filter->query = $query; + $this->filter->value = ['sv', 'en']; + $this->filter->options['group'] = 1; + $this->filter->query(); + + $this->assertCount(5, $capturedIds); + $this->assertContains(7051, $capturedIds); + $this->assertContains(34442, $capturedIds); + } + +} diff --git a/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css b/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css index 0b6f27f0b..15f2fa28f 100644 --- a/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css +++ b/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css @@ -1 +1 @@ -:root{--breakpoint-xs:320px;--breakpoint-s:576px;--breakpoint-m:768px;--breakpoint-l:992px;--breakpoint-xl:1248px;--container-width-xs:288px;--container-width-s:544px;--container-width-m:720px;--container-width-l:944px;--container-width-xl:1200px;--color-brick:#bd2719;--color-brick-light:#ffeeed;--color-brick-medium-light:#facbc8;--color-brick-dark:#800e04;--color-bus:#0000bf;--color-bus-light:#f0f0ff;--color-bus-medium-light:#ccf;--color-bus-dark:#00005e;--color-coat-of-arms:#0072c6;--color-coat-of-arms-light:#e6f4ff;--color-coat-of-arms-medium-light:#b5daf7;--color-coat-of-arms-dark:#005799;--color-copper:#00d7a7;--color-copper-light:#cffaf1;--color-copper-medium-light:#9ef0de;--color-copper-dark:#00a17d;--color-engel:#ffe977;--color-engel-light:#fff9db;--color-engel-medium-light:#fff3b8;--color-engel-dark:#dbc030;--color-fog:#9fc9eb;--color-fog-light:#e8f3fc;--color-fog-medium-light:#d0e6f7;--color-fog-dark:#72a5cf;--color-gold:#c2a251;--color-gold-light:#f7f2e4;--color-gold-medium-light:#e8d7a7;--color-gold-dark:#9e823c;--color-metro:#fd4f00;--color-metro-light:#ffeee6;--color-metro-medium-light:#ffcab3;--color-metro-dark:#bd2f00;--color-silver:#dedfe1;--color-silver-light:#f7f7f8;--color-silver-medium-light:#efeff0;--color-silver-dark:#b0b8bf;--color-summer:#ffc61e;--color-summer-light:#fff4d4;--color-summer-medium-light:#ffe49c;--color-summer-dark:#cc9200;--color-suomenlinna:#f5a3c7;--color-suomenlinna-light:#fff0f7;--color-suomenlinna-medium-light:#ffdbeb;--color-suomenlinna-dark:#e673a5;--color-tram:#008741;--color-tram-light:#dff7eb;--color-tram-medium-light:#a3e3c2;--color-tram-dark:#006631;--color-focus-outline:#0072c6;--color-black:#000;--color-white:#fff;--color-black-5:#f2f2f2;--color-black-10:#e6e6e6;--color-black-20:#ccc;--color-black-30:#b3b3b3;--color-black-40:#999;--color-black-50:grey;--color-black-60:#666;--color-black-70:#4d4d4d;--color-black-80:#333;--color-black-90:#1a1a1a;--color-error:#b01038;--color-error-light:#f6e2e6;--color-error-dark:#8d0d2d;--color-success:#007a64;--color-success-light:#e2f5f3;--color-success-dark:#006250;--color-alert:#ffda07;--color-alert-light:#fff4b4;--color-alert-dark:#d18200;--color-info:#0062b9;--color-info-light:#e5eff8;--color-info-dark:#004f94;--box-shadow-s:0px 2px 10px 0px rgba(0,0,0,.07);--box-shadow-m:0px 2px 10px 0px rgba(0,0,0,.1);--box-shadow-l:0px 2px 20px 0px rgba(0,0,0,.2);--spacing-layout-2-xs:1rem;--spacing-layout-xs:1.5rem;--spacing-layout-s:2rem;--spacing-layout-m:3rem;--spacing-layout-l:4rem;--spacing-layout-xl:6rem;--spacing-layout-2-xl:8rem;--spacing-4-xs:0.125rem;--spacing-3-xs:0.25rem;--spacing-2-xs:0.5rem;--spacing-xs:0.75rem;--spacing-s:1rem;--spacing-m:1.5rem;--spacing-l:2rem;--spacing-xl:2.5rem;--spacing-2-xl:3.0rem;--spacing-3-xl:3.5rem;--spacing-4-xl:4rem;--spacing-5-xl:4.5rem;--fontsize-heading-xxl:4rem;--fontsize-heading-xl:3rem;--fontsize-heading-xl-mobile:2.5rem;--fontsize-heading-l:2rem;--fontsize-heading-m:1.5rem;--fontsize-heading-s:1.25rem;--fontsize-heading-xs:1.125rem;--fontsize-heading-xxs:1rem;--fontsize-body-s:0.875rem;--fontsize-body-m:1rem;--fontsize-body-l:1.125rem;--fontsize-body-xl:1.25rem;--font-default:HelsinkiGrotesk,Arial,sans-serif;--lineheight-s:1;--lineheight-m:1.2;--lineheight-l:1.5;--lineheight-xl:1.75}@media(min-width:768px){.unit-search--high-school .unit-search__content .views-exposed-form,.unit-search--vocational-school .unit-search__content .views-exposed-form{align-items:flex-end;grid-column-gap:24px;-moz-column-gap:24px;column-gap:24px;display:grid;grid-template-columns:1fr 1fr;grid-row-gap:32px;row-gap:32px}}.unit-search--high-school .unit-search__content .views-exposed-form .form-item,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-item{margin-bottom:32px}@media(min-width:768px){.unit-search--high-school .unit-search__content .views-exposed-form .form-item,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-item{margin-bottom:0;width:100%}}.unit-search--high-school .unit-search__content .views-exposed-form .form-actions,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-actions{grid-area:submit;width:100%}.unit-search--high-school .unit-search__content .views-exposed-form .form-submit,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-submit{max-width:280px;min-width:44px;width:100%}.unit-search--high-school .unit-search__content .views-exposed-form label,.unit-search--vocational-school .unit-search__content .views-exposed-form label{display:block;font-weight:500;margin-bottom:4px}@media(min-width:768px){.unit-search--high-school .unit-search__content .views-exposed-form{grid-template-areas:"filter filter" "filter filter" "submit .";grid-template-rows:auto auto auto}.unit-search--vocational-school .unit-search__content .views-exposed-form{grid-template-areas:"filter ." "submit .";grid-template-rows:auto auto}.unit-search--after-school-activity-search .bef-exposed-form,.unit-search--daycare-search .bef-exposed-form,.unit-search--playground-search .bef-exposed-form{align-items:flex-start;gap:24px;position:relative}}.unit-search--after-school-activity-search .bef-exposed-form>.form-item,.unit-search--daycare-search .bef-exposed-form>.form-item,.unit-search--playground-search .bef-exposed-form>.form-item{margin-bottom:0;margin-top:24px}@media(min-width:768px){.unit-search--after-school-activity-search .bef-exposed-form>.form-item,.unit-search--daycare-search .bef-exposed-form>.form-item,.unit-search--playground-search .bef-exposed-form>.form-item{margin-top:0;width:auto}}.unit-search--after-school-activity-search .bef-exposed-form>.form-item:first-child,.unit-search--daycare-search .bef-exposed-form>.form-item:first-child,.unit-search--playground-search .bef-exposed-form>.form-item:first-child{margin-top:0;width:100%}.unit-search--after-school-activity-search .fieldgroup,.unit-search--daycare-search .fieldgroup,.unit-search--playground-search .fieldgroup{margin-bottom:0;margin-left:0;margin-right:0}.unit-search--after-school-activity-search .fieldgroup .fieldset-legend,.unit-search--daycare-search .fieldgroup .fieldset-legend,.unit-search--playground-search .fieldgroup .fieldset-legend{color:var(--label-color-default);display:block;font-size:1rem;font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:.25rem;margin-bottom:var(--spacing-3-xs)}.unit-search--after-school-activity-search .bef-checkboxes,.unit-search--daycare-search .bef-checkboxes,.unit-search--playground-search .bef-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:flex-start}@media(min-width:768px){.unit-search--after-school-activity-search .bef-checkboxes,.unit-search--daycare-search .bef-checkboxes,.unit-search--playground-search .bef-checkboxes{flex-direction:row;margin-bottom:16px}}.unit-search--after-school-activity-search .bef-checkboxes .form-item,.unit-search--daycare-search .bef-checkboxes .form-item,.unit-search--playground-search .bef-checkboxes .form-item{margin-bottom:0;margin-right:24px;margin-top:16px;width:auto}.unit-search--after-school-activity-search .form-actions,.unit-search--daycare-search .form-actions,.unit-search--playground-search .form-actions{margin-top:16px;width:100%}.unit-search--after-school-activity-search .form-actions .form-submit,.unit-search--daycare-search .form-actions .form-submit,.unit-search--playground-search .form-actions .form-submit{display:inline-flex;margin-top:16px;max-width:280px;min-width:44px;width:100%}.has-navigation .component--unit-search{margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px}@media(min-width:992px){.has-navigation .component--unit-search{margin-left:0;margin-right:0}.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form{margin-left:0}}@media(min-width:1248px){.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form{margin-left:-24px}}@media(min-width:992px){.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-actions,.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-item{margin-bottom:32px;padding-left:0;width:100%}}@media(min-width:1248px){.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-actions,.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-item{margin-bottom:0;padding-left:24px;width:25%}}.comprehensive-school__instruction-language:after{content:", "}.comprehensive-school__instruction-language:last-child:after{content:""}.group-news__links{display:flex;justify-content:flex-start}@media(min-width:768px){.group-news__links{justify-content:flex-end}}.news-archive--group-news{max-width:860px}.news-archive--group-news .unit-search__results{margin-top:32px}.news-archive--group-news .card--news-item{border:1px solid gray}.unit__ontologyword-details h5{margin-bottom:16px}.unit__ontologyword-details__schoolyear{hyphens:auto;word-wrap:break-word;overflow-wrap:break-word;--line-height:1.5;display:block;font-size:1.25rem;font-weight:500;line-height:1.5;line-height:var(--line-height);margin-top:16px;padding-top:16px}@media(min-width:992px){.unit__ontologyword-details__schoolyear{--line-height:1.25;font-size:1.5rem;font-weight:500}}.unit__ontologyword-details__detail-group{--line-height:1.5555555556;font-size:1.125rem;font-weight:700;line-height:1.5555555556;line-height:var(--line-height);margin-bottom:8px;margin-top:24px}@media(min-width:992px){.unit__ontologyword-details__detail-group{--line-height:1.5;font-size:1.25rem;font-weight:700}}.unit__ontologyword-details-row{--line-height:1.5555555556;font-size:1.125rem;font-weight:400;line-height:1.5555555556;line-height:var(--line-height);margin-bottom:16px}.unit__ontologyword-details-row .unit__ontologyword-details-row__label{--line-height:1.5;align-items:flex-start;display:flex;font-size:1rem;font-weight:700;letter-spacing:.0125rem;line-height:1.5;line-height:var(--line-height)}@media(min-width:992px){.unit__ontologyword-details-row .unit__ontologyword-details-row__label{--line-height:1.5555555556;font-size:1.125rem;font-weight:700}} \ No newline at end of file +:root{--breakpoint-xs:320px;--breakpoint-s:576px;--breakpoint-m:768px;--breakpoint-l:992px;--breakpoint-xl:1248px;--container-width-xs:288px;--container-width-s:544px;--container-width-m:720px;--container-width-l:944px;--container-width-xl:1200px;--color-brick:#bd2719;--color-brick-light:#ffeeed;--color-brick-medium-light:#facbc8;--color-brick-dark:#800e04;--color-bus:#0000bf;--color-bus-light:#f0f0ff;--color-bus-medium-light:#ccf;--color-bus-dark:#00005e;--color-coat-of-arms:#0072c6;--color-coat-of-arms-light:#e6f4ff;--color-coat-of-arms-medium-light:#b5daf7;--color-coat-of-arms-dark:#005799;--color-copper:#00d7a7;--color-copper-light:#cffaf1;--color-copper-medium-light:#9ef0de;--color-copper-dark:#00a17d;--color-engel:#ffe977;--color-engel-light:#fff9db;--color-engel-medium-light:#fff3b8;--color-engel-dark:#dbc030;--color-fog:#9fc9eb;--color-fog-light:#e8f3fc;--color-fog-medium-light:#d0e6f7;--color-fog-dark:#72a5cf;--color-gold:#c2a251;--color-gold-light:#f7f2e4;--color-gold-medium-light:#e8d7a7;--color-gold-dark:#9e823c;--color-metro:#fd4f00;--color-metro-light:#ffeee6;--color-metro-medium-light:#ffcab3;--color-metro-dark:#bd2f00;--color-silver:#dedfe1;--color-silver-light:#f7f7f8;--color-silver-medium-light:#efeff0;--color-silver-dark:#b0b8bf;--color-summer:#ffc61e;--color-summer-light:#fff4d4;--color-summer-medium-light:#ffe49c;--color-summer-dark:#cc9200;--color-suomenlinna:#f5a3c7;--color-suomenlinna-light:#fff0f7;--color-suomenlinna-medium-light:#ffdbeb;--color-suomenlinna-dark:#e673a5;--color-tram:#008741;--color-tram-light:#dff7eb;--color-tram-medium-light:#a3e3c2;--color-tram-dark:#006631;--color-focus-outline:#0072c6;--color-black:#000;--color-white:#fff;--color-black-5:#f2f2f2;--color-black-10:#e6e6e6;--color-black-20:#ccc;--color-black-30:#b3b3b3;--color-black-40:#999;--color-black-50:grey;--color-black-60:#666;--color-black-70:#4d4d4d;--color-black-80:#333;--color-black-90:#1a1a1a;--color-error:#b01038;--color-error-light:#f6e2e6;--color-error-dark:#8d0d2d;--color-success:#007a64;--color-success-light:#e2f5f3;--color-success-dark:#006250;--color-alert:#ffda07;--color-alert-light:#fff4b4;--color-alert-dark:#d18200;--color-info:#0062b9;--color-info-light:#e5eff8;--color-info-dark:#004f94;--box-shadow-s:0px 2px 10px 0px rgba(0,0,0,.07);--box-shadow-m:0px 2px 10px 0px rgba(0,0,0,.1);--box-shadow-l:0px 2px 20px 0px rgba(0,0,0,.2);--spacing-layout-2-xs:1rem;--spacing-layout-xs:1.5rem;--spacing-layout-s:2rem;--spacing-layout-m:3rem;--spacing-layout-l:4rem;--spacing-layout-xl:6rem;--spacing-layout-2-xl:8rem;--spacing-4-xs:0.125rem;--spacing-3-xs:0.25rem;--spacing-2-xs:0.5rem;--spacing-xs:0.75rem;--spacing-s:1rem;--spacing-m:1.5rem;--spacing-l:2rem;--spacing-xl:2.5rem;--spacing-2-xl:3.0rem;--spacing-3-xl:3.5rem;--spacing-4-xl:4rem;--spacing-5-xl:4.5rem;--fontsize-heading-xxl:4rem;--fontsize-heading-xl:3rem;--fontsize-heading-xl-mobile:2.5rem;--fontsize-heading-l:2rem;--fontsize-heading-m:1.5rem;--fontsize-heading-s:1.25rem;--fontsize-heading-xs:1.125rem;--fontsize-heading-xxs:1rem;--fontsize-body-s:0.875rem;--fontsize-body-m:1rem;--fontsize-body-l:1.125rem;--fontsize-body-xl:1.25rem;--font-default:HelsinkiGrotesk,Arial,sans-serif;--lineheight-s:1;--lineheight-m:1.2;--lineheight-l:1.5;--lineheight-xl:1.75}@media(min-width:768px){.unit-search--high-school .unit-search__content .views-exposed-form,.unit-search--vocational-school .unit-search__content .views-exposed-form{align-items:flex-end;grid-column-gap:24px;-moz-column-gap:24px;column-gap:24px;display:grid;grid-template-columns:1fr 1fr;grid-row-gap:32px;row-gap:32px}}.unit-search--high-school .unit-search__content .views-exposed-form .form-item,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-item{margin-bottom:32px}@media(min-width:768px){.unit-search--high-school .unit-search__content .views-exposed-form .form-item,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-item{margin-bottom:0;width:100%}}.unit-search--high-school .unit-search__content .views-exposed-form .form-actions,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-actions{grid-area:submit;width:100%}.unit-search--high-school .unit-search__content .views-exposed-form .form-submit,.unit-search--vocational-school .unit-search__content .views-exposed-form .form-submit{max-width:280px;min-width:44px;width:100%}.unit-search--high-school .unit-search__content .views-exposed-form label,.unit-search--vocational-school .unit-search__content .views-exposed-form label{display:block;font-weight:500;margin-bottom:4px}@media(min-width:768px){.unit-search--high-school .unit-search__content .views-exposed-form{grid-template-areas:"filter filter" "filter filter" "submit .";grid-template-rows:auto auto auto}.unit-search--vocational-school .unit-search__content .views-exposed-form{grid-template-areas:"filter ." "submit .";grid-template-rows:auto auto}.unit-search--after-school-activity-search .bef-exposed-form,.unit-search--daycare-search .bef-exposed-form,.unit-search--high-school .bef-exposed-form,.unit-search--playground-search .bef-exposed-form{align-items:flex-start;gap:24px;position:relative}}.unit-search--after-school-activity-search .bef-exposed-form>.form-item,.unit-search--daycare-search .bef-exposed-form>.form-item,.unit-search--high-school .bef-exposed-form>.form-item,.unit-search--playground-search .bef-exposed-form>.form-item{margin-bottom:0;margin-top:24px}@media(min-width:768px){.unit-search--after-school-activity-search .bef-exposed-form>.form-item,.unit-search--daycare-search .bef-exposed-form>.form-item,.unit-search--high-school .bef-exposed-form>.form-item,.unit-search--playground-search .bef-exposed-form>.form-item{margin-top:0;width:auto}}.unit-search--after-school-activity-search .bef-exposed-form>.form-item:first-child,.unit-search--daycare-search .bef-exposed-form>.form-item:first-child,.unit-search--high-school .bef-exposed-form>.form-item:first-child,.unit-search--playground-search .bef-exposed-form>.form-item:first-child{margin-top:0;width:100%}.unit-search--after-school-activity-search .fieldgroup,.unit-search--daycare-search .fieldgroup,.unit-search--high-school .fieldgroup,.unit-search--playground-search .fieldgroup{margin-bottom:0;margin-left:0;margin-right:0}.unit-search--after-school-activity-search .fieldgroup .fieldset-legend,.unit-search--daycare-search .fieldgroup .fieldset-legend,.unit-search--high-school .fieldgroup .fieldset-legend,.unit-search--playground-search .fieldgroup .fieldset-legend{color:var(--label-color-default);display:block;font-size:1rem;font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:.25rem;margin-bottom:var(--spacing-3-xs)}.unit-search--after-school-activity-search .bef-checkboxes,.unit-search--daycare-search .bef-checkboxes,.unit-search--high-school .bef-checkboxes,.unit-search--playground-search .bef-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:flex-start}@media(min-width:768px){.unit-search--after-school-activity-search .bef-checkboxes,.unit-search--daycare-search .bef-checkboxes,.unit-search--high-school .bef-checkboxes,.unit-search--playground-search .bef-checkboxes{flex-direction:row;margin-bottom:16px}}.unit-search--after-school-activity-search .bef-checkboxes .form-item,.unit-search--daycare-search .bef-checkboxes .form-item,.unit-search--high-school .bef-checkboxes .form-item,.unit-search--playground-search .bef-checkboxes .form-item{margin-bottom:0;margin-right:24px;margin-top:16px;width:auto}.unit-search--after-school-activity-search .form-actions,.unit-search--daycare-search .form-actions,.unit-search--high-school .form-actions,.unit-search--playground-search .form-actions{margin-top:16px;width:100%}.unit-search--after-school-activity-search .form-actions .form-submit,.unit-search--daycare-search .form-actions .form-submit,.unit-search--high-school .form-actions .form-submit,.unit-search--playground-search .form-actions .form-submit{display:inline-flex;margin-top:16px;max-width:280px;min-width:44px;width:100%}.unit-search--high-school .views-exposed-form .bef-checkboxes .form-item{width:auto}.has-navigation .component--unit-search{margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px}@media(min-width:992px){.has-navigation .component--unit-search{margin-left:0;margin-right:0}.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form{margin-left:0}}@media(min-width:1248px){.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form{margin-left:-24px}}@media(min-width:992px){.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-actions,.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-item{margin-bottom:32px;padding-left:0;width:100%}}@media(min-width:1248px){.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-actions,.has-sidebar .components--upper .unit-search--high-school .unit-search__content .views-exposed-form .form-item{margin-bottom:0;padding-left:24px;width:25%}}.comprehensive-school__instruction-language:after{content:", "}.comprehensive-school__instruction-language:last-child:after{content:""}.group-news__links{display:flex;justify-content:flex-start}@media(min-width:768px){.group-news__links{justify-content:flex-end}}.news-archive--group-news{max-width:860px}.news-archive--group-news .unit-search__results{margin-top:32px}.news-archive--group-news .card--news-item{border:1px solid gray}.unit__ontologyword-details h5{margin-bottom:16px}.unit__ontologyword-details__schoolyear{hyphens:auto;word-wrap:break-word;overflow-wrap:break-word;--line-height:1.5;display:block;font-size:1.25rem;font-weight:500;line-height:1.5;line-height:var(--line-height);margin-top:16px;padding-top:16px}@media(min-width:992px){.unit__ontologyword-details__schoolyear{--line-height:1.25;font-size:1.5rem;font-weight:500}}.unit__ontologyword-details__detail-group{--line-height:1.5555555556;font-size:1.125rem;font-weight:700;line-height:1.5555555556;line-height:var(--line-height);margin-bottom:8px;margin-top:24px}@media(min-width:992px){.unit__ontologyword-details__detail-group{--line-height:1.5;font-size:1.25rem;font-weight:700}}.unit__ontologyword-details-row{--line-height:1.5555555556;font-size:1.125rem;font-weight:400;line-height:1.5555555556;line-height:var(--line-height);margin-bottom:16px}.unit__ontologyword-details-row .unit__ontologyword-details-row__label{--line-height:1.5;align-items:flex-start;display:flex;font-size:1rem;font-weight:700;letter-spacing:.0125rem;line-height:1.5;line-height:var(--line-height)}@media(min-width:992px){.unit__ontologyword-details-row .unit__ontologyword-details-row__label{--line-height:1.5555555556;font-size:1.125rem;font-weight:700}} \ No newline at end of file diff --git a/public/themes/custom/hdbt_subtheme/src/scss/06-components/paragraphs/_unit-search-variants.scss b/public/themes/custom/hdbt_subtheme/src/scss/06-components/paragraphs/_unit-search-variants.scss index d0fff9054..e9126279a 100644 --- a/public/themes/custom/hdbt_subtheme/src/scss/06-components/paragraphs/_unit-search-variants.scss +++ b/public/themes/custom/hdbt_subtheme/src/scss/06-components/paragraphs/_unit-search-variants.scss @@ -57,7 +57,8 @@ .unit-search--daycare-search, .unit-search--playground-search, -.unit-search--after-school-activity-search { +.unit-search--after-school-activity-search, +.unit-search--high-school { // Daycare and playground search filters .bef-exposed-form { @include breakpoint($breakpoint-m) { @@ -134,6 +135,10 @@ } } +.unit-search--high-school .views-exposed-form .bef-checkboxes .form-item { + width: auto; +} + .has-navigation .component--unit-search { margin-left: -$spacing-double; margin-right: -$spacing-double;