import React, { useEffect, useState } from "react";
import { connect } from "react-redux";
import AnswerSheet from "../../../components/AnswerSheet";
import Button from "../../../components/Button";
import DatePicker from "../../../components/Calendar/CalendarComponents/DatePicker";
import Checkbox from "../../../components/Checkbox";
import RangeDatePicker from "../../../components/RangeDatePicker";
import SelectedCourse from "../../../components/selectedCourse";
import AddQuestionnaireCourse from "../components/addQuestionnaireCourse";
import { DragDropContext } from "react-beautiful-dnd";
import { Droppable } from "react-beautiful-dnd";
import { Draggable } from "react-beautiful-dnd";
import { toMap } from "draft-js/lib/DefaultDraftBlockRenderMap";
const AddQuestionnaireExam = ({
grades,
addExamState,
dispatch,
stepClick,
backStep,
}) => {
const [questionarePopUp, setQuestionairePopUp] = useState(false);
const [addCoursePopup, setAddCoursePopup] = useState(false);
const [newQuestionaire, setNewQuestionaire] = useState({
id: addExamState.questionnaires.length + 1,
name: "",
fileUrl: "",
});
const [showCoursesInList, setShowCoursesInList] = useState([]);
const [choosedQuestionaries, seChoosedQuestionaries] = useState([]);
const [selectedQuestionare, setSelectedQuestionare] = useState({
id: null,
courses: [],
});
const [answers, setAnswers] = useState(null);
const [newCourse, setNewCourse] = useState({
id: selectedQuestionare.courses.length + selectedQuestionare.id + 1,
questionnaireId: selectedQuestionare.id,
questionsQuantity: 20,
name: "",
coefficient: 4,
});
const [selectedCourse, setSelectedCourse] = useState({
sortId: 1,
title: "ادبیات فارسی",
coefficient: 3,
questionStart: 1,
questionEnd: 0,
});
// console.log(choosedQuestionaries)
// console.log(newQuestionaire)
// console.log(addExamState.questionnaires)
console.log(newCourse);
console.log(selectedQuestionare);
console.log(selectedCourse.id);
console.log(answers);
const [fakeState, setFakeState] = useState(2);
useEffect(() => {
setSelectedCourse(selectedCourse);
setFakeState(fakeState + 15);
}, [addExamState]);
useEffect(() => {
// questoinaresLists.map(item => showCoursesInList.push(false));
if (answers !== null && answers !== []) {
answers.map((item) => dispatch({ type: "ADD_ANSWERS", payload: item }));
}
}, [answers]);
return (
<>
{questionarePopUp && (
setQuestionairePopUp(false)}
>
افزودن دفترچه
setNewQuestionaire({
...newQuestionaire,
name: e.target.value,
})
}
/>
{/* {
questoinaresLists.map(
(item, index) => (
<>
e.target.checked ?
seChoosedQuestionaries([...choosedQuestionaries, item])
:
seChoosedQuestionaries(choosedQuestionaries.filter(itm => itm.id !== item.id))
}
/>
{item.title}
تعداد سوالات: {item.numberOfQuestions}
تعداد دروس: {item.courses.length}
{
let newArray = [...showCoursesInList];
newArray[index] = !newArray[index];
setShowCoursesInList(newArray)
}}>نمایش دروس
{
showCoursesInList[index] &&
{
item.courses.map((course) => (
{course.title}
ضریب : {course.coefficient}
از سوال {course.questionStart} تا سوال {course.questionEnd}
))
}
}
>
)
)
} */}
)}
{addCoursePopup && (
setAddCoursePopup(false)}
nameOnChange={(e) =>
setNewCourse({ ...newCourse, name: e.target.value })
}
coefficientOnChange={(e) =>
setNewCourse({ ...newCourse, coefficient: e.target.vlaue })
}
questionEnd={(e) =>
setNewCourse({
...newCourse,
questionEnd: e.target.value,
questionnaireId: selectedQuestionare.id,
})
}
questionStart={(e) =>
setNewCourse({
...newCourse,
questionStart: e.target.value,
questionnaireId: selectedQuestionare.id,
id: selectedQuestionare.id + selectedCourse.id + 1,
})
}
submitOnClick={() => {
dispatch({ type: "ADD_QUESTIONNAIRE_COURSES", payload: newCourse });
setAddCoursePopup(false);
setFakeState(fakeState + 356);
}}
/>
)}
تنظیمات آزمون
لطفا مشخضات آزمون را تکمیل کنید
{
const { source, destination } = result;
if (source.droppableId == "Choosed_Questionnaires") {
// const data = {
// startIndex: choosedQuestion,
// endIndex: destination.index
// }
// dispatch({type:'CHANGE_QUESTION_ORDER', payload : data})
// console.log(data)
const aaa = [...addExamState.questionnaires];
const [removed] = aaa.splice(source.index, 1);
aaa.splice(destination.index, 0, removed);
dispatch({ type: "CHANGE_QUESTIONNAIRES_ORDER", payload: aaa });
console.log(result);
console.log(source.index);
console.log(destination.index);
console.log(aaa);
}
}}
>
{(provided) => (
{addExamState.questionnaires.map((item, index) => (
{(provided) => (
setSelectedQuestionare({
id: item.id,
name: item.name,
courses: item.courses,
})
}
>
دفترچه {item.name}
)}
))}
{provided.placeholder}
)}
addExamState.type == "bank"
? console.log("bank")
: setQuestionairePopUp(true)
}
>
+
{addExamState.type == "bank" ? "افزودن درس" : "افزودن دفترچه"}
{selectedQuestionare.id !== null && (
<>
دفترچه {selectedQuestionare.name}
{addExamState.questionnaires
.find((itm) => itm.id == selectedQuestionare.id)
?.courses.map((item) => (
{
setSelectedCourse(item);
console.log(selectedCourse);
}}
/>
))}
>
)}
{selectedQuestionare.id !== null && (
)}
dispatch({ type: "ADD_ANSWERS", payload: data })
}
/>
>
);
};
const mapStateToProps = (state) => ({
grades: state.publicApi.grades,
addExamState: state.addExamReduser,
});
export default connect(mapStateToProps)(AddQuestionnaireExam);