@pie-element/multiple-choice 8.7.0 → 8.7.1-next.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -228,8 +228,9 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
228
228
  maxAnswerChoices = MAX_CHOICES;
229
229
  }
230
230
 
231
- var getPluginProps = function getPluginProps(props) {
232
- return Object.assign(_objectSpread({}, baseInputConfiguration), props || {});
231
+ var getPluginProps = function getPluginProps() {
232
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
233
+ return _objectSpread(_objectSpread({}, baseInputConfiguration), props);
233
234
  };
234
235
 
235
236
  var validationMessage = (0, _utils.generateValidationMessage)(configuration);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","radio","dropdown","MAX_CHOICES","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","rationaleHolder","flex","marginTop","marginLeft","accessibilityHolder","choiceConfigurationHolder","display","flexDirection","choiceConfiguration","switchElement","justifyContent","margin","addButton","disableButton","cursor","pointerEvents","backgroundColor","color","disabled","flexContainer","alignItems","titleText","fontSize","typography","marginRight","tooltip","whiteSpace","maxWidth","errorText","palette","error","main","Design","props","classes","model","configuration","onPromptChanged","onChoiceChanged","onRemoveChoice","onAddChoice","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","addChoiceButton","contentDimensions","feedback","deleteChoice","choiceMode","choicePrefix","partialScoring","lockChoiceOrder","teacherInstructions","studentInstructions","rationale","accessibility","scoringType","sequentialChoiceLabels","settingsPanelDisabled","choicesLayout","spellCheck","gridColumns","maxImageWidth","maxImageHeight","prompt","withRubric","mathMlOptions","language","languageChoices","maxAnswerChoices","limitChoicesNumber","teacherInstructionsEnabled","rationaleEnabled","accessibilityLabelsEnabled","feedbackEnabled","promptEnabled","spellCheckEnabled","choices","errors","toolbarEditorPosition","choicesErrors","correctResponseError","answerChoicesError","nrOfColumnsAvailable","length","Array","from","_","i","baseInputConfiguration","toolbarOpts","position","getPluginProps","Object","assign","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","addChoiceButtonTooltip","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","inputConfiguration","map","choice","index","c","value","root","Main","showWarning","onModelChanged","minAnswerChoices","setState","splice","push","utils","firstAvailableIndex","type","correct","key","correctFound","state","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport {\n AlertDialog,\n InputContainer,\n ChoiceConfiguration,\n settings,\n layout,\n choiceUtils as utils,\n} from '@pie-lib/pie-toolbox/config-ui';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport merge from 'lodash/merge';\nimport { generateValidationMessage } from './utils';\n\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst MAX_CHOICES = 9;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n rationaleHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n accessibilityHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n choiceConfigurationHolder: {\n display: 'flex',\n flexDirection: 'column',\n marginBottom: theme.spacing.unit,\n },\n choiceConfiguration: {\n width: '100%',\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n marginTop: theme.spacing.unit,\n float: 'right',\n },\n disableButton: {\n cursor: 'not-allowed',\n pointerEvents: 'all',\n backgroundColor: color.disabled(),\n '&:hover': {\n backgroundColor: color.disabled(),\n },\n '&:focus': {\n backgroundColor: color.disabled(),\n },\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n titleText: {\n fontSize: theme.typography.fontSize + 2,\n marginRight: theme.spacing.unit,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n onChoiceChanged,\n onRemoveChoice,\n onAddChoice,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n\n const {\n addChoiceButton = {},\n contentDimensions = {},\n feedback = {},\n deleteChoice = {},\n choiceMode = {},\n choicePrefix = {},\n partialScoring = {},\n lockChoiceOrder = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n accessibility = {},\n scoringType = {},\n sequentialChoiceLabels = {},\n settingsPanelDisabled,\n choicesLayout,\n spellCheck = {},\n gridColumns,\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n let { maxAnswerChoices } = configuration || {};\n const {\n limitChoicesNumber,\n teacherInstructionsEnabled,\n rationaleEnabled,\n accessibilityLabelsEnabled,\n feedbackEnabled,\n promptEnabled,\n spellCheckEnabled,\n choices,\n errors,\n toolbarEditorPosition,\n } = model || {};\n\n const { choicesErrors, correctResponseError, answerChoicesError } = errors || {};\n const nrOfColumnsAvailable = choices?.length ? Array.from({ length: choices.length }, (_, i) => `${i + 1}`) : [];\n\n const { baseInputConfiguration = {} } = configuration;\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n // if old property is used, set maxAnswerChoices to 9\n if (limitChoicesNumber) {\n maxAnswerChoices = MAX_CHOICES;\n }\n\n const getPluginProps = (props) => {\n return Object.assign({\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n const validationMessage = generateValidationMessage(configuration);\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const addChoiceButtonTooltip =\n maxAnswerChoices && choices?.length >= maxAnswerChoices ? `Only ${maxAnswerChoices} allowed maximum` : '';\n\n const panelSettings = {\n choiceMode: choiceMode.settings && radio(choiceMode.label, ['checkbox', 'radio']),\n 'sequentialChoiceLabels.enabled': sequentialChoiceLabels.settings && toggle(sequentialChoiceLabels.label, true),\n choicePrefix: choicePrefix.settings && radio(choicePrefix.label, ['numbers', 'letters']),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n choicesLayout: choicesLayout.settings && dropdown(choicesLayout.label, ['vertical', 'grid', 'horizontal']),\n gridColumns:\n choicesLayout.settings &&\n model.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.length > 0 &&\n dropdown(gridColumns.label, nrOfColumnsAvailable),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n accessibilityLabelsEnabled: accessibility.settings && toggle(accessibility.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.titleText}>Choices</Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} />\n </Tooltip>\n </div>\n\n {choices.map((choice, index) => (\n <div key={`choice-${index}`} className={classes.choiceConfigurationHolder}>\n <ChoiceConfiguration\n key={index}\n index={index + 1}\n useLetterOrdering={model.choicePrefix === 'letters'}\n className={classes.choiceConfiguration}\n mode={model.choiceMode}\n data={choice}\n defaultFeedback={{}}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={true}\n onDelete={() => onRemoveChoice(index)}\n onChange={(c) => onChoiceChanged(index, c)}\n allowFeedBack={feedbackEnabled}\n allowDelete={deleteChoice.settings}\n noLabels\n pluginOpts={getPluginProps(configuration?.choices?.inputConfiguration)}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n error={choicesErrors?.[choice.value] || null}\n noCorrectAnswerError={correctResponseError}\n maxImageWidth={(maxImageWidth && maxImageWidth.choices) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n\n {rationaleEnabled && (\n <InputContainer key={`rationale-${index}`} label={rationale.label} className={classes.rationaleHolder}>\n <EditableHtml\n className={classes.rationale}\n markup={choice.rationale || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, rationale: c })}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.rationale?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {accessibilityLabelsEnabled && (\n <InputContainer\n key={`accessibility-${index}`}\n label={accessibility.label}\n className={classes.accessibilityHolder}\n >\n <EditableHtml\n className={classes.accessibility}\n markup={choice.accessibility || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, accessibility: c })}\n imageSupport={imageSupport}\n pluginProps={getPluginProps(configuration?.accessibility?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.choices) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </div>\n ))}\n\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n {answerChoicesError && <div className={classes.errorText}>{answerChoicesError}</div>}\n\n {addChoiceButton.settings && (\n <Tooltip title={addChoiceButtonTooltip} classes={{ tooltip: classes.tooltip }}>\n <Button\n classes={{ root: maxAnswerChoices && choices?.length >= maxAnswerChoices && classes.disableButton }}\n className={classes.addButton}\n variant=\"contained\"\n color=\"primary\"\n onClick={onAddChoice}\n >\n {addChoiceButton.label}\n </Button>\n </Tooltip>\n )}\n </layout.ConfigLayout>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n state = { showWarning: false };\n\n onRemoveChoice = (index) => {\n const { model, configuration, onModelChanged } = this.props;\n const { minAnswerChoices } = configuration || {};\n\n if (minAnswerChoices && model.choices.length === minAnswerChoices) {\n this.setState({ showWarning: true });\n\n return;\n }\n\n model.choices.splice(index, 1);\n onModelChanged(model);\n };\n\n onAddChoice = () => {\n const { model, configuration, onModelChanged } = this.props;\n let { maxAnswerChoices } = configuration || {};\n const { limitChoicesNumber } = model || {};\n\n // if old property is used, set maxAnswerChoices to 9\n if (limitChoicesNumber) {\n maxAnswerChoices = MAX_CHOICES;\n }\n\n if (maxAnswerChoices && model.choices.length >= maxAnswerChoices) {\n return;\n }\n\n model.choices.push({\n label: '',\n value: utils.firstAvailableIndex(\n model.choices.map((c) => c.value),\n 0,\n ),\n feedback: { type: 'none' },\n });\n\n onModelChanged(model);\n };\n\n onChoiceChanged = (index, choice) => {\n const { model, onModelChanged } = this.props;\n\n if (choice.correct && model.choiceMode === 'radio') {\n model.choices = model.choices.map((c) => merge({}, c, { correct: false }));\n }\n\n model.choices.splice(index, 1, choice);\n onModelChanged(model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt,\n });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions,\n });\n };\n\n onModelChanged = (model, key) => {\n const { onModelChanged } = this.props;\n\n switch (key) {\n case 'choiceMode': {\n let value = model.choiceMode;\n\n if (value === 'radio') {\n let correctFound = false;\n\n model.choices = model.choices.map((c) => {\n if (correctFound) {\n c.correct = false;\n\n return c;\n }\n\n if (c.correct) {\n correctFound = true;\n }\n\n return c;\n });\n }\n\n onModelChanged(model, true);\n break;\n }\n\n default:\n onModelChanged(model);\n break;\n }\n };\n\n render() {\n const { configuration: { minAnswerChoices } = {} } = this.props;\n const { showWarning } = this.state;\n\n return (\n <React.Fragment>\n <AlertDialog\n open={showWarning}\n title=\"Warning\"\n text={`There can't be less than ${minAnswerChoices || 0} choices.`}\n onConfirm={() => this.setState({ showWarning: false })}\n />\n <Design\n {...this.props}\n onChangeModel={this.onModelChanged}\n onRemoveChoice={this.onRemoveChoice}\n onChoiceChanged={this.onChoiceChanged}\n onAddChoice={this.onAddChoice}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n </React.Fragment>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","radio","dropdown","MAX_CHOICES","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","rationaleHolder","flex","marginTop","marginLeft","accessibilityHolder","choiceConfigurationHolder","display","flexDirection","choiceConfiguration","switchElement","justifyContent","margin","addButton","disableButton","cursor","pointerEvents","backgroundColor","color","disabled","flexContainer","alignItems","titleText","fontSize","typography","marginRight","tooltip","whiteSpace","maxWidth","errorText","palette","error","main","Design","props","classes","model","configuration","onPromptChanged","onChoiceChanged","onRemoveChoice","onAddChoice","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","addChoiceButton","contentDimensions","feedback","deleteChoice","choiceMode","choicePrefix","partialScoring","lockChoiceOrder","teacherInstructions","studentInstructions","rationale","accessibility","scoringType","sequentialChoiceLabels","settingsPanelDisabled","choicesLayout","spellCheck","gridColumns","maxImageWidth","maxImageHeight","prompt","withRubric","mathMlOptions","language","languageChoices","maxAnswerChoices","limitChoicesNumber","teacherInstructionsEnabled","rationaleEnabled","accessibilityLabelsEnabled","feedbackEnabled","promptEnabled","spellCheckEnabled","choices","errors","toolbarEditorPosition","choicesErrors","correctResponseError","answerChoicesError","nrOfColumnsAvailable","length","Array","from","_","i","baseInputConfiguration","toolbarOpts","position","getPluginProps","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","addChoiceButtonTooltip","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","inputConfiguration","map","choice","index","c","value","root","Main","showWarning","onModelChanged","minAnswerChoices","setState","splice","push","utils","firstAvailableIndex","type","correct","key","correctFound","state","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport {\n AlertDialog,\n InputContainer,\n ChoiceConfiguration,\n settings,\n layout,\n choiceUtils as utils,\n} from '@pie-lib/pie-toolbox/config-ui';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport merge from 'lodash/merge';\nimport { generateValidationMessage } from './utils';\n\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst MAX_CHOICES = 9;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n rationaleHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n accessibilityHolder: {\n flex: 1,\n marginTop: theme.spacing.unit * 1.5,\n paddingTop: theme.spacing.unit * 2,\n marginLeft: theme.spacing.unit * 3.5,\n },\n choiceConfigurationHolder: {\n display: 'flex',\n flexDirection: 'column',\n marginBottom: theme.spacing.unit,\n },\n choiceConfiguration: {\n width: '100%',\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n marginTop: theme.spacing.unit,\n float: 'right',\n },\n disableButton: {\n cursor: 'not-allowed',\n pointerEvents: 'all',\n backgroundColor: color.disabled(),\n '&:hover': {\n backgroundColor: color.disabled(),\n },\n '&:focus': {\n backgroundColor: color.disabled(),\n },\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n titleText: {\n fontSize: theme.typography.fontSize + 2,\n marginRight: theme.spacing.unit,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n onChoiceChanged,\n onRemoveChoice,\n onAddChoice,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n\n const {\n addChoiceButton = {},\n contentDimensions = {},\n feedback = {},\n deleteChoice = {},\n choiceMode = {},\n choicePrefix = {},\n partialScoring = {},\n lockChoiceOrder = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n accessibility = {},\n scoringType = {},\n sequentialChoiceLabels = {},\n settingsPanelDisabled,\n choicesLayout,\n spellCheck = {},\n gridColumns,\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n let { maxAnswerChoices } = configuration || {};\n const {\n limitChoicesNumber,\n teacherInstructionsEnabled,\n rationaleEnabled,\n accessibilityLabelsEnabled,\n feedbackEnabled,\n promptEnabled,\n spellCheckEnabled,\n choices,\n errors,\n toolbarEditorPosition,\n } = model || {};\n\n const { choicesErrors, correctResponseError, answerChoicesError } = errors || {};\n const nrOfColumnsAvailable = choices?.length ? Array.from({ length: choices.length }, (_, i) => `${i + 1}`) : [];\n\n const { baseInputConfiguration = {} } = configuration;\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n // if old property is used, set maxAnswerChoices to 9\n if (limitChoicesNumber) {\n maxAnswerChoices = MAX_CHOICES;\n }\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n const validationMessage = generateValidationMessage(configuration);\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const addChoiceButtonTooltip =\n maxAnswerChoices && choices?.length >= maxAnswerChoices ? `Only ${maxAnswerChoices} allowed maximum` : '';\n\n const panelSettings = {\n choiceMode: choiceMode.settings && radio(choiceMode.label, ['checkbox', 'radio']),\n 'sequentialChoiceLabels.enabled': sequentialChoiceLabels.settings && toggle(sequentialChoiceLabels.label, true),\n choicePrefix: choicePrefix.settings && radio(choicePrefix.label, ['numbers', 'letters']),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n choicesLayout: choicesLayout.settings && dropdown(choicesLayout.label, ['vertical', 'grid', 'horizontal']),\n gridColumns:\n choicesLayout.settings &&\n model.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.length > 0 &&\n dropdown(gridColumns.label, nrOfColumnsAvailable),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n accessibilityLabelsEnabled: accessibility.settings && toggle(accessibility.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.titleText}>Choices</Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} />\n </Tooltip>\n </div>\n\n {choices.map((choice, index) => (\n <div key={`choice-${index}`} className={classes.choiceConfigurationHolder}>\n <ChoiceConfiguration\n key={index}\n index={index + 1}\n useLetterOrdering={model.choicePrefix === 'letters'}\n className={classes.choiceConfiguration}\n mode={model.choiceMode}\n data={choice}\n defaultFeedback={{}}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={true}\n onDelete={() => onRemoveChoice(index)}\n onChange={(c) => onChoiceChanged(index, c)}\n allowFeedBack={feedbackEnabled}\n allowDelete={deleteChoice.settings}\n noLabels\n pluginOpts={getPluginProps(configuration?.choices?.inputConfiguration)}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n error={choicesErrors?.[choice.value] || null}\n noCorrectAnswerError={correctResponseError}\n maxImageWidth={(maxImageWidth && maxImageWidth.choices) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n\n {rationaleEnabled && (\n <InputContainer key={`rationale-${index}`} label={rationale.label} className={classes.rationaleHolder}>\n <EditableHtml\n className={classes.rationale}\n markup={choice.rationale || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, rationale: c })}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.rationale?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {accessibilityLabelsEnabled && (\n <InputContainer\n key={`accessibility-${index}`}\n label={accessibility.label}\n className={classes.accessibilityHolder}\n >\n <EditableHtml\n className={classes.accessibility}\n markup={choice.accessibility || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, accessibility: c })}\n imageSupport={imageSupport}\n pluginProps={getPluginProps(configuration?.accessibility?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.choices) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </div>\n ))}\n\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n {answerChoicesError && <div className={classes.errorText}>{answerChoicesError}</div>}\n\n {addChoiceButton.settings && (\n <Tooltip title={addChoiceButtonTooltip} classes={{ tooltip: classes.tooltip }}>\n <Button\n classes={{ root: maxAnswerChoices && choices?.length >= maxAnswerChoices && classes.disableButton }}\n className={classes.addButton}\n variant=\"contained\"\n color=\"primary\"\n onClick={onAddChoice}\n >\n {addChoiceButton.label}\n </Button>\n </Tooltip>\n )}\n </layout.ConfigLayout>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n state = { showWarning: false };\n\n onRemoveChoice = (index) => {\n const { model, configuration, onModelChanged } = this.props;\n const { minAnswerChoices } = configuration || {};\n\n if (minAnswerChoices && model.choices.length === minAnswerChoices) {\n this.setState({ showWarning: true });\n\n return;\n }\n\n model.choices.splice(index, 1);\n onModelChanged(model);\n };\n\n onAddChoice = () => {\n const { model, configuration, onModelChanged } = this.props;\n let { maxAnswerChoices } = configuration || {};\n const { limitChoicesNumber } = model || {};\n\n // if old property is used, set maxAnswerChoices to 9\n if (limitChoicesNumber) {\n maxAnswerChoices = MAX_CHOICES;\n }\n\n if (maxAnswerChoices && model.choices.length >= maxAnswerChoices) {\n return;\n }\n\n model.choices.push({\n label: '',\n value: utils.firstAvailableIndex(\n model.choices.map((c) => c.value),\n 0,\n ),\n feedback: { type: 'none' },\n });\n\n onModelChanged(model);\n };\n\n onChoiceChanged = (index, choice) => {\n const { model, onModelChanged } = this.props;\n\n if (choice.correct && model.choiceMode === 'radio') {\n model.choices = model.choices.map((c) => merge({}, c, { correct: false }));\n }\n\n model.choices.splice(index, 1, choice);\n onModelChanged(model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt,\n });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions,\n });\n };\n\n onModelChanged = (model, key) => {\n const { onModelChanged } = this.props;\n\n switch (key) {\n case 'choiceMode': {\n let value = model.choiceMode;\n\n if (value === 'radio') {\n let correctFound = false;\n\n model.choices = model.choices.map((c) => {\n if (correctFound) {\n c.correct = false;\n\n return c;\n }\n\n if (c.correct) {\n correctFound = true;\n }\n\n return c;\n });\n }\n\n onModelChanged(model, true);\n break;\n }\n\n default:\n onModelChanged(model);\n break;\n }\n };\n\n render() {\n const { configuration: { minAnswerChoices } = {} } = this.props;\n const { showWarning } = this.state;\n\n return (\n <React.Fragment>\n <AlertDialog\n open={showWarning}\n title=\"Warning\"\n text={`There can't be less than ${minAnswerChoices || 0} choices.`}\n onConfirm={() => this.setState({ showWarning: false })}\n />\n <Design\n {...this.props}\n onChangeModel={this.onModelChanged}\n onRemoveChoice={this.onRemoveChoice}\n onChoiceChanged={this.onChoiceChanged}\n onAddChoice={this.onAddChoice}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n </React.Fragment>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
@@ -8,7 +8,7 @@
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@material-ui/icons": "^3.0.1",
10
10
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/pie-toolbox": "1.9.0",
11
+ "@pie-lib/pie-toolbox": "1.11.1",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15",
14
14
  "prop-types": "^15.6.2",
@@ -8,7 +8,7 @@
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@pie-lib/pie-toolbox": "1.9.0",
11
+ "@pie-lib/pie-toolbox": "1.11.1",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15"
14
14
  }
@@ -30,6 +30,17 @@
30
30
  "title": "EditableHtmlConfigureProp",
31
31
  "type": "object",
32
32
  "properties": {
33
+ "math": {
34
+ "title": "EditableHtmlButtonConfigure",
35
+ "type": "object",
36
+ "properties": {
37
+ "disabled": {
38
+ "description": "Indicates if the plugin is disabled or not",
39
+ "type": "boolean",
40
+ "title": "disabled"
41
+ }
42
+ }
43
+ },
33
44
  "audio": {
34
45
  "title": "EditableHtmlButtonConfigure",
35
46
  "type": "object",
@@ -73,6 +84,17 @@
73
84
  "title": "EditableHtmlConfigureProp",
74
85
  "type": "object",
75
86
  "properties": {
87
+ "math": {
88
+ "title": "EditableHtmlButtonConfigure",
89
+ "type": "object",
90
+ "properties": {
91
+ "disabled": {
92
+ "description": "Indicates if the plugin is disabled or not",
93
+ "type": "boolean",
94
+ "title": "disabled"
95
+ }
96
+ }
97
+ },
76
98
  "audio": {
77
99
  "title": "EditableHtmlButtonConfigure",
78
100
  "type": "object",
@@ -192,6 +214,17 @@
192
214
  "title": "EditableHtmlConfigureProp",
193
215
  "type": "object",
194
216
  "properties": {
217
+ "math": {
218
+ "title": "EditableHtmlButtonConfigure",
219
+ "type": "object",
220
+ "properties": {
221
+ "disabled": {
222
+ "description": "Indicates if the plugin is disabled or not",
223
+ "type": "boolean",
224
+ "title": "disabled"
225
+ }
226
+ }
227
+ },
195
228
  "audio": {
196
229
  "title": "EditableHtmlButtonConfigure",
197
230
  "type": "object",
@@ -327,6 +360,17 @@
327
360
  "title": "EditableHtmlConfigureProp",
328
361
  "type": "object",
329
362
  "properties": {
363
+ "math": {
364
+ "title": "EditableHtmlButtonConfigure",
365
+ "type": "object",
366
+ "properties": {
367
+ "disabled": {
368
+ "description": "Indicates if the plugin is disabled or not",
369
+ "type": "boolean",
370
+ "title": "disabled"
371
+ }
372
+ }
373
+ },
330
374
  "audio": {
331
375
  "title": "EditableHtmlButtonConfigure",
332
376
  "type": "object",
@@ -419,6 +463,17 @@
419
463
  "title": "EditableHtmlConfigureProp",
420
464
  "type": "object",
421
465
  "properties": {
466
+ "math": {
467
+ "title": "EditableHtmlButtonConfigure",
468
+ "type": "object",
469
+ "properties": {
470
+ "disabled": {
471
+ "description": "Indicates if the plugin is disabled or not",
472
+ "type": "boolean",
473
+ "title": "disabled"
474
+ }
475
+ }
476
+ },
422
477
  "audio": {
423
478
  "title": "EditableHtmlButtonConfigure",
424
479
  "type": "object",
@@ -495,6 +550,17 @@
495
550
  "title": "EditableHtmlConfigureProp",
496
551
  "type": "object",
497
552
  "properties": {
553
+ "math": {
554
+ "title": "EditableHtmlButtonConfigure",
555
+ "type": "object",
556
+ "properties": {
557
+ "disabled": {
558
+ "description": "Indicates if the plugin is disabled or not",
559
+ "type": "boolean",
560
+ "title": "disabled"
561
+ }
562
+ }
563
+ },
498
564
  "audio": {
499
565
  "title": "EditableHtmlButtonConfigure",
500
566
  "type": "object",
@@ -780,6 +846,17 @@
780
846
  "title": "EditableHtmlConfigureProp",
781
847
  "type": "object",
782
848
  "properties": {
849
+ "math": {
850
+ "title": "EditableHtmlButtonConfigure",
851
+ "type": "object",
852
+ "properties": {
853
+ "disabled": {
854
+ "description": "Indicates if the plugin is disabled or not",
855
+ "type": "boolean",
856
+ "title": "disabled"
857
+ }
858
+ }
859
+ },
783
860
  "audio": {
784
861
  "title": "EditableHtmlButtonConfigure",
785
862
  "type": "object",
@@ -834,6 +911,17 @@
834
911
  "title": "EditableHtmlConfigureProp",
835
912
  "type": "object",
836
913
  "properties": {
914
+ "math": {
915
+ "title": "EditableHtmlButtonConfigure",
916
+ "type": "object",
917
+ "properties": {
918
+ "disabled": {
919
+ "description": "Indicates if the plugin is disabled or not",
920
+ "type": "boolean",
921
+ "title": "disabled"
922
+ }
923
+ }
924
+ },
837
925
  "audio": {
838
926
  "title": "EditableHtmlButtonConfigure",
839
927
  "type": "object",
@@ -28,6 +28,14 @@ Indicates the label for the item that has to be displayed in the Settings Panel
28
28
 
29
29
  Properties of the `baseInputConfiguration` object:
30
30
 
31
+ ## `math` (object)
32
+
33
+ Properties of the `math` object:
34
+
35
+ ### `disabled` (boolean)
36
+
37
+ Indicates if the plugin is disabled or not
38
+
31
39
  ## `audio` (object)
32
40
 
33
41
  Properties of the `audio` object:
@@ -60,6 +68,14 @@ Properties of the `choices` object:
60
68
 
61
69
  Properties of the `inputConfiguration` object:
62
70
 
71
+ ### `math` (object)
72
+
73
+ Properties of the `math` object:
74
+
75
+ #### `disabled` (boolean)
76
+
77
+ Indicates if the plugin is disabled or not
78
+
63
79
  ### `audio` (object)
64
80
 
65
81
  Properties of the `audio` object:
@@ -148,6 +164,14 @@ Properties of the `prompt` object:
148
164
 
149
165
  Properties of the `inputConfiguration` object:
150
166
 
167
+ ### `math` (object)
168
+
169
+ Properties of the `math` object:
170
+
171
+ #### `disabled` (boolean)
172
+
173
+ Indicates if the plugin is disabled or not
174
+
151
175
  ### `audio` (object)
152
176
 
153
177
  Properties of the `audio` object:
@@ -248,6 +272,14 @@ Properties of the `rationale` object:
248
272
 
249
273
  Properties of the `inputConfiguration` object:
250
274
 
275
+ ### `math` (object)
276
+
277
+ Properties of the `math` object:
278
+
279
+ #### `disabled` (boolean)
280
+
281
+ Indicates if the plugin is disabled or not
282
+
251
283
  ### `audio` (object)
252
284
 
253
285
  Properties of the `audio` object:
@@ -316,6 +348,14 @@ Properties of the `teacherInstructions` object:
316
348
 
317
349
  Properties of the `inputConfiguration` object:
318
350
 
351
+ ### `math` (object)
352
+
353
+ Properties of the `math` object:
354
+
355
+ #### `disabled` (boolean)
356
+
357
+ Indicates if the plugin is disabled or not
358
+
319
359
  ### `audio` (object)
320
360
 
321
361
  Properties of the `audio` object:
@@ -373,6 +413,14 @@ Properties of the `accessibility` object:
373
413
 
374
414
  Properties of the `inputConfiguration` object:
375
415
 
416
+ ### `math` (object)
417
+
418
+ Properties of the `math` object:
419
+
420
+ #### `disabled` (boolean)
421
+
422
+ Indicates if the plugin is disabled or not
423
+
376
424
  ### `audio` (object)
377
425
 
378
426
  Properties of the `audio` object:
@@ -591,6 +639,14 @@ Indicates the label for the item that has to be displayed in the Settings Panel
591
639
 
592
640
  Properties of the `EditableHtmlConfigureProp` object:
593
641
 
642
+ ### `math` (object)
643
+
644
+ Properties of the `math` object:
645
+
646
+ #### `disabled` (boolean)
647
+
648
+ Indicates if the plugin is disabled or not
649
+
594
650
  ### `audio` (object)
595
651
 
596
652
  Properties of the `audio` object:
@@ -631,6 +687,14 @@ Properties of the `EditableHtmlPluginConfigure` object:
631
687
 
632
688
  Properties of the `inputConfiguration` object:
633
689
 
690
+ #### `math` (object)
691
+
692
+ Properties of the `math` object:
693
+
694
+ ##### `disabled` (boolean)
695
+
696
+ Indicates if the plugin is disabled or not
697
+
634
698
  #### `audio` (object)
635
699
 
636
700
  Properties of the `audio` object:
@@ -237,6 +237,17 @@
237
237
  "title": "EditableHtmlConfigureProp",
238
238
  "type": "object",
239
239
  "properties": {
240
+ "math": {
241
+ "title": "EditableHtmlButtonConfigure",
242
+ "type": "object",
243
+ "properties": {
244
+ "disabled": {
245
+ "description": "Indicates if the plugin is disabled or not",
246
+ "type": "boolean",
247
+ "title": "disabled"
248
+ }
249
+ }
250
+ },
240
251
  "audio": {
241
252
  "title": "EditableHtmlButtonConfigure",
242
253
  "type": "object",
@@ -291,6 +302,17 @@
291
302
  "title": "EditableHtmlConfigureProp",
292
303
  "type": "object",
293
304
  "properties": {
305
+ "math": {
306
+ "title": "EditableHtmlButtonConfigure",
307
+ "type": "object",
308
+ "properties": {
309
+ "disabled": {
310
+ "description": "Indicates if the plugin is disabled or not",
311
+ "type": "boolean",
312
+ "title": "disabled"
313
+ }
314
+ }
315
+ },
294
316
  "audio": {
295
317
  "title": "EditableHtmlButtonConfigure",
296
318
  "type": "object",
@@ -199,6 +199,14 @@ Indicates the label for the item that has to be displayed in the Settings Panel
199
199
 
200
200
  Properties of the `EditableHtmlConfigureProp` object:
201
201
 
202
+ ### `math` (object)
203
+
204
+ Properties of the `math` object:
205
+
206
+ #### `disabled` (boolean)
207
+
208
+ Indicates if the plugin is disabled or not
209
+
202
210
  ### `audio` (object)
203
211
 
204
212
  Properties of the `audio` object:
@@ -239,6 +247,14 @@ Properties of the `EditableHtmlPluginConfigure` object:
239
247
 
240
248
  Properties of the `inputConfiguration` object:
241
249
 
250
+ #### `math` (object)
251
+
252
+ Properties of the `math` object:
253
+
254
+ ##### `disabled` (boolean)
255
+
256
+ Indicates if the plugin is disabled or not
257
+
242
258
  #### `audio` (object)
243
259
 
244
260
  Properties of the `audio` object:
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_react_dom, _dll_classnames, _dll_lodash, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.1.6/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_react_dom, _dll_classnames, _dll_lodash, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.4.0/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_editable_html, _dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_render_ui} from "../../../@pie-lib/pie-toolbox-module@4.0.0/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
@@ -10279,11 +10279,10 @@ const Design = styles$8.withStyles(styles)(props => {
10279
10279
  if (limitChoicesNumber) {
10280
10280
  maxAnswerChoices = MAX_CHOICES;
10281
10281
  }
10282
- const getPluginProps = props => {
10283
- return Object.assign({
10284
- ...baseInputConfiguration
10285
- }, props || ({}));
10286
- };
10282
+ const getPluginProps = (props = {}) => ({
10283
+ ...baseInputConfiguration,
10284
+ ...props
10285
+ });
10287
10286
  const validationMessage = generateValidationMessage(configuration);
10288
10287
  const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
10289
10288
  const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
@@ -10325,13 +10324,13 @@ const Design = styles$8.withStyles(styles)(props => {
10325
10324
  __self: undefined,
10326
10325
  __source: {
10327
10326
  fileName: _jsxFileName,
10328
- lineNumber: 207
10327
+ lineNumber: 204
10329
10328
  }
10330
10329
  }),
10331
10330
  __self: undefined,
10332
10331
  __source: {
10333
10332
  fileName: _jsxFileName,
10334
- lineNumber: 203
10333
+ lineNumber: 200
10335
10334
  }
10336
10335
  }, teacherInstructionsEnabled && React$1.createElement(InputContainer, {
10337
10336
  label: teacherInstructions.label,
@@ -10339,7 +10338,7 @@ const Design = styles$8.withStyles(styles)(props => {
10339
10338
  __self: undefined,
10340
10339
  __source: {
10341
10340
  fileName: _jsxFileName,
10342
- lineNumber: 220
10341
+ lineNumber: 217
10343
10342
  }
10344
10343
  }, React$1.createElement(EditableHtml, {
10345
10344
  className: classes.prompt,
@@ -10362,7 +10361,7 @@ const Design = styles$8.withStyles(styles)(props => {
10362
10361
  __self: undefined,
10363
10362
  __source: {
10364
10363
  fileName: _jsxFileName,
10365
- lineNumber: 221
10364
+ lineNumber: 218
10366
10365
  }
10367
10366
  })), promptEnabled && React$1.createElement(InputContainer, {
10368
10367
  label: prompt.label,
@@ -10370,7 +10369,7 @@ const Design = styles$8.withStyles(styles)(props => {
10370
10369
  __self: undefined,
10371
10370
  __source: {
10372
10371
  fileName: _jsxFileName,
10373
- lineNumber: 240
10372
+ lineNumber: 237
10374
10373
  }
10375
10374
  }, React$1.createElement(EditableHtml, {
10376
10375
  className: classes.prompt,
@@ -10394,21 +10393,21 @@ const Design = styles$8.withStyles(styles)(props => {
10394
10393
  __self: undefined,
10395
10394
  __source: {
10396
10395
  fileName: _jsxFileName,
10397
- lineNumber: 241
10396
+ lineNumber: 238
10398
10397
  }
10399
10398
  })), React$1.createElement('div', {
10400
10399
  className: classes.flexContainer,
10401
10400
  __self: undefined,
10402
10401
  __source: {
10403
10402
  fileName: _jsxFileName,
10404
- lineNumber: 260
10403
+ lineNumber: 257
10405
10404
  }
10406
10405
  }, React$1.createElement(Typography, {
10407
10406
  className: classes.titleText,
10408
10407
  __self: undefined,
10409
10408
  __source: {
10410
10409
  fileName: _jsxFileName,
10411
- lineNumber: 261
10410
+ lineNumber: 258
10412
10411
  }
10413
10412
  }, "Choices"), React$1.createElement(Tooltip, {
10414
10413
  classes: {
@@ -10421,7 +10420,7 @@ const Design = styles$8.withStyles(styles)(props => {
10421
10420
  __self: undefined,
10422
10421
  __source: {
10423
10422
  fileName: _jsxFileName,
10424
- lineNumber: 262
10423
+ lineNumber: 259
10425
10424
  }
10426
10425
  }, React$1.createElement(default_1, {
10427
10426
  fontSize: 'small',
@@ -10429,7 +10428,7 @@ const Design = styles$8.withStyles(styles)(props => {
10429
10428
  __self: undefined,
10430
10429
  __source: {
10431
10430
  fileName: _jsxFileName,
10432
- lineNumber: 269
10431
+ lineNumber: 266
10433
10432
  }
10434
10433
  }))), choices.map((choice, index) => React$1.createElement('div', {
10435
10434
  key: `choice-${index}`,
@@ -10437,7 +10436,7 @@ const Design = styles$8.withStyles(styles)(props => {
10437
10436
  __self: undefined,
10438
10437
  __source: {
10439
10438
  fileName: _jsxFileName,
10440
- lineNumber: 274
10439
+ lineNumber: 271
10441
10440
  }
10442
10441
  }, React$1.createElement(ChoiceConfiguration, {
10443
10442
  key: index,
@@ -10466,7 +10465,7 @@ const Design = styles$8.withStyles(styles)(props => {
10466
10465
  __self: undefined,
10467
10466
  __source: {
10468
10467
  fileName: _jsxFileName,
10469
- lineNumber: 275
10468
+ lineNumber: 272
10470
10469
  }
10471
10470
  }), rationaleEnabled && React$1.createElement(InputContainer, {
10472
10471
  key: `rationale-${index}`,
@@ -10475,7 +10474,7 @@ const Design = styles$8.withStyles(styles)(props => {
10475
10474
  __self: undefined,
10476
10475
  __source: {
10477
10476
  fileName: _jsxFileName,
10478
- lineNumber: 302
10477
+ lineNumber: 299
10479
10478
  }
10480
10479
  }, React$1.createElement(EditableHtml, {
10481
10480
  className: classes.rationale,
@@ -10500,7 +10499,7 @@ const Design = styles$8.withStyles(styles)(props => {
10500
10499
  __self: undefined,
10501
10500
  __source: {
10502
10501
  fileName: _jsxFileName,
10503
- lineNumber: 303
10502
+ lineNumber: 300
10504
10503
  }
10505
10504
  })), accessibilityLabelsEnabled && React$1.createElement(InputContainer, {
10506
10505
  key: `accessibility-${index}`,
@@ -10509,7 +10508,7 @@ const Design = styles$8.withStyles(styles)(props => {
10509
10508
  __self: undefined,
10510
10509
  __source: {
10511
10510
  fileName: _jsxFileName,
10512
- lineNumber: 321
10511
+ lineNumber: 318
10513
10512
  }
10514
10513
  }, React$1.createElement(EditableHtml, {
10515
10514
  className: classes.accessibility,
@@ -10533,21 +10532,21 @@ const Design = styles$8.withStyles(styles)(props => {
10533
10532
  __self: undefined,
10534
10533
  __source: {
10535
10534
  fileName: _jsxFileName,
10536
- lineNumber: 326
10535
+ lineNumber: 323
10537
10536
  }
10538
10537
  })))), correctResponseError && React$1.createElement('div', {
10539
10538
  className: classes.errorText,
10540
10539
  __self: undefined,
10541
10540
  __source: {
10542
10541
  fileName: _jsxFileName,
10543
- lineNumber: 344
10542
+ lineNumber: 341
10544
10543
  }
10545
10544
  }, correctResponseError), answerChoicesError && React$1.createElement('div', {
10546
10545
  className: classes.errorText,
10547
10546
  __self: undefined,
10548
10547
  __source: {
10549
10548
  fileName: _jsxFileName,
10550
- lineNumber: 345
10549
+ lineNumber: 342
10551
10550
  }
10552
10551
  }, answerChoicesError), addChoiceButton.settings && React$1.createElement(Tooltip, {
10553
10552
  title: addChoiceButtonTooltip,
@@ -10557,7 +10556,7 @@ const Design = styles$8.withStyles(styles)(props => {
10557
10556
  __self: undefined,
10558
10557
  __source: {
10559
10558
  fileName: _jsxFileName,
10560
- lineNumber: 348
10559
+ lineNumber: 345
10561
10560
  }
10562
10561
  }, React$1.createElement(Button, {
10563
10562
  classes: {
@@ -10570,7 +10569,7 @@ const Design = styles$8.withStyles(styles)(props => {
10570
10569
  __self: undefined,
10571
10570
  __source: {
10572
10571
  fileName: _jsxFileName,
10573
- lineNumber: 349
10572
+ lineNumber: 346
10574
10573
  }
10575
10574
  }, addChoiceButton.label)));
10576
10575
  });
@@ -10703,7 +10702,7 @@ class Main extends React$1.Component {
10703
10702
  __self: this,
10704
10703
  __source: {
10705
10704
  fileName: _jsxFileName,
10706
- lineNumber: 485
10705
+ lineNumber: 482
10707
10706
  }
10708
10707
  }, React$1.createElement(AlertDialog, {
10709
10708
  open: showWarning,
@@ -10715,7 +10714,7 @@ class Main extends React$1.Component {
10715
10714
  __self: this,
10716
10715
  __source: {
10717
10716
  fileName: _jsxFileName,
10718
- lineNumber: 486
10717
+ lineNumber: 483
10719
10718
  }
10720
10719
  }), React$1.createElement(Design, {
10721
10720
  ...this.props,
@@ -10728,7 +10727,7 @@ class Main extends React$1.Component {
10728
10727
  __self: this,
10729
10728
  __source: {
10730
10729
  fileName: _jsxFileName,
10731
- lineNumber: 492
10730
+ lineNumber: 489
10732
10731
  }
10733
10732
  }));
10734
10733
  }
package/module/element.js CHANGED
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.1.6/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.4.0/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@4.0.0/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
package/module/index.html CHANGED
@@ -2,7 +2,7 @@
2
2
  <!doctype html>
3
3
  <html>
4
4
  <head>
5
- <title>@pie-element/multiple-choice@8.6.1</title>
5
+ <title>@pie-element/multiple-choice@8.7.0</title>
6
6
  <script
7
7
  type="module"
8
8
  src="https://cdn.jsdelivr.net/npm/@pslb/demo-el@^1.0.0/dist/demo-el/demo-el.esm.js"></script>
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@pie-element/multiple-choice",
3
- "version": "8.6.1",
3
+ "version": "8.7.0",
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/pie-toolbox-math-rendering-module",
7
- "version": "1.1.6"
7
+ "version": "1.4.0"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
package/module/print.html CHANGED
@@ -2,7 +2,7 @@
2
2
  <!doctype html>
3
3
  <html>
4
4
  <head>
5
- <title>@pie-element/multiple-choice@8.6.1</title>
5
+ <title>@pie-element/multiple-choice@8.7.0</title>
6
6
  <link
7
7
  href="https://fonts.googleapis.com/css?family=Roboto&display=swap"
8
8
  rel="stylesheet"
package/module/print.js CHANGED
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_lib__pie_toolbox_math_rendering, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.1.6/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_lib__pie_toolbox_math_rendering, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.4.0/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@4.0.0/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@pie-element/multiple-choice",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "8.7.0",
4
+ "version": "8.7.1-next.48+a8e4e6ab2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
- "@pie-lib/pie-toolbox": "1.9.0",
10
+ "@pie-lib/pie-toolbox": "1.11.1",
11
11
  "classnames": "^2.2.5",
12
12
  "debug": "^4.1.1",
13
13
  "enzyme-to-json": "^3.3.3",
@@ -18,7 +18,7 @@
18
18
  "react-test-renderer": "^16.3.2",
19
19
  "react-transition-group": "^2.3.1"
20
20
  },
21
- "gitHead": "3aaaa00aa149439eb0cb72d04d6ff3eecf0ee4b5",
21
+ "gitHead": "a8e4e6ab27584435ce7ac3e964ccac2747402777",
22
22
  "scripts": {
23
23
  "postpublish": "../../scripts/postpublish"
24
24
  },