This commit is contained in:
karimaldeen 2024-09-16 15:48:33 +03:00
parent 32f87910ea
commit 05d0a12527
4 changed files with 35 additions and 9 deletions

View File

@ -54,6 +54,13 @@ const SelectTag: React.FC = () => {
formik?.values?.tags?.map((item: any) => item?.id ?? item) ?? []; formik?.values?.tags?.map((item: any) => item?.id ?? item) ?? [];
const AllOptions = [...options, ...additionalData,NewAdditionalData]; const AllOptions = [...options, ...additionalData,NewAdditionalData];
const uniqueOptions = Array.from(
new Map(
AllOptions
.filter(item => Object.keys(item).length > 0) // Filter out empty objects
.map(item => [item.id, item]) // Create [id, item] pairs to ensure uniqueness
).values()
);
return ( return (
<div className="SelectTag"> <div className="SelectTag">
@ -65,7 +72,7 @@ const SelectTag: React.FC = () => {
placeholder="" placeholder=""
fieldNames={{ label: "name", value: "id" }} fieldNames={{ label: "name", value: "id" }}
onChange={handleChange} onChange={handleChange}
options={AllOptions} options={uniqueOptions}
filterOption={false} filterOption={false}
loading={isLoading} loading={isLoading}
notFoundContent={isLoading ? <Spin /> : t("practical.not_found")} notFoundContent={isLoading ? <Spin /> : t("practical.not_found")}

View File

@ -10,7 +10,16 @@ const MaltySelectTag = ({ parent_index }: { parent_index: number }) => {
const [fieldValue, setFieldValue] = useState<string>(""); const [fieldValue, setFieldValue] = useState<string>("");
const formik = useFormikContext<any>(); const formik = useFormikContext<any>();
const values = formik?.values?.Questions?.[parent_index]?.tags; const values = formik?.values?.Questions?.[parent_index]?.tags;
const handleChange = (value: string[]) => { const [NewAdditionalData, setNewAdditionalData] = useState({})
const handleChange = (value: string[],option:any) => {
const newSelectedOption = option?.pop()
const newObject = {
id:newSelectedOption?.id,
name:newSelectedOption?.name
}
setNewAdditionalData(newObject)
formik.setFieldValue(`Questions.[${parent_index}].tags`, value); formik.setFieldValue(`Questions.[${parent_index}].tags`, value);
setSearchValue(""); setSearchValue("");
setFieldValue(""); setFieldValue("");
@ -46,7 +55,15 @@ const MaltySelectTag = ({ parent_index }: { parent_index: number }) => {
(item: any) => item?.id ?? item, (item: any) => item?.id ?? item,
) ?? []; ) ?? [];
const AllOptions = [...options, ...additionalData]; const AllOptions = [...options, ...additionalData,NewAdditionalData];
const uniqueOptions = Array.from(
new Map(
AllOptions
.filter(item => Object.keys(item).length > 0) // Filter out empty objects
.map(item => [item.id, item]) // Create [id, item] pairs to ensure uniqueness
).values()
);
return ( return (
<div className="SelectTag"> <div className="SelectTag">
@ -58,7 +75,7 @@ const MaltySelectTag = ({ parent_index }: { parent_index: number }) => {
placeholder="" placeholder=""
fieldNames={{ label: "name", value: "id" }} fieldNames={{ label: "name", value: "id" }}
onChange={handleChange} onChange={handleChange}
options={AllOptions} options={uniqueOptions}
filterOption={false} filterOption={false}
loading={isLoading} loading={isLoading}
notFoundContent={isLoading ? <Spin /> : t("practical.not_found")} notFoundContent={isLoading ? <Spin /> : t("practical.not_found")}

View File

@ -7,14 +7,16 @@ import { handelImageState } from "../../../../utils/DataToSendImageState";
import LayoutModel from "../../../../Layout/Dashboard/LayoutModel"; import LayoutModel from "../../../../Layout/Dashboard/LayoutModel";
import { QueryStatusEnum } from "../../../../enums/QueryStatus"; import { QueryStatusEnum } from "../../../../enums/QueryStatus";
import ModelForm from "./ModelForm"; import ModelForm from "./ModelForm";
import { useParams } from "react-router-dom";
import { ParamsEnum } from "../../../../enums/params";
const ModalForm: React.FC = () => { const ModalForm: React.FC = () => {
const { objectToEdit } = useObjectToEdit((state) => state); const { objectToEdit } = useObjectToEdit((state) => state);
const { mutate, status } = useUpdateSubject(); const { mutate, status } = useUpdateSubject();
const {subject_id} = useParams<ParamsEnum>()
const handleSubmit = (values: any) => { const handleSubmit = (values: any) => {
const Data_to_send = { ...values }; const Data_to_send = { ...values,subject_id };
const handelImage = handelImageState(Data_to_send, "icon"); const handelImage = handelImageState(Data_to_send, "icon");
mutate(handelImage); mutate(handelImage);
}; };

View File

@ -9,14 +9,14 @@ const Dummy = () => {
return ( return (
<div className="DummyHomePage"> <div className="DummyHomePage">
<FilterButton/> {/* <FilterButton/>
<FilterBody> <FilterBody>
karim karim
</FilterBody> </FilterBody>
<Select <Select
style={{width:"200px"}} style={{width:"200px"}}
showSearch showSearch
/> /> */}
</div> </div>
); );