@pie-element/number-line 8.2.0 → 8.2.1-next.11

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 (75) hide show
  1. package/configure/package.json +1 -1
  2. package/controller/package.json +1 -1
  3. package/package.json +3 -3
  4. package/configure/lib/arrows.js +0 -124
  5. package/configure/lib/arrows.js.map +0 -1
  6. package/configure/lib/card-bar.js +0 -78
  7. package/configure/lib/card-bar.js.map +0 -1
  8. package/configure/lib/defaults.js +0 -144
  9. package/configure/lib/defaults.js.map +0 -1
  10. package/configure/lib/domain.js +0 -140
  11. package/configure/lib/domain.js.map +0 -1
  12. package/configure/lib/index.js +0 -224
  13. package/configure/lib/index.js.map +0 -1
  14. package/configure/lib/main.js +0 -866
  15. package/configure/lib/main.js.map +0 -1
  16. package/configure/lib/number-text-field.js +0 -97
  17. package/configure/lib/number-text-field.js.map +0 -1
  18. package/configure/lib/point-config.js +0 -144
  19. package/configure/lib/point-config.js.map +0 -1
  20. package/configure/lib/size.js +0 -100
  21. package/configure/lib/size.js.map +0 -1
  22. package/configure/lib/ticks.js +0 -288
  23. package/configure/lib/ticks.js.map +0 -1
  24. package/configure/lib/utils.js +0 -14
  25. package/configure/lib/utils.js.map +0 -1
  26. package/controller/lib/defaults.js +0 -47
  27. package/controller/lib/defaults.js.map +0 -1
  28. package/controller/lib/index.js +0 -468
  29. package/controller/lib/index.js.map +0 -1
  30. package/lib/data-converter.js +0 -100
  31. package/lib/data-converter.js.map +0 -1
  32. package/lib/draggable/index.js +0 -53
  33. package/lib/draggable/index.js.map +0 -1
  34. package/lib/index.js +0 -241
  35. package/lib/index.js.map +0 -1
  36. package/lib/number-line/colors.js +0 -21
  37. package/lib/number-line/colors.js.map +0 -1
  38. package/lib/number-line/feedback.js +0 -108
  39. package/lib/number-line/feedback.js.map +0 -1
  40. package/lib/number-line/graph/arrow.js +0 -63
  41. package/lib/number-line/graph/arrow.js.map +0 -1
  42. package/lib/number-line/graph/elements/base.js +0 -26
  43. package/lib/number-line/graph/elements/base.js.map +0 -1
  44. package/lib/number-line/graph/elements/builder.js +0 -38
  45. package/lib/number-line/graph/elements/builder.js.map +0 -1
  46. package/lib/number-line/graph/elements/line.js +0 -317
  47. package/lib/number-line/graph/elements/line.js.map +0 -1
  48. package/lib/number-line/graph/elements/point.js +0 -233
  49. package/lib/number-line/graph/elements/point.js.map +0 -1
  50. package/lib/number-line/graph/elements/ray.js +0 -227
  51. package/lib/number-line/graph/elements/ray.js.map +0 -1
  52. package/lib/number-line/graph/index.js +0 -328
  53. package/lib/number-line/graph/index.js.map +0 -1
  54. package/lib/number-line/graph/line.js +0 -48
  55. package/lib/number-line/graph/line.js.map +0 -1
  56. package/lib/number-line/graph/stacks.js +0 -101
  57. package/lib/number-line/graph/stacks.js.map +0 -1
  58. package/lib/number-line/graph/tick-utils.js +0 -440
  59. package/lib/number-line/graph/tick-utils.js.map +0 -1
  60. package/lib/number-line/graph/ticks.js +0 -239
  61. package/lib/number-line/graph/ticks.js.map +0 -1
  62. package/lib/number-line/index.js +0 -422
  63. package/lib/number-line/index.js.map +0 -1
  64. package/lib/number-line/point-chooser/button.js +0 -74
  65. package/lib/number-line/point-chooser/button.js.map +0 -1
  66. package/lib/number-line/point-chooser/img.js +0 -9
  67. package/lib/number-line/point-chooser/img.js.map +0 -1
  68. package/lib/number-line/point-chooser/index.js +0 -193
  69. package/lib/number-line/point-chooser/index.js.map +0 -1
  70. package/lib/number-line/point-chooser/styles.js +0 -100
  71. package/lib/number-line/point-chooser/styles.js.map +0 -1
  72. package/lib/number-line/transitions/fade.js +0 -67
  73. package/lib/number-line/transitions/fade.js.map +0 -1
  74. package/lib/number-line/transitions/index.js +0 -16
  75. package/lib/number-line/transitions/index.js.map +0 -1
@@ -1,239 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.Ticks = exports.TickValidator = exports.Tick = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _react = _interopRequireDefault(require("react"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _tickUtils = require("./tick-utils");
27
-
28
- var _reactJss = _interopRequireDefault(require("react-jss"));
29
-
30
- var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
31
-
32
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
-
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
-
36
- var style = {
37
- text: {
38
- userSelect: 'none',
39
- textAlign: 'center',
40
- fill: _renderUi.color.primary()
41
- },
42
- line: {
43
- stroke: _renderUi.color.primary()
44
- }
45
- };
46
-
47
- var TickValidator = _propTypes["default"].shape({
48
- /** the number of major ticks (including min + max)
49
- * to display. cant be lower than 2.
50
- */
51
- major: function major(props, propName) {},
52
-
53
- /** the number of minor ticks to display between major ticks.
54
- * Can't be less than zero.
55
- */
56
- minor: function minor(props, propName, componentName) {
57
- var minor = props[propName];
58
-
59
- if (minor <= 0) {
60
- return new Error("Invalid prop ".concat(propName, " must be > 0. ").concat(componentName));
61
- }
62
- }
63
- }).isRequired;
64
-
65
- exports.TickValidator = TickValidator;
66
-
67
- var Tick = /*#__PURE__*/function (_React$Component) {
68
- (0, _inherits2["default"])(Tick, _React$Component);
69
-
70
- var _super = _createSuper(Tick);
71
-
72
- function Tick(props) {
73
- var _this;
74
-
75
- (0, _classCallCheck2["default"])(this, Tick);
76
- _this = _super.call(this, props);
77
- _this.wasRendered = false;
78
- return _this;
79
- }
80
-
81
- (0, _createClass2["default"])(Tick, [{
82
- key: "componentDidMount",
83
- value: function componentDidMount() {
84
- //center align the tick text
85
- if (this.text) {
86
- var fraction = this.props.fraction;
87
-
88
- var _this$text$getBBox = this.text.getBBox(),
89
- width = _this$text$getBBox.width;
90
-
91
- this.text.setAttribute('x', width / 2 * -1);
92
-
93
- if (fraction && !this.wasRendered) {
94
- // used for rendering the line fraction
95
- this.wasRendered = true;
96
- this.forceUpdate();
97
- }
98
- }
99
- }
100
- }, {
101
- key: "render",
102
- value: function render() {
103
- var _this2 = this;
104
-
105
- //the domain value
106
- var _this$props = this.props,
107
- x = _this$props.x,
108
- y = _this$props.y,
109
- type = _this$props.type,
110
- classes = _this$props.classes,
111
- xScale = _this$props.xScale,
112
- fraction = _this$props.fraction;
113
- var displayFraction = fraction && x.n !== x.d && x.n !== 0 && x.d !== 1;
114
- var labelTick = type === 'major';
115
- var height = labelTick ? 20 : 10;
116
-
117
- var _ref = this.text && this.text.getBBox() || {},
118
- _ref$width = _ref.width,
119
- textWidth = _ref$width === void 0 ? 0 : _ref$width,
120
- _ref$height = _ref.height,
121
- textHeight = _ref$height === void 0 ? 0 : _ref$height,
122
- _ref$x = _ref.x,
123
- textX = _ref$x === void 0 ? 0 : _ref$x,
124
- _ref$y = _ref.y,
125
- textY = _ref$y === void 0 ? 0 : _ref$y;
126
-
127
- var xText = !fraction ? Number(x.toFixed(3)) : !displayFraction ? x.n * x.s : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("tspan", {
128
- x: "0",
129
- dy: "0.71em"
130
- }, x.n * x.s), /*#__PURE__*/_react["default"].createElement("tspan", {
131
- x: "0",
132
- dy: "1.11em"
133
- }, x.d));
134
- return /*#__PURE__*/_react["default"].createElement("g", {
135
- opacity: "1",
136
- transform: "translate(".concat(xScale(x), ", ").concat(y, ")")
137
- }, /*#__PURE__*/_react["default"].createElement("line", {
138
- className: classes.line,
139
- y1: height / 2 * -1,
140
- y2: height / 2,
141
- x1: "0.5",
142
- x2: "0.5"
143
- }), displayFraction && /*#__PURE__*/_react["default"].createElement("line", {
144
- className: classes.line,
145
- x1: textX,
146
- x2: textX + textWidth,
147
- y1: textY + textHeight / 2,
148
- y2: textY + textHeight / 2
149
- }), labelTick && /*#__PURE__*/_react["default"].createElement("text", {
150
- ref: function ref(text) {
151
- return _this2.text = text;
152
- },
153
- className: classes.text,
154
- y: "14",
155
- width: "10",
156
- dy: "0.71em",
157
- textAnchor: displayFraction && 'middle'
158
- }, xText));
159
- }
160
- }]);
161
- return Tick;
162
- }(_react["default"].Component);
163
-
164
- exports.Tick = Tick;
165
- (0, _defineProperty2["default"])(Tick, "propTypes", {
166
- classes: _propTypes["default"].object.isRequired,
167
- y: _propTypes["default"].number.isRequired,
168
- x: _propTypes["default"].number.isRequired,
169
- major: _propTypes["default"].bool,
170
- fraction: _propTypes["default"].bool,
171
- xScale: _propTypes["default"].func,
172
- type: _propTypes["default"].string
173
- });
174
- (0, _defineProperty2["default"])(Tick, "defaultProps", {
175
- major: false
176
- });
177
-
178
- var Ticks = /*#__PURE__*/function (_React$Component2) {
179
- (0, _inherits2["default"])(Ticks, _React$Component2);
180
-
181
- var _super2 = _createSuper(Ticks);
182
-
183
- function Ticks() {
184
- (0, _classCallCheck2["default"])(this, Ticks);
185
- return _super2.apply(this, arguments);
186
- }
187
-
188
- (0, _createClass2["default"])(Ticks, [{
189
- key: "render",
190
- value: function render() {
191
- var _this$props2 = this.props,
192
- domain = _this$props2.domain,
193
- width = _this$props2.width,
194
- ticks = _this$props2.ticks,
195
- y = _this$props2.y,
196
- classes = _this$props2.classes,
197
- fraction = _this$props2.fraction;
198
- var xScale = this.context.xScale;
199
- var tickData = (0, _tickUtils.buildTickData)(domain, width, ticks, {
200
- fraction: fraction
201
- });
202
- return /*#__PURE__*/_react["default"].createElement("g", null, tickData.map(function (_ref2) {
203
- var x = _ref2.x,
204
- type = _ref2.type;
205
- return /*#__PURE__*/_react["default"].createElement(Tick, {
206
- classes: classes,
207
- fraction: fraction,
208
- x: x,
209
- y: y,
210
- type: type,
211
- xScale: xScale,
212
- key: "".concat(x, "-").concat(type, "-").concat(fraction)
213
- });
214
- }));
215
- }
216
- }]);
217
- return Ticks;
218
- }(_react["default"].Component);
219
-
220
- exports.Ticks = Ticks;
221
- (0, _defineProperty2["default"])(Ticks, "contextTypes", {
222
- xScale: _propTypes["default"].func.isRequired
223
- });
224
- (0, _defineProperty2["default"])(Ticks, "propTypes", {
225
- classes: _propTypes["default"].object.isRequired,
226
- domain: _propTypes["default"].shape({
227
- min: _propTypes["default"].number.isRequired,
228
- max: _propTypes["default"].number.isRequired
229
- }).isRequired,
230
- fraction: _propTypes["default"].bool,
231
- width: _propTypes["default"].number,
232
- ticks: TickValidator,
233
- y: _propTypes["default"].number.isRequired
234
- });
235
-
236
- var _default = (0, _reactJss["default"])(style)(Ticks);
237
-
238
- exports["default"] = _default;
239
- //# sourceMappingURL=ticks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/number-line/graph/ticks.jsx"],"names":["style","text","userSelect","textAlign","fill","color","primary","line","stroke","TickValidator","PropTypes","shape","major","props","propName","minor","componentName","Error","isRequired","Tick","wasRendered","fraction","getBBox","width","setAttribute","forceUpdate","x","y","type","classes","xScale","displayFraction","n","d","labelTick","height","textWidth","textHeight","textX","textY","xText","Number","toFixed","s","React","Component","object","number","bool","func","string","Ticks","domain","ticks","context","tickData","map","min","max"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { buildTickData, isMultiple } from './tick-utils';\nimport injectSheet from 'react-jss';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nconst style = {\n text: {\n userSelect: 'none',\n textAlign: 'center',\n fill: color.primary(),\n },\n line: {\n stroke: color.primary(),\n },\n};\n\nexport const TickValidator = PropTypes.shape({\n /** the number of major ticks (including min + max)\n * to display. cant be lower than 2.\n */\n major: (props, propName) => {},\n /** the number of minor ticks to display between major ticks.\n * Can't be less than zero.\n */\n minor: (props, propName, componentName) => {\n let minor = props[propName];\n if (minor <= 0) {\n return new Error(`Invalid prop ${propName} must be > 0. ${componentName}`);\n }\n },\n}).isRequired;\n\nexport class Tick extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n y: PropTypes.number.isRequired,\n x: PropTypes.number.isRequired,\n major: PropTypes.bool,\n fraction: PropTypes.bool,\n xScale: PropTypes.func,\n type: PropTypes.string,\n };\n\n static defaultProps = {\n major: false,\n };\n\n constructor(props) {\n super(props);\n this.wasRendered = false;\n }\n\n componentDidMount() {\n //center align the tick text\n if (this.text) {\n const { fraction } = this.props;\n let { width } = this.text.getBBox();\n this.text.setAttribute('x', (width / 2) * -1);\n\n if (fraction && !this.wasRendered) {\n // used for rendering the line fraction\n this.wasRendered = true;\n this.forceUpdate();\n }\n }\n }\n\n render() {\n //the domain value\n let { x, y, type, classes, xScale, fraction } = this.props;\n const displayFraction = fraction && x.n !== x.d && x.n !== 0 && x.d !== 1;\n const labelTick = type === 'major';\n const height = labelTick ? 20 : 10;\n const {\n width: textWidth = 0,\n height: textHeight = 0,\n x: textX = 0,\n y: textY = 0,\n } = (this.text && this.text.getBBox()) || {};\n\n const xText = !fraction ? (\n Number(x.toFixed(3))\n ) : !displayFraction ? (\n x.n * x.s\n ) : (\n <React.Fragment>\n <tspan x=\"0\" dy=\"0.71em\">\n {x.n * x.s}\n </tspan>\n <tspan x=\"0\" dy=\"1.11em\">\n {x.d}\n </tspan>\n </React.Fragment>\n );\n\n return (\n <g opacity=\"1\" transform={`translate(${xScale(x)}, ${y})`}>\n <line className={classes.line} y1={(height / 2) * -1} y2={height / 2} x1=\"0.5\" x2=\"0.5\" />\n\n {displayFraction && (\n <line\n className={classes.line}\n x1={textX}\n x2={textX + textWidth}\n y1={textY + textHeight / 2}\n y2={textY + textHeight / 2}\n />\n )}\n\n {labelTick && (\n <text\n ref={(text) => (this.text = text)}\n className={classes.text}\n y=\"14\"\n width=\"10\"\n dy=\"0.71em\"\n textAnchor={displayFraction && 'middle'}\n >\n {xText}\n </text>\n )}\n </g>\n );\n }\n}\n\nexport class Ticks extends React.Component {\n static contextTypes = {\n xScale: PropTypes.func.isRequired,\n };\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n domain: PropTypes.shape({\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n }).isRequired,\n fraction: PropTypes.bool,\n width: PropTypes.number,\n ticks: TickValidator,\n y: PropTypes.number.isRequired,\n };\n\n render() {\n let { domain, width, ticks, y, classes, fraction } = this.props;\n let { xScale } = this.context;\n\n const tickData = buildTickData(domain, width, ticks, { fraction });\n\n return (\n <g>\n {tickData.map(({ x, type }) => {\n return (\n <Tick\n classes={classes}\n fraction={fraction}\n x={x}\n y={y}\n type={type}\n xScale={xScale}\n key={`${x}-${type}-${fraction}`}\n />\n );\n })}\n </g>\n );\n }\n}\n\nexport default injectSheet(style)(Ticks);\n"],"file":"ticks.js"}
@@ -1,422 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "Graph", {
9
- enumerable: true,
10
- get: function get() {
11
- return _graph["default"];
12
- }
13
- });
14
- exports["default"] = exports.NumberLine = void 0;
15
-
16
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
- var _feedback = _interopRequireDefault(require("./feedback"));
31
-
32
- var _graph = _interopRequireDefault(require("./graph"));
33
-
34
- var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
- var _pointChooser = _interopRequireDefault(require("./point-chooser"));
37
-
38
- var _react = _interopRequireDefault(require("react"));
39
-
40
- var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/pie-toolbox/correct-answer-toggle"));
41
-
42
- var _builder = require("./graph/elements/builder");
43
-
44
- var _classnames = _interopRequireDefault(require("classnames"));
45
-
46
- var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
47
-
48
- var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
49
-
50
- var _reactJss = _interopRequireDefault(require("react-jss"));
51
-
52
- var _isArray = _interopRequireDefault(require("lodash/isArray"));
53
-
54
- var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
55
-
56
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
57
-
58
- var _translator = _interopRequireDefault(require("@pie-lib/pie-toolbox/translator"));
59
-
60
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
61
-
62
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
63
-
64
- var translator = _translator["default"].translator;
65
- var styles = {
66
- mainContainer: {
67
- color: _renderUi.color.text(),
68
- backgroundColor: _renderUi.color.background()
69
- },
70
- graphTitle: {
71
- textAlign: 'center',
72
- pointerEvents: 'none',
73
- userSelect: 'none'
74
- },
75
- numberLine: {
76
- boxSizing: 'unset'
77
- },
78
- toggle: {
79
- marginBottom: '16px'
80
- },
81
- black_on_rose: {
82
- backgroundColor: 'mistyrose'
83
- },
84
- white_on_black: {
85
- backgroundColor: 'black',
86
- '--correct-answer-toggle-label-color': 'white',
87
- '--tick-color': 'white',
88
- '--line-stroke': 'white',
89
- '--arrow-color': 'white',
90
- '--point-stroke': 'white',
91
- '--point-fill': 'black'
92
- },
93
- prompt: {
94
- verticalAlign: 'middle',
95
- marginBottom: '16px'
96
- }
97
- };
98
-
99
- var NumberLine = /*#__PURE__*/function (_React$Component) {
100
- (0, _inherits2["default"])(NumberLine, _React$Component);
101
-
102
- var _super = _createSuper(NumberLine);
103
-
104
- function NumberLine(props, context) {
105
- var _this;
106
-
107
- (0, _classCallCheck2["default"])(this, NumberLine);
108
- _this = _super.call(this, props, context);
109
- var initialType = props.model.graph ? props.model.graph.initialType : null;
110
- initialType = initialType ? initialType.toLowerCase() : _pointChooser["default"].DEFAULT_TYPE;
111
- _this.state = {
112
- selectedElements: [],
113
- elementType: initialType,
114
- answers: props.answer
115
- };
116
- return _this;
117
- }
118
-
119
- (0, _createClass2["default"])(NumberLine, [{
120
- key: "toggleElement",
121
- value: function toggleElement(index) {
122
- var selected = [];
123
-
124
- if (this.state.selectedElements.indexOf(index) === -1) {
125
- selected = this.state.selectedElements.concat([index]);
126
- } else {
127
- selected = this.state.selectedElements.filter(function (e) {
128
- return e !== index;
129
- });
130
- }
131
-
132
- this.setState({
133
- selectedElements: selected
134
- });
135
- }
136
- }, {
137
- key: "elementTypeSelected",
138
- value: function elementTypeSelected(t) {
139
- this.setState({
140
- elementType: t
141
- });
142
- }
143
- }, {
144
- key: "addElement",
145
- value: function addElement(x) {
146
- var _this2 = this;
147
-
148
- if (this.hasMaxNoOfPoints()) {
149
- this.setState({
150
- showMaxPointsWarning: true
151
- });
152
- setTimeout(function () {
153
- _this2.setState({
154
- showMaxPointsWarning: false
155
- });
156
- }, 2000);
157
- return;
158
- }
159
-
160
- var _this$props$model$gra = this.props.model.graph,
161
- ticks = _this$props$model$gra.ticks,
162
- domain = _this$props$model$gra.domain;
163
- var elementData = (0, _builder.buildElementModel)(x, this.state.elementType, domain, ticks.minor);
164
-
165
- if (elementData) {
166
- var answers = this.state.answers;
167
- var contains = answers.some(function (element) {
168
- return (0, _isEqual["default"])(element, elementData);
169
- });
170
-
171
- if (!contains) {
172
- answers.push(elementData);
173
- this.setState({
174
- answers: answers
175
- });
176
- this.props.onAddElement(elementData);
177
- }
178
- }
179
- }
180
- }, {
181
- key: "hasMaxNoOfPoints",
182
- value: function hasMaxNoOfPoints() {
183
- var _this$props = this.props,
184
- answer = _this$props.answer,
185
- maxNumberOfPoints = _this$props.model.graph.maxNumberOfPoints;
186
- return (0, _isNumber["default"])(maxNumberOfPoints) && maxNumberOfPoints > 0 && (answer || []).length >= maxNumberOfPoints;
187
- }
188
- }, {
189
- key: "UNSAFE_componentWillReceiveProps",
190
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
191
- var answer = nextProps.answer;
192
-
193
- if (!(0, _isEqual["default"])(this.state.answers, answer)) {
194
- this.setState({
195
- showCorrectAnswer: false,
196
- answers: answer
197
- });
198
- }
199
- }
200
- }, {
201
- key: "deselectElements",
202
- value: function deselectElements() {
203
- this.setState({
204
- selectedElements: []
205
- });
206
- }
207
- }, {
208
- key: "getSize",
209
- value: function getSize(type, min, max, defaultValue) {
210
- var graph = this.props.model.graph;
211
-
212
- if (graph && graph[type]) {
213
- return Math.max(min, Math.min(max, graph[type]));
214
- } else {
215
- return defaultValue;
216
- }
217
- }
218
- }, {
219
- key: "undo",
220
- value: function undo() {
221
- var answers = this.state.answers;
222
- var onUndoElement = this.props.onUndoElement;
223
- answers.pop();
224
- this.setState({
225
- answers: answers
226
- });
227
- onUndoElement();
228
- }
229
- }, {
230
- key: "clearAll",
231
- value: function clearAll() {
232
- var onClearElements = this.props.onClearElements;
233
- this.setState({
234
- answers: []
235
- });
236
- onClearElements();
237
- }
238
- }, {
239
- key: "render",
240
- value: function render() {
241
- var _this3 = this;
242
-
243
- var _this$props2 = this.props,
244
- model = _this$props2.model,
245
- classes = _this$props2.classes,
246
- onDeleteElements = _this$props2.onDeleteElements,
247
- onMoveElement = _this$props2.onMoveElement,
248
- _this$props2$minWidth = _this$props2.minWidth,
249
- minWidth = _this$props2$minWidth === void 0 ? 400 : _this$props2$minWidth,
250
- _this$props2$maxWidth = _this$props2.maxWidth,
251
- maxWidth = _this$props2$maxWidth === void 0 ? 1600 : _this$props2$maxWidth,
252
- maxHeight = _this$props2.maxHeight;
253
- var _this$state = this.state,
254
- showCorrectAnswer = _this$state.showCorrectAnswer,
255
- answers = _this$state.answers,
256
- selectedElements = _this$state.selectedElements,
257
- showMaxPointsWarning = _this$state.showMaxPointsWarning,
258
- elementType = _this$state.elementType;
259
- var _model$corrected = model.corrected,
260
- corrected = _model$corrected === void 0 ? {
261
- correct: [],
262
- incorrect: []
263
- } : _model$corrected,
264
- disabled = model.disabled,
265
- graph = model.graph,
266
- correctResponse = model.correctResponse,
267
- prompt = model.prompt,
268
- emptyAnswer = model.emptyAnswer,
269
- feedback = model.feedback,
270
- colorContrast = model.colorContrast,
271
- language = model.language;
272
- var addElement = this.addElement.bind(this);
273
- var elementsSelected = !disabled && selectedElements && selectedElements.length > 0;
274
- var ticks = graph.ticks,
275
- domain = graph.domain,
276
- arrows = graph.arrows,
277
- maxNumberOfPoints = graph.maxNumberOfPoints,
278
- _graph$height = graph.height,
279
- height = _graph$height === void 0 ? 100 : _graph$height,
280
- availableTypes = graph.availableTypes,
281
- title = graph.title,
282
- fraction = graph.fraction;
283
- var width = this.getSize('width', minWidth, maxWidth, 600);
284
- var graphProps = {
285
- disabled: disabled,
286
- domain: domain,
287
- ticks: ticks,
288
- width: width,
289
- height: (height > maxHeight ? maxHeight : height) || 100,
290
- arrows: arrows,
291
- fraction: fraction
292
- };
293
-
294
- var getAnswerElements = function getAnswerElements() {
295
- return (answers || []).map(function (e, index) {
296
- var out = (0, _cloneDeep["default"])(e);
297
- out.selected = selectedElements.indexOf(index) !== -1;
298
- out.correct = corrected.correct.includes(index) ? true : corrected.incorrect.includes(index) ? false : undefined;
299
- return out;
300
- });
301
- };
302
-
303
- var getCorrectAnswerElements = function getCorrectAnswerElements() {
304
- return (correctResponse || []).map(function (r) {
305
- r.correct = true;
306
- return r;
307
- });
308
- };
309
-
310
- var elements = showCorrectAnswer ? getCorrectAnswerElements() : getAnswerElements();
311
-
312
- var maxPointsMessage = function maxPointsMessage() {
313
- return maxNumberOfPoints == 1 ? translator.t('numberLine.addElementLimit_one', {
314
- lng: language,
315
- count: 1
316
- }) : translator.t('numberLine.addElementLimit_other', {
317
- lng: language,
318
- count: maxNumberOfPoints
319
- });
320
- };
321
-
322
- var deleteElements = function deleteElements() {
323
- onDeleteElements(selectedElements);
324
- answers = answers.filter(function (v, index) {
325
- return !selectedElements.some(function (d) {
326
- return d === index;
327
- });
328
- });
329
-
330
- _this3.setState({
331
- selectedElements: [],
332
- answers: answers
333
- });
334
- };
335
-
336
- var getIcons = function getIcons() {
337
- if (availableTypes) {
338
- return Object.keys(availableTypes).filter(function (k) {
339
- return availableTypes[k];
340
- }).map(function (k) {
341
- return k.toLowerCase();
342
- });
343
- }
344
- };
345
-
346
- var onShowCorrectAnswer = function onShowCorrectAnswer(show) {
347
- _this3.setState({
348
- showCorrectAnswer: show
349
- });
350
- };
351
-
352
- var adjustedWidth = graphProps.width - 20;
353
- var names = (0, _classnames["default"])(classes.numberLine, classes.mainContainer, classes[colorContrast]);
354
- return /*#__PURE__*/_react["default"].createElement("div", {
355
- className: names,
356
- style: {
357
- width: width
358
- }
359
- }, prompt && /*#__PURE__*/_react["default"].createElement("div", {
360
- className: classes.prompt
361
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
362
- prompt: prompt
363
- })), !disabled && /*#__PURE__*/_react["default"].createElement("div", {
364
- style: {
365
- width: adjustedWidth
366
- },
367
- className: classes.toggle
368
- }, /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
369
- show: (0, _isArray["default"])(correctResponse) && correctResponse.length && !emptyAnswer,
370
- toggled: showCorrectAnswer,
371
- onToggle: onShowCorrectAnswer,
372
- initialValue: false,
373
- language: language
374
- })), !disabled && /*#__PURE__*/_react["default"].createElement(_pointChooser["default"], {
375
- elementType: elementType,
376
- showDeleteButton: elementsSelected,
377
- onDeleteClick: deleteElements,
378
- onElementType: this.elementTypeSelected.bind(this),
379
- onClearElements: this.clearAll.bind(this),
380
- onUndoElement: this.undo.bind(this),
381
- icons: getIcons(),
382
- language: language
383
- }), /*#__PURE__*/_react["default"].createElement(_graph["default"], (0, _extends2["default"])({}, graphProps, {
384
- elements: elements,
385
- onAddElement: addElement,
386
- onMoveElement: onMoveElement,
387
- onToggleElement: this.toggleElement.bind(this),
388
- onDeselectElements: this.deselectElements.bind(this),
389
- debug: false
390
- })), title && /*#__PURE__*/_react["default"].createElement("div", {
391
- className: classes.graphTitle,
392
- dangerouslySetInnerHTML: {
393
- __html: title
394
- }
395
- }), showMaxPointsWarning && /*#__PURE__*/_react["default"].createElement(_feedback["default"], {
396
- type: "info",
397
- width: adjustedWidth,
398
- message: maxPointsMessage()
399
- }), feedback && !showCorrectAnswer && /*#__PURE__*/_react["default"].createElement(_feedback["default"], (0, _extends2["default"])({}, feedback, {
400
- width: adjustedWidth
401
- })));
402
- }
403
- }]);
404
- return NumberLine;
405
- }(_react["default"].Component);
406
-
407
- exports.NumberLine = NumberLine;
408
- (0, _defineProperty2["default"])(NumberLine, "propTypes", {
409
- onMoveElement: _propTypes["default"].func.isRequired,
410
- onDeleteElements: _propTypes["default"].func.isRequired,
411
- onAddElement: _propTypes["default"].func.isRequired,
412
- onUndoElement: _propTypes["default"].func.isRequired,
413
- onClearElements: _propTypes["default"].func.isRequired,
414
- model: _propTypes["default"].object.isRequired,
415
- answer: _propTypes["default"].array,
416
- classes: _propTypes["default"].object.isRequired
417
- });
418
-
419
- var _default = (0, _reactJss["default"])(styles)(NumberLine);
420
-
421
- exports["default"] = _default;
422
- //# sourceMappingURL=index.js.map