@pie-element/graphing 3.7.21 → 4.0.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 +36 -0
- package/configure/CHANGELOG.md +36 -0
- package/configure/lib/configure.js +71 -48
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +101 -17
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/lib/defaults.js +45 -7
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/graphing-config.js +170 -181
- package/configure/lib/graphing-config.js.map +1 -1
- package/configure/lib/index.js +39 -14
- 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 +25 -0
- package/controller/lib/defaults.js +2 -0
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +19 -20
- 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 +370 -10
- package/docs/config-schema.json.md +284 -11
- package/docs/demo/generate.js +1 -0
- package/docs/pie-schema.json +217 -6
- package/docs/pie-schema.json.md +171 -7
- package/lib/main.js +2 -0
- package/lib/main.js.map +1 -1
- package/package.json +6 -6
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
6
|
|
|
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
|
+
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
13
|
|
|
12
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
15
|
|
|
@@ -25,25 +27,19 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
25
27
|
|
|
26
28
|
var React = _interopRequireWildcard(require("react"));
|
|
27
29
|
|
|
28
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
29
|
-
|
|
30
30
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
31
|
|
|
32
|
-
var _configUi = require("@pie-lib/config-ui");
|
|
33
|
-
|
|
34
32
|
var _graphing = require("@pie-lib/graphing");
|
|
35
33
|
|
|
36
34
|
var _core = require("@material-ui/core");
|
|
37
35
|
|
|
38
36
|
var _styles = require("@material-ui/core/styles");
|
|
39
37
|
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
var _this = void 0;
|
|
38
|
+
var _utils = require("./utils");
|
|
43
39
|
|
|
44
40
|
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); }
|
|
45
41
|
|
|
46
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
42
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
47
43
|
|
|
48
44
|
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; }
|
|
49
45
|
|
|
@@ -53,111 +49,26 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
53
49
|
|
|
54
50
|
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; } }
|
|
55
51
|
|
|
56
|
-
var _tools$allTools = _graphing.tools.allTools,
|
|
57
|
-
allTools = _tools$allTools === void 0 ? [] : _tools$allTools;
|
|
58
|
-
|
|
59
|
-
var AuthoringColumn = function AuthoringColumn(_ref) {
|
|
60
|
-
var columnKey = _ref.columnKey,
|
|
61
|
-
axis = _ref.axis,
|
|
62
|
-
classes = _ref.classes,
|
|
63
|
-
model = _ref.model;
|
|
64
|
-
var rows = [{
|
|
65
|
-
key: '${columnKey}-min-max',
|
|
66
|
-
inputs: [{
|
|
67
|
-
key: "".concat(columnKey, ".min"),
|
|
68
|
-
label: 'Min value',
|
|
69
|
-
className: classes.smallInput
|
|
70
|
-
}, {
|
|
71
|
-
key: "".concat(columnKey, ".max"),
|
|
72
|
-
label: 'Max value',
|
|
73
|
-
className: classes.smallInput
|
|
74
|
-
}]
|
|
75
|
-
}, {
|
|
76
|
-
key: "".concat(columnKey, "-tick-frequency"),
|
|
77
|
-
inputs: [{
|
|
78
|
-
key: "".concat(columnKey, ".step"),
|
|
79
|
-
label: 'Tick frequency'
|
|
80
|
-
}]
|
|
81
|
-
}, {
|
|
82
|
-
key: "".concat(columnKey, "-tick-label-frequency"),
|
|
83
|
-
inputs: [{
|
|
84
|
-
key: "".concat(columnKey, ".labelStep"),
|
|
85
|
-
label: 'Tick label frequency'
|
|
86
|
-
}]
|
|
87
|
-
}, {
|
|
88
|
-
key: "".concat(columnKey, "-axis-label"),
|
|
89
|
-
inputs: [{
|
|
90
|
-
type: 'text',
|
|
91
|
-
key: "".concat(axis, "-axis-label-input"),
|
|
92
|
-
label: "".concat(axis, " Axis Label")
|
|
93
|
-
}]
|
|
94
|
-
}];
|
|
95
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
96
|
-
className: classes.column,
|
|
97
|
-
key: columnKey
|
|
98
|
-
}, "".concat(columnKey.toUpperCase(), " (").concat(axis.toUpperCase(), ")"), rows.map(function (row) {
|
|
99
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
100
|
-
className: classes.row,
|
|
101
|
-
key: row.key
|
|
102
|
-
}, row.inputs.map(function (input) {
|
|
103
|
-
if (input.type === 'text') {
|
|
104
|
-
return /*#__PURE__*/React.createElement(_core.TextField, {
|
|
105
|
-
className: classes.input,
|
|
106
|
-
label: input.label.toUpperCase(),
|
|
107
|
-
value: model["".concat(axis, "AxisLabel")],
|
|
108
|
-
onChange: function onChange(_ref2) {
|
|
109
|
-
var target = _ref2.target;
|
|
110
|
-
return _this.onChangeInputValue("".concat(axis, "AxisLabel"), target.value);
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return /*#__PURE__*/React.createElement(_core.TextField, {
|
|
116
|
-
type: "number",
|
|
117
|
-
key: input.key,
|
|
118
|
-
label: input.label.toUpperCase(),
|
|
119
|
-
onChange: function onChange(event, value) {
|
|
120
|
-
return _this.onChangeInputValue(input.key, value);
|
|
121
|
-
},
|
|
122
|
-
value: (0, _lodash.get)(model, input.key),
|
|
123
|
-
className: input.className || classes.input
|
|
124
|
-
});
|
|
125
|
-
}));
|
|
126
|
-
}));
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
exports.AuthoringColumn = AuthoringColumn;
|
|
130
|
-
AuthoringColumn.propTypes = {
|
|
131
|
-
axis: _propTypes["default"].String,
|
|
132
|
-
classes: _propTypes["default"].object,
|
|
133
|
-
columnKey: _propTypes["default"].String,
|
|
134
|
-
model: _propTypes["default"].object
|
|
135
|
-
};
|
|
136
|
-
|
|
137
52
|
var styles = function styles(theme) {
|
|
138
53
|
return {
|
|
139
54
|
container: {
|
|
140
|
-
marginTop: theme.spacing.unit * 3,
|
|
141
|
-
marginBottom: theme.spacing.unit * 3,
|
|
142
55
|
display: 'flex',
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
column: {
|
|
146
|
-
flex: 1
|
|
147
|
-
},
|
|
148
|
-
row: {
|
|
149
|
-
marginTop: theme.spacing.unit * 2,
|
|
150
|
-
flex: 1
|
|
56
|
+
flexWrap: 'wrap',
|
|
57
|
+
marginBottom: theme.spacing.unit * 7
|
|
151
58
|
},
|
|
152
|
-
|
|
59
|
+
gridConfig: {
|
|
153
60
|
display: 'flex',
|
|
154
|
-
flexDirection: '
|
|
61
|
+
flexDirection: 'column',
|
|
62
|
+
marginRight: theme.spacing.unit * 4,
|
|
63
|
+
marginBottom: theme.spacing.unit * 3
|
|
155
64
|
},
|
|
156
|
-
|
|
157
|
-
|
|
65
|
+
graphConfig: {
|
|
66
|
+
display: 'flex',
|
|
67
|
+
flexDirection: 'column'
|
|
158
68
|
},
|
|
159
|
-
|
|
160
|
-
|
|
69
|
+
subtitleText: {
|
|
70
|
+
marginTop: theme.spacing.unit * 1.5,
|
|
71
|
+
marginBottom: theme.spacing.unit
|
|
161
72
|
}
|
|
162
73
|
};
|
|
163
74
|
};
|
|
@@ -167,99 +78,176 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
167
78
|
|
|
168
79
|
var _super = _createSuper(GraphingConfig);
|
|
169
80
|
|
|
170
|
-
function GraphingConfig() {
|
|
171
|
-
var
|
|
81
|
+
function GraphingConfig(props) {
|
|
82
|
+
var _this;
|
|
172
83
|
|
|
173
84
|
(0, _classCallCheck2["default"])(this, GraphingConfig);
|
|
85
|
+
_this = _super.call(this, props);
|
|
86
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeBackgroundMarks", function (backgroundMarks) {
|
|
87
|
+
var model = _objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
88
|
+
backgroundMarks: backgroundMarks
|
|
89
|
+
});
|
|
174
90
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
91
|
+
_this.props.onChange(model);
|
|
92
|
+
});
|
|
93
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChange", function (config) {
|
|
94
|
+
var _this$props = _this.props,
|
|
95
|
+
model = _this$props.model,
|
|
96
|
+
onChange = _this$props.onChange;
|
|
97
|
+
var _this$state = _this.state,
|
|
98
|
+
oldGridValues = _this$state.gridValues,
|
|
99
|
+
oldLabelValues = _this$state.labelValues;
|
|
100
|
+
|
|
101
|
+
var updatedModel = _objectSpread(_objectSpread({}, model), config);
|
|
102
|
+
|
|
103
|
+
var domain = updatedModel.domain,
|
|
104
|
+
includeAxes = updatedModel.includeAxes,
|
|
105
|
+
graph = updatedModel.graph,
|
|
106
|
+
range = updatedModel.range,
|
|
107
|
+
standardGrid = updatedModel.standardGrid;
|
|
108
|
+
var gridValues = {
|
|
109
|
+
domain: [],
|
|
110
|
+
range: []
|
|
111
|
+
};
|
|
112
|
+
var labelValues = {
|
|
113
|
+
domain: [],
|
|
114
|
+
range: []
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
if (includeAxes) {
|
|
118
|
+
var domainConstraints = (0, _utils.applyConstraints)(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);
|
|
119
|
+
gridValues.domain = domainConstraints.gridValues || [];
|
|
120
|
+
labelValues.domain = domainConstraints.labelValues || [];
|
|
121
|
+
}
|
|
178
122
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
123
|
+
if (standardGrid) {
|
|
124
|
+
gridValues.range = gridValues.domain;
|
|
125
|
+
labelValues.range = labelValues.domain;
|
|
126
|
+
range.step = domain.step;
|
|
127
|
+
range.labelStep = domain.labelStep;
|
|
128
|
+
} else {
|
|
129
|
+
if (includeAxes) {
|
|
130
|
+
var rangeConstraints = (0, _utils.applyConstraints)(range, graph.height, oldGridValues.range, oldLabelValues.range);
|
|
131
|
+
gridValues.range = rangeConstraints.gridValues || [];
|
|
132
|
+
labelValues.range = rangeConstraints.labelValues || [];
|
|
133
|
+
}
|
|
134
|
+
}
|
|
183
135
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
var _this2$props = _this2.props,
|
|
188
|
-
classes = _this2$props.classes,
|
|
189
|
-
model = _this2$props.model;
|
|
190
|
-
return /*#__PURE__*/React.createElement(_configUi.NumberTextField, {
|
|
191
|
-
key: key,
|
|
192
|
-
label: label.toUpperCase(),
|
|
193
|
-
onChange: function onChange(event, value) {
|
|
194
|
-
return _this2.onChangeInputValue(key, value);
|
|
195
|
-
},
|
|
196
|
-
value: (0, _lodash.get)(model, key),
|
|
197
|
-
className: className || classes.input
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "renderRow", function (key, content) {
|
|
201
|
-
var classes = _this2.props.classes;
|
|
202
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
203
|
-
className: classes.row,
|
|
204
|
-
key: key
|
|
205
|
-
}, content);
|
|
206
|
-
});
|
|
207
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "changeBackgroundMarks", function (backgroundMarks) {
|
|
208
|
-
var model = _objectSpread(_objectSpread({}, _this2.props.model), {}, {
|
|
209
|
-
backgroundMarks: backgroundMarks
|
|
136
|
+
_this.setState({
|
|
137
|
+
gridValues: gridValues,
|
|
138
|
+
labelValues: labelValues
|
|
210
139
|
});
|
|
211
140
|
|
|
212
|
-
|
|
141
|
+
onChange(updatedModel);
|
|
213
142
|
});
|
|
214
|
-
|
|
143
|
+
|
|
144
|
+
var _ref = props.model || {},
|
|
145
|
+
_domain = _ref.domain,
|
|
146
|
+
_range = _ref.range,
|
|
147
|
+
_graph = _ref.graph;
|
|
148
|
+
|
|
149
|
+
var _gridValues = {
|
|
150
|
+
domain: (0, _utils.getGridValues)(_domain, _graph.width, true),
|
|
151
|
+
range: (0, _utils.getGridValues)(_range, _graph.height, true)
|
|
152
|
+
};
|
|
153
|
+
var _labelValues = {
|
|
154
|
+
domain: (0, _utils.getLabelValues)(_domain.step),
|
|
155
|
+
range: (0, _utils.getLabelValues)(_range.step)
|
|
156
|
+
};
|
|
157
|
+
_this.state = {
|
|
158
|
+
gridValues: _gridValues,
|
|
159
|
+
labelValues: _labelValues
|
|
160
|
+
};
|
|
161
|
+
return _this;
|
|
215
162
|
}
|
|
216
163
|
|
|
217
164
|
(0, _createClass2["default"])(GraphingConfig, [{
|
|
218
165
|
key: "render",
|
|
219
166
|
value: function render() {
|
|
220
|
-
var _this$
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
167
|
+
var _this$props2 = this.props,
|
|
168
|
+
_this$props2$authorin = _this$props2.authoring,
|
|
169
|
+
authoring = _this$props2$authorin === void 0 ? {} : _this$props2$authorin,
|
|
170
|
+
_this$props2$availabl = _this$props2.availableTools,
|
|
171
|
+
availableTools = _this$props2$availabl === void 0 ? [] : _this$props2$availabl,
|
|
172
|
+
classes = _this$props2.classes,
|
|
173
|
+
model = _this$props2.model,
|
|
174
|
+
_this$props2$graphDim = _this$props2.graphDimensions,
|
|
175
|
+
graphDimensions = _this$props2$graphDim === void 0 ? {} : _this$props2$graphDim;
|
|
176
|
+
|
|
177
|
+
var _ref2 = model || {},
|
|
178
|
+
arrows = _ref2.arrows,
|
|
179
|
+
backgroundMarks = _ref2.backgroundMarks,
|
|
180
|
+
coordinatesOnHover = _ref2.coordinatesOnHover,
|
|
181
|
+
domain = _ref2.domain,
|
|
182
|
+
includeAxes = _ref2.includeAxes,
|
|
183
|
+
labels = _ref2.labels,
|
|
184
|
+
range = _ref2.range,
|
|
185
|
+
standardGrid = _ref2.standardGrid,
|
|
186
|
+
title = _ref2.title;
|
|
187
|
+
|
|
188
|
+
var graph = (model || {}).graph || {};
|
|
189
|
+
|
|
190
|
+
var _ref3 = graphDimensions || {},
|
|
191
|
+
dimensionsEnabled = _ref3.enabled,
|
|
192
|
+
min = _ref3.min,
|
|
193
|
+
max = _ref3.max,
|
|
194
|
+
step = _ref3.step;
|
|
195
|
+
|
|
196
|
+
var _this$state2 = this.state,
|
|
197
|
+
gridValues = _this$state2.gridValues,
|
|
198
|
+
labelValues = _this$state2.labelValues;
|
|
199
|
+
var sizeConstraints = {
|
|
200
|
+
min: Math.max(150, min),
|
|
201
|
+
max: Math.min(800, max),
|
|
202
|
+
step: step >= 1 ? Math.min(200, step) : 20
|
|
203
|
+
};
|
|
204
|
+
var displayedFields = {
|
|
205
|
+
axisLabel: authoring.axisLabel,
|
|
206
|
+
dimensionsEnabled: dimensionsEnabled,
|
|
207
|
+
includeAxesEnabled: authoring.includeAxesEnabled,
|
|
208
|
+
labelStep: authoring.labelStep,
|
|
209
|
+
min: authoring.min,
|
|
210
|
+
max: authoring.max,
|
|
211
|
+
standardGridEnabled: authoring.standardGridEnabled,
|
|
212
|
+
step: authoring.step
|
|
213
|
+
};
|
|
214
|
+
var displayGridSetup = authoring.enabled && Object.values(displayedFields).some(function (field) {
|
|
215
|
+
return (0, _typeof2["default"])(field) === 'object' ? field.enabled : field;
|
|
216
|
+
});
|
|
217
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
237
218
|
className: classes.container
|
|
238
|
-
},
|
|
239
|
-
className:
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
219
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
220
|
+
className: classes.gridConfig
|
|
221
|
+
}, displayGridSetup && /*#__PURE__*/React.createElement(_graphing.GridSetup, {
|
|
222
|
+
displayedFields: displayedFields,
|
|
223
|
+
domain: domain,
|
|
224
|
+
dimensionsEnabled: dimensionsEnabled,
|
|
225
|
+
gridValues: gridValues,
|
|
226
|
+
includeAxes: includeAxes,
|
|
227
|
+
labelValues: labelValues,
|
|
228
|
+
range: range,
|
|
229
|
+
size: graph,
|
|
230
|
+
sizeConstraints: sizeConstraints,
|
|
231
|
+
standardGrid: standardGrid,
|
|
232
|
+
onChange: this.onConfigChange
|
|
251
233
|
})), /*#__PURE__*/React.createElement("div", {
|
|
252
|
-
className: classes.
|
|
234
|
+
className: classes.graphConfig,
|
|
253
235
|
key: "graph"
|
|
254
236
|
}, /*#__PURE__*/React.createElement(_core.Typography, {
|
|
255
237
|
component: "div",
|
|
256
|
-
|
|
257
|
-
}, /*#__PURE__*/React.createElement("span", null, "
|
|
238
|
+
variant: "subheading"
|
|
239
|
+
}, /*#__PURE__*/React.createElement("span", null, "Define Graph Attributes")), /*#__PURE__*/React.createElement(_core.Typography, {
|
|
240
|
+
component: "div",
|
|
241
|
+
variant: "body1",
|
|
242
|
+
className: classes.subtitleText
|
|
243
|
+
}, /*#__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, {
|
|
258
244
|
axesSettings: {
|
|
259
245
|
includeArrows: arrows
|
|
260
246
|
},
|
|
261
247
|
backgroundMarks: [],
|
|
262
248
|
coordinatesOnHover: coordinatesOnHover,
|
|
249
|
+
collapsibleToolbar: true,
|
|
250
|
+
collapsibleToolbarTitle: 'Add Background Shapes to Graph',
|
|
263
251
|
domain: domain,
|
|
264
252
|
key: "graphing-config",
|
|
265
253
|
labels: labels,
|
|
@@ -271,8 +259,8 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
271
259
|
height: graph.height
|
|
272
260
|
},
|
|
273
261
|
title: title,
|
|
274
|
-
toolbarTools:
|
|
275
|
-
})))
|
|
262
|
+
toolbarTools: availableTools
|
|
263
|
+
})));
|
|
276
264
|
}
|
|
277
265
|
}]);
|
|
278
266
|
return GraphingConfig;
|
|
@@ -281,9 +269,10 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
281
269
|
exports.GraphingConfig = GraphingConfig;
|
|
282
270
|
(0, _defineProperty2["default"])(GraphingConfig, "propTypes", {
|
|
283
271
|
classes: _propTypes["default"].object.isRequired,
|
|
272
|
+
authoring: _propTypes["default"].object,
|
|
273
|
+
graphDimensions: _propTypes["default"].object,
|
|
284
274
|
model: _propTypes["default"].object.isRequired,
|
|
285
|
-
onChange: _propTypes["default"].func.isRequired
|
|
286
|
-
authoringEnabled: _propTypes["default"].bool
|
|
275
|
+
onChange: _propTypes["default"].func.isRequired
|
|
287
276
|
});
|
|
288
277
|
;
|
|
289
278
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphing-config.jsx"],"names":["tools","allTools","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","arrows","coordinatesOnHover","domain","graph","labels","range","title","includeArrows","changeBackgroundMarks","height","React","Component","isRequired","func","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { NumberTextField } from '@pie-lib/config-ui';\nimport { GraphContainer, tools } from '@pie-lib/graphing';\nimport { TextField, Typography } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { get, set } from 'lodash';\n\nconst { allTools = [] } = tools;\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 const { arrows, backgroundMarks, coordinatesOnHover, domain, graph = {}, labels, range, title } = model || {};\n\n return (\n <div>\n Define Graph Attributes\n\n <div className={classes.container}>\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={allTools}\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":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfig","flexDirection","marginRight","graphConfig","subtitleText","marginTop","GraphingConfig","props","backgroundMarks","model","onChange","config","state","oldGridValues","gridValues","oldLabelValues","labelValues","updatedModel","domain","includeAxes","graph","range","standardGrid","domainConstraints","width","step","labelStep","rangeConstraints","height","setState","authoring","availableTools","classes","graphDimensions","arrows","coordinatesOnHover","labels","title","dimensionsEnabled","enabled","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","onConfigChange","includeArrows","changeBackgroundMarks","React","Component","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } 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 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 subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit\n }\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n authoring: PropTypes.object,\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, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\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 if (includeAxes) {\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\n this.setState({ gridValues, labelValues });\n onChange(updatedModel);\n };\n\n render() {\n const { authoring = {}, availableTools = [], 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: dimensionsEnabled, 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 const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: authoring.includeAxesEnabled,\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step\n };\n\n const displayGridSetup = authoring.enabled &&\n Object.values(displayedFields).some(field => typeof field === 'object' ? field.enabled : field);\n\n return (\n <div className={classes.container}>\n <div className={classes.gridConfig}>\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n dimensionsEnabled={dimensionsEnabled}\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 )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n <span>Define Graph Attributes</span>\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\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 collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\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={availableTools}\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
|
};
|
|
@@ -131,12 +130,38 @@ exports["default"] = GraphLinesConfigure;
|
|
|
131
130
|
(0, _defineProperty2["default"])(GraphLinesConfigure, "createDefaultModel", function () {
|
|
132
131
|
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
133
132
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
133
|
+
var normalizedModel = _objectSpread(_objectSpread({}, _defaults["default"].model), model);
|
|
134
|
+
|
|
135
|
+
var _normalizedModel$answ = normalizedModel.answers,
|
|
136
|
+
answers = _normalizedModel$answ === void 0 ? {} : _normalizedModel$answ,
|
|
137
|
+
_normalizedModel$doma = normalizedModel.domain,
|
|
138
|
+
domain = _normalizedModel$doma === void 0 ? {} : _normalizedModel$doma,
|
|
139
|
+
defaultTool = normalizedModel.defaultTool,
|
|
140
|
+
_normalizedModel$grap = normalizedModel.graph,
|
|
141
|
+
graph = _normalizedModel$grap === void 0 ? {} : _normalizedModel$grap,
|
|
142
|
+
_normalizedModel$rang = normalizedModel.range,
|
|
143
|
+
range = _normalizedModel$rang === void 0 ? {} : _normalizedModel$rang,
|
|
144
|
+
standardGrid = normalizedModel.standardGrid,
|
|
145
|
+
toolbarTools = normalizedModel.toolbarTools; // added support for models without defaultTool defined; also used in packages/graphing/controller/src/index.js
|
|
146
|
+
|
|
147
|
+
var toolbarToolsNoLabel = (toolbarTools || []).filter(function (tool) {
|
|
148
|
+
return tool !== 'label';
|
|
149
|
+
});
|
|
150
|
+
var normalizedDefaultTool = defaultTool || toolbarToolsNoLabel.length && toolbarToolsNoLabel[0] || '';
|
|
151
|
+
return _objectSpread(_objectSpread({}, normalizedModel), {}, {
|
|
152
|
+
answers: answers && answers.correctAnswer && _objectSpread({
|
|
153
|
+
correctAnswer: answers.correctAnswer
|
|
154
|
+
}, sortedAnswers(answers)) || answers,
|
|
155
|
+
defaultTool: normalizedDefaultTool,
|
|
156
|
+
range: standardGrid && _objectSpread(_objectSpread({}, range), {}, {
|
|
157
|
+
min: domain.min,
|
|
158
|
+
max: domain.max,
|
|
159
|
+
step: domain.step,
|
|
160
|
+
labelStep: domain.labelStep
|
|
161
|
+
}) || range,
|
|
162
|
+
graph: standardGrid && _objectSpread(_objectSpread({}, graph), {}, {
|
|
163
|
+
height: graph.width
|
|
164
|
+
}) || graph
|
|
165
|
+
});
|
|
141
166
|
});
|
|
142
167
|
//# 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","normalizedModel","domain","defaultTool","graph","range","standardGrid","toolbarTools","toolbarToolsNoLabel","filter","tool","normalizedDefaultTool","length","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 normalizedModel = { ...defaultValues.model, ...model };\n const {\n answers = {},\n domain = {},\n defaultTool,\n graph = {},\n range = {},\n standardGrid,\n toolbarTools\n } = normalizedModel;\n\n // added support for models without defaultTool defined; also used in packages/graphing/controller/src/index.js\n const toolbarToolsNoLabel = (toolbarTools || []).filter(tool => tool !== 'label');\n const normalizedDefaultTool = defaultTool || toolbarToolsNoLabel.length && toolbarToolsNoLabel[0] || '';\n\n return {\n ...normalizedModel,\n answers: answers && answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers)\n } || answers,\n defaultTool: normalizedDefaultTool,\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\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"}
|