From b18e139445d068ebce68fb5336c12f328573362f Mon Sep 17 00:00:00 2001 From: karimaldeen Date: Sat, 17 Aug 2024 12:20:43 +0300 Subject: [PATCH] fix drag and drop --- src/Pages/question/AddPage.tsx | 4 +++- .../Model/Malty/ChoiceField/CheckboxField.tsx | 1 - .../question/Model/Malty/ChoiceField/Choices.tsx | 15 +++++++++++---- .../Model/Malty/QuestionFIeld/CheckboxField.tsx | 1 - src/Pages/question/Model/Tags/DynamicTags.tsx | 1 - src/translate/ar.json | 2 +- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/Pages/question/AddPage.tsx b/src/Pages/question/AddPage.tsx index 0452949..4fb8c70 100644 --- a/src/Pages/question/AddPage.tsx +++ b/src/Pages/question/AddPage.tsx @@ -102,7 +102,9 @@ const AddPage: React.FC = () => { { resetForm }: { resetForm: () => void }, ) => { const DataToSend = structuredClone(values); - + console.log(DataToSend); + + return ; setTagsSearch(null); const canAnswersBeShuffled = DataToSend?.canAnswersBeShuffled ? 1 : 0; if (isBseQuestion || DataToSend?.isBase === 1) { diff --git a/src/Pages/question/Model/Malty/ChoiceField/CheckboxField.tsx b/src/Pages/question/Model/Malty/ChoiceField/CheckboxField.tsx index 12d27aa..529317d 100644 --- a/src/Pages/question/Model/Malty/ChoiceField/CheckboxField.tsx +++ b/src/Pages/question/Model/Malty/ChoiceField/CheckboxField.tsx @@ -16,7 +16,6 @@ const CheckboxField = ({ const formik = useFormikContext(); const [t] = useTranslation(); const CheckboxhandleChange = (value: any) => { - console.log(value?.target?.checked); const allAreZero = formik?.values?.Questions?.[ parent_index diff --git a/src/Pages/question/Model/Malty/ChoiceField/Choices.tsx b/src/Pages/question/Model/Malty/ChoiceField/Choices.tsx index 2db0d93..346777b 100644 --- a/src/Pages/question/Model/Malty/ChoiceField/Choices.tsx +++ b/src/Pages/question/Model/Malty/ChoiceField/Choices.tsx @@ -9,18 +9,25 @@ const Choices = ({ parent_index }: { parent_index: number }) => { const handleDragEnd = (result: any) => { // Check if the item was dropped outside the list + console.log(1); + console.log(result.destination); + if (!result.destination) return; + console.log(formik?.values?.Questions?.[parent_index]?.QuestionOptions); + // Create a new array from the current QuestionOptions - const items = Array.from(formik?.values?.QuestionOptions); - + const items = Array.from(formik?.values?.Questions?.[parent_index]?.QuestionOptions); + console.log(items); // Remove the item from the original position const [reorderedItem] = items.splice(result.source.index, 1); - + console.log(items); // Insert the item at the new position items.splice(result.destination.index, 0, reorderedItem); // Update the order keys based on the new indices + console.log(items,"items"); + const updatedItems = items.map((item, index) => ({ ...(item ?? {}), order: index + 1, // Update order to be 1-based index @@ -29,7 +36,7 @@ const Choices = ({ parent_index }: { parent_index: number }) => { // Update the formik state with the new order console.log(updatedItems, "updatedItems"); - formik.setFieldValue("QuestionOptions", updatedItems); + formik.setFieldValue(`Questions.${parent_index}.QuestionOptions`, updatedItems); }; return ( diff --git a/src/Pages/question/Model/Malty/QuestionFIeld/CheckboxField.tsx b/src/Pages/question/Model/Malty/QuestionFIeld/CheckboxField.tsx index 4d3e571..a85176f 100644 --- a/src/Pages/question/Model/Malty/QuestionFIeld/CheckboxField.tsx +++ b/src/Pages/question/Model/Malty/QuestionFIeld/CheckboxField.tsx @@ -14,7 +14,6 @@ const CheckboxField = ({ const formik = useFormikContext(); const [t] = useTranslation(); const newName = `Questions[${name}].canAnswersBeShuffled`; - console.log(formik.values?.Questions?.[name]); const CheckboxhandleChange = (value: any, index: number) => { formik.setFieldValue(newName, value?.target?.checked ? 1 : 0); diff --git a/src/Pages/question/Model/Tags/DynamicTags.tsx b/src/Pages/question/Model/Tags/DynamicTags.tsx index d04c1dd..687611f 100644 --- a/src/Pages/question/Model/Tags/DynamicTags.tsx +++ b/src/Pages/question/Model/Tags/DynamicTags.tsx @@ -14,7 +14,6 @@ const DynamicTags = () => { name: TagsSearch, }); const suggests = data?.data; - console.log(TagsSearch); const handleAddChoice = () => { const length = formik?.values?.tags.length; diff --git a/src/translate/ar.json b/src/translate/ar.json index 02298c7..b6444e2 100644 --- a/src/translate/ar.json +++ b/src/translate/ar.json @@ -359,7 +359,7 @@ "question": "السؤال", "id": "الرقم التعريفي", "canAnswersBeShuffled": "يمكن خلط الإجابات", - "hint": "لحليح" + "hint": "تَلمِيح" }, "select": {