From de71606e88557a52dc9e24f64ea9c9581c54bcf3 Mon Sep 17 00:00:00 2001 From: karimaldeen Date: Mon, 16 Sep 2024 20:22:07 +0300 Subject: [PATCH] fix --- src/Components/CustomFields/SelectTag.tsx | 11 +++-- src/Components/exercise/Header.tsx | 42 ++++++++++++++++--- src/Layout/Dashboard/FormikFormModel.tsx | 2 +- src/Layout/Dashboard/Table/DataTable.tsx | 4 +- src/Pages/Admin/Grade/useTableColumns.tsx | 6 +-- src/Pages/Admin/question/EditPage.tsx | 8 ++-- .../Model/Malty/Tags/MaltySelectTag.tsx | 5 ++- src/Pages/Admin/question/formUtil.ts | 1 + src/api/helper/useAxios.ts | 4 +- src/api/helper/useGetQuery.ts | 6 +-- 10 files changed, 62 insertions(+), 27 deletions(-) diff --git a/src/Components/CustomFields/SelectTag.tsx b/src/Components/CustomFields/SelectTag.tsx index 27bfc35..182af50 100644 --- a/src/Components/CustomFields/SelectTag.tsx +++ b/src/Components/CustomFields/SelectTag.tsx @@ -49,11 +49,14 @@ const SelectTag: React.FC = () => { options.length < 1 && searchValue.length > 1 && !isLoading ? [{ id: searchValue, name: searchValue }] : []; - + console.log(formik?.values?.tags,"formik?.values?.tags"); + const value = formik?.values?.tags?.map((item: any) => item?.id ?? item) ?? []; - const AllOptions = [...options, ...additionalData,NewAdditionalData]; + const AllOptions = [...options, ...additionalData,NewAdditionalData,...(formik?.values?.tags ?? {})]; + console.log(AllOptions,"AllOptions"); + const uniqueOptions = Array.from( new Map( AllOptions @@ -61,7 +64,9 @@ const SelectTag: React.FC = () => { .map(item => [item.id, item]) // Create [id, item] pairs to ensure uniqueness ).values() ); - + + console.log(uniqueOptions,"uniqueOptions"); + return (
diff --git a/src/Components/exercise/Header.tsx b/src/Components/exercise/Header.tsx index a896af2..869dcdc 100644 --- a/src/Components/exercise/Header.tsx +++ b/src/Components/exercise/Header.tsx @@ -20,15 +20,28 @@ const Header = () => { if(isBseQuestion || values?.isBase === 1){ + const content = !values?.content ; + const content_image = !values?.content_image ; + const hint = !values?.hint ; + const Questions = values?.Questions?.length <= 1 && values?.Questions?.[0]?.answers?.length === 0 ; + + if(content && content_image && hint && Questions) { + return false + } }else{ - const content = !!values?.content ; - const content_image = !!values?.content_image ; + const content = !values?.content ; + const content_image = !values?.content_image ; const hint = !values?.hint ; const answers = !values?.answers ; + const tags = !(values?.tags?.length > 0) ; + if(content && content_image && hint && answers && tags) { + return false + } } - + return true } - + console.log(isEdited(),"isEdited"); + const handleChange = () => { setSavedQuestionData(null); localStorage.removeItem(QUESTION_OBJECT_KEY); @@ -77,7 +90,9 @@ const Header = () => {
- { : t("header.exercise")} + + + : + + <> + + + confirm()} className="m-2" /> + {isBseQuestion || values?.isBase === 1 + ? t("header.malty_exercise") + : t("header.exercise")} + + + + + } +
); diff --git a/src/Layout/Dashboard/FormikFormModel.tsx b/src/Layout/Dashboard/FormikFormModel.tsx index 3f99817..e738956 100644 --- a/src/Layout/Dashboard/FormikFormModel.tsx +++ b/src/Layout/Dashboard/FormikFormModel.tsx @@ -33,7 +33,7 @@ const FormikFormModel: React.FC = ({ > {(formik) => { useEffect(() => { - if (isOpen === "") { + if (isOpen === "" || isOpen === "isSuccess") { formik.setErrors({}); formik.resetForm(); } diff --git a/src/Layout/Dashboard/Table/DataTable.tsx b/src/Layout/Dashboard/Table/DataTable.tsx index a5569c4..8b51496 100644 --- a/src/Layout/Dashboard/Table/DataTable.tsx +++ b/src/Layout/Dashboard/Table/DataTable.tsx @@ -14,7 +14,6 @@ const DataTable: React.FC = ({ ...props }) => { const data: any[] = response?.data?.data || []; - const dataSource = useAddKeyToData(data); const columns = useColumns(); const { pagination, handlePageChange } = usePagination(response?.data); const [t] = useTranslation(); @@ -28,7 +27,8 @@ const DataTable: React.FC = ({ getRowClassName(record, index)} className="DataTable" loading={{ diff --git a/src/Pages/Admin/Grade/useTableColumns.tsx b/src/Pages/Admin/Grade/useTableColumns.tsx index 437b3c8..bc10a12 100644 --- a/src/Pages/Admin/Grade/useTableColumns.tsx +++ b/src/Pages/Admin/Grade/useTableColumns.tsx @@ -1,13 +1,10 @@ import { TableColumnsType } from "antd"; -import { FaPlus } from "react-icons/fa"; import useModalHandler from "../../../utils/useModalHandler"; import { ModalEnum } from "../../../enums/Model"; import { useObjectToEdit } from "../../../zustand/ObjectToEditState"; import { useTranslation } from "react-i18next"; -import { ABILITIES_ENUM } from "../../../enums/abilities"; import { useNavigate } from "react-router-dom"; import { - canAddGrade, canDeleteGrade, canEditGrade, canShowGrade, @@ -15,7 +12,6 @@ import { import ActionButtons from "../../../Components/Table/ActionButtons"; import ColumnsImage from "../../../Components/Columns/ColumnsImage"; import { Grade } from "../../../types/Grade"; -import { useFilterState } from "../../../Components/Utils/Filter/FilterState"; import { useFilterStateState } from "../../../zustand/Filter"; export const useColumns = () => { @@ -26,7 +22,7 @@ export const useColumns = () => { const { setFilter } = useFilterStateState(); - + const handelShow = (record: Grade) => { setFilter({}) navigate(`${record?.id}`); diff --git a/src/Pages/Admin/question/EditPage.tsx b/src/Pages/Admin/question/EditPage.tsx index a6e8fff..739d11f 100644 --- a/src/Pages/Admin/question/EditPage.tsx +++ b/src/Pages/Admin/question/EditPage.tsx @@ -59,7 +59,7 @@ const EditPage: React.FC = () => { const DataToSend = structuredClone(values); setTagsSearch(null); console.log(DataToSend); - + if (isBseQuestion) { const UpdateBseQuestion = { id: DataToSend?.id, @@ -110,7 +110,6 @@ const EditPage: React.FC = () => { new: newAnswers, }; console.log(answers); - mutate({ ...updatedObject, answers, @@ -119,7 +118,10 @@ const EditPage: React.FC = () => { } else { console.log(values?.id); - const tags = processTags(DataToSend); + const tags = processTags(item); + console.log(item,"DataToSend"); + + console.log(tags,"tags"); mutateAdd({ ...item, subject_id: subject_id, diff --git a/src/Pages/Admin/question/Model/Malty/Tags/MaltySelectTag.tsx b/src/Pages/Admin/question/Model/Malty/Tags/MaltySelectTag.tsx index 5e73b65..cb3687e 100644 --- a/src/Pages/Admin/question/Model/Malty/Tags/MaltySelectTag.tsx +++ b/src/Pages/Admin/question/Model/Malty/Tags/MaltySelectTag.tsx @@ -49,13 +49,14 @@ const MaltySelectTag = ({ parent_index }: { parent_index: number }) => { options.length < 1 && searchValue.length > 1 && !isLoading ? [{ id: searchValue, name: searchValue }] : []; - + console.log(formik?.values?.Questions[parent_index]?.tags,"formik?.values?.Questions[parent_index]?.tags"); + const value = formik?.values?.Questions[parent_index]?.tags?.map( (item: any) => item?.id ?? item, ) ?? []; - const AllOptions = [...options, ...additionalData,NewAdditionalData]; + const AllOptions = [...options, ...additionalData,NewAdditionalData , ...(formik?.values?.Questions[parent_index]?.tags ?? [])]; const uniqueOptions = Array.from( new Map( diff --git a/src/Pages/Admin/question/formUtil.ts b/src/Pages/Admin/question/formUtil.ts index f8f43ed..5fc1bf3 100644 --- a/src/Pages/Admin/question/formUtil.ts +++ b/src/Pages/Admin/question/formUtil.ts @@ -123,6 +123,7 @@ export const getValidationSchemaBase = () => { export function processTags(DataToSend: any) { console.log(DataToSend?.tags); + console.log(DataToSend); const oldTags = DataToSend?.tags ?.map((item: any, index: number) => { diff --git a/src/api/helper/useAxios.ts b/src/api/helper/useAxios.ts index 69da961..cf4856c 100644 --- a/src/api/helper/useAxios.ts +++ b/src/api/helper/useAxios.ts @@ -32,6 +32,8 @@ function useAxios() { build_Axios.interceptors.response.use( function (response: any) { + console.log(response?.data); + const responseMsg = response?.data?.message; const method = response.config.method; @@ -53,7 +55,7 @@ function useAxios() { console.log(error?.response); const status = error?.request?.status; - const errorMsg = error?.response?.data?.message; + const errorMsg = error?.response?.data?.error; const errorField = error?.response?.data; const method = error.config.method; diff --git a/src/api/helper/useGetQuery.ts b/src/api/helper/useGetQuery.ts index eb3bffd..0c13d60 100644 --- a/src/api/helper/useGetQuery.ts +++ b/src/api/helper/useGetQuery.ts @@ -1,7 +1,5 @@ import { useQuery } from "react-query"; import useAxios from "./useAxios"; -import { useLocation } from "react-router-dom"; -import { PaginationParams } from "../utils/PaginationParams"; import { filterParams } from "../utils/filterParams"; import { useFilterStateState } from "../../zustand/Filter"; function useGetQuery( @@ -13,11 +11,9 @@ function useGetQuery( const axios = useAxios(); const { show, pagination, ...remainingParams } = params; - const location = useLocation(); - const { Filter ,setFilter } = useFilterStateState(); + const { Filter } = useFilterStateState(); const page = Filter?.page ; const per_page = Filter?.per_page ; - // const { per_page } = PaginationParams(location); const paramToSend = pagination