@pie-element/number-line 6.4.1 → 6.4.2-next.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/card-bar.js +1 -1
- package/configure/lib/card-bar.js.map +1 -1
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +93 -104
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/point-config.js +4 -1
- package/configure/lib/point-config.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/card-bar.jsx"],"names":["CardBar","props","classes","header","children","mini","info","cardBar","flexContainer","tooltip","button","propTypes","PropTypes","object","bool","string","node","styles","theme","display","justifyContent","paddingBottom","spacing","unit","paddingTop","margin","padding","fontSize","alignItems"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AACzB,MAAQC,OAAR,GAAkDD,KAAlD,CAAQC,OAAR;AAAA,MAAiBC,MAAjB,GAAkDF,KAAlD,CAAiBE,MAAjB;AAAA,MAAyBC,QAAzB,GAAkDH,KAAlD,CAAyBG,QAAzB;AAAA,MAAmCC,IAAnC,GAAkDJ,KAAlD,CAAmCI,IAAnC;AAAA,MAAyCC,IAAzC,GAAkDL,KAAlD,CAAyCK,IAAzC;
|
|
1
|
+
{"version":3,"sources":["../src/card-bar.jsx"],"names":["CardBar","props","classes","header","children","mini","info","cardBar","flexContainer","tooltip","button","propTypes","PropTypes","object","bool","string","node","styles","theme","display","justifyContent","paddingBottom","spacing","unit","paddingTop","margin","padding","fontSize","typography","alignItems"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AACzB,MAAQC,OAAR,GAAkDD,KAAlD,CAAQC,OAAR;AAAA,MAAiBC,MAAjB,GAAkDF,KAAlD,CAAiBE,MAAjB;AAAA,MAAyBC,QAAzB,GAAkDH,KAAlD,CAAyBG,QAAzB;AAAA,MAAmCC,IAAnC,GAAkDJ,KAAlD,CAAmCI,IAAnC;AAAA,MAAyCC,IAAzC,GAAkDL,KAAlD,CAAyCK,IAAzC;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEJ,OAAO,CAACK;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAEL,OAAO,CAACM;AAAxB,kBACE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAEH,IAAI,GAAG,YAAH,GAAkB;AAA3C,KAAkDF,MAAlD,CADF,EAEGG,IAFH,CADF,EAMGF,QAAQ,iBACP,gCAAC,mBAAD;AAAS,IAAA,KAAK,EAAEA,QAAhB;AAA0B,IAAA,OAAO,EAAE;AAAEK,MAAAA,OAAO,EAAEP,OAAO,CAACO;AAAnB;AAAnC,kBACE,gCAAC,sBAAD;AAAY,kBAAW,QAAvB;AAAgC,IAAA,SAAS,EAAEP,OAAO,CAACQ;AAAnD,kBACE,gCAAC,uBAAD,OADF,CADF,CAPJ,CADF;AAgBD,CAnBD;;AAqBAV,OAAO,CAACW,SAAR,GAAoB;AAClBT,EAAAA,OAAO,EAAEU,sBAAUC,MADD;AAElBR,EAAAA,IAAI,EAAEO,sBAAUE,IAFE;AAGlBX,EAAAA,MAAM,EAAES,sBAAUG,MAHA;AAIlBX,EAAAA,QAAQ,EAAEQ,sBAAUI;AAJF,CAApB;;AAOA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBX,IAAAA,OAAO,EAAE;AACPY,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,cAAc,EAAE,eAFT;AAGPC,MAAAA,aAAa,EAAEH,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAH7B;AAIPC,MAAAA,UAAU,EAAEN,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAJ1B,KADgB;AAOzBb,IAAAA,MAAM,EAAE;AACNe,MAAAA,MAAM,EAAE,CADF;AAENC,MAAAA,OAAO,EAAE;AAFH,KAPiB;AAWzBjB,IAAAA,OAAO,EAAE;AACPkB,MAAAA,QAAQ,EAAET,KAAK,CAACU,UAAN,CAAiBD,QAAjB,GAA4B;AAD/B,KAXgB;AAczBnB,IAAAA,aAAa,EAAE;AACbW,MAAAA,OAAO,EAAE,MADI;AAEbU,MAAAA,UAAU,EAAE;AAFC;AAdU,GAAZ;AAAA,CAAf;;eAoBe,wBAAWZ,MAAX,EAAmBjB,OAAnB,C","sourcesContent":["import { withStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport HelpIcon from '@material-ui/icons/HelpOutline';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Typography from '@material-ui/core/Typography';\n\nconst CardBar = (props) => {\n const { classes, header, children, mini, info } = props;\n\n return (\n <div className={classes.cardBar}>\n <div className={classes.flexContainer}>\n <Typography variant={mini ? 'subheading' : 'h5'}>{header}</Typography>\n {info}\n </div>\n\n {children && (\n <Tooltip title={children} classes={{ tooltip: classes.tooltip }}>\n <IconButton aria-label=\"Delete\" className={classes.button}>\n <HelpIcon />\n </IconButton>\n </Tooltip>\n )}\n </div>\n );\n};\n\nCardBar.propTypes = {\n classes: PropTypes.object,\n mini: PropTypes.bool,\n header: PropTypes.string,\n children: PropTypes.node,\n};\n\nconst styles = (theme) => ({\n cardBar: {\n display: 'flex',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing.unit * 2,\n paddingTop: theme.spacing.unit * 2,\n },\n button: {\n margin: 0,\n padding: 0,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n});\n\nexport default withStyles(styles)(CardBar);\n"],"file":"card-bar.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["updateTicks","model","graph","domain","labelStep","ticks","minor","major","min","Number","toFixed","max","match","fraction","step","math","evaluate","NumberLine","o","_model","dispatchEvent","ModelUpdatedEvent","_rerender","createDefaultModel","_configuration","defaults","configuration","s","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","onChange","uploadSoundSupport","add","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;AAC7B,qBAA0DA,KAA1D,CAAQC,KAAR;AAAA,2CAAmD,EAAnD;AAAA,MAAiBC,MAAjB,gBAAiBA,MAAjB;AAAA,MAAyBC,SAAzB,gBAAyBA,SAAzB;AAAA,wCAAoCC,KAApC;AAAA,MAAoCA,KAApC,mCAA4C,EAA5C;AACA,MAAQC,KAAR,GAAyBD,KAAzB,CAAQC,KAAR;AAAA,MAAeC,KAAf,GAAyBF,KAAzB,CAAeE,KAAf;;AAEA,MAAIJ,MAAJ,EAAY;AACVA,IAAAA,MAAM,CAACK,GAAP,GAAaC,MAAM,CAAC,CAACN,MAAM,CAACK,GAAP,IAAc,CAAf,EAAkBE,OAAlB,CAA0B,CAA1B,CAAD,CAAnB;AACAP,IAAAA,MAAM,CAACQ,GAAP,GAAaF,MAAM,CAAC,CAACN,MAAM,CAACQ,GAAP,IAAc,CAAf,EAAkBD,OAAlB,CAA0B,CAA1B,CAAD,CAAnB;AACD;;AAED,MAAIN,SAAS,IAAI,OAAOA,SAAP,KAAqB,QAAlC,IAA8CA,SAAS,CAACQ,KAAV,CAAgB,6BAAhB,CAAlD,EAAkG;AAChGX,IAAAA,KAAK,CAACC,KAAN,CAAYW,QAAZ,GAAuB,IAAvB,CADgG,CAGhG;;AACA,QAAMC,IAAI,GAAGC,IAAI,CAACC,QAAL,CAAcZ,SAAd,CAAb;;AAEA,QAAIU,IAAI,KAAKP,KAAb,EAAoB;AAClBF,MAAAA,KAAK,CAACE,KAAN,GAAcO,IAAd;AACAT,MAAAA,KAAK,CAACC,KAAN,GAAcQ,IAAI,IAAIP,KAAK,GAAGD,KAAZ,CAAlB;AACD;AACF;;AAED,SAAOL,KAAP;AACD,CAtBD;;IAwBqBgB,U;;;;;AAUnB,wBAAc;AAAA;;AAAA;AACZ;AADY,iGAWH,UAACC,CAAD,EAAO;AAChB,YAAKC,MAAL,mCAAmB,MAAKA,MAAxB,GAAmCD,CAAnC;;AAEA,YAAKE,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,MAAKF,MAA3B,CAAnB;;AAEA,YAAKG,SAAL;AACD,KAjBa;AAEZ,UAAKH,MAAL,GAAcF,UAAU,CAACM,kBAAX,EAAd;AACA,UAAKC,cAAL,GAAsBC,QAAQ,CAACC,aAA/B;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKR,MAAL,GAAcF,UAAU,CAACM,kBAAX,CAA8BI,CAA9B,CAAd;;AACA,WAAKL,SAAL;AACD;;;WAUD,qBAAYM,OAAZ,EAAqB;AACnB,WAAKR,aAAL,CAAmB,IAAIS,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKX,aAAL,CAAmB,IAAIY,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAY;AACV,UAAIE,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtCnC,QAAAA,KAAK,EAAE,KAAKkB,MAD0B;AAEtCO,QAAAA,aAAa,EAAE,KAAKF,cAFkB;AAGtCa,QAAAA,QAAQ,EAAE,KAAKA,QAHuB;AAItCC,QAAAA,kBAAkB,EAAE;AAClBC,UAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB,CADa;AAElB,oBAAQ,KAAKC,aAAL,CAAmBD,IAAnB,CAAwB,IAAxB;AAFU;AAJkB,OAA1B,CAAd;;
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["updateTicks","model","graph","domain","labelStep","ticks","minor","major","min","Number","toFixed","max","match","fraction","step","math","evaluate","NumberLine","o","_model","dispatchEvent","ModelUpdatedEvent","_rerender","createDefaultModel","_configuration","defaults","configuration","s","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","onChange","uploadSoundSupport","add","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelUpdatedEvent, InsertSoundEvent, DeleteSoundEvent } from '@pie-framework/pie-configure-events';\nimport * as defaults from './defaults';\nimport * as math from 'mathjs';\n\n// this function is duplicated in controller; at some point, use the same shared function\nconst updateTicks = (model) => {\n const { graph: { domain, labelStep, ticks = {} } = {} } = model;\n const { minor, major } = ticks;\n\n if (domain) {\n domain.min = Number((domain.min || 0).toFixed(2));\n domain.max = Number((domain.max || 0).toFixed(2));\n }\n\n if (labelStep && typeof labelStep === 'string' && labelStep.match(/^[1-9][0-9]*\\/[1-9][0-9]*$/g)) {\n model.graph.fraction = true;\n\n // update the ticks frequency and label value to match the label step if needed\n const step = math.evaluate(labelStep);\n\n if (step !== major) {\n ticks.major = step;\n ticks.minor = step / (major / minor);\n }\n }\n\n return model;\n};\n\nexport default class NumberLine extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = {\n ...defaults.model,\n ...model,\n };\n\n return updateTicks(normalizedModel);\n };\n\n constructor() {\n super();\n this._model = NumberLine.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(s) {\n this._model = NumberLine.createDefaultModel(s);\n this._rerender();\n }\n\n onChange = (o) => {\n this._model = { ...this._model, ...o };\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n\n this._rerender();\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _rerender() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onChange: this.onChange,\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
|
package/configure/lib/main.js
CHANGED
|
@@ -25,33 +25,33 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
25
25
|
|
|
26
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
27
|
|
|
28
|
+
var _react = _interopRequireDefault(require("react"));
|
|
29
|
+
|
|
28
30
|
var _configUi = require("@pie-lib/config-ui");
|
|
29
31
|
|
|
32
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
33
|
+
|
|
34
|
+
var _numberLine = require("@pie-element/number-line");
|
|
35
|
+
|
|
30
36
|
var _numberTextField = _interopRequireDefault(require("./number-text-field"));
|
|
31
37
|
|
|
32
38
|
var _cardBar = _interopRequireDefault(require("./card-bar"));
|
|
33
39
|
|
|
34
|
-
var _numberLine = require("@pie-element/number-line");
|
|
35
|
-
|
|
36
40
|
var _size = _interopRequireDefault(require("./size"));
|
|
37
41
|
|
|
38
42
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
39
43
|
|
|
40
|
-
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
41
|
-
|
|
42
44
|
var _domain = _interopRequireDefault(require("./domain"));
|
|
43
45
|
|
|
44
46
|
var _arrows = _interopRequireDefault(require("./arrows"));
|
|
45
47
|
|
|
46
48
|
var _pointConfig = _interopRequireDefault(require("./point-config"));
|
|
47
49
|
|
|
48
|
-
var _react = _interopRequireDefault(require("react"));
|
|
49
|
-
|
|
50
50
|
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
51
51
|
|
|
52
52
|
var _styles = require("@material-ui/core/styles");
|
|
53
53
|
|
|
54
|
-
var
|
|
54
|
+
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
55
55
|
|
|
56
56
|
var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
|
|
57
57
|
|
|
@@ -109,7 +109,7 @@ var styles = function styles(theme) {
|
|
|
109
109
|
margin: '20px 0'
|
|
110
110
|
},
|
|
111
111
|
pointTypeChooser: {
|
|
112
|
-
margin:
|
|
112
|
+
margin: "".concat(theme.spacing.unit * 2.5, "px 0")
|
|
113
113
|
},
|
|
114
114
|
promptHolder: {
|
|
115
115
|
width: '100%',
|
|
@@ -125,7 +125,7 @@ var styles = function styles(theme) {
|
|
|
125
125
|
padding: 0
|
|
126
126
|
},
|
|
127
127
|
tooltip: {
|
|
128
|
-
fontSize:
|
|
128
|
+
fontSize: theme.typography.fontSize - 2,
|
|
129
129
|
whiteSpace: 'pre',
|
|
130
130
|
maxWidth: '500px'
|
|
131
131
|
},
|
|
@@ -133,9 +133,9 @@ var styles = function styles(theme) {
|
|
|
133
133
|
display: 'inline-flex'
|
|
134
134
|
},
|
|
135
135
|
errorText: {
|
|
136
|
-
fontSize:
|
|
136
|
+
fontSize: theme.typography.fontSize - 2,
|
|
137
137
|
color: 'red',
|
|
138
|
-
|
|
138
|
+
paddingTop: theme.spacing.unit
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
141
|
};
|
|
@@ -148,9 +148,9 @@ var toPointType = function toPointType(response) {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
return response.pointType[0];
|
|
151
|
-
} else {
|
|
152
|
-
return "".concat(response.leftPoint[0]).concat(response.rightPoint[0]);
|
|
153
151
|
}
|
|
152
|
+
|
|
153
|
+
return "".concat(response.leftPoint[0]).concat(response.rightPoint[0]);
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
return "".concat(response.type[0]).concat(rest(response)).toUpperCase();
|
|
@@ -168,10 +168,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
168
168
|
|
|
169
169
|
(0, _classCallCheck2["default"])(this, Main);
|
|
170
170
|
_this = _super.call(this, props);
|
|
171
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "graphChange", function (
|
|
172
|
-
var
|
|
171
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "graphChange", function (obj) {
|
|
172
|
+
var _this$props = _this.props,
|
|
173
|
+
model = _this$props.model,
|
|
174
|
+
onChange = _this$props.onChange;
|
|
173
175
|
|
|
174
|
-
var graph = _objectSpread(_objectSpread({},
|
|
176
|
+
var graph = _objectSpread(_objectSpread({}, model.graph), obj);
|
|
175
177
|
|
|
176
178
|
onChange({
|
|
177
179
|
graph: graph
|
|
@@ -197,8 +199,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
197
199
|
return;
|
|
198
200
|
}
|
|
199
201
|
});
|
|
200
|
-
|
|
201
|
-
return height;
|
|
202
|
+
return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable) ? 100 : 50 + (maxNumberOfPoints || 20) * 25;
|
|
202
203
|
});
|
|
203
204
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxNoOfPoints", function (e, maxNumberOfPoints) {
|
|
204
205
|
var availableTypes = _this.props.model.graph.availableTypes;
|
|
@@ -216,15 +217,15 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
216
217
|
});
|
|
217
218
|
});
|
|
218
219
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTicks", function (ticks) {
|
|
219
|
-
var _this$
|
|
220
|
-
model = _this$
|
|
221
|
-
onChange = _this$
|
|
220
|
+
var _this$props2 = _this.props,
|
|
221
|
+
model = _this$props2.model,
|
|
222
|
+
onChange = _this$props2.onChange;
|
|
222
223
|
|
|
223
224
|
var correctResponse = _numberLine.tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);
|
|
224
225
|
|
|
225
226
|
var initialElements = _numberLine.tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements);
|
|
226
227
|
|
|
227
|
-
var graph = _objectSpread(_objectSpread({},
|
|
228
|
+
var graph = _objectSpread(_objectSpread({}, model.graph), {}, {
|
|
228
229
|
ticks: ticks,
|
|
229
230
|
initialElements: initialElements
|
|
230
231
|
});
|
|
@@ -264,10 +265,10 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
264
265
|
});
|
|
265
266
|
});
|
|
266
267
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "moveCorrectResponse", function (index, el, position) {
|
|
267
|
-
var _this$props2 = _this.props,
|
|
268
|
-
onChange = _this$props2.onChange,
|
|
269
|
-
model = _this$props2.model;
|
|
270
268
|
el.position = position;
|
|
269
|
+
var _this$props3 = _this.props,
|
|
270
|
+
onChange = _this$props3.onChange,
|
|
271
|
+
model = _this$props3.model;
|
|
271
272
|
var update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);
|
|
272
273
|
var correctResponse = (0, _toConsumableArray2["default"])(model.correctResponse);
|
|
273
274
|
correctResponse[index] = update;
|
|
@@ -276,12 +277,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
276
277
|
});
|
|
277
278
|
});
|
|
278
279
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "moveInitialView", function (index, el, position) {
|
|
279
|
-
var _this$props3 = _this.props,
|
|
280
|
-
model = _this$props3.model,
|
|
281
|
-
onChange = _this$props3.onChange;
|
|
282
280
|
el.position = position;
|
|
281
|
+
var _this$props4 = _this.props,
|
|
282
|
+
model = _this$props4.model,
|
|
283
|
+
onChange = _this$props4.onChange;
|
|
283
284
|
var update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);
|
|
284
|
-
var initialElements = (0, _toConsumableArray2["default"])(
|
|
285
|
+
var initialElements = (0, _toConsumableArray2["default"])(model.graph.initialElements);
|
|
285
286
|
initialElements[index] = update;
|
|
286
287
|
|
|
287
288
|
var graph = _objectSpread(_objectSpread({}, model.graph), {}, {
|
|
@@ -293,9 +294,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
293
294
|
});
|
|
294
295
|
});
|
|
295
296
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "availableTypesChange", function (availableTypes) {
|
|
296
|
-
var _this$
|
|
297
|
-
model = _this$
|
|
298
|
-
onChange = _this$
|
|
297
|
+
var _this$props5 = _this.props,
|
|
298
|
+
model = _this$props5.model,
|
|
299
|
+
onChange = _this$props5.onChange;
|
|
299
300
|
var correctResponse = model.correctResponse,
|
|
300
301
|
maxNumberOfPoints = model.graph.maxNumberOfPoints;
|
|
301
302
|
new Set(correctResponse.map(toPointType)).forEach(function (pointType) {
|
|
@@ -314,9 +315,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
314
315
|
});
|
|
315
316
|
});
|
|
316
317
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteCorrectResponse", function (indices) {
|
|
317
|
-
var _this$
|
|
318
|
-
model = _this$
|
|
319
|
-
onChange = _this$
|
|
318
|
+
var _this$props6 = _this.props,
|
|
319
|
+
model = _this$props6.model,
|
|
320
|
+
onChange = _this$props6.onChange;
|
|
320
321
|
var correctResponse = model.correctResponse.filter(function (v, index) {
|
|
321
322
|
return !indices.some(function (d) {
|
|
322
323
|
return d === index;
|
|
@@ -327,9 +328,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
327
328
|
});
|
|
328
329
|
});
|
|
329
330
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteInitialView", function (indices) {
|
|
330
|
-
var _this$
|
|
331
|
-
model = _this$
|
|
332
|
-
onChange = _this$
|
|
331
|
+
var _this$props7 = _this.props,
|
|
332
|
+
model = _this$props7.model,
|
|
333
|
+
onChange = _this$props7.onChange;
|
|
333
334
|
var initialElements = model.graph.initialElements.filter(function (v, index) {
|
|
334
335
|
return !indices.some(function (d) {
|
|
335
336
|
return d === index;
|
|
@@ -345,9 +346,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
345
346
|
});
|
|
346
347
|
});
|
|
347
348
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addCorrectResponse", function (data) {
|
|
348
|
-
var _this$
|
|
349
|
-
model = _this$
|
|
350
|
-
onChange = _this$
|
|
349
|
+
var _this$props8 = _this.props,
|
|
350
|
+
model = _this$props8.model,
|
|
351
|
+
onChange = _this$props8.onChange;
|
|
351
352
|
var correctResponse = (0, _toConsumableArray2["default"])(model.correctResponse);
|
|
352
353
|
correctResponse.push(toSessionFormat(data));
|
|
353
354
|
onChange({
|
|
@@ -355,9 +356,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
355
356
|
});
|
|
356
357
|
});
|
|
357
358
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addInitialView", function (data) {
|
|
358
|
-
var _this$
|
|
359
|
-
onChange = _this$
|
|
360
|
-
model = _this$
|
|
359
|
+
var _this$props9 = _this.props,
|
|
360
|
+
onChange = _this$props9.onChange,
|
|
361
|
+
model = _this$props9.model;
|
|
361
362
|
|
|
362
363
|
var graph = _objectSpread({}, model.graph);
|
|
363
364
|
|
|
@@ -369,19 +370,17 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
369
370
|
});
|
|
370
371
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clearCorrectResponse", function () {
|
|
371
372
|
var onChange = _this.props.onChange;
|
|
372
|
-
var correctResponse = [];
|
|
373
373
|
onChange({
|
|
374
|
-
correctResponse:
|
|
374
|
+
correctResponse: []
|
|
375
375
|
});
|
|
376
376
|
});
|
|
377
377
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clearInitialView", function () {
|
|
378
|
-
var _this$
|
|
379
|
-
model = _this$
|
|
380
|
-
onChange = _this$
|
|
381
|
-
var initialElements = [];
|
|
378
|
+
var _this$props10 = _this.props,
|
|
379
|
+
model = _this$props10.model,
|
|
380
|
+
onChange = _this$props10.onChange;
|
|
382
381
|
|
|
383
382
|
var graph = _objectSpread(_objectSpread({}, model.graph), {}, {
|
|
384
|
-
initialElements:
|
|
383
|
+
initialElements: []
|
|
385
384
|
});
|
|
386
385
|
|
|
387
386
|
onChange({
|
|
@@ -389,9 +388,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
389
388
|
});
|
|
390
389
|
});
|
|
391
390
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "undoCorrectResponse", function () {
|
|
392
|
-
var _this$
|
|
393
|
-
model = _this$
|
|
394
|
-
onChange = _this$
|
|
391
|
+
var _this$props11 = _this.props,
|
|
392
|
+
model = _this$props11.model,
|
|
393
|
+
onChange = _this$props11.onChange;
|
|
395
394
|
var correctResponse = (0, _toConsumableArray2["default"])(model.correctResponse);
|
|
396
395
|
correctResponse.pop();
|
|
397
396
|
onChange({
|
|
@@ -399,9 +398,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
399
398
|
});
|
|
400
399
|
});
|
|
401
400
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "undoInitialView", function () {
|
|
402
|
-
var _this$
|
|
403
|
-
onChange = _this$
|
|
404
|
-
model = _this$
|
|
401
|
+
var _this$props12 = _this.props,
|
|
402
|
+
onChange = _this$props12.onChange,
|
|
403
|
+
model = _this$props12.model;
|
|
405
404
|
|
|
406
405
|
var graph = _objectSpread({}, model.graph);
|
|
407
406
|
|
|
@@ -411,7 +410,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
411
410
|
graph: graph
|
|
412
411
|
});
|
|
413
412
|
});
|
|
414
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddElement", _this.addInitialView);
|
|
415
413
|
var _props$model$graph = props.model.graph,
|
|
416
414
|
_availableTypes = _props$model$graph.availableTypes,
|
|
417
415
|
_maxNumberOfPoints = _props$model$graph.maxNumberOfPoints;
|
|
@@ -430,23 +428,22 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
430
428
|
value: function render() {
|
|
431
429
|
var _this2 = this;
|
|
432
430
|
|
|
433
|
-
var _this$
|
|
434
|
-
classes = _this$
|
|
435
|
-
model = _this$
|
|
436
|
-
_onChange = _this$
|
|
437
|
-
configuration = _this$
|
|
438
|
-
uploadSoundSupport = _this$
|
|
431
|
+
var _this$props13 = this.props,
|
|
432
|
+
classes = _this$props13.classes,
|
|
433
|
+
model = _this$props13.model,
|
|
434
|
+
_onChange = _this$props13.onChange,
|
|
435
|
+
configuration = _this$props13.configuration,
|
|
436
|
+
uploadSoundSupport = _this$props13.uploadSoundSupport;
|
|
439
437
|
|
|
440
|
-
var _ref4 =
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
errors = _ref4.errors;
|
|
438
|
+
var _ref4 = configuration || {},
|
|
439
|
+
_ref4$prompt = _ref4.prompt,
|
|
440
|
+
prompt = _ref4$prompt === void 0 ? {} : _ref4$prompt;
|
|
444
441
|
|
|
445
|
-
var _ref5 =
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
442
|
+
var _ref5 = model || {},
|
|
443
|
+
errors = _ref5.errors,
|
|
444
|
+
graph = _ref5.graph,
|
|
445
|
+
spellCheckEnabled = _ref5.spellCheckEnabled,
|
|
446
|
+
toolbarEditorPosition = _ref5.toolbarEditorPosition;
|
|
450
447
|
|
|
451
448
|
var _ref6 = errors || {},
|
|
452
449
|
widthError = _ref6.widthError,
|
|
@@ -458,20 +455,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
458
455
|
var validationMessage = (0, _utils.generateValidationMessage)();
|
|
459
456
|
var correctResponse = (0, _cloneDeep["default"])(model.correctResponse || []).map(toGraphFormat);
|
|
460
457
|
var initialView = (0, _cloneDeep["default"])(graph.initialElements || []).map(toGraphFormat);
|
|
461
|
-
var toolbarOpts = {
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
default:
|
|
469
|
-
toolbarOpts.position = 'bottom';
|
|
470
|
-
break;
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
474
|
-
className: classes.root
|
|
458
|
+
var toolbarOpts = {
|
|
459
|
+
position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
|
|
460
|
+
};
|
|
461
|
+
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
462
|
+
hideSettings: true,
|
|
463
|
+
settings: null
|
|
475
464
|
}, prompt.settings && /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
|
|
476
465
|
label: prompt.label
|
|
477
466
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
@@ -506,16 +495,10 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
506
495
|
fontSize: 'small',
|
|
507
496
|
color: 'primary',
|
|
508
497
|
style: {
|
|
509
|
-
marginLeft: '
|
|
498
|
+
marginLeft: '8px'
|
|
510
499
|
}
|
|
511
500
|
}))
|
|
512
|
-
}, "Set up the number line by entering the domain and number of tick marks to display. Labels on the number line can be edited or removed by clicking on the label."),
|
|
513
|
-
className: classes.errorText
|
|
514
|
-
}, widthError), domainError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
515
|
-
className: classes.errorText
|
|
516
|
-
}, domainError), maxError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
517
|
-
className: classes.errorText
|
|
518
|
-
}, maxError), /*#__PURE__*/_react["default"].createElement("div", {
|
|
501
|
+
}, "Set up the number line by entering the domain and number of tick marks to display. Labels on the number line can be edited or removed by clicking on the label."), /*#__PURE__*/_react["default"].createElement("div", {
|
|
519
502
|
className: classes.row
|
|
520
503
|
}, /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
|
|
521
504
|
label: 'Size'
|
|
@@ -531,7 +514,13 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
531
514
|
domain: domain
|
|
532
515
|
});
|
|
533
516
|
}
|
|
534
|
-
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
517
|
+
}))), widthError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
518
|
+
className: classes.errorText
|
|
519
|
+
}, widthError), maxError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
520
|
+
className: classes.errorText
|
|
521
|
+
}, maxError), domainError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
522
|
+
className: classes.errorText
|
|
523
|
+
}, domainError), /*#__PURE__*/_react["default"].createElement("div", {
|
|
535
524
|
className: classes.row
|
|
536
525
|
}, /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
|
|
537
526
|
label: 'Ticks'
|
|
@@ -566,18 +555,16 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
566
555
|
max: 20,
|
|
567
556
|
value: graph.maxNumberOfPoints,
|
|
568
557
|
onChange: this.changeMaxNoOfPoints
|
|
569
|
-
})
|
|
558
|
+
}), pointsError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
559
|
+
className: classes.errorText
|
|
560
|
+
}, pointsError)), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
570
561
|
variant: "outlined",
|
|
571
562
|
mini: true,
|
|
572
563
|
color: "primary",
|
|
573
564
|
onClick: this.setDefaults
|
|
574
565
|
}, "Reset to default values"), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("br", null), !graph.exhibitOnly && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_cardBar["default"], {
|
|
575
566
|
header: "Correct Response"
|
|
576
|
-
}, "Select answer type and place it on the number line. Intersecting points, line segments and/or rays will appear above the number line. ", /*#__PURE__*/_react["default"].createElement("i", null, "Note: A maximum of 20 points, line segments or rays may be plotted.")),
|
|
577
|
-
className: classes.errorText
|
|
578
|
-
}, pointsError), correctResponseError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
579
|
-
className: classes.errorText
|
|
580
|
-
}, correctResponseError), /*#__PURE__*/_react["default"].createElement(_numberLine.NumberLineComponent, {
|
|
567
|
+
}, "Select answer type and place it on the number line. Intersecting points, line segments and/or rays will appear above the number line. ", /*#__PURE__*/_react["default"].createElement("i", null, "Note: A maximum of 20 points, line segments or rays may be plotted.")), /*#__PURE__*/_react["default"].createElement(_numberLine.NumberLineComponent, {
|
|
581
568
|
onMoveElement: this.moveCorrectResponse,
|
|
582
569
|
onDeleteElements: this.deleteCorrectResponse,
|
|
583
570
|
onAddElement: this.addCorrectResponse,
|
|
@@ -586,7 +573,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
586
573
|
answer: correctResponse //strip feedback for this model
|
|
587
574
|
,
|
|
588
575
|
model: trimModel(model)
|
|
589
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
576
|
+
}), correctResponseError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
577
|
+
className: classes.errorText
|
|
578
|
+
}, correctResponseError), /*#__PURE__*/_react["default"].createElement(_cardBar["default"], {
|
|
590
579
|
header: "Available Types",
|
|
591
580
|
mini: true
|
|
592
581
|
}, "Click on the input options to be displayed to the students. All inputs will display by default."), /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -599,7 +588,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
599
588
|
}, "Use this number line to set a starting point, line segment or ray. This is optional. ", /*#__PURE__*/_react["default"].createElement("br", null), "This number line may also be used to make an exhibit number line, which can not be manipulated by a student."), /*#__PURE__*/_react["default"].createElement(_numberLine.NumberLineComponent, {
|
|
600
589
|
onMoveElement: this.moveInitialView,
|
|
601
590
|
onDeleteElements: this.deleteInitialView,
|
|
602
|
-
onAddElement: this.
|
|
591
|
+
onAddElement: this.addInitialView,
|
|
603
592
|
onClearElements: this.clearInitialView,
|
|
604
593
|
onUndoElement: this.undoInitialView,
|
|
605
594
|
answer: initialView,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["trimModel","model","feedback","undefined","prompt","graph","title","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","row","display","flexWrap","paddingRight","hide","opacity","resetDefaults","margin","pointTypeChooser","promptHolder","paddingBottom","marginBottom","paddingTop","section","padding","tooltip","fontSize","whiteSpace","maxWidth","inlineFlexContainer","errorText","color","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","o","onChange","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","forEach","value","e","getAdjustedHeight","ticks","tickUtils","snapElements","domain","initialElements","arrows","defaultModel","event","exhibitOnly","index","el","position","update","Set","map","indices","filter","v","some","d","data","push","pop","addInitialView","classes","configuration","uploadSoundSupport","spellCheckEnabled","errors","spellCheck","widthError","domainError","maxError","pointsError","correctResponseError","validationMessage","initialView","toolbarOpts","toolbarEditorPosition","root","settings","label","language","marginLeft","changeSize","changeTicks","changeArrows","changeGraphTitle","changeMaxNoOfPoints","setDefaults","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","availableTypesChange","moveInitialView","deleteInitialView","onAddElement","clearInitialView","undoInitialView","exhibitChanged","React","Component","PropTypes","object","isRequired","func","name"],"mappings":"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","sourcesContent":["import { InputCheckbox, FeedbackConfig, FormSection } from '@pie-lib/config-ui';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport { NumberLineComponent, dataConverter, tickUtils } from '@pie-element/number-line';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport React from 'react';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n graph: { ...model.graph, title: undefined },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\n\nconst styles = (theme) => ({\n maxNumberOfPoints: {\n width: '150px',\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2,\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2,\n },\n },\n hide: {\n opacity: 0.5,\n },\n resetDefaults: {\n margin: '20px 0',\n },\n pointTypeChooser: {\n margin: '20px 0',\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n section: {\n margin: 0,\n padding: 0,\n },\n tooltip: {\n fontSize: '12px',\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n inlineFlexContainer: {\n display: 'inline-flex',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0',\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 return response.pointType[0];\n } else {\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 onChange: PropTypes.func.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\n this.graphChange({ height });\n }\n\n graphChange = (o) => {\n const { onChange } = this.props;\n const graph = { ...this.props.model.graph, ...o };\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n return;\n }\n });\n\n const height =\n maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable) ? 100 : 50 + (maxNumberOfPoints || 20) * 25;\n\n return height;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\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 changeTicks = (ticks) => {\n const { model, onChange } = this.props;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements);\n\n const graph = { ...this.props.model.graph, ticks, initialElements };\n onChange({ graph, correctResponse });\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 exhibitChanged = (event, value) => {\n const graph = { ...this.props.model.graph, exhibitOnly: value };\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n const { onChange, model } = this.props;\n el.position = position;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n onChange({ correctResponse });\n };\n\n moveInitialView = (index, el, position) => {\n const { model, onChange } = this.props;\n el.position = position;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const initialElements = [...this.props.model.graph.initialElements];\n initialElements[index] = update;\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\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) => {\n return !indices.some((d) => d === index);\n });\n onChange({ correctResponse });\n };\n\n deleteInitialView = (indices) => {\n const { model, onChange } = this.props;\n const initialElements = model.graph.initialElements.filter((v, index) => {\n return !indices.some((d) => d === index);\n });\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n addCorrectResponse = (data) => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n onChange({ correctResponse });\n };\n\n addInitialView = (data) => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.push(toSessionFormat(data));\n onChange({ graph });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n const correctResponse = [];\n onChange({ correctResponse });\n };\n\n clearInitialView = () => {\n const { model, onChange } = this.props;\n const initialElements = [];\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n onChange({ correctResponse });\n };\n\n undoInitialView = () => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.pop();\n onChange({ graph });\n };\n\n onAddElement = this.addInitialView;\n\n render() {\n const { classes, model, onChange, configuration, uploadSoundSupport } = this.props;\n\n const { graph, spellCheckEnabled, errors } = model || {};\n const { prompt = {}, spellCheck = {} } = configuration || {};\n const { widthError, domainError, maxError, pointsError, correctResponseError } = errors || {};\n const validationMessage = generateValidationMessage();\n\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n\n const initialView = cloneDeep(graph.initialElements || []).map(toGraphFormat);\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n return (\n <div className={classes.root}>\n {prompt.settings && (\n <FormSection label={prompt.label}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </FormSection>\n )}\n <CardBar\n header=\"Attributes\"\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: '5px' }} />\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 {widthError && <div className={classes.errorText}>{widthError}</div>}\n {domainError && <div className={classes.errorText}>{domainError}</div>}\n {maxError && <div className={classes.errorText}>{maxError}</div>}\n\n <div className={classes.row}>\n <FormSection label={'Size'}>\n <Size size={graph} onChange={this.changeSize} />\n </FormSection>\n\n <FormSection label={'Domain'}>\n <Domain domain={graph.domain} onChange={(domain) => this.graphChange({ domain })} />\n </FormSection>\n </div>\n <div className={classes.row}>\n <FormSection label={'Ticks'}>\n <Ticks ticks={graph.ticks} onChange={this.changeTicks} domain={graph.domain} />\n </FormSection>\n <FormSection label={'Arrows'}>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FormSection>\n </div>\n <FormSection label={'Title'}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </FormSection>\n <FormSection label={'Limits'}>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n label=\"Max No of Elements\"\n min={1}\n max={20}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n </FormSection>\n <Button variant=\"outlined\" mini color=\"primary\" onClick={this.setDefaults}>\n Reset to default values\n </Button>\n <br />\n <br />\n\n {!graph.exhibitOnly && (\n <div>\n <CardBar header=\"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 {pointsError && <div className={classes.errorText}>{pointsError}</div>}\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n <CardBar header=\"Available Types\" mini>\n Click on the input options to be displayed to the students. All inputs will display by default.\n </CardBar>\n <div className={classes.pointTypeChooser}>\n <PointConfig onSelectionChange={this.availableTypesChange} selection={graph.availableTypes} />\n </div>\n </div>\n )}\n <CardBar header=\"Initial view/Make Exhibit\">\n Use this number line to set a starting point, line segment or ray. This is optional. <br />\n This number line may also be used to make an exhibit number line, which can not be manipulated by a student.\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveInitialView}\n onDeleteElements={this.deleteInitialView}\n onAddElement={this.onAddElement}\n onClearElements={this.clearInitialView}\n onUndoElement={this.undoInitialView}\n answer={initialView}\n model={trimModel(model)}\n />\n <InputCheckbox\n label=\"Make exhibit\"\n className={classes.checkbox}\n checked={graph.exhibitOnly}\n onChange={this.exhibitChanged}\n value={'exhibitOnly'}\n />\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <br />\n <FeedbackConfig\n feedback={model.feedback}\n onChange={(feedback) => onChange({ feedback })}\n toolbarOpts={toolbarOpts}\n />\n </React.Fragment>\n )}\n </div>\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","graph","title","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","row","display","flexWrap","paddingRight","hide","opacity","resetDefaults","margin","pointTypeChooser","promptHolder","paddingBottom","marginBottom","paddingTop","section","padding","tooltip","fontSize","typography","whiteSpace","maxWidth","inlineFlexContainer","errorText","color","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","obj","onChange","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","forEach","value","e","getAdjustedHeight","ticks","tickUtils","snapElements","domain","initialElements","arrows","defaultModel","event","exhibitOnly","index","el","position","update","Set","map","indices","filter","v","some","d","data","push","pop","classes","configuration","uploadSoundSupport","errors","spellCheckEnabled","toolbarEditorPosition","widthError","domainError","maxError","pointsError","correctResponseError","validationMessage","initialView","toolbarOpts","settings","label","language","marginLeft","changeSize","changeTicks","changeArrows","changeGraphTitle","changeMaxNoOfPoints","setDefaults","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","availableTypesChange","moveInitialView","deleteInitialView","addInitialView","clearInitialView","undoInitialView","exhibitChanged","React","Component","PropTypes","object","isRequired","func","name"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { InputCheckbox, FeedbackConfig, FormSection, 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 Button from '@material-ui/core/Button';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n graph: { ...model.graph, title: undefined },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\n\nconst styles = (theme) => ({\n maxNumberOfPoints: {\n width: '150px',\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2,\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2,\n },\n },\n hide: {\n opacity: 0.5,\n },\n resetDefaults: {\n margin: '20px 0',\n },\n pointTypeChooser: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n section: {\n margin: 0,\n padding: 0,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n inlineFlexContainer: {\n display: 'inline-flex',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: 'red',\n paddingTop: theme.spacing.unit,\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 onChange: PropTypes.func.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\n this.graphChange({ height });\n }\n\n graphChange = (obj) => {\n const { model, onChange } = this.props;\n const graph = { ...model.graph, ...obj };\n\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n\n return;\n }\n });\n\n return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100\n : 50 + (maxNumberOfPoints || 20) * 25;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\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 changeTicks = (ticks) => {\n const { model, onChange } = this.props;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements);\n const graph = { ...model.graph, ticks, initialElements };\n\n onChange({ graph, correctResponse });\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 exhibitChanged = (event, value) => {\n const graph = { ...this.props.model.graph, exhibitOnly: value };\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 moveInitialView = (index, el, position) => {\n el.position = position;\n\n const { model, onChange } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const initialElements = [...model.graph.initialElements];\n initialElements[index] = update;\n const graph = { ...model.graph, initialElements };\n\n onChange({ graph });\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 deleteInitialView = (indices) => {\n const { model, onChange } = this.props;\n const initialElements = model.graph.initialElements.filter((v, index) => !indices.some((d) => d === index));\n const graph = { ...model.graph, initialElements };\n\n onChange({ graph });\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 addInitialView = (data) => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.push(toSessionFormat(data));\n\n onChange({ graph });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n\n onChange({ correctResponse: [] });\n };\n\n clearInitialView = () => {\n const { model, onChange } = this.props;\n const graph = { ...model.graph, initialElements: [] };\n\n onChange({ graph });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n\n onChange({ correctResponse });\n };\n\n undoInitialView = () => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.pop();\n\n onChange({ graph });\n };\n\n render() {\n const { classes, model, onChange, configuration, uploadSoundSupport } = this.props;\n const { prompt = {} } = configuration || {};\n const { errors, graph, spellCheckEnabled, toolbarEditorPosition } = model || {};\n\n const { widthError, domainError, maxError, pointsError, correctResponseError } = errors || {};\n const validationMessage = generateValidationMessage();\n\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n const initialView = cloneDeep(graph.initialElements || []).map(toGraphFormat);\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n return (\n <layout.ConfigLayout hideSettings={true} settings={null}>\n {prompt.settings && (\n <FormSection label={prompt.label}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </FormSection>\n )}\n\n <CardBar\n header=\"Attributes\"\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 <FormSection label={'Size'}>\n <Size size={graph} onChange={this.changeSize} />\n </FormSection>\n\n <FormSection label={'Domain'}>\n <Domain domain={graph.domain} onChange={(domain) => this.graphChange({ domain })} />\n </FormSection>\n </div>\n\n {widthError && <div className={classes.errorText}>{widthError}</div>}\n {maxError && <div className={classes.errorText}>{maxError}</div>}\n {domainError && <div className={classes.errorText}>{domainError}</div>}\n\n <div className={classes.row}>\n <FormSection label={'Ticks'}>\n <Ticks ticks={graph.ticks} onChange={this.changeTicks} domain={graph.domain} />\n </FormSection>\n\n <FormSection label={'Arrows'}>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FormSection>\n </div>\n\n <FormSection label={'Title'}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </FormSection>\n\n <FormSection label={'Limits'}>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n label=\"Max No of Elements\"\n min={1}\n max={20}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n {pointsError && <div className={classes.errorText}>{pointsError}</div>}\n </FormSection>\n\n <Button variant=\"outlined\" mini color=\"primary\" onClick={this.setDefaults}>\n Reset to default values\n </Button>\n\n <br />\n <br />\n\n {!graph.exhibitOnly && (\n <div>\n <CardBar header=\"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 <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n\n <CardBar header=\"Available Types\" 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 onSelectionChange={this.availableTypesChange} selection={graph.availableTypes} />\n </div>\n </div>\n )}\n\n <CardBar header=\"Initial view/Make Exhibit\">\n Use this number line to set a starting point, line segment or ray. This is optional. <br />\n This number line may also be used to make an exhibit number line, which can not be manipulated by a student.\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveInitialView}\n onDeleteElements={this.deleteInitialView}\n onAddElement={this.addInitialView}\n onClearElements={this.clearInitialView}\n onUndoElement={this.undoInitialView}\n answer={initialView}\n model={trimModel(model)}\n />\n\n <InputCheckbox\n label=\"Make exhibit\"\n className={classes.checkbox}\n checked={graph.exhibitOnly}\n onChange={this.exhibitChanged}\n value={'exhibitOnly'}\n />\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <br />\n <FeedbackConfig\n feedback={model.feedback}\n onChange={(feedback) => onChange({ feedback })}\n toolbarOpts={toolbarOpts}\n />\n </React.Fragment>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles, { name: 'Main' })(Main);\n"],"file":"main.js"}
|
|
@@ -42,7 +42,10 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
42
42
|
var Point = _numberLine.pointChooser.Point;
|
|
43
43
|
var styles = {
|
|
44
44
|
displayToggles: {
|
|
45
|
-
paddingTop: '20px'
|
|
45
|
+
paddingTop: '20px',
|
|
46
|
+
'& > :first-child': {
|
|
47
|
+
marginRight: '8px'
|
|
48
|
+
}
|
|
46
49
|
}
|
|
47
50
|
};
|
|
48
51
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/point-config.jsx"],"names":["Point","pointChooser","styles","displayToggles","paddingTop","PointConfig","props","state","selection","point","update","_stateUpdate","value","display","types","reduce","acc","setState","onSelectionChange","classes","icons","map","toLowerCase","toggle","bind","active","toggleAll","React","Component","PropTypes","func","object","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AACA,IAAQA,KAAR,GAAkBC,wBAAlB,CAAQD,KAAR;AAEA,IAAME,MAAM,GAAG;AACbC,EAAAA,cAAc,EAAE;AACdC,IAAAA,UAAU,EAAE;
|
|
1
|
+
{"version":3,"sources":["../src/point-config.jsx"],"names":["Point","pointChooser","styles","displayToggles","paddingTop","marginRight","PointConfig","props","state","selection","point","update","_stateUpdate","value","display","types","reduce","acc","setState","onSelectionChange","classes","icons","map","toLowerCase","toggle","bind","active","toggleAll","React","Component","PropTypes","func","object","name"],"mappings":"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","sourcesContent":["import Button from '@material-ui/core/Button';\nimport React from 'react';\nimport { pointChooser } from '@pie-element/number-line';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nconst { Point } = pointChooser;\n\nconst styles = {\n displayToggles: {\n paddingTop: '20px',\n '& > :first-child': {\n marginRight: '8px',\n },\n },\n};\n\nclass PointConfig extends React.Component {\n static propTypes = {\n onSelectionChange: PropTypes.func,\n selection: PropTypes.object,\n classes: PropTypes.object,\n };\n constructor(props) {\n super(props);\n this.state = {\n selection: props.selection,\n };\n }\n\n toggle(point) {\n const update = { ...this.state.selection };\n update[point] = !update[point];\n this._stateUpdate(update);\n }\n\n toggleAll(value) {\n const display = [...PointConfig.types].reduce((acc, point) => {\n acc[point] = value;\n\n return acc;\n }, {});\n\n this._stateUpdate(display);\n }\n\n _stateUpdate(selection) {\n this.setState({ selection }, () => {\n this.props.onSelectionChange(this.state.selection);\n });\n }\n\n active(point) {\n return this.state.selection[point] === true; // ? 'active' : '';\n }\n\n render() {\n const { classes } = this.props;\n\n const icons = PointConfig.types.map((point) => {\n return (\n <Point\n iconKey={point.toLowerCase()}\n key={point.toLowerCase()}\n onClick={this.toggle.bind(this, point)}\n active={this.active(point)}\n />\n );\n });\n\n return (\n <div>\n <div>{icons}</div>\n <div className={classes.displayToggles}>\n <Button variant=\"outlined\" size=\"small\" onClick={this.toggleAll.bind(this, true)}>\n Display All\n </Button>\n <Button variant=\"outlined\" size=\"small\" onClick={this.toggleAll.bind(this, false)}>\n None\n </Button>\n </div>\n </div>\n );\n }\n}\n\nPointConfig.types = ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP'];\n\nexport default withStyles(styles, { name: 'PointConfig' })(PointConfig);\n"],"file":"point-config.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/number-line",
|
|
3
|
-
"version": "6.4.
|
|
3
|
+
"version": "6.4.2-next.47+690c9df4b",
|
|
4
4
|
"repository": "pie-framework/pie-elements",
|
|
5
5
|
"description": "",
|
|
6
6
|
"publishConfig": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"author": "pie framework developers",
|
|
29
29
|
"license": "ISC",
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "690c9df4bd335b9b31f21593df51b7cf6bc4a424",
|
|
31
31
|
"scripts": {
|
|
32
32
|
"postpublish": "../../scripts/postpublish"
|
|
33
33
|
},
|