@pie-element/multi-trait-rubric 2.12.1-next.6 → 2.13.0

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 CHANGED
@@ -3,6 +3,29 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.13.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric@2.12.0...@pie-element/multi-trait-rubric@2.13.0) (2023-07-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * updated pie-lib PD-2150 ([72f20be](https://github.com/pie-framework/pie-elements/commit/72f20be258248c86dde8d5d587290cd640bfd947))
12
+ * **multi-trait-rubric:** fix conflicts ([52f3c3d](https://github.com/pie-framework/pie-elements/commit/52f3c3d87cca681094c1475085dce9f0cf395030))
13
+ * updated editable-html dependent packages for PD-2150 ([ffa6297](https://github.com/pie-framework/pie-elements/commit/ffa62977a9e329c1e12ea1dfcb2af4ba4c993bca))
14
+ * **multi-trait-rubric:** set 100% width for wide screens PD-2901 ([158faee](https://github.com/pie-framework/pie-elements/commit/158faeeabf6e9f9b84cd47a9d2b5c966e3a057a4))
15
+
16
+
17
+ ### Features
18
+
19
+ * **multi-trait-rubric:** PD-2872-add validations in controller ([8d31062](https://github.com/pie-framework/pie-elements/commit/8d31062f539455d22382ed07e13a97fd93c5847b))
20
+ * **multi-trait-rubric:** PD-2872-call imported method without this ([567372f](https://github.com/pie-framework/pie-elements/commit/567372f5806c0e0a54fc31727f20ce97369538e7))
21
+ * **multi-trait-rubric:** PD-2872-ui part of validations ([bba8c0c](https://github.com/pie-framework/pie-elements/commit/bba8c0cd410cb1968c5f144c97aded00624cece2))
22
+ * **multi-trait-rubric:** PD-2939-placeholder values changes, snapshot updates ([093f919](https://github.com/pie-framework/pie-elements/commit/093f919841cb0ed35a1a58501b4f9dbd6c7c5c40))
23
+ * **multi-trait-rubric:** solve review observations ([b4aef59](https://github.com/pie-framework/pie-elements/commit/b4aef594a59c80530b3049cc30754eef905982ed))
24
+
25
+
26
+
27
+
28
+
6
29
  # [2.12.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric@2.11.0...@pie-element/multi-trait-rubric@2.12.0) (2023-06-13)
7
30
 
8
31
 
@@ -3,6 +3,27 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.10.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric-configure@2.9.0...@pie-element/multi-trait-rubric-configure@2.10.0) (2023-07-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * updated pie-lib PD-2150 ([72f20be](https://github.com/pie-framework/pie-elements/commit/72f20be258248c86dde8d5d587290cd640bfd947))
12
+ * **multi-trait-rubric:** fix conflicts ([52f3c3d](https://github.com/pie-framework/pie-elements/commit/52f3c3d87cca681094c1475085dce9f0cf395030))
13
+ * updated editable-html dependent packages for PD-2150 ([ffa6297](https://github.com/pie-framework/pie-elements/commit/ffa62977a9e329c1e12ea1dfcb2af4ba4c993bca))
14
+ * **multi-trait-rubric:** set 100% width for wide screens PD-2901 ([158faee](https://github.com/pie-framework/pie-elements/commit/158faeeabf6e9f9b84cd47a9d2b5c966e3a057a4))
15
+
16
+
17
+ ### Features
18
+
19
+ * **multi-trait-rubric:** PD-2872-ui part of validations ([bba8c0c](https://github.com/pie-framework/pie-elements/commit/bba8c0cd410cb1968c5f144c97aded00624cece2))
20
+ * **multi-trait-rubric:** PD-2939-placeholder values changes, snapshot updates ([093f919](https://github.com/pie-framework/pie-elements/commit/093f919841cb0ed35a1a58501b4f9dbd6c7c5c40))
21
+ * **multi-trait-rubric:** solve review observations ([b4aef59](https://github.com/pie-framework/pie-elements/commit/b4aef594a59c80530b3049cc30754eef905982ed))
22
+
23
+
24
+
25
+
26
+
6
27
  # [2.9.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric-configure@2.8.0...@pie-element/multi-trait-rubric-configure@2.9.0) (2023-06-13)
7
28
 
8
29
 
@@ -346,6 +346,7 @@ var UnderlinedInput = (0, _styles.withStyles)(function (theme) {
346
346
  };
347
347
  })(function (_ref9) {
348
348
  var classes = _ref9.classes,
349
+ error = _ref9.error,
349
350
  markup = _ref9.markup,
350
351
  onChange = _ref9.onChange,
351
352
  pluginProps = _ref9.pluginProps,
@@ -362,6 +363,7 @@ var UnderlinedInput = (0, _styles.withStyles)(function (theme) {
362
363
  classes: {
363
364
  slateEditor: classes.slateEditor
364
365
  },
366
+ error: error,
365
367
  markup: markup,
366
368
  onChange: onChange,
367
369
  placeholder: placeholder,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common.jsx"],"names":["BlockWidth","PrimaryBlockWidth","DragHandleSpace","HeaderHeight","HeaderHeightLarge","InputHeight","greyBorder","grey","Padding","MultiTraitButton","theme","button","fontSize","typography","textAlign","display","flexDirection","alignItems","padding","spacing","unit","width","background","color","secondaryBackground","borderRadius","justifyContent","text","cursor","classes","children","onClick","PrimaryBlock","primaryBlock","minWidth","position","boxSizing","className","Block","block","marginBlockStart","paddingInlineStart","SecondaryBlock","secondaryBlock","overflowX","paddingBottom","setRef","Row","row","height","ScorePoint","scorePointBoxWrapper","scorePointBox","border","scorePointBoxDisabled","subLabel","editableLabel","flex","borderLeft","slateEditor","fontFamily","scorePointsValue","scoreDescriptor","pluginProps","onChange","showScorePointLabels","alignToRight","spellCheck","uploadSoundSupport","mathMlOptions","scoreBoxClasses","filteredDefaultPlugins","alignment","language","maxScoreOptions","inputStyles","root","palette","common","white","marginTop","marginBottom","input","BootstrapInput","InputBase","MaxPointsPicker","maxPoints","map","maxScore","SimpleInput","simpleInput","margin","editableLevel","markup","label","UnderlinedInput","underlinedInputWrapper","borderBottom","placeholder","ExpandedInput","prompt","ScaleSettings","scaleSettings","Arrow","arrow","zIndex","right","innerGrey","bottom","show","left","showLevelTagInput","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml from '@pie-lib/editable-html';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport InputBase from '@material-ui/core/InputBase';\nimport { color } from '@pie-lib/render-ui';\nimport grey from '@material-ui/core/colors/grey';\nimport { filteredDefaultPlugins } from './utils';\n\nexport const BlockWidth = 200;\nexport const PrimaryBlockWidth = 200;\nexport const DragHandleSpace = 32;\nexport const HeaderHeight = '100px';\nexport const HeaderHeightLarge = '160px';\nconst InputHeight = '120px';\nconst greyBorder = `solid 1px ${grey[400]}`;\nconst Padding = '8px 4px';\n\nexport const MultiTraitButton = withStyles((theme) => ({\n button: {\n fontSize: theme.typography.fontSize + 2,\n textAlign: 'right',\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit * 2}px`,\n width: '114px',\n background: color.secondaryBackground(),\n borderRadius: '4px',\n justifyContent: 'space-around',\n color: color.text(),\n cursor: 'pointer',\n },\n}))(({ classes, children, onClick }) => (\n <div className={classes.button} onClick={onClick}>\n <strong>+</strong>\n <div>{children}</div>\n </div>\n));\n\nexport const PrimaryBlock = withStyles({\n primaryBlock: {\n width: `${PrimaryBlockWidth}px`,\n minWidth: `${PrimaryBlockWidth}px`,\n position: 'relative',\n padding: '0 10px',\n boxSizing: 'border-box',\n },\n})(({ classes, children, className }) => <div className={classnames(classes.primaryBlock, className)}>{children}</div>);\n\nexport const Block = withStyles((theme) => ({\n block: {\n width: `${BlockWidth}px`,\n minWidth: `${BlockWidth}px`,\n '& ul, ol': {\n marginBlockStart: 0,\n paddingInlineStart: theme.spacing.unit * 2,\n },\n },\n}))(({ classes, children }) => <div className={classes.block}>{children}</div>);\n\nexport const SecondaryBlock = withStyles({\n secondaryBlock: {\n display: 'flex',\n overflowX: 'hidden',\n alignItems: 'flex-end',\n // this is needed to show the editor toolbar!!!\n paddingBottom: '30px',\n },\n})(({ classes, children, setRef, width }) => (\n <div className={classes.secondaryBlock} style={{ width: width }} ref={setRef}>\n {children}\n </div>\n));\n\nexport const Row = withStyles({\n row: {\n display: 'flex',\n },\n})(({ classes, children, className, height }) => (\n <div\n className={classnames(classes.row, className)}\n style={{\n height,\n }}\n >\n {children}\n </div>\n));\n\nexport const ScorePoint = withStyles({\n scorePointBoxWrapper: {\n padding: '0 10px',\n },\n scorePointBox: {\n display: 'flex',\n borderRadius: '4px',\n background: 'white',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n border: greyBorder,\n },\n scorePointBoxDisabled: {\n background: 'none',\n justifyContent: 'center',\n border: '0',\n },\n subLabel: {\n width: '24px',\n textAlign: 'center',\n },\n editableLabel: {\n textAlign: 'left',\n flex: 1,\n border: 'none',\n\n '& div': {\n padding: 0,\n },\n\n '& > div': {\n border: 'none',\n borderLeft: greyBorder,\n borderRadius: 0,\n padding: Padding,\n },\n },\n slateEditor: {\n fontFamily: 'Cerebri',\n },\n})(\n ({\n classes,\n scorePointsValue,\n scoreDescriptor,\n pluginProps,\n onChange,\n showScorePointLabels,\n alignToRight,\n spellCheck,\n uploadSoundSupport,\n mathMlOptions = {}\n }) => {\n const scoreBoxClasses = showScorePointLabels\n ? classes.scorePointBox\n : `${classes.scorePointBox} ${classes.scorePointBoxDisabled}`;\n\n return (\n <div className={classes.scorePointBoxWrapper}>\n <div className={scoreBoxClasses}>\n <div className={classes.subLabel}>{scorePointsValue}</div>\n\n {showScorePointLabels ? (\n <EditableHtml\n className={classes.editableLabel}\n classes={{ slateEditor: classes.slateEditor }}\n markup={scoreDescriptor}\n placeholder=\" Enter Label\"\n onChange={onChange}\n pluginProps={pluginProps}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n toolbarOpts={alignToRight && { alignment: 'right' }}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n ) : null}\n </div>\n </div>\n );\n },\n);\n\nconst maxScoreOptions = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst inputStyles = (theme) => ({\n root: {\n background: theme.palette.common.white,\n 'label + &': {\n marginTop: theme.spacing.unit * 2.5,\n marginBottom: 0,\n width: '80px',\n },\n },\n input: {\n borderRadius: '4px',\n position: 'relative',\n border: greyBorder,\n fontSize: theme.typography.fontSize,\n fontFamily: 'Cerebri Sans',\n padding: `${theme.spacing.unit}px ${theme.spacing.unit * 1.5}px`,\n\n '&:focus': {\n borderRadius: '4px',\n },\n },\n});\n\nconst BootstrapInput = withStyles(inputStyles)(InputBase);\n\nexport const MaxPointsPicker = withStyles({})(({ maxPoints, onChange }) => (\n <FormControl>\n <InputLabel>Max Points</InputLabel>\n <Select value={maxPoints} onChange={onChange} input={<BootstrapInput />}>\n {(maxScoreOptions || []).map((maxScore) => (\n <MenuItem key={`menu-item-${maxScore}`} value={maxScore}>\n {maxScore}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n));\n\nexport const SimpleInput = withStyles((theme) => ({\n simpleInput: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing.unit * 1.5}px 0`,\n },\n editableLevel: {\n background: theme.palette.common.white,\n width: '60%',\n },\n slateEditor: {\n fontFamily: 'Cerebri',\n },\n}))(({ classes, markup, onChange, pluginProps, label, spellCheck, uploadSoundSupport, mathMlOptions = {} }) => (\n <div className={classes.simpleInput}>\n {label && <div>{label}</div>}\n\n <EditableHtml\n className={classes.editableLevel}\n classes={{ slateEditor: classes.slateEditor }}\n markup={markup}\n onChange={onChange}\n placeholder=\"Trait Label\"\n pluginProps={pluginProps}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n));\n\nexport const UnderlinedInput = withStyles((theme) => ({\n underlinedInputWrapper: {\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n editableLevel: {\n background: theme.palette.common.white,\n width: '100%',\n\n '& div': {\n padding: 0,\n },\n\n '& > div': {\n border: 'none',\n borderBottom: greyBorder,\n borderRadius: 0,\n padding: Padding,\n },\n },\n slateEditor: {\n fontFamily: 'Cerebri',\n },\n}))(({ classes, markup, onChange, pluginProps, label, placeholder, spellCheck, uploadSoundSupport, mathMlOptions = {} }) => (\n <div className={classes.underlinedInputWrapper}>\n {label && <div>{label}</div>}\n\n <EditableHtml\n className={classes.editableLevel}\n classes={{ slateEditor: classes.slateEditor }}\n markup={markup}\n onChange={onChange}\n placeholder={placeholder}\n pluginProps={pluginProps}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n));\n\nexport const ExpandedInput = withStyles({\n slateEditor: {\n fontFamily: 'Cerebri',\n height: InputHeight,\n padding: 0,\n },\n prompt: {\n border: 'none',\n margin: '10px',\n marginTop: 0,\n },\n})(({ classes, markup, onChange, pluginProps, placeholder, alignToRight, spellCheck, uploadSoundSupport, mathMlOptions = {} }) => (\n <div>\n <EditableHtml\n className={classes.prompt}\n classes={{ slateEditor: classes.slateEditor }}\n markup={markup}\n onChange={onChange}\n placeholder={placeholder}\n pluginProps={pluginProps}\n toolbarOpts={alignToRight && { alignment: 'right' }}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n autoWidthToolbar\n mathMlOptions={mathMlOptions}\n />\n </div>\n));\n\nexport const ScaleSettings = withStyles({\n scaleSettings: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n },\n})(({ classes, children }) => <div className={classes.scaleSettings}>{children}</div>);\n\nexport const Arrow = withStyles((theme) => ({\n arrow: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n right: 0,\n alignItems: 'flex-start',\n justifyContent: 'center',\n background: `linear-gradient(to left, ${theme.palette.common.white}, ${color.background()})`,\n boxSizing: 'border-box',\n },\n innerGrey: {\n position: 'absolute',\n zIndex: 11,\n cursor: 'pointer',\n right: 0,\n alignItems: 'flex-start',\n justifyContent: 'center',\n background: `linear-gradient(to left, ${theme.palette.common.white}, ${color.background()})`,\n boxSizing: 'border-box',\n\n '& svg': {\n position: 'absolute',\n bottom: '-24px',\n },\n },\n}))(({ classes, children, className, show, width, onClick, left, showLevelTagInput }) => (\n <div\n className={classnames(classes.arrow, className)}\n style={{\n height: '-webkit-fill-available',\n display: show ? 'flex' : 'none',\n width: width,\n left: left,\n background: left ? `linear-gradient(to right, white, ${color.background()})` : undefined,\n }}\n onClick={onClick}\n >\n <div\n className={classnames(classes.innerGrey, className)}\n style={{\n display: show ? 'flex' : 'none',\n width: width,\n height: showLevelTagInput ? HeaderHeightLarge : HeaderHeight,\n left: 0,\n background: left\n ? `linear-gradient(to right, ${color.secondaryBackground()}, ${color.background()})`\n : undefined,\n }}\n onClick={onClick}\n >\n {children}\n </div>\n </div>\n));\n"],"file":"common.js"}
1
+ {"version":3,"sources":["../src/common.jsx"],"names":["BlockWidth","PrimaryBlockWidth","DragHandleSpace","HeaderHeight","HeaderHeightLarge","InputHeight","greyBorder","grey","Padding","MultiTraitButton","theme","button","fontSize","typography","textAlign","display","flexDirection","alignItems","padding","spacing","unit","width","background","color","secondaryBackground","borderRadius","justifyContent","text","cursor","classes","children","onClick","PrimaryBlock","primaryBlock","minWidth","position","boxSizing","className","Block","block","marginBlockStart","paddingInlineStart","SecondaryBlock","secondaryBlock","overflowX","paddingBottom","setRef","Row","row","height","ScorePoint","scorePointBoxWrapper","scorePointBox","border","scorePointBoxDisabled","subLabel","editableLabel","flex","borderLeft","slateEditor","fontFamily","scorePointsValue","scoreDescriptor","pluginProps","onChange","showScorePointLabels","alignToRight","spellCheck","uploadSoundSupport","mathMlOptions","scoreBoxClasses","filteredDefaultPlugins","alignment","language","maxScoreOptions","inputStyles","root","palette","common","white","marginTop","marginBottom","input","BootstrapInput","InputBase","MaxPointsPicker","maxPoints","map","maxScore","SimpleInput","simpleInput","margin","editableLevel","markup","label","UnderlinedInput","underlinedInputWrapper","borderBottom","error","placeholder","ExpandedInput","prompt","ScaleSettings","scaleSettings","Arrow","arrow","zIndex","right","innerGrey","bottom","show","left","showLevelTagInput","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml from '@pie-lib/editable-html';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport InputBase from '@material-ui/core/InputBase';\nimport { color } from '@pie-lib/render-ui';\nimport grey from '@material-ui/core/colors/grey';\nimport { filteredDefaultPlugins } from './utils';\n\nexport const BlockWidth = 200;\nexport const PrimaryBlockWidth = 200;\nexport const DragHandleSpace = 32;\nexport const HeaderHeight = '100px';\nexport const HeaderHeightLarge = '160px';\nconst InputHeight = '120px';\nconst greyBorder = `solid 1px ${grey[400]}`;\nconst Padding = '8px 4px';\n\nexport const MultiTraitButton = withStyles((theme) => ({\n button: {\n fontSize: theme.typography.fontSize + 2,\n textAlign: 'right',\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit * 2}px`,\n width: '114px',\n background: color.secondaryBackground(),\n borderRadius: '4px',\n justifyContent: 'space-around',\n color: color.text(),\n cursor: 'pointer',\n },\n}))(({ classes, children, onClick }) => (\n <div className={classes.button} onClick={onClick}>\n <strong>+</strong>\n <div>{children}</div>\n </div>\n));\n\nexport const PrimaryBlock = withStyles({\n primaryBlock: {\n width: `${PrimaryBlockWidth}px`,\n minWidth: `${PrimaryBlockWidth}px`,\n position: 'relative',\n padding: '0 10px',\n boxSizing: 'border-box',\n },\n})(({ classes, children, className }) => <div className={classnames(classes.primaryBlock, className)}>{children}</div>);\n\nexport const Block = withStyles((theme) => ({\n block: {\n width: `${BlockWidth}px`,\n minWidth: `${BlockWidth}px`,\n '& ul, ol': {\n marginBlockStart: 0,\n paddingInlineStart: theme.spacing.unit * 2,\n },\n },\n}))(({ classes, children }) => <div className={classes.block}>{children}</div>);\n\nexport const SecondaryBlock = withStyles({\n secondaryBlock: {\n display: 'flex',\n overflowX: 'hidden',\n alignItems: 'flex-end',\n // this is needed to show the editor toolbar!!!\n paddingBottom: '30px',\n },\n})(({ classes, children, setRef, width }) => (\n <div className={classes.secondaryBlock} style={{ width: width }} ref={setRef}>\n {children}\n </div>\n));\n\nexport const Row = withStyles({\n row: {\n display: 'flex',\n },\n})(({ classes, children, className, height }) => (\n <div\n className={classnames(classes.row, className)}\n style={{\n height,\n }}\n >\n {children}\n </div>\n));\n\nexport const ScorePoint = withStyles({\n scorePointBoxWrapper: {\n padding: '0 10px',\n },\n scorePointBox: {\n display: 'flex',\n borderRadius: '4px',\n background: 'white',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n border: greyBorder,\n },\n scorePointBoxDisabled: {\n background: 'none',\n justifyContent: 'center',\n border: '0',\n },\n subLabel: {\n width: '24px',\n textAlign: 'center',\n },\n editableLabel: {\n textAlign: 'left',\n flex: 1,\n border: 'none',\n\n '& div': {\n padding: 0,\n },\n\n '& > div': {\n border: 'none',\n borderLeft: greyBorder,\n borderRadius: 0,\n padding: Padding,\n },\n },\n slateEditor: {\n fontFamily: 'Cerebri',\n },\n})(\n ({\n classes,\n scorePointsValue,\n scoreDescriptor,\n pluginProps,\n onChange,\n showScorePointLabels,\n alignToRight,\n spellCheck,\n uploadSoundSupport,\n mathMlOptions = {}\n }) => {\n const scoreBoxClasses = showScorePointLabels\n ? classes.scorePointBox\n : `${classes.scorePointBox} ${classes.scorePointBoxDisabled}`;\n\n return (\n <div className={classes.scorePointBoxWrapper}>\n <div className={scoreBoxClasses}>\n <div className={classes.subLabel}>{scorePointsValue}</div>\n\n {showScorePointLabels ? (\n <EditableHtml\n className={classes.editableLabel}\n classes={{ slateEditor: classes.slateEditor }}\n markup={scoreDescriptor}\n placeholder=\" Enter Label\"\n onChange={onChange}\n pluginProps={pluginProps}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n toolbarOpts={alignToRight && { alignment: 'right' }}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n ) : null}\n </div>\n </div>\n );\n },\n);\n\nconst maxScoreOptions = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst inputStyles = (theme) => ({\n root: {\n background: theme.palette.common.white,\n 'label + &': {\n marginTop: theme.spacing.unit * 2.5,\n marginBottom: 0,\n width: '80px',\n },\n },\n input: {\n borderRadius: '4px',\n position: 'relative',\n border: greyBorder,\n fontSize: theme.typography.fontSize,\n fontFamily: 'Cerebri Sans',\n padding: `${theme.spacing.unit}px ${theme.spacing.unit * 1.5}px`,\n\n '&:focus': {\n borderRadius: '4px',\n },\n },\n});\n\nconst BootstrapInput = withStyles(inputStyles)(InputBase);\n\nexport const MaxPointsPicker = withStyles({})(({ maxPoints, onChange }) => (\n <FormControl>\n <InputLabel>Max Points</InputLabel>\n <Select value={maxPoints} onChange={onChange} input={<BootstrapInput />}>\n {(maxScoreOptions || []).map((maxScore) => (\n <MenuItem key={`menu-item-${maxScore}`} value={maxScore}>\n {maxScore}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n));\n\nexport const SimpleInput = withStyles((theme) => ({\n simpleInput: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing.unit * 1.5}px 0`,\n },\n editableLevel: {\n background: theme.palette.common.white,\n width: '60%',\n },\n slateEditor: {\n fontFamily: 'Cerebri',\n },\n}))(({ classes, markup, onChange, pluginProps, label, spellCheck, uploadSoundSupport, mathMlOptions = {} }) => (\n <div className={classes.simpleInput}>\n {label && <div>{label}</div>}\n\n <EditableHtml\n className={classes.editableLevel}\n classes={{ slateEditor: classes.slateEditor }}\n markup={markup}\n onChange={onChange}\n placeholder=\"Trait Label\"\n pluginProps={pluginProps}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n));\n\nexport const UnderlinedInput = withStyles((theme) => ({\n underlinedInputWrapper: {\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n editableLevel: {\n background: theme.palette.common.white,\n width: '100%',\n\n '& div': {\n padding: 0,\n },\n\n '& > div': {\n border: 'none',\n borderBottom: greyBorder,\n borderRadius: 0,\n padding: Padding,\n },\n },\n slateEditor: {\n fontFamily: 'Cerebri',\n },\n}))(({ classes,error, markup, onChange, pluginProps, label, placeholder, spellCheck, uploadSoundSupport, mathMlOptions = {} }) => (\n <div className={classes.underlinedInputWrapper}>\n {label && <div>{label}</div>}\n\n <EditableHtml\n className={classes.editableLevel}\n classes={{ slateEditor: classes.slateEditor }}\n error={error}\n markup={markup}\n onChange={onChange}\n placeholder={placeholder}\n pluginProps={pluginProps}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n));\n\nexport const ExpandedInput = withStyles({\n slateEditor: {\n fontFamily: 'Cerebri',\n height: InputHeight,\n padding: 0,\n },\n prompt: {\n border: 'none',\n margin: '10px',\n marginTop: 0,\n },\n})(({ classes, markup, onChange, pluginProps, placeholder, alignToRight, spellCheck, uploadSoundSupport, mathMlOptions = {} }) => (\n <div>\n <EditableHtml\n className={classes.prompt}\n classes={{ slateEditor: classes.slateEditor }}\n markup={markup}\n onChange={onChange}\n placeholder={placeholder}\n pluginProps={pluginProps}\n toolbarOpts={alignToRight && { alignment: 'right' }}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n autoWidthToolbar\n mathMlOptions={mathMlOptions}\n />\n </div>\n));\n\nexport const ScaleSettings = withStyles({\n scaleSettings: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n },\n})(({ classes, children }) => <div className={classes.scaleSettings}>{children}</div>);\n\nexport const Arrow = withStyles((theme) => ({\n arrow: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n right: 0,\n alignItems: 'flex-start',\n justifyContent: 'center',\n background: `linear-gradient(to left, ${theme.palette.common.white}, ${color.background()})`,\n boxSizing: 'border-box',\n },\n innerGrey: {\n position: 'absolute',\n zIndex: 11,\n cursor: 'pointer',\n right: 0,\n alignItems: 'flex-start',\n justifyContent: 'center',\n background: `linear-gradient(to left, ${theme.palette.common.white}, ${color.background()})`,\n boxSizing: 'border-box',\n\n '& svg': {\n position: 'absolute',\n bottom: '-24px',\n },\n },\n}))(({ classes, children, className, show, width, onClick, left, showLevelTagInput }) => (\n <div\n className={classnames(classes.arrow, className)}\n style={{\n height: '-webkit-fill-available',\n display: show ? 'flex' : 'none',\n width: width,\n left: left,\n background: left ? `linear-gradient(to right, white, ${color.background()})` : undefined,\n }}\n onClick={onClick}\n >\n <div\n className={classnames(classes.innerGrey, className)}\n style={{\n display: show ? 'flex' : 'none',\n width: width,\n height: showLevelTagInput ? HeaderHeightLarge : HeaderHeight,\n left: 0,\n background: left\n ? `linear-gradient(to right, ${color.secondaryBackground()}, ${color.background()})`\n : undefined,\n }}\n onClick={onClick}\n >\n {children}\n </div>\n </div>\n));\n"],"file":"common.js"}
@@ -433,6 +433,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
433
433
  mathMlOptions = _ref25$mathMlOptions === void 0 ? {} : _ref25$mathMlOptions;
434
434
 
435
435
  var _ref26 = model || {},
436
+ errors = _ref26.errors,
436
437
  scales = _ref26.scales,
437
438
  excludeZero = _ref26.excludeZero,
438
439
  description = _ref26.description,
@@ -445,7 +446,10 @@ var Main = /*#__PURE__*/function (_React$Component) {
445
446
  var _ref27 = this.state || {},
446
447
  showExcludeZeroDialog = _ref27.showExcludeZeroDialog,
447
448
  showInfoDialog = _ref27.showInfoDialog,
448
- infoDialogText = _ref27.infoDialogText; // set 100% width for wide screens to fix PD-2901
449
+ infoDialogText = _ref27.infoDialogText;
450
+
451
+ var _ref28 = errors || {},
452
+ traitsErrors = _ref28.traitsErrors; // set 100% width for wide screens to fix PD-2901
449
453
 
450
454
 
451
455
  var screenWidth = window.innerWidth;
@@ -498,6 +502,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
498
502
  key: "scale-".concat(scaleIndex),
499
503
  scale: scale,
500
504
  scaleIndex: scaleIndex,
505
+ errors: traitsErrors && traitsErrors[scaleIndex],
501
506
  onScaleRemoved: _this2.onScaleRemoved,
502
507
  onScaleChanged: _this2.onScaleChanged,
503
508
  showStandards: standards,
@@ -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","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","showInfoDialog","infoDialogText","props","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","onConfigurationChanged","uploadSoundSupport","addScale","dragAndDrop","contentDimensions","showDescription","showExcludeZero","showLevelTagInput","showStandards","showHalfScoring","showMaxPoint","showScorePointLabels","showVisibleToStudent","spellCheck","settingsPanelDisabled","maxNoOfTraits","minNoOfTraits","width","mathMlOptions","spellCheckEnabled","maxPointsEnabled","addScaleEnabled","state","screenWidth","window","innerWidth","adjustedWidth","parseInt","panelSettings","label","panelProperties","Settings","Properties","onScaleRemoved","onScaleChanged","enabled","onScaleAdded","React","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/drag';\nimport { layout, settings } from '@pie-lib/config-ui';\n\nimport Scale from './scale';\nimport { MultiTraitButton } from './common';\nimport { ExcludeZeroDialog, excludeZeroTypes, IncludeZeroDialog, InfoDialog } from './modals';\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 state = {\n showDecreaseMaxPointsDialog: false,\n showDeleteScaleDialog: false,\n showDeleteTraitDialog: false,\n showExcludeZeroDialog: false,\n showInfoDialog: false,\n infoDialogText: '',\n };\n\n onScaleAdded = () => {\n const { model, onModelChanged, configuration } = this.props;\n let { scales } = 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 excludeZero: false,\n maxPoints: 1,\n scorePointsLabels: ['', ''],\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 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 } = configuration || {};\n const {\n scales,\n excludeZero,\n description,\n pointLabels,\n standards,\n spellCheckEnabled,\n maxPointsEnabled,\n addScaleEnabled,\n } = model || {};\n const { showExcludeZeroDialog, showInfoDialog, infoDialogText } = this.state || {};\n\n // set 100% width for wide screens to fix PD-2901\n const screenWidth = window.innerWidth;\n let adjustedWidth = parseInt(width) > parseInt(MIN_WIDTH) ? width : MIN_WIDTH;\n\n if (screenWidth > 2500) {\n adjustedWidth = '100%';\n }\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 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: adjustedWidth }}>\n {(scales || []).map((scale, scaleIndex) => (\n <Scale\n key={`scale-${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\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 />\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","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","showInfoDialog","infoDialogText","props","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","onConfigurationChanged","uploadSoundSupport","addScale","dragAndDrop","contentDimensions","showDescription","showExcludeZero","showLevelTagInput","showStandards","showHalfScoring","showMaxPoint","showScorePointLabels","showVisibleToStudent","spellCheck","settingsPanelDisabled","maxNoOfTraits","minNoOfTraits","width","mathMlOptions","errors","spellCheckEnabled","maxPointsEnabled","addScaleEnabled","state","traitsErrors","screenWidth","window","innerWidth","adjustedWidth","parseInt","panelSettings","label","panelProperties","Settings","Properties","onScaleRemoved","onScaleChanged","enabled","onScaleAdded","React","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/drag';\nimport { layout, settings } from '@pie-lib/config-ui';\n\nimport Scale from './scale';\nimport { MultiTraitButton } from './common';\nimport { ExcludeZeroDialog, excludeZeroTypes, IncludeZeroDialog, InfoDialog } from './modals';\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 state = {\n showDecreaseMaxPointsDialog: false,\n showDeleteScaleDialog: false,\n showDeleteTraitDialog: false,\n showExcludeZeroDialog: false,\n showInfoDialog: false,\n infoDialogText: '',\n };\n\n onScaleAdded = () => {\n const { model, onModelChanged, configuration } = this.props;\n let { scales } = 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 excludeZero: false,\n maxPoints: 1,\n scorePointsLabels: ['', ''],\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 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 } = 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 } = this.state || {};\n const { traitsErrors } = errors || {};\n\n // set 100% width for wide screens to fix PD-2901\n const screenWidth = window.innerWidth;\n let adjustedWidth = parseInt(width) > parseInt(MIN_WIDTH) ? width : MIN_WIDTH;\n\n if (screenWidth > 2500) {\n adjustedWidth = '100%';\n }\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 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: adjustedWidth }}>\n {(scales || []).map((scale, scaleIndex) => (\n <Scale\n key={`scale-${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\n errors={traitsErrors && traitsErrors[scaleIndex]}\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 />\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"}
@@ -369,6 +369,7 @@ var Scale = /*#__PURE__*/function (_React$Component) {
369
369
 
370
370
  var _ref15 = this.props || {},
371
371
  classes = _ref15.classes,
372
+ errors = _ref15.errors,
372
373
  scale = _ref15.scale,
373
374
  scaleIndex = _ref15.scaleIndex,
374
375
  showStandards = _ref15.showStandards,
@@ -450,6 +451,7 @@ var Scale = /*#__PURE__*/function (_React$Component) {
450
451
  return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
451
452
  key: index,
452
453
  index: index,
454
+ error: errors && errors[index],
453
455
  trait: trait,
454
456
  traitLabel: traitLabel || 'Trait',
455
457
  scorePointsValues: scorePointsValues,
@@ -518,6 +520,7 @@ var Scale = /*#__PURE__*/function (_React$Component) {
518
520
  exports.Scale = Scale;
519
521
  Scale.propTypes = {
520
522
  classes: _propTypes["default"].object,
523
+ errors: _propTypes["default"].object,
521
524
  scale: _propTypes["default"].shape({
522
525
  maxPoints: _propTypes["default"].number,
523
526
  scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
@@ -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","nextProps","excludeZero","showStandards","classes","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/drag';\nimport { color } from '@pie-lib/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 (prevProps.scale.maxPoints !== this.props.scale.maxPoints || prevProps.showDescription !== this.props.showDescription) {\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 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 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 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 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","nextProps","excludeZero","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/drag';\nimport { color } from '@pie-lib/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 (prevProps.scale.maxPoints !== this.props.scale.maxPoints || prevProps.showDescription !== this.props.showDescription) {\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 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"}
@@ -79,6 +79,11 @@ var styles = function styles(theme) {
79
79
  removeLabel: {
80
80
  display: 'flex',
81
81
  whiteSpace: 'break-spaces'
82
+ },
83
+ errorText: {
84
+ fontSize: theme.typography.fontSize - 2,
85
+ color: theme.palette.error.main,
86
+ paddingBottom: theme.spacing.unit
82
87
  }
83
88
  };
84
89
  };
@@ -160,6 +165,7 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
160
165
  connectDragSource = _this$props2.connectDragSource,
161
166
  connectDropTarget = _this$props2.connectDropTarget,
162
167
  connectDragPreview = _this$props2.connectDragPreview,
168
+ error = _this$props2.error,
163
169
  _this$props2$trait = _this$props2.trait,
164
170
  name = _this$props2$trait.name,
165
171
  standards = _this$props2$trait.standards,
@@ -214,6 +220,7 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
214
220
  }
215
221
  })))), /*#__PURE__*/_react["default"].createElement(_common.UnderlinedInput, {
216
222
  markup: name,
223
+ error: error,
217
224
  onChange: function onChange(name) {
218
225
  return _this2.onTraitChanged({
219
226
  name: name
@@ -224,7 +231,9 @@ var TraitTile = /*#__PURE__*/function (_React$Component) {
224
231
  spellCheck: spellCheck,
225
232
  uploadSoundSupport: uploadSoundSupport,
226
233
  mathMlOptions: mathMlOptions
227
- })), /*#__PURE__*/_react["default"].createElement(_common.SecondaryBlock, {
234
+ }), error && /*#__PURE__*/_react["default"].createElement("div", {
235
+ className: classes.errorText
236
+ }, error)), /*#__PURE__*/_react["default"].createElement(_common.SecondaryBlock, {
228
237
  setRef: function setRef(ref) {
229
238
  _this2.secondaryBlock = ref;
230
239
  },
@@ -300,6 +309,7 @@ TraitTile.propTypes = {
300
309
  connectDropTarget: _propTypes["default"].func.isRequired,
301
310
  connectDragPreview: _propTypes["default"].func.isRequired,
302
311
  classes: _propTypes["default"].object.isRequired,
312
+ error: _propTypes["default"].string,
303
313
  isDragging: _propTypes["default"].bool.isRequired,
304
314
  id: _propTypes["default"].any,
305
315
  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","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","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":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,sDAAN,CAAZ;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,KAAK,EAAEA,gBAAMC,IAAN;AADA,KADgB;AAIzBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,OAAO,EAAE,MADG;AAEZC,MAAAA,aAAa,EAAE,QAFH;AAGZC,MAAAA,cAAc,EAAE,eAHJ;AAIZC,MAAAA,YAAY,EAAER,KAAK,CAACS,OAAN,CAAcC,IAAd,GAAqB;AAJvB,KAJW;AAUzBC,IAAAA,QAAQ,EAAE;AACRN,MAAAA,OAAO,EAAE,MADD;AAERO,MAAAA,UAAU,EAAE,QAFJ;AAGRC,MAAAA,KAAK,EAAE,MAHC;AAIRC,MAAAA,MAAM,EAAE;AAJA,KAVe;AAgBzBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,UAAU,EAAE;AADL,KAhBgB;AAmBzBC,IAAAA,UAAU,EAAE,EAnBa;AAoBzBC,IAAAA,WAAW,EAAE;AACXb,MAAAA,OAAO,EAAE,MADE;AAEXc,MAAAA,UAAU,EAAE;AAFD;AApBY,GAAZ;AAAA,CAAf;;IA0BaC,S;;;;;;;;;;;;;;;8FAMH,E;uGAWS,UAACC,MAAD,EAAY;AAC3B,wBAAkC,MAAKC,KAAvC;AAAA,UAAQC,KAAR,eAAQA,KAAR;AAAA,UAAeC,cAAf,eAAeA,cAAf;AAEA,UAAI,yBAAQH,MAAR,CAAJ,EAAqB;AAErBI,MAAAA,MAAM,CAACC,IAAP,CAAYL,MAAZ,EAAoBM,OAApB,CAA4B,UAACC,GAAD,EAAS;AACnCL,QAAAA,KAAK,CAACK,GAAD,CAAL,GAAaP,MAAM,CAACO,GAAD,CAAnB;AACD,OAFD;AAIAJ,MAAAA,cAAc,CAACD,KAAD,CAAd;AACD,K;qHAE8B,gBAA2B;AAAA,UAAxBM,UAAwB,QAAxBA,UAAwB;AAAA,UAAZC,KAAY,QAAZA,KAAY;AACxD,UACWC,sBADX,GAEI,MAAKT,KAFT,CACEC,KADF,CACWQ,sBADX;AAIA,UAAID,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAIC,sBAAsB,CAACC,MAAjD,EAAyD;AAEzDD,MAAAA,sBAAsB,CAACD,KAAD,CAAtB,GAAgCD,UAAhC;;AAEA,YAAKL,cAAL,CAAoB;AAAEO,QAAAA,sBAAsB,EAAtBA;AAAF,OAApB;AACD,K;oGAEa,UAACE,KAAD;AAAA,aAAW,MAAKC,QAAL,CAAc;AAAEC,QAAAA,QAAQ,EAAEF,KAAK,CAACG;AAAlB,OAAd,CAAX;AAAA,K;oGAEA;AAAA,aAAM,MAAKF,QAAL,CAAc;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAd,CAAN;AAAA,K;yGAEK,UAACE,QAAD;AAAA,aAAc,MAAKC,cAAL,CAAoBC,QAApB,CAA6B;AAAEC,QAAAA,IAAI,EAAEH;AAAR,OAA7B,CAAd;AAAA,K;iGAER,YAAM;AACf,YAAKf,KAAL,CAAWmB,cAAX;;AACA,YAAKC,WAAL;AACD,K;;;;;;WA1CD,0CAAiCC,SAAjC,EAA4C;AAC1C,UACEA,SAAS,CAACC,eAAV,KAA8B,KAAKtB,KAAL,CAAWsB,eAAzC,IACC,KAAKN,cAAL,IAAuB,KAAKA,cAAL,CAAoBO,UAApB,KAAmCF,SAAS,CAACC,eAFvE,EAGE;AACA,aAAKE,gBAAL,CAAsBH,SAAS,CAACC,eAAhC;AACD;AACF;;;WAqCD,kBAAS;AAAA;;AACP,yBAgBI,KAAKtB,KAhBT;AAAA,UACEyB,OADF,gBACEA,OADF;AAAA,UAEEC,iBAFF,gBAEEA,iBAFF;AAAA,UAGEC,iBAHF,gBAGEA,iBAHF;AAAA,UAIEC,kBAJF,gBAIEA,kBAJF;AAAA,4CAKE3B,KALF;AAAA,UAKW4B,IALX,sBAKWA,IALX;AAAA,UAKiBC,SALjB,sBAKiBA,SALjB;AAAA,UAK4BC,WAL5B,sBAK4BA,WAL5B;AAAA,UAKyCtB,sBALzC,sBAKyCA,sBALzC;AAAA,UAMEuB,UANF,gBAMEA,UANF;AAAA,UAOEC,iBAPF,gBAOEA,iBAPF;AAAA,UAQEC,aARF,gBAQEA,aARF;AAAA,UASEC,eATF,gBASEA,eATF;AAAA,UAUEC,iBAVF,gBAUEA,iBAVF;AAAA,UAWEd,eAXF,gBAWEA,eAXF;AAAA,UAYEe,mBAZF,gBAYEA,mBAZF;AAAA,UAaEC,UAbF,gBAaEA,UAbF;AAAA,UAcEC,kBAdF,gBAcEA,kBAdF;AAAA,+CAeEC,aAfF;AAAA,UAeEA,aAfF,sCAekB,EAflB;AAiBA,UAAQ3B,QAAR,GAAqB,KAAK4B,KAA1B,CAAQ5B,QAAR;AAEA,UAAM6B,WAAW,GAAG;AAClBC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,IAAI,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ;AAFY,OAApB;AAKA,aAAOhB,kBAAkB,CACvBD,iBAAiB,eACf,0DACE,gCAAC,WAAD,qBACE,gCAAC,oBAAD;AAAc,QAAA,SAAS,EAAEF,OAAO,CAAC3C;AAAjC,sBACE;AAAK,QAAA,SAAS,EAAE2C,OAAO,CAACpC;AAAxB,SACG+C,iBAAiB,GACdV,iBAAiB,eACf;AAAM,QAAA,SAAS,EAAED,OAAO,CAAC9B;AAAzB,sBACE,gCAAC,yBAAD;AAAmB,QAAA,SAAS,EAAE8B,OAAO,CAAC9C;AAAtC,QADF,CADe,CADH,GAMd,IAPN,eASE,gCAAC,sBAAD;AACE,QAAA,SAAS,EAAE8C,OAAO,CAAChC,OADrB;AAEE,sBAAW,MAFb;AAGE,yBAAc,WAHhB;AAIE,yBAAc,MAJhB;AAKE,QAAA,OAAO,EAAE,KAAKqD;AALhB,sBAOE,gCAAC,oBAAD,OAPF,CATF,eAmBE,gCAAC,gBAAD;AAAM,QAAA,EAAE,EAAC,WAAT;AAAqB,QAAA,QAAQ,EAAEjC,QAA/B;AAAyC,QAAA,WAAW,MAApD;AAAqD,QAAA,IAAI,EAAE,CAAC,CAACA,QAA7D;AAAuE,QAAA,OAAO,EAAE,KAAKO;AAArF,sBACE,gCAAC,oBAAD;AAAU,QAAA,OAAO,EAAE,KAAK2B;AAAxB,sBACE;AACE,QAAA,SAAS,EAAEtB,OAAO,CAAC7B,WADrB;AAEE,QAAA,uBAAuB,EAAE;AAAEoD,UAAAA,MAAM,mBAAYnB,IAAI,IAAIG,UAApB;AAAR;AAF3B,QADF,CADF,CAnBF,CADF,eA8BE,gCAAC,uBAAD;AACE,QAAA,MAAM,EAAEH,IADV;AAEE,QAAA,QAAQ,EAAE,kBAACA,IAAD;AAAA,iBAAU,MAAI,CAAC3B,cAAL,CAAoB;AAAE2B,YAAAA,IAAI,EAAJA;AAAF,WAApB,CAAV;AAAA,SAFZ;AAGE,QAAA,WAAW,EAAEoB,mBAHf;AAIE,QAAA,WAAW,kBAAWjB,UAAX,CAJb;AAKE,QAAA,UAAU,EAAEM,UALd;AAME,QAAA,kBAAkB,EAAEC,kBANtB;AAOE,QAAA,aAAa,EAAEC;AAPjB,QA9BF,CADF,eA0CE,gCAAC,sBAAD;AACE,QAAA,MAAM,EAAE,gBAACU,GAAD,EAAS;AACf,UAAA,MAAI,CAAClC,cAAL,GAAsBkC,GAAtB;AACD,SAHH;AAIE,QAAA,KAAK,YAAKb,mBAAL;AAJP,SAMGH,aAAa,IAAIJ,SAAjB,iBACC,gCAAC,aAAD,qBACE,gCAAC,qBAAD;AACE,QAAA,WAAW,EAAC,WADd;AAEE,QAAA,MAAM,EAAEA,SAAS,CAACqB,IAAV,CAAe,GAAf,CAFV;AAGE,QAAA,QAAQ,EAAE,kBAACrB,SAAD;AAAA,iBAAe,MAAI,CAAC5B,cAAL,CAAoB;AAAE4B,YAAAA,SAAS,EAAEA,SAAS,CAACsB,KAAV,CAAgB,GAAhB;AAAb,WAApB,CAAf;AAAA,SAHZ;AAIE,QAAA,WAAW,EAAEV,WAJf;AAKE,QAAA,UAAU,EAAEJ,UALd;AAME,QAAA,kBAAkB,EAAEC,kBANtB;AAOE,QAAA,aAAa,EAAEC;AAPjB,QADF,CAPJ,EAoBGL,eAAe,iBACd,gCAAC,aAAD,qBACE,gCAAC,qBAAD;AACE,QAAA,WAAW,EAAC,mBADd;AAEE,QAAA,MAAM,EAAEJ,WAFV;AAGE,QAAA,QAAQ,EAAE,kBAACA,WAAD;AAAA,iBAAiB,MAAI,CAAC7B,cAAL,CAAoB;AAAE6B,YAAAA,WAAW,EAAXA;AAAF,WAApB,CAAjB;AAAA,SAHZ;AAIE,QAAA,WAAW,EAAEW,WAJf;AAKE,QAAA,UAAU,EAAEJ,UALd;AAME,QAAA,kBAAkB,EAAEC,kBANtB;AAOE,QAAA,aAAa,EAAEC;AAPjB,QADF,CArBJ,EAkCG,CAACP,iBAAiB,IAAI,EAAtB,EAA0BoB,GAA1B,CAA8B,UAACC,gBAAD,EAAmBC,KAAnB,EAA6B;AAC1D,YAAMC,kBAAkB,GAAGC,qBAAa,IAAI,CAA5C,CAD0D,CACX;;AAC/C,YAAMC,cAAc,GAAGrB,mBAAmB,GAAGmB,kBAAkB,GAAGD,KAA3C,GAAmDjC,eAAnD,GAAqE,EAA5F;AACA,YAAMd,KAAK,GAAGyB,iBAAiB,CAACvB,MAAlB,GAA2B6C,KAA3B,GAAmC,CAAjD;AACA,YAAII,eAAJ;;AAEA,YAAI;AACFA,UAAAA,eAAe,GAAGlD,sBAAsB,CAACD,KAAD,CAAtB,IAAiC,EAAnD;AACD,SAFD,CAEE,OAAOoD,CAAP,EAAU;AACVD,UAAAA,eAAe,GAAG,EAAlB;AACD;;AAED,4BACE,gCAAC,aAAD;AAAO,UAAA,GAAG,oBAAaJ,KAAb;AAAV,wBACE,gCAAC,qBAAD;AACE,UAAA,WAAW,EAAC,kBADd;AAEE,UAAA,MAAM,EAAEI,eAFV;AAGE,UAAA,QAAQ,EAAE,kBAACpD,UAAD;AAAA,mBAAgB,MAAI,CAACsD,4BAAL,CAAkC;AAAEtD,cAAAA,UAAU,EAAVA,UAAF;AAAcC,cAAAA,KAAK,EAALA;AAAd,aAAlC,CAAhB;AAAA,WAHZ;AAIE,UAAA,WAAW,EAAEkC,WAJf;AAKE,UAAA,YAAY,EAAEgB,cAAc,GAAG,GALjC,CAKsC;AALtC;AAME,UAAA,UAAU,EAAEpB,UANd;AAOE,UAAA,kBAAkB,EAAEC,kBAPtB;AAQE,UAAA,aAAa,EAAEC;AARjB,UADF,CADF;AAcD,OA1BA,CAlCH,CA1CF,CADF,CADe,CADM,CAAzB;AA+GD;;;EA5L4BsB,kBAAMC,S;;;iCAAxBjE,S,eACQ;AACjBwC,EAAAA,UAAU,EAAE0B,sBAAUC,IADL;AAEjB1B,EAAAA,kBAAkB,EAAEyB,sBAAUE;AAFb,C;AA8LrBpE,SAAS,CAACqE,SAAV,GAAsB;AACpBzC,EAAAA,iBAAiB,EAAEsC,sBAAUI,IAAV,CAAeC,UADd;AAEpB1C,EAAAA,iBAAiB,EAAEqC,sBAAUI,IAAV,CAAeC,UAFd;AAGpBzC,EAAAA,kBAAkB,EAAEoC,sBAAUI,IAAV,CAAeC,UAHf;AAIpB5C,EAAAA,OAAO,EAAEuC,sBAAUE,MAAV,CAAiBG,UAJN;AAKpBC,EAAAA,UAAU,EAAEN,sBAAUC,IAAV,CAAeI,UALP;AAMpBE,EAAAA,EAAE,EAAEP,sBAAUQ,GANM;AAOpBC,EAAAA,MAAM,EAAET,sBAAUC,IAPE;AAQpBV,EAAAA,KAAK,EAAES,sBAAUU,MARG;AASpBxE,EAAAA,cAAc,EAAE8D,sBAAUI,IAAV,CAAeC,UATX;AAUpBlD,EAAAA,cAAc,EAAE6C,sBAAUI,IAAV,CAAeC,UAVX;AAWpBpE,EAAAA,KAAK,EAAE+D,sBAAUW,KAAV,CAAgB;AACrB9C,IAAAA,IAAI,EAAEmC,sBAAUY,MADK;AAErB9C,IAAAA,SAAS,EAAEkC,sBAAUa,OAAV,CAAkBb,sBAAUY,MAA5B,CAFU;AAGrBnE,IAAAA,sBAAsB,EAAEuD,sBAAUa,OAAV,CAAkBb,sBAAUY,MAA5B,CAHH;AAIrB7C,IAAAA,WAAW,EAAEiC,sBAAUY;AAJF,GAAhB,CAXa;AAiBpB5C,EAAAA,UAAU,EAAEgC,sBAAUY,MAjBF;AAkBpB3C,EAAAA,iBAAiB,EAAE+B,sBAAUa,OAAV,CAAkBb,sBAAUU,MAA5B,CAlBC;AAmBpBxC,EAAAA,aAAa,EAAE8B,sBAAUC,IAnBL;AAoBpB9B,EAAAA,eAAe,EAAE6B,sBAAUC,IApBP;AAqBpB7B,EAAAA,iBAAiB,EAAE4B,sBAAUC,IArBT;AAsBpB3C,EAAAA,eAAe,EAAE0C,sBAAUU,MAtBP;AAuBpBrC,EAAAA,mBAAmB,EAAE2B,sBAAUU;AAvBX,CAAtB;AA0BO,IAAMI,WAAW,GAAG,wBAAWrG,MAAX,EAAmBqB,SAAnB,CAApB;;AAEP,IAAMiF,IAAI,GAAG,cAAb;AAEA,IAAMC,WAAW,GAAG;AAClBC,EAAAA,SADkB,qBACRjF,KADQ,EACD;AACf,WAAO;AACL6B,MAAAA,IAAI,EAAE7B,KAAK,CAACC,KAAN,CAAY4B,IADb;AAEL0B,MAAAA,KAAK,EAAEvD,KAAK,CAACuD;AAFR,KAAP;AAID;AANiB,CAApB;AASA,IAAM2B,YAAY,GAAG,0BAAWH,IAAX,EAAiBC,WAAjB,EAA8B,UAACG,OAAD,EAAUC,OAAV;AAAA,SAAuB;AACxE1D,IAAAA,iBAAiB,EAAEyD,OAAO,CAACE,UAAR,EADqD;AAExEzD,IAAAA,kBAAkB,EAAEuD,OAAO,CAACG,WAAR,EAFoD;AAGxEhB,IAAAA,UAAU,EAAEc,OAAO,CAACd,UAAR;AAH4D,GAAvB;AAAA,CAA9B,EAIjBQ,WAJiB,CAArB;AAMA,IAAMS,WAAW,GAAG;AAClBC,EAAAA,KADkB,mBACV;AACNhH,IAAAA,GAAG,CAAC,SAAD,CAAH;AACD,GAHiB;AAIlBiH,EAAAA,IAJkB,gBAIbzF,KAJa,EAINoF,OAJM,EAIG;AACnB,QAAMM,IAAI,GAAGN,OAAO,CAACO,OAAR,EAAb;AACAnH,IAAAA,GAAG,CAAC,eAAD,EAAkBkH,IAAlB,EAAwB,UAAxB,EAAoCN,OAAO,CAACQ,OAAR,EAApC,CAAH;AAEA5F,IAAAA,KAAK,CAAC6F,cAAN,CAAqBH,IAArB,EAA2B1F,KAAK,CAACuD,KAAjC;AACD;AATiB,CAApB;AAYA,IAAMuC,qBAAqB,GAAG,0BAAWf,IAAX,EAAiBQ,WAAjB,EAA8B,UAACJ,OAAD,EAAUC,OAAV;AAAA,SAAuB;AACjFzD,IAAAA,iBAAiB,EAAEwD,OAAO,CAACY,UAAR,EAD8D;AAEjFtB,IAAAA,MAAM,EAAEW,OAAO,CAACX,MAAR;AAFyE,GAAvB;AAAA,CAA9B,EAG1BS,YAH0B,CAA9B;eAKeY,qB","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/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});\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 trait: { name, standards, description, scorePointsDescriptors },\n traitLabel,\n scorePointsValues,\n showStandards,\n showDescription,\n enableDragAndDrop,\n currentPosition,\n secondaryBlockWidth,\n spellCheck,\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 onChange={(name) => this.onTraitChanged({ name })}\n pluginProps={labelPlugins}\n placeholder={`Enter ${traitLabel}`}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\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} // 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 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 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","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/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 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} // 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 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,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/multi-trait-rubric-configure",
3
- "version": "2.9.0",
3
+ "version": "2.10.0",
4
4
  "private": true,
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
@@ -8,11 +8,11 @@
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/config-ui": "^11.8.4",
12
- "@pie-lib/editable-html": "^9.7.1",
11
+ "@pie-lib/config-ui": "^11.8.5",
12
+ "@pie-lib/editable-html": "^9.7.2",
13
13
  "@pie-lib/render-ui": "^4.14.28",
14
- "@pie-lib/rubric": "^0.8.4",
15
- "@pie-lib/scoring-config": "^3.6.38",
14
+ "@pie-lib/rubric": "^0.8.5",
15
+ "@pie-lib/scoring-config": "^3.6.39",
16
16
  "debug": "^3.1.0",
17
17
  "lodash": "^4.17.15",
18
18
  "prop-types": "^15.6.2",
@@ -3,6 +3,26 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.4.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric-controller@1.3.5...@pie-element/multi-trait-rubric-controller@1.4.0) (2023-07-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **multi-trait-rubric:** fix conflicts ([52f3c3d](https://github.com/pie-framework/pie-elements/commit/52f3c3d87cca681094c1475085dce9f0cf395030))
12
+ * updated editable-html dependent packages for PD-2150 ([ffa6297](https://github.com/pie-framework/pie-elements/commit/ffa62977a9e329c1e12ea1dfcb2af4ba4c993bca))
13
+
14
+
15
+ ### Features
16
+
17
+ * **multi-trait-rubric:** PD-2872-add validations in controller ([8d31062](https://github.com/pie-framework/pie-elements/commit/8d31062f539455d22382ed07e13a97fd93c5847b))
18
+ * **multi-trait-rubric:** PD-2872-call imported method without this ([567372f](https://github.com/pie-framework/pie-elements/commit/567372f5806c0e0a54fc31727f20ce97369538e7))
19
+ * **multi-trait-rubric:** PD-2872-ui part of validations ([bba8c0c](https://github.com/pie-framework/pie-elements/commit/bba8c0cd410cb1968c5f144c97aded00624cece2))
20
+ * **multi-trait-rubric:** solve review observations ([b4aef59](https://github.com/pie-framework/pie-elements/commit/b4aef594a59c80530b3049cc30754eef905982ed))
21
+
22
+
23
+
24
+
25
+
6
26
  ## [1.3.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric-controller@1.3.4...@pie-element/multi-trait-rubric-controller@1.3.5) (2023-06-13)
7
27
 
8
28
 
@@ -11,6 +11,7 @@ exports.getScore = void 0;
11
11
  exports.model = model;
12
12
  exports.normalize = void 0;
13
13
  exports.outcome = outcome;
14
+ exports.validate = void 0;
14
15
 
15
16
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
16
17
 
@@ -20,6 +21,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
20
21
 
21
22
  var _defaults = _interopRequireDefault(require("./defaults"));
22
23
 
24
+ var _utils = require("./utils");
25
+
23
26
  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; }
24
27
 
25
28
  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; }
@@ -119,4 +122,40 @@ var createCorrectResponseSession = function createCorrectResponseSession(questio
119
122
  };
120
123
 
121
124
  exports.createCorrectResponseSession = createCorrectResponseSession;
125
+
126
+ var validate = function validate(model, config) {
127
+ var scales = model.scales;
128
+ var errors = {};
129
+ var traitsErrors = {};
130
+ (scales || []).forEach(function (scale, scaleIndex) {
131
+ var _scale$traits = scale.traits,
132
+ traits = _scale$traits === void 0 ? [] : _scale$traits;
133
+ var scaleErrors = {};
134
+ traits.forEach(function (trait, traitIndex) {
135
+ if (!trait.name || trait.name === '<div></div>') {
136
+ scaleErrors[traitIndex] = 'Trait names should not be empty.';
137
+ } else {
138
+ var identicalTraitName = traits.slice(traitIndex + 1).some(function (t) {
139
+ return (0, _utils.markupToText)(t.name) === (0, _utils.markupToText)(trait.name);
140
+ });
141
+
142
+ if (identicalTraitName) {
143
+ scaleErrors[traitIndex] = 'Trait names should be unique.';
144
+ }
145
+ }
146
+ });
147
+
148
+ if (Object.keys(scaleErrors).length > 0) {
149
+ traitsErrors[scaleIndex] = scaleErrors;
150
+ }
151
+ });
152
+
153
+ if (Object.keys(traitsErrors).length > 0) {
154
+ errors.traitsErrors = traitsErrors;
155
+ }
156
+
157
+ return errors;
158
+ };
159
+
160
+ exports.validate = validate;
122
161
  //# sourceMappingURL=index.js.map
@@ -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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEO,SAASA,kBAAT,GAAwC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC7C,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAApB;AAAA,GAAZ,CAAP;AACD;;AAEM,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAACC,QAAD;AAAA,yCAAoBF,oBAApB,GAAiCE,QAAjC;AAAA,CAAlB;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBL,K;;;;;yFAAf,iBAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,GACsBJ,SAAS,CAACC,QAAD,CAD/B;;AAGL,gBAAI,CAACE,GAAG,CAACE,IAAL,IAAaF,GAAG,CAACE,IAAJ,KAAa,SAA9B,EAAyC;AACvCD,cAAAA,kBAAkB,CAACE,OAAnB,GAA6BF,kBAAkB,CAACG,gBAAhD;AACD,aAFD,MAEO;AACLH,cAAAA,kBAAkB,CAACE,OAAnB,GAA6B,IAA7B;AACD,aAPI,CASL;;;AATK,mBAU2BF,kBAAkB,IAAI,EAVjD,EAUGI,MAVH,QAUGA,MAVH,EAUWC,WAVX,QAUWA,WAVX;AAWCC,YAAAA,YAXD,GAWgB,CAACF,MAAM,IAAI,EAAX,EAAeG,GAAf,CAAmB,UAACC,KAAD;AAAA,qDAAiBA,KAAjB;AAAwBH,gBAAAA,WAAW,EAAXA;AAAxB;AAAA,aAAnB,CAXhB;AAAA,6EAcAL,kBAdA;AAeHI,cAAAA,MAAM,EAAEE;AAfL;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAmBA,IAAMG,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAM,CAAN;AAAA,CAAjB;AAEP;AACA;AACA;AACA;AACA;;;;;AACO,SAASC,OAAT,GAAmB;AACxB,SAAO,IAAIjB,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaA,OAAO,CAAC;AAAEiB,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAD,CAApB;AAAA,GAAZ,CAAP;AACD;;AAEM,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAAChB,QAAD,EAAWE,GAAX,EAAmB;AAC7D,SAAO,IAAIN,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAIK,GAAG,CAACe,IAAJ,KAAa,UAAb,IAA2Bf,GAAG,CAACE,IAAJ,KAAa,YAA5C,EAA0D;AACxDP,MAAAA,OAAO,CAAC;AAAEqB,QAAAA,EAAE,EAAE;AAAN,OAAD,CAAP;AACD,KAFD,MAEO;AACLrB,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GANM,CAAP;AAOD,CARM","sourcesContent":["import defaults from './defaults';\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"],"file":"index.js"}
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","trait","traitIndex","name","identicalTraitName","slice","some","t","Object","keys","length"],"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 } = model;\n const errors = {};\n const traitsErrors = {};\n\n (scales || []).forEach((scale, scaleIndex) => {\n const { traits = [] } = scale;\n const scaleErrors = {};\n traits.forEach((trait, traitIndex) => {\n if(!trait.name || trait.name === '<div></div>') {\n scaleErrors[traitIndex] = '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] = 'Trait names should be unique.';\n }\n }\n });\n if(Object.keys(scaleErrors).length > 0){\n traitsErrors[scaleIndex] = scaleErrors;\n }\n });\n if(Object.keys(traitsErrors).length > 0){\n errors.traitsErrors = traitsErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.markupToText = void 0;
7
+
8
+ var markupToText = function markupToText(s) {
9
+ return (s || '').replace(/(<([^>]+)>)/ig, '');
10
+ };
11
+
12
+ exports.markupToText = markupToText;
13
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.js"],"names":["markupToText","s","replace"],"mappings":";;;;;;;AAAO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD,EAAO;AAC/B,SAAO,CAACA,CAAC,IAAI,EAAN,EAAUC,OAAV,CAAkB,eAAlB,EAAmC,EAAnC,CAAP;AACH,CAFM","sourcesContent":["export const markupToText = (s) => {\n return (s || '').replace(/(<([^>]+)>)/ig, '');\n};\n"],"file":"utils.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/multi-trait-rubric-controller",
3
3
  "private": true,
4
- "version": "1.3.5",
4
+ "version": "1.4.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/multi-trait-rubric",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "2.12.1-next.6+c1c47bb18",
4
+ "version": "2.13.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -15,7 +15,7 @@
15
15
  "react": "^16.8.1",
16
16
  "react-dom": "^16.8.1"
17
17
  },
18
- "gitHead": "c1c47bb1888d0d7a38a4663c0a2323cd80c8b62d",
18
+ "gitHead": "ce7755c1ce40d4b9d286c69bb5270aaef24da620",
19
19
  "scripts": {
20
20
  "postpublish": "../../scripts/postpublish"
21
21
  },