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"; 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 [addCoursePopup, setAddCoursePopup] = 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: [], }); const [answers, setAnswers] = useState(null); const [newCourse, setNewCourse] = useState({ id: addExamState.questionairesCourses.length + 1, questionnaireId: selectedCourse.id, questionsQuantity: 20, name: '', coefficient: 4 }) // 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); useEffect(() => { // questoinaresLists.map(item => showCoursesInList.push(false)); if (answers !== null && answers !== []) { answers.map(item => dispatch({ type: 'ADD_ANSWERS', payload: item })) } }, [answers]) 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) } } } console.log(addExamState.courses.filter(itm => itm.id == selectedCourse.id)[0]?.selectedQuestions) return ( <> { questionarePopUp &&
setQuestionairePopUp(false)}>

افزودن دفترچه

{ addExamState.courseBank.map( (item, index) => ( <>
e.target.checked ? dispatch({ type: 'ADD_EXAM_COURSE', payload: item }) : dispatch({ type: 'REMOVE_EXAM_COURSE', payload: item }) } />

{item.title}

{/*

تعداد سوالات: {item.numberOfQuestions}

تعداد دروس: {item.courses.length}

*/} {/*

{ let newArray = [...showCoursesInList]; newArray[index] = !newArray[index]; setShowCoursesInList(newArray) }}>نمایش دروس

*/}
) ) }
} { // addCoursePopup && // setAddCoursePopup(false)} // nameOnChange={e => setNewCourse({...newCourse, name: e.target.value})} // coefficientOnChange={e => setNewCourse({...newCourse, coefficient: e.target.vlaue})} // questionQuantityOnChange={e => setNewCourse({...newCourse, questionsQuantity: e.target.value, questionnaireId: selectedQuestionare.id})} // submitOnClick={() => {dispatch({type: 'ADD_QUESTIONNAIRE_COURSES', payload : newCourse}); setAddCoursePopup(false); setFakeState(fakeState + 356)} } // /> }
تنظیمات آزمون

لطفا مشخضات آزمون را تکمیل کنید

{addExamState.courses.length > 0 && addExamState.courses.map( (item => (
setSelectedCourse(item)} >

dispatch({ type: 'REMOVE_EXAM_COURSE', payload: item })}> x

{item.title}

)) ) }
setQuestionairePopUp(true)}>

+

افزودن درس

handleOnDragEnd(result)} onDragStart={(result) => { console.log(result) if(result.source.droppableId == 'Choosed_Questions_Form_Bank'){ seChoosedQuestion(addExamState.courses.filter(itm => itm.id == selectedCourse.id)[0]?.selectedQuestions[result.source.index]) }else{ seChoosedQuestion(addExamState.questionBank.find(itm => itm.questionId == result.source.index)) } }}>
{(provided) => (
{ selectedCourse.id !== null && (<>

{selectedCourse.title}

{ addExamState.courses?.filter(itm => itm.id == selectedCourse.id)[0]?.selectedQuestions?.map( (item, index) => ( {(provided) => (
)}
) ) }
{provided.placeholder} ) } {/* {selectedQuestionare.id !== null &&
} */}
)}
{(provided) => (
{/* {setAnswers(data); setFakeState(fakeState - 2)}}/> */} {selectedCourse.id !== null && addExamState.questionBank?.filter(itm => itm.courseId == selectedCourse.id)?.map( (course, index) => ( {(provided) => (
)}
) ) } {/* */} {provided.placeholder}
)}
) } const mapStateToProps = (state) => ({ grades: state.publicApi.grades, addExamState: state.addExamReduser }) export default connect(mapStateToProps)(AddQuestionsFromBank);