From 8e1bb95c84e94236073ddcf8205cc423e290804a Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Thu, 12 May 2022 12:55:34 +0200 Subject: [PATCH] feat(ui) - funnels - issues filters --- .../components/FunnelIssues/FunnelIssues.tsx | 8 +- .../FunnelIssuesDropdown.tsx | 89 +++++++++++++++++++ .../components/FunnelIssuesDropdown/index.ts | 1 + .../FunnelIssuesSelectedFilters.tsx | 24 +++++ .../FunnelIssuesSelectedFilters/index.ts | 1 + .../app/components/shared/Select/Select.tsx | 36 ++++++-- 6 files changed, 151 insertions(+), 8 deletions(-) create mode 100644 frontend/app/components/Dashboard/components/FunnelIssuesDropdown/FunnelIssuesDropdown.tsx create mode 100644 frontend/app/components/Dashboard/components/FunnelIssuesDropdown/index.ts create mode 100644 frontend/app/components/Dashboard/components/FunnelIssuesSelectedFilters/FunnelIssuesSelectedFilters.tsx create mode 100644 frontend/app/components/Dashboard/components/FunnelIssuesSelectedFilters/index.ts diff --git a/frontend/app/components/Dashboard/components/FunnelIssues/FunnelIssues.tsx b/frontend/app/components/Dashboard/components/FunnelIssues/FunnelIssues.tsx index 9467029b2..7391cf2b7 100644 --- a/frontend/app/components/Dashboard/components/FunnelIssues/FunnelIssues.tsx +++ b/frontend/app/components/Dashboard/components/FunnelIssues/FunnelIssues.tsx @@ -2,6 +2,7 @@ import { useStore } from 'App/mstore'; import { useObserver } from 'mobx-react-lite'; import React, { useEffect } from 'react'; import { NoContent, Loader } from 'UI'; +import FunnelIssuesDropdown from '../FunnelIssuesDropdown'; import FunnelIssuesSort from '../FunnelIssuesSort'; function FunnelIssues(props) { @@ -18,7 +19,12 @@ function FunnelIssues(props) {

Most significant issues identified in this funnel

- +
+
+ +
+ +
(options.map(option => option.value)); + const filteredOptions = options.filter((option: any) => { + return !selectedValues.includes(option.value); + }); + const selectedOptions = options.filter((option: any) => { + return selectedValues.includes(option.value); + }); + + const handleChange = ({ value }: any) => { + toggleSelectedValue(value); + } + + const toggleSelectedValue = (value: string) => { + if (selectedValues.includes(value)) { + setSelectedValues(selectedValues.filter(v => v !== value)); + } else { + setSelectedValues([...selectedValues, value]); + } + } + + return ( +
+