@pie-element/multi-trait-rubric 2.10.3-next.50 → 2.10.3-next.63

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/lib/main.js CHANGED
@@ -66,9 +66,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
66
66
  }, {
67
67
  key: "render",
68
68
  value: function render() {
69
- var _this$props = this.props,
70
- model = _this$props.model,
71
- animationsDisabled = _this$props.animationsDisabled;
69
+ var model = this.props.model;
70
+ var animationsDisabled = this.props.animationsDisabled;
72
71
 
73
72
  var _ref = model || {},
74
73
  halfScoring = _ref.halfScoring,
@@ -76,7 +75,10 @@ var Main = /*#__PURE__*/function (_React$Component) {
76
75
  visible = _ref.visible,
77
76
  pointLabels = _ref.pointLabels,
78
77
  description = _ref.description,
79
- standards = _ref.standards;
78
+ standards = _ref.standards,
79
+ arrowsDisabled = _ref.arrowsDisabled;
80
+
81
+ animationsDisabled = animationsDisabled || model.animationsDisabled;
80
82
 
81
83
  if (!scales || !visible) {
82
84
  return null;
@@ -99,7 +101,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
99
101
  scaleIndex: scaleIndex,
100
102
  showPointsLabels: pointLabels,
101
103
  showDescription: description,
102
- showStandards: standards
104
+ showStandards: standards,
105
+ arrowsDisabled: arrowsDisabled
103
106
  });
104
107
  }));
105
108
 
@@ -148,7 +151,8 @@ Main.propTypes = {
148
151
  visible: _propTypes["default"].bool,
149
152
  pointLabels: _propTypes["default"].bool,
150
153
  description: _propTypes["default"].bool,
151
- standards: _propTypes["default"].bool
154
+ standards: _propTypes["default"].bool,
155
+ animationsDisabled: _propTypes["default"].bool
152
156
  }),
153
157
  animationsDisabled: _propTypes["default"].bool
154
158
  };
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Main","props","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","model","animationsDisabled","halfScoring","scales","visible","pointLabels","description","standards","rubricItem","fontFamily","color","text","backgroundColor","background","marginBottom","map","scale","scaleIndex","dudUrl","marginTop","React","Component","propTypes","PropTypes","shape","bool","arrayOf","excludeZero","maxPoints","number","scorePointsLabels","string","traitLabel","traits","name","scorePointsDescriptors"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Scale from './scale';\nimport Link from '@material-ui/core/Link';\nimport Collapse from '@material-ui/core/Collapse';\nimport { color } from '@pie-lib/render-ui';\n\nclass Main extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n render() {\n const { model, animationsDisabled } = this.props;\n const { halfScoring, scales, visible, pointLabels, description, standards } = model || {};\n\n if (!scales || !visible) {\n return null;\n }\n\n const rubricItem = (\n <div style={{ fontFamily: 'Cerebri Sans', color: color.text(), backgroundColor: color.background() }}>\n {halfScoring ? (\n <div style={{ marginBottom: '16px' }}>* Half-point or in-between scores are permitted under this rubric.</div>\n ) : null}\n\n {scales.map((scale, scaleIndex) => (\n <Scale\n key={`scale_${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\n showPointsLabels={pointLabels}\n showDescription={description}\n showStandards={standards}\n />\n ))}\n </div>\n );\n\n if (animationsDisabled) {\n return rubricItem;\n }\n\n return (\n <div style={{ color: color.text(), backgroundColor: color.background() }}>\n <Link style={{ backgroundColor: color.background() }} href={this.dudUrl} onClick={this.toggleRubric}>\n {this.state.linkPrefix} Rubric\n </Link>\n <Collapse style={{ marginTop: '16px' }} in={this.state.rubricOpen} timeout=\"auto\">\n {rubricItem}\n </Collapse>\n </div>\n );\n }\n}\n\nMain.propTypes = {\n model: PropTypes.shape({\n halfScoring: PropTypes.bool,\n scales: PropTypes.arrayOf(\n PropTypes.shape({\n excludeZero: PropTypes.bool,\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 description: PropTypes.string,\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n standards: PropTypes.arrayOf(PropTypes.string),\n }),\n ),\n }),\n ),\n visible: PropTypes.bool,\n pointLabels: PropTypes.bool,\n description: PropTypes.bool,\n standards: PropTypes.bool,\n }),\n animationsDisabled: PropTypes.bool,\n};\n\nexport default Main;\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["Main","props","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","model","animationsDisabled","halfScoring","scales","visible","pointLabels","description","standards","arrowsDisabled","rubricItem","fontFamily","color","text","backgroundColor","background","marginBottom","map","scale","scaleIndex","dudUrl","marginTop","React","Component","propTypes","PropTypes","shape","bool","arrayOf","excludeZero","maxPoints","number","scorePointsLabels","string","traitLabel","traits","name","scorePointsDescriptors"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Scale from './scale';\nimport Link from '@material-ui/core/Link';\nimport Collapse from '@material-ui/core/Collapse';\nimport { color } from '@pie-lib/render-ui';\n\nclass Main extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n render() {\n const { model } = this.props;\n let { animationsDisabled } = this.props;\n const { halfScoring, scales, visible, pointLabels, description, standards, arrowsDisabled } = model || {};\n animationsDisabled = animationsDisabled || model.animationsDisabled;\n\n if (!scales || !visible) {\n return null;\n }\n\n const rubricItem = (\n <div style={{ fontFamily: 'Cerebri Sans', color: color.text(), backgroundColor: color.background() }}>\n {halfScoring ? (\n <div style={{ marginBottom: '16px' }}>* Half-point or in-between scores are permitted under this rubric.</div>\n ) : null}\n\n {scales.map((scale, scaleIndex) => (\n <Scale\n key={`scale_${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\n showPointsLabels={pointLabels}\n showDescription={description}\n showStandards={standards}\n arrowsDisabled={arrowsDisabled}\n />\n ))}\n </div>\n );\n\n if (animationsDisabled) {\n return rubricItem;\n }\n\n return (\n <div style={{ color: color.text(), backgroundColor: color.background() }}>\n <Link style={{ backgroundColor: color.background() }} href={this.dudUrl} onClick={this.toggleRubric}>\n {this.state.linkPrefix} Rubric\n </Link>\n <Collapse style={{ marginTop: '16px' }} in={this.state.rubricOpen} timeout=\"auto\">\n {rubricItem}\n </Collapse>\n </div>\n );\n }\n}\n\nMain.propTypes = {\n model: PropTypes.shape({\n halfScoring: PropTypes.bool,\n scales: PropTypes.arrayOf(\n PropTypes.shape({\n excludeZero: PropTypes.bool,\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 description: PropTypes.string,\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n standards: PropTypes.arrayOf(PropTypes.string),\n }),\n ),\n }),\n ),\n visible: PropTypes.bool,\n pointLabels: PropTypes.bool,\n description: PropTypes.bool,\n standards: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n }),\n animationsDisabled: PropTypes.bool,\n};\n\nexport default Main;\n"],"file":"main.js"}
package/lib/scale.js CHANGED
@@ -188,7 +188,8 @@ var Scale = /*#__PURE__*/function (_React$Component) {
188
188
  scaleIndex = _this$props.scaleIndex,
189
189
  showDescription = _this$props.showDescription,
190
190
  showPointsLabels = _this$props.showPointsLabels,
191
- showStandards = _this$props.showStandards;
191
+ showStandards = _this$props.showStandards,
192
+ arrowsDisabled = _this$props.arrowsDisabled;
192
193
 
193
194
  var _ref2 = scale || {},
194
195
  excludeZero = _ref2.excludeZero,
@@ -232,7 +233,7 @@ var Scale = /*#__PURE__*/function (_React$Component) {
232
233
  return /*#__PURE__*/_react["default"].createElement("div", {
233
234
  className: classes.wrapper
234
235
  }, /*#__PURE__*/_react["default"].createElement(ArrowContainer, {
235
- show: showLeft,
236
+ show: showLeft && !arrowsDisabled,
236
237
  onClick: this.scrollLeft,
237
238
  extraStyles: {
238
239
  left: 0,
@@ -250,7 +251,7 @@ var Scale = /*#__PURE__*/function (_React$Component) {
250
251
  showLeft: _this2.tableWrapper.scrollLeft < _this2.tableWrapper.scrollWidth && _this2.tableWrapper.scrollLeft > 0
251
252
  });
252
253
  }
253
- }, /*#__PURE__*/_react["default"].createElement("table", {
254
+ }, arrowsDisabled && (showRight || showLeft) ? /*#__PURE__*/_react["default"].createElement("div", null, "The item is too large to fit in print mode.") : null, /*#__PURE__*/_react["default"].createElement("table", {
254
255
  key: "scale-".concat(scaleIndex),
255
256
  className: classes.table
256
257
  }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, /*#__PURE__*/_react["default"].createElement("div", {
@@ -290,7 +291,7 @@ var Scale = /*#__PURE__*/function (_React$Component) {
290
291
  excludeZero: excludeZero
291
292
  });
292
293
  })))), /*#__PURE__*/_react["default"].createElement(ArrowContainer, {
293
- show: showRight,
294
+ show: showRight && !arrowsDisabled,
294
295
  onClick: this.scrollRight,
295
296
  extraStyles: {
296
297
  right: 0,
@@ -319,7 +320,8 @@ Scale.propTypes = {
319
320
  }),
320
321
  showPointsLabels: _propTypes["default"].bool,
321
322
  showDescription: _propTypes["default"].bool,
322
- showStandards: _propTypes["default"].bool
323
+ showStandards: _propTypes["default"].bool,
324
+ arrowsDisabled: _propTypes["default"].bool
323
325
  };
324
326
 
325
327
  var _default = (0, _styles.withStyles)(styles)(Scale);
package/lib/scale.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scale.jsx"],"names":["styles","theme","wrapper","display","position","tableWrapper","width","overflow","table","borderSpacing","marginBottom","spacing","unit","borderRadius","color","text","fontSize","typography","lineHeight","marginBlockStart","paddingInlineStart","padding","textAlign","backgroundColor","secondaryBackground","verticalAlign","scorePointHeader","border","minWidth","pointLabel","scorePointValue","fontWeight","ArrowContainer","show","onClick","extraStyles","children","height","top","margin","alignItems","justifyContent","cursor","propTypes","PropTypes","bool","func","object","Scale","scrollLeft","offsetWidth","setState","showRight","scrollWidth","showLeft","initialScrollLeft","state","props","classes","scale","scaleIndex","showDescription","showPointsLabels","showStandards","excludeZero","maxPoints","traitLabel","traits","scorePointsLabels","scorePointsValues","descriptions","pointsLabels","standards","pointValue","push","reduce","tcc","trait","traitStandards","traitDescriptions","description","length","e","left","background","ref","__html","map","index","traitIndex","scrollRight","right","React","Component","number","shape","arrayOf","string","name","scorePointsDescriptors"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\nimport Trait from './trait';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\n\nconst styles = (theme) => ({\n wrapper: {\n display: 'flex',\n position: 'relative'\n },\n tableWrapper: {\n width: '100%',\n overflow: 'scroll'\n },\n table: {\n borderSpacing: 0,\n marginBottom: theme.spacing.unit * 2,\n borderRadius: '4px',\n color: color.text(),\n fontSize: theme.typography.fontSize,\n lineHeight: '16px',\n overflow: 'unset',\n\n '& ul, ol': {\n marginBlockStart: 0,\n paddingInlineStart: theme.spacing.unit * 2,\n },\n\n '& th': {\n padding: theme.spacing.unit * 2,\n textAlign: 'left',\n backgroundColor: color.secondaryBackground(),\n verticalAlign: 'bottom',\n },\n\n '& th div': {\n width: '200px',\n },\n\n '& td': {\n width: '200px',\n padding: `${theme.spacing.unit * 2}px ${theme.spacing.unit}px`,\n verticalAlign: 'top',\n },\n },\n scorePointHeader: {\n '& td': {\n border: 0,\n padding: 0,\n textAlign: 'center',\n minWidth: '200px',\n },\n },\n pointLabel: {\n marginBottom: '4px',\n },\n scorePointValue: {\n fontWeight: 'normal',\n },\n});\n\nconst ArrowContainer = ({ show, onClick, extraStyles, children }) => (\n <div\n style={{\n height: 'calc(100% - 1px)',\n top: '1px',\n display: show ? 'flex' : 'none',\n width: '50px',\n margin: 'auto',\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n ...extraStyles\n }}\n onClick={onClick}\n >\n {children}\n </div>\n);\n\nArrowContainer.propTypes = {\n show: PropTypes.bool,\n onClick: PropTypes.func,\n extraStyles: PropTypes.object,\n children: PropTypes.object,\n};\n\n\nclass Scale extends React.Component {\n state = {};\n\n componentDidMount() {\n if (this.tableWrapper) {\n if (this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth) {\n this.setState({ showRight: true });\n }\n }\n }\n\n scrollLeft = () => {\n this.tableWrapper.scrollLeft -= this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }\n\n scrollRight = () => {\n const initialScrollLeft = this.tableWrapper.scrollLeft;\n this.tableWrapper.scrollLeft += this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight: initialScrollLeft !== this.tableWrapper.scrollLeft && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }\n\n render() {\n const { showRight, showLeft } = this.state;\n const { classes, scale, scaleIndex, showDescription, showPointsLabels, showStandards } = this.props;\n const { excludeZero, maxPoints, traitLabel, traits, scorePointsLabels } = scale || {};\n\n let scorePointsValues = [];\n let descriptions;\n let pointsLabels;\n let standards;\n\n try {\n // determining the score points values\n for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {\n scorePointsValues.push(pointValue);\n }\n\n const { traitStandards, traitDescriptions } = traits.reduce(\n (tcc, trait) => ({\n traitStandards: [...tcc.traitStandards, ...(trait.standards || [])],\n traitDescriptions: [...tcc.traitDescriptions, ...(trait.description || [])],\n }),\n {\n traitStandards: [],\n traitDescriptions: [],\n },\n );\n\n descriptions = showDescription && traitDescriptions.length;\n pointsLabels = showPointsLabels && scorePointsLabels.length;\n standards = showStandards && traitStandards.length;\n } catch (e) {\n descriptions = false;\n pointsLabels = false;\n standards = false;\n }\n\n return (\n <div className={classes.wrapper}>\n\n <ArrowContainer\n show={showLeft}\n onClick={this.scrollLeft}\n extraStyles={{\n left: 0,\n background: `linear-gradient(to right, white, ${color.background()})`,\n }}\n >\n <ArrowBackIosIcon/>\n </ArrowContainer>\n\n <div\n className={classes.tableWrapper}\n ref={ref => {\n this.tableWrapper = ref;\n }}\n onScroll={() => {\n this.setState({\n // 5 is a margin of error\n showRight: this.tableWrapper.scrollLeft + this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth - 5\n && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }}\n >\n <table\n key={`scale-${scaleIndex}`}\n className={classes.table}\n >\n <thead>\n <tr>\n <th>\n <div dangerouslySetInnerHTML={{ __html: traitLabel }}/>\n </th>\n\n {standards ? (\n <th>\n <div>Standard(s)</div>\n </th>\n ) : null}\n\n {descriptions ? (\n <th>\n <div>Description</div>\n </th>\n ) : null}\n\n {scorePointsValues &&\n scorePointsValues.map((scorePointValue, index) => {\n let pointLabel = '';\n\n // to handle the case when there aren't enough labels\n try {\n pointLabel = scorePointsLabels[scorePointsValues.length - index - 1] || '';\n } catch (e) {\n pointLabel = '';\n }\n\n return (\n <th key={`table-header-${index}`}>\n <table className={classes.scorePointHeader}>\n <thead>\n {pointsLabels ? (\n <tr>\n <td>\n <div className={classes.pointLabel} dangerouslySetInnerHTML={{ __html: pointLabel }}/>\n </td>\n </tr>\n ) : null}\n <tr>\n <td className={classes.scorePointValue}>\n {scorePointValue === 1 ? `${scorePointValue} point` : `${scorePointValue} points`}\n </td>\n </tr>\n </thead>\n </table>\n </th>\n );\n })}\n </tr>\n </thead>\n\n <tbody>\n {traits &&\n traits.map((trait, traitIndex) => (\n <Trait\n key={`trait_${scaleIndex}_${traitIndex}`}\n trait={trait}\n traitIndex={traitIndex}\n showDescription={!!descriptions}\n showStandards={!!standards}\n scaleIndex={scaleIndex}\n scorePointsValues={scorePointsValues}\n excludeZero={excludeZero}\n />\n ))}\n </tbody>\n </table>\n </div>\n\n <ArrowContainer\n show={showRight}\n onClick={this.scrollRight}\n extraStyles={{\n right: 0,\n background: `linear-gradient(to left, white, ${color.background()})`,\n }}\n >\n <ArrowForwardIosIcon/>\n </ArrowContainer>\n </div>\n );\n }\n}\n\nScale.propTypes = {\n classes: PropTypes.object,\n scaleIndex: PropTypes.number,\n scale: PropTypes.shape({\n excludeZero: PropTypes.bool,\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 showPointsLabels: PropTypes.bool,\n showDescription: PropTypes.bool,\n showStandards: PropTypes.bool,\n};\n\nexport default withStyles(styles)(Scale);\n"],"file":"scale.js"}
1
+ {"version":3,"sources":["../src/scale.jsx"],"names":["styles","theme","wrapper","display","position","tableWrapper","width","overflow","table","borderSpacing","marginBottom","spacing","unit","borderRadius","color","text","fontSize","typography","lineHeight","marginBlockStart","paddingInlineStart","padding","textAlign","backgroundColor","secondaryBackground","verticalAlign","scorePointHeader","border","minWidth","pointLabel","scorePointValue","fontWeight","ArrowContainer","show","onClick","extraStyles","children","height","top","margin","alignItems","justifyContent","cursor","propTypes","PropTypes","bool","func","object","Scale","scrollLeft","offsetWidth","setState","showRight","scrollWidth","showLeft","initialScrollLeft","state","props","classes","scale","scaleIndex","showDescription","showPointsLabels","showStandards","arrowsDisabled","excludeZero","maxPoints","traitLabel","traits","scorePointsLabels","scorePointsValues","descriptions","pointsLabels","standards","pointValue","push","reduce","tcc","trait","traitStandards","traitDescriptions","description","length","e","left","background","ref","__html","map","index","traitIndex","scrollRight","right","React","Component","number","shape","arrayOf","string","name","scorePointsDescriptors"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\nimport Trait from './trait';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\n\nconst styles = (theme) => ({\n wrapper: {\n display: 'flex',\n position: 'relative'\n },\n tableWrapper: {\n width: '100%',\n overflow: 'scroll'\n },\n table: {\n borderSpacing: 0,\n marginBottom: theme.spacing.unit * 2,\n borderRadius: '4px',\n color: color.text(),\n fontSize: theme.typography.fontSize,\n lineHeight: '16px',\n overflow: 'unset',\n\n '& ul, ol': {\n marginBlockStart: 0,\n paddingInlineStart: theme.spacing.unit * 2,\n },\n\n '& th': {\n padding: theme.spacing.unit * 2,\n textAlign: 'left',\n backgroundColor: color.secondaryBackground(),\n verticalAlign: 'bottom',\n },\n\n '& th div': {\n width: '200px',\n },\n\n '& td': {\n width: '200px',\n padding: `${theme.spacing.unit * 2}px ${theme.spacing.unit}px`,\n verticalAlign: 'top',\n },\n },\n scorePointHeader: {\n '& td': {\n border: 0,\n padding: 0,\n textAlign: 'center',\n minWidth: '200px',\n },\n },\n pointLabel: {\n marginBottom: '4px',\n },\n scorePointValue: {\n fontWeight: 'normal',\n },\n});\n\nconst ArrowContainer = ({ show, onClick, extraStyles, children }) => (\n <div\n style={{\n height: 'calc(100% - 1px)',\n top: '1px',\n display: show ? 'flex' : 'none',\n width: '50px',\n margin: 'auto',\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n ...extraStyles\n }}\n onClick={onClick}\n >\n {children}\n </div>\n);\n\nArrowContainer.propTypes = {\n show: PropTypes.bool,\n onClick: PropTypes.func,\n extraStyles: PropTypes.object,\n children: PropTypes.object,\n};\n\n\nclass Scale extends React.Component {\n state = {};\n\n componentDidMount() {\n if (this.tableWrapper) {\n if (this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth) {\n this.setState({ showRight: true });\n }\n }\n }\n\n scrollLeft = () => {\n this.tableWrapper.scrollLeft -= this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }\n\n scrollRight = () => {\n const initialScrollLeft = this.tableWrapper.scrollLeft;\n this.tableWrapper.scrollLeft += this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight: initialScrollLeft !== this.tableWrapper.scrollLeft && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }\n\n render() {\n const { showRight, showLeft } = this.state;\n const { classes, scale, scaleIndex, showDescription, showPointsLabels, showStandards, arrowsDisabled } = this.props;\n const { excludeZero, maxPoints, traitLabel, traits, scorePointsLabels } = scale || {};\n\n let scorePointsValues = [];\n let descriptions;\n let pointsLabels;\n let standards;\n\n try {\n // determining the score points values\n for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {\n scorePointsValues.push(pointValue);\n }\n\n const { traitStandards, traitDescriptions } = traits.reduce(\n (tcc, trait) => ({\n traitStandards: [...tcc.traitStandards, ...(trait.standards || [])],\n traitDescriptions: [...tcc.traitDescriptions, ...(trait.description || [])],\n }),\n {\n traitStandards: [],\n traitDescriptions: [],\n },\n );\n\n descriptions = showDescription && traitDescriptions.length;\n pointsLabels = showPointsLabels && scorePointsLabels.length;\n standards = showStandards && traitStandards.length;\n } catch (e) {\n descriptions = false;\n pointsLabels = false;\n standards = false;\n }\n\n return (\n <div className={classes.wrapper}>\n <ArrowContainer\n show={showLeft && !arrowsDisabled}\n onClick={this.scrollLeft}\n extraStyles={{\n left: 0,\n background: `linear-gradient(to right, white, ${color.background()})`,\n }}\n >\n <ArrowBackIosIcon/>\n </ArrowContainer>\n\n <div\n className={classes.tableWrapper}\n ref={ref => {\n this.tableWrapper = ref;\n }}\n onScroll={() => {\n this.setState({\n // 5 is a margin of error\n showRight: this.tableWrapper.scrollLeft + this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth - 5\n && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }}\n >\n {arrowsDisabled && (showRight || showLeft) ? <div>The item is too large to fit in print mode.</div> : null}\n <table\n key={`scale-${scaleIndex}`}\n className={classes.table}\n >\n <thead>\n <tr>\n <th>\n <div dangerouslySetInnerHTML={{ __html: traitLabel }}/>\n </th>\n\n {standards ? (\n <th>\n <div>Standard(s)</div>\n </th>\n ) : null}\n\n {descriptions ? (\n <th>\n <div>Description</div>\n </th>\n ) : null}\n\n {scorePointsValues &&\n scorePointsValues.map((scorePointValue, index) => {\n let pointLabel = '';\n\n // to handle the case when there aren't enough labels\n try {\n pointLabel = scorePointsLabels[scorePointsValues.length - index - 1] || '';\n } catch (e) {\n pointLabel = '';\n }\n\n return (\n <th key={`table-header-${index}`}>\n <table className={classes.scorePointHeader}>\n <thead>\n {pointsLabels ? (\n <tr>\n <td>\n <div className={classes.pointLabel} dangerouslySetInnerHTML={{ __html: pointLabel }}/>\n </td>\n </tr>\n ) : null}\n <tr>\n <td className={classes.scorePointValue}>\n {scorePointValue === 1 ? `${scorePointValue} point` : `${scorePointValue} points`}\n </td>\n </tr>\n </thead>\n </table>\n </th>\n );\n })}\n </tr>\n </thead>\n\n <tbody>\n {traits &&\n traits.map((trait, traitIndex) => (\n <Trait\n key={`trait_${scaleIndex}_${traitIndex}`}\n trait={trait}\n traitIndex={traitIndex}\n showDescription={!!descriptions}\n showStandards={!!standards}\n scaleIndex={scaleIndex}\n scorePointsValues={scorePointsValues}\n excludeZero={excludeZero}\n />\n ))}\n </tbody>\n </table>\n </div>\n\n <ArrowContainer\n show={showRight && !arrowsDisabled}\n onClick={this.scrollRight}\n extraStyles={{\n right: 0,\n background: `linear-gradient(to left, white, ${color.background()})`,\n }}\n >\n <ArrowForwardIosIcon/>\n </ArrowContainer>\n </div>\n );\n }\n}\n\nScale.propTypes = {\n classes: PropTypes.object,\n scaleIndex: PropTypes.number,\n scale: PropTypes.shape({\n excludeZero: PropTypes.bool,\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 showPointsLabels: PropTypes.bool,\n showDescription: PropTypes.bool,\n showStandards: PropTypes.bool,\n arrowsDisabled: PropTypes.bool,\n};\n\nexport default withStyles(styles)(Scale);\n"],"file":"scale.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.10.3-next.50+698446b29",
4
+ "version": "2.10.3-next.63+982fb82d4",
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": "698446b29a553a022c91825118370faae824b723",
18
+ "gitHead": "982fb82d4cbc54197a1c36cd969f52472d201fb3",
19
19
  "scripts": {
20
20
  "postpublish": "../../scripts/postpublish"
21
21
  },