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);