import { StrictDict } from '../../utils'; import singleSelect from '../images/singleSelect.png'; import multiSelect from '../images/multiSelect.png'; import dropdown from '../images/dropdown.png'; import numericalInput from '../images/numericalInput.png'; import textInput from '../images/textInput.png'; import advancedOlxTemplates from './advancedOlxTemplates'; import basicOlxTemplates from './basicOlxTemplates'; export const ProblemTypeKeys = StrictDict({ SINGLESELECT: 'multiplechoiceresponse', MULTISELECT: 'choiceresponse', DROPDOWN: 'optionresponse', NUMERIC: 'numericalresponse', TEXTINPUT: 'stringresponse', ADVANCED: 'advanced', }); export const ProblemTypes = StrictDict({ [ProblemTypeKeys.SINGLESELECT]: { title: 'Single select', preview: singleSelect, previewDescription: 'Learners must select the correct answer from a list of possible options.', description: 'Enter your single select answers below and select which choices are correct. Learners must choose one correct answer.', helpLink: 'https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/multiple_choice.html', prev: ProblemTypeKeys.TEXTINPUT, next: ProblemTypeKeys.MULTISELECT, template: basicOlxTemplates.singleSelect, }, [ProblemTypeKeys.MULTISELECT]: { title: 'Multi-select', preview: multiSelect, previewDescription: 'Learners must select all correct answers from a list of possible options.', description: 'Enter your multi select answers below and select which choices are correct. Learners must choose all correct answers.', helpLink: 'https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/checkbox.html', next: ProblemTypeKeys.DROPDOWN, prev: ProblemTypeKeys.SINGLESELECT, template: basicOlxTemplates.multiSelect, }, [ProblemTypeKeys.DROPDOWN]: { title: 'Dropdown', preview: dropdown, previewDescription: 'Learners must select the correct answer from a list of possible options', description: 'Enter your dropdown answers below and select which choice is correct. Learners must select one correct answer.', helpLink: 'https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/dropdown.html', next: ProblemTypeKeys.NUMERIC, prev: ProblemTypeKeys.MULTISELECT, template: basicOlxTemplates.dropdown, }, [ProblemTypeKeys.NUMERIC]: { title: 'Numerical input', preview: numericalInput, previewDescription: 'Specify one or more correct numeric answers, submitted in a response field.', description: 'Enter correct numerical input answers below. Learners must enter one correct answer.', helpLink: 'https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/numerical_input.html', next: ProblemTypeKeys.TEXTINPUT, prev: ProblemTypeKeys.DROPDOWN, template: basicOlxTemplates.numeric, }, [ProblemTypeKeys.TEXTINPUT]: { title: 'Text input', preview: textInput, previewDescription: 'Specify one or more correct text answers, including numbers and special characters, submitted in a response field.', description: 'Enter your text input answers below and select which choices are correct. Learners must enter one correct answer.', helpLink: 'https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/text_input.html', prev: ProblemTypeKeys.NUMERIC, next: ProblemTypeKeys.SINGLESELECT, template: basicOlxTemplates.textInput, }, [ProblemTypeKeys.ADVANCED]: { title: 'Advanced Problem', preview: ('
'), description: 'An Advanced Problem Type', helpLink: 'something.com', }, }); export const AdvanceProblemKeys = StrictDict({ BLANK: 'blankadvanced', CIRCUITSCHEMATIC: 'circuitschematic', JSINPUT: 'jsinputresponse', CUSTOMGRADER: 'customgrader', IMAGE: 'imageresponse', FORMULA: 'formularesponse', PROBLEMWITHHINT: 'problemwithhint', }); export const AdvanceProblems = StrictDict({ [AdvanceProblemKeys.BLANK]: { title: 'Blank advanced problem', status: '', template: '