This commit is contained in:
karimaldeen 2024-09-12 16:53:31 +03:00
parent 482c7341f8
commit bd59108fdc
5 changed files with 35 additions and 32 deletions

View File

@ -46,7 +46,8 @@ console.log(objectToEdit,"objectToEdit");
const DataToSend = structuredClone(values);
setTagsSearch(null);
console.log(1);
const canAnswersBeShuffled = DataToSend?.canAnswersBeShuffled ? 1 : 0;
if (isBseQuestion || DataToSend?.isBase === 1) {
@ -95,9 +96,10 @@ console.log(objectToEdit,"objectToEdit");
console.log(newBseQuestionId, "newBseQuestionId");
});
} else {
console.log(1);
const tags = processTags(DataToSend);
const answers = values?.answers?.map((item: any, index: number) => {
console.log(item,"item");
return {
order: index,
@ -108,7 +110,8 @@ console.log(objectToEdit,"objectToEdit");
if(answers?.length > 0){
const isValidAnswers = answers?.some((answer:any) => answer?.isCorrect === 1)
console.log(!isValidAnswers);
if(!isValidAnswers){
toast.error(t("validation.at_least_one_answer_should_be_correct"));
return;

View File

@ -105,10 +105,10 @@ const EditPage: React.FC = () => {
const isValidAnswers = updatedObject?.answers?.some((answer:any) => answer?.isCorrect === 1)
if(!isValidAnswers){
toast.error(t("validation.at_least_one_answer_should_be_correct"));
return;
}
// if(!isValidAnswers){
// toast.error(t("validation.at_least_one_answer_should_be_correct"));
// return;
// }
}
updatedObject?.answers?.forEach((item: any) => {
if (item?.id) {
@ -156,14 +156,15 @@ const EditPage: React.FC = () => {
const newAnswers = [] as any;
if(updatedObject?.answers?.length > 0){
const isValidAnswers = updatedObject?.answers?.some((answer:any) => answer?.isCorrect === 1 || answer?.isCorrect === true)
const isValidAnswers2 = updatedObject?.answers?.filter((answer: any) => answer?.isCorrect === 1 || answer?.isCorrect === true ).length > 1;
console.log(isValidAnswers2);
if(!isValidAnswers || isValidAnswers2){
toast.error(t("validation.at_least_one_answer_should_be_correct"));
return;
}
// const isValidAnswers = updatedObject?.answers?.some((answer:any) => answer?.isCorrect === 1 || answer?.isCorrect === true)
// const isValidAnswers2 = updatedObject?.answers?.filter((answer: any) => answer?.isCorrect === 1 || answer?.isCorrect === true ).length > 1;
// console.log(isValidAnswers2);
// console.log(isValidAnswers,"isValidAnswers");
// if(!isValidAnswers || isValidAnswers2){
// toast.error(t("validation.at_least_one_answer_should_be_correct"));
// return;
// }
}
updatedObject?.answers?.forEach((item: any) => {
if (item?.id) {
@ -177,8 +178,15 @@ const EditPage: React.FC = () => {
old: oldAnswers,
new: newAnswers,
};
console.log(tags,"tags");
if(tags?.new?.length < 1 && tags?.old?.length < 1){
mutate({ ...updatedObject, answers, tags:"" });
mutate({ ...updatedObject, answers, tags });
}else{
mutate({ ...updatedObject, answers, tags });
}
}
};

View File

@ -42,7 +42,8 @@ const CheckboxField = ({
disabled={isDisabled}
checked={
formik.values?.Questions?.[parent_index]?.answers?.[name]
?.isCorrect === 1
?.isCorrect === 1 || formik.values?.Questions?.[parent_index]?.answers?.[name]
?.isCorrect === true
}
className={className}
>

View File

@ -43,11 +43,8 @@ const Form = () => {
handleAddChoice(true)
});
console.log(Success);
useEffect(() => {
console.log(Success);
if(Success){
formik?.setValues({})

View File

@ -34,13 +34,7 @@ export const getValidationSchema = () => {
content_image: Yup.string().nullable(),
isCorrect: Yup.boolean(),
}),
).test(
'at-least-one-correct',
'At least one answer must be correct',
(answers:any) => {
return answers.some((answer:any) => answer.isCorrect === true);
}
),
)
});
};
@ -100,7 +94,7 @@ export const getValidationSchemaBase = () => {
(answers:any) => {
console.log(answers,"answers");
return answers.some((answer:any) => answer.isCorrect === true);
return answers.some((answer:any) => answer.isCorrect === true || answer.isCorrect === 1);
}
),
}),
@ -113,8 +107,8 @@ export function processTags(DataToSend: any) {
const oldTags = DataToSend?.tags
?.map((item: any, index: number) => {
if (typeof item === "number") {
return item;
if (typeof item === "number" || typeof item?.id === "number") {
return item?.id ?? item ;
}
})
.filter((item: any) => item !== undefined);
@ -123,10 +117,10 @@ export function processTags(DataToSend: any) {
?.map((item: any, index: number) => {
console.log(item);
if (typeof item === "string" && item !== "") {
if (typeof item === "string" && item !== "" || typeof item?.id === "string" && item?.id !== "" ) {
console.log(item);
return { name: item };
return { name: item?.id ?? item };
}
})
.filter((item: any) => item !== undefined);