From e905da5acc09ab8edba86debbb078618522410ed Mon Sep 17 00:00:00 2001 From: Eric Sizer Date: Fri, 5 Apr 2024 12:09:30 -0400 Subject: [PATCH 1/3] add expand/collapse all button --- .../SearchPage/components/AdvancedFilters.tsx | 72 +++++++++++++++---- 1 file changed, 59 insertions(+), 13 deletions(-) diff --git a/apps/web/src/pages/SearchRequests/SearchPage/components/AdvancedFilters.tsx b/apps/web/src/pages/SearchRequests/SearchPage/components/AdvancedFilters.tsx index 78a0bbe4221..e631b5cd1ab 100644 --- a/apps/web/src/pages/SearchRequests/SearchPage/components/AdvancedFilters.tsx +++ b/apps/web/src/pages/SearchRequests/SearchPage/components/AdvancedFilters.tsx @@ -3,7 +3,7 @@ import { IntlShape, useIntl } from "react-intl"; import { useFormContext } from "react-hook-form"; import isArray from "lodash/isArray"; -import { Accordion, Heading } from "@gc-digital-talent/ui"; +import { Accordion, Button, Heading } from "@gc-digital-talent/ui"; import { Checklist, RadioGroup } from "@gc-digital-talent/forms"; import { getOperationalRequirement, @@ -49,9 +49,16 @@ const getFieldLabel = ( ); }; +const accordionIds = { + educationRequirement: "educationRequirement", + employmentDuration: "employmentDuration", + operationalRequirements: "operationalRequirements", +}; + const AdvancedFilters = () => { const intl = useIntl(); const { watch } = useFormContext(); + const [openFilters, setOpenFilters] = React.useState([]); const [educationRequirement, employmentDuration, operationalRequirements] = watch([ "educationRequirement", @@ -117,21 +124,60 @@ const AdvancedFilters = () => { }), ); + const toggleOpenFilters = () => { + const newOpenFilters = + openFilters.length === 0 ? Object.values(accordionIds) : []; + setOpenFilters(newOpenFilters); + }; + return ( <> - + + {intl.formatMessage({ + defaultMessage: "Advanced filters", + id: "eozWFc", + description: "Title for the additional filters", + })} + + + + - {intl.formatMessage({ - defaultMessage: "Advanced filters", - id: "eozWFc", - description: "Title for the additional filters", - })} - - Date: Mon, 15 Apr 2024 14:17:02 -0400 Subject: [PATCH 2/3] add translations --- apps/web/src/lang/fr.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/web/src/lang/fr.json b/apps/web/src/lang/fr.json index 3eb37bf6eed..d353f7673a1 100644 --- a/apps/web/src/lang/fr.json +++ b/apps/web/src/lang/fr.json @@ -347,6 +347,10 @@ "defaultMessage": "Votre numéro de confirmation est le suivant : {id}", "description": "An application confirmation number" }, + "/voRGj": { + "defaultMessage": "Afficher tous les filtres avancés ", + "description": "Button text to show all advanced filters" + }, "/yOfhq": { "defaultMessage": "Durée de l’emploi ", "description": "Job duration label " @@ -9610,6 +9614,10 @@ "defaultMessage": "À venir!", "description": "Heading for a coming soon section" }, + "q5V/+5": { + "defaultMessage": "Réduire tous les filtres avancés ", + "description": "Button text to hide all advanced filters" + }, "q5rd9x": { "defaultMessage": " Description de l’expérience", "description": "Label displayed on Personal Experience form for experience description input" From 752936fb927a5ce1408e5e8a0e5c2d939c2b5cca Mon Sep 17 00:00:00 2001 From: Eric Sizer Date: Mon, 15 Apr 2024 14:18:29 -0400 Subject: [PATCH 3/3] remove stray spaces in translations --- apps/web/src/lang/fr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/lang/fr.json b/apps/web/src/lang/fr.json index 5a50c3819a1..330a401dc86 100644 --- a/apps/web/src/lang/fr.json +++ b/apps/web/src/lang/fr.json @@ -344,7 +344,7 @@ "description": "An application confirmation number" }, "/voRGj": { - "defaultMessage": "Afficher tous les filtres avancés ", + "defaultMessage": "Afficher tous les filtres avancés", "description": "Button text to show all advanced filters" }, "/yOfhq": { @@ -9643,7 +9643,7 @@ "description": "Heading for a coming soon section" }, "q5V/+5": { - "defaultMessage": "Réduire tous les filtres avancés ", + "defaultMessage": "Réduire tous les filtres avancés", "description": "Button text to hide all advanced filters" }, "q5rd9x": {