@pie-element/multi-trait-rubric 3.0.4-next.0 → 3.0.4-next.16
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/configure/lib/common.js +97 -36
- package/configure/lib/common.js.map +1 -1
- package/configure/lib/defaults.js +2 -1
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/main.js +38 -22
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/scale.js +11 -3
- package/configure/lib/scale.js.map +1 -1
- package/configure/lib/trait.js +7 -4
- package/configure/lib/trait.js.map +1 -1
- package/configure/lib/traitsHeader.js +16 -3
- package/configure/lib/traitsHeader.js.map +1 -1
- package/configure/package.json +1 -1
- package/controller/lib/index.js +58 -3
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +1 -1
- package/package.json +3 -3
|
@@ -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","scorePointsLabels","traits","numberValue","parseInt","value","secondaryBlockRef","scrollWidth","offsetWidth","showDecreaseMaxPointsModal","newMaxPoints","i","push","forEach","index","scorePointsDescriptors","set","undefined","state","hideDecreaseMaxPointsModal","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","minNoOfTraits","traitLabel","length","toLowerCase","slice","hideDeleteTraitModal","maxNoOfTraits","name","description","standards","Array","from","traitIndex","source","newIndex","oldIndex","cup","remainingTraits","filter","item","newTraits","decreasedPosition","increasedPosition","prevProps","showDescription","excludeZero","nextProps","showStandards","classes","errors","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","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, scorePointsLabels, traits } = 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 for (let i = 0; i <= numberValue; i++) {\n if (!scorePointsLabels[i]) {\n scorePointsLabels.push('');\n }\n\n traits.forEach((trait, index) => {\n if (!traits[index].scorePointsDescriptors[i]) {\n traits[index].scorePointsDescriptors.push('');\n }\n });\n }\n\n onScaleChanged(scaleIndex, { maxPoints: numberValue, scorePointsLabels, traits });\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 } = 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 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 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 />\n\n {traits.map((trait, index) => (\n <TraitTile\n key={index}\n index={index}\n error={errors && errors[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 />\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};\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","scorePointsLabels","traits","numberValue","parseInt","value","secondaryBlockRef","scrollWidth","offsetWidth","showDecreaseMaxPointsModal","newMaxPoints","i","push","forEach","index","scorePointsDescriptors","set","undefined","state","hideDecreaseMaxPointsModal","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","minNoOfTraits","traitLabel","length","toLowerCase","slice","hideDeleteTraitModal","maxNoOfTraits","name","description","standards","Array","from","traitIndex","source","newIndex","oldIndex","cup","remainingTraits","filter","item","newTraits","decreasedPosition","increasedPosition","prevProps","showDescription","excludeZero","nextProps","showStandards","classes","errors","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","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, scorePointsLabels, traits } = 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 for (let i = 0; i <= numberValue; i++) {\n if (!scorePointsLabels[i]) {\n scorePointsLabels.push('');\n }\n\n traits.forEach((trait, index) => {\n if (!traits[index].scorePointsDescriptors[i]) {\n traits[index].scorePointsDescriptors.push('');\n }\n });\n }\n\n onScaleChanged(scaleIndex, { maxPoints: numberValue, scorePointsLabels, traits });\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 } = 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 />\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 />\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};\n\nexport default withDragContext(withStyles(styles)(Scale));\n"],"file":"scale.js"}
|
package/configure/lib/trait.js
CHANGED
|
@@ -221,7 +221,7 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
221
221
|
}
|
|
222
222
|
})))), /*#__PURE__*/_react["default"].createElement(_common.UnderlinedInput, {
|
|
223
223
|
markup: name,
|
|
224
|
-
error: error,
|
|
224
|
+
error: (error === null || error === void 0 ? void 0 : error.name) || '',
|
|
225
225
|
onChange: function onChange(name) {
|
|
226
226
|
return _this2.onTraitChanged({
|
|
227
227
|
name: name
|
|
@@ -234,7 +234,7 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
234
234
|
mathMlOptions: mathMlOptions
|
|
235
235
|
}), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
236
236
|
className: classes.errorText
|
|
237
|
-
}, error)), /*#__PURE__*/_react["default"].createElement(_common.SecondaryBlock, {
|
|
237
|
+
}, error.name || '')), /*#__PURE__*/_react["default"].createElement(_common.SecondaryBlock, {
|
|
238
238
|
setRef: function setRef(ref) {
|
|
239
239
|
_this2.secondaryBlock = ref;
|
|
240
240
|
},
|
|
@@ -254,6 +254,7 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
254
254
|
})), showDescription && /*#__PURE__*/_react["default"].createElement(_common.Block, null, /*#__PURE__*/_react["default"].createElement(_common.ExpandedInput, {
|
|
255
255
|
placeholder: "Enter Description",
|
|
256
256
|
markup: description,
|
|
257
|
+
error: (error === null || error === void 0 ? void 0 : error.description) || '',
|
|
257
258
|
onChange: function onChange(description) {
|
|
258
259
|
return _this2.onTraitChanged({
|
|
259
260
|
description: description
|
|
@@ -263,7 +264,9 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
|
|
|
263
264
|
spellCheck: spellCheck,
|
|
264
265
|
uploadSoundSupport: uploadSoundSupport,
|
|
265
266
|
mathMlOptions: mathMlOptions
|
|
266
|
-
})
|
|
267
|
+
}), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
268
|
+
className: classes.errorText
|
|
269
|
+
}, error.description || '')), (scorePointsValues || []).map(function (scorePointsValue, index) {
|
|
267
270
|
var adjustedBlockWidth = _common.BlockWidth + 2 * 8; // 8 is padding
|
|
268
271
|
|
|
269
272
|
var remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 98;
|
|
@@ -310,7 +313,7 @@ TraitTile.propTypes = {
|
|
|
310
313
|
connectDropTarget: _propTypes["default"].func.isRequired,
|
|
311
314
|
connectDragPreview: _propTypes["default"].func.isRequired,
|
|
312
315
|
classes: _propTypes["default"].object.isRequired,
|
|
313
|
-
error: _propTypes["default"].
|
|
316
|
+
error: _propTypes["default"].object,
|
|
314
317
|
isDragging: _propTypes["default"].bool.isRequired,
|
|
315
318
|
id: _propTypes["default"].any,
|
|
316
319
|
isOver: _propTypes["default"].bool,
|
|
@@ -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","state","pluginProps","image","disabled","math","handleClick","openMenu","__html","labelPlugins","ref","join","split","map","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","onScorePointDescriptorChange","React","Component","PropTypes","bool","object","propTypes","func","isRequired","string","isDragging","id","any","isOver","number","shape","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';\nimport { labelPlugins } from './utils';\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 } = this.props;\n const { anchorEl } = this.state;\n\n const pluginProps = {\n image: { disabled: true },\n math: { disabled: true },\n };\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}\n onChange={(name) => this.onTraitChanged({ name })}\n pluginProps={labelPlugins}\n placeholder={`Enter ${traitLabel}`}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n {error && <div className={classes.errorText}>{error}</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={pluginProps}\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 onChange={(description) => this.onTraitChanged({ description })}\n pluginProps={pluginProps}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\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={pluginProps}\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.string,\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};\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","state","pluginProps","image","disabled","math","handleClick","openMenu","__html","labelPlugins","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';\nimport { labelPlugins } from './utils';\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 } = this.props;\n const { anchorEl } = this.state;\n\n const pluginProps = {\n image: { disabled: true },\n math: { disabled: true },\n };\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={labelPlugins}\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={pluginProps}\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={pluginProps}\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={pluginProps}\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};\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"}
|
|
@@ -65,6 +65,11 @@ var styles = function styles(theme) {
|
|
|
65
65
|
},
|
|
66
66
|
primaryBlockGreyHeader: {
|
|
67
67
|
paddingTop: theme.spacing.unit * 1.5
|
|
68
|
+
},
|
|
69
|
+
errorText: {
|
|
70
|
+
fontSize: theme.typography.fontSize - 2,
|
|
71
|
+
color: theme.palette.error.main,
|
|
72
|
+
paddingTop: theme.spacing.unit / 2
|
|
68
73
|
}
|
|
69
74
|
};
|
|
70
75
|
};
|
|
@@ -154,7 +159,9 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
154
159
|
uploadSoundSupport = _this$props2.uploadSoundSupport,
|
|
155
160
|
maxPointsEnabled = _this$props2.maxPointsEnabled,
|
|
156
161
|
_this$props2$mathMlOp = _this$props2.mathMlOptions,
|
|
157
|
-
mathMlOptions = _this$props2$mathMlOp === void 0 ? {} : _this$props2$mathMlOp
|
|
162
|
+
mathMlOptions = _this$props2$mathMlOp === void 0 ? {} : _this$props2$mathMlOp,
|
|
163
|
+
_this$props2$errors = _this$props2.errors,
|
|
164
|
+
errors = _this$props2$errors === void 0 ? {} : _this$props2$errors;
|
|
158
165
|
var anchorEl = this.state.anchorEl;
|
|
159
166
|
return /*#__PURE__*/_react["default"].createElement(_common.Row, {
|
|
160
167
|
className: classes.greyHeader,
|
|
@@ -206,9 +213,11 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
206
213
|
var remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 128;
|
|
207
214
|
var value = scorePointsValues.length - index - 1;
|
|
208
215
|
var scoreDescriptor;
|
|
216
|
+
var error;
|
|
209
217
|
|
|
210
218
|
try {
|
|
211
219
|
scoreDescriptor = scorePointsLabels[value] || '';
|
|
220
|
+
error = errors[value] || '';
|
|
212
221
|
} catch (e) {
|
|
213
222
|
scoreDescriptor = '';
|
|
214
223
|
}
|
|
@@ -217,6 +226,7 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
217
226
|
key: "secondary-block-part-".concat(index)
|
|
218
227
|
}, /*#__PURE__*/_react["default"].createElement(_common.ScorePoint, {
|
|
219
228
|
scorePointsValue: scorePointsValue,
|
|
229
|
+
error: error,
|
|
220
230
|
scoreDescriptor: scoreDescriptor,
|
|
221
231
|
pluginProps: _utils.labelPlugins,
|
|
222
232
|
showScorePointLabels: showScorePointLabels,
|
|
@@ -231,7 +241,9 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
231
241
|
spellCheck: spellCheck,
|
|
232
242
|
uploadSoundSupport: uploadSoundSupport,
|
|
233
243
|
mathMlOptions: mathMlOptions
|
|
234
|
-
})
|
|
244
|
+
}), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
245
|
+
className: classes.errorText
|
|
246
|
+
}, error));
|
|
235
247
|
})));
|
|
236
248
|
}
|
|
237
249
|
}]);
|
|
@@ -241,7 +253,8 @@ var TraitsHeaderTile = /*#__PURE__*/function (_React$Component) {
|
|
|
241
253
|
exports.TraitsHeaderTile = TraitsHeaderTile;
|
|
242
254
|
(0, _defineProperty2["default"])(TraitsHeaderTile, "propTypes", {
|
|
243
255
|
maxPointsEnabled: _propTypes["default"].bool,
|
|
244
|
-
spellCheck: _propTypes["default"].bool
|
|
256
|
+
spellCheck: _propTypes["default"].bool,
|
|
257
|
+
errors: _propTypes["default"].object
|
|
245
258
|
});
|
|
246
259
|
TraitsHeaderTile.propTypes = {
|
|
247
260
|
classes: _propTypes["default"].object.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/traitsHeader.jsx"],"names":["styles","theme","label","textAlign","width","border","margin","spacing","unit","padding","display","alignItems","justifyContent","greyHeader","background","color","secondaryBackground","borderRadius","position","marginBottom","primaryBlockGreyHeader","paddingTop","TraitsHeaderTile","anchorEl","scorePointLabel","value","props","scorePointsLabels","onScaleChange","length","event","setState","currentTarget","secondaryBlock","scrollTo","left","showDeleteScaleModal","handleClose","nextProps","currentPosition","scrollToPosition","scorePointsValues","traitLabel","classes","showStandards","onTraitLabelChange","showDescription","showLevelTagInput","maxPoints","updateMaxPointsFieldValue","scaleIndex","showScorePointLabels","secondaryBlockWidth","setSecondaryBlockRef","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","state","HeaderHeightLarge","HeaderHeight","labelPlugins","handleClick","map","option","openMenu","ref","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","onScorePointLabelChange","React","Component","PropTypes","bool","propTypes","object","isRequired","func","arrayOf","number","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport IconButton from '@material-ui/core/IconButton';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nimport {\n Block,\n BlockWidth,\n PrimaryBlock,\n Row,\n SecondaryBlock,\n ScorePoint,\n MaxPointsPicker,\n SimpleInput,\n ScaleSettings,\n HeaderHeight,\n HeaderHeightLarge,\n} from './common';\nimport { labelPlugins } from './utils';\n\nconst styles = (theme) => ({\n label: {\n textAlign: 'center',\n width: '140px',\n border: 'none',\n margin: theme.spacing.unit,\n padding: '10px 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-around',\n },\n greyHeader: {\n background: color.secondaryBackground(),\n borderRadius: '4px',\n position: 'relative',\n marginBottom: theme.spacing.unit * 2,\n },\n primaryBlockGreyHeader: {\n paddingTop: theme.spacing.unit * 1.5,\n },\n});\n\nexport class TraitsHeaderTile extends React.Component {\n static propTypes = {\n maxPointsEnabled: PropTypes.bool,\n spellCheck: PropTypes.bool,\n };\n\n state = {\n anchorEl: null,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.currentPosition !== this.props.currentPosition) {\n this.scrollToPosition(nextProps.currentPosition);\n }\n }\n\n onScorePointLabelChange = ({ scorePointLabel, value }) => {\n const { scorePointsLabels, onScaleChange } = this.props;\n\n if (value < 0 || value >= scorePointsLabels.length) return;\n\n scorePointsLabels[value] = scorePointLabel;\n\n onScaleChange({ scorePointsLabels });\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.showDeleteScaleModal();\n this.handleClose();\n };\n\n render() {\n const {\n scorePointsValues,\n scorePointsLabels,\n traitLabel,\n classes,\n currentPosition,\n showStandards,\n onTraitLabelChange,\n showDescription,\n showLevelTagInput,\n maxPoints,\n updateMaxPointsFieldValue,\n scaleIndex,\n showScorePointLabels,\n secondaryBlockWidth,\n setSecondaryBlockRef,\n spellCheck,\n uploadSoundSupport,\n maxPointsEnabled,\n mathMlOptions = {},\n } = this.props;\n const { anchorEl } = this.state;\n\n return (\n <Row className={classes.greyHeader} height={showLevelTagInput ? HeaderHeightLarge : HeaderHeight}>\n <PrimaryBlock className={classes.primaryBlockGreyHeader}>\n {showLevelTagInput && (\n <SimpleInput\n markup={traitLabel || 'Trait'}\n onChange={onTraitLabelChange}\n pluginProps={labelPlugins}\n spellCheck={spellCheck}\n label=\"Level Label\"\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n )}\n\n <ScaleSettings>\n <div>Scale {scaleIndex + 1}</div>\n\n {maxPointsEnabled && <MaxPointsPicker maxPoints={maxPoints} onChange={updateMaxPointsFieldValue} />}\n\n <div>\n <IconButton aria-label=\"more\" aria-controls=\"long-menu\" aria-haspopup=\"true\" onClick={this.handleClick}>\n <MoreVertIcon />\n </IconButton>\n <Menu id=\"long-menu\" anchorEl={anchorEl} keepMounted open={!!anchorEl} onClose={this.handleClose}>\n {['Remove Scale'].map((option) => (\n <MenuItem key={option} onClick={this.openMenu}>\n {option}\n </MenuItem>\n ))}\n </Menu>\n </div>\n </ScaleSettings>\n </PrimaryBlock>\n\n <SecondaryBlock\n setRef={(ref) => {\n if (ref) {\n this.secondaryBlock = ref;\n setSecondaryBlockRef(ref);\n }\n }}\n width={`${secondaryBlockWidth}px`}\n >\n {showStandards && (\n <Block>\n <div className={classes.label}>Standard(s)</div>\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <div className={classes.label}>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 - 128;\n const value = scorePointsValues.length - index - 1;\n let scoreDescriptor;\n\n try {\n scoreDescriptor = scorePointsLabels[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <Block key={`secondary-block-part-${index}`}>\n <ScorePoint\n scorePointsValue={scorePointsValue}\n scoreDescriptor={scoreDescriptor}\n pluginProps={labelPlugins}\n showScorePointLabels={showScorePointLabels}\n onChange={(scorePointLabel) => this.onScorePointLabelChange({ scorePointLabel, value })}\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 );\n }\n}\n\nTraitsHeaderTile.propTypes = {\n classes: PropTypes.object.isRequired,\n onTraitLabelChange: PropTypes.func,\n onScaleChange: PropTypes.func,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n updateMaxPointsFieldValue: PropTypes.func,\n scaleIndex: PropTypes.number,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n showDeleteScaleModal: PropTypes.func,\n showScorePointLabels: PropTypes.bool,\n setSecondaryBlockRef: PropTypes.func,\n uploadSoundSupport: PropTypes.object,\n};\n\nexport default withStyles(styles)(TraitsHeaderTile);\n"],"file":"traitsHeader.js"}
|
|
1
|
+
{"version":3,"sources":["../src/traitsHeader.jsx"],"names":["styles","theme","label","textAlign","width","border","margin","spacing","unit","padding","display","alignItems","justifyContent","greyHeader","background","color","secondaryBackground","borderRadius","position","marginBottom","primaryBlockGreyHeader","paddingTop","errorText","fontSize","typography","palette","error","main","TraitsHeaderTile","anchorEl","scorePointLabel","value","props","scorePointsLabels","onScaleChange","length","event","setState","currentTarget","secondaryBlock","scrollTo","left","showDeleteScaleModal","handleClose","nextProps","currentPosition","scrollToPosition","scorePointsValues","traitLabel","classes","showStandards","onTraitLabelChange","showDescription","showLevelTagInput","maxPoints","updateMaxPointsFieldValue","scaleIndex","showScorePointLabels","secondaryBlockWidth","setSecondaryBlockRef","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","errors","state","HeaderHeightLarge","HeaderHeight","labelPlugins","handleClick","map","option","openMenu","ref","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","onScorePointLabelChange","React","Component","PropTypes","bool","object","propTypes","isRequired","func","arrayOf","number","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport IconButton from '@material-ui/core/IconButton';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nimport {\n Block,\n BlockWidth,\n PrimaryBlock,\n Row,\n SecondaryBlock,\n ScorePoint,\n MaxPointsPicker,\n SimpleInput,\n ScaleSettings,\n HeaderHeight,\n HeaderHeightLarge,\n} from './common';\nimport { labelPlugins } from './utils';\n\nconst styles = (theme) => ({\n label: {\n textAlign: 'center',\n width: '140px',\n border: 'none',\n margin: theme.spacing.unit,\n padding: '10px 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-around',\n },\n greyHeader: {\n background: color.secondaryBackground(),\n borderRadius: '4px',\n position: 'relative',\n marginBottom: theme.spacing.unit * 2,\n },\n primaryBlockGreyHeader: {\n paddingTop: theme.spacing.unit * 1.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit / 2,\n },\n});\n\nexport class TraitsHeaderTile extends React.Component {\n static propTypes = {\n maxPointsEnabled: PropTypes.bool,\n spellCheck: PropTypes.bool,\n errors: PropTypes.object,\n };\n\n state = {\n anchorEl: null,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.currentPosition !== this.props.currentPosition) {\n this.scrollToPosition(nextProps.currentPosition);\n }\n }\n\n onScorePointLabelChange = ({ scorePointLabel, value }) => {\n const { scorePointsLabels, onScaleChange } = this.props;\n\n if (value < 0 || value >= scorePointsLabels.length) return;\n\n scorePointsLabels[value] = scorePointLabel;\n\n onScaleChange({ scorePointsLabels });\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.showDeleteScaleModal();\n this.handleClose();\n };\n\n render() {\n const {\n scorePointsValues,\n scorePointsLabels,\n traitLabel,\n classes,\n currentPosition,\n showStandards,\n onTraitLabelChange,\n showDescription,\n showLevelTagInput,\n maxPoints,\n updateMaxPointsFieldValue,\n scaleIndex,\n showScorePointLabels,\n secondaryBlockWidth,\n setSecondaryBlockRef,\n spellCheck,\n uploadSoundSupport,\n maxPointsEnabled,\n mathMlOptions = {},\n errors = {},\n } = this.props;\n const { anchorEl } = this.state;\n\n return (\n <Row className={classes.greyHeader} height={showLevelTagInput ? HeaderHeightLarge : HeaderHeight}>\n <PrimaryBlock className={classes.primaryBlockGreyHeader}>\n {showLevelTagInput && (\n <SimpleInput\n markup={traitLabel || 'Trait'}\n onChange={onTraitLabelChange}\n pluginProps={labelPlugins}\n spellCheck={spellCheck}\n label=\"Level Label\"\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n )}\n\n <ScaleSettings>\n <div>Scale {scaleIndex + 1}</div>\n\n {maxPointsEnabled && <MaxPointsPicker maxPoints={maxPoints} onChange={updateMaxPointsFieldValue} />}\n\n <div>\n <IconButton aria-label=\"more\" aria-controls=\"long-menu\" aria-haspopup=\"true\" onClick={this.handleClick}>\n <MoreVertIcon />\n </IconButton>\n <Menu id=\"long-menu\" anchorEl={anchorEl} keepMounted open={!!anchorEl} onClose={this.handleClose}>\n {['Remove Scale'].map((option) => (\n <MenuItem key={option} onClick={this.openMenu}>\n {option}\n </MenuItem>\n ))}\n </Menu>\n </div>\n </ScaleSettings>\n </PrimaryBlock>\n\n <SecondaryBlock\n setRef={(ref) => {\n if (ref) {\n this.secondaryBlock = ref;\n setSecondaryBlockRef(ref);\n }\n }}\n width={`${secondaryBlockWidth}px`}\n >\n {showStandards && (\n <Block>\n <div className={classes.label}>Standard(s)</div>\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <div className={classes.label}>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 - 128;\n const value = scorePointsValues.length - index - 1;\n let scoreDescriptor;\n let error;\n\n try {\n scoreDescriptor = scorePointsLabels[value] || '';\n error = errors[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n\n return (\n <Block key={`secondary-block-part-${index}`}>\n <ScorePoint\n scorePointsValue={scorePointsValue}\n error={error}\n scoreDescriptor={scoreDescriptor}\n pluginProps={labelPlugins}\n showScorePointLabels={showScorePointLabels}\n onChange={(scorePointLabel) => this.onScorePointLabelChange({ scorePointLabel, value })}\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 {error && <div className={classes.errorText}>{error}</div>}\n </Block>\n );\n })}\n </SecondaryBlock>\n </Row>\n );\n }\n}\n\nTraitsHeaderTile.propTypes = {\n classes: PropTypes.object.isRequired,\n onTraitLabelChange: PropTypes.func,\n onScaleChange: PropTypes.func,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n updateMaxPointsFieldValue: PropTypes.func,\n scaleIndex: PropTypes.number,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n showDeleteScaleModal: PropTypes.func,\n showScorePointLabels: PropTypes.bool,\n setSecondaryBlockRef: PropTypes.func,\n uploadSoundSupport: PropTypes.object,\n};\n\nexport default withStyles(styles)(TraitsHeaderTile);\n"],"file":"traitsHeader.js"}
|
package/configure/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"@material-ui/core": "^3.9.2",
|
|
9
9
|
"@material-ui/icons": "^3.0.1",
|
|
10
10
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
11
|
-
"@pie-lib/pie-toolbox": "1.
|
|
11
|
+
"@pie-lib/pie-toolbox": "1.2.0",
|
|
12
12
|
"debug": "^3.1.0",
|
|
13
13
|
"lodash": "^4.17.15",
|
|
14
14
|
"prop-types": "^15.6.2",
|
package/controller/lib/index.js
CHANGED
|
@@ -23,6 +23,8 @@ var _defaults = _interopRequireDefault(require("./defaults"));
|
|
|
23
23
|
|
|
24
24
|
var _utils = require("./utils");
|
|
25
25
|
|
|
26
|
+
var _this = void 0;
|
|
27
|
+
|
|
26
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
29
|
|
|
28
30
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -124,23 +126,72 @@ var createCorrectResponseSession = function createCorrectResponseSession(questio
|
|
|
124
126
|
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
125
127
|
|
|
126
128
|
var validate = function validate(model, config) {
|
|
127
|
-
var scales = model.scales
|
|
129
|
+
var scales = model.scales,
|
|
130
|
+
_model$description = model.description,
|
|
131
|
+
description = _model$description === void 0 ? false : _model$description,
|
|
132
|
+
_model$pointLabels = model.pointLabels,
|
|
133
|
+
pointLabels = _model$pointLabels === void 0 ? false : _model$pointLabels;
|
|
128
134
|
var errors = {};
|
|
129
135
|
var traitsErrors = {};
|
|
136
|
+
var scorePointsErrors = {};
|
|
130
137
|
(scales || []).forEach(function (scale, scaleIndex) {
|
|
131
138
|
var _scale$traits = scale.traits,
|
|
132
139
|
traits = _scale$traits === void 0 ? [] : _scale$traits;
|
|
140
|
+
var _scale$scorePointsLab = scale.scorePointsLabels,
|
|
141
|
+
scorePointsLabels = _scale$scorePointsLab === void 0 ? [] : _scale$scorePointsLab;
|
|
133
142
|
var scaleErrors = {};
|
|
143
|
+
var scorePointsLabelsErrors = {};
|
|
144
|
+
|
|
145
|
+
if (pointLabels) {
|
|
146
|
+
scorePointsLabels.forEach(function (scorePointLabel, scoreIndex) {
|
|
147
|
+
if (!scorePointLabel || scorePointLabel === '<div></div>') {
|
|
148
|
+
scorePointsLabelsErrors[scoreIndex] = 'Points labels should not be empty.';
|
|
149
|
+
} else {
|
|
150
|
+
var identicalScorePointLabel = scorePointsLabels.slice(scoreIndex + 1).some(function (s) {
|
|
151
|
+
return _this.markupToText(s) === _this.markupToText(scorePointLabel);
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
if (identicalScorePointLabel) {
|
|
155
|
+
scorePointsLabelsErrors[scoreIndex] = 'Points labels should be unique.';
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (Object.keys(scorePointsLabelsErrors).length > 0) {
|
|
162
|
+
scorePointsErrors[scaleIndex] = scorePointsLabelsErrors;
|
|
163
|
+
}
|
|
164
|
+
|
|
134
165
|
traits.forEach(function (trait, traitIndex) {
|
|
135
166
|
if (!trait.name || trait.name === '<div></div>') {
|
|
136
|
-
scaleErrors[traitIndex] =
|
|
167
|
+
scaleErrors[traitIndex] = {
|
|
168
|
+
name: 'Trait names should not be empty.'
|
|
169
|
+
};
|
|
137
170
|
} else {
|
|
138
171
|
var identicalTraitName = traits.slice(traitIndex + 1).some(function (t) {
|
|
139
172
|
return (0, _utils.markupToText)(t.name) === (0, _utils.markupToText)(trait.name);
|
|
140
173
|
});
|
|
141
174
|
|
|
142
175
|
if (identicalTraitName) {
|
|
143
|
-
scaleErrors[traitIndex] =
|
|
176
|
+
scaleErrors[traitIndex] = {
|
|
177
|
+
name: 'Trait names should be unique.'
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
if (description && (!trait.description || trait.description === '<div></div>')) {
|
|
183
|
+
scaleErrors[traitIndex] = _objectSpread(_objectSpread({}, scaleErrors[traitIndex]), {}, {
|
|
184
|
+
description: 'Trait description should not be empty'
|
|
185
|
+
});
|
|
186
|
+
} else {
|
|
187
|
+
var identicalTraitDescr = traits.slice(traitIndex + 1).some(function (t) {
|
|
188
|
+
return (0, _utils.markupToText)(t.description) === (0, _utils.markupToText)(trait.description);
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
if (description && identicalTraitDescr) {
|
|
192
|
+
scaleErrors[traitIndex] = _objectSpread(_objectSpread({}, scaleErrors[traitIndex]), {}, {
|
|
193
|
+
description: 'Trait descriptions should be unique.'
|
|
194
|
+
});
|
|
144
195
|
}
|
|
145
196
|
}
|
|
146
197
|
});
|
|
@@ -154,6 +205,10 @@ var validate = function validate(model, config) {
|
|
|
154
205
|
errors.traitsErrors = traitsErrors;
|
|
155
206
|
}
|
|
156
207
|
|
|
208
|
+
if (Object.keys(scorePointsErrors).length > 0) {
|
|
209
|
+
errors.scorePointsErrors = scorePointsErrors;
|
|
210
|
+
}
|
|
211
|
+
|
|
157
212
|
return errors;
|
|
158
213
|
};
|
|
159
214
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","role","visible","visibleToStudent","scales","excludeZero","parsedScales","map","scale","getScore","outcome","score","empty","createCorrectResponseSession","mode","id","validate","config","errors","traitsErrors","forEach","scaleIndex","traits","scaleErrors","
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","role","visible","visibleToStudent","scales","excludeZero","parsedScales","map","scale","getScore","outcome","score","empty","createCorrectResponseSession","mode","id","validate","config","description","pointLabels","errors","traitsErrors","scorePointsErrors","forEach","scaleIndex","traits","scorePointsLabels","scaleErrors","scorePointsLabelsErrors","scorePointLabel","scoreIndex","identicalScorePointLabel","slice","some","s","markupToText","Object","keys","length","trait","traitIndex","name","identicalTraitName","t","identicalTraitDescr"],"mappings":"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","sourcesContent":["import defaults from './defaults';\nimport { markupToText } from './utils';\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n if (!env.role || env.role === 'student') {\n normalizedQuestion.visible = normalizedQuestion.visibleToStudent;\n } else {\n normalizedQuestion.visible = true;\n }\n\n // todo update pie-ui instead of parsing this here:\n const { scales, excludeZero } = normalizedQuestion || {};\n const parsedScales = (scales || []).map((scale) => ({ ...scale, excludeZero }));\n\n return {\n ...normalizedQuestion,\n scales: parsedScales,\n };\n}\n\nexport const getScore = () => 0;\n\n/**\n * @param {Object} model - the main model\n * @param {*} session\n * @param {Object} env\n */\nexport function outcome() {\n return new Promise((resolve) => resolve({ score: 0, empty: true }));\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1' });\n } else {\n resolve(null);\n }\n });\n};\n\n\nexport const validate = (model, config) => {\n const { scales, description = false, pointLabels = false } = model;\n const errors = {};\n const traitsErrors = {};\n const scorePointsErrors = {};\n\n (scales || []).forEach((scale, scaleIndex) => {\n const { traits = [] } = scale;\n const { scorePointsLabels = [] } = scale;\n const scaleErrors = {};\n const scorePointsLabelsErrors = {};\n\n if(pointLabels) {\n scorePointsLabels.forEach((scorePointLabel, scoreIndex) => {\n if (!scorePointLabel || scorePointLabel === '<div></div>') {\n scorePointsLabelsErrors[scoreIndex] = 'Points labels should not be empty.';\n } else {\n const identicalScorePointLabel = scorePointsLabels.slice(scoreIndex + 1).some(s => this.markupToText(s) === this.markupToText(scorePointLabel));\n\n if (identicalScorePointLabel) {\n scorePointsLabelsErrors[scoreIndex] = 'Points labels should be unique.';\n }\n }\n })\n }\n\n if(Object.keys(scorePointsLabelsErrors).length > 0){\n scorePointsErrors[scaleIndex] = scorePointsLabelsErrors;\n }\n\n traits.forEach((trait, traitIndex) => {\n if(!trait.name || trait.name === '<div></div>') {\n scaleErrors[traitIndex] = {name: 'Trait names should not be empty.'};\n }\n else{\n const identicalTraitName = traits.slice(traitIndex + 1).some(t => markupToText(t.name) === markupToText(trait.name));\n\n if (identicalTraitName) {\n scaleErrors[traitIndex] = {name: 'Trait names should be unique.'};\n }\n }\n if(description && (!trait.description || trait.description === '<div></div>')) {\n scaleErrors[traitIndex] = {... scaleErrors[traitIndex], description: 'Trait description should not be empty'};\n }\n else{\n const identicalTraitDescr = traits.slice(traitIndex + 1).some(t => markupToText(t.description) === markupToText(trait.description));\n\n if (description && identicalTraitDescr) {\n scaleErrors[traitIndex] = {... scaleErrors[traitIndex], description: 'Trait descriptions should be unique.'};\n }\n }\n\n });\n if(Object.keys(scaleErrors).length > 0){\n traitsErrors[scaleIndex] = scaleErrors;\n }\n });\n\n if(Object.keys(traitsErrors).length > 0){\n errors.traitsErrors = traitsErrors;\n }\n\n if(Object.keys(scorePointsErrors).length > 0){\n errors.scorePointsErrors = scorePointsErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
|