@pie-element/number-line 5.11.2 → 5.11.3-next.1016

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 (69) hide show
  1. package/CHANGELOG.md +189 -0
  2. package/configure/CHANGELOG.md +142 -0
  3. package/configure/lib/arrows.js +3 -3
  4. package/configure/lib/arrows.js.map +1 -1
  5. package/configure/lib/card-bar.js +9 -2
  6. package/configure/lib/card-bar.js.map +1 -1
  7. package/configure/lib/defaults.js +7 -1
  8. package/configure/lib/defaults.js.map +1 -1
  9. package/configure/lib/domain.js +3 -3
  10. package/configure/lib/domain.js.map +1 -1
  11. package/configure/lib/index.js +40 -7
  12. package/configure/lib/index.js.map +1 -1
  13. package/configure/lib/main.js +90 -15
  14. package/configure/lib/main.js.map +1 -1
  15. package/configure/lib/number-text-field.js +4 -4
  16. package/configure/lib/number-text-field.js.map +1 -1
  17. package/configure/lib/point-config.js +3 -3
  18. package/configure/lib/point-config.js.map +1 -1
  19. package/configure/lib/size.js +2 -2
  20. package/configure/lib/size.js.map +1 -1
  21. package/configure/lib/ticks.js +8 -4
  22. package/configure/lib/ticks.js.map +1 -1
  23. package/configure/lib/utils.js +14 -0
  24. package/configure/lib/utils.js.map +1 -0
  25. package/configure/package.json +3 -3
  26. package/controller/CHANGELOG.md +32 -0
  27. package/controller/lib/defaults.js +0 -3
  28. package/controller/lib/defaults.js.map +1 -1
  29. package/controller/lib/index.js +89 -9
  30. package/controller/lib/index.js.map +1 -1
  31. package/controller/package.json +1 -1
  32. package/docs/config-schema.json +16 -0
  33. package/docs/config-schema.json.md +12 -0
  34. package/docs/demo/generate.js +2 -4
  35. package/docs/pie-schema.json +29 -1
  36. package/docs/pie-schema.json.md +23 -0
  37. package/lib/data-converter.js +1 -1
  38. package/lib/data-converter.js.map +1 -1
  39. package/lib/draggable/index.js +1 -1
  40. package/lib/index.js +16 -5
  41. package/lib/index.js.map +1 -1
  42. package/lib/number-line/colors.js +1 -1
  43. package/lib/number-line/feedback.js.map +1 -1
  44. package/lib/number-line/graph/elements/line.js +3 -3
  45. package/lib/number-line/graph/elements/line.js.map +1 -1
  46. package/lib/number-line/graph/elements/point.js +1 -1
  47. package/lib/number-line/graph/elements/point.js.map +1 -1
  48. package/lib/number-line/graph/elements/ray.js +12 -5
  49. package/lib/number-line/graph/elements/ray.js.map +1 -1
  50. package/lib/number-line/graph/index.js +6 -4
  51. package/lib/number-line/graph/index.js.map +1 -1
  52. package/lib/number-line/graph/stacks.js +1 -1
  53. package/lib/number-line/graph/stacks.js.map +1 -1
  54. package/lib/number-line/graph/tick-utils.js +11 -7
  55. package/lib/number-line/graph/tick-utils.js.map +1 -1
  56. package/lib/number-line/graph/ticks.js +58 -14
  57. package/lib/number-line/graph/ticks.js.map +1 -1
  58. package/lib/number-line/index.js +10 -9
  59. package/lib/number-line/index.js.map +1 -1
  60. package/lib/number-line/point-chooser/index.js +1 -1
  61. package/lib/number-line/point-chooser/index.js.map +1 -1
  62. package/lib/number-line/transitions/fade.js.map +1 -1
  63. package/package.json +5 -5
  64. package/module/configure.js +0 -1335
  65. package/module/controller.js +0 -22387
  66. package/module/demo.js +0 -134
  67. package/module/element.js +0 -10272
  68. package/module/index.html +0 -16
  69. package/module/manifest.json +0 -14
@@ -1,1335 +0,0 @@
1
- import {_dll_prop_types, _dll_react, _dll_material_ui__core_styles, _dll_material_ui__core, _dll_mathjs, _dll_lodash, _dll_react_dom} from "../../../@pie-ui/shared-lib@^4.3.3/module/index.js";
2
- import {_dll_pie_lib__config_ui, _dll_pie_lib__editable_html, _dll_pie_framework__pie_configure_events} from "../../shared-config@^1.8.13/module/index.js";
3
- import {pointChooser, tickUtils, NumberLineComponent, dataConverter} from "../../../@pie-ui/number-line@^7.4.9/module/index.js";
4
- function unwrapExports(x) {
5
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
6
- }
7
- function createCommonjsModule(fn, module) {
8
- return (module = {
9
- exports: {}
10
- }, fn(module, module.exports), module.exports);
11
- }
12
- var classnames = createCommonjsModule(function (module) {
13
- (function () {
14
- var hasOwn = ({}).hasOwnProperty;
15
- function classNames() {
16
- var classes = [];
17
- for (var i = 0; i < arguments.length; i++) {
18
- var arg = arguments[i];
19
- if (!arg) continue;
20
- var argType = typeof arg;
21
- if (argType === 'string' || argType === 'number') {
22
- classes.push(arg);
23
- } else if (Array.isArray(arg) && arg.length) {
24
- var inner = classNames.apply(null, arg);
25
- if (inner) {
26
- classes.push(inner);
27
- }
28
- } else if (argType === 'object') {
29
- for (var key in arg) {
30
- if (hasOwn.call(arg, key) && arg[key]) {
31
- classes.push(key);
32
- }
33
- }
34
- }
35
- }
36
- return classes.join(' ');
37
- }
38
- if (module.exports) {
39
- classNames.default = classNames;
40
- module.exports = classNames;
41
- } else {
42
- window.classNames = classNames;
43
- }
44
- })();
45
- });
46
- const {NumberTextField: NTF} = _dll_pie_lib__config_ui;
47
- const PropTypes = _dll_prop_types;
48
- const React = _dll_react;
49
- const {withStyles: withStyles} = _dll_material_ui__core_styles;
50
- const _jsxFileName = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/number-text-field.jsx";
51
- class NumberTextField extends React.Component {
52
- static __initStatic() {
53
- this.propTypes = {
54
- classes: PropTypes.object.isRequired
55
- };
56
- }
57
- render() {
58
- const {classes} = this.props;
59
- const props = {
60
- ...this.props,
61
- classes: undefined
62
- };
63
- return React.createElement(NTF, {
64
- ...props,
65
- className: classnames(classes.textField, props.className),
66
- variant: "outlined",
67
- __self: this,
68
- __source: {
69
- fileName: _jsxFileName,
70
- lineNumber: 16
71
- }
72
- });
73
- }
74
- }
75
- NumberTextField.__initStatic();
76
- const styles = theme => ({
77
- textField: {
78
- marginLeft: theme.spacing.unit
79
- }
80
- });
81
- const miniStyles = () => ({
82
- textField: {
83
- maxWidth: '100px'
84
- }
85
- });
86
- const MiniField = withStyles(miniStyles)(NumberTextField);
87
- var NumberTextField$1 = withStyles(styles)(NumberTextField);
88
- var interopRequireDefault = createCommonjsModule(function (module) {
89
- function _interopRequireDefault(obj) {
90
- return obj && obj.__esModule ? obj : {
91
- "default": obj
92
- };
93
- }
94
- module.exports = _interopRequireDefault;
95
- });
96
- unwrapExports(interopRequireDefault);
97
- var setPrototypeOf = createCommonjsModule(function (module) {
98
- function _setPrototypeOf(o, p) {
99
- module.exports = _setPrototypeOf = Object.setPrototypeOf || (function _setPrototypeOf(o, p) {
100
- o.__proto__ = p;
101
- return o;
102
- });
103
- return _setPrototypeOf(o, p);
104
- }
105
- module.exports = _setPrototypeOf;
106
- });
107
- function _inheritsLoose(subClass, superClass) {
108
- subClass.prototype = Object.create(superClass.prototype);
109
- subClass.prototype.constructor = subClass;
110
- setPrototypeOf(subClass, superClass);
111
- }
112
- var inheritsLoose = _inheritsLoose;
113
- var setStatic_1 = createCommonjsModule(function (module, exports) {
114
- exports.__esModule = true;
115
- exports.default = void 0;
116
- var setStatic = function setStatic(key, value) {
117
- return function (BaseComponent) {
118
- BaseComponent[key] = value;
119
- return BaseComponent;
120
- };
121
- };
122
- var _default = setStatic;
123
- exports.default = _default;
124
- });
125
- unwrapExports(setStatic_1);
126
- var setDisplayName_1 = createCommonjsModule(function (module, exports) {
127
- exports.__esModule = true;
128
- exports.default = void 0;
129
- var _setStatic = interopRequireDefault(setStatic_1);
130
- var setDisplayName = function setDisplayName(displayName) {
131
- return (0, _setStatic.default)('displayName', displayName);
132
- };
133
- var _default = setDisplayName;
134
- exports.default = _default;
135
- });
136
- unwrapExports(setDisplayName_1);
137
- var getDisplayName_1 = createCommonjsModule(function (module, exports) {
138
- exports.__esModule = true;
139
- exports.default = void 0;
140
- var getDisplayName = function getDisplayName(Component) {
141
- if (typeof Component === 'string') {
142
- return Component;
143
- }
144
- if (!Component) {
145
- return undefined;
146
- }
147
- return Component.displayName || Component.name || 'Component';
148
- };
149
- var _default = getDisplayName;
150
- exports.default = _default;
151
- });
152
- unwrapExports(getDisplayName_1);
153
- var wrapDisplayName_1 = createCommonjsModule(function (module, exports) {
154
- exports.__esModule = true;
155
- exports.default = void 0;
156
- var _getDisplayName = interopRequireDefault(getDisplayName_1);
157
- var wrapDisplayName = function wrapDisplayName(BaseComponent, hocName) {
158
- return hocName + "(" + (0, _getDisplayName.default)(BaseComponent) + ")";
159
- };
160
- var _default = wrapDisplayName;
161
- exports.default = _default;
162
- });
163
- unwrapExports(wrapDisplayName_1);
164
- const _react = _dll_react;
165
- var shouldUpdate_1 = createCommonjsModule(function (module, exports) {
166
- exports.__esModule = true;
167
- exports.default = void 0;
168
- var _inheritsLoose2 = interopRequireDefault(inheritsLoose);
169
- var _setDisplayName = interopRequireDefault(setDisplayName_1);
170
- var _wrapDisplayName = interopRequireDefault(wrapDisplayName_1);
171
- var shouldUpdate = function shouldUpdate(test) {
172
- return function (BaseComponent) {
173
- var factory = (0, _react.createFactory)(BaseComponent);
174
- var ShouldUpdate = (function (_Component) {
175
- (0, _inheritsLoose2.default)(ShouldUpdate, _Component);
176
- function ShouldUpdate() {
177
- return _Component.apply(this, arguments) || this;
178
- }
179
- var _proto = ShouldUpdate.prototype;
180
- _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
181
- return test(this.props, nextProps);
182
- };
183
- _proto.render = function render() {
184
- return factory(this.props);
185
- };
186
- return ShouldUpdate;
187
- })(_react.Component);
188
- {
189
- return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);
190
- }
191
- };
192
- };
193
- var _default = shouldUpdate;
194
- exports.default = _default;
195
- });
196
- unwrapExports(shouldUpdate_1);
197
- var hasOwnProperty = Object.prototype.hasOwnProperty;
198
- function is(x, y) {
199
- if (x === y) {
200
- return x !== 0 || y !== 0 || 1 / x === 1 / y;
201
- } else {
202
- return x !== x && y !== y;
203
- }
204
- }
205
- function shallowEqual(objA, objB) {
206
- if (is(objA, objB)) {
207
- return true;
208
- }
209
- if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
210
- return false;
211
- }
212
- var keysA = Object.keys(objA);
213
- var keysB = Object.keys(objB);
214
- if (keysA.length !== keysB.length) {
215
- return false;
216
- }
217
- for (var i = 0; i < keysA.length; i++) {
218
- if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
219
- return false;
220
- }
221
- }
222
- return true;
223
- }
224
- var shallowEqual_1 = shallowEqual;
225
- var shallowEqual$1 = createCommonjsModule(function (module, exports) {
226
- exports.__esModule = true;
227
- exports.default = void 0;
228
- var _shallowEqual = interopRequireDefault(shallowEqual_1);
229
- var _default = _shallowEqual.default;
230
- exports.default = _default;
231
- });
232
- unwrapExports(shallowEqual$1);
233
- var pure_1 = createCommonjsModule(function (module, exports) {
234
- exports.__esModule = true;
235
- exports.default = void 0;
236
- var _shouldUpdate = interopRequireDefault(shouldUpdate_1);
237
- var _shallowEqual = interopRequireDefault(shallowEqual$1);
238
- var _setDisplayName = interopRequireDefault(setDisplayName_1);
239
- var _wrapDisplayName = interopRequireDefault(wrapDisplayName_1);
240
- var pure = function pure(BaseComponent) {
241
- var hoc = (0, _shouldUpdate.default)(function (props, nextProps) {
242
- return !(0, _shallowEqual.default)(props, nextProps);
243
- });
244
- {
245
- return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'pure'))(hoc(BaseComponent));
246
- }
247
- };
248
- var _default = pure;
249
- exports.default = _default;
250
- });
251
- unwrapExports(pure_1);
252
- const require$$0 = _dll_react;
253
- const {SvgIcon: require$$2} = _dll_material_ui__core;
254
- var createSvgIcon_1 = createCommonjsModule(function (module, exports) {
255
- Object.defineProperty(exports, "__esModule", {
256
- value: true
257
- });
258
- exports.default = void 0;
259
- var _react = interopRequireDefault(require$$0);
260
- var _pure = interopRequireDefault(pure_1);
261
- var _SvgIcon = interopRequireDefault(require$$2);
262
- function createSvgIcon(path, displayName) {
263
- var Icon = function Icon(props) {
264
- return _react.default.createElement(_SvgIcon.default, props, path);
265
- };
266
- Icon.displayName = ("").concat(displayName, "Icon");
267
- Icon = (0, _pure.default)(Icon);
268
- Icon.muiName = 'SvgIcon';
269
- return Icon;
270
- }
271
- var _default = createSvgIcon;
272
- exports.default = _default;
273
- });
274
- unwrapExports(createSvgIcon_1);
275
- const require$$0$1 = _dll_react;
276
- var HelpOutline = createCommonjsModule(function (module, exports) {
277
- Object.defineProperty(exports, "__esModule", {
278
- value: true
279
- });
280
- exports.default = void 0;
281
- var _react = interopRequireDefault(require$$0$1);
282
- var _createSvgIcon = interopRequireDefault(createSvgIcon_1);
283
- var _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement("path", {
284
- fill: "none",
285
- d: "M0 0h24v24H0z"
286
- }), _react.default.createElement("path", {
287
- d: "M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z"
288
- })), 'HelpOutline');
289
- exports.default = _default;
290
- });
291
- var HelpIcon = unwrapExports(HelpOutline);
292
- const {withStyles: withStyles$1} = _dll_material_ui__core_styles;
293
- const {Tooltip: Tooltip} = _dll_material_ui__core;
294
- const {IconButton: IconButton} = _dll_material_ui__core;
295
- const {Typography: Typography} = _dll_material_ui__core;
296
- const PropTypes$1 = _dll_prop_types;
297
- const React$1 = _dll_react;
298
- const _jsxFileName$1 = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/card-bar.jsx";
299
- const CardBar = props => {
300
- const {classes, header, children, mini} = props;
301
- return React$1.createElement('div', {
302
- className: classes.cardBar,
303
- __self: undefined,
304
- __source: {
305
- fileName: _jsxFileName$1,
306
- lineNumber: 12
307
- }
308
- }, React$1.createElement(Typography, {
309
- variant: mini ? 'subheading' : 'h5',
310
- __self: undefined,
311
- __source: {
312
- fileName: _jsxFileName$1,
313
- lineNumber: 13
314
- }
315
- }, header), children && React$1.createElement(Tooltip, {
316
- title: children,
317
- classes: {
318
- tooltip: classes.tooltip
319
- },
320
- __self: undefined,
321
- __source: {
322
- fileName: _jsxFileName$1,
323
- lineNumber: 15
324
- }
325
- }, React$1.createElement(IconButton, {
326
- 'aria-label': "Delete",
327
- className: classes.button,
328
- __self: undefined,
329
- __source: {
330
- fileName: _jsxFileName$1,
331
- lineNumber: 16
332
- }
333
- }, React$1.createElement(HelpIcon, {
334
- __self: undefined,
335
- __source: {
336
- fileName: _jsxFileName$1,
337
- lineNumber: 17
338
- }
339
- }))));
340
- };
341
- CardBar.propTypes = {
342
- classes: PropTypes$1.object,
343
- mini: PropTypes$1.bool,
344
- header: PropTypes$1.string,
345
- children: PropTypes$1.node
346
- };
347
- const styles$1 = theme => ({
348
- cardBar: {
349
- display: 'flex',
350
- justifyContent: 'space-between',
351
- paddingBottom: theme.spacing.unit * 2,
352
- paddingTop: theme.spacing.unit * 2
353
- },
354
- button: {
355
- margin: 0,
356
- padding: 0
357
- },
358
- tooltip: {
359
- fontSize: '12px'
360
- }
361
- });
362
- var CardBar$1 = withStyles$1(styles$1)(CardBar);
363
- const React$2 = _dll_react;
364
- const PropTypes$2 = _dll_prop_types;
365
- const {withStyles: withStyles$2} = _dll_material_ui__core_styles;
366
- const _jsxFileName$2 = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/size.jsx";
367
- const Size = props => {
368
- const {size, onChange} = props;
369
- const changeWidth = (e, width) => onChange({
370
- ...props.size,
371
- width
372
- });
373
- return React$2.createElement(MiniField, {
374
- label: "Width",
375
- value: size.width,
376
- onChange: changeWidth,
377
- __self: undefined,
378
- __source: {
379
- fileName: _jsxFileName$2,
380
- lineNumber: 11
381
- }
382
- });
383
- };
384
- Size.propTypes = {
385
- size: PropTypes$2.shape({
386
- width: PropTypes$2.number,
387
- height: PropTypes$2.number
388
- }),
389
- onChange: PropTypes$2.func.isRequired
390
- };
391
- const styles$2 = () => ({
392
- class: {}
393
- });
394
- var Size$1 = withStyles$2(styles$2)(Size);
395
- const PropTypes$3 = _dll_prop_types;
396
- const React$3 = _dll_react;
397
- const _jsxFileName$3 = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/domain.jsx";
398
- const DOMAIN_BEGIN = 'domainBegin';
399
- const DOMAIN_END = 'domainEnd';
400
- const sort = domain => {
401
- if (domain.min <= domain.max) {
402
- return domain;
403
- }
404
- return {
405
- min: domain.max,
406
- max: domain.min
407
- };
408
- };
409
- class Domain extends React$3.Component {
410
- constructor(props) {
411
- super(props);
412
- this.changeMin = this.change.bind(this, 'min');
413
- this.changeMax = this.change.bind(this, 'max');
414
- }
415
- change(key, event, value) {
416
- const {onChange} = this.props;
417
- const update = {
418
- ...this.props.domain,
419
- [key]: value
420
- };
421
- onChange(sort(update));
422
- }
423
- render() {
424
- const {domain} = this.props;
425
- return React$3.createElement('div', {
426
- __self: this,
427
- __source: {
428
- fileName: _jsxFileName$3,
429
- lineNumber: 34
430
- }
431
- }, React$3.createElement(MiniField, {
432
- label: "Minimum",
433
- value: domain.min,
434
- name: DOMAIN_BEGIN,
435
- onChange: this.changeMin,
436
- __self: this,
437
- __source: {
438
- fileName: _jsxFileName$3,
439
- lineNumber: 36
440
- }
441
- }), React$3.createElement(MiniField, {
442
- label: "Maximum",
443
- value: domain.max,
444
- name: DOMAIN_END,
445
- onChange: this.changeMax,
446
- __self: this,
447
- __source: {
448
- fileName: _jsxFileName$3,
449
- lineNumber: 42
450
- }
451
- }));
452
- }
453
- }
454
- Domain.propTypes = {
455
- domain: PropTypes$3.shape({
456
- min: PropTypes$3.number,
457
- max: PropTypes$3.number
458
- }),
459
- onChange: PropTypes$3.func.isRequired
460
- };
461
- const React$4 = _dll_react;
462
- const PropTypes$4 = _dll_prop_types;
463
- const {withStyles: withStyles$3} = _dll_material_ui__core_styles;
464
- const {InputCheckbox: InputCheckbox} = _dll_pie_lib__config_ui;
465
- const _jsxFileName$4 = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/arrows.jsx";
466
- class Arrows extends React$4.Component {
467
- static __initStatic() {
468
- this.propTypes = {
469
- classes: PropTypes$4.object.isRequired,
470
- className: PropTypes$4.string,
471
- arrows: PropTypes$4.shape({
472
- left: PropTypes$4.bool,
473
- right: PropTypes$4.bool
474
- }).isRequired,
475
- onChange: PropTypes$4.func
476
- };
477
- }
478
- static __initStatic2() {
479
- this.defaultProps = {
480
- arrows: {
481
- left: true,
482
- right: true
483
- }
484
- };
485
- }
486
- constructor(props) {
487
- super(props);
488
- this.change = (key, event, value) => {
489
- const update = {
490
- ...this.props.arrows,
491
- [key]: value
492
- };
493
- this.props.onChange(update);
494
- };
495
- this.changeLeft = this.change.bind(this, 'left');
496
- this.changeRight = this.change.bind(this, 'right');
497
- }
498
- render() {
499
- const {classes, className, arrows} = this.props;
500
- return React$4.createElement('div', {
501
- className: classnames(classes.arrows, className),
502
- __self: this,
503
- __source: {
504
- fileName: _jsxFileName$4,
505
- lineNumber: 33
506
- }
507
- }, React$4.createElement(InputCheckbox, {
508
- className: classes.checkbox,
509
- label: 'Left',
510
- checked: arrows.left,
511
- onChange: this.changeLeft,
512
- __self: this,
513
- __source: {
514
- fileName: _jsxFileName$4,
515
- lineNumber: 34
516
- }
517
- }), " ", React$4.createElement(InputCheckbox, {
518
- className: classes.checkbox,
519
- label: 'Right',
520
- checked: arrows.right,
521
- onChange: this.changeRight,
522
- __self: this,
523
- __source: {
524
- fileName: _jsxFileName$4,
525
- lineNumber: 41
526
- }
527
- }));
528
- }
529
- }
530
- Arrows.__initStatic();
531
- Arrows.__initStatic2();
532
- const styles$3 = theme => ({
533
- arrows: {
534
- paddingTop: theme.spacing.unit * 2
535
- }
536
- });
537
- var Arrows$1 = withStyles$3(styles$3)(Arrows);
538
- const {Button: Button} = _dll_material_ui__core;
539
- const React$5 = _dll_react;
540
- const {withStyles: withStyles$4} = _dll_material_ui__core_styles;
541
- const PropTypes$5 = _dll_prop_types;
542
- const _jsxFileName$5 = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/point-config.jsx";
543
- const {Point} = pointChooser;
544
- const styles$4 = {
545
- displayToggles: {
546
- paddingTop: '20px'
547
- }
548
- };
549
- class PointConfig extends React$5.Component {
550
- static __initStatic() {
551
- this.propTypes = {
552
- onSelectionChange: PropTypes$5.func,
553
- selection: PropTypes$5.object,
554
- classes: PropTypes$5.object
555
- };
556
- }
557
- constructor(props) {
558
- super(props);
559
- this.state = {
560
- selection: props.selection
561
- };
562
- }
563
- toggle(point) {
564
- const update = {
565
- ...this.state.selection
566
- };
567
- update[point] = !update[point];
568
- this._stateUpdate(update);
569
- }
570
- toggleAll(value) {
571
- const display = [...PointConfig.types].reduce((acc, point) => {
572
- acc[point] = value;
573
- return acc;
574
- }, {});
575
- this._stateUpdate(display);
576
- }
577
- _stateUpdate(selection) {
578
- this.setState({
579
- selection
580
- }, () => {
581
- this.props.onSelectionChange(this.state.selection);
582
- });
583
- }
584
- active(point) {
585
- return this.state.selection[point] === true;
586
- }
587
- render() {
588
- const {classes} = this.props;
589
- const icons = PointConfig.types.map(point => {
590
- return React$5.createElement(Point, {
591
- iconKey: point.toLowerCase(),
592
- key: point.toLowerCase(),
593
- onClick: this.toggle.bind(this, point),
594
- active: this.active(point),
595
- __self: this,
596
- __source: {
597
- fileName: _jsxFileName$5,
598
- lineNumber: 58
599
- }
600
- });
601
- });
602
- return React$5.createElement('div', {
603
- __self: this,
604
- __source: {
605
- fileName: _jsxFileName$5,
606
- lineNumber: 68
607
- }
608
- }, React$5.createElement('div', {
609
- __self: this,
610
- __source: {
611
- fileName: _jsxFileName$5,
612
- lineNumber: 69
613
- }
614
- }, icons), React$5.createElement('div', {
615
- className: classes.displayToggles,
616
- __self: this,
617
- __source: {
618
- fileName: _jsxFileName$5,
619
- lineNumber: 70
620
- }
621
- }, React$5.createElement(Button, {
622
- variant: "outlined",
623
- size: "small",
624
- onClick: this.toggleAll.bind(this, true),
625
- __self: this,
626
- __source: {
627
- fileName: _jsxFileName$5,
628
- lineNumber: 71
629
- }
630
- }, "Display All"), React$5.createElement(Button, {
631
- variant: "outlined",
632
- size: "small",
633
- onClick: this.toggleAll.bind(this, false),
634
- __self: this,
635
- __source: {
636
- fileName: _jsxFileName$5,
637
- lineNumber: 78
638
- }
639
- }, "None")));
640
- }
641
- }
642
- PointConfig.__initStatic();
643
- PointConfig.types = ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP'];
644
- var PointConfig$1 = withStyles$4(styles$4, {
645
- name: 'PointConfig'
646
- })(PointConfig);
647
- const React$6 = _dll_react;
648
- const PropTypes$6 = _dll_prop_types;
649
- const {withStyles: withStyles$5} = _dll_material_ui__core_styles;
650
- const math = _dll_mathjs;
651
- const _jsxFileName$6 = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/ticks.jsx";
652
- const Ticks = props => {
653
- const {classes, ticks, onChange, domain} = props;
654
- const changeMinor = (e, minor) => onChange({
655
- ...props.ticks,
656
- minor
657
- });
658
- const changeMajor = (e, major) => onChange({
659
- ...props.ticks,
660
- major
661
- });
662
- const t = tickUtils.normalizeTicks(domain, ticks);
663
- const minorLimits = tickUtils.minorLimits(domain);
664
- return React$6.createElement(React$6.Fragment, {
665
- __self: undefined,
666
- __source: {
667
- fileName: _jsxFileName$6,
668
- lineNumber: 17
669
- }
670
- }, React$6.createElement(MiniField, {
671
- label: "Frequency",
672
- value: math.number(t.minor),
673
- min: math.number(minorLimits.min),
674
- max: math.number(minorLimits.max),
675
- className: classes.nl,
676
- onChange: changeMinor,
677
- __self: undefined,
678
- __source: {
679
- fileName: _jsxFileName$6,
680
- lineNumber: 18
681
- }
682
- }), React$6.createElement(MiniField, {
683
- label: "Labels",
684
- value: math.number(t.major),
685
- className: classes.nl,
686
- onChange: changeMajor,
687
- __self: undefined,
688
- __source: {
689
- fileName: _jsxFileName$6,
690
- lineNumber: 26
691
- }
692
- }));
693
- };
694
- Ticks.propTypes = {
695
- classes: PropTypes$6.object.isRequired,
696
- onChange: PropTypes$6.func,
697
- ticks: PropTypes$6.shape({
698
- major: PropTypes$6.number,
699
- minor: PropTypes$6.number
700
- }),
701
- domain: PropTypes$6.shape({
702
- min: PropTypes$6.number,
703
- max: PropTypes$6.number
704
- })
705
- };
706
- const styles$5 = () => ({});
707
- var Ticks$1 = withStyles$5(styles$5)(Ticks);
708
- const model = {
709
- correctResponse: [],
710
- graph: {
711
- domain: {
712
- min: -5,
713
- max: 5
714
- },
715
- ticks: {
716
- minor: 1,
717
- major: 2
718
- },
719
- arrows: {
720
- left: true,
721
- right: true
722
- },
723
- maxNumberOfPoints: 20,
724
- width: 500,
725
- height: 400,
726
- initialType: 'PF',
727
- exhibitOnly: false,
728
- availableTypes: {
729
- PF: true,
730
- LFF: true,
731
- LEF: true,
732
- LFE: true,
733
- LEE: true,
734
- RFN: true,
735
- RFP: true,
736
- REN: true,
737
- REP: true
738
- },
739
- initialElements: []
740
- }
741
- };
742
- const configuration = {
743
- prompt: {
744
- settings: true,
745
- label: 'Prompt'
746
- }
747
- };
748
- const {InputCheckbox: InputCheckbox$1} = _dll_pie_lib__config_ui;
749
- const {FeedbackConfig: FeedbackConfig} = _dll_pie_lib__config_ui;
750
- const {FormSection: FormSection} = _dll_pie_lib__config_ui;
751
- const EditableHtml = _dll_pie_lib__editable_html;
752
- const PropTypes$7 = _dll_prop_types;
753
- const {Button: Button$1} = _dll_material_ui__core;
754
- const React$7 = _dll_react;
755
- const {cloneDeep: cloneDeep} = _dll_lodash;
756
- const {withStyles: withStyles$6} = _dll_material_ui__core_styles;
757
- const _jsxFileName$7 = "/home/ede/dev/github/pie-framework/pie-elements/packages/number-line/configure/src/main.jsx";
758
- const trimModel = model => ({
759
- ...model,
760
- feedback: undefined,
761
- prompt: undefined,
762
- graph: {
763
- ...model.graph,
764
- title: undefined
765
- },
766
- correctResponse: undefined
767
- });
768
- const {lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat} = dataConverter;
769
- const styles$6 = theme => ({
770
- maxNumberOfPoints: {
771
- width: '150px'
772
- },
773
- checkbox: {
774
- marginTop: theme.spacing.unit * 2
775
- },
776
- row: {
777
- display: 'flex',
778
- flexWrap: 'wrap',
779
- '& > *': {
780
- paddingRight: theme.spacing.unit * 2
781
- }
782
- },
783
- hide: {
784
- opacity: 0.5
785
- },
786
- resetDefaults: {
787
- margin: '20px 0'
788
- },
789
- pointTypeChooser: {
790
- margin: '20px 0'
791
- },
792
- promptHolder: {
793
- width: '100%',
794
- paddingBottom: theme.spacing.unit * 2,
795
- marginBottom: theme.spacing.unit * 2
796
- },
797
- prompt: {
798
- paddingTop: theme.spacing.unit * 2,
799
- width: '100%'
800
- },
801
- section: {
802
- margin: 0,
803
- padding: 0
804
- }
805
- });
806
- const toPointType = response => {
807
- function rest(response) {
808
- if (response.pointType) {
809
- if (response.direction) {
810
- return `${response.pointType[0]}${response.direction[0]}`;
811
- }
812
- return response.pointType[0];
813
- } else {
814
- return `${response.leftPoint[0]}${response.rightPoint[0]}`;
815
- }
816
- }
817
- return `${response.type[0]}${rest(response)}`.toUpperCase();
818
- };
819
- class Main extends React$7.Component {
820
- constructor(...args) {
821
- super(...args);
822
- Main.prototype.__init.call(this);
823
- Main.prototype.__init2.call(this);
824
- Main.prototype.__init3.call(this);
825
- Main.prototype.__init4.call(this);
826
- Main.prototype.__init5.call(this);
827
- Main.prototype.__init6.call(this);
828
- Main.prototype.__init7.call(this);
829
- Main.prototype.__init8.call(this);
830
- Main.prototype.__init9.call(this);
831
- Main.prototype.__init10.call(this);
832
- Main.prototype.__init11.call(this);
833
- Main.prototype.__init12.call(this);
834
- Main.prototype.__init13.call(this);
835
- Main.prototype.__init14.call(this);
836
- Main.prototype.__init15.call(this);
837
- }
838
- static __initStatic() {
839
- this.propTypes = {
840
- classes: PropTypes$7.object.isRequired,
841
- model: PropTypes$7.object.isRequired,
842
- configuration: PropTypes$7.object.isRequired,
843
- onChange: PropTypes$7.func.isRequired
844
- };
845
- }
846
- __init() {
847
- this.graphChange = o => {
848
- const {onChange} = this.props;
849
- const graph = {
850
- ...this.props.model.graph,
851
- ...o
852
- };
853
- onChange({
854
- graph
855
- });
856
- };
857
- }
858
- __init2() {
859
- this.changeSize = ({width, height}) => this.graphChange({
860
- width,
861
- height
862
- });
863
- }
864
- __init3() {
865
- this.changeMaxNoOfPoints = (e, maxNumberOfPoints) => this.graphChange({
866
- maxNumberOfPoints
867
- });
868
- }
869
- __init4() {
870
- this.changeGraphTitle = title => this.graphChange({
871
- title
872
- });
873
- }
874
- __init5() {
875
- this.changeTicks = ticks => {
876
- const {model, onChange} = this.props;
877
- const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);
878
- const initialElements = tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements);
879
- const graph = {
880
- ...this.props.model.graph,
881
- ticks,
882
- initialElements
883
- };
884
- onChange({
885
- graph,
886
- correctResponse
887
- });
888
- };
889
- }
890
- __init6() {
891
- this.changeArrows = arrows => this.graphChange({
892
- arrows
893
- });
894
- }
895
- __init7() {
896
- this.setDefaults = () => {
897
- this.props.onChange({
898
- graph: cloneDeep(model.graph)
899
- });
900
- };
901
- }
902
- __init8() {
903
- this.exhibitChanged = (event, value) => {
904
- const graph = {
905
- ...this.props.model.graph,
906
- exhibitOnly: value
907
- };
908
- this.props.onChange({
909
- graph
910
- });
911
- };
912
- }
913
- __init9() {
914
- this.moveCorrectResponse = (index, el, position) => {
915
- const {onChange, model} = this.props;
916
- el.position = position;
917
- const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);
918
- const correctResponse = [...model.correctResponse];
919
- correctResponse[index] = update;
920
- onChange({
921
- correctResponse
922
- });
923
- };
924
- }
925
- __init10() {
926
- this.moveInitialView = (index, el, position) => {
927
- const {model, onChange} = this.props;
928
- el.position = position;
929
- const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);
930
- const initialElements = [...this.props.model.graph.initialElements];
931
- initialElements[index] = update;
932
- const graph = {
933
- ...model.graph,
934
- initialElements
935
- };
936
- onChange({
937
- graph
938
- });
939
- };
940
- }
941
- __init11() {
942
- this.availableTypesChange = availableTypes => {
943
- const {model, onChange} = this.props;
944
- new Set(model.correctResponse.map(toPointType)).forEach(pointType => {
945
- availableTypes[pointType] = true;
946
- });
947
- const graph = {
948
- ...model.graph,
949
- availableTypes
950
- };
951
- onChange({
952
- graph
953
- });
954
- };
955
- }
956
- __init12() {
957
- this.deleteCorrectResponse = indices => {
958
- const {model, onChange} = this.props;
959
- const correctResponse = model.correctResponse.filter((v, index) => {
960
- return !indices.some(d => d === index);
961
- });
962
- onChange({
963
- correctResponse
964
- });
965
- };
966
- }
967
- __init13() {
968
- this.deleteInitialView = indices => {
969
- const {model, onChange} = this.props;
970
- const initialElements = model.graph.initialElements.filter((v, index) => {
971
- return !indices.some(d => d === index);
972
- });
973
- const graph = {
974
- ...model.graph,
975
- initialElements
976
- };
977
- onChange({
978
- graph
979
- });
980
- };
981
- }
982
- __init14() {
983
- this.addCorrectResponse = data => {
984
- const {model, onChange} = this.props;
985
- const correctResponse = [...model.correctResponse];
986
- correctResponse.push(toSessionFormat(data));
987
- onChange({
988
- correctResponse
989
- });
990
- };
991
- }
992
- __init15() {
993
- this.addInitialView = data => {
994
- const {onChange, model} = this.props;
995
- const graph = {
996
- ...model.graph
997
- };
998
- graph.initialElements = graph.initialElements || [];
999
- graph.initialElements.push(toSessionFormat(data));
1000
- onChange({
1001
- graph
1002
- });
1003
- };
1004
- }
1005
- render() {
1006
- const {classes, model, onChange, configuration} = this.props;
1007
- const {graph} = model;
1008
- const {prompt = {}} = configuration || ({});
1009
- const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);
1010
- const initialView = cloneDeep(graph.initialElements || []).map(toGraphFormat);
1011
- return React$7.createElement('div', {
1012
- className: classes.root,
1013
- __self: this,
1014
- __source: {
1015
- fileName: _jsxFileName$7,
1016
- lineNumber: 217
1017
- }
1018
- }, prompt.settings && React$7.createElement(FormSection, {
1019
- label: prompt.label,
1020
- __self: this,
1021
- __source: {
1022
- fileName: _jsxFileName$7,
1023
- lineNumber: 220
1024
- }
1025
- }, React$7.createElement(EditableHtml, {
1026
- className: classes.prompt,
1027
- markup: model.prompt,
1028
- onChange: prompt => onChange({
1029
- prompt
1030
- }),
1031
- nonEmpty: false,
1032
- disableUnderline: true,
1033
- __self: this,
1034
- __source: {
1035
- fileName: _jsxFileName$7,
1036
- lineNumber: 221
1037
- }
1038
- })), React$7.createElement(CardBar$1, {
1039
- header: "Attributes",
1040
- __self: this,
1041
- __source: {
1042
- fileName: _jsxFileName$7,
1043
- lineNumber: 231
1044
- }
1045
- }, "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."), React$7.createElement('div', {
1046
- className: classes.row,
1047
- __self: this,
1048
- __source: {
1049
- fileName: _jsxFileName$7,
1050
- lineNumber: 237
1051
- }
1052
- }, React$7.createElement(FormSection, {
1053
- label: 'Size',
1054
- __self: this,
1055
- __source: {
1056
- fileName: _jsxFileName$7,
1057
- lineNumber: 238
1058
- }
1059
- }, React$7.createElement(Size$1, {
1060
- size: graph,
1061
- onChange: this.changeSize,
1062
- __self: this,
1063
- __source: {
1064
- fileName: _jsxFileName$7,
1065
- lineNumber: 239
1066
- }
1067
- })), React$7.createElement(FormSection, {
1068
- label: 'Domain',
1069
- __self: this,
1070
- __source: {
1071
- fileName: _jsxFileName$7,
1072
- lineNumber: 242
1073
- }
1074
- }, React$7.createElement(Domain, {
1075
- domain: graph.domain,
1076
- onChange: domain => this.graphChange({
1077
- domain
1078
- }),
1079
- __self: this,
1080
- __source: {
1081
- fileName: _jsxFileName$7,
1082
- lineNumber: 243
1083
- }
1084
- }))), React$7.createElement('div', {
1085
- className: classes.row,
1086
- __self: this,
1087
- __source: {
1088
- fileName: _jsxFileName$7,
1089
- lineNumber: 249
1090
- }
1091
- }, React$7.createElement(FormSection, {
1092
- label: 'Ticks',
1093
- __self: this,
1094
- __source: {
1095
- fileName: _jsxFileName$7,
1096
- lineNumber: 250
1097
- }
1098
- }, React$7.createElement(Ticks$1, {
1099
- ticks: graph.ticks,
1100
- onChange: this.changeTicks,
1101
- domain: graph.domain,
1102
- __self: this,
1103
- __source: {
1104
- fileName: _jsxFileName$7,
1105
- lineNumber: 251
1106
- }
1107
- })), React$7.createElement(FormSection, {
1108
- label: 'Arrows',
1109
- __self: this,
1110
- __source: {
1111
- fileName: _jsxFileName$7,
1112
- lineNumber: 257
1113
- }
1114
- }, React$7.createElement(Arrows$1, {
1115
- arrows: graph.arrows,
1116
- onChange: this.changeArrows,
1117
- __self: this,
1118
- __source: {
1119
- fileName: _jsxFileName$7,
1120
- lineNumber: 258
1121
- }
1122
- }))), React$7.createElement(FormSection, {
1123
- label: 'Title',
1124
- __self: this,
1125
- __source: {
1126
- fileName: _jsxFileName$7,
1127
- lineNumber: 261
1128
- }
1129
- }, React$7.createElement(EditableHtml, {
1130
- markup: graph.title || '',
1131
- onChange: this.changeGraphTitle,
1132
- __self: this,
1133
- __source: {
1134
- fileName: _jsxFileName$7,
1135
- lineNumber: 262
1136
- }
1137
- })), React$7.createElement(FormSection, {
1138
- label: 'Limits',
1139
- __self: this,
1140
- __source: {
1141
- fileName: _jsxFileName$7,
1142
- lineNumber: 267
1143
- }
1144
- }, React$7.createElement(NumberTextField$1, {
1145
- className: classes.maxNumberOfPoints,
1146
- label: "Max No of Elements",
1147
- min: 1,
1148
- max: 20,
1149
- value: graph.maxNumberOfPoints,
1150
- onChange: this.changeMaxNoOfPoints,
1151
- __self: this,
1152
- __source: {
1153
- fileName: _jsxFileName$7,
1154
- lineNumber: 268
1155
- }
1156
- })), React$7.createElement(Button$1, {
1157
- variant: "outlined",
1158
- mini: true,
1159
- color: "primary",
1160
- onClick: this.setDefaults,
1161
- __self: this,
1162
- __source: {
1163
- fileName: _jsxFileName$7,
1164
- lineNumber: 277
1165
- }
1166
- }, "Reset to default values"), React$7.createElement('br', {
1167
- __self: this,
1168
- __source: {
1169
- fileName: _jsxFileName$7,
1170
- lineNumber: 285
1171
- }
1172
- }), React$7.createElement('br', {
1173
- __self: this,
1174
- __source: {
1175
- fileName: _jsxFileName$7,
1176
- lineNumber: 286
1177
- }
1178
- }), !graph.exhibitOnly && React$7.createElement('div', {
1179
- __self: this,
1180
- __source: {
1181
- fileName: _jsxFileName$7,
1182
- lineNumber: 289
1183
- }
1184
- }, React$7.createElement(CardBar$1, {
1185
- header: "Correct Response",
1186
- __self: this,
1187
- __source: {
1188
- fileName: _jsxFileName$7,
1189
- lineNumber: 290
1190
- }
1191
- }, "Select answer type and place it on the number line. Intersecting points, line segments and/or rays will appear above the number line.", ' ', React$7.createElement('i', {
1192
- __self: this,
1193
- __source: {
1194
- fileName: _jsxFileName$7,
1195
- lineNumber: 294
1196
- }
1197
- }, "Note: A maximum of 20 points, line segments or rays may be plotted.")), React$7.createElement(NumberLineComponent, {
1198
- onMoveElement: this.moveCorrectResponse,
1199
- onDeleteElements: this.deleteCorrectResponse,
1200
- onAddElement: this.addCorrectResponse,
1201
- answer: correctResponse,
1202
- model: trimModel(model),
1203
- __self: this,
1204
- __source: {
1205
- fileName: _jsxFileName$7,
1206
- lineNumber: 300
1207
- }
1208
- }), React$7.createElement(CardBar$1, {
1209
- header: "Available Types",
1210
- mini: true,
1211
- __self: this,
1212
- __source: {
1213
- fileName: _jsxFileName$7,
1214
- lineNumber: 308
1215
- }
1216
- }, "Click on the input options to be displayed to the students. All inputs will display by default."), React$7.createElement('div', {
1217
- className: classes.pointTypeChooser,
1218
- __self: this,
1219
- __source: {
1220
- fileName: _jsxFileName$7,
1221
- lineNumber: 312
1222
- }
1223
- }, React$7.createElement(PointConfig$1, {
1224
- onSelectionChange: this.availableTypesChange,
1225
- selection: graph.availableTypes,
1226
- __self: this,
1227
- __source: {
1228
- fileName: _jsxFileName$7,
1229
- lineNumber: 313
1230
- }
1231
- }))), React$7.createElement(CardBar$1, {
1232
- header: "Initial view/Make Exhibit",
1233
- __self: this,
1234
- __source: {
1235
- fileName: _jsxFileName$7,
1236
- lineNumber: 320
1237
- }
1238
- }, "Use this number line to set a starting point, line segment or ray. This is optional. ", React$7.createElement('br', {
1239
- __self: this,
1240
- __source: {
1241
- fileName: _jsxFileName$7,
1242
- lineNumber: 322
1243
- }
1244
- }), "This number line may also be used to make an exhibit number line, which can not be manipulated by a student."), React$7.createElement(NumberLineComponent, {
1245
- onMoveElement: this.moveInitialView,
1246
- onDeleteElements: this.deleteInitialView,
1247
- onAddElement: this.addInitialView,
1248
- answer: initialView,
1249
- model: trimModel(model),
1250
- __self: this,
1251
- __source: {
1252
- fileName: _jsxFileName$7,
1253
- lineNumber: 326
1254
- }
1255
- }), React$7.createElement(InputCheckbox$1, {
1256
- label: "Make exhibit",
1257
- className: classes.checkbox,
1258
- checked: graph.exhibitOnly,
1259
- onChange: this.exhibitChanged,
1260
- value: 'exhibitOnly',
1261
- __self: this,
1262
- __source: {
1263
- fileName: _jsxFileName$7,
1264
- lineNumber: 333
1265
- }
1266
- }), !graph.exhibitOnly && React$7.createElement(React$7.Fragment, {
1267
- __self: this,
1268
- __source: {
1269
- fileName: _jsxFileName$7,
1270
- lineNumber: 342
1271
- }
1272
- }, React$7.createElement('br', {
1273
- __self: this,
1274
- __source: {
1275
- fileName: _jsxFileName$7,
1276
- lineNumber: 343
1277
- }
1278
- }), React$7.createElement(FeedbackConfig, {
1279
- feedback: model.feedback,
1280
- onChange: feedback => onChange({
1281
- feedback
1282
- }),
1283
- __self: this,
1284
- __source: {
1285
- fileName: _jsxFileName$7,
1286
- lineNumber: 344
1287
- }
1288
- })));
1289
- }
1290
- }
1291
- Main.__initStatic();
1292
- var Main$1 = withStyles$6(styles$6, {
1293
- name: 'Main'
1294
- })(Main);
1295
- const React$8 = _dll_react;
1296
- const ReactDOM = _dll_react_dom;
1297
- const {ModelUpdatedEvent: ModelUpdatedEvent} = _dll_pie_framework__pie_configure_events;
1298
- class NumberLine extends HTMLElement {
1299
- static __initStatic() {
1300
- this.createDefaultModel = (model$1 = {}) => ({
1301
- ...model,
1302
- ...model$1
1303
- });
1304
- }
1305
- constructor() {
1306
- super();
1307
- NumberLine.prototype.__init.call(this);
1308
- this._model = NumberLine.createDefaultModel();
1309
- this._configuration = configuration;
1310
- }
1311
- set model(s) {
1312
- this._model = NumberLine.createDefaultModel(s);
1313
- this._rerender();
1314
- }
1315
- __init() {
1316
- this.onChange = o => {
1317
- this._model = {
1318
- ...this._model,
1319
- ...o
1320
- };
1321
- this.dispatchEvent(new ModelUpdatedEvent(this._model, true));
1322
- this._rerender();
1323
- };
1324
- }
1325
- _rerender() {
1326
- let element = React$8.createElement(Main$1, {
1327
- model: this._model,
1328
- configuration: this._configuration,
1329
- onChange: this.onChange
1330
- });
1331
- ReactDOM.render(element, this);
1332
- }
1333
- }
1334
- NumberLine.__initStatic();
1335
- export default NumberLine;