@pie-element/number-line 9.7.9 → 9.7.10-next.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/configure/lib/arrows.js +1 -1
  2. package/configure/lib/arrows.js.map +1 -1
  3. package/configure/lib/main.js +6 -6
  4. package/configure/lib/main.js.map +1 -1
  5. package/configure/lib/number-text-field.js +1 -1
  6. package/configure/lib/number-text-field.js.map +1 -1
  7. package/configure/lib/size.js +1 -1
  8. package/configure/lib/size.js.map +1 -1
  9. package/configure/lib/ticks.js +2 -2
  10. package/configure/lib/ticks.js.map +1 -1
  11. package/configure/package.json +3 -1
  12. package/controller/lib/index.js +2 -2
  13. package/controller/lib/index.js.map +1 -1
  14. package/controller/package.json +2 -1
  15. package/lib/index.js +1 -1
  16. package/lib/index.js.map +1 -1
  17. package/lib/number-line/colors.js +1 -1
  18. package/lib/number-line/colors.js.map +1 -1
  19. package/lib/number-line/feedback.js +2 -2
  20. package/lib/number-line/feedback.js.map +1 -1
  21. package/lib/number-line/graph/arrow.js +1 -1
  22. package/lib/number-line/graph/arrow.js.map +1 -1
  23. package/lib/number-line/graph/elements/line.js +1 -1
  24. package/lib/number-line/graph/elements/line.js.map +1 -1
  25. package/lib/number-line/graph/elements/point.js +1 -1
  26. package/lib/number-line/graph/elements/point.js.map +1 -1
  27. package/lib/number-line/graph/elements/ray.js +1 -1
  28. package/lib/number-line/graph/elements/ray.js.map +1 -1
  29. package/lib/number-line/graph/index.js +1 -1
  30. package/lib/number-line/graph/index.js.map +1 -1
  31. package/lib/number-line/graph/line.js +1 -1
  32. package/lib/number-line/graph/line.js.map +1 -1
  33. package/lib/number-line/graph/ticks.js +1 -1
  34. package/lib/number-line/graph/ticks.js.map +1 -1
  35. package/lib/number-line/index.js +3 -3
  36. package/lib/number-line/index.js.map +1 -1
  37. package/lib/number-line/point-chooser/index.js +1 -1
  38. package/lib/number-line/point-chooser/index.js.map +1 -1
  39. package/package.json +7 -3
@@ -29,7 +29,7 @@ var _styles = require("@material-ui/core/styles");
29
29
 
30
30
  var _classnames = _interopRequireDefault(require("classnames"));
31
31
 
32
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
32
+ var _configUi = require("@pie-lib/config-ui");
33
33
 
34
34
  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; }
35
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/arrows.jsx"],"names":["Arrows","props","change","key","event","value","update","arrows","onChange","changeLeft","bind","changeRight","classes","className","flexRow","checkbox","left","right","React","Component","PropTypes","object","isRequired","string","shape","bool","func","styles","theme","paddingTop","spacing","unit","display","alignItems","gap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,M;;;;;AAWX,kBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;;AAEA,UAAKC,MAAL,GAAc,UAACC,GAAD,EAAMC,KAAN,EAAaC,KAAb,EAAuB;AACnC,UAAMC,MAAM,mCAAQ,MAAKL,KAAL,CAAWM,MAAnB,4CAA4BJ,GAA5B,EAAkCE,KAAlC,EAAZ;;AACA,YAAKJ,KAAL,CAAWO,QAAX,CAAoBF,MAApB;AACD,KAHD;;AAIA,UAAKG,UAAL,GAAkB,MAAKP,MAAL,CAAYQ,IAAZ,iDAAuB,MAAvB,CAAlB;AACA,UAAKC,WAAL,GAAmB,MAAKT,MAAL,CAAYQ,IAAZ,iDAAuB,OAAvB,CAAnB;AARiB;AASlB;;;;WAED,kBAAS;AACP,wBAAuC,KAAKT,KAA5C;AAAA,UAAQW,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BN,MAA5B,eAA4BA,MAA5B;AACA,0BACE;AAAK,QAAA,SAAS,EAAEK,OAAO,CAACE;AAAxB,sBACE,wDADF,eAEE;AAAK,QAAA,SAAS,EAAE,4BAAGF,OAAO,CAACL,MAAX,EAAmBM,SAAnB;AAAhB,sBACE,gCAAC,uBAAD;AAAe,QAAA,SAAS,EAAED,OAAO,CAACG,QAAlC;AAA4C,QAAA,KAAK,EAAE,MAAnD;AAA2D,QAAA,OAAO,EAAER,MAAM,CAACS,IAA3E;AAAiF,QAAA,QAAQ,EAAE,KAAKP;AAAhG,QADF,uBAGE,gCAAC,uBAAD;AACE,QAAA,SAAS,EAAEG,OAAO,CAACG,QADrB;AAEE,QAAA,KAAK,EAAE,OAFT;AAGE,QAAA,OAAO,EAAER,MAAM,CAACU,KAHlB;AAIE,QAAA,QAAQ,EAAE,KAAKN;AAJjB,QAHF,CAFF,CADF;AAeD;;;EAvCyBO,kBAAMC,S;;;iCAArBnB,M,eACQ;AACjBY,EAAAA,OAAO,EAAEQ,sBAAUC,MAAV,CAAiBC,UADT;AAEjBT,EAAAA,SAAS,EAAEO,sBAAUG,MAFJ;AAGjBhB,EAAAA,MAAM,EAAEa,sBAAUI,KAAV,CAAgB;AAAER,IAAAA,IAAI,EAAEI,sBAAUK,IAAlB;AAAwBR,IAAAA,KAAK,EAAEG,sBAAUK;AAAzC,GAAhB,EAAiEH,UAHxD;AAIjBd,EAAAA,QAAQ,EAAEY,sBAAUM;AAJH,C;iCADR1B,M,kBAOW;AACpBO,EAAAA,MAAM,EAAE;AAAES,IAAAA,IAAI,EAAE,IAAR;AAAcC,IAAAA,KAAK,EAAE;AAArB;AADY,C;;AAkCxB,IAAMU,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBrB,IAAAA,MAAM,EAAE;AACNsB,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAD3B,KADiB;AAIzBjB,IAAAA,OAAO,EAAE;AACPkB,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,UAAU,EAAE,QAFL;AAGPC,MAAAA,GAAG,EAAE;AAHE;AAJgB,GAAZ;AAAA,CAAf;;eAUe,wBAAWP,MAAX,EAAmB3B,MAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport { InputCheckbox } from '@pie-lib/pie-toolbox/config-ui';\n\nexport class Arrows extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n arrows: PropTypes.shape({ left: PropTypes.bool, right: PropTypes.bool }).isRequired,\n onChange: PropTypes.func,\n };\n static defaultProps = {\n arrows: { left: true, right: true },\n };\n\n constructor(props) {\n super(props);\n\n this.change = (key, event, value) => {\n const update = { ...this.props.arrows, [key]: value };\n this.props.onChange(update);\n };\n this.changeLeft = this.change.bind(this, 'left');\n this.changeRight = this.change.bind(this, 'right');\n }\n\n render() {\n const { classes, className, arrows } = this.props;\n return (\n <div className={classes.flexRow}>\n <label>Arrows</label>\n <div className={cn(classes.arrows, className)}>\n <InputCheckbox className={classes.checkbox} label={'Left'} checked={arrows.left} onChange={this.changeLeft} />\n &nbsp;\n <InputCheckbox\n className={classes.checkbox}\n label={'Right'}\n checked={arrows.right}\n onChange={this.changeRight}\n />\n </div>\n </div>\n );\n }\n}\nconst styles = (theme) => ({\n arrows: {\n paddingTop: theme.spacing.unit * 2,\n },\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n});\nexport default withStyles(styles)(Arrows);\n"],"file":"arrows.js"}
1
+ {"version":3,"sources":["../src/arrows.jsx"],"names":["Arrows","props","change","key","event","value","update","arrows","onChange","changeLeft","bind","changeRight","classes","className","flexRow","checkbox","left","right","React","Component","PropTypes","object","isRequired","string","shape","bool","func","styles","theme","paddingTop","spacing","unit","display","alignItems","gap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,M;;;;;AAWX,kBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;;AAEA,UAAKC,MAAL,GAAc,UAACC,GAAD,EAAMC,KAAN,EAAaC,KAAb,EAAuB;AACnC,UAAMC,MAAM,mCAAQ,MAAKL,KAAL,CAAWM,MAAnB,4CAA4BJ,GAA5B,EAAkCE,KAAlC,EAAZ;;AACA,YAAKJ,KAAL,CAAWO,QAAX,CAAoBF,MAApB;AACD,KAHD;;AAIA,UAAKG,UAAL,GAAkB,MAAKP,MAAL,CAAYQ,IAAZ,iDAAuB,MAAvB,CAAlB;AACA,UAAKC,WAAL,GAAmB,MAAKT,MAAL,CAAYQ,IAAZ,iDAAuB,OAAvB,CAAnB;AARiB;AASlB;;;;WAED,kBAAS;AACP,wBAAuC,KAAKT,KAA5C;AAAA,UAAQW,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BN,MAA5B,eAA4BA,MAA5B;AACA,0BACE;AAAK,QAAA,SAAS,EAAEK,OAAO,CAACE;AAAxB,sBACE,wDADF,eAEE;AAAK,QAAA,SAAS,EAAE,4BAAGF,OAAO,CAACL,MAAX,EAAmBM,SAAnB;AAAhB,sBACE,gCAAC,uBAAD;AAAe,QAAA,SAAS,EAAED,OAAO,CAACG,QAAlC;AAA4C,QAAA,KAAK,EAAE,MAAnD;AAA2D,QAAA,OAAO,EAAER,MAAM,CAACS,IAA3E;AAAiF,QAAA,QAAQ,EAAE,KAAKP;AAAhG,QADF,uBAGE,gCAAC,uBAAD;AACE,QAAA,SAAS,EAAEG,OAAO,CAACG,QADrB;AAEE,QAAA,KAAK,EAAE,OAFT;AAGE,QAAA,OAAO,EAAER,MAAM,CAACU,KAHlB;AAIE,QAAA,QAAQ,EAAE,KAAKN;AAJjB,QAHF,CAFF,CADF;AAeD;;;EAvCyBO,kBAAMC,S;;;iCAArBnB,M,eACQ;AACjBY,EAAAA,OAAO,EAAEQ,sBAAUC,MAAV,CAAiBC,UADT;AAEjBT,EAAAA,SAAS,EAAEO,sBAAUG,MAFJ;AAGjBhB,EAAAA,MAAM,EAAEa,sBAAUI,KAAV,CAAgB;AAAER,IAAAA,IAAI,EAAEI,sBAAUK,IAAlB;AAAwBR,IAAAA,KAAK,EAAEG,sBAAUK;AAAzC,GAAhB,EAAiEH,UAHxD;AAIjBd,EAAAA,QAAQ,EAAEY,sBAAUM;AAJH,C;iCADR1B,M,kBAOW;AACpBO,EAAAA,MAAM,EAAE;AAAES,IAAAA,IAAI,EAAE,IAAR;AAAcC,IAAAA,KAAK,EAAE;AAArB;AADY,C;;AAkCxB,IAAMU,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBrB,IAAAA,MAAM,EAAE;AACNsB,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AAD3B,KADiB;AAIzBjB,IAAAA,OAAO,EAAE;AACPkB,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,UAAU,EAAE,QAFL;AAGPC,MAAAA,GAAG,EAAE;AAHE;AAJgB,GAAZ;AAAA,CAAf;;eAUe,wBAAWP,MAAX,EAAmB3B,MAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport { InputCheckbox } from '@pie-lib/config-ui';\n\nexport class Arrows extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n arrows: PropTypes.shape({ left: PropTypes.bool, right: PropTypes.bool }).isRequired,\n onChange: PropTypes.func,\n };\n static defaultProps = {\n arrows: { left: true, right: true },\n };\n\n constructor(props) {\n super(props);\n\n this.change = (key, event, value) => {\n const update = { ...this.props.arrows, [key]: value };\n this.props.onChange(update);\n };\n this.changeLeft = this.change.bind(this, 'left');\n this.changeRight = this.change.bind(this, 'right');\n }\n\n render() {\n const { classes, className, arrows } = this.props;\n return (\n <div className={classes.flexRow}>\n <label>Arrows</label>\n <div className={cn(classes.arrows, className)}>\n <InputCheckbox className={classes.checkbox} label={'Left'} checked={arrows.left} onChange={this.changeLeft} />\n &nbsp;\n <InputCheckbox\n className={classes.checkbox}\n label={'Right'}\n checked={arrows.right}\n onChange={this.changeRight}\n />\n </div>\n </div>\n );\n }\n}\nconst styles = (theme) => ({\n arrows: {\n paddingTop: theme.spacing.unit * 2,\n },\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n});\nexport default withStyles(styles)(Arrows);\n"],"file":"arrows.js"}
@@ -29,9 +29,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
29
29
 
30
30
  var _react = _interopRequireDefault(require("react"));
31
31
 
32
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
32
+ var _configUi = require("@pie-lib/config-ui");
33
33
 
34
- var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
34
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
35
35
 
36
36
  var _numberLine = require("@pie-element/number-line");
37
37
 
@@ -690,7 +690,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
690
690
  }, instruction.label), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
691
691
  label: teacherInstructions.label,
692
692
  className: classes.promptContainer
693
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
693
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
694
694
  className: classes.teacherInstructions,
695
695
  markup: model.teacherInstructions || '',
696
696
  onChange: function onChange(teacherInstructions) {
@@ -717,7 +717,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
717
717
  }, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
718
718
  label: prompt.label,
719
719
  className: classes.promptContainer
720
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
720
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
721
721
  className: classes.prompt,
722
722
  markup: model.prompt || '',
723
723
  onChange: function onChange(prompt) {
@@ -804,7 +804,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
804
804
  }), titleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
805
805
  label: (title === null || title === void 0 ? void 0 : title.label) || 'Title',
806
806
  className: classes.title
807
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
807
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
808
808
  markup: graph.title || '',
809
809
  onChange: this.changeGraphTitle,
810
810
  toolbarOpts: toolbarOpts,
@@ -901,7 +901,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
901
901
  }), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
902
902
  label: rationale.label || 'Rationale',
903
903
  className: classes.promptContainer
904
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
904
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
905
905
  className: classes.prompt,
906
906
  markup: model.rationale || '',
907
907
  onChange: function onChange(rationale) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["trimModel","model","feedback","undefined","prompt","teacherInstructions","graph","title","disabled","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","Panel","settings","toggle","minorLimits","minorValues","majorValues","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","marginBottom","row","display","flexWrap","paddingRight","pointTypeChooser","margin","promptContainer","paddingTop","tooltip","fontSize","typography","whiteSpace","maxWidth","inlineFlexContainer","resetButton","errorText","color","palette","error","main","flexRow","alignItems","gap","description","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","obj","onChange","respIndex","forEach","correctResp","key","domainPosition","domain","min","max","size","push","length","setState","correctAnswerDialog","open","text","indices","reloadTicksData","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","value","e","Math","floor","dialog","getAdjustedHeight","object","ticks","tickUtils","snapElements","initialElements","updatedGraph","updateMajorValue","tickIntervalType","minor","getMinorLimits","math","number","ceil","integerTick","decimal","fraction","fractionTick","decimalTick","generateMinorValues","minValue","maxValue","n","d","generateMajorValuesForMinor","indexOf","major","currIndex","arrows","defaultModel","index","el","position","update","Set","map","filter","v","some","data","pop","state","configuration","showTitle","titleEnabled","enabled","classes","onConfigurationChanged","uploadSoundSupport","imageSupport","baseInputConfiguration","contentDimensions","instruction","rationale","spellCheck","mathMlOptions","numberLineDimensions","maxMaxElements","hidePointConfigButtons","availableTools","settingsPanelDisabled","errors","extraCSSRules","spellCheckEnabled","toolbarEditorPosition","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","correctResponseError","domainError","maxError","pointsError","promptError","rationaleError","teacherInstructionsError","widthError","validationMessage","initialModel","toolbarOpts","panelProperties","label","getPluginProps","Properties","inputConfiguration","language","marginLeft","changeTicks","widthEnabled","step","changeSize","changeArrows","changeGraphTitle","exhibitOnly","availableTypesChange","changeMaxNoOfPoints","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","React","Component","PropTypes","isRequired","func","name"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FormSection, InputContainer, AlertDialog, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport { NumberLineComponent, dataConverter, tickUtils } from '@pie-element/number-line';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\nimport * as math from 'mathjs';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n teacherInstructions: undefined,\n graph: { ...model.graph, title: undefined, disabled: true },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\nconst { Panel, toggle } = settings;\n\nlet minorLimits = {};\nlet minorValues = {};\nlet majorValues = {};\n\nconst styles = (theme) => ({\n maxNumberOfPoints: {\n width: '150px',\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2,\n },\n },\n pointTypeChooser: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n title: {\n marginBottom: theme.spacing.unit * 4,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n inlineFlexContainer: {\n display: 'inline-flex',\n },\n resetButton: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nexport const toPointType = (response) => {\n function rest(response) {\n if (response.pointType) {\n if (response.direction) {\n return `${response.pointType[0]}${response.direction[0]}`;\n }\n\n return response.pointType[0];\n }\n\n return `${response.leftPoint[0]}${response.rightPoint[0]}`;\n }\n\n return `${response.type[0]}${rest(response)}`.toUpperCase();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n const {\n model: {\n graph: { availableTypes, maxNumberOfPoints },\n },\n } = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n this.state = {\n dialog: {\n open: false,\n text: '',\n },\n correctAnswerDialog: {\n open: false,\n text: '',\n },\n };\n this.graphChange({ height });\n }\n\n componentDidMount() {\n const { configuration, model, onChange } = this.props;\n const { title } = configuration || {};\n const { titleEnabled: showTitle } = model || {};\n\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n\n onChange && onChange({ ...model, titleEnabled });\n }\n\n graphChange = (obj) => {\n const { model, onChange } = this.props;\n let graph = { ...model.graph, ...obj };\n let respIndex = [];\n model.correctResponse.forEach((correctResp, key) => {\n if (\n correctResp.domainPosition < graph.domain.min ||\n correctResp.domainPosition > graph.domain.max ||\n (correctResp.size &&\n (correctResp.domainPosition + correctResp.size < graph.domain.min ||\n correctResp.domainPosition + correctResp.size > graph.domain.max))\n ) {\n respIndex.push(key);\n }\n });\n if (respIndex.length > 0) {\n this.setState({\n correctAnswerDialog: {\n open: true,\n text:\n 'This\\n' +\n 'change would make it impossible for students to plot one or more elements in the current\\n' +\n 'correct answer. If you proceed, all such elements will be removed from the correct\\n' +\n 'answer.',\n indices: respIndex,\n graph: model.graph,\n },\n });\n }\n //reload ticks value whenever domain and width is changed\n graph = this.reloadTicksData(graph);\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n return;\n }\n });\n return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100\n : 50 + (maxNumberOfPoints || 20) * 25;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n maxNumberOfPoints = Math.floor(maxNumberOfPoints);\n if (this.props.model.correctResponse.length > maxNumberOfPoints) {\n this.setState({\n dialog: {\n open: true,\n text: 'To use this value, you must first remove one or more elements from the correct answers.',\n },\n });\n return;\n }\n const {\n model: {\n graph: { availableTypes },\n },\n } = this.props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ maxNumberOfPoints, height });\n };\n\n changeGraphTitle = (title) => this.graphChange({ title });\n\n /*\n * Gets triggered whenever ticks related data is changed by user.\n * */\n changeTicks = (object) => {\n const { model, onChange } = this.props;\n let { ticks } = object;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = model.graph.initialElements\n ? tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements)\n : [];\n let updatedGraph = this.updateMajorValue({ ...model.graph, ticks });\n const graph = { ...updatedGraph, initialElements };\n onChange({ graph, correctResponse });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will reload ticks data whenever graph object is changed and also sets required tick object\n * for rendering Ticks Components.\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n reloadTicksData = (graph) => {\n const { domain, ticks, width } = graph;\n //Set tick interval type if not present for legacy number line models depending upon minor value\n if (!ticks.tickIntervalType) {\n if (ticks.minor > 0.5) {\n ticks.tickIntervalType = 'Integer';\n } else {\n ticks.tickIntervalType = 'Decimal';\n }\n }\n // This section will calculate minor and major values array and assign respective value\n // to different tick types object\n minorLimits = tickUtils.getMinorLimits(domain, width);\n if (minorLimits.min >= 1) {\n /*\n * In this scenario only integer tick will be enabled\n * */\n ticks.tickIntervalType = 'Integer';\n ticks.minor =\n ticks.minor < 1\n ? math.number(math.ceil(minorLimits.min))\n : ticks.minor >= math.number(math.ceil(minorLimits.min)) &&\n ticks.minor <= math.number(math.floor(minorLimits.max))\n ? ticks.minor\n : math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n minorValues = { decimal: [], fraction: [] };\n ticks.fractionTick = '0';\n ticks.decimalTick = 0;\n } else if (minorLimits.min >= 0 && minorLimits.max < 1) {\n /*\n * In this scenario only decimal or fraction tick will be enabled\n * */\n if (ticks.tickIntervalType === 'Integer') {\n ticks.tickIntervalType = 'Fraction';\n }\n minorValues = tickUtils.generateMinorValues(minorLimits);\n let minValue = math.number(math.fraction(minorValues.fraction[0]));\n let maxValue = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n if (ticks.minor < minValue || ticks.minor > maxValue) {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n ticks.fractionTick = minorValues.fraction[minorValues.fraction.length - 1];\n ticks.decimalTick = minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.minor = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.decimalTick = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick : minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick : minorValues.fraction[0];\n }\n }\n ticks.integerTick = 1;\n } else if (minorLimits.min < 1 && minorLimits.max >= 1) {\n /*\n * In this scenario all integer, decimal or fraction tick will be enabled\n * */\n minorValues = tickUtils.generateMinorValues(minorLimits);\n if (!(ticks.minor >= minorLimits.min && ticks.minor <= minorLimits.max)) {\n if (minorLimits.min > 0.5) {\n ticks.tickIntervalType = 'Integer';\n }\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.minor = math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.minor = minorValues.decimal[0];\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[0]));\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n }\n }\n }\n return this.updateMajorValue({ ...graph, ticks });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will update major value whenever minor value is changed or tick type is changed\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n updateMajorValue = (graph) => {\n const { domain, ticks, width } = graph;\n majorValues = tickUtils.generateMajorValuesForMinor(ticks.minor, domain, width);\n if (majorValues.decimal.indexOf(ticks.major) === -1) {\n let currIndex = 0;\n if (ticks.tickIntervalType === 'Integer') {\n currIndex = majorValues.decimal.length > 4 ? 4 : majorValues.decimal.length - 1;\n } else {\n currIndex = majorValues.decimal.length - 1;\n }\n ticks.major = majorValues.decimal[currIndex];\n }\n graph.fraction = ticks.tickIntervalType === 'Fraction' && ticks.major < 1;\n return { ...graph, ticks };\n };\n\n changeArrows = (arrows) => this.graphChange({ arrows });\n\n setDefaults = () => {\n const {\n graph: { availableTypes, maxNumberOfPoints },\n } = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n el.position = position;\n\n const { onChange, model } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n\n onChange({ correctResponse });\n };\n\n availableTypesChange = (availableTypes) => {\n const { model, onChange } = this.props;\n const {\n correctResponse,\n graph: { maxNumberOfPoints },\n } = model;\n\n new Set(correctResponse.map(toPointType)).forEach((pointType) => {\n availableTypes[pointType] = true;\n });\n\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...model.graph, availableTypes, height };\n\n onChange({ graph });\n };\n\n deleteCorrectResponse = (indices) => {\n const { model, onChange } = this.props;\n const correctResponse = model.correctResponse.filter((v, index) => !indices.some((d) => d === index));\n\n onChange({ correctResponse });\n };\n\n addCorrectResponse = (data) => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n\n onChange({ correctResponse });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n\n onChange({ correctResponse: [] });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n onChange({ correctResponse });\n };\n\n render() {\n const { classes, model, onChange, configuration, onConfigurationChanged, uploadSoundSupport, imageSupport } =\n this.props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n instruction = {},\n teacherInstructions = {},\n title = {},\n prompt = {},\n rationale = {},\n spellCheck = {},\n mathMlOptions = {},\n numberLineDimensions = {},\n maxMaxElements = 20,\n hidePointConfigButtons = false,\n availableTools = ['PF'],\n settingsPanelDisabled = false,\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n spellCheckEnabled,\n toolbarEditorPosition,\n teacherInstructionsEnabled,\n titleEnabled,\n promptEnabled,\n rationaleEnabled,\n } = model || {};\n\n let { graph } = model;\n graph = this.reloadTicksData(graph);\n\n const { dialog, correctAnswerDialog } = this.state;\n const {\n correctResponseError,\n domainError,\n maxError,\n pointsError,\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n widthError,\n } = errors || {};\n const validationMessage = generateValidationMessage();\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n const initialModel = cloneDeep(model);\n initialModel['disabled'] = true;\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n titleEnabled: title.settings && toggle(title.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onChange}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction.label}\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.teacherInstructions}\n markup={model.teacherInstructions || ''}\n onChange={(teacherInstructions) => onChange({ teacherInstructions })}\n nonEmpty={false}\n disableUnderline\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <CardBar\n header=\"Set Up Number Line\"\n info={\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n }\n >\n Set up the number line by entering the domain and number of tick marks to display. Labels on the number line\n can be edited or removed by clicking on the label.\n </CardBar>\n\n <div className={classes.row}>\n <Domain domain={graph.domain} errors={errors} onChange={(domain) => this.graphChange({ domain })} />\n </div>\n\n {maxError && <div className={classes.errorText}>{maxError}</div>}\n {domainError && <div className={classes.errorText}>{domainError}</div>}\n\n <div>\n <FormSection>\n <Ticks\n ticks={graph.ticks}\n minorLimits={minorLimits}\n minorValues={minorValues}\n majorValues={majorValues}\n onChange={this.changeTicks}\n />\n </FormSection>\n </div>\n\n <div className={classes.flexRow}>\n {model.widthEnabled && (\n <Size\n size={graph}\n min={numberLineDimensions.min}\n max={numberLineDimensions.max}\n step={numberLineDimensions.step}\n onChange={this.changeSize}\n />\n )}\n <div></div>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </div>\n\n {widthError && <div className={classes.errorText}>{widthError}</div>}\n\n <NumberLineComponent\n onMoveElement={() => {}}\n onDeleteElements={() => {}}\n onAddElement={() => {}}\n onClearElements={() => {}}\n onUndoElement={() => {}}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n maxHeight={70}\n model={trimModel(initialModel)}\n />\n\n {titleEnabled && (\n <FormSection label={title?.label || 'Title'} className={classes.title}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n activePlugins={[\n 'bold',\n 'html',\n 'italic',\n 'underline',\n 'strikethrough',\n 'image',\n 'math',\n 'languageCharacters',\n 'responseArea',\n ]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </FormSection>\n )}\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <CardBar header=\"Define Tool Set and Correct Response\">\n Select answer type and place it on the number line. Intersecting points, line segments and/or rays will\n appear above the number line. <i>Note: A maximum of 20 points, line segments or rays may be plotted.</i>\n </CardBar>\n\n <CardBar header=\"Available Tools\" mini>\n Click on the input options to be displayed to the students. All inputs will display by default.\n </CardBar>\n\n <div className={classes.pointTypeChooser}>\n <PointConfig\n onSelectionChange={this.availableTypesChange}\n selection={graph.availableTypes}\n availableTools={availableTools}\n hideButtons={hidePointConfigButtons}\n />\n </div>\n\n <FormSection className={classes.flexRow}>\n <label>Max No of Elements</label>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n min={1}\n max={maxMaxElements}\n onlyIntegersAllowed={true}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n {pointsError && <div className={classes.errorText}>{pointsError}</div>}\n </FormSection>\n\n <label>Correct Answer</label>\n\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n </React.Fragment>\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n <AlertDialog\n open={correctAnswerDialog.open}\n title=\"Warning\"\n text={correctAnswerDialog.text}\n onConfirm={() => {\n let indices = this.state.correctAnswerDialog.indices;\n if (indices && indices.length > 0) {\n this.deleteCorrectResponse(indices);\n }\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onClose={() => {\n const graph = this.state.correctAnswerDialog.graph;\n onChange({ graph });\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onConfirmText={'OK'}\n onCloseText={'Cancel'}\n />\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={(rationale) => onChange({ rationale })}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles, { name: 'Main' })(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["trimModel","model","feedback","undefined","prompt","teacherInstructions","graph","title","disabled","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","Panel","settings","toggle","minorLimits","minorValues","majorValues","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","marginBottom","row","display","flexWrap","paddingRight","pointTypeChooser","margin","promptContainer","paddingTop","tooltip","fontSize","typography","whiteSpace","maxWidth","inlineFlexContainer","resetButton","errorText","color","palette","error","main","flexRow","alignItems","gap","description","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","obj","onChange","respIndex","forEach","correctResp","key","domainPosition","domain","min","max","size","push","length","setState","correctAnswerDialog","open","text","indices","reloadTicksData","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","value","e","Math","floor","dialog","getAdjustedHeight","object","ticks","tickUtils","snapElements","initialElements","updatedGraph","updateMajorValue","tickIntervalType","minor","getMinorLimits","math","number","ceil","integerTick","decimal","fraction","fractionTick","decimalTick","generateMinorValues","minValue","maxValue","n","d","generateMajorValuesForMinor","indexOf","major","currIndex","arrows","defaultModel","index","el","position","update","Set","map","filter","v","some","data","pop","state","configuration","showTitle","titleEnabled","enabled","classes","onConfigurationChanged","uploadSoundSupport","imageSupport","baseInputConfiguration","contentDimensions","instruction","rationale","spellCheck","mathMlOptions","numberLineDimensions","maxMaxElements","hidePointConfigButtons","availableTools","settingsPanelDisabled","errors","extraCSSRules","spellCheckEnabled","toolbarEditorPosition","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","correctResponseError","domainError","maxError","pointsError","promptError","rationaleError","teacherInstructionsError","widthError","validationMessage","initialModel","toolbarOpts","panelProperties","label","getPluginProps","Properties","inputConfiguration","language","marginLeft","changeTicks","widthEnabled","step","changeSize","changeArrows","changeGraphTitle","exhibitOnly","availableTypesChange","changeMaxNoOfPoints","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","React","Component","PropTypes","isRequired","func","name"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FormSection, InputContainer, AlertDialog, settings, layout } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { NumberLineComponent, dataConverter, tickUtils } from '@pie-element/number-line';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\nimport * as math from 'mathjs';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n teacherInstructions: undefined,\n graph: { ...model.graph, title: undefined, disabled: true },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\nconst { Panel, toggle } = settings;\n\nlet minorLimits = {};\nlet minorValues = {};\nlet majorValues = {};\n\nconst styles = (theme) => ({\n maxNumberOfPoints: {\n width: '150px',\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2,\n },\n },\n pointTypeChooser: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n title: {\n marginBottom: theme.spacing.unit * 4,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n inlineFlexContainer: {\n display: 'inline-flex',\n },\n resetButton: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nexport const toPointType = (response) => {\n function rest(response) {\n if (response.pointType) {\n if (response.direction) {\n return `${response.pointType[0]}${response.direction[0]}`;\n }\n\n return response.pointType[0];\n }\n\n return `${response.leftPoint[0]}${response.rightPoint[0]}`;\n }\n\n return `${response.type[0]}${rest(response)}`.toUpperCase();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n const {\n model: {\n graph: { availableTypes, maxNumberOfPoints },\n },\n } = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n this.state = {\n dialog: {\n open: false,\n text: '',\n },\n correctAnswerDialog: {\n open: false,\n text: '',\n },\n };\n this.graphChange({ height });\n }\n\n componentDidMount() {\n const { configuration, model, onChange } = this.props;\n const { title } = configuration || {};\n const { titleEnabled: showTitle } = model || {};\n\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n\n onChange && onChange({ ...model, titleEnabled });\n }\n\n graphChange = (obj) => {\n const { model, onChange } = this.props;\n let graph = { ...model.graph, ...obj };\n let respIndex = [];\n model.correctResponse.forEach((correctResp, key) => {\n if (\n correctResp.domainPosition < graph.domain.min ||\n correctResp.domainPosition > graph.domain.max ||\n (correctResp.size &&\n (correctResp.domainPosition + correctResp.size < graph.domain.min ||\n correctResp.domainPosition + correctResp.size > graph.domain.max))\n ) {\n respIndex.push(key);\n }\n });\n if (respIndex.length > 0) {\n this.setState({\n correctAnswerDialog: {\n open: true,\n text:\n 'This\\n' +\n 'change would make it impossible for students to plot one or more elements in the current\\n' +\n 'correct answer. If you proceed, all such elements will be removed from the correct\\n' +\n 'answer.',\n indices: respIndex,\n graph: model.graph,\n },\n });\n }\n //reload ticks value whenever domain and width is changed\n graph = this.reloadTicksData(graph);\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n return;\n }\n });\n return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100\n : 50 + (maxNumberOfPoints || 20) * 25;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n maxNumberOfPoints = Math.floor(maxNumberOfPoints);\n if (this.props.model.correctResponse.length > maxNumberOfPoints) {\n this.setState({\n dialog: {\n open: true,\n text: 'To use this value, you must first remove one or more elements from the correct answers.',\n },\n });\n return;\n }\n const {\n model: {\n graph: { availableTypes },\n },\n } = this.props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ maxNumberOfPoints, height });\n };\n\n changeGraphTitle = (title) => this.graphChange({ title });\n\n /*\n * Gets triggered whenever ticks related data is changed by user.\n * */\n changeTicks = (object) => {\n const { model, onChange } = this.props;\n let { ticks } = object;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = model.graph.initialElements\n ? tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements)\n : [];\n let updatedGraph = this.updateMajorValue({ ...model.graph, ticks });\n const graph = { ...updatedGraph, initialElements };\n onChange({ graph, correctResponse });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will reload ticks data whenever graph object is changed and also sets required tick object\n * for rendering Ticks Components.\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n reloadTicksData = (graph) => {\n const { domain, ticks, width } = graph;\n //Set tick interval type if not present for legacy number line models depending upon minor value\n if (!ticks.tickIntervalType) {\n if (ticks.minor > 0.5) {\n ticks.tickIntervalType = 'Integer';\n } else {\n ticks.tickIntervalType = 'Decimal';\n }\n }\n // This section will calculate minor and major values array and assign respective value\n // to different tick types object\n minorLimits = tickUtils.getMinorLimits(domain, width);\n if (minorLimits.min >= 1) {\n /*\n * In this scenario only integer tick will be enabled\n * */\n ticks.tickIntervalType = 'Integer';\n ticks.minor =\n ticks.minor < 1\n ? math.number(math.ceil(minorLimits.min))\n : ticks.minor >= math.number(math.ceil(minorLimits.min)) &&\n ticks.minor <= math.number(math.floor(minorLimits.max))\n ? ticks.minor\n : math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n minorValues = { decimal: [], fraction: [] };\n ticks.fractionTick = '0';\n ticks.decimalTick = 0;\n } else if (minorLimits.min >= 0 && minorLimits.max < 1) {\n /*\n * In this scenario only decimal or fraction tick will be enabled\n * */\n if (ticks.tickIntervalType === 'Integer') {\n ticks.tickIntervalType = 'Fraction';\n }\n minorValues = tickUtils.generateMinorValues(minorLimits);\n let minValue = math.number(math.fraction(minorValues.fraction[0]));\n let maxValue = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n if (ticks.minor < minValue || ticks.minor > maxValue) {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n ticks.fractionTick = minorValues.fraction[minorValues.fraction.length - 1];\n ticks.decimalTick = minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.minor = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.decimalTick = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick : minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick : minorValues.fraction[0];\n }\n }\n ticks.integerTick = 1;\n } else if (minorLimits.min < 1 && minorLimits.max >= 1) {\n /*\n * In this scenario all integer, decimal or fraction tick will be enabled\n * */\n minorValues = tickUtils.generateMinorValues(minorLimits);\n if (!(ticks.minor >= minorLimits.min && ticks.minor <= minorLimits.max)) {\n if (minorLimits.min > 0.5) {\n ticks.tickIntervalType = 'Integer';\n }\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.minor = math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.minor = minorValues.decimal[0];\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[0]));\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n }\n }\n }\n return this.updateMajorValue({ ...graph, ticks });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will update major value whenever minor value is changed or tick type is changed\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n updateMajorValue = (graph) => {\n const { domain, ticks, width } = graph;\n majorValues = tickUtils.generateMajorValuesForMinor(ticks.minor, domain, width);\n if (majorValues.decimal.indexOf(ticks.major) === -1) {\n let currIndex = 0;\n if (ticks.tickIntervalType === 'Integer') {\n currIndex = majorValues.decimal.length > 4 ? 4 : majorValues.decimal.length - 1;\n } else {\n currIndex = majorValues.decimal.length - 1;\n }\n ticks.major = majorValues.decimal[currIndex];\n }\n graph.fraction = ticks.tickIntervalType === 'Fraction' && ticks.major < 1;\n return { ...graph, ticks };\n };\n\n changeArrows = (arrows) => this.graphChange({ arrows });\n\n setDefaults = () => {\n const {\n graph: { availableTypes, maxNumberOfPoints },\n } = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n el.position = position;\n\n const { onChange, model } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n\n onChange({ correctResponse });\n };\n\n availableTypesChange = (availableTypes) => {\n const { model, onChange } = this.props;\n const {\n correctResponse,\n graph: { maxNumberOfPoints },\n } = model;\n\n new Set(correctResponse.map(toPointType)).forEach((pointType) => {\n availableTypes[pointType] = true;\n });\n\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...model.graph, availableTypes, height };\n\n onChange({ graph });\n };\n\n deleteCorrectResponse = (indices) => {\n const { model, onChange } = this.props;\n const correctResponse = model.correctResponse.filter((v, index) => !indices.some((d) => d === index));\n\n onChange({ correctResponse });\n };\n\n addCorrectResponse = (data) => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n\n onChange({ correctResponse });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n\n onChange({ correctResponse: [] });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n onChange({ correctResponse });\n };\n\n render() {\n const { classes, model, onChange, configuration, onConfigurationChanged, uploadSoundSupport, imageSupport } =\n this.props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n instruction = {},\n teacherInstructions = {},\n title = {},\n prompt = {},\n rationale = {},\n spellCheck = {},\n mathMlOptions = {},\n numberLineDimensions = {},\n maxMaxElements = 20,\n hidePointConfigButtons = false,\n availableTools = ['PF'],\n settingsPanelDisabled = false,\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n spellCheckEnabled,\n toolbarEditorPosition,\n teacherInstructionsEnabled,\n titleEnabled,\n promptEnabled,\n rationaleEnabled,\n } = model || {};\n\n let { graph } = model;\n graph = this.reloadTicksData(graph);\n\n const { dialog, correctAnswerDialog } = this.state;\n const {\n correctResponseError,\n domainError,\n maxError,\n pointsError,\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n widthError,\n } = errors || {};\n const validationMessage = generateValidationMessage();\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n const initialModel = cloneDeep(model);\n initialModel['disabled'] = true;\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n titleEnabled: title.settings && toggle(title.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onChange}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction.label}\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.teacherInstructions}\n markup={model.teacherInstructions || ''}\n onChange={(teacherInstructions) => onChange({ teacherInstructions })}\n nonEmpty={false}\n disableUnderline\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <CardBar\n header=\"Set Up Number Line\"\n info={\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n }\n >\n Set up the number line by entering the domain and number of tick marks to display. Labels on the number line\n can be edited or removed by clicking on the label.\n </CardBar>\n\n <div className={classes.row}>\n <Domain domain={graph.domain} errors={errors} onChange={(domain) => this.graphChange({ domain })} />\n </div>\n\n {maxError && <div className={classes.errorText}>{maxError}</div>}\n {domainError && <div className={classes.errorText}>{domainError}</div>}\n\n <div>\n <FormSection>\n <Ticks\n ticks={graph.ticks}\n minorLimits={minorLimits}\n minorValues={minorValues}\n majorValues={majorValues}\n onChange={this.changeTicks}\n />\n </FormSection>\n </div>\n\n <div className={classes.flexRow}>\n {model.widthEnabled && (\n <Size\n size={graph}\n min={numberLineDimensions.min}\n max={numberLineDimensions.max}\n step={numberLineDimensions.step}\n onChange={this.changeSize}\n />\n )}\n <div></div>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </div>\n\n {widthError && <div className={classes.errorText}>{widthError}</div>}\n\n <NumberLineComponent\n onMoveElement={() => {}}\n onDeleteElements={() => {}}\n onAddElement={() => {}}\n onClearElements={() => {}}\n onUndoElement={() => {}}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n maxHeight={70}\n model={trimModel(initialModel)}\n />\n\n {titleEnabled && (\n <FormSection label={title?.label || 'Title'} className={classes.title}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n activePlugins={[\n 'bold',\n 'html',\n 'italic',\n 'underline',\n 'strikethrough',\n 'image',\n 'math',\n 'languageCharacters',\n 'responseArea',\n ]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </FormSection>\n )}\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <CardBar header=\"Define Tool Set and Correct Response\">\n Select answer type and place it on the number line. Intersecting points, line segments and/or rays will\n appear above the number line. <i>Note: A maximum of 20 points, line segments or rays may be plotted.</i>\n </CardBar>\n\n <CardBar header=\"Available Tools\" mini>\n Click on the input options to be displayed to the students. All inputs will display by default.\n </CardBar>\n\n <div className={classes.pointTypeChooser}>\n <PointConfig\n onSelectionChange={this.availableTypesChange}\n selection={graph.availableTypes}\n availableTools={availableTools}\n hideButtons={hidePointConfigButtons}\n />\n </div>\n\n <FormSection className={classes.flexRow}>\n <label>Max No of Elements</label>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n min={1}\n max={maxMaxElements}\n onlyIntegersAllowed={true}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n {pointsError && <div className={classes.errorText}>{pointsError}</div>}\n </FormSection>\n\n <label>Correct Answer</label>\n\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n </React.Fragment>\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n <AlertDialog\n open={correctAnswerDialog.open}\n title=\"Warning\"\n text={correctAnswerDialog.text}\n onConfirm={() => {\n let indices = this.state.correctAnswerDialog.indices;\n if (indices && indices.length > 0) {\n this.deleteCorrectResponse(indices);\n }\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onClose={() => {\n const graph = this.state.correctAnswerDialog.graph;\n onChange({ graph });\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onConfirmText={'OK'}\n onCloseText={'Cancel'}\n />\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={(rationale) => onChange({ rationale })}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles, { name: 'Main' })(Main);\n"],"file":"main.js"}
@@ -21,7 +21,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
21
21
 
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
23
 
24
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
24
+ var _configUi = require("@pie-lib/config-ui");
25
25
 
26
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
27
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/number-text-field.jsx"],"names":["NumberTextField","classes","props","undefined","textField","className","React","Component","PropTypes","object","isRequired","styles","theme","marginLeft","spacing","unit","miniStyles","maxWidth","MiniField"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,e;;;;;;;;;;;;WAKX,kBAAS;AACP,UAAQC,OAAR,GAAoB,KAAKC,KAAzB,CAAQD,OAAR;;AACA,UAAMC,KAAK,mCAAQ,KAAKA,KAAb;AAAoBD,QAAAA,OAAO,EAAEE;AAA7B,QAAX;;AACA,0BAAO,gCAAC,yBAAD,gCAASD,KAAT;AAAgB,QAAA,SAAS,EAAE,4BAAGD,OAAO,CAACG,SAAX,EAAsBF,KAAK,CAACG,SAA5B,CAA3B;AAAmE,QAAA,OAAO,EAAC;AAA3E,SAAP;AACD;;;EATkCC,kBAAMC,S;;;iCAA9BP,e,eACQ;AACjBC,EAAAA,OAAO,EAAEO,sBAAUC,MAAV,CAAiBC;AADT,C;;AAWrB,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBR,IAAAA,SAAS,EAAE;AACTS,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC;AADjB;AADc,GAAZ;AAAA,CAAf;;AAMA,IAAMC,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAO;AACxBZ,IAAAA,SAAS,EAAE;AACTa,MAAAA,QAAQ,EAAE;AADD;AADa,GAAP;AAAA,CAAnB;;AAKO,IAAMC,SAAS,GAAG,wBAAWF,UAAX,EAAuBhB,eAAvB,CAAlB;;;eAEQ,wBAAWW,MAAX,EAAmBX,eAAnB,C","sourcesContent":["import { NumberTextField as NTF } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { classes } = this.props;\n const props = { ...this.props, classes: undefined };\n return <NTF {...props} className={cn(classes.textField, props.className)} variant=\"outlined\" />;\n }\n}\n\nconst styles = (theme) => ({\n textField: {\n marginLeft: theme.spacing.unit,\n },\n});\n\nconst miniStyles = () => ({\n textField: {\n maxWidth: '100px',\n },\n});\nexport const MiniField = withStyles(miniStyles)(NumberTextField);\n\nexport default withStyles(styles)(NumberTextField);\n"],"file":"number-text-field.js"}
1
+ {"version":3,"sources":["../src/number-text-field.jsx"],"names":["NumberTextField","classes","props","undefined","textField","className","React","Component","PropTypes","object","isRequired","styles","theme","marginLeft","spacing","unit","miniStyles","maxWidth","MiniField"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,e;;;;;;;;;;;;WAKX,kBAAS;AACP,UAAQC,OAAR,GAAoB,KAAKC,KAAzB,CAAQD,OAAR;;AACA,UAAMC,KAAK,mCAAQ,KAAKA,KAAb;AAAoBD,QAAAA,OAAO,EAAEE;AAA7B,QAAX;;AACA,0BAAO,gCAAC,yBAAD,gCAASD,KAAT;AAAgB,QAAA,SAAS,EAAE,4BAAGD,OAAO,CAACG,SAAX,EAAsBF,KAAK,CAACG,SAA5B,CAA3B;AAAmE,QAAA,OAAO,EAAC;AAA3E,SAAP;AACD;;;EATkCC,kBAAMC,S;;;iCAA9BP,e,eACQ;AACjBC,EAAAA,OAAO,EAAEO,sBAAUC,MAAV,CAAiBC;AADT,C;;AAWrB,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBR,IAAAA,SAAS,EAAE;AACTS,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC;AADjB;AADc,GAAZ;AAAA,CAAf;;AAMA,IAAMC,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAO;AACxBZ,IAAAA,SAAS,EAAE;AACTa,MAAAA,QAAQ,EAAE;AADD;AADa,GAAP;AAAA,CAAnB;;AAKO,IAAMC,SAAS,GAAG,wBAAWF,UAAX,EAAuBhB,eAAvB,CAAlB;;;eAEQ,wBAAWW,MAAX,EAAmBX,eAAnB,C","sourcesContent":["import { NumberTextField as NTF } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { classes } = this.props;\n const props = { ...this.props, classes: undefined };\n return <NTF {...props} className={cn(classes.textField, props.className)} variant=\"outlined\" />;\n }\n}\n\nconst styles = (theme) => ({\n textField: {\n marginLeft: theme.spacing.unit,\n },\n});\n\nconst miniStyles = () => ({\n textField: {\n maxWidth: '100px',\n },\n});\nexport const MiniField = withStyles(miniStyles)(NumberTextField);\n\nexport default withStyles(styles)(NumberTextField);\n"],"file":"number-text-field.js"}
@@ -15,7 +15,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _styles = require("@material-ui/core/styles");
17
17
 
18
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
18
+ var _configUi = require("@pie-lib/config-ui");
19
19
 
20
20
  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; }
21
21
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/size.jsx"],"names":["Size","props","classes","size","width","min","max","step","onChange","changeWidth","e","flexRow","flexCol","minMaxLabel","numberTextField","propTypes","PropTypes","object","isRequired","shape","number","height","func","styles","display","alignItems","gap","color","cursor"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;AACtB;AACA,MAAQC,OAAR,GAAsFD,KAAtF,CAAQC,OAAR;AAAA,oBAAsFD,KAAtF,CAAiBE,IAAjB;AAAA,MAAiBA,IAAjB,4BAAwB;AAAEC,IAAAA,KAAK,EAAE;AAAT,GAAxB;AAAA,mBAAsFH,KAAtF,CAAwCI,GAAxC;AAAA,MAAwCA,GAAxC,2BAA8C,GAA9C;AAAA,mBAAsFJ,KAAtF,CAAmDK,GAAnD;AAAA,MAAmDA,GAAnD,2BAAyD,GAAzD;AAAA,oBAAsFL,KAAtF,CAA8DM,IAA9D;AAAA,MAA8DA,IAA9D,4BAAqE,EAArE;AAAA,MAAyEC,QAAzE,GAAsFP,KAAtF,CAAyEO,QAAzE;;AACA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIN,KAAJ;AAAA,WAAcI,QAAQ,iCAAMP,KAAK,CAACE,IAAZ;AAAkBC,MAAAA,KAAK,EAALA;AAAlB,OAAtB;AAAA,GAApB;;AACA,sBACE;AAAK,IAAA,SAAS,EAAEF,OAAO,CAACS;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAET,OAAO,CAACU;AAAxB,kBACE,4DADF,eAEE;AAAO,IAAA,SAAS,EAAEV,OAAO,CAACW;AAA1B,aACOR,GADP,YACkBC,GADlB,CAFF,CADF,eAOE,gCAAC,+BAAD;AACE,IAAA,cAAc,EAAEJ,OAAO,CAACY,eAD1B;AAEE,IAAA,KAAK,EAAEX,IAAI,CAACC,KAFd;AAGE,IAAA,GAAG,EAAEC,GAHP;AAIE,IAAA,GAAG,EAAEC,GAJP;AAKE,IAAA,IAAI,EAAEC,IALR;AAME,IAAA,mBAAmB,EAAE,IANvB;AAOE,IAAA,QAAQ,EAAEE,WAPZ;AAQE,IAAA,OAAO,EAAE;AARX,IAPF,CADF;AAoBD,CAxBD;;AA0BAT,IAAI,CAACe,SAAL,GAAiB;AACfb,EAAAA,OAAO,EAAEc,sBAAUC,MAAV,CAAiBC,UADX;AAEff,EAAAA,IAAI,EAAEa,sBAAUG,KAAV,CAAgB;AACpBf,IAAAA,KAAK,EAAEY,sBAAUI,MADG;AAEpBC,IAAAA,MAAM,EAAEL,sBAAUI;AAFE,GAAhB,CAFS;AAMff,EAAAA,GAAG,EAAEW,sBAAUI,MANA;AAOfd,EAAAA,GAAG,EAAEU,sBAAUI,MAPA;AAQfb,EAAAA,IAAI,EAAES,sBAAUI,MARD;AASfZ,EAAAA,QAAQ,EAAEQ,sBAAUM,IAAV,CAAeJ;AATV,CAAjB;;AAYA,IAAMK,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpB,aAAO,EADa;AAEpBZ,IAAAA,OAAO,EAAE;AACPa,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,UAAU,EAAE,QAFL;AAGPC,MAAAA,GAAG,EAAE;AAHE,KAFW;AAOpBd,IAAAA,OAAO,EAAE;AACPY,MAAAA,OAAO,EAAE,MADF;AAEP,mBAAa;AAFN,KAPW;AAWpBX,IAAAA,WAAW,EAAE;AACX,mBAAa,OADF;AAEXc,MAAAA,KAAK,EAAE;AAFI,KAXO;AAepBb,IAAAA,eAAe,EAAE;AACfc,MAAAA,MAAM,EAAE;AADO;AAfG,GAAP;AAAA,CAAf;;eAmBe,wBAAWL,MAAX,EAAmBvB,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/pie-toolbox/config-ui';\n\nconst Size = (props) => {\n // Setting default value if not passed in configuration properties.\n const { classes, size = { width: 500 }, min = 150, max = 800, step = 20, onChange } = props;\n const changeWidth = (e, width) => onChange({ ...props.size, width });\n return (\n <div className={classes.flexRow}>\n <div className={classes.flexCol}>\n <label>Width (px)</label>\n <label className={classes.minMaxLabel}>\n Min {min}, Max {max}\n </label>\n </div>\n <NumberTextFieldCustom\n inputClassName={classes.numberTextField}\n value={size.width}\n min={min}\n max={max}\n step={step}\n onlyIntegersAllowed={true}\n onChange={changeWidth}\n variant={'outlined'}\n />\n </div>\n );\n};\n\nSize.propTypes = {\n classes: PropTypes.object.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n};\n\nconst styles = () => ({\n class: {},\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n flexCol: {\n display: 'flex',\n 'flex-flow': 'column',\n },\n minMaxLabel: {\n 'font-size': 'small',\n color: 'gray',\n },\n numberTextField: {\n cursor: 'default',\n },\n});\nexport default withStyles(styles)(Size);\n"],"file":"size.js"}
1
+ {"version":3,"sources":["../src/size.jsx"],"names":["Size","props","classes","size","width","min","max","step","onChange","changeWidth","e","flexRow","flexCol","minMaxLabel","numberTextField","propTypes","PropTypes","object","isRequired","shape","number","height","func","styles","display","alignItems","gap","color","cursor"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;AACtB;AACA,MAAQC,OAAR,GAAsFD,KAAtF,CAAQC,OAAR;AAAA,oBAAsFD,KAAtF,CAAiBE,IAAjB;AAAA,MAAiBA,IAAjB,4BAAwB;AAAEC,IAAAA,KAAK,EAAE;AAAT,GAAxB;AAAA,mBAAsFH,KAAtF,CAAwCI,GAAxC;AAAA,MAAwCA,GAAxC,2BAA8C,GAA9C;AAAA,mBAAsFJ,KAAtF,CAAmDK,GAAnD;AAAA,MAAmDA,GAAnD,2BAAyD,GAAzD;AAAA,oBAAsFL,KAAtF,CAA8DM,IAA9D;AAAA,MAA8DA,IAA9D,4BAAqE,EAArE;AAAA,MAAyEC,QAAzE,GAAsFP,KAAtF,CAAyEO,QAAzE;;AACA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIN,KAAJ;AAAA,WAAcI,QAAQ,iCAAMP,KAAK,CAACE,IAAZ;AAAkBC,MAAAA,KAAK,EAALA;AAAlB,OAAtB;AAAA,GAApB;;AACA,sBACE;AAAK,IAAA,SAAS,EAAEF,OAAO,CAACS;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAET,OAAO,CAACU;AAAxB,kBACE,4DADF,eAEE;AAAO,IAAA,SAAS,EAAEV,OAAO,CAACW;AAA1B,aACOR,GADP,YACkBC,GADlB,CAFF,CADF,eAOE,gCAAC,+BAAD;AACE,IAAA,cAAc,EAAEJ,OAAO,CAACY,eAD1B;AAEE,IAAA,KAAK,EAAEX,IAAI,CAACC,KAFd;AAGE,IAAA,GAAG,EAAEC,GAHP;AAIE,IAAA,GAAG,EAAEC,GAJP;AAKE,IAAA,IAAI,EAAEC,IALR;AAME,IAAA,mBAAmB,EAAE,IANvB;AAOE,IAAA,QAAQ,EAAEE,WAPZ;AAQE,IAAA,OAAO,EAAE;AARX,IAPF,CADF;AAoBD,CAxBD;;AA0BAT,IAAI,CAACe,SAAL,GAAiB;AACfb,EAAAA,OAAO,EAAEc,sBAAUC,MAAV,CAAiBC,UADX;AAEff,EAAAA,IAAI,EAAEa,sBAAUG,KAAV,CAAgB;AACpBf,IAAAA,KAAK,EAAEY,sBAAUI,MADG;AAEpBC,IAAAA,MAAM,EAAEL,sBAAUI;AAFE,GAAhB,CAFS;AAMff,EAAAA,GAAG,EAAEW,sBAAUI,MANA;AAOfd,EAAAA,GAAG,EAAEU,sBAAUI,MAPA;AAQfb,EAAAA,IAAI,EAAES,sBAAUI,MARD;AASfZ,EAAAA,QAAQ,EAAEQ,sBAAUM,IAAV,CAAeJ;AATV,CAAjB;;AAYA,IAAMK,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpB,aAAO,EADa;AAEpBZ,IAAAA,OAAO,EAAE;AACPa,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,UAAU,EAAE,QAFL;AAGPC,MAAAA,GAAG,EAAE;AAHE,KAFW;AAOpBd,IAAAA,OAAO,EAAE;AACPY,MAAAA,OAAO,EAAE,MADF;AAEP,mBAAa;AAFN,KAPW;AAWpBX,IAAAA,WAAW,EAAE;AACX,mBAAa,OADF;AAEXc,MAAAA,KAAK,EAAE;AAFI,KAXO;AAepBb,IAAAA,eAAe,EAAE;AACfc,MAAAA,MAAM,EAAE;AADO;AAfG,GAAP;AAAA,CAAf;;eAmBe,wBAAWL,MAAX,EAAmBvB,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\n\nconst Size = (props) => {\n // Setting default value if not passed in configuration properties.\n const { classes, size = { width: 500 }, min = 150, max = 800, step = 20, onChange } = props;\n const changeWidth = (e, width) => onChange({ ...props.size, width });\n return (\n <div className={classes.flexRow}>\n <div className={classes.flexCol}>\n <label>Width (px)</label>\n <label className={classes.minMaxLabel}>\n Min {min}, Max {max}\n </label>\n </div>\n <NumberTextFieldCustom\n inputClassName={classes.numberTextField}\n value={size.width}\n min={min}\n max={max}\n step={step}\n onlyIntegersAllowed={true}\n onChange={changeWidth}\n variant={'outlined'}\n />\n </div>\n );\n};\n\nSize.propTypes = {\n classes: PropTypes.object.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n};\n\nconst styles = () => ({\n class: {},\n flexRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n },\n flexCol: {\n display: 'flex',\n 'flex-flow': 'column',\n },\n minMaxLabel: {\n 'font-size': 'small',\n color: 'gray',\n },\n numberTextField: {\n cursor: 'default',\n },\n});\nexport default withStyles(styles)(Size);\n"],"file":"size.js"}
@@ -15,7 +15,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _styles = require("@material-ui/core/styles");
17
17
 
18
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
18
+ var _configUi = require("@pie-lib/config-ui");
19
19
 
20
20
  var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
21
21
 
@@ -25,7 +25,7 @@ var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
25
25
 
26
26
  var math = _interopRequireWildcard(require("mathjs"));
27
27
 
28
- var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
28
+ var _renderUi = require("@pie-lib/render-ui");
29
29
 
30
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
31
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ticks.jsx"],"names":["TickIntervals","Ticks","props","classes","ticks","onChange","minorLimits","minorValues","majorValues","fractionMajor","math","fraction","number","major","fractionMajorString","d","n","toString","changeTickIntervalType","e","tickIntervalType","includes","minor","integerTick","decimalTick","fractionTick","changeIntegerTick","changeFractionTick","changeDecimalTick","changeFractionLabel","fractionLabel","changeDecimalLabel","decimalLabel","displayFlex","flexCol1","tableFixed","radioInputs","labelWidth","customColor","max","ceil","min","floor","nl","numberTextField","length","decimal","flexCol2","propTypes","PropTypes","object","isRequired","func","styles","display","gap","width","alignItems","paddingTop","paddingBottom","maxWidth","cursor","color","tertiary"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/pie-toolbox/config-ui';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport Radio from '@material-ui/core/Radio';\nimport * as math from 'mathjs';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\n// This const will store available tick interval types.\nexport const TickIntervals = ['Integer', 'Fraction', 'Decimal'];\n\nexport const Ticks = (props) => {\n const { classes, ticks, onChange, minorLimits, minorValues, majorValues } = props;\n\n //Format decimal value of label interval to fraction\n const fractionMajor = math.fraction(math.number(ticks.major));\n const fractionMajorString =\n fractionMajor.d === 1 ? fractionMajor.n.toString() : fractionMajor.n + '/' + fractionMajor.d;\n\n /*\n * Function to handle tick interval type radio group change\n * @param e change event object\n * @param tickIntervalType string value for changed tick interval type\n * */\n const changeTickIntervalType = (e, tickIntervalType) => {\n if (!TickIntervals.includes(tickIntervalType)) {\n return;\n }\n if (tickIntervalType === 'Integer') {\n ticks.minor = ticks.integerTick;\n } else if (tickIntervalType === 'Decimal') {\n ticks.minor = ticks.decimalTick;\n } else if (tickIntervalType === 'Fraction') {\n ticks.minor = math.number(math.fraction(ticks.fractionTick));\n }\n ticks.tickIntervalType = tickIntervalType;\n onChange({ ticks });\n };\n\n /*\n * Function to handle change in integer tick interval\n * @param e change event object\n * @param integerTick number value for changed tick\n * */\n const changeIntegerTick = (e, integerTick) => {\n if (ticks.tickIntervalType === 'Integer') {\n ticks.integerTick = integerTick;\n ticks.minor = integerTick;\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in fraction tick interval\n * @param e change event object\n * @param fractionTick string value for changed tick\n * */\n const changeFractionTick = (e, fractionTick) => {\n if (ticks.tickIntervalType === 'Fraction') {\n ticks.fractionTick = fractionTick;\n ticks.minor = math.number(math.fraction(fractionTick));\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in decimal tick interval\n * @param e change event object\n * @param decimalTick number value for changed tick\n * */\n const changeDecimalTick = (e, decimalTick) => {\n if (ticks.tickIntervalType === 'Decimal') {\n ticks.decimalTick = decimalTick;\n ticks.minor = decimalTick;\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in fraction label interval value\n * @param e change event object\n * @param fractionLabel string value for changed label interval\n * */\n const changeFractionLabel = (e, fractionLabel) => {\n if (ticks.tickIntervalType === 'Fraction') {\n ticks.major = math.number(math.fraction(fractionLabel));\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in decimal label interval value\n * @param e change event object\n * @param decimalLabel number value for changed label interval\n * */\n const changeDecimalLabel = (e, decimalLabel) => {\n if (ticks.tickIntervalType === 'Decimal' || ticks.tickIntervalType === 'Integer') {\n ticks.major = decimalLabel;\n onChange({ ticks });\n }\n };\n\n return (\n <div className={classes.displayFlex}>\n <div className={classes.flexCol1}>\n <label>Tick Interval</label>\n <RadioGroup\n aria-label=\"tick-interval-type\"\n name=\"tickIntervalType\"\n value={ticks.tickIntervalType}\n onChange={changeTickIntervalType}\n >\n <table className={classes.tableFixed}>\n <tbody>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Integer\"\n control={<Radio className={classes.customColor} checked={ticks.tickIntervalType === 'Integer'} />}\n label=\"Integer\"\n disabled={minorLimits.max < 1}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticks.integerTick}\n min={math.number(math.ceil(minorLimits.min))}\n max={math.number(math.floor(minorLimits.max))}\n step={1}\n onlyIntegersAllowed={true}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeIntegerTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticks.tickIntervalType !== 'Integer' || minorLimits.max < 1}\n key={\n ticks.tickIntervalType !== 'Integer' || minorLimits.max < 1 ? 'integerDisabled' : 'integerEnabled'\n }\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Fraction\"\n control={<Radio className={classes.customColor} checked={ticks.tickIntervalType === 'Fraction'} />}\n label=\"Unit Fraction\"\n disabled={minorValues.fraction.length === 0}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticks.fractionTick}\n customValues={minorValues.fraction}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeFractionTick}\n variant={'outlined'}\n type={'text'}\n disabled={ticks.tickIntervalType !== 'Fraction' || minorValues.fraction.length === 0}\n key={\n ticks.tickIntervalType !== 'Fraction' || minorValues.fraction.length === 0\n ? 'fractionDisabled'\n : 'fractionEnabled'\n }\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Decimal\"\n control={<Radio className={classes.customColor} checked={ticks.tickIntervalType === 'Decimal'} />}\n label=\"Decimal\"\n disabled={minorValues.decimal.length === 0}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticks.decimalTick}\n customValues={minorValues.decimal}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeDecimalTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticks.tickIntervalType !== 'Decimal' || minorValues.decimal.length === 0}\n key={\n ticks.tickIntervalType !== 'Decimal' || minorValues.decimal.length === 0\n ? 'decimalDisabled'\n : 'decimalEnabled'\n }\n />\n </td>\n </tr>\n </tbody>\n </table>\n </RadioGroup>\n </div>\n <div className={classes.flexCol2}>\n <label>Label Interval</label>\n <NumberTextFieldCustom\n value={ticks.tickIntervalType === 'Fraction' ? fractionMajorString : ticks.major}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n variant={'outlined'}\n customValues={ticks.tickIntervalType === 'Fraction' ? majorValues.fraction : majorValues.decimal}\n type={ticks.tickIntervalType === 'Fraction' ? 'text' : 'number'}\n onChange={ticks.tickIntervalType === 'Fraction' ? changeFractionLabel : changeDecimalLabel}\n />\n </div>\n </div>\n );\n};\nTicks.propTypes = {\n classes: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n ticks: PropTypes.object,\n minorLimits: PropTypes.object,\n minorValues: PropTypes.object,\n majorValues: PropTypes.object,\n};\n\nconst styles = () => ({\n displayFlex: {\n display: 'flex',\n },\n flexCol1: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n width: '65%',\n },\n flexCol2: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n },\n radioInputs: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: '5px',\n paddingBottom: '5px',\n },\n numberTextField: {\n maxWidth: '145px',\n cursor: 'default',\n },\n tableFixed: {\n 'table-layout': 'fixed',\n width: '100%',\n },\n labelWidth: {\n width: '35%',\n },\n customColor: {\n color: `${color.tertiary()} !important`\n },\n});\nexport default withStyles(styles)(Ticks);\n"],"file":"ticks.js"}
1
+ {"version":3,"sources":["../src/ticks.jsx"],"names":["TickIntervals","Ticks","props","classes","ticks","onChange","minorLimits","minorValues","majorValues","fractionMajor","math","fraction","number","major","fractionMajorString","d","n","toString","changeTickIntervalType","e","tickIntervalType","includes","minor","integerTick","decimalTick","fractionTick","changeIntegerTick","changeFractionTick","changeDecimalTick","changeFractionLabel","fractionLabel","changeDecimalLabel","decimalLabel","displayFlex","flexCol1","tableFixed","radioInputs","labelWidth","customColor","max","ceil","min","floor","nl","numberTextField","length","decimal","flexCol2","propTypes","PropTypes","object","isRequired","func","styles","display","gap","width","alignItems","paddingTop","paddingBottom","maxWidth","cursor","color","tertiary"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport Radio from '@material-ui/core/Radio';\nimport * as math from 'mathjs';\nimport { color } from '@pie-lib/render-ui';\n\n// This const will store available tick interval types.\nexport const TickIntervals = ['Integer', 'Fraction', 'Decimal'];\n\nexport const Ticks = (props) => {\n const { classes, ticks, onChange, minorLimits, minorValues, majorValues } = props;\n\n //Format decimal value of label interval to fraction\n const fractionMajor = math.fraction(math.number(ticks.major));\n const fractionMajorString =\n fractionMajor.d === 1 ? fractionMajor.n.toString() : fractionMajor.n + '/' + fractionMajor.d;\n\n /*\n * Function to handle tick interval type radio group change\n * @param e change event object\n * @param tickIntervalType string value for changed tick interval type\n * */\n const changeTickIntervalType = (e, tickIntervalType) => {\n if (!TickIntervals.includes(tickIntervalType)) {\n return;\n }\n if (tickIntervalType === 'Integer') {\n ticks.minor = ticks.integerTick;\n } else if (tickIntervalType === 'Decimal') {\n ticks.minor = ticks.decimalTick;\n } else if (tickIntervalType === 'Fraction') {\n ticks.minor = math.number(math.fraction(ticks.fractionTick));\n }\n ticks.tickIntervalType = tickIntervalType;\n onChange({ ticks });\n };\n\n /*\n * Function to handle change in integer tick interval\n * @param e change event object\n * @param integerTick number value for changed tick\n * */\n const changeIntegerTick = (e, integerTick) => {\n if (ticks.tickIntervalType === 'Integer') {\n ticks.integerTick = integerTick;\n ticks.minor = integerTick;\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in fraction tick interval\n * @param e change event object\n * @param fractionTick string value for changed tick\n * */\n const changeFractionTick = (e, fractionTick) => {\n if (ticks.tickIntervalType === 'Fraction') {\n ticks.fractionTick = fractionTick;\n ticks.minor = math.number(math.fraction(fractionTick));\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in decimal tick interval\n * @param e change event object\n * @param decimalTick number value for changed tick\n * */\n const changeDecimalTick = (e, decimalTick) => {\n if (ticks.tickIntervalType === 'Decimal') {\n ticks.decimalTick = decimalTick;\n ticks.minor = decimalTick;\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in fraction label interval value\n * @param e change event object\n * @param fractionLabel string value for changed label interval\n * */\n const changeFractionLabel = (e, fractionLabel) => {\n if (ticks.tickIntervalType === 'Fraction') {\n ticks.major = math.number(math.fraction(fractionLabel));\n onChange({ ticks });\n }\n };\n\n /*\n * Function to handle change in decimal label interval value\n * @param e change event object\n * @param decimalLabel number value for changed label interval\n * */\n const changeDecimalLabel = (e, decimalLabel) => {\n if (ticks.tickIntervalType === 'Decimal' || ticks.tickIntervalType === 'Integer') {\n ticks.major = decimalLabel;\n onChange({ ticks });\n }\n };\n\n return (\n <div className={classes.displayFlex}>\n <div className={classes.flexCol1}>\n <label>Tick Interval</label>\n <RadioGroup\n aria-label=\"tick-interval-type\"\n name=\"tickIntervalType\"\n value={ticks.tickIntervalType}\n onChange={changeTickIntervalType}\n >\n <table className={classes.tableFixed}>\n <tbody>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Integer\"\n control={<Radio className={classes.customColor} checked={ticks.tickIntervalType === 'Integer'} />}\n label=\"Integer\"\n disabled={minorLimits.max < 1}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticks.integerTick}\n min={math.number(math.ceil(minorLimits.min))}\n max={math.number(math.floor(minorLimits.max))}\n step={1}\n onlyIntegersAllowed={true}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeIntegerTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticks.tickIntervalType !== 'Integer' || minorLimits.max < 1}\n key={\n ticks.tickIntervalType !== 'Integer' || minorLimits.max < 1 ? 'integerDisabled' : 'integerEnabled'\n }\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Fraction\"\n control={<Radio className={classes.customColor} checked={ticks.tickIntervalType === 'Fraction'} />}\n label=\"Unit Fraction\"\n disabled={minorValues.fraction.length === 0}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticks.fractionTick}\n customValues={minorValues.fraction}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeFractionTick}\n variant={'outlined'}\n type={'text'}\n disabled={ticks.tickIntervalType !== 'Fraction' || minorValues.fraction.length === 0}\n key={\n ticks.tickIntervalType !== 'Fraction' || minorValues.fraction.length === 0\n ? 'fractionDisabled'\n : 'fractionEnabled'\n }\n />\n </td>\n </tr>\n <tr className={classes.radioInputs}>\n <td className={classes.labelWidth}>\n <FormControlLabel\n value=\"Decimal\"\n control={<Radio className={classes.customColor} checked={ticks.tickIntervalType === 'Decimal'} />}\n label=\"Decimal\"\n disabled={minorValues.decimal.length === 0}\n />\n </td>\n <td>\n <NumberTextFieldCustom\n value={ticks.decimalTick}\n customValues={minorValues.decimal}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n onChange={changeDecimalTick}\n variant={'outlined'}\n type={'number'}\n disabled={ticks.tickIntervalType !== 'Decimal' || minorValues.decimal.length === 0}\n key={\n ticks.tickIntervalType !== 'Decimal' || minorValues.decimal.length === 0\n ? 'decimalDisabled'\n : 'decimalEnabled'\n }\n />\n </td>\n </tr>\n </tbody>\n </table>\n </RadioGroup>\n </div>\n <div className={classes.flexCol2}>\n <label>Label Interval</label>\n <NumberTextFieldCustom\n value={ticks.tickIntervalType === 'Fraction' ? fractionMajorString : ticks.major}\n className={classes.nl}\n inputClassName={classes.numberTextField}\n variant={'outlined'}\n customValues={ticks.tickIntervalType === 'Fraction' ? majorValues.fraction : majorValues.decimal}\n type={ticks.tickIntervalType === 'Fraction' ? 'text' : 'number'}\n onChange={ticks.tickIntervalType === 'Fraction' ? changeFractionLabel : changeDecimalLabel}\n />\n </div>\n </div>\n );\n};\nTicks.propTypes = {\n classes: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n ticks: PropTypes.object,\n minorLimits: PropTypes.object,\n minorValues: PropTypes.object,\n majorValues: PropTypes.object,\n};\n\nconst styles = () => ({\n displayFlex: {\n display: 'flex',\n },\n flexCol1: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n width: '65%',\n },\n flexCol2: {\n display: 'flex',\n 'flex-flow': 'column',\n gap: '10px',\n },\n radioInputs: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: '5px',\n paddingBottom: '5px',\n },\n numberTextField: {\n maxWidth: '145px',\n cursor: 'default',\n },\n tableFixed: {\n 'table-layout': 'fixed',\n width: '100%',\n },\n labelWidth: {\n width: '35%',\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n});\nexport default withStyles(styles)(Ticks);\n"],"file":"ticks.js"}
@@ -7,7 +7,9 @@
7
7
  "dependencies": {
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@pie-framework/pie-configure-events": "^1.3.0",
10
- "@pie-lib/pie-toolbox": "2.25.2",
10
+ "@pie-lib/config-ui": "^11.25.0",
11
+ "@pie-lib/editable-html": "^11.17.0",
12
+ "@pie-lib/render-ui": "^4.31.0",
11
13
  "lodash": "^4.17.15",
12
14
  "react": "^16.8.1",
13
15
  "react-dom": "^16.8.1"
@@ -34,9 +34,9 @@ var _merge = _interopRequireDefault(require("lodash/merge"));
34
34
 
35
35
  var _omitBy = _interopRequireDefault(require("lodash/omitBy"));
36
36
 
37
- var _feedback = require("@pie-lib/pie-toolbox/feedback");
37
+ var _feedback = require("@pie-lib/feedback");
38
38
 
39
- var _controllerUtils = require("@pie-lib/pie-toolbox/controller-utils");
39
+ var _controllerUtils = require("@pie-lib/controller-utils");
40
40
 
41
41
  var math = _interopRequireWildcard(require("mathjs"));
42
42