Feature/update datatable filter
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { Box, Button, Drawer, styled } from "@mui/material";
|
||||
import { Form, Formik } from "formik";
|
||||
import { Form, Formik, getIn } from "formik";
|
||||
import useTableSetting from "@/lib/hooks/useTableSetting";
|
||||
import { useEffect, useState } from "react";
|
||||
import FilterHeader from "@/core/components/DataTable/filter/FilterHeader";
|
||||
@@ -110,6 +110,9 @@ function FilterBody({ columns, drawerState, setDrawerState, user_id, page_name,
|
||||
filterParameters={values[column.id]}
|
||||
handleChange={handleChange}
|
||||
handleBlur={handleBlur}
|
||||
dependencyFieldValue={
|
||||
column.dependencyId ? getIn(values, column.dependencyId) : null
|
||||
}
|
||||
setFieldValue={setFieldValue}
|
||||
resetForm={resetForm}
|
||||
errors={errors}
|
||||
|
||||
@@ -22,6 +22,7 @@ function FilterBodyField({
|
||||
filterParameters,
|
||||
handleChange,
|
||||
handleBlur,
|
||||
dependencyFieldValue,
|
||||
setFieldValue,
|
||||
errors,
|
||||
touched,
|
||||
@@ -33,7 +34,6 @@ function FilterBodyField({
|
||||
const handleOpenFilterBox = (event) => {
|
||||
setAnchorEl(event.currentTarget);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
{filterParameters.datatype === "numeric" && filterParameters.filterFn === "between" ? (
|
||||
@@ -47,12 +47,11 @@ function FilterBodyField({
|
||||
errors={errors}
|
||||
touched={touched}
|
||||
/>
|
||||
) : filterParameters.datatype === "numeric" &&
|
||||
filterParameters.filterFn === "equals" &&
|
||||
Array.isArray(column.columnSelectOption) ? (
|
||||
) : filterParameters.datatype === "numeric" && filterParameters.filterFn === "equals" ? (
|
||||
<CustomSelect
|
||||
column={column}
|
||||
filterParameters={filterParameters}
|
||||
dependencyFieldValue={dependencyFieldValue}
|
||||
setFieldValue={setFieldValue}
|
||||
defaultFilterTranslation={defaultFilterTranslation}
|
||||
handleOpenFilterBox={handleOpenFilterBox}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
import { FormControl, FormHelperText, InputLabel, MenuItem, OutlinedInput, Select, Typography } from "@mui/material";
|
||||
|
||||
function CustomSelect({ column, filterParameters, defaultFilterTranslation, setFieldValue }) {
|
||||
const columnSelectOption = column.columnSelectOption;
|
||||
function CustomSelect({ column, dependencyFieldValue, filterParameters, defaultFilterTranslation, setFieldValue }) {
|
||||
const columnSelectOption = column.columnSelectOption(dependencyFieldValue);
|
||||
|
||||
return (
|
||||
<FormControl fullWidth sx={{ marginY: 1 }}>
|
||||
|
||||
Reference in New Issue
Block a user