import React, { useEffect, useRef } from 'react'; import { Table, Row, Col, Button, Form, Modal, InputGroup, Accordion, Breadcrumb, Spinner } from 'react-bootstrap'; import { Link, useParams } from 'react-router-dom'; import useUpdateExercises from '../hooks/useUpdateExercises'; import ModalOperation from '../../../../components/ui/adminMessageModal/ModalOperation'; import {ReactSortable } from 'react-sortablejs'; import VideoPlayer from './components/VideoPlayer'; const mpColors = ['#FC6454', '#FBD025', '#46E59A', '#0090FF','#E355D5']; const UpdateExercises = () => { const { levelId } = useParams(); const { loading, error, exerciseData, setExerciseData, formData, levelName, sectionName, topicName, mediaPath, mediaPreview, handleFormChange, handleFormChangeAnswer, handleFormChangeMedia, handleFormResetMedia, updateMaterials, showLoader, handleCloseLoader, loaderState, createQuestion, updateQuestion, deleteQuestion, sortingQuestion, selectedQuestion, selectedQuestionNumber, show, handleShow, handleClose, handleShowNewData, validUrl, handleCheckUrl, handleUrlInput, showUrlModal, handleShowUrlModal, handleCloseUrlModal, handleSetVideoUrl } = useUpdateExercises(levelId); const triggerFileInput = (e) => { e.target.previousElementSibling.click(); }; return (
Learning Exercise Update Exercise

{sectionName} : {topicName} - {levelName}

{/*

1

.Multiple Choice

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum assumenda tenetur nostrum, consequatur mollitia ea dignissimos adipisci rerum nesciunt laboriosam laborum ut atque beatae facilis nam illum impedit quia eius.

Question Choices gatau ya ini ya itu gatau ini
*/} {loading?(
):( <>

{exerciseData.length} Question

{exerciseData.map((data, index) => (

{index+1}

. {data.QUESTION_TYPE}

{data.SCORE_WEIGHT} point

{data.IMAGE?( handleShow(index)} /> ):( data.AUDIO?( ):( data.VIDEO?(
handleShow(index)}>
):( <> ) ) )}

{data.QUESTION}

Answer Key : {data.QUESTION_TYPE === "TFQ"?( {data.trueFalse[0].IS_TRUE === 1 || data.trueFalse[0].IS_TRUE === "1" ?( ):( )} True {data.trueFalse[0].IS_TRUE === 0 || data.trueFalse[0].IS_TRUE === "0" ?( ):( )} False ):( data.QUESTION_TYPE === "MCQ"?( {data.multipleChoices[0].ANSWER_KEY === "A"?( ):( )} {data.multipleChoices[0].OPTION_A} {data.multipleChoices[0].ANSWER_KEY === "B"?( ):( )} {data.multipleChoices[0].OPTION_B} {data.multipleChoices[0].ANSWER_KEY === "C"?( ):( )} {data.multipleChoices[0].OPTION_C} {data.multipleChoices[0].ANSWER_KEY === "D"?( ):( )} {data.multipleChoices[0].OPTION_D} {data.multipleChoices[0].OPTION_E?( {data.multipleChoices[0].ANSWER_KEY === "E"?( ):( )} {data.multipleChoices[0].OPTION_E} ):( <> )} ):(
{data.matchingPairs.map((dataMp, index) => (
{dataMp.LEFT_PAIR}
{dataMp.RIGHT_PAIR}
))}
) )}
))}
)}
Question Editor
{ e.preventDefault(); selectedQuestion?updateQuestion():createQuestion(); }}>

{selectedQuestionNumber ? `Question ${selectedQuestionNumber}` : "New Question"}

{selectedQuestion?( <> ):( Question Type* )} Question* Media (optional) {formData.IMAGE?(
{mediaPreview?( ):( )}
):( formData.AUDIO?(
{mediaPreview?( ):( )}
):( formData.VIDEO?(
):(
) ) )}
{formData.QUESTION_TYPE=== "TFQ"?( Answer Key* Weight* document.activeElement.blur()} placeholder="Enter Weight" required min={0} name='SCORE_WEIGHT' defaultValue={formData.SCORE_WEIGHT || ''} onChange={handleFormChange} /> ):( formData.QUESTION_TYPE=== "MCQ"?( Option A* Option B* Option C* Option D* Option E (Optional) Answer Key* Weight* document.activeElement.blur()} placeholder="Enter Weight" required min={0} name='SCORE_WEIGHT' defaultValue={formData.SCORE_WEIGHT || ''} onChange={handleFormChange} /> ):( formData.QUESTION_TYPE=== "MPQ"?( Left Pair* Right Pair* Weight* document.activeElement.blur()} required min={0} placeholder="Enter Weight" name='SCORE_WEIGHT' value={formData.SCORE_WEIGHT || ''} onChange={handleFormChange} /> ):( <> Answer Key*

Select Question Type

) ) )} {/*
*/}
Video URL {validUrl === "valid"?( ):( )} {validUrl === "invalid" ? "This URL is invalid." : validUrl === "valid" ? "This URL is valid" : "The URL will be checked for validity before use."}
); }; export default UpdateExercises;