From 0543e79e9f38163f44dceb68e569f071719e2b07 Mon Sep 17 00:00:00 2001 From: "Jaspal.Singh-AOT" <163812444+jaspalsingh-aot@users.noreply.github.com> Date: Wed, 8 May 2024 14:15:27 -0700 Subject: [PATCH] remove unused code. --- .../app/features/site/dto/SiteFilterConfig.ts | 11 +++------- .../site/filters/SiteFilterForm.test.jsx | 3 +-- .../features/site/filters/SiteFilterForm.tsx | 21 ++++++++++--------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/frontend/Site/src/app/features/site/dto/SiteFilterConfig.ts b/frontend/Site/src/app/features/site/dto/SiteFilterConfig.ts index 66da4804..fff6798e 100644 --- a/frontend/Site/src/app/features/site/dto/SiteFilterConfig.ts +++ b/frontend/Site/src/app/features/site/dto/SiteFilterConfig.ts @@ -1,9 +1,4 @@ -interface DropdownKeyValuePair { - key :string, - value: string -} - -export interface FormField { +export interface IFormField { type: 'text' | 'dropdown' | 'date' | 'group'; label: string; placeholder?: string; @@ -11,7 +6,7 @@ export interface FormField { allowNumbersOnly?: boolean; options?: {key :string, value: string}[]; value: any; - children?: FormField[]; + children?: IFormField[]; validation?: { required?: boolean; minLength?: number; @@ -22,7 +17,7 @@ export interface FormField { } -export const formRows: FormField[][] = [ +export const formRows: IFormField[][] = [ [ { type: 'text', diff --git a/frontend/Site/src/app/features/site/filters/SiteFilterForm.test.jsx b/frontend/Site/src/app/features/site/filters/SiteFilterForm.test.jsx index ce5d8f10..bc7a0430 100644 --- a/frontend/Site/src/app/features/site/filters/SiteFilterForm.test.jsx +++ b/frontend/Site/src/app/features/site/filters/SiteFilterForm.test.jsx @@ -1,5 +1,4 @@ -import React from 'react'; -import { render, fireEvent, waitFor, getByTestId } from '@testing-library/react'; +import { render, fireEvent } from '@testing-library/react'; import SiteFilterForm from './SiteFilterForm'; import { Provider } from 'react-redux'; import configureStore from 'redux-mock-store'; diff --git a/frontend/Site/src/app/features/site/filters/SiteFilterForm.tsx b/frontend/Site/src/app/features/site/filters/SiteFilterForm.tsx index be3c56f1..7d4615c1 100644 --- a/frontend/Site/src/app/features/site/filters/SiteFilterForm.tsx +++ b/frontend/Site/src/app/features/site/filters/SiteFilterForm.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react" import { DateRangePicker } from 'rsuite'; import { format } from 'date-fns'; -import { formRows, FormField } from '../dto/SiteFilterConfig'; +import { formRows, IFormField } from '../dto/SiteFilterConfig'; import './SiteFilterForm.css'; import { CalendarIcon, DropdownIcon, XmarkIcon } from "../../../components/common/icon"; import 'rsuite/DateRangePicker/styles/index.css'; @@ -10,7 +10,7 @@ import { AppDispatch } from "../../../Store"; import { fetchSites } from "../dto/SiteSlice"; -interface InputProps extends FormField { +interface InputProps extends IFormField { children?: InputProps[]; onChange: (value: any) => void; } @@ -204,7 +204,7 @@ const SiteFilterForm : React.FC = ({cancelSearchFilter}) => { const dispatch = useDispatch(); const sites = useSelector((state:any) => state.sites); const [formData, setFormData] = useState<{ [key: string]: any | [Date, Date] }>({}); - const [selectedFilters, setSelectedFilters] = useState<{ key: any; value: any }[]>([]); + const [selectedFilters, setSelectedFilters] = useState<{ key: any; value: any, label: string }[]>([]); const formatDateRange = (range: [Date, Date]) => { const [startDate, endDate] = range; @@ -223,26 +223,27 @@ const SiteFilterForm : React.FC = ({cancelSearchFilter}) => { const handleFormSubmit = (event: React.FormEvent) => { event.preventDefault(); const filteredFormData: { [key: string]: string } = {}; - const filters: { key: string, value: string }[] = []; - + const filters: { key: string, value: string, label: string }[] = []; + // Filter out form data with non-empty values and construct filteredFormData and filters for (const [key, value] of Object.entries(formData)) { + let currLabel = formRows && formRows.flatMap(row => row).find(row => row.graphQLPropertyName === key); if(key === 'whenCreated' || key === 'whenUpdated' ) { let dateRangeValue = formatDateRange(value); filteredFormData[key] = dateRangeValue - filters.push({ key, value: dateRangeValue }); + filters.push({ key, value: dateRangeValue, label: currLabel?.label ?? '' }); } else if (value.trim() !== '') { filteredFormData[key] = value; - filters.push({ key, value }); + filters.push({ key, value, label: currLabel?.label ?? '' }); } } - // show and format pill. if(filters.length !== 0) { + console.log(filters); dispatch(fetchSites({searchParam: sites.searchQuery, filter: filteredFormData})); setSelectedFilters(filters); @@ -337,7 +338,7 @@ const SiteFilterForm : React.FC = ({cancelSearchFilter}) => { ))} -
+
@@ -356,7 +357,7 @@ const SiteFilterForm : React.FC = ({cancelSearchFilter}) => {
{selectedFilters.map((filter, index) => (
- {filter.value} + {filter && `${filter.label} : ${filter.value}`}
handleRemoveFilter(filter)}>
))}