@pie-element/graphing 3.7.19 → 3.7.22
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 +24 -0
- package/configure/CHANGELOG.md +24 -0
- package/configure/lib/configure.js +17 -18
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +194 -43
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/lib/defaults.js +10 -5
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/graphing-config.js +141 -182
- package/configure/lib/graphing-config.js.map +1 -1
- package/configure/lib/index.js +32 -15
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/utils.js +94 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +4 -4
- package/controller/CHANGELOG.md +8 -0
- package/controller/lib/defaults.js +2 -0
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +6 -17
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +5 -3
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +1 -1
- package/docs/config-schema.json +72 -0
- package/docs/config-schema.json.md +57 -1
- package/docs/pie-schema.json +46 -0
- package/docs/pie-schema.json.md +36 -0
- package/package.json +6 -6
|
@@ -9,11 +9,6 @@ var _graphing = require("@pie-lib/graphing");
|
|
|
9
9
|
|
|
10
10
|
var _tools$allTools = _graphing.tools.allTools,
|
|
11
11
|
allTools = _tools$allTools === void 0 ? [] : _tools$allTools;
|
|
12
|
-
/**
|
|
13
|
-
* NOTE: There's no functionality described for padding
|
|
14
|
-
* so there's no implementation (they are only added in model)
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
12
|
var _default = {
|
|
18
13
|
model: {
|
|
19
14
|
answers: {},
|
|
@@ -35,6 +30,7 @@ var _default = {
|
|
|
35
30
|
width: 500,
|
|
36
31
|
height: 500
|
|
37
32
|
},
|
|
33
|
+
includeAxes: true,
|
|
38
34
|
labels: {},
|
|
39
35
|
padding: true,
|
|
40
36
|
prompt: '',
|
|
@@ -46,6 +42,7 @@ var _default = {
|
|
|
46
42
|
axisLabel: 'y'
|
|
47
43
|
},
|
|
48
44
|
rationale: '',
|
|
45
|
+
standardGrid: false,
|
|
49
46
|
title: '',
|
|
50
47
|
toolbarTools: allTools,
|
|
51
48
|
coordinatesOnHover: false,
|
|
@@ -76,6 +73,14 @@ var _default = {
|
|
|
76
73
|
label: 'down'
|
|
77
74
|
}
|
|
78
75
|
},
|
|
76
|
+
graphDimensions: {
|
|
77
|
+
settings: false,
|
|
78
|
+
label: 'Graph Dimensions',
|
|
79
|
+
enabled: true,
|
|
80
|
+
min: 150,
|
|
81
|
+
max: 800,
|
|
82
|
+
step: 20
|
|
83
|
+
},
|
|
79
84
|
padding: {
|
|
80
85
|
settings: false,
|
|
81
86
|
label: 'Padding'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["tools","allTools","model","answers","arrows","left","right","up","down","backgroundMarks","domain","min","max","step","labelStep","axisLabel","graph","width","height","labels","padding","prompt","range","rationale","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","authoring","settings","label","enabled","scoringType","studentInstructions","teacherInstructions","spellCheck"],"mappings":";;;;;;;AAAA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["tools","allTools","model","answers","arrows","left","right","up","down","backgroundMarks","domain","min","max","step","labelStep","axisLabel","graph","width","height","includeAxes","labels","padding","prompt","range","rationale","standardGrid","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","authoring","settings","label","enabled","graphDimensions","scoringType","studentInstructions","teacherInstructions","spellCheck"],"mappings":"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","sourcesContent":["import { tools } from '@pie-lib/graphing';\n\nconst { allTools = [] } = tools;\n\nexport default {\n model: {\n answers: {},\n arrows: {\n left: true,\n right: true,\n up: true,\n down: true\n },\n backgroundMarks: [],\n domain: {\n min: -5,\n max: 5,\n step: 1,\n labelStep: 1,\n axisLabel: 'x'\n },\n graph: {\n width: 500,\n height: 500\n },\n includeAxes: true,\n labels: {},\n padding: true,\n prompt: '',\n range: {\n min: -5,\n max: 5,\n step: 1,\n labelStep: 1,\n axisLabel: 'y'\n },\n rationale: '',\n standardGrid: false,\n title: '',\n toolbarTools: allTools,\n coordinatesOnHover: false,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n authoring: {\n settings: false,\n label: 'Allow authoring',\n enabled: false\n },\n arrows: {\n settings: true,\n label: 'Include Arrows',\n left: {\n label: 'left'\n },\n right: {\n label: 'right'\n },\n up: {\n label: 'up'\n },\n down: {\n label: 'down'\n }\n },\n graphDimensions: {\n settings: false,\n label: 'Graph Dimensions',\n enabled: true,\n min: 150,\n max: 800,\n step: 20\n },\n padding: {\n settings: false,\n label: 'Padding'\n },\n labels: {\n settings: false,\n label: 'Labels',\n enabled: true\n },\n prompt: {\n settings: true,\n label: 'Item Stem'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type'\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n title: {\n settings: false,\n label: 'Graph Title',\n enabled: true\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n coordinatesOnHover: {\n settings: true,\n label: 'Coordinates on Hover'\n }\n }\n};\n"],"file":"defaults.js"}
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports["default"] = exports.GraphingConfig =
|
|
10
|
+
exports["default"] = exports.GraphingConfig = void 0;
|
|
11
11
|
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
|
|
@@ -25,23 +25,15 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
25
25
|
|
|
26
26
|
var React = _interopRequireWildcard(require("react"));
|
|
27
27
|
|
|
28
|
-
var _configUi = require("@pie-lib/config-ui");
|
|
29
|
-
|
|
30
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
-
|
|
32
28
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
29
|
|
|
34
|
-
var _styles = require("@material-ui/core/styles");
|
|
35
|
-
|
|
36
30
|
var _graphing = require("@pie-lib/graphing");
|
|
37
31
|
|
|
38
32
|
var _core = require("@material-ui/core");
|
|
39
33
|
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
34
|
+
var _styles = require("@material-ui/core/styles");
|
|
43
35
|
|
|
44
|
-
var
|
|
36
|
+
var _utils = require("./utils");
|
|
45
37
|
|
|
46
38
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
39
|
|
|
@@ -55,108 +47,31 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
55
47
|
|
|
56
48
|
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; } }
|
|
57
49
|
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
axis = _ref.axis,
|
|
61
|
-
classes = _ref.classes,
|
|
62
|
-
model = _ref.model;
|
|
63
|
-
var rows = [{
|
|
64
|
-
key: '${columnKey}-min-max',
|
|
65
|
-
inputs: [{
|
|
66
|
-
key: "".concat(columnKey, ".min"),
|
|
67
|
-
label: 'Min value',
|
|
68
|
-
className: classes.smallInput
|
|
69
|
-
}, {
|
|
70
|
-
key: "".concat(columnKey, ".max"),
|
|
71
|
-
label: 'Max value',
|
|
72
|
-
className: classes.smallInput
|
|
73
|
-
}]
|
|
74
|
-
}, {
|
|
75
|
-
key: "".concat(columnKey, "-tick-frequency"),
|
|
76
|
-
inputs: [{
|
|
77
|
-
key: "".concat(columnKey, ".step"),
|
|
78
|
-
label: 'Tick frequency'
|
|
79
|
-
}]
|
|
80
|
-
}, {
|
|
81
|
-
key: "".concat(columnKey, "-tick-label-frequency"),
|
|
82
|
-
inputs: [{
|
|
83
|
-
key: "".concat(columnKey, ".labelStep"),
|
|
84
|
-
label: 'Tick label frequency'
|
|
85
|
-
}]
|
|
86
|
-
}, {
|
|
87
|
-
key: "".concat(columnKey, "-axis-label"),
|
|
88
|
-
inputs: [{
|
|
89
|
-
type: 'text',
|
|
90
|
-
key: "".concat(axis, "-axis-label-input"),
|
|
91
|
-
label: "".concat(axis, " Axis Label")
|
|
92
|
-
}]
|
|
93
|
-
}];
|
|
94
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
95
|
-
className: classes.column,
|
|
96
|
-
key: columnKey
|
|
97
|
-
}, "".concat(columnKey.toUpperCase(), " (").concat(axis.toUpperCase(), ")"), rows.map(function (row) {
|
|
98
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
99
|
-
className: classes.row,
|
|
100
|
-
key: row.key
|
|
101
|
-
}, row.inputs.map(function (input) {
|
|
102
|
-
if (input.type === 'text') {
|
|
103
|
-
return /*#__PURE__*/React.createElement(_core.TextField, {
|
|
104
|
-
className: classes.input,
|
|
105
|
-
label: input.label.toUpperCase(),
|
|
106
|
-
value: model["".concat(axis, "AxisLabel")],
|
|
107
|
-
onChange: function onChange(_ref2) {
|
|
108
|
-
var target = _ref2.target;
|
|
109
|
-
return _this.onChangeInputValue("".concat(axis, "AxisLabel"), target.value);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return /*#__PURE__*/React.createElement(_core.TextField, {
|
|
115
|
-
type: "number",
|
|
116
|
-
key: input.key,
|
|
117
|
-
label: input.label.toUpperCase(),
|
|
118
|
-
onChange: function onChange(event, value) {
|
|
119
|
-
return _this.onChangeInputValue(input.key, value);
|
|
120
|
-
},
|
|
121
|
-
value: (0, _lodash.get)(model, input.key),
|
|
122
|
-
className: input.className || classes.input
|
|
123
|
-
});
|
|
124
|
-
}));
|
|
125
|
-
}));
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
exports.AuthoringColumn = AuthoringColumn;
|
|
129
|
-
AuthoringColumn.propTypes = {
|
|
130
|
-
axis: _propTypes["default"].String,
|
|
131
|
-
classes: _propTypes["default"].object,
|
|
132
|
-
columnKey: _propTypes["default"].String,
|
|
133
|
-
model: _propTypes["default"].object
|
|
134
|
-
};
|
|
50
|
+
var _tools$allTools = _graphing.tools.allTools,
|
|
51
|
+
allTools = _tools$allTools === void 0 ? [] : _tools$allTools;
|
|
135
52
|
|
|
136
53
|
var styles = function styles(theme) {
|
|
137
54
|
return {
|
|
138
55
|
container: {
|
|
139
|
-
marginTop: theme.spacing.unit * 3,
|
|
140
|
-
marginBottom: theme.spacing.unit * 3,
|
|
141
56
|
display: 'flex',
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
column: {
|
|
145
|
-
flex: 1
|
|
57
|
+
flexWrap: 'wrap',
|
|
58
|
+
marginBottom: theme.spacing.unit * 7
|
|
146
59
|
},
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
60
|
+
gridConfig: {
|
|
61
|
+
display: 'flex',
|
|
62
|
+
flexDirection: 'column',
|
|
63
|
+
marginRight: theme.spacing.unit * 4,
|
|
64
|
+
marginBottom: theme.spacing.unit * 3
|
|
150
65
|
},
|
|
151
|
-
|
|
66
|
+
graphConfig: {
|
|
152
67
|
display: 'flex',
|
|
153
|
-
flexDirection: '
|
|
68
|
+
flexDirection: 'column'
|
|
154
69
|
},
|
|
155
|
-
|
|
156
|
-
|
|
70
|
+
subheading: {
|
|
71
|
+
marginBottom: theme.spacing.unit * 2
|
|
157
72
|
},
|
|
158
|
-
|
|
159
|
-
|
|
73
|
+
body: {
|
|
74
|
+
marginBottom: theme.spacing.unit
|
|
160
75
|
}
|
|
161
76
|
};
|
|
162
77
|
};
|
|
@@ -166,97 +81,139 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
166
81
|
|
|
167
82
|
var _super = _createSuper(GraphingConfig);
|
|
168
83
|
|
|
169
|
-
function GraphingConfig() {
|
|
170
|
-
var
|
|
84
|
+
function GraphingConfig(props) {
|
|
85
|
+
var _this;
|
|
171
86
|
|
|
172
87
|
(0, _classCallCheck2["default"])(this, GraphingConfig);
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
_this2 = _super.call.apply(_super, [this].concat(args));
|
|
179
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onChangeInputValue", function (key, value) {
|
|
180
|
-
var model = _this2.props.model;
|
|
181
|
-
(0, _lodash.set)(model, key, value);
|
|
182
|
-
|
|
183
|
-
_this2.props.onChange(model);
|
|
184
|
-
});
|
|
185
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "renderInput", function (key, label, className) {
|
|
186
|
-
var _this2$props = _this2.props,
|
|
187
|
-
classes = _this2$props.classes,
|
|
188
|
-
model = _this2$props.model;
|
|
189
|
-
return /*#__PURE__*/React.createElement(_configUi.NumberTextField, {
|
|
190
|
-
key: key,
|
|
191
|
-
label: label.toUpperCase(),
|
|
192
|
-
onChange: function onChange(event, value) {
|
|
193
|
-
return _this2.onChangeInputValue(key, value);
|
|
194
|
-
},
|
|
195
|
-
value: (0, _lodash.get)(model, key),
|
|
196
|
-
className: className || classes.input
|
|
88
|
+
_this = _super.call(this, props);
|
|
89
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeBackgroundMarks", function (backgroundMarks) {
|
|
90
|
+
var model = _objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
91
|
+
backgroundMarks: backgroundMarks
|
|
197
92
|
});
|
|
93
|
+
|
|
94
|
+
_this.props.onChange(model);
|
|
198
95
|
});
|
|
199
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(
|
|
200
|
-
var
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
var
|
|
208
|
-
|
|
96
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChange", function (config) {
|
|
97
|
+
var _this$props = _this.props,
|
|
98
|
+
model = _this$props.model,
|
|
99
|
+
onChange = _this$props.onChange;
|
|
100
|
+
var _this$state = _this.state,
|
|
101
|
+
oldGridValues = _this$state.gridValues,
|
|
102
|
+
oldLabelValues = _this$state.labelValues;
|
|
103
|
+
|
|
104
|
+
var updatedModel = _objectSpread(_objectSpread({}, model), config);
|
|
105
|
+
|
|
106
|
+
var domain = updatedModel.domain,
|
|
107
|
+
graph = updatedModel.graph,
|
|
108
|
+
range = updatedModel.range,
|
|
109
|
+
standardGrid = updatedModel.standardGrid;
|
|
110
|
+
var gridValues = {};
|
|
111
|
+
var labelValues = {};
|
|
112
|
+
var domainConstraints = (0, _utils.applyConstraints)(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);
|
|
113
|
+
gridValues.domain = domainConstraints.gridValues;
|
|
114
|
+
labelValues.domain = domainConstraints.labelValues;
|
|
115
|
+
|
|
116
|
+
if (standardGrid) {
|
|
117
|
+
gridValues.range = gridValues.domain;
|
|
118
|
+
labelValues.range = labelValues.domain;
|
|
119
|
+
range.step = domain.step;
|
|
120
|
+
range.labelStep = domain.labelStep;
|
|
121
|
+
} else {
|
|
122
|
+
var rangeConstraints = (0, _utils.applyConstraints)(range, graph.height, oldGridValues.range, oldLabelValues.range);
|
|
123
|
+
gridValues.range = rangeConstraints.gridValues;
|
|
124
|
+
labelValues.range = rangeConstraints.labelValues;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
_this.setState({
|
|
128
|
+
gridValues: gridValues,
|
|
129
|
+
labelValues: labelValues
|
|
209
130
|
});
|
|
210
131
|
|
|
211
|
-
|
|
132
|
+
onChange(updatedModel);
|
|
212
133
|
});
|
|
213
|
-
|
|
134
|
+
|
|
135
|
+
var _ref = props.model || {},
|
|
136
|
+
_domain = _ref.domain,
|
|
137
|
+
_range = _ref.range,
|
|
138
|
+
_graph = _ref.graph;
|
|
139
|
+
|
|
140
|
+
var _gridValues = {
|
|
141
|
+
domain: (0, _utils.getGridValues)(_domain, _graph.width, true),
|
|
142
|
+
range: (0, _utils.getGridValues)(_range, _graph.height, true)
|
|
143
|
+
};
|
|
144
|
+
var _labelValues = {
|
|
145
|
+
domain: (0, _utils.getLabelValues)(_domain.step),
|
|
146
|
+
range: (0, _utils.getLabelValues)(_range.step)
|
|
147
|
+
};
|
|
148
|
+
_this.state = {
|
|
149
|
+
gridValues: _gridValues,
|
|
150
|
+
labelValues: _labelValues
|
|
151
|
+
};
|
|
152
|
+
return _this;
|
|
214
153
|
}
|
|
215
154
|
|
|
216
155
|
(0, _createClass2["default"])(GraphingConfig, [{
|
|
217
156
|
key: "render",
|
|
218
157
|
value: function render() {
|
|
219
|
-
var _this$
|
|
220
|
-
classes = _this$
|
|
221
|
-
model = _this$
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
var
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
158
|
+
var _this$props2 = this.props,
|
|
159
|
+
classes = _this$props2.classes,
|
|
160
|
+
model = _this$props2.model,
|
|
161
|
+
graphDimensions = _this$props2.graphDimensions;
|
|
162
|
+
|
|
163
|
+
var _ref2 = model || {},
|
|
164
|
+
arrows = _ref2.arrows,
|
|
165
|
+
backgroundMarks = _ref2.backgroundMarks,
|
|
166
|
+
coordinatesOnHover = _ref2.coordinatesOnHover,
|
|
167
|
+
domain = _ref2.domain,
|
|
168
|
+
includeAxes = _ref2.includeAxes,
|
|
169
|
+
labels = _ref2.labels,
|
|
170
|
+
range = _ref2.range,
|
|
171
|
+
standardGrid = _ref2.standardGrid,
|
|
172
|
+
title = _ref2.title;
|
|
173
|
+
|
|
174
|
+
var graph = (model || {}).graph || {};
|
|
175
|
+
|
|
176
|
+
var _ref3 = graphDimensions || {},
|
|
177
|
+
enabled = _ref3.enabled,
|
|
178
|
+
min = _ref3.min,
|
|
179
|
+
max = _ref3.max,
|
|
180
|
+
step = _ref3.step;
|
|
181
|
+
|
|
182
|
+
var _this$state2 = this.state,
|
|
183
|
+
gridValues = _this$state2.gridValues,
|
|
184
|
+
labelValues = _this$state2.labelValues;
|
|
185
|
+
var sizeConstraints = {
|
|
186
|
+
min: Math.max(150, min),
|
|
187
|
+
max: Math.min(800, max),
|
|
188
|
+
step: step >= 1 ? Math.min(200, step) : 20
|
|
189
|
+
};
|
|
190
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
239
191
|
className: classes.container
|
|
240
|
-
},
|
|
241
|
-
className:
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
192
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
193
|
+
className: classes.gridConfig
|
|
194
|
+
}, /*#__PURE__*/React.createElement(_graphing.GridSetup, {
|
|
195
|
+
domain: domain,
|
|
196
|
+
dimensionsEnabled: enabled,
|
|
197
|
+
gridValues: gridValues,
|
|
198
|
+
includeAxes: includeAxes,
|
|
199
|
+
labelValues: labelValues,
|
|
200
|
+
range: range,
|
|
201
|
+
size: graph,
|
|
202
|
+
sizeConstraints: sizeConstraints,
|
|
203
|
+
standardGrid: standardGrid,
|
|
204
|
+
onChange: this.onConfigChange
|
|
253
205
|
})), /*#__PURE__*/React.createElement("div", {
|
|
254
|
-
className: classes.
|
|
206
|
+
className: classes.graphConfig,
|
|
255
207
|
key: "graph"
|
|
256
|
-
}, /*#__PURE__*/React.createElement(
|
|
208
|
+
}, /*#__PURE__*/React.createElement(_core.Typography, {
|
|
209
|
+
component: "div",
|
|
210
|
+
variant: "subheading2",
|
|
211
|
+
className: classes.subheading
|
|
212
|
+
}, /*#__PURE__*/React.createElement("span", null, "Define Graph Attributes")), /*#__PURE__*/React.createElement(_core.Typography, {
|
|
257
213
|
component: "div",
|
|
258
|
-
|
|
259
|
-
|
|
214
|
+
variant: "body1",
|
|
215
|
+
className: classes.body
|
|
216
|
+
}, /*#__PURE__*/React.createElement("span", null, "Use this interface to add/edit a title and/or labels, and to set background shapes")), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
|
|
260
217
|
axesSettings: {
|
|
261
218
|
includeArrows: arrows
|
|
262
219
|
},
|
|
@@ -273,8 +230,8 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
273
230
|
height: graph.height
|
|
274
231
|
},
|
|
275
232
|
title: title,
|
|
276
|
-
toolbarTools:
|
|
277
|
-
})))
|
|
233
|
+
toolbarTools: allTools
|
|
234
|
+
})));
|
|
278
235
|
}
|
|
279
236
|
}]);
|
|
280
237
|
return GraphingConfig;
|
|
@@ -283,10 +240,12 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
283
240
|
exports.GraphingConfig = GraphingConfig;
|
|
284
241
|
(0, _defineProperty2["default"])(GraphingConfig, "propTypes", {
|
|
285
242
|
classes: _propTypes["default"].object.isRequired,
|
|
243
|
+
authoringEnabled: _propTypes["default"].bool,
|
|
244
|
+
graphDimensions: _propTypes["default"].object,
|
|
286
245
|
model: _propTypes["default"].object.isRequired,
|
|
287
|
-
onChange: _propTypes["default"].func.isRequired
|
|
288
|
-
authoringEnabled: _propTypes["default"].bool
|
|
246
|
+
onChange: _propTypes["default"].func.isRequired
|
|
289
247
|
});
|
|
248
|
+
;
|
|
290
249
|
|
|
291
250
|
var _default = (0, _styles.withStyles)(styles)(GraphingConfig);
|
|
292
251
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphing-config.jsx"],"names":["AuthoringColumn","columnKey","axis","classes","model","rows","key","inputs","label","className","smallInput","type","column","toUpperCase","map","row","input","target","onChangeInputValue","value","event","propTypes","PropTypes","String","object","styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","settings","flexDirection","width","GraphingConfig","props","onChange","content","backgroundMarks","authoringEnabled","graph","arrows","coordinatesOnHover","domain","labels","range","title","toolbarTools","includeArrows","changeBackgroundMarks","height","React","Component","isRequired","func","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NumberTextField } from '@pie-lib/config-ui';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer } from '@pie-lib/graphing';\nimport { TextField } from '@material-ui/core';\n\nimport { get, set } from 'lodash';\nimport Typography from '@material-ui/core/Typography';\n\nexport const AuthoringColumn = ({ columnKey, axis, classes, model }) => {\n const rows = [{\n key: '${columnKey}-min-max',\n inputs: [\n {\n key: `${columnKey}.min`,\n label: 'Min value',\n className: classes.smallInput\n },\n {\n key: `${columnKey}.max`,\n label: 'Max value',\n className: classes.smallInput\n }\n ]\n }, {\n key: `${columnKey}-tick-frequency`,\n inputs: [\n {\n key: `${columnKey}.step`,\n label: 'Tick frequency'\n }\n ]\n },\n {\n key: `${columnKey}-tick-label-frequency`,\n inputs: [\n {\n key: `${columnKey}.labelStep`,\n label: 'Tick label frequency'\n }\n ]\n },\n {\n key: `${columnKey}-axis-label`,\n inputs: [\n {\n type: 'text',\n key: `${axis}-axis-label-input`,\n label: `${axis} Axis Label`\n }\n ]\n }\n ];\n\n return (\n <div className={classes.column} key={columnKey}>\n {`${columnKey.toUpperCase()} (${axis.toUpperCase()})`}\n\n {rows.map(row => (\n <div className={classes.row} key={row.key}>\n {row.inputs.map(input => {\n if (input.type === 'text') {\n return (\n <TextField\n className={classes.input}\n label={input.label.toUpperCase()}\n value={model[`${axis}AxisLabel`]}\n onChange={({ target }) => this.onChangeInputValue(`${axis}AxisLabel`, target.value)}\n />\n );\n }\n\n return (\n <TextField\n type=\"number\"\n key={input.key}\n label={input.label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(input.key, value)}\n value={get(model, input.key)}\n className={input.className || classes.input}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n\nAuthoringColumn.propTypes = {\n axis: PropTypes.String,\n classes: PropTypes.object,\n columnKey: PropTypes.String,\n model: PropTypes.object,\n};\n\nconst styles = theme => ({\n container: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 3,\n display: 'flex',\n flex: 1,\n },\n column: {\n flex: 1\n },\n row: {\n marginTop: theme.spacing.unit * 2,\n flex: 1\n },\n settings: {\n display: 'flex',\n flexDirection: 'row'\n },\n input: {\n width: 'calc(100% - 32px)'\n },\n smallInput: {\n width: 'calc(50% - 32px)'\n }\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n authoringEnabled: PropTypes.bool,\n };\n\n onChangeInputValue = (key, value) => {\n const { model } = this.props;\n\n set(model, key, value);\n this.props.onChange(model);\n };\n\n renderInput = (key, label, className) => {\n const { classes, model } = this.props;\n\n return (\n <NumberTextField\n key={key}\n label={label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(key, value)}\n value={get(model, key)}\n className={className || classes.input}\n />\n )\n };\n\n renderRow = (key, content) => {\n const { classes } = this.props;\n\n return (\n <div className={classes.row} key={key}>\n {content}\n </div>\n );\n };\n\n changeBackgroundMarks = backgroundMarks => {\n const model = { ...this.props.model, backgroundMarks };\n this.props.onChange(model);\n };\n\n render() {\n const { classes, model, authoringEnabled } = this.props;\n let { graph } = model || {};\n const { arrows, backgroundMarks, coordinatesOnHover, domain, labels, range, title, toolbarTools } = model || {};\n graph = graph || {};\n\n return (\n <div>\n Define Graph Attributes\n\n <div className={classes.container}>\n {\n authoringEnabled && (\n <div className={classnames(classes.column, classes.settings)} key=\"settings\">\n <AuthoringColumn columnKey=\"domain\" axis=\"x\" classes={classes} model={model} />\n <AuthoringColumn columnKey=\"range\" axis=\"y\" classes={classes} model={model} />\n </div>\n )\n }\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to set background shapes</span>\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n marks={backgroundMarks}\n onChangeMarks={this.changeBackgroundMarks}\n range={range}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={toolbarTools}\n />\n </div>\n\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
|
|
1
|
+
{"version":3,"sources":["../src/graphing-config.jsx"],"names":["tools","allTools","styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfig","flexDirection","marginRight","graphConfig","subheading","body","GraphingConfig","props","backgroundMarks","model","onChange","config","state","oldGridValues","gridValues","oldLabelValues","labelValues","updatedModel","domain","graph","range","standardGrid","domainConstraints","width","step","labelStep","rangeConstraints","height","setState","classes","graphDimensions","arrows","coordinatesOnHover","includeAxes","labels","title","enabled","min","max","sizeConstraints","Math","onConfigChange","includeArrows","changeBackgroundMarks","React","Component","PropTypes","object","isRequired","authoringEnabled","bool","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup, tools } from '@pie-lib/graphing';\nimport { Typography } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, getGridValues, getLabelValues } from './utils';\n\nconst { allTools = [] } = tools;\n\nconst styles = theme => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 7\n },\n gridConfig: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 4,\n marginBottom: theme.spacing.unit * 3\n },\n graphConfig: {\n display: 'flex',\n flexDirection: 'column'\n },\n subheading: {\n marginBottom: theme.spacing.unit * 2\n },\n body: {\n marginBottom: theme.spacing.unit\n }\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n authoringEnabled: PropTypes.bool,\n graphDimensions: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n const { domain, range, graph } = props.model || {};\n\n const gridValues = {\n domain: getGridValues(domain, graph.width, true),\n range: getGridValues(range, graph.height, true)\n };\n const labelValues = {\n domain: getLabelValues(domain.step),\n range: getLabelValues(range.step)\n };\n\n this.state = { gridValues, labelValues };\n };\n\n changeBackgroundMarks = backgroundMarks => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n onConfigChange = config => {\n const { model, onChange } = this.props;\n const { gridValues: oldGridValues, labelValues: oldLabelValues } = this.state;\n const updatedModel = { ...model, ...config };\n const { domain, graph, range, standardGrid } = updatedModel;\n const gridValues = {};\n const labelValues = {};\n\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues;\n labelValues.domain = domainConstraints.labelValues;\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues;\n labelValues.range = rangeConstraints.labelValues;\n }\n\n this.setState({ gridValues, labelValues });\n onChange(updatedModel);\n };\n\n render() {\n const { classes, model, graphDimensions } = this.props;\n const {\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n domain,\n includeAxes,\n labels,\n range,\n standardGrid,\n title\n } = model || {};\n const graph = (model || {}).graph || {};\n const { enabled, min, max, step } = graphDimensions || {};\n const { gridValues, labelValues } = this.state;\n\n const sizeConstraints = {\n min: Math.max(150, min),\n max: Math.min(800, max),\n step: step >= 1 ? Math.min(200, step) : 20\n };\n\n return (\n <div className={classes.container}>\n <div className={classes.gridConfig}>\n <GridSetup\n domain={domain}\n dimensionsEnabled={enabled}\n gridValues={gridValues}\n includeAxes={includeAxes}\n labelValues={labelValues}\n range={range}\n size={graph}\n sizeConstraints={sizeConstraints}\n standardGrid={standardGrid}\n onChange={this.onConfigChange}\n />\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading2\" className={classes.subheading}>\n <span>Define Graph Attributes</span>\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.body}>\n <span>Use this interface to add/edit a title and/or labels, and to set background shapes</span>\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n marks={backgroundMarks}\n onChangeMarks={this.changeBackgroundMarks}\n range={range}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={allTools}\n />\n </div>\n </div>\n );\n }\n};\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
|
package/configure/lib/index.js
CHANGED
|
@@ -35,8 +35,6 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
35
35
|
|
|
36
36
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
37
37
|
|
|
38
|
-
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
39
|
-
|
|
40
38
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
41
39
|
|
|
42
40
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -45,13 +43,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
45
43
|
|
|
46
44
|
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; } }
|
|
47
45
|
|
|
48
|
-
var log = (0, _debug["default"])('pie-elements:graphing:configure');
|
|
46
|
+
var log = (0, _debug["default"])('pie-elements:graphing:configure'); // this function is implemented in controller as well
|
|
49
47
|
|
|
50
|
-
// this function is implemented in controller as well
|
|
51
48
|
var sortedAnswers = function sortedAnswers(answers) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
return Object.keys(answers || {}).sort().reduce(function (result, key) {
|
|
50
|
+
if (key !== 'correctAnswer') {
|
|
51
|
+
result[key] = answers[key];
|
|
52
|
+
}
|
|
53
|
+
|
|
55
54
|
return result;
|
|
56
55
|
}, {});
|
|
57
56
|
};
|
|
@@ -130,13 +129,31 @@ var GraphLinesConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
|
130
129
|
exports["default"] = GraphLinesConfigure;
|
|
131
130
|
(0, _defineProperty2["default"])(GraphLinesConfigure, "createDefaultModel", function () {
|
|
132
131
|
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
132
|
+
var _model$answers = model.answers,
|
|
133
|
+
answers = _model$answers === void 0 ? {} : _model$answers,
|
|
134
|
+
_model$domain = model.domain,
|
|
135
|
+
domain = _model$domain === void 0 ? {} : _model$domain,
|
|
136
|
+
_model$graph = model.graph,
|
|
137
|
+
graph = _model$graph === void 0 ? {} : _model$graph,
|
|
138
|
+
_model$range = model.range,
|
|
139
|
+
range = _model$range === void 0 ? {} : _model$range,
|
|
140
|
+
standardGrid = model.standardGrid;
|
|
141
|
+
|
|
142
|
+
var normalizedModel = _objectSpread(_objectSpread(_objectSpread({}, _defaults["default"].model), model), {}, {
|
|
143
|
+
answers: answers && answers.correctAnswer && _objectSpread({
|
|
144
|
+
correctAnswer: answers.correctAnswer
|
|
145
|
+
}, sortedAnswers(answers)) || answers,
|
|
146
|
+
range: standardGrid && _objectSpread(_objectSpread({}, range), {}, {
|
|
147
|
+
min: domain.min,
|
|
148
|
+
max: domain.max,
|
|
149
|
+
step: domain.step,
|
|
150
|
+
labelStep: domain.labelStep
|
|
151
|
+
}) || range,
|
|
152
|
+
graph: standardGrid && _objectSpread(_objectSpread({}, graph), {}, {
|
|
153
|
+
height: graph.width
|
|
154
|
+
}) || graph
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
return normalizedModel;
|
|
141
158
|
});
|
|
142
159
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","render","HTMLElement","
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","render","HTMLElement","domain","graph","range","standardGrid","normalizedModel","correctAnswer","min","max","step","labelStep","height","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport { DeleteImageEvent, InsertImageEvent, ModelUpdatedEvent } from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\n\nconst log = debug('pie-elements:graphing:configure');\n\n// this function is implemented in controller as well\nconst sortedAnswers = answers => Object.keys(answers || {}).sort().reduce((result, key) => {\n if (key !== 'correctAnswer') {\n result[key] = answers[key];\n }\n\n return result;\n}, {});\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const { answers = {}, domain = {}, graph = {}, range = {}, standardGrid } = model;\n const normalizedModel = {\n ...defaultValues.model,\n ...model,\n answers: answers && answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers)\n } || answers,\n range: standardGrid && {\n ...range,\n min: domain.min,\n max: domain.max,\n step: domain.step,\n labelStep: domain.labelStep\n } || range,\n graph: standardGrid && { ...graph, height: graph.width } || graph\n };\n\n return normalizedModel;\n };\n\n constructor() {\n super();\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n onModelChanged = (model) => {\n this._model = model;\n this._render();\n\n log('[onModelChanged]: ', this._model);\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n };\n\n onConfigurationChanged = (config) => {\n this._configuration = config;\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n }\n });\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}
|