Merge branch 'dev' of https://git.point-dev.net/Karimaldeen/Quiz_dashboard into dev
This commit is contained in:
commit
e17629a9ba
|
|
@ -1,7 +1,8 @@
|
|||
import { create } from "zustand";
|
||||
|
||||
interface FilterState {
|
||||
filterState: any[];
|
||||
filterState: {};
|
||||
InitialValue: {};
|
||||
setFilterState: (data: any) => void;
|
||||
clearFilterState: () => void;
|
||||
setWithOldValue: (data: any) => void;
|
||||
|
|
@ -9,15 +10,14 @@ interface FilterState {
|
|||
}
|
||||
|
||||
export const useFilterState = create<FilterState>((set, get) => ({
|
||||
filterState: [],
|
||||
filterState: {},
|
||||
InitialValue:{name:""},
|
||||
setFilterState: (data) => set(() => ({ filterState: data })),
|
||||
clearFilterState: () => set(() => ({ filterState: [] })),
|
||||
setWithOldValue: (data) =>
|
||||
set((state) => ({ filterState: [...state.filterState, data] })),
|
||||
set((state) => ({ filterState: {...state.filterState, data} })),
|
||||
setInitialValue: (data) => {
|
||||
if (get().filterState.length < 1) {
|
||||
set(() => ({ filterState: data }));
|
||||
}
|
||||
set(() => ({ InitialValue: data }));
|
||||
},
|
||||
}));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React, { ReactNode, useEffect, useState } from "react";
|
||||
import { FaFilter } from "react-icons/fa";
|
||||
import { Form, Formik, FormikConfig, FormikHelpers } from "formik";
|
||||
import { Form, Formik, FormikConfig, FormikHelpers, useFormikContext } from "formik";
|
||||
import { Button, ButtonProps, Divider, Modal } from "antd";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useModalState } from "./Modal";
|
||||
|
|
@ -8,7 +8,6 @@ import { useFilterState } from "./FilterState";
|
|||
import { ModalEnum } from "../../../enums/Model";
|
||||
import { QueryStatusEnum } from "../../../enums/QueryStatus";
|
||||
import { useObjectToEdit } from "../../../zustand/ObjectToEditState";
|
||||
import FormikForm from "../../../Layout/Dashboard/FormikForm";
|
||||
import SpinContainer from "../../Layout/SpinContainer";
|
||||
import { TbFlagCancel } from "react-icons/tb";
|
||||
import { XFilled } from "@ant-design/icons";
|
||||
|
|
@ -36,13 +35,15 @@ interface SubmitButtonProps extends Omit<ButtonProps, "loading"> {}
|
|||
|
||||
const useFilter = () => {
|
||||
const { setIsOpen, isOpen } = useModalState((state) => state);
|
||||
const { filterState, setFilterState, clearFilterState } = useFilterState();
|
||||
const { filterState, setFilterState, clearFilterState ,InitialValue} = useFilterState();
|
||||
const [t] = useTranslation();
|
||||
const [formValues, setFormValues] = useState({});
|
||||
|
||||
const formik = useFormikContext()
|
||||
// Define the type for the callback
|
||||
type SubmitCallback = () => void;
|
||||
|
||||
// console.log(formik?.values);
|
||||
// console.log(InitialValue);
|
||||
|
||||
const FilterButton = () => {
|
||||
const handleState = () => {
|
||||
if (isOpen === ModalEnum?.FILTER) {
|
||||
|
|
@ -66,6 +67,9 @@ const useFilter = () => {
|
|||
setFilterState({})
|
||||
}, [])
|
||||
|
||||
|
||||
|
||||
|
||||
const FilterBody = ({
|
||||
onSubmit,
|
||||
children,
|
||||
|
|
@ -100,6 +104,7 @@ const useFilter = () => {
|
|||
setFormValues({});
|
||||
|
||||
};
|
||||
|
||||
const handleOpen = () => {
|
||||
setIsOpen(true);
|
||||
// setObjectToEdit({});
|
||||
|
|
@ -122,20 +127,27 @@ const useFilter = () => {
|
|||
<Formik
|
||||
enableReinitialize={true}
|
||||
onSubmit={handleSubmit}
|
||||
initialValues={formValues}
|
||||
initialValues={{}}
|
||||
onReset={handleCancel}
|
||||
{...formikProps}
|
||||
>
|
||||
<Form>
|
||||
<div>
|
||||
<header> {t("models.filter")} <FaXmark onClick={()=>handleCancel(true)} /> </header>
|
||||
<Divider />
|
||||
<main className="main_modal">
|
||||
{isLoading ? <SpinContainer /> : children}
|
||||
<Divider />
|
||||
</main>
|
||||
</div>
|
||||
</Form>
|
||||
{(formik) => {
|
||||
|
||||
return (
|
||||
<Form>
|
||||
|
||||
<div>
|
||||
<header> {t("models.filter")} <FaXmark onClick={()=>handleCancel(true)} /> </header>
|
||||
<Divider />
|
||||
<main className="main_modal">
|
||||
{isLoading ? <SpinContainer /> : children}
|
||||
<Divider />
|
||||
</main>
|
||||
</div>
|
||||
</Form>
|
||||
)
|
||||
}}
|
||||
|
||||
</Formik>
|
||||
</Modal>
|
||||
</>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import useFormField from "../../../Hooks/useFormField";
|
|||
import { Field } from "formik";
|
||||
import { ValidationFieldLabel } from "../components/ValidationFieldLabel";
|
||||
import { ValidationFieldContainer } from "../components/ValidationFieldContainer";
|
||||
import { FieldProps } from "../utils/types";
|
||||
|
||||
const Default = ({
|
||||
name,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import { translateOptions } from "../../utils/translatedOptions";
|
|||
import { search_array } from "../../Routes";
|
||||
import PaginationColumn from "../../Components/Filter/PaginationColumn";
|
||||
import OrderBySelect from "../../Components/Filter/OrderBySelect";
|
||||
import LayoutFilterModal from "./LayoutFilterModal";
|
||||
import { BiFilterAlt } from "react-icons/bi";
|
||||
import { MdKeyboardArrowDown } from "react-icons/md";
|
||||
import SearchField from "../../Components/DataTable/SearchField";
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ interface FormValues {
|
|||
interface FormikFormProps {
|
||||
handleSubmit: (values: any) => void;
|
||||
initialValues: FormValues;
|
||||
validationSchema: any;
|
||||
validationSchema?: any;
|
||||
title?: string;
|
||||
children: ReactNode;
|
||||
ButtonName?: string;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
import React from "react";
|
||||
import ValidationField from "../../../../Components/ValidationField/ValidationField";
|
||||
import { Col, Row } from "reactstrap";
|
||||
import { useFormikContext } from "formik";
|
||||
|
||||
const FilterForm = () => {
|
||||
const formik = useFormikContext();
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Row>
|
||||
|
|
@ -14,4 +17,4 @@ const FilterForm = () => {
|
|||
);
|
||||
};
|
||||
|
||||
export default FilterForm;
|
||||
export default FilterForm;
|
||||
|
|
@ -27,7 +27,7 @@ interface ModelState {
|
|||
}
|
||||
|
||||
export const useObjectToEdit = create<ModelState>((set) => ({
|
||||
objectToEdit: null,
|
||||
c: null,
|
||||
setObjectToEdit: (data) => set(() => ({ objectToEdit: data })),
|
||||
OldObjectToEdit: null,
|
||||
setOldObjectToEdit: (data) => set(() => ({ OldObjectToEdit: data })),
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user