@pie-element/graphing 8.0.1 → 8.2.0-mui-update.0
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/CHANGELOG.md +19 -0
- package/configure/CHANGELOG.md +19 -0
- package/configure/lib/configure.js +303 -403
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +402 -513
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/lib/defaults.js +4 -4
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/graphing-config.js +312 -359
- package/configure/lib/graphing-config.js.map +1 -1
- package/configure/lib/index.js +130 -189
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/utils.js +43 -88
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +11 -8
- package/controller/CHANGELOG.md +19 -0
- package/controller/lib/defaults.js +5 -5
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +180 -267
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +301 -311
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +3 -3
- package/lib/index.js +48 -95
- package/lib/index.js.map +1 -1
- package/lib/main.js +145 -210
- package/lib/main.js.map +1 -1
- package/lib/utils.js +5 -19
- package/lib/utils.js.map +1 -1
- package/package.json +13 -27
- package/LICENSE.md +0 -5
- package/esm/configure.js +0 -10338
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -846
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -7623
- package/esm/element.js.map +0 -1
|
@@ -1,164 +1,132 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
4
|
Object.defineProperty(exports, "__esModule", {
|
|
8
5
|
value: true
|
|
9
6
|
});
|
|
10
|
-
exports
|
|
11
|
-
|
|
12
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
7
|
+
exports.default = exports.GraphingConfig = void 0;
|
|
26
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
9
|
var React = _interopRequireWildcard(require("react"));
|
|
29
|
-
|
|
30
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
-
|
|
32
11
|
var _graphing = require("@pie-lib/graphing");
|
|
33
|
-
|
|
34
12
|
var _configUi = require("@pie-lib/config-ui");
|
|
35
|
-
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
var _styles = require("@material-ui/core/styles");
|
|
39
|
-
|
|
13
|
+
var _material = require("@mui/material");
|
|
14
|
+
var _styles = require("@mui/material/styles");
|
|
40
15
|
var _utils = require("./utils");
|
|
41
|
-
|
|
42
16
|
var _lodash = require("lodash");
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
var _super = _createSuper(GraphingConfig);
|
|
97
|
-
|
|
98
|
-
function GraphingConfig(props) {
|
|
99
|
-
var _this;
|
|
100
|
-
|
|
101
|
-
(0, _classCallCheck2["default"])(this, GraphingConfig);
|
|
102
|
-
_this = _super.call(this, props);
|
|
103
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeBackgroundMarks", function (backgroundMarks) {
|
|
104
|
-
var model = _objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
105
|
-
backgroundMarks: backgroundMarks
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
_this.props.onChange(model);
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
const Container = (0, _styles.styled)('div')(({
|
|
19
|
+
theme
|
|
20
|
+
}) => ({
|
|
21
|
+
display: 'flex',
|
|
22
|
+
flexWrap: 'wrap',
|
|
23
|
+
marginBottom: theme.spacing(2.5)
|
|
24
|
+
}));
|
|
25
|
+
const GridConfigWrapper = (0, _styles.styled)('div')(({
|
|
26
|
+
theme
|
|
27
|
+
}) => ({
|
|
28
|
+
display: 'flex',
|
|
29
|
+
flexDirection: 'column',
|
|
30
|
+
marginRight: theme.spacing(3),
|
|
31
|
+
marginBottom: theme.spacing(2.5)
|
|
32
|
+
}));
|
|
33
|
+
const GraphConfig = (0, _styles.styled)('div')({
|
|
34
|
+
display: 'flex',
|
|
35
|
+
flexDirection: 'column'
|
|
36
|
+
});
|
|
37
|
+
const SubtitleText = (0, _styles.styled)(_material.Typography)(({
|
|
38
|
+
theme
|
|
39
|
+
}) => ({
|
|
40
|
+
marginTop: theme.spacing(1.5),
|
|
41
|
+
marginBottom: theme.spacing(1)
|
|
42
|
+
}));
|
|
43
|
+
const GridConfig = (0, _styles.styled)('div')(({
|
|
44
|
+
theme
|
|
45
|
+
}) => ({
|
|
46
|
+
display: 'flex',
|
|
47
|
+
flexWrap: 'wrap',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
width: '100%',
|
|
50
|
+
marginBottom: theme.spacing(2.5)
|
|
51
|
+
}));
|
|
52
|
+
const GridConfigLabel = (0, _styles.styled)(_material.Typography)(({
|
|
53
|
+
theme
|
|
54
|
+
}) => ({
|
|
55
|
+
padding: `0 ${theme.spacing(1)}`
|
|
56
|
+
}));
|
|
57
|
+
const GridConfigSelect = (0, _styles.styled)(_material.Select)({
|
|
58
|
+
flex: '1'
|
|
59
|
+
});
|
|
60
|
+
class GraphingConfig extends React.Component {
|
|
61
|
+
constructor(props) {
|
|
62
|
+
super(props);
|
|
63
|
+
(0, _defineProperty2.default)(this, "changeBackgroundMarks", backgroundMarks => {
|
|
64
|
+
const model = {
|
|
65
|
+
...this.props.model,
|
|
66
|
+
backgroundMarks
|
|
67
|
+
};
|
|
68
|
+
this.props.onChange(model);
|
|
109
69
|
});
|
|
110
|
-
(0, _defineProperty2
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
70
|
+
(0, _defineProperty2.default)(this, "changeLabels", labels => {
|
|
71
|
+
const {
|
|
72
|
+
model,
|
|
73
|
+
onChange
|
|
74
|
+
} = this.props;
|
|
75
|
+
onChange({
|
|
76
|
+
...model,
|
|
77
|
+
labels
|
|
78
|
+
});
|
|
117
79
|
});
|
|
118
|
-
(0, _defineProperty2
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
80
|
+
(0, _defineProperty2.default)(this, "changeTitle", title => {
|
|
81
|
+
const {
|
|
82
|
+
model,
|
|
83
|
+
onChange
|
|
84
|
+
} = this.props;
|
|
85
|
+
onChange({
|
|
86
|
+
...model,
|
|
87
|
+
title
|
|
88
|
+
});
|
|
125
89
|
});
|
|
126
|
-
(0, _defineProperty2
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
90
|
+
(0, _defineProperty2.default)(this, "onConfigChange", (config, newSelectedGrid) => {
|
|
91
|
+
const {
|
|
92
|
+
model,
|
|
93
|
+
onChange
|
|
94
|
+
} = this.props;
|
|
95
|
+
const {
|
|
96
|
+
defaultGridConfiguration: oldSelectedGrid = 0
|
|
97
|
+
} = model;
|
|
98
|
+
const {
|
|
99
|
+
gridValues: oldGridValues,
|
|
100
|
+
labelValues: oldLabelValues,
|
|
101
|
+
domain: oldDomain,
|
|
102
|
+
range: oldRange
|
|
103
|
+
} = this.state;
|
|
104
|
+
const updatedModel = {
|
|
105
|
+
...model,
|
|
106
|
+
...config
|
|
107
|
+
};
|
|
108
|
+
const {
|
|
109
|
+
answers,
|
|
110
|
+
domain,
|
|
111
|
+
includeAxes,
|
|
112
|
+
graph,
|
|
113
|
+
range,
|
|
114
|
+
standardGrid
|
|
115
|
+
} = updatedModel;
|
|
116
|
+
const gridValues = {
|
|
147
117
|
domain: [],
|
|
148
118
|
range: []
|
|
149
119
|
};
|
|
150
|
-
|
|
120
|
+
const labelValues = {
|
|
151
121
|
domain: [],
|
|
152
122
|
range: []
|
|
153
123
|
};
|
|
154
|
-
|
|
155
|
-
|
|
124
|
+
const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;
|
|
156
125
|
if (includeAxes) {
|
|
157
|
-
|
|
126
|
+
const domainConstraints = (0, _utils.applyConstraints)(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);
|
|
158
127
|
gridValues.domain = domainConstraints.gridValues || [];
|
|
159
128
|
labelValues.domain = domainConstraints.labelValues || [];
|
|
160
129
|
}
|
|
161
|
-
|
|
162
130
|
if (standardGrid) {
|
|
163
131
|
gridValues.range = gridValues.domain;
|
|
164
132
|
labelValues.range = labelValues.domain;
|
|
@@ -166,270 +134,255 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
166
134
|
range.labelStep = domain.labelStep;
|
|
167
135
|
} else {
|
|
168
136
|
if (includeAxes) {
|
|
169
|
-
|
|
137
|
+
const rangeConstraints = (0, _utils.applyConstraints)(range, graph.height, oldGridValues.range, oldLabelValues.range);
|
|
170
138
|
gridValues.range = rangeConstraints.gridValues || [];
|
|
171
139
|
labelValues.range = rangeConstraints.labelValues || [];
|
|
172
140
|
}
|
|
173
141
|
}
|
|
174
|
-
|
|
175
|
-
var plotableAnswers = (0, _utils.filterPlotableMarks)(domain, range, answers);
|
|
176
|
-
|
|
142
|
+
const plotableAnswers = (0, _utils.filterPlotableMarks)(domain, range, answers);
|
|
177
143
|
if (!(0, _lodash.isEqual)(answers, plotableAnswers)) {
|
|
178
|
-
|
|
144
|
+
this.setState({
|
|
179
145
|
dialog: {
|
|
180
146
|
isOpened: true,
|
|
181
|
-
onClose:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
labelValues: labelValues,
|
|
147
|
+
onClose: () => this.setState({
|
|
148
|
+
dialog: {
|
|
149
|
+
isOpened: false
|
|
150
|
+
}
|
|
151
|
+
}, onChange({
|
|
152
|
+
...model,
|
|
153
|
+
domain: oldDomain,
|
|
154
|
+
range: oldRange
|
|
155
|
+
})),
|
|
156
|
+
onConfirm: () => {
|
|
157
|
+
this.setState({
|
|
158
|
+
gridValues,
|
|
159
|
+
labelValues,
|
|
195
160
|
dialog: {
|
|
196
161
|
isOpened: false
|
|
197
162
|
},
|
|
198
|
-
domain:
|
|
199
|
-
|
|
200
|
-
|
|
163
|
+
domain: {
|
|
164
|
+
...domain
|
|
165
|
+
},
|
|
166
|
+
range: {
|
|
167
|
+
...range
|
|
168
|
+
}
|
|
169
|
+
}, onChange({
|
|
170
|
+
...updatedModel,
|
|
201
171
|
answers: plotableAnswers,
|
|
202
172
|
defaultGridConfiguration: selectedGrid
|
|
203
|
-
}))
|
|
173
|
+
}));
|
|
204
174
|
}
|
|
205
175
|
}
|
|
206
176
|
});
|
|
207
|
-
|
|
208
177
|
return;
|
|
209
178
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
179
|
+
this.setState({
|
|
180
|
+
gridValues,
|
|
181
|
+
labelValues,
|
|
182
|
+
domain: {
|
|
183
|
+
...domain
|
|
184
|
+
},
|
|
185
|
+
range: {
|
|
186
|
+
...range
|
|
187
|
+
}
|
|
216
188
|
});
|
|
217
|
-
|
|
218
|
-
|
|
189
|
+
onChange({
|
|
190
|
+
...updatedModel,
|
|
219
191
|
defaultGridConfiguration: selectedGrid
|
|
220
|
-
})
|
|
192
|
+
});
|
|
221
193
|
});
|
|
222
|
-
(0, _defineProperty2
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
194
|
+
(0, _defineProperty2.default)(this, "onChangeView", (event, expanded) => {
|
|
195
|
+
const {
|
|
196
|
+
graphDimensions: {
|
|
197
|
+
enabled
|
|
198
|
+
} = {}
|
|
199
|
+
} = this.props;
|
|
227
200
|
if (enabled) {
|
|
228
|
-
|
|
201
|
+
this.setState({
|
|
229
202
|
showPixelGuides: expanded
|
|
230
203
|
});
|
|
231
204
|
}
|
|
232
205
|
});
|
|
233
|
-
(0, _defineProperty2
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
206
|
+
(0, _defineProperty2.default)(this, "changeGridConfiguration", event => {
|
|
207
|
+
const {
|
|
208
|
+
gridConfigurations
|
|
209
|
+
} = this.props;
|
|
210
|
+
const {
|
|
211
|
+
value
|
|
212
|
+
} = event.target;
|
|
213
|
+
this.onConfigChange(gridConfigurations?.[value] || {}, value);
|
|
238
214
|
});
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
var _gridValues = {
|
|
215
|
+
const {
|
|
216
|
+
domain: _domain,
|
|
217
|
+
range: _range,
|
|
218
|
+
graph: _graph
|
|
219
|
+
} = props.model || {};
|
|
220
|
+
const _gridValues = {
|
|
246
221
|
domain: (0, _utils.getGridValues)(_domain, _graph.width, true),
|
|
247
222
|
range: (0, _utils.getGridValues)(_range, _graph.height, true)
|
|
248
223
|
};
|
|
249
|
-
|
|
224
|
+
const _labelValues = {
|
|
250
225
|
domain: (0, _utils.getLabelValues)(_domain.step),
|
|
251
226
|
range: (0, _utils.getLabelValues)(_range.step)
|
|
252
227
|
};
|
|
253
|
-
|
|
228
|
+
this.state = {
|
|
254
229
|
gridValues: _gridValues,
|
|
255
230
|
labelValues: _labelValues,
|
|
256
231
|
showPixelGuides: false,
|
|
257
232
|
dialog: {
|
|
258
233
|
isOpened: false
|
|
259
234
|
},
|
|
260
|
-
domain:
|
|
261
|
-
|
|
235
|
+
domain: {
|
|
236
|
+
..._domain
|
|
237
|
+
},
|
|
238
|
+
range: {
|
|
239
|
+
..._range
|
|
240
|
+
}
|
|
262
241
|
};
|
|
263
|
-
return _this;
|
|
264
242
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
size: {
|
|
396
|
-
width: graph.width,
|
|
397
|
-
height: graph.height
|
|
398
|
-
},
|
|
399
|
-
title: title,
|
|
400
|
-
titlePlaceholder: titlePlaceholder,
|
|
401
|
-
toolbarTools: availableTools,
|
|
402
|
-
mathMlOptions: mathMlOptions,
|
|
403
|
-
removeIncompleteTool: removeIncompleteTool
|
|
404
|
-
})), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
|
|
405
|
-
open: dialog.isOpened,
|
|
406
|
-
title: "Warning",
|
|
407
|
-
text: "This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.",
|
|
408
|
-
onClose: dialog.onClose,
|
|
409
|
-
onConfirm: dialog.onConfirm
|
|
410
|
-
}));
|
|
411
|
-
}
|
|
412
|
-
}]);
|
|
413
|
-
return GraphingConfig;
|
|
414
|
-
}(React.Component);
|
|
415
|
-
|
|
243
|
+
render() {
|
|
244
|
+
const {
|
|
245
|
+
authoring = {},
|
|
246
|
+
availableTools = [],
|
|
247
|
+
gridConfigurations = [],
|
|
248
|
+
graphDimensions = {},
|
|
249
|
+
labelsPlaceholders,
|
|
250
|
+
model,
|
|
251
|
+
showLabels,
|
|
252
|
+
dimensionsEnabled,
|
|
253
|
+
showTitle,
|
|
254
|
+
titlePlaceholder,
|
|
255
|
+
mathMlOptions = {},
|
|
256
|
+
removeIncompleteTool
|
|
257
|
+
} = this.props;
|
|
258
|
+
const {
|
|
259
|
+
arrows,
|
|
260
|
+
backgroundMarks,
|
|
261
|
+
coordinatesOnHover,
|
|
262
|
+
defaultGridConfiguration,
|
|
263
|
+
domain,
|
|
264
|
+
includeAxes,
|
|
265
|
+
labels,
|
|
266
|
+
range,
|
|
267
|
+
standardGrid,
|
|
268
|
+
title
|
|
269
|
+
} = model || {};
|
|
270
|
+
const graph = (model || {}).graph || {};
|
|
271
|
+
const {
|
|
272
|
+
min,
|
|
273
|
+
max,
|
|
274
|
+
step
|
|
275
|
+
} = graphDimensions || {};
|
|
276
|
+
const {
|
|
277
|
+
dialog = {},
|
|
278
|
+
gridValues,
|
|
279
|
+
labelValues,
|
|
280
|
+
showPixelGuides
|
|
281
|
+
} = this.state;
|
|
282
|
+
const sizeConstraints = {
|
|
283
|
+
min: Math.max(150, min),
|
|
284
|
+
max: Math.min(800, max),
|
|
285
|
+
step: step >= 1 ? Math.min(200, step) : 20
|
|
286
|
+
};
|
|
287
|
+
const displayedFields = {
|
|
288
|
+
axisLabel: authoring.axisLabel,
|
|
289
|
+
dimensionsEnabled,
|
|
290
|
+
includeAxesEnabled: authoring.includeAxesEnabled,
|
|
291
|
+
labelStep: authoring.labelStep,
|
|
292
|
+
min: authoring.min,
|
|
293
|
+
max: authoring.max,
|
|
294
|
+
standardGridEnabled: authoring.standardGridEnabled,
|
|
295
|
+
step: authoring.step
|
|
296
|
+
};
|
|
297
|
+
const displayGridSetup = authoring.enabled && Object.values(displayedFields).some(field => typeof field === 'object' ? field.enabled : field);
|
|
298
|
+
return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(GridConfigWrapper, null, gridConfigurations && gridConfigurations.length ? /*#__PURE__*/React.createElement(GridConfig, null, /*#__PURE__*/React.createElement(GridConfigLabel, {
|
|
299
|
+
component: "div",
|
|
300
|
+
variant: "h6"
|
|
301
|
+
}, "Grid Configuration"), /*#__PURE__*/React.createElement(GridConfigSelect, {
|
|
302
|
+
input: /*#__PURE__*/React.createElement(_material.OutlinedInput, null),
|
|
303
|
+
displayEmpty: true,
|
|
304
|
+
onChange: this.changeGridConfiguration,
|
|
305
|
+
value: defaultGridConfiguration,
|
|
306
|
+
MenuProps: {
|
|
307
|
+
transitionDuration: {
|
|
308
|
+
enter: 225,
|
|
309
|
+
exit: 195
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}, (gridConfigurations || []).map((config, index) => /*#__PURE__*/React.createElement(_material.MenuItem, {
|
|
313
|
+
key: index,
|
|
314
|
+
value: index
|
|
315
|
+
}, config.label)))) : null, displayGridSetup && /*#__PURE__*/React.createElement(_graphing.GridSetup, {
|
|
316
|
+
displayedFields: displayedFields,
|
|
317
|
+
domain: domain,
|
|
318
|
+
gridValues: gridValues,
|
|
319
|
+
includeAxes: includeAxes,
|
|
320
|
+
labelValues: labelValues,
|
|
321
|
+
range: range,
|
|
322
|
+
size: graph,
|
|
323
|
+
sizeConstraints: sizeConstraints,
|
|
324
|
+
standardGrid: standardGrid,
|
|
325
|
+
onChange: this.onConfigChange,
|
|
326
|
+
onChangeView: this.onChangeView
|
|
327
|
+
})), /*#__PURE__*/React.createElement(GraphConfig, {
|
|
328
|
+
key: "graph"
|
|
329
|
+
}, /*#__PURE__*/React.createElement(_material.Typography, {
|
|
330
|
+
component: "div",
|
|
331
|
+
variant: "h6"
|
|
332
|
+
}, "Define Graph Attributes"), /*#__PURE__*/React.createElement(SubtitleText, {
|
|
333
|
+
component: "div",
|
|
334
|
+
variant: "body1"
|
|
335
|
+
}, "Use this interface to add/edit a title and/or labels, and to set background shapes"), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
|
|
336
|
+
axesSettings: {
|
|
337
|
+
includeArrows: arrows
|
|
338
|
+
},
|
|
339
|
+
backgroundMarks: [],
|
|
340
|
+
coordinatesOnHover: coordinatesOnHover,
|
|
341
|
+
collapsibleToolbar: true,
|
|
342
|
+
collapsibleToolbarTitle: 'Add Background Shapes to Graph',
|
|
343
|
+
domain: domain,
|
|
344
|
+
key: "graphing-config",
|
|
345
|
+
labels: labels,
|
|
346
|
+
labelsPlaceholders: labelsPlaceholders,
|
|
347
|
+
marks: backgroundMarks,
|
|
348
|
+
onChangeLabels: this.changeLabels,
|
|
349
|
+
onChangeMarks: this.changeBackgroundMarks,
|
|
350
|
+
onChangeTitle: this.changeTitle,
|
|
351
|
+
range: range,
|
|
352
|
+
showLabels: showLabels,
|
|
353
|
+
showPixelGuides: showPixelGuides,
|
|
354
|
+
showTitle: showTitle,
|
|
355
|
+
size: {
|
|
356
|
+
width: graph.width,
|
|
357
|
+
height: graph.height
|
|
358
|
+
},
|
|
359
|
+
title: title,
|
|
360
|
+
titlePlaceholder: titlePlaceholder,
|
|
361
|
+
toolbarTools: availableTools,
|
|
362
|
+
mathMlOptions: mathMlOptions,
|
|
363
|
+
removeIncompleteTool: removeIncompleteTool
|
|
364
|
+
})), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
|
|
365
|
+
open: dialog.isOpened,
|
|
366
|
+
title: "Warning",
|
|
367
|
+
text: "This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.",
|
|
368
|
+
onClose: dialog.onClose,
|
|
369
|
+
onConfirm: dialog.onConfirm
|
|
370
|
+
}));
|
|
371
|
+
}
|
|
372
|
+
}
|
|
416
373
|
exports.GraphingConfig = GraphingConfig;
|
|
417
|
-
(0, _defineProperty2
|
|
418
|
-
availableTools: _propTypes
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
titlePlaceholder: _propTypes["default"].string
|
|
374
|
+
(0, _defineProperty2.default)(GraphingConfig, "propTypes", {
|
|
375
|
+
availableTools: _propTypes.default.array,
|
|
376
|
+
authoring: _propTypes.default.object,
|
|
377
|
+
dimensionsEnabled: _propTypes.default.bool,
|
|
378
|
+
graphDimensions: _propTypes.default.object,
|
|
379
|
+
gridConfigurations: _propTypes.default.array,
|
|
380
|
+
labelsPlaceholders: _propTypes.default.object,
|
|
381
|
+
model: _propTypes.default.object.isRequired,
|
|
382
|
+
onChange: _propTypes.default.func.isRequired,
|
|
383
|
+
showLabels: _propTypes.default.bool,
|
|
384
|
+
showTitle: _propTypes.default.bool,
|
|
385
|
+
titlePlaceholder: _propTypes.default.string
|
|
430
386
|
});
|
|
431
|
-
|
|
432
|
-
var _default = (0, _styles.withStyles)(styles)(GraphingConfig);
|
|
433
|
-
|
|
434
|
-
exports["default"] = _default;
|
|
387
|
+
var _default = exports.default = GraphingConfig;
|
|
435
388
|
//# sourceMappingURL=graphing-config.js.map
|