import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd'; 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 Question from "../components/question"; import { numOfinitQs } from "../../../redux/reducers/exam"; import AddQuestionPopUp from "../components/addQuestion"; const AddQuestionsFromBank = ({ grades, addExamState, dispatch, stepClick, backStep }) => { const [name, setName] = useState(null); const [type, setType] = useState(null); const [description, setDescription] = useState(null); const [questionarePopUp, setQuestionairePopUp] = useState(false); const [addQuestionPopup, setAddQuestionPopuo] = useState(false); const [newQuestionaire, setNewQuestionaire] = useState({ id: addExamState.questionnaires.length + 1, name: '', fileUrl: '', }); const [showCoursesInList, setShowCoursesInList] = useState([]); const [choosedQuestion, seChoosedQuestion] = useState(null); const [selectedCourse, setSelectedCourse] = useState({ id: null, title: '', selectedQuestions: [], }); // console.log(choosedQuestionaries) // console.log(newQuestionaire) // console.log(addExamState.questionnaires) // console.log(newCourse) // console.log(addExamState.questionairesCourses) console.log(selectedCourse) // console.log(answers) console.log(choosedQuestion) console.log(selectedCourse.selectedQuestions) const [fakeState, setFakeState] = useState(2); const payload = { name: name, description: description, type: type }; const handleOnDragEnd = (result) => { const { source, destination } = result; if (source.droppableId !== destination?.droppableId) { if (destination?.droppableId == 'Choosed_Questions_Form_Bank') { dispatch({ type: 'ADD_EXAM_QUESTIONS', payload: choosedQuestion }) dispatch({ type: 'REMOVE_QUESTION_FROM_BANK', payload: choosedQuestion }) } else { dispatch({ type: 'REMOVE_EXAM_QUESTIONS', payload: choosedQuestion }) dispatch({ type: 'GET_QUESTION_BACK_TO_BANK', payload: choosedQuestion }) } } else { if (source.droppableId == 'Choosed_Questions_Form_Bank') { // const data = { // startIndex: choosedQuestion, // endIndex: destination.index // } // dispatch({type:'CHANGE_QUESTION_ORDER', payload : data}) // console.log(data) const aaa = [...addExamState.courses.filter(itm => itm.id == selectedCourse.id)[0]?.selectedQuestions]; const [removed] = aaa.splice(source.index, 1); aaa.splice(destination.index, 0, removed); dispatch({ type: 'CHANGE_QUESTION_ORDER', payload: aaa }) console.log(result) console.log(source.index) console.log(destination.index) console.log(aaa) } } } const [numberOfOptions, setNumberOfOptions] = useState(null); const [options, setOptions] = useState([]) const [question, setQuestion] = useState({ title: '', options: [], }) useEffect(() => { const arr = []; for (var i = 1; i <= numberOfOptions; i++) { arr.push({ id: i, title: '', isAnswer: false }) } setOptions(arr) setQuestion({ ...question, options: arr, courseId: selectedCourse.id, questionId:numOfinitQs + addExamState.questionBank.length + fakeState, }) }, [numberOfOptions]) console.log(question) console.log(addExamState.courses.filter(itm => itm.id == selectedCourse.id)[0]?.selectedQuestions) return ( <> { questionarePopUp &&
تعداد دروس: {item.courses.length}
*/} {/*{ let newArray = [...showCoursesInList]; newArray[index] = !newArray[index]; setShowCoursesInList(newArray) }}>نمایش دروس
*/}لطفا مشخضات آزمون را تکمیل کنید
{ dispatch({ type: 'REMOVE_EXAM_COURSE', payload: item }); setSelectedCourse(null); setFakeState(fakeState + 24) }}> x
{item.title}
+
افزودن درس