@pie-element/multi-trait-rubric 3.8.2-next.7 → 3.8.3-next.10
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.
- package/CHANGELOG.md +13 -0
- package/configure/CHANGELOG.md +13 -0
- package/configure/lib/common.js +22 -10
- package/configure/lib/common.js.map +1 -1
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +47 -13
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +9 -3
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/scale.js +7 -3
- package/configure/lib/scale.js.map +1 -1
- package/configure/lib/trait.js +16 -6
- package/configure/lib/trait.js.map +1 -1
- package/configure/lib/traitsHeader.js +15 -6
- package/configure/lib/traitsHeader.js.map +1 -1
- package/configure/package.json +2 -2
- package/controller/package.json +1 -1
- package/package.json +3 -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","model","onModelChanged","configuration","scales","maxNoOfScales","defaultTraitLabel","length","traitLabel","set","push","maxPoints","scorePointsLabels","traits","scaleIndex","params","Object","keys","forEach","key","minNoOfScales","slice","halfScoring","visibleToStudent","newState","setState","pointLabels","description","standards","excludeZeroType","newScales","reduce","acc","scale","excludeZeroTypes","remove0","map","scorePointsDescriptors","trait","add0","shiftLeft","shiftRight","hideToggleExcludeZeroModal","updatedModel","updatedProperty","showToggleExcludeZeroModal","divRef","React","createRef","updateDivWidth","bind","window","addEventListener","removeEventListener","state","current","divWidth","offsetWidth","onConfigurationChanged","uploadSoundSupport","addScale","baseInputConfiguration","dragAndDrop","contentDimensions","showDescription","showExcludeZero","showLevelTagInput","showStandards","showHalfScoring","showMaxPoint","showScorePointLabels","showVisibleToStudent","spellCheck","settingsPanelDisabled","maxNoOfTraits","minNoOfTraits","width","mathMlOptions","maxMaxPoints","expandedInput","labelInput","errors","spellCheckEnabled","maxPointsEnabled","addScaleEnabled","panelSettings","label","panelProperties","getPluginProps","assign","Settings","Properties","onScaleRemoved","onScaleChanged","enabled","inputConfiguration","onScaleAdded","Component","classes","object"],"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';\n\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { withDragContext } from '@pie-lib/pie-toolbox/drag';\nimport { layout, settings } from '@pie-lib/pie-toolbox/config-ui';\n\nimport Scale from './scale';\nimport { MultiTraitButton } from './common';\nimport { ExcludeZeroDialog, excludeZeroTypes, IncludeZeroDialog, InfoDialog } from './modals';\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 this.updateDivWidth();\n\n window.addEventListener('resize', this.updateDivWidth);\n window.addEventListener('load', this.updateDivWidth);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateDivWidth);\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 this.set({\n adjustedWidth: divWidth,\n });\n }\n }\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 const 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 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\n const newScales = scales.reduce((acc, scale) => {\n let { scorePointsLabels, traits } = scale || {};\n\n if (scorePointsLabels.length < 1) return acc;\n\n switch (excludeZeroType) {\n case excludeZeroTypes.remove0: {\n // removes column 0\n scorePointsLabels = scorePointsLabels.slice(1);\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: scorePointsDescriptors.slice(1),\n }));\n\n break;\n }\n\n case excludeZeroTypes.add0: {\n // adds empty column at start\n scorePointsLabels = ['', ...scorePointsLabels];\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: ['', ...scorePointsDescriptors],\n }));\n\n break;\n }\n\n case excludeZeroTypes.shiftLeft: {\n // removes last column\n scorePointsLabels = scorePointsLabels.slice(0, -1);\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: scorePointsDescriptors.slice(0, -1),\n }));\n\n break;\n }\n\n case excludeZeroTypes.shiftRight: {\n // adds empty column at end\n scorePointsLabels = [...scorePointsLabels, ''];\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: [...scorePointsDescriptors, ''],\n }));\n\n break;\n }\n\n default:\n break;\n }\n\n acc.push({ ...scale, scorePointsLabels, traits });\n\n return acc;\n }, []);\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 } = 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 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 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),\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 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 {...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};\n\nexport default withDragContext(withStyles(styles)(Main));\n"],"file":"main.js"}
|
|
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","model","onModelChanged","configuration","scales","maxNoOfScales","defaultTraitLabel","length","traitLabel","set","push","maxPoints","scorePointsLabels","traits","scaleIndex","params","Object","keys","forEach","key","minNoOfScales","slice","halfScoring","visibleToStudent","newState","setState","pointLabels","description","standards","excludeZeroType","newScales","reduce","acc","scale","excludeZeroTypes","remove0","map","scorePointsDescriptors","trait","add0","shiftLeft","shiftRight","hideToggleExcludeZeroModal","updatedModel","updatedProperty","showToggleExcludeZeroModal","divRef","React","createRef","updateDivWidth","bind","window","addEventListener","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","spellCheckEnabled","maxPointsEnabled","addScaleEnabled","panelSettings","label","panelProperties","getPluginProps","assign","Settings","Properties","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';\n\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { withDragContext } from '@pie-lib/pie-toolbox/drag';\nimport { layout, settings } from '@pie-lib/pie-toolbox/config-ui';\n\nimport Scale from './scale';\nimport { MultiTraitButton } from './common';\nimport { ExcludeZeroDialog, excludeZeroTypes, IncludeZeroDialog, InfoDialog } from './modals';\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 this.updateDivWidth();\n\n window.addEventListener('resize', this.updateDivWidth);\n window.addEventListener('load', this.updateDivWidth);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateDivWidth);\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 this.set({\n adjustedWidth: divWidth,\n });\n }\n }\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 const 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 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\n const newScales = scales.reduce((acc, scale) => {\n let { scorePointsLabels, traits } = scale || {};\n\n if (scorePointsLabels.length < 1) return acc;\n\n switch (excludeZeroType) {\n case excludeZeroTypes.remove0: {\n // removes column 0\n scorePointsLabels = scorePointsLabels.slice(1);\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: scorePointsDescriptors.slice(1),\n }));\n\n break;\n }\n\n case excludeZeroTypes.add0: {\n // adds empty column at start\n scorePointsLabels = ['', ...scorePointsLabels];\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: ['', ...scorePointsDescriptors],\n }));\n\n break;\n }\n\n case excludeZeroTypes.shiftLeft: {\n // removes last column\n scorePointsLabels = scorePointsLabels.slice(0, -1);\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: scorePointsDescriptors.slice(0, -1),\n }));\n\n break;\n }\n\n case excludeZeroTypes.shiftRight: {\n // adds empty column at end\n scorePointsLabels = [...scorePointsLabels, ''];\n traits = traits.map(({ scorePointsDescriptors, ...trait }) => ({\n ...trait,\n scorePointsDescriptors: [...scorePointsDescriptors, ''],\n }));\n\n break;\n }\n\n default:\n break;\n }\n\n acc.push({ ...scale, scorePointsLabels, traits });\n\n return acc;\n }, []);\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 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 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),\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 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"}
|
package/configure/lib/scale.js
CHANGED
|
@@ -369,7 +369,9 @@ var Scale = /*#__PURE__*/function (_React$Component) {
|
|
|
369
369
|
_ref15$expandedPlugin = _ref15.expandedPluginProps,
|
|
370
370
|
expandedPluginProps = _ref15$expandedPlugin === void 0 ? {} : _ref15$expandedPlugin,
|
|
371
371
|
_ref15$labelPluginPro = _ref15.labelPluginProps,
|
|
372
|
-
labelPluginProps = _ref15$labelPluginPro === void 0 ? {} : _ref15$labelPluginPro
|
|
372
|
+
labelPluginProps = _ref15$labelPluginPro === void 0 ? {} : _ref15$labelPluginPro,
|
|
373
|
+
_ref15$imageSupport = _ref15.imageSupport,
|
|
374
|
+
imageSupport = _ref15$imageSupport === void 0 ? {} : _ref15$imageSupport;
|
|
373
375
|
|
|
374
376
|
var _ref16 = scale || {},
|
|
375
377
|
maxPoints = _ref16.maxPoints,
|
|
@@ -442,7 +444,8 @@ var Scale = /*#__PURE__*/function (_React$Component) {
|
|
|
442
444
|
mathMlOptions: mathMlOptions,
|
|
443
445
|
maxMaxPoints: maxMaxPoints,
|
|
444
446
|
expandedPluginProps: expandedPluginProps,
|
|
445
|
-
labelPluginProps: labelPluginProps
|
|
447
|
+
labelPluginProps: labelPluginProps,
|
|
448
|
+
imageSupport: imageSupport
|
|
446
449
|
}), traits.map(function (trait, index) {
|
|
447
450
|
return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
|
|
448
451
|
key: index,
|
|
@@ -469,7 +472,8 @@ var Scale = /*#__PURE__*/function (_React$Component) {
|
|
|
469
472
|
uploadSoundSupport: uploadSoundSupport,
|
|
470
473
|
mathMlOptions: mathMlOptions,
|
|
471
474
|
expandedPluginProps: expandedPluginProps,
|
|
472
|
-
labelPluginProps: labelPluginProps
|
|
475
|
+
labelPluginProps: labelPluginProps,
|
|
476
|
+
imageSupport: imageSupport
|
|
473
477
|
});
|
|
474
478
|
}), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
|
|
475
479
|
width: "".concat(AdjustedBlockWidth / 2, "px"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scale.jsx"],"names":["AdjustedBlockWidth","BlockWidth","styles","theme","scaleWrapper","display","flexDirection","wordBreak","position","marginBottom","spacing","unit","maxPoints","width","marginTop","trait","background","color","secondaryBackground","padding","Scale","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","currentPosition","showRight","showLeft","showInfoDialog","infoDialogText","newState","setState","target","props","scale","scaleIndex","onScaleChanged","numberValue","parseInt","value","secondaryBlockRef","scrollWidth","offsetWidth","showDecreaseMaxPointsModal","newMaxPoints","set","undefined","state","hideDecreaseMaxPointsModal","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","minNoOfTraits","traits","traitLabel","length","toLowerCase","slice","hideDeleteTraitModal","maxNoOfTraits","scorePointsLabels","push","name","description","standards","scorePointsDescriptors","Array","from","traitIndex","source","newIndex","oldIndex","index","cup","remainingTraits","filter","item","newTraits","decreasedPosition","increasedPosition","prevProps","showDescription","excludeZero","nextProps","showStandards","classes","errors","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","maxMaxPoints","expandedPluginProps","labelPluginProps","traitsErrors","scorePointsErrors","currentScaleTraitsErrors","currentScalePointsLabelsErrors","scorePointsValues","secondaryBlockWidth","DragHandleSpace","PrimaryBlockWidth","pointValue","ref","params","label","updateMaxPointsFieldValue","showDeleteScaleModal","map","showDeleteTraitModal","onTraitChanged","onTraitDropped","decreasePosition","increasePosition","onTraitAdded","__html","changeMaxPoints","deleteScale","onTraitRemoved","React","Component","propTypes","PropTypes","object","shape","number","arrayOf","string","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\n\nimport { withDragContext } from '@pie-lib/pie-toolbox/drag';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nimport TraitsHeader from './traitsHeader';\nimport TraitTile from './trait';\nimport { Arrow, BlockWidth, DragHandleSpace, MultiTraitButton, PrimaryBlockWidth } from './common';\nimport { DecreaseMaxPoints, DeleteScale, DeleteTrait, InfoDialog } from './modals';\n\nconst AdjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n\nconst styles = (theme) => ({\n scaleWrapper: {\n display: 'flex',\n flexDirection: 'column',\n wordBreak: 'break-word',\n position: 'relative',\n marginBottom: theme.spacing.unit * 2.5,\n },\n maxPoints: {\n width: '300px',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 4,\n },\n trait: {\n background: color.secondaryBackground(),\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n padding: theme.spacing.unit * 2,\n },\n});\n\nexport class Scale extends React.Component {\n state = {\n showDecreaseMaxPointsDialog: false,\n showDeleteScaleDialog: false,\n showDeleteTraitDialog: false,\n currentPosition: 0,\n showRight: null,\n showLeft: null,\n showInfoDialog: false,\n infoDialogText: '',\n };\n\n set = (newState) => this.setState(newState);\n\n componentDidMount() {\n if (this.state.showRight === null && this.secondaryBlockRef) {\n this.setState({ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth });\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.scale.maxPoints !== this.props.scale.maxPoints ||\n prevProps.showDescription !== this.props.showDescription ||\n prevProps.excludeZero !== this.props.excludeZero\n ) {\n this.setState({ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth });\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.excludeZero !== this.props.excludeZero ||\n nextProps.showStandards !== this.props.showStandards ||\n nextProps.showDescription !== this.props.showDescription\n ) {\n this.setState({\n currentPosition: 0,\n showLeft: false,\n showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n });\n }\n }\n\n // Max Points\n updateMaxPointsFieldValue = ({ target }) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { maxPoints } = scale;\n\n const numberValue = parseInt(target.value, 10);\n\n this.setState({\n currentPosition: 0,\n showLeft: false,\n showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n });\n\n if (numberValue < maxPoints) {\n this.showDecreaseMaxPointsModal({ newMaxPoints: numberValue });\n } else {\n onScaleChanged(scaleIndex, { maxPoints: numberValue });\n }\n };\n\n showDecreaseMaxPointsModal = ({ newMaxPoints }) => this.set({ showDecreaseMaxPointsDialog: true, newMaxPoints });\n\n hideDecreaseMaxPointsModal = () => this.set({ showDecreaseMaxPointsDialog: false, newMaxPoints: undefined });\n\n changeMaxPoints = () => {\n const { newMaxPoints } = this.state || {};\n const { scaleIndex, onScaleChanged } = this.props || {};\n\n if (newMaxPoints) {\n onScaleChanged(scaleIndex, { maxPoints: newMaxPoints });\n }\n\n this.hideDecreaseMaxPointsModal();\n };\n\n // Delete Scale\n showDeleteScaleModal = () => this.set({ showDeleteScaleDialog: true });\n\n hideDeleteScaleModal = () => this.set({ showDeleteScaleDialog: false });\n\n deleteScale = () => {\n const { scaleIndex, onScaleRemoved } = this.props || {};\n\n this.hideDeleteScaleModal();\n\n onScaleRemoved(scaleIndex);\n };\n\n // Delete Trait\n showDeleteTraitModal = (traitToDeleteIndex) => this.set({ showDeleteTraitDialog: true, traitToDeleteIndex });\n\n hideDeleteTraitModal = () => this.set({ showDeleteTraitDialog: false, traitToDeleteIndex: undefined });\n\n onTraitRemoved = () => {\n const { traitToDeleteIndex } = this.state;\n const { scale, scaleIndex, onScaleChanged, minNoOfTraits } = this.props || {};\n let { traits, traitLabel } = scale || {};\n\n if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;\n\n if (traits.length === minNoOfTraits) {\n this.set({\n infoDialogText: `There can't be less than ${minNoOfTraits} ${(traitLabel || 'trait').toLowerCase()}s.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits = [...traits.slice(0, traitToDeleteIndex), ...traits.slice(traitToDeleteIndex + 1)];\n\n onScaleChanged(scaleIndex, { traits });\n\n this.hideDeleteTraitModal();\n };\n\n onTraitAdded = () => {\n const { scale, scaleIndex, onScaleChanged, maxNoOfTraits } = this.props || {};\n const { traits, scorePointsLabels } = scale || {};\n\n if (traits.length === maxNoOfTraits) {\n this.set({\n infoDialogText: `There can't be more than ${maxNoOfTraits} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits.push({\n name: '',\n description: '',\n standards: [],\n scorePointsDescriptors: Array.from({ length: scorePointsLabels.length }, () => ''),\n });\n\n onScaleChanged(scaleIndex, { traits });\n };\n\n onTraitChanged = (traitIndex, trait) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n\n if (traitIndex >= 0 && traitIndex < traits.length) {\n traits[traitIndex] = trait;\n\n onScaleChanged(scaleIndex, { traits });\n }\n };\n\n onTraitDropped = (source, newIndex) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n const { index: oldIndex } = source;\n const cup = traits[oldIndex];\n\n const remainingTraits = traits.filter((item, index) => index !== oldIndex);\n\n const newTraits = [...remainingTraits.slice(0, newIndex), cup, ...remainingTraits.slice(newIndex)];\n\n onScaleChanged(scaleIndex, { traits: newTraits });\n };\n\n decreasePosition = () => {\n const { currentPosition } = this.state;\n const decreasedPosition =\n currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: decreasedPosition,\n showRight: decreasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: decreasedPosition > 0,\n });\n };\n\n increasePosition = () => {\n const { currentPosition } = this.state;\n const increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: increasedPosition,\n showRight: increasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: increasedPosition > 0,\n });\n };\n\n render() {\n const {\n classes,\n errors,\n scale,\n scaleIndex,\n showStandards,\n onScaleChanged,\n excludeZero,\n showDescription,\n showLevelTagInput,\n showScorePointLabels,\n enableDragAndDrop,\n spellCheck,\n width,\n uploadSoundSupport,\n maxPointsEnabled,\n mathMlOptions = {},\n maxMaxPoints,\n expandedPluginProps = {},\n labelPluginProps = {},\n } = this.props || {};\n\n const { maxPoints, scorePointsLabels, traitLabel, traits } = scale || {};\n\n const {\n showDecreaseMaxPointsDialog,\n showDeleteScaleDialog,\n showDeleteTraitDialog,\n currentPosition,\n showRight,\n showLeft,\n showInfoDialog,\n infoDialogText,\n } = this.state;\n\n const { traitsErrors, scorePointsErrors } = errors || {};\n const currentScaleTraitsErrors = (traitsErrors && traitsErrors[scaleIndex]) || {};\n const currentScalePointsLabelsErrors = (scorePointsErrors && scorePointsErrors[scaleIndex]) || {};\n\n const scorePointsValues = [];\n const secondaryBlockWidth = parseInt(width) - DragHandleSpace - PrimaryBlockWidth || 320; // 320 is minWidth\n\n // determining the score points values\n for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {\n scorePointsValues.push(pointValue);\n }\n\n return (\n <div\n key={`scale-${scaleIndex}`}\n className={classes.scaleWrapper}\n ref={(ref) => {\n this.scaleWrapper = ref;\n }}\n >\n <TraitsHeader\n setSecondaryBlockRef={(ref) => {\n if (ref) {\n this.secondaryBlockRef = ref;\n }\n }}\n key={'header-key'}\n errors={currentScalePointsLabelsErrors}\n traitLabel={traitLabel}\n scorePointsValues={scorePointsValues}\n scorePointsLabels={scorePointsLabels}\n onScaleChange={(params) => onScaleChanged(scaleIndex, params)}\n onTraitLabelChange={(label) => onScaleChanged(scaleIndex, { traitLabel: label })}\n showStandards={showStandards}\n showDescription={showDescription}\n showLevelTagInput={showLevelTagInput}\n showScorePointLabels={showScorePointLabels}\n maxPoints={maxPoints}\n updateMaxPointsFieldValue={this.updateMaxPointsFieldValue}\n scaleIndex={scaleIndex}\n showDeleteScaleModal={this.showDeleteScaleModal}\n currentPosition={currentPosition}\n secondaryBlockWidth={secondaryBlockWidth}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n maxPointsEnabled={maxPointsEnabled}\n mathMlOptions={mathMlOptions}\n maxMaxPoints={maxMaxPoints}\n expandedPluginProps={expandedPluginProps}\n labelPluginProps={labelPluginProps}\n />\n\n {traits.map((trait, index) => (\n <TraitTile\n key={index}\n index={index}\n error={currentScaleTraitsErrors && currentScaleTraitsErrors[index]}\n trait={trait}\n traitLabel={traitLabel || 'Trait'}\n scorePointsValues={scorePointsValues}\n scorePointsLabels={scorePointsLabels}\n onTraitRemoved={() => this.showDeleteTraitModal(index)}\n onTraitChanged={(trait) => this.onTraitChanged(index, trait)}\n onTraitDropped={this.onTraitDropped}\n showStandards={showStandards}\n showDescription={showDescription}\n maxPoints={maxPoints}\n currentPosition={currentPosition}\n enableDragAndDrop={enableDragAndDrop}\n secondaryBlockWidth={secondaryBlockWidth}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n expandedPluginProps={expandedPluginProps}\n labelPluginProps={labelPluginProps}\n />\n ))}\n\n <Arrow\n width={`${AdjustedBlockWidth / 2}px`}\n show={showLeft}\n onClick={this.decreasePosition}\n left={`${PrimaryBlockWidth}px`}\n showLevelTagInput={showLevelTagInput}\n >\n <ArrowBackIosIcon />\n </Arrow>\n <Arrow\n width={`${AdjustedBlockWidth / 2}px`}\n show={showRight}\n onClick={this.increasePosition}\n showLevelTagInput={showLevelTagInput}\n >\n <ArrowForwardIosIcon />\n </Arrow>\n\n <MultiTraitButton onClick={this.onTraitAdded}>\n <div dangerouslySetInnerHTML={{ __html: `Add ${traitLabel || ' Trait'}` }} />\n </MultiTraitButton>\n\n <DecreaseMaxPoints\n open={!!showDecreaseMaxPointsDialog}\n deleteScorePoints={this.changeMaxPoints}\n cancel={this.hideDecreaseMaxPointsModal}\n />\n\n <DeleteScale\n open={!!showDeleteScaleDialog}\n scaleIndex={scaleIndex}\n deleteScale={this.deleteScale}\n cancel={this.hideDeleteScaleModal}\n />\n\n <DeleteTrait\n open={!!showDeleteTraitDialog}\n deleteTrait={this.onTraitRemoved}\n cancel={this.hideDeleteTraitModal}\n traitLabel={traitLabel.toLowerCase()}\n />\n <InfoDialog open={showInfoDialog} text={infoDialogText} onClose={() => this.set({ showInfoDialog: false })} />\n </div>\n );\n }\n}\n\nScale.propTypes = {\n classes: PropTypes.object,\n errors: PropTypes.object,\n scale: PropTypes.shape({\n maxPoints: PropTypes.number,\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n traits: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n ),\n }),\n width: PropTypes.string,\n excludeZero: PropTypes.bool,\n scaleIndex: PropTypes.number,\n onScaleChanged: PropTypes.func,\n onScaleRemoved: PropTypes.func,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n uploadSoundSupport: PropTypes.object,\n showScorePointLabels: PropTypes.bool,\n enableDragAndDrop: PropTypes.bool,\n expandedPluginProps: PropTypes.object,\n labelPluginProps: PropTypes.object,\n};\n\nexport default withDragContext(withStyles(styles)(Scale));\n"],"file":"scale.js"}
|
|
1
|
+
{"version":3,"sources":["../src/scale.jsx"],"names":["AdjustedBlockWidth","BlockWidth","styles","theme","scaleWrapper","display","flexDirection","wordBreak","position","marginBottom","spacing","unit","maxPoints","width","marginTop","trait","background","color","secondaryBackground","padding","Scale","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","currentPosition","showRight","showLeft","showInfoDialog","infoDialogText","newState","setState","target","props","scale","scaleIndex","onScaleChanged","numberValue","parseInt","value","secondaryBlockRef","scrollWidth","offsetWidth","showDecreaseMaxPointsModal","newMaxPoints","set","undefined","state","hideDecreaseMaxPointsModal","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","minNoOfTraits","traits","traitLabel","length","toLowerCase","slice","hideDeleteTraitModal","maxNoOfTraits","scorePointsLabels","push","name","description","standards","scorePointsDescriptors","Array","from","traitIndex","source","newIndex","oldIndex","index","cup","remainingTraits","filter","item","newTraits","decreasedPosition","increasedPosition","prevProps","showDescription","excludeZero","nextProps","showStandards","classes","errors","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","maxMaxPoints","expandedPluginProps","labelPluginProps","imageSupport","traitsErrors","scorePointsErrors","currentScaleTraitsErrors","currentScalePointsLabelsErrors","scorePointsValues","secondaryBlockWidth","DragHandleSpace","PrimaryBlockWidth","pointValue","ref","params","label","updateMaxPointsFieldValue","showDeleteScaleModal","map","showDeleteTraitModal","onTraitChanged","onTraitDropped","decreasePosition","increasePosition","onTraitAdded","__html","changeMaxPoints","deleteScale","onTraitRemoved","React","Component","propTypes","PropTypes","object","shape","number","arrayOf","string","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\n\nimport { withDragContext } from '@pie-lib/pie-toolbox/drag';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nimport TraitsHeader from './traitsHeader';\nimport TraitTile from './trait';\nimport { Arrow, BlockWidth, DragHandleSpace, MultiTraitButton, PrimaryBlockWidth } from './common';\nimport { DecreaseMaxPoints, DeleteScale, DeleteTrait, InfoDialog } from './modals';\n\nconst AdjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n\nconst styles = (theme) => ({\n scaleWrapper: {\n display: 'flex',\n flexDirection: 'column',\n wordBreak: 'break-word',\n position: 'relative',\n marginBottom: theme.spacing.unit * 2.5,\n },\n maxPoints: {\n width: '300px',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 4,\n },\n trait: {\n background: color.secondaryBackground(),\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n padding: theme.spacing.unit * 2,\n },\n});\n\nexport class Scale extends React.Component {\n state = {\n showDecreaseMaxPointsDialog: false,\n showDeleteScaleDialog: false,\n showDeleteTraitDialog: false,\n currentPosition: 0,\n showRight: null,\n showLeft: null,\n showInfoDialog: false,\n infoDialogText: '',\n };\n\n set = (newState) => this.setState(newState);\n\n componentDidMount() {\n if (this.state.showRight === null && this.secondaryBlockRef) {\n this.setState({ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth });\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.scale.maxPoints !== this.props.scale.maxPoints ||\n prevProps.showDescription !== this.props.showDescription ||\n prevProps.excludeZero !== this.props.excludeZero\n ) {\n this.setState({ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth });\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.excludeZero !== this.props.excludeZero ||\n nextProps.showStandards !== this.props.showStandards ||\n nextProps.showDescription !== this.props.showDescription\n ) {\n this.setState({\n currentPosition: 0,\n showLeft: false,\n showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n });\n }\n }\n\n // Max Points\n updateMaxPointsFieldValue = ({ target }) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { maxPoints } = scale;\n\n const numberValue = parseInt(target.value, 10);\n\n this.setState({\n currentPosition: 0,\n showLeft: false,\n showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n });\n\n if (numberValue < maxPoints) {\n this.showDecreaseMaxPointsModal({ newMaxPoints: numberValue });\n } else {\n onScaleChanged(scaleIndex, { maxPoints: numberValue });\n }\n };\n\n showDecreaseMaxPointsModal = ({ newMaxPoints }) => this.set({ showDecreaseMaxPointsDialog: true, newMaxPoints });\n\n hideDecreaseMaxPointsModal = () => this.set({ showDecreaseMaxPointsDialog: false, newMaxPoints: undefined });\n\n changeMaxPoints = () => {\n const { newMaxPoints } = this.state || {};\n const { scaleIndex, onScaleChanged } = this.props || {};\n\n if (newMaxPoints) {\n onScaleChanged(scaleIndex, { maxPoints: newMaxPoints });\n }\n\n this.hideDecreaseMaxPointsModal();\n };\n\n // Delete Scale\n showDeleteScaleModal = () => this.set({ showDeleteScaleDialog: true });\n\n hideDeleteScaleModal = () => this.set({ showDeleteScaleDialog: false });\n\n deleteScale = () => {\n const { scaleIndex, onScaleRemoved } = this.props || {};\n\n this.hideDeleteScaleModal();\n\n onScaleRemoved(scaleIndex);\n };\n\n // Delete Trait\n showDeleteTraitModal = (traitToDeleteIndex) => this.set({ showDeleteTraitDialog: true, traitToDeleteIndex });\n\n hideDeleteTraitModal = () => this.set({ showDeleteTraitDialog: false, traitToDeleteIndex: undefined });\n\n onTraitRemoved = () => {\n const { traitToDeleteIndex } = this.state;\n const { scale, scaleIndex, onScaleChanged, minNoOfTraits } = this.props || {};\n let { traits, traitLabel } = scale || {};\n\n if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;\n\n if (traits.length === minNoOfTraits) {\n this.set({\n infoDialogText: `There can't be less than ${minNoOfTraits} ${(traitLabel || 'trait').toLowerCase()}s.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits = [...traits.slice(0, traitToDeleteIndex), ...traits.slice(traitToDeleteIndex + 1)];\n\n onScaleChanged(scaleIndex, { traits });\n\n this.hideDeleteTraitModal();\n };\n\n onTraitAdded = () => {\n const { scale, scaleIndex, onScaleChanged, maxNoOfTraits } = this.props || {};\n const { traits, scorePointsLabels } = scale || {};\n\n if (traits.length === maxNoOfTraits) {\n this.set({\n infoDialogText: `There can't be more than ${maxNoOfTraits} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits.push({\n name: '',\n description: '',\n standards: [],\n scorePointsDescriptors: Array.from({ length: scorePointsLabels.length }, () => ''),\n });\n\n onScaleChanged(scaleIndex, { traits });\n };\n\n onTraitChanged = (traitIndex, trait) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n\n if (traitIndex >= 0 && traitIndex < traits.length) {\n traits[traitIndex] = trait;\n\n onScaleChanged(scaleIndex, { traits });\n }\n };\n\n onTraitDropped = (source, newIndex) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n const { index: oldIndex } = source;\n const cup = traits[oldIndex];\n\n const remainingTraits = traits.filter((item, index) => index !== oldIndex);\n\n const newTraits = [...remainingTraits.slice(0, newIndex), cup, ...remainingTraits.slice(newIndex)];\n\n onScaleChanged(scaleIndex, { traits: newTraits });\n };\n\n decreasePosition = () => {\n const { currentPosition } = this.state;\n const decreasedPosition =\n currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: decreasedPosition,\n showRight: decreasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: decreasedPosition > 0,\n });\n };\n\n increasePosition = () => {\n const { currentPosition } = this.state;\n const increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: increasedPosition,\n showRight: increasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: increasedPosition > 0,\n });\n };\n\n render() {\n const {\n classes,\n errors,\n scale,\n scaleIndex,\n showStandards,\n onScaleChanged,\n excludeZero,\n showDescription,\n showLevelTagInput,\n showScorePointLabels,\n enableDragAndDrop,\n spellCheck,\n width,\n uploadSoundSupport,\n maxPointsEnabled,\n mathMlOptions = {},\n maxMaxPoints,\n expandedPluginProps = {},\n labelPluginProps = {},\n imageSupport = {},\n } = this.props || {};\n\n const { maxPoints, scorePointsLabels, traitLabel, traits } = scale || {};\n\n const {\n showDecreaseMaxPointsDialog,\n showDeleteScaleDialog,\n showDeleteTraitDialog,\n currentPosition,\n showRight,\n showLeft,\n showInfoDialog,\n infoDialogText,\n } = this.state;\n\n const { traitsErrors, scorePointsErrors } = errors || {};\n const currentScaleTraitsErrors = (traitsErrors && traitsErrors[scaleIndex]) || {};\n const currentScalePointsLabelsErrors = (scorePointsErrors && scorePointsErrors[scaleIndex]) || {};\n\n const scorePointsValues = [];\n const secondaryBlockWidth = parseInt(width) - DragHandleSpace - PrimaryBlockWidth || 320; // 320 is minWidth\n\n // determining the score points values\n for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {\n scorePointsValues.push(pointValue);\n }\n\n return (\n <div\n key={`scale-${scaleIndex}`}\n className={classes.scaleWrapper}\n ref={(ref) => {\n this.scaleWrapper = ref;\n }}\n >\n <TraitsHeader\n setSecondaryBlockRef={(ref) => {\n if (ref) {\n this.secondaryBlockRef = ref;\n }\n }}\n key={'header-key'}\n errors={currentScalePointsLabelsErrors}\n traitLabel={traitLabel}\n scorePointsValues={scorePointsValues}\n scorePointsLabels={scorePointsLabels}\n onScaleChange={(params) => onScaleChanged(scaleIndex, params)}\n onTraitLabelChange={(label) => onScaleChanged(scaleIndex, { traitLabel: label })}\n showStandards={showStandards}\n showDescription={showDescription}\n showLevelTagInput={showLevelTagInput}\n showScorePointLabels={showScorePointLabels}\n maxPoints={maxPoints}\n updateMaxPointsFieldValue={this.updateMaxPointsFieldValue}\n scaleIndex={scaleIndex}\n showDeleteScaleModal={this.showDeleteScaleModal}\n currentPosition={currentPosition}\n secondaryBlockWidth={secondaryBlockWidth}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n maxPointsEnabled={maxPointsEnabled}\n mathMlOptions={mathMlOptions}\n maxMaxPoints={maxMaxPoints}\n expandedPluginProps={expandedPluginProps}\n labelPluginProps={labelPluginProps}\n imageSupport={imageSupport}\n />\n\n {traits.map((trait, index) => (\n <TraitTile\n key={index}\n index={index}\n error={currentScaleTraitsErrors && currentScaleTraitsErrors[index]}\n trait={trait}\n traitLabel={traitLabel || 'Trait'}\n scorePointsValues={scorePointsValues}\n scorePointsLabels={scorePointsLabels}\n onTraitRemoved={() => this.showDeleteTraitModal(index)}\n onTraitChanged={(trait) => this.onTraitChanged(index, trait)}\n onTraitDropped={this.onTraitDropped}\n showStandards={showStandards}\n showDescription={showDescription}\n maxPoints={maxPoints}\n currentPosition={currentPosition}\n enableDragAndDrop={enableDragAndDrop}\n secondaryBlockWidth={secondaryBlockWidth}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n expandedPluginProps={expandedPluginProps}\n labelPluginProps={labelPluginProps}\n imageSupport={imageSupport}\n />\n ))}\n\n <Arrow\n width={`${AdjustedBlockWidth / 2}px`}\n show={showLeft}\n onClick={this.decreasePosition}\n left={`${PrimaryBlockWidth}px`}\n showLevelTagInput={showLevelTagInput}\n >\n <ArrowBackIosIcon />\n </Arrow>\n <Arrow\n width={`${AdjustedBlockWidth / 2}px`}\n show={showRight}\n onClick={this.increasePosition}\n showLevelTagInput={showLevelTagInput}\n >\n <ArrowForwardIosIcon />\n </Arrow>\n\n <MultiTraitButton onClick={this.onTraitAdded}>\n <div dangerouslySetInnerHTML={{ __html: `Add ${traitLabel || ' Trait'}` }} />\n </MultiTraitButton>\n\n <DecreaseMaxPoints\n open={!!showDecreaseMaxPointsDialog}\n deleteScorePoints={this.changeMaxPoints}\n cancel={this.hideDecreaseMaxPointsModal}\n />\n\n <DeleteScale\n open={!!showDeleteScaleDialog}\n scaleIndex={scaleIndex}\n deleteScale={this.deleteScale}\n cancel={this.hideDeleteScaleModal}\n />\n\n <DeleteTrait\n open={!!showDeleteTraitDialog}\n deleteTrait={this.onTraitRemoved}\n cancel={this.hideDeleteTraitModal}\n traitLabel={traitLabel.toLowerCase()}\n />\n <InfoDialog open={showInfoDialog} text={infoDialogText} onClose={() => this.set({ showInfoDialog: false })} />\n </div>\n );\n }\n}\n\nScale.propTypes = {\n classes: PropTypes.object,\n errors: PropTypes.object,\n scale: PropTypes.shape({\n maxPoints: PropTypes.number,\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n traits: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n ),\n }),\n width: PropTypes.string,\n excludeZero: PropTypes.bool,\n scaleIndex: PropTypes.number,\n onScaleChanged: PropTypes.func,\n onScaleRemoved: PropTypes.func,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n uploadSoundSupport: PropTypes.object,\n showScorePointLabels: PropTypes.bool,\n enableDragAndDrop: PropTypes.bool,\n expandedPluginProps: PropTypes.object,\n labelPluginProps: PropTypes.object,\n};\n\nexport default withDragContext(withStyles(styles)(Scale));\n"],"file":"scale.js"}
|
package/configure/lib/trait.js
CHANGED
|
@@ -184,7 +184,9 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
184
184
|
_this$props2$expanded = _this$props2.expandedPluginProps,
|
|
185
185
|
expandedPluginProps = _this$props2$expanded === void 0 ? {} : _this$props2$expanded,
|
|
186
186
|
_this$props2$labelPlu = _this$props2.labelPluginProps,
|
|
187
|
-
labelPluginProps = _this$props2$labelPlu === void 0 ? {} : _this$props2$labelPlu
|
|
187
|
+
labelPluginProps = _this$props2$labelPlu === void 0 ? {} : _this$props2$labelPlu,
|
|
188
|
+
_this$props2$imageSup = _this$props2.imageSupport,
|
|
189
|
+
imageSupport = _this$props2$imageSup === void 0 ? {} : _this$props2$imageSup;
|
|
188
190
|
var anchorEl = this.state.anchorEl;
|
|
189
191
|
return connectDragPreview(connectDropTarget( /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_common.Row, null, /*#__PURE__*/_react["default"].createElement(_common.PrimaryBlock, {
|
|
190
192
|
className: classes.primaryBlock
|
|
@@ -225,7 +227,8 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
225
227
|
placeholder: "Enter ".concat(traitLabel),
|
|
226
228
|
spellCheck: spellCheck,
|
|
227
229
|
uploadSoundSupport: uploadSoundSupport,
|
|
228
|
-
mathMlOptions: mathMlOptions
|
|
230
|
+
mathMlOptions: mathMlOptions,
|
|
231
|
+
imageSupport: imageSupport
|
|
229
232
|
}), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
230
233
|
className: classes.errorText
|
|
231
234
|
}, error.name || '')), /*#__PURE__*/_react["default"].createElement(_common.SecondaryBlock, {
|
|
@@ -244,7 +247,8 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
244
247
|
pluginProps: expandedPluginProps,
|
|
245
248
|
spellCheck: spellCheck,
|
|
246
249
|
uploadSoundSupport: uploadSoundSupport,
|
|
247
|
-
mathMlOptions: mathMlOptions
|
|
250
|
+
mathMlOptions: mathMlOptions,
|
|
251
|
+
imageSupport: imageSupport
|
|
248
252
|
})), showDescription && /*#__PURE__*/_react["default"].createElement(_common.Block, null, /*#__PURE__*/_react["default"].createElement(_common.ExpandedInput, {
|
|
249
253
|
placeholder: "Enter Description",
|
|
250
254
|
markup: description,
|
|
@@ -257,7 +261,8 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
257
261
|
pluginProps: expandedPluginProps,
|
|
258
262
|
spellCheck: spellCheck,
|
|
259
263
|
uploadSoundSupport: uploadSoundSupport,
|
|
260
|
-
mathMlOptions: mathMlOptions
|
|
264
|
+
mathMlOptions: mathMlOptions,
|
|
265
|
+
imageSupport: imageSupport
|
|
261
266
|
}), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
262
267
|
className: classes.errorText
|
|
263
268
|
}, error.description || '')), (scorePointsValues || []).map(function (scorePointsValue, index) {
|
|
@@ -289,7 +294,8 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
289
294
|
,
|
|
290
295
|
spellCheck: spellCheck,
|
|
291
296
|
uploadSoundSupport: uploadSoundSupport,
|
|
292
|
-
mathMlOptions: mathMlOptions
|
|
297
|
+
mathMlOptions: mathMlOptions,
|
|
298
|
+
imageSupport: imageSupport
|
|
293
299
|
}));
|
|
294
300
|
}))))));
|
|
295
301
|
}
|
|
@@ -329,7 +335,11 @@ TraitTile.propTypes = {
|
|
|
329
335
|
currentPosition: _propTypes["default"].number,
|
|
330
336
|
secondaryBlockWidth: _propTypes["default"].number,
|
|
331
337
|
expandedPluginProps: _propTypes["default"].object,
|
|
332
|
-
labelPluginProps: _propTypes["default"].object
|
|
338
|
+
labelPluginProps: _propTypes["default"].object,
|
|
339
|
+
imageSupport: _propTypes["default"].shape({
|
|
340
|
+
add: _propTypes["default"].func.isRequired,
|
|
341
|
+
"delete": _propTypes["default"].func.isRequired
|
|
342
|
+
})
|
|
333
343
|
};
|
|
334
344
|
var StyledTrait = (0, _styles.withStyles)(styles)(TraitTile);
|
|
335
345
|
exports.StyledTrait = StyledTrait;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/trait.jsx"],"names":["log","styles","theme","actions","color","text","primaryBlock","display","flexDirection","justifyContent","marginBottom","spacing","unit","controls","alignItems","width","cursor","options","marginLeft","dragHandle","removeLabel","whiteSpace","errorText","fontSize","typography","palette","error","main","paddingBottom","TraitTile","params","props","trait","onTraitChanged","Object","keys","forEach","key","descriptor","value","scorePointsDescriptors","length","event","setState","anchorEl","currentTarget","position","secondaryBlock","scrollTo","left","onTraitRemoved","handleClose","nextProps","currentPosition","scrollLeft","scrollToPosition","classes","connectDragSource","connectDropTarget","connectDragPreview","name","standards","description","traitLabel","scorePointsValues","showStandards","showDescription","enableDragAndDrop","secondaryBlockWidth","spellCheck","maxPoints","uploadSoundSupport","mathMlOptions","expandedPluginProps","labelPluginProps","state","handleClick","openMenu","__html","ref","join","split","map","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","onScorePointDescriptorChange","React","Component","PropTypes","bool","object","propTypes","func","isRequired","isDragging","id","any","isOver","number","shape","string","arrayOf","StyledTrait","NAME","traitSource","beginDrag","StyledSource","connect","monitor","dragSource","dragPreview","traitTarget","hover","drop","item","getItem","didDrop","onTraitDropped","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { DragSource, DropTarget } from 'react-dnd';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nimport { Block, BlockWidth, ExpandedInput, PrimaryBlock, Row, SecondaryBlock, UnderlinedInput } from './common';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\n\nconst log = debug('@pie-element:placement-ordering:configure:trait-tile');\n\nconst styles = (theme) => ({\n actions: {\n color: color.text(),\n },\n primaryBlock: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.unit * 5,\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n cursor: 'pointer',\n },\n options: {\n marginLeft: 'auto',\n },\n dragHandle: {},\n removeLabel: {\n display: 'flex',\n whiteSpace: 'break-spaces',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingBottom: theme.spacing.unit,\n },\n});\n\nexport class TraitTile extends React.Component {\n static propTypes = {\n spellCheck: PropTypes.bool,\n uploadSoundSupport: PropTypes.object,\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.currentPosition !== this.props.currentPosition ||\n (this.secondaryBlock && this.secondaryBlock.scrollLeft !== nextProps.currentPosition)\n ) {\n this.scrollToPosition(nextProps.currentPosition);\n }\n }\n\n onTraitChanged = (params) => {\n const { trait, onTraitChanged } = this.props;\n\n if (isEmpty(params)) return;\n\n Object.keys(params).forEach((key) => {\n trait[key] = params[key];\n });\n\n onTraitChanged(trait);\n };\n\n onScorePointDescriptorChange = ({ descriptor, value }) => {\n const {\n trait: { scorePointsDescriptors },\n } = this.props;\n\n if (value < 0 || value >= scorePointsDescriptors.length) return;\n\n scorePointsDescriptors[value] = descriptor;\n\n this.onTraitChanged({ scorePointsDescriptors });\n };\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => this.setState({ anchorEl: null });\n\n scrollToPosition = (position) => this.secondaryBlock.scrollTo({ left: position });\n\n openMenu = () => {\n this.props.onTraitRemoved();\n this.handleClose();\n };\n\n render() {\n const {\n classes,\n connectDragSource,\n connectDropTarget,\n connectDragPreview,\n error,\n trait: { name, standards, description, scorePointsDescriptors },\n traitLabel,\n scorePointsValues,\n showStandards,\n showDescription,\n enableDragAndDrop,\n currentPosition,\n secondaryBlockWidth,\n spellCheck,\n maxPoints,\n uploadSoundSupport,\n mathMlOptions = {},\n expandedPluginProps = {},\n labelPluginProps = {},\n } = this.props;\n const { anchorEl } = this.state;\n\n return connectDragPreview(\n connectDropTarget(\n <div>\n <Row>\n <PrimaryBlock className={classes.primaryBlock}>\n <div className={classes.controls}>\n {enableDragAndDrop\n ? connectDragSource(\n <span className={classes.dragHandle}>\n <DragIndicatorIcon className={classes.actions} />\n </span>,\n )\n : null}\n\n <IconButton\n className={classes.options}\n aria-label=\"more\"\n aria-controls=\"long-menu\"\n aria-haspopup=\"true\"\n onClick={this.handleClick}\n >\n <MoreVertIcon />\n </IconButton>\n\n <Menu id=\"long-menu\" anchorEl={anchorEl} keepMounted open={!!anchorEl} onClose={this.handleClose}>\n <MenuItem onClick={this.openMenu}>\n <div\n className={classes.removeLabel}\n dangerouslySetInnerHTML={{ __html: `Remove ${name || traitLabel}` }}\n />\n </MenuItem>\n </Menu>\n </div>\n\n <UnderlinedInput\n markup={name}\n error={error?.name || ''}\n onChange={(name) => this.onTraitChanged({ name })}\n pluginProps={labelPluginProps}\n placeholder={`Enter ${traitLabel}`}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n {error && <div className={classes.errorText}>{error.name || ''}</div>}\n </PrimaryBlock>\n\n <SecondaryBlock\n setRef={(ref) => {\n this.secondaryBlock = ref;\n }}\n width={`${secondaryBlockWidth}px`}\n >\n {showStandards && standards && (\n <Block>\n <ExpandedInput\n placeholder=\"Standards\"\n markup={standards.join(',')}\n onChange={(standards) => this.onTraitChanged({ standards: standards.split(',') })}\n pluginProps={expandedPluginProps}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <ExpandedInput\n placeholder=\"Enter Description\"\n markup={description}\n error={error?.description || ''}\n onChange={(description) => this.onTraitChanged({ description })}\n pluginProps={expandedPluginProps}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n {error && <div className={classes.errorText}>{error.description || ''}</div>}\n </Block>\n )}\n\n {(scorePointsValues || []).map((scorePointsValue, index) => {\n const adjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 98;\n const value = scorePointsValues.length - index - 1;\n let scoreDescriptor;\n\n try {\n scoreDescriptor = scorePointsDescriptors[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <Block key={`key-key-${index}`}>\n <ExpandedInput\n placeholder=\"Enter Descriptor\"\n markup={scoreDescriptor}\n onChange={(descriptor) => this.onScorePointDescriptorChange({ descriptor, value })}\n pluginProps={expandedPluginProps}\n alignToRight={remainingSpace < 296 && scorePointsValue < maxPoints} // 296 is the space required for the toolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n </Block>\n );\n })}\n </SecondaryBlock>\n </Row>\n </div>,\n ),\n );\n }\n}\n\nTraitTile.propTypes = {\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n connectDragPreview: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n error: PropTypes.object,\n isDragging: PropTypes.bool.isRequired,\n id: PropTypes.any,\n isOver: PropTypes.bool,\n index: PropTypes.number,\n onTraitChanged: PropTypes.func.isRequired,\n onTraitRemoved: PropTypes.func.isRequired,\n trait: PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n traitLabel: PropTypes.string,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n showStandards: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n enableDragAndDrop: PropTypes.bool,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n expandedPluginProps: PropTypes.object,\n labelPluginProps: PropTypes.object,\n};\n\nexport const StyledTrait = withStyles(styles)(TraitTile);\n\nconst NAME = 'trait-config';\n\nconst traitSource = {\n beginDrag(props) {\n return {\n name: props.trait.name,\n index: props.index,\n };\n },\n};\n\nconst StyledSource = DragSource(NAME, traitSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging(),\n}))(StyledTrait);\n\nconst traitTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n\n props.onTraitDropped(item, props.index);\n },\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, traitTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"trait.js"}
|
|
1
|
+
{"version":3,"sources":["../src/trait.jsx"],"names":["log","styles","theme","actions","color","text","primaryBlock","display","flexDirection","justifyContent","marginBottom","spacing","unit","controls","alignItems","width","cursor","options","marginLeft","dragHandle","removeLabel","whiteSpace","errorText","fontSize","typography","palette","error","main","paddingBottom","TraitTile","params","props","trait","onTraitChanged","Object","keys","forEach","key","descriptor","value","scorePointsDescriptors","length","event","setState","anchorEl","currentTarget","position","secondaryBlock","scrollTo","left","onTraitRemoved","handleClose","nextProps","currentPosition","scrollLeft","scrollToPosition","classes","connectDragSource","connectDropTarget","connectDragPreview","name","standards","description","traitLabel","scorePointsValues","showStandards","showDescription","enableDragAndDrop","secondaryBlockWidth","spellCheck","maxPoints","uploadSoundSupport","mathMlOptions","expandedPluginProps","labelPluginProps","imageSupport","state","handleClick","openMenu","__html","ref","join","split","map","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","onScorePointDescriptorChange","React","Component","PropTypes","bool","object","propTypes","func","isRequired","isDragging","id","any","isOver","number","shape","string","arrayOf","add","StyledTrait","NAME","traitSource","beginDrag","StyledSource","connect","monitor","dragSource","dragPreview","traitTarget","hover","drop","item","getItem","didDrop","onTraitDropped","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { DragSource, DropTarget } from 'react-dnd';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nimport { Block, BlockWidth, ExpandedInput, PrimaryBlock, Row, SecondaryBlock, UnderlinedInput } from './common';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\n\nconst log = debug('@pie-element:placement-ordering:configure:trait-tile');\n\nconst styles = (theme) => ({\n actions: {\n color: color.text(),\n },\n primaryBlock: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.unit * 5,\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n cursor: 'pointer',\n },\n options: {\n marginLeft: 'auto',\n },\n dragHandle: {},\n removeLabel: {\n display: 'flex',\n whiteSpace: 'break-spaces',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingBottom: theme.spacing.unit,\n },\n});\n\nexport class TraitTile extends React.Component {\n static propTypes = {\n spellCheck: PropTypes.bool,\n uploadSoundSupport: PropTypes.object,\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.currentPosition !== this.props.currentPosition ||\n (this.secondaryBlock && this.secondaryBlock.scrollLeft !== nextProps.currentPosition)\n ) {\n this.scrollToPosition(nextProps.currentPosition);\n }\n }\n\n onTraitChanged = (params) => {\n const { trait, onTraitChanged } = this.props;\n\n if (isEmpty(params)) return;\n\n Object.keys(params).forEach((key) => {\n trait[key] = params[key];\n });\n\n onTraitChanged(trait);\n };\n\n onScorePointDescriptorChange = ({ descriptor, value }) => {\n const {\n trait: { scorePointsDescriptors },\n } = this.props;\n\n if (value < 0 || value >= scorePointsDescriptors.length) return;\n\n scorePointsDescriptors[value] = descriptor;\n\n this.onTraitChanged({ scorePointsDescriptors });\n };\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => this.setState({ anchorEl: null });\n\n scrollToPosition = (position) => this.secondaryBlock.scrollTo({ left: position });\n\n openMenu = () => {\n this.props.onTraitRemoved();\n this.handleClose();\n };\n\n render() {\n const {\n classes,\n connectDragSource,\n connectDropTarget,\n connectDragPreview,\n error,\n trait: { name, standards, description, scorePointsDescriptors },\n traitLabel,\n scorePointsValues,\n showStandards,\n showDescription,\n enableDragAndDrop,\n currentPosition,\n secondaryBlockWidth,\n spellCheck,\n maxPoints,\n uploadSoundSupport,\n mathMlOptions = {},\n expandedPluginProps = {},\n labelPluginProps = {},\n imageSupport = {},\n } = this.props;\n const { anchorEl } = this.state;\n\n return connectDragPreview(\n connectDropTarget(\n <div>\n <Row>\n <PrimaryBlock className={classes.primaryBlock}>\n <div className={classes.controls}>\n {enableDragAndDrop\n ? connectDragSource(\n <span className={classes.dragHandle}>\n <DragIndicatorIcon className={classes.actions} />\n </span>,\n )\n : null}\n\n <IconButton\n className={classes.options}\n aria-label=\"more\"\n aria-controls=\"long-menu\"\n aria-haspopup=\"true\"\n onClick={this.handleClick}\n >\n <MoreVertIcon />\n </IconButton>\n\n <Menu id=\"long-menu\" anchorEl={anchorEl} keepMounted open={!!anchorEl} onClose={this.handleClose}>\n <MenuItem onClick={this.openMenu}>\n <div\n className={classes.removeLabel}\n dangerouslySetInnerHTML={{ __html: `Remove ${name || traitLabel}` }}\n />\n </MenuItem>\n </Menu>\n </div>\n\n <UnderlinedInput\n markup={name}\n error={error?.name || ''}\n onChange={(name) => this.onTraitChanged({ name })}\n pluginProps={labelPluginProps}\n placeholder={`Enter ${traitLabel}`}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n {error && <div className={classes.errorText}>{error.name || ''}</div>}\n </PrimaryBlock>\n\n <SecondaryBlock\n setRef={(ref) => {\n this.secondaryBlock = ref;\n }}\n width={`${secondaryBlockWidth}px`}\n >\n {showStandards && standards && (\n <Block>\n <ExpandedInput\n placeholder=\"Standards\"\n markup={standards.join(',')}\n onChange={(standards) => this.onTraitChanged({ standards: standards.split(',') })}\n pluginProps={expandedPluginProps}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <ExpandedInput\n placeholder=\"Enter Description\"\n markup={description}\n error={error?.description || ''}\n onChange={(description) => this.onTraitChanged({ description })}\n pluginProps={expandedPluginProps}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n {error && <div className={classes.errorText}>{error.description || ''}</div>}\n </Block>\n )}\n\n {(scorePointsValues || []).map((scorePointsValue, index) => {\n const adjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 98;\n const value = scorePointsValues.length - index - 1;\n let scoreDescriptor;\n\n try {\n scoreDescriptor = scorePointsDescriptors[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <Block key={`key-key-${index}`}>\n <ExpandedInput\n placeholder=\"Enter Descriptor\"\n markup={scoreDescriptor}\n onChange={(descriptor) => this.onScorePointDescriptorChange({ descriptor, value })}\n pluginProps={expandedPluginProps}\n alignToRight={remainingSpace < 296 && scorePointsValue < maxPoints} // 296 is the space required for the toolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n </Block>\n );\n })}\n </SecondaryBlock>\n </Row>\n </div>,\n ),\n );\n }\n}\n\nTraitTile.propTypes = {\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n connectDragPreview: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n error: PropTypes.object,\n isDragging: PropTypes.bool.isRequired,\n id: PropTypes.any,\n isOver: PropTypes.bool,\n index: PropTypes.number,\n onTraitChanged: PropTypes.func.isRequired,\n onTraitRemoved: PropTypes.func.isRequired,\n trait: PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n traitLabel: PropTypes.string,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n showStandards: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n enableDragAndDrop: PropTypes.bool,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n expandedPluginProps: PropTypes.object,\n labelPluginProps: PropTypes.object,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n};\n\nexport const StyledTrait = withStyles(styles)(TraitTile);\n\nconst NAME = 'trait-config';\n\nconst traitSource = {\n beginDrag(props) {\n return {\n name: props.trait.name,\n index: props.index,\n };\n },\n};\n\nconst StyledSource = DragSource(NAME, traitSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging(),\n}))(StyledTrait);\n\nconst traitTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n\n props.onTraitDropped(item, props.index);\n },\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, traitTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"trait.js"}
|
|
@@ -64,7 +64,8 @@ var styles = function styles(theme) {
|
|
|
64
64
|
primaryBlockGreyHeader: {
|
|
65
65
|
paddingTop: theme.spacing.unit * 1.5
|
|
66
66
|
},
|
|
67
|
-
|
|
67
|
+
scorePointErrorText: {
|
|
68
|
+
position: 'absolute',
|
|
68
69
|
fontSize: theme.typography.fontSize - 2,
|
|
69
70
|
color: theme.palette.error.main,
|
|
70
71
|
paddingTop: theme.spacing.unit / 2
|
|
@@ -162,7 +163,9 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
162
163
|
errors = _this$props2$errors === void 0 ? {} : _this$props2$errors,
|
|
163
164
|
maxMaxPoints = _this$props2.maxMaxPoints,
|
|
164
165
|
_this$props2$labelPlu = _this$props2.labelPluginProps,
|
|
165
|
-
labelPluginProps = _this$props2$labelPlu === void 0 ? {} : _this$props2$labelPlu
|
|
166
|
+
labelPluginProps = _this$props2$labelPlu === void 0 ? {} : _this$props2$labelPlu,
|
|
167
|
+
_this$props2$imageSup = _this$props2.imageSupport,
|
|
168
|
+
imageSupport = _this$props2$imageSup === void 0 ? {} : _this$props2$imageSup;
|
|
166
169
|
var anchorEl = this.state.anchorEl;
|
|
167
170
|
return /*#__PURE__*/_react["default"].createElement(_common.Row, {
|
|
168
171
|
className: classes.greyHeader,
|
|
@@ -176,7 +179,8 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
176
179
|
spellCheck: spellCheck,
|
|
177
180
|
label: "Level Label",
|
|
178
181
|
uploadSoundSupport: uploadSoundSupport,
|
|
179
|
-
mathMlOptions: mathMlOptions
|
|
182
|
+
mathMlOptions: mathMlOptions,
|
|
183
|
+
imageSupport: imageSupport
|
|
180
184
|
}), /*#__PURE__*/_react["default"].createElement(_common.ScaleSettings, null, /*#__PURE__*/_react["default"].createElement("div", null, "Scale ", scaleIndex + 1), maxPointsEnabled && /*#__PURE__*/_react["default"].createElement(_common.MaxPointsPicker, {
|
|
181
185
|
maxPoints: maxPoints,
|
|
182
186
|
maxMaxPoints: maxMaxPoints,
|
|
@@ -242,9 +246,10 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
242
246
|
,
|
|
243
247
|
spellCheck: spellCheck,
|
|
244
248
|
uploadSoundSupport: uploadSoundSupport,
|
|
245
|
-
mathMlOptions: mathMlOptions
|
|
249
|
+
mathMlOptions: mathMlOptions,
|
|
250
|
+
imageSupport: imageSupport
|
|
246
251
|
}), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
247
|
-
className: classes.
|
|
252
|
+
className: classes.scorePointErrorText
|
|
248
253
|
}, error));
|
|
249
254
|
})));
|
|
250
255
|
}
|
|
@@ -278,7 +283,11 @@ TraitsHeaderTile.propTypes = {
|
|
|
278
283
|
setSecondaryBlockRef: _propTypes["default"].func,
|
|
279
284
|
uploadSoundSupport: _propTypes["default"].object,
|
|
280
285
|
maxMaxPoints: _propTypes["default"].number,
|
|
281
|
-
labelPluginProps: _propTypes["default"].object
|
|
286
|
+
labelPluginProps: _propTypes["default"].object,
|
|
287
|
+
imageSupport: _propTypes["default"].shape({
|
|
288
|
+
add: _propTypes["default"].func.isRequired,
|
|
289
|
+
"delete": _propTypes["default"].func.isRequired
|
|
290
|
+
})
|
|
282
291
|
};
|
|
283
292
|
|
|
284
293
|
var _default = (0, _styles.withStyles)(styles)(TraitsHeaderTile);
|