@pie-element/multi-trait-rubric 6.3.4-next.3 → 7.0.0-beta.1

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.
Files changed (44) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/common.js +375 -534
  4. package/configure/lib/common.js.map +1 -1
  5. package/configure/lib/defaults.js +35 -6
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/index.js +96 -162
  8. package/configure/lib/index.js.map +1 -1
  9. package/configure/lib/main.js +346 -437
  10. package/configure/lib/main.js.map +1 -1
  11. package/configure/lib/modals.js +178 -333
  12. package/configure/lib/modals.js.map +1 -1
  13. package/configure/lib/scale.js +358 -463
  14. package/configure/lib/scale.js.map +1 -1
  15. package/configure/lib/trait.js +253 -358
  16. package/configure/lib/trait.js.map +1 -1
  17. package/configure/lib/traitsHeader.js +199 -264
  18. package/configure/lib/traitsHeader.js.map +1 -1
  19. package/configure/lib/utils.js +43 -74
  20. package/configure/lib/utils.js.map +1 -1
  21. package/configure/package.json +12 -9
  22. package/controller/lib/defaults.js +2 -3
  23. package/controller/lib/defaults.js.map +1 -1
  24. package/controller/lib/index.js +66 -123
  25. package/controller/lib/index.js.map +1 -1
  26. package/controller/lib/utils.js +1 -3
  27. package/controller/lib/utils.js.map +1 -1
  28. package/controller/package.json +1 -1
  29. package/lib/index.js +40 -77
  30. package/lib/index.js.map +1 -1
  31. package/lib/main.js +99 -140
  32. package/lib/main.js.map +1 -1
  33. package/lib/scale.js +217 -299
  34. package/lib/scale.js.map +1 -1
  35. package/lib/trait.js +51 -71
  36. package/lib/trait.js.map +1 -1
  37. package/package.json +10 -8
  38. package/esm/configure.js +0 -30404
  39. package/esm/configure.js.map +0 -1
  40. package/esm/controller.js +0 -176
  41. package/esm/controller.js.map +0 -1
  42. package/esm/element.js +0 -11204
  43. package/esm/element.js.map +0 -1
  44. package/esm/package.json +0 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","MIN_WIDTH","styles","theme","design","fontFamily","fontSize","typography","ShowModal","showExcludeZeroDialog","excludeZero","changeExcludeZero","cancel","propTypes","PropTypes","bool","func","Main","props","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","showInfoDialog","infoDialogText","adjustedWidth","initialUpdateCompleted","updateDivWidth","model","onModelChanged","configuration","scales","maxNoOfScales","defaultTraitLabel","length","traitLabel","set","push","maxPoints","scorePointsLabels","traits","scaleIndex","params","Object","keys","forEach","key","excludeZeroTypes","add0","minNoOfScales","slice","halfScoring","visibleToStudent","newState","setState","pointLabels","description","standards","excludeZeroType","newScales","hideToggleExcludeZeroModal","updatedModel","updatedProperty","showToggleExcludeZeroModal","divRef","React","createRef","bind","window","addEventListener","updateDivWidthDebounced","setTimeout","removeEventListener","state","current","divWidth","offsetWidth","onConfigurationChanged","uploadSoundSupport","imageSupport","addScale","baseInputConfiguration","dragAndDrop","contentDimensions","showDescription","showExcludeZero","showLevelTagInput","showStandards","showHalfScoring","showMaxPoint","showScorePointLabels","showVisibleToStudent","spellCheck","settingsPanelDisabled","maxNoOfTraits","minNoOfTraits","width","mathMlOptions","maxMaxPoints","expandedInput","labelInput","errors","extraCSSRules","spellCheckEnabled","maxPointsEnabled","addScaleEnabled","disabledExcludeZero","some","scale","panelSettings","label","panelProperties","getPluginProps","assign","Settings","Properties","map","onScaleRemoved","onScaleChanged","enabled","inputConfiguration","onScaleAdded","Component","classes","object","shape","add","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport debounce from 'lodash/debounce';\n\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { withDragContext } from '@pie-lib/drag';\nimport { layout, settings } from '@pie-lib/config-ui';\n\nimport Scale from './scale';\nimport { MultiTraitButton } from './common';\nimport { ExcludeZeroDialog, excludeZeroTypes, IncludeZeroDialog, InfoDialog } from './modals';\nimport { addOrRemoveScaleColumn } from './utils';\n\nconst { Panel, toggle } = settings;\nconst MIN_WIDTH = '650px';\n\nconst styles = (theme) => ({\n design: {\n fontFamily: 'Cerebri Sans',\n fontSize: theme.typography.fontSize,\n },\n});\n\nconst ShowModal = ({ showExcludeZeroDialog, excludeZero, changeExcludeZero, cancel }) => {\n if (showExcludeZeroDialog && !excludeZero) {\n return (\n <ExcludeZeroDialog\n open={showExcludeZeroDialog && !excludeZero}\n changeExcludeZero={changeExcludeZero}\n cancel={cancel}\n />\n );\n } else if (showExcludeZeroDialog && excludeZero) {\n return (\n <IncludeZeroDialog\n open={showExcludeZeroDialog && excludeZero}\n changeExcludeZero={changeExcludeZero}\n cancel={cancel}\n />\n );\n } else {\n return null;\n }\n};\n\nShowModal.propTypes = {\n showExcludeZeroDialog: PropTypes.bool,\n excludeZero: PropTypes.bool,\n changeExcludeZero: PropTypes.func,\n cancel: PropTypes.func,\n};\n\nexport class Main extends React.Component {\n constructor(props) {\n super(props);\n this.divRef = React.createRef();\n this.updateDivWidth = this.updateDivWidth.bind(this);\n }\n\n state = {\n showDecreaseMaxPointsDialog: false,\n showDeleteScaleDialog: false,\n showDeleteTraitDialog: false,\n showExcludeZeroDialog: false,\n showInfoDialog: false,\n infoDialogText: '',\n adjustedWidth: MIN_WIDTH,\n initialUpdateCompleted: false, // flag to track the initial update of the div width\n };\n\n componentDidMount() {\n window.addEventListener('resize', this.updateDivWidthDebounced);\n window.addEventListener('load', this.updateDivWidth);\n\n // delay updateDivWidth to avoid having this.divRef.current = null at first load\n setTimeout(this.updateDivWidth, 0);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateDivWidthDebounced);\n window.removeEventListener('load', this.updateDivWidth);\n }\n\n componentDidUpdate() {\n if (!this.state.initialUpdateCompleted) {\n this.updateDivWidth();\n this.setState({ initialUpdateCompleted: true });\n }\n }\n\n updateDivWidth() {\n if (this.divRef && this.divRef.current) {\n const divWidth = this.divRef.current.offsetWidth;\n if (divWidth !== this.state.adjustedWidth) {\n this.set({\n adjustedWidth: divWidth,\n });\n }\n }\n }\n\n updateDivWidthDebounced = debounce(() => this.updateDivWidth(), 50);\n\n onScaleAdded = () => {\n const { model, onModelChanged, configuration } = this.props;\n let { scales, excludeZero } = model || {};\n const { maxNoOfScales } = configuration || {};\n let { defaultTraitLabel } = configuration || '';\n\n if (!scales.length) {\n scales = [];\n }\n\n // if no default trait label is defined, take the trait label of the first scale\n defaultTraitLabel = typeof defaultTraitLabel === 'string' ? defaultTraitLabel : scales[0]?.traitLabel || '';\n\n if (scales.length === maxNoOfScales) {\n this.set({\n infoDialogText: `There can't be more than ${maxNoOfScales} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n scales.push({\n maxPoints: 1,\n scorePointsLabels: excludeZero ? [''] : ['', ''],\n traitLabel: defaultTraitLabel,\n traits: [],\n });\n\n onModelChanged({ ...model, scales });\n };\n\n onScaleChanged = (scaleIndex, params) => {\n const { model, onModelChanged } = this.props;\n let scales = cloneDeep((model || {}).scales);\n\n if (scaleIndex < 0 || scaleIndex >= scales.length || isEmpty(params)) return false;\n\n Object.keys(params).forEach((key) => {\n scales[scaleIndex][key] = params[key];\n });\n\n if (model.excludeZero && params.maxPoints === 1) {\n // excludeZero should be false and disabled when maxPoints is 1 for any scale\n model.excludeZero = false;\n scales = addOrRemoveScaleColumn(scales, excludeZeroTypes.add0);\n }\n\n onModelChanged({ ...model, scales });\n };\n\n onScaleRemoved = (scaleIndex) => {\n const { model, onModelChanged, configuration } = this.props;\n let { scales } = model || {};\n const { minNoOfScales } = configuration || {};\n\n if (scaleIndex < 0 || scaleIndex >= scales.length) return false;\n\n if (scales.length === minNoOfScales) {\n this.set({\n infoDialogText: `There can't be less than ${minNoOfScales} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n scales = [...scales.slice(0, scaleIndex), ...scales.slice(scaleIndex + 1)];\n\n onModelChanged({ ...model, scales });\n };\n\n onHalfScoringChanged = () => {\n const { model, onModelChanged } = this.props;\n let { halfScoring } = model || {};\n\n onModelChanged({ ...model, halfScoring: !halfScoring });\n };\n\n onVisibleToStudentChanged = () => {\n const { model, onModelChanged } = this.props;\n let { visibleToStudent } = model || {};\n\n onModelChanged({ ...model, visibleToStudent: !visibleToStudent });\n };\n\n set = (newState) => this.setState(newState);\n\n changeShowScorePointLabels = () => {\n const { model, onModelChanged } = this.props || {};\n let { pointLabels } = model || {};\n\n pointLabels = !pointLabels;\n\n onModelChanged({ ...model, pointLabels });\n };\n\n changeShowDescription = () => {\n const { model, onModelChanged } = this.props || {};\n let { description } = model || {};\n\n description = !description;\n\n onModelChanged({ ...model, description });\n };\n\n changeShowStandards = () => {\n const { model, onModelChanged } = this.props || {};\n let { standards } = model || {};\n\n standards = !standards;\n\n onModelChanged({ ...model, standards });\n };\n\n // Exclude Zero\n showToggleExcludeZeroModal = () => this.set({ showExcludeZeroDialog: true });\n\n hideToggleExcludeZeroModal = () => {\n this.set({ showExcludeZeroDialog: false });\n };\n\n onCloseInfoDialog = () => this.set({ showInfoDialog: false });\n\n changeExcludeZero = (excludeZeroType) => {\n const { model, onModelChanged } = this.props || {};\n const { scales } = model || {};\n let { excludeZero } = model || {};\n\n if (!scales || !scales.length) return;\n\n excludeZero = !excludeZero;\n const newScales = addOrRemoveScaleColumn(scales, excludeZeroType);\n\n onModelChanged({ ...model, scales: newScales, excludeZero });\n\n this.hideToggleExcludeZeroModal();\n };\n\n onModelChanged = (updatedModel, updatedProperty) => {\n const { onModelChanged } = this.props || {};\n\n if (updatedProperty === 'excludeZero') {\n this.showToggleExcludeZeroModal();\n } else {\n onModelChanged(updatedModel);\n }\n };\n\n render() {\n const { model, configuration, onConfigurationChanged, uploadSoundSupport, imageSupport } = this.props || {};\n const {\n addScale,\n baseInputConfiguration = {},\n dragAndDrop,\n contentDimensions = {},\n showDescription,\n showExcludeZero,\n showLevelTagInput,\n showStandards,\n showHalfScoring,\n showMaxPoint,\n showScorePointLabels,\n showVisibleToStudent,\n spellCheck = {},\n settingsPanelDisabled,\n maxNoOfTraits,\n minNoOfTraits,\n width,\n mathMlOptions = {},\n maxMaxPoints,\n expandedInput = {},\n labelInput = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n scales,\n excludeZero,\n description,\n pointLabels,\n standards,\n spellCheckEnabled,\n maxPointsEnabled,\n addScaleEnabled,\n } = model || {};\n const { showExcludeZeroDialog, showInfoDialog, infoDialogText, adjustedWidth } = this.state || {};\n\n // excludeZero should be false and disabled when maxPoints is 1 for any scale\n const disabledExcludeZero = scales?.some((scale) => scale.maxPoints === 1);\n\n const panelSettings = {\n standards: showStandards.settings && toggle(showStandards.label),\n 'showLevelTagInput.enabled': showLevelTagInput.settings && toggle(showLevelTagInput.label, true),\n visibleToStudent: showVisibleToStudent.settings && toggle(showVisibleToStudent.label),\n excludeZero: showExcludeZero.settings && toggle(showExcludeZero.label, false, disabledExcludeZero),\n halfScoring: showHalfScoring.settings && toggle(showHalfScoring.label),\n 'dragAndDrop.enabled': dragAndDrop.settings && toggle(dragAndDrop.label, true),\n };\n const panelProperties = {\n description: showDescription.settings && toggle(showDescription.label),\n pointLabels: showScorePointLabels.settings && toggle(showScorePointLabels.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),\n addScaleEnabled: addScale.settings && toggle(addScale.label),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={this.onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n modal={\n <ShowModal\n showExcludeZeroDialog={showExcludeZeroDialog}\n excludeZero={excludeZero}\n changeExcludeZero={this.changeExcludeZero}\n cancel={this.hideToggleExcludeZeroModal}\n ></ShowModal>\n }\n />\n }\n >\n <div style={{ width: '100%' }} ref={this.divRef} />\n <div style={{ width: width || adjustedWidth }}>\n {(scales || []).map((scale, scaleIndex) => (\n <Scale\n key={`scale-${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\n errors={errors}\n onScaleRemoved={this.onScaleRemoved}\n onScaleChanged={this.onScaleChanged}\n showStandards={standards}\n showScorePointLabels={pointLabels}\n showDescription={description}\n showLevelTagInput={showLevelTagInput.enabled}\n excludeZero={excludeZero}\n enableDragAndDrop={dragAndDrop.enabled}\n spellCheck={spellCheckEnabled}\n width={adjustedWidth}\n uploadSoundSupport={uploadSoundSupport}\n maxPointsEnabled={maxPointsEnabled}\n maxNoOfTraits={maxNoOfTraits}\n minNoOfTraits={minNoOfTraits}\n imageSupport={imageSupport}\n {...this.props}\n classes={{}}\n mathMlOptions={mathMlOptions}\n maxMaxPoints={maxMaxPoints}\n expandedPluginProps={getPluginProps(expandedInput?.inputConfiguration)}\n labelPluginProps={getPluginProps(labelInput?.inputConfiguration)}\n />\n ))}\n {addScaleEnabled && <MultiTraitButton onClick={this.onScaleAdded}>Add Scale</MultiTraitButton>}\n </div>\n\n <InfoDialog open={showInfoDialog} text={infoDialogText} onClose={() => this.set({ showInfoDialog: false })} />\n </layout.ConfigLayout>\n );\n }\n}\n\nMain.propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n};\n\nexport default withDragContext(withStyles(styles)(Main));\n"],"file":"main.js"}
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_cloneDeep","_isEmpty","_debounce","_styles","_configUi","_scale","_common","_modals","_utils","Panel","toggle","settings","MIN_WIDTH","StyledDiv","styled","theme","fontFamily","fontSize","typography","padding","ShowModal","showExcludeZeroDialog","excludeZero","changeExcludeZero","cancel","default","createElement","ExcludeZeroDialog","open","IncludeZeroDialog","propTypes","PropTypes","bool","func","Main","React","Component","constructor","props","_defineProperty2","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","showInfoDialog","infoDialogText","adjustedWidth","initialUpdateCompleted","debounce","updateDivWidth","model","onModelChanged","configuration","scales","maxNoOfScales","defaultTraitLabel","length","traitLabel","set","push","maxPoints","scorePointsLabels","traits","scaleIndex","params","cloneDeep","isEmpty","Object","keys","forEach","key","addOrRemoveScaleColumn","excludeZeroTypes","add0","minNoOfScales","slice","halfScoring","visibleToStudent","newState","setState","pointLabels","description","standards","excludeZeroType","newScales","hideToggleExcludeZeroModal","updatedModel","updatedProperty","showToggleExcludeZeroModal","divRef","createRef","bind","componentDidMount","window","addEventListener","updateDivWidthDebounced","setTimeout","componentWillUnmount","removeEventListener","componentDidUpdate","state","current","divWidth","offsetWidth","render","onConfigurationChanged","uploadSoundSupport","imageSupport","addScale","baseInputConfiguration","dragAndDrop","contentDimensions","showDescription","showExcludeZero","showLevelTagInput","showStandards","showHalfScoring","showMaxPoint","showScorePointLabels","showVisibleToStudent","spellCheck","settingsPanelDisabled","maxNoOfTraits","minNoOfTraits","width","mathMlOptions","maxMaxPoints","expandedInput","labelInput","errors","extraCSSRules","spellCheckEnabled","maxPointsEnabled","addScaleEnabled","disabledExcludeZero","some","scale","panelSettings","label","panelProperties","getPluginProps","assign","layout","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","modal","style","ref","map","_extends2","onScaleRemoved","onScaleChanged","enabled","enableDragAndDrop","expandedPluginProps","inputConfiguration","labelPluginProps","MultiTraitButton","onClick","onScaleAdded","InfoDialog","text","onClose","exports","object","shape","add","isRequired","delete","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport debounce from 'lodash/debounce';\n\nimport { styled } from '@mui/material/styles';\n\nimport { layout, settings } from '@pie-lib/config-ui';\n\nimport Scale from './scale';\nimport { MultiTraitButton } from './common';\nimport { ExcludeZeroDialog, excludeZeroTypes, IncludeZeroDialog, InfoDialog } from './modals';\nimport { addOrRemoveScaleColumn } from './utils';\n\nconst { Panel, toggle } = settings;\nconst MIN_WIDTH = '650px';\n\nconst StyledDiv = styled('div')(({ theme }) => ({\n fontFamily: 'Cerebri Sans',\n fontSize: theme.typography.fontSize,\n padding: '16px 0'\n}));\n\nconst ShowModal = ({ showExcludeZeroDialog, excludeZero, changeExcludeZero, cancel }) => {\n if (showExcludeZeroDialog && !excludeZero) {\n return (\n <ExcludeZeroDialog\n open={showExcludeZeroDialog && !excludeZero}\n changeExcludeZero={changeExcludeZero}\n cancel={cancel}\n />\n );\n } else if (showExcludeZeroDialog && excludeZero) {\n return (\n <IncludeZeroDialog\n open={showExcludeZeroDialog && excludeZero}\n changeExcludeZero={changeExcludeZero}\n cancel={cancel}\n />\n );\n } else {\n return null;\n }\n};\n\nShowModal.propTypes = {\n showExcludeZeroDialog: PropTypes.bool,\n excludeZero: PropTypes.bool,\n changeExcludeZero: PropTypes.func,\n cancel: PropTypes.func,\n};\n\nexport class Main extends React.Component {\n constructor(props) {\n super(props);\n this.divRef = React.createRef();\n this.updateDivWidth = this.updateDivWidth.bind(this);\n }\n\n state = {\n showDecreaseMaxPointsDialog: false,\n showDeleteScaleDialog: false,\n showDeleteTraitDialog: false,\n showExcludeZeroDialog: false,\n showInfoDialog: false,\n infoDialogText: '',\n adjustedWidth: MIN_WIDTH,\n initialUpdateCompleted: false, // flag to track the initial update of the div width\n };\n\n componentDidMount() {\n window.addEventListener('resize', this.updateDivWidthDebounced);\n window.addEventListener('load', this.updateDivWidth);\n\n // delay updateDivWidth to avoid having this.divRef.current = null at first load\n setTimeout(this.updateDivWidth, 0);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateDivWidthDebounced);\n window.removeEventListener('load', this.updateDivWidth);\n }\n\n componentDidUpdate() {\n if (!this.state.initialUpdateCompleted) {\n this.updateDivWidth();\n this.setState({ initialUpdateCompleted: true });\n }\n }\n\n updateDivWidth() {\n if (this.divRef && this.divRef.current) {\n const divWidth = this.divRef.current.offsetWidth;\n if (divWidth !== this.state.adjustedWidth) {\n this.set({\n adjustedWidth: divWidth,\n });\n }\n }\n }\n\n updateDivWidthDebounced = debounce(() => this.updateDivWidth(), 50);\n\n onScaleAdded = () => {\n const { model, onModelChanged, configuration } = this.props;\n let { scales, excludeZero } = model || {};\n const { maxNoOfScales } = configuration || {};\n let { defaultTraitLabel } = configuration || '';\n\n if (!scales.length) {\n scales = [];\n }\n\n // if no default trait label is defined, take the trait label of the first scale\n defaultTraitLabel = typeof defaultTraitLabel === 'string' ? defaultTraitLabel : scales[0]?.traitLabel || '';\n\n if (scales.length === maxNoOfScales) {\n this.set({\n infoDialogText: `There can't be more than ${maxNoOfScales} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n scales.push({\n maxPoints: 1,\n scorePointsLabels: excludeZero ? [''] : ['', ''],\n traitLabel: defaultTraitLabel,\n traits: [],\n });\n\n onModelChanged({ ...model, scales });\n };\n\n onScaleChanged = (scaleIndex, params) => {\n const { model, onModelChanged } = this.props;\n let scales = cloneDeep((model || {}).scales);\n\n if (scaleIndex < 0 || scaleIndex >= scales.length || isEmpty(params)) return false;\n\n Object.keys(params).forEach((key) => {\n scales[scaleIndex][key] = params[key];\n });\n\n if (model.excludeZero && params.maxPoints === 1) {\n // excludeZero should be false and disabled when maxPoints is 1 for any scale\n model.excludeZero = false;\n scales = addOrRemoveScaleColumn(scales, excludeZeroTypes.add0);\n }\n\n onModelChanged({ ...model, scales });\n };\n\n onScaleRemoved = (scaleIndex) => {\n const { model, onModelChanged, configuration } = this.props;\n let { scales } = model || {};\n const { minNoOfScales } = configuration || {};\n\n if (scaleIndex < 0 || scaleIndex >= scales.length) return false;\n\n if (scales.length === minNoOfScales) {\n this.set({\n infoDialogText: `There can't be less than ${minNoOfScales} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n scales = [...scales.slice(0, scaleIndex), ...scales.slice(scaleIndex + 1)];\n\n onModelChanged({ ...model, scales });\n };\n\n onHalfScoringChanged = () => {\n const { model, onModelChanged } = this.props;\n let { halfScoring } = model || {};\n\n onModelChanged({ ...model, halfScoring: !halfScoring });\n };\n\n onVisibleToStudentChanged = () => {\n const { model, onModelChanged } = this.props;\n let { visibleToStudent } = model || {};\n\n onModelChanged({ ...model, visibleToStudent: !visibleToStudent });\n };\n\n set = (newState) => this.setState(newState);\n\n changeShowScorePointLabels = () => {\n const { model, onModelChanged } = this.props || {};\n let { pointLabels } = model || {};\n\n pointLabels = !pointLabels;\n\n onModelChanged({ ...model, pointLabels });\n };\n\n changeShowDescription = () => {\n const { model, onModelChanged } = this.props || {};\n let { description } = model || {};\n\n description = !description;\n\n onModelChanged({ ...model, description });\n };\n\n changeShowStandards = () => {\n const { model, onModelChanged } = this.props || {};\n let { standards } = model || {};\n\n standards = !standards;\n\n onModelChanged({ ...model, standards });\n };\n\n // Exclude Zero\n showToggleExcludeZeroModal = () => this.set({ showExcludeZeroDialog: true });\n\n hideToggleExcludeZeroModal = () => {\n this.set({ showExcludeZeroDialog: false });\n };\n\n onCloseInfoDialog = () => this.set({ showInfoDialog: false });\n\n changeExcludeZero = (excludeZeroType) => {\n const { model, onModelChanged } = this.props || {};\n const { scales } = model || {};\n let { excludeZero } = model || {};\n\n if (!scales || !scales.length) return;\n\n excludeZero = !excludeZero;\n const newScales = addOrRemoveScaleColumn(scales, excludeZeroType);\n\n onModelChanged({ ...model, scales: newScales, excludeZero });\n\n this.hideToggleExcludeZeroModal();\n };\n\n onModelChanged = (updatedModel, updatedProperty) => {\n const { onModelChanged } = this.props || {};\n\n if (updatedProperty === 'excludeZero') {\n this.showToggleExcludeZeroModal();\n } else {\n onModelChanged(updatedModel);\n }\n };\n\n render() {\n const { model, configuration, onConfigurationChanged, uploadSoundSupport, imageSupport } = this.props || {};\n const {\n addScale,\n baseInputConfiguration = {},\n dragAndDrop,\n contentDimensions = {},\n showDescription,\n showExcludeZero,\n showLevelTagInput,\n showStandards,\n showHalfScoring,\n showMaxPoint,\n showScorePointLabels,\n showVisibleToStudent,\n spellCheck = {},\n settingsPanelDisabled,\n maxNoOfTraits,\n minNoOfTraits,\n width,\n mathMlOptions = {},\n maxMaxPoints,\n expandedInput = {},\n labelInput = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n scales,\n excludeZero,\n description,\n pointLabels,\n standards,\n spellCheckEnabled,\n maxPointsEnabled,\n addScaleEnabled,\n } = model || {};\n const { showExcludeZeroDialog, showInfoDialog, infoDialogText, adjustedWidth } = this.state || {};\n\n // excludeZero should be false and disabled when maxPoints is 1 for any scale\n const disabledExcludeZero = scales?.some((scale) => scale.maxPoints === 1);\n\n const panelSettings = {\n standards: showStandards.settings && toggle(showStandards.label),\n 'showLevelTagInput.enabled': showLevelTagInput.settings && toggle(showLevelTagInput.label, true),\n visibleToStudent: showVisibleToStudent.settings && toggle(showVisibleToStudent.label),\n excludeZero: showExcludeZero.settings && toggle(showExcludeZero.label, false, disabledExcludeZero),\n halfScoring: showHalfScoring.settings && toggle(showHalfScoring.label),\n 'dragAndDrop.enabled': dragAndDrop.settings && toggle(dragAndDrop.label, true),\n };\n const panelProperties = {\n description: showDescription.settings && toggle(showDescription.label),\n pointLabels: showScorePointLabels.settings && toggle(showScorePointLabels.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),\n addScaleEnabled: addScale.settings && toggle(addScale.label),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={this.onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n modal={\n <ShowModal\n showExcludeZeroDialog={showExcludeZeroDialog}\n excludeZero={excludeZero}\n changeExcludeZero={this.changeExcludeZero}\n cancel={this.hideToggleExcludeZeroModal}\n ></ShowModal>\n }\n />\n }\n >\n <div style={{ width: '100%' }} ref={this.divRef} />\n <StyledDiv style={{ width: width || adjustedWidth }}>\n {(scales || []).map((scale, scaleIndex) => (\n <Scale\n key={`scale-${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\n errors={errors}\n onScaleRemoved={this.onScaleRemoved}\n onScaleChanged={this.onScaleChanged}\n showStandards={standards}\n showScorePointLabels={pointLabels}\n showDescription={description}\n showLevelTagInput={showLevelTagInput.enabled}\n excludeZero={excludeZero}\n enableDragAndDrop={dragAndDrop.enabled}\n spellCheck={spellCheckEnabled}\n width={adjustedWidth}\n uploadSoundSupport={uploadSoundSupport}\n maxPointsEnabled={maxPointsEnabled}\n maxNoOfTraits={maxNoOfTraits}\n minNoOfTraits={minNoOfTraits}\n imageSupport={imageSupport}\n {...this.props}\n mathMlOptions={mathMlOptions}\n maxMaxPoints={maxMaxPoints}\n expandedPluginProps={getPluginProps(expandedInput?.inputConfiguration)}\n labelPluginProps={getPluginProps(labelInput?.inputConfiguration)}\n />\n ))}\n {addScaleEnabled && <MultiTraitButton onClick={this.onScaleAdded}>Add Scale</MultiTraitButton>}\n </StyledDiv>\n\n <InfoDialog open={showInfoDialog} text={infoDialogText} onClose={() => this.set({ showInfoDialog: false })} />\n </layout.ConfigLayout>\n );\n }\n}\n\nMain.propTypes = {\n model: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n};\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}