@pie-element/charting 5.6.0 → 5.6.1-beta.1
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/configure/package.json +5 -5
- package/controller/package.json +3 -3
- package/package.json +7 -6
- package/configure/lib/charting-config.js +0 -236
- package/configure/lib/charting-config.js.map +0 -1
- package/configure/lib/configure.js +0 -340
- package/configure/lib/configure.js.map +0 -1
- package/configure/lib/correct-response.js +0 -324
- package/configure/lib/correct-response.js.map +0 -1
- package/configure/lib/defaults.js +0 -118
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/index.js +0 -149
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/utils.js +0 -95
- package/configure/lib/utils.js.map +0 -1
- package/controller/lib/defaults.js +0 -15
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -357
- package/controller/lib/index.js.map +0 -1
- package/lib/index.js +0 -115
- package/lib/index.js.map +0 -1
- package/lib/main.js +0 -197
- package/lib/main.js.map +0 -1
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = exports.CorrectResponse = void 0;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
25
|
-
|
|
26
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
27
|
-
|
|
28
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
-
|
|
30
|
-
var React = _interopRequireWildcard(require("react"));
|
|
31
|
-
|
|
32
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
-
|
|
34
|
-
var _styles = require("@material-ui/core/styles");
|
|
35
|
-
|
|
36
|
-
var _charting = require("@pie-lib/charting");
|
|
37
|
-
|
|
38
|
-
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
39
|
-
|
|
40
|
-
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
41
|
-
|
|
42
|
-
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
43
|
-
|
|
44
|
-
var _excluded = ["editable", "interactive", "deletable"],
|
|
45
|
-
_excluded2 = ["interactive", "editable", "index"];
|
|
46
|
-
|
|
47
|
-
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); }
|
|
48
|
-
|
|
49
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
50
|
-
|
|
51
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
52
|
-
|
|
53
|
-
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; } }
|
|
54
|
-
|
|
55
|
-
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; }
|
|
56
|
-
|
|
57
|
-
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; }
|
|
58
|
-
|
|
59
|
-
var styles = function styles(theme) {
|
|
60
|
-
return {
|
|
61
|
-
container: {
|
|
62
|
-
marginTop: theme.spacing.unit * 3,
|
|
63
|
-
marginBottom: theme.spacing.unit * 3,
|
|
64
|
-
display: 'flex',
|
|
65
|
-
flex: 1
|
|
66
|
-
},
|
|
67
|
-
button: {
|
|
68
|
-
marginTop: theme.spacing.unit * 3,
|
|
69
|
-
cursor: 'pointer',
|
|
70
|
-
background: '#eee',
|
|
71
|
-
padding: theme.spacing.unit * 2,
|
|
72
|
-
width: 'fit-content',
|
|
73
|
-
borderRadius: '4px'
|
|
74
|
-
},
|
|
75
|
-
column: {
|
|
76
|
-
flex: 1
|
|
77
|
-
},
|
|
78
|
-
chartError: {
|
|
79
|
-
border: '2px solid red'
|
|
80
|
-
},
|
|
81
|
-
errorText: {
|
|
82
|
-
fontSize: theme.typography.fontSize - 2,
|
|
83
|
-
color: 'red',
|
|
84
|
-
paddingTop: theme.spacing.unit
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
var addCategoryProps = function addCategoryProps(correctAnswer, data) {
|
|
90
|
-
return correctAnswer.map(function (correct, index) {
|
|
91
|
-
return _objectSpread(_objectSpread({}, correct), {}, {
|
|
92
|
-
editable: index < data.length ? data[index].editable : true,
|
|
93
|
-
interactive: index < data.length ? data[index].interactive : true,
|
|
94
|
-
deletable: index >= data.length ? true : false
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
var updateCorrectResponseData = function updateCorrectResponseData(correctAnswer, data) {
|
|
100
|
-
if (!correctAnswer) {
|
|
101
|
-
return data;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
var correctAnswerData = (0, _toConsumableArray2["default"])(correctAnswer);
|
|
105
|
-
var correctResponseDefinition = [];
|
|
106
|
-
data.forEach(function (category, currentIndex) {
|
|
107
|
-
var _correctAnswer$curren, _correctAnswer$curren2, _correctAnswer$curren3;
|
|
108
|
-
|
|
109
|
-
var editable = category.editable;
|
|
110
|
-
var interactive = category.interactive;
|
|
111
|
-
var label = editable && (_correctAnswer$curren = correctAnswer[currentIndex]) !== null && _correctAnswer$curren !== void 0 && _correctAnswer$curren.label ? correctAnswer[currentIndex].label : category.label;
|
|
112
|
-
var value = interactive && (_correctAnswer$curren2 = correctAnswer[currentIndex]) !== null && _correctAnswer$curren2 !== void 0 && _correctAnswer$curren2.value || interactive && ((_correctAnswer$curren3 = correctAnswer[currentIndex]) === null || _correctAnswer$curren3 === void 0 ? void 0 : _correctAnswer$curren3.value) == 0 ? correctAnswer[currentIndex].value : category.value;
|
|
113
|
-
correctResponseDefinition[currentIndex] = {
|
|
114
|
-
label: label,
|
|
115
|
-
value: value,
|
|
116
|
-
editable: category.editable,
|
|
117
|
-
interactive: category.interactive
|
|
118
|
-
};
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
if (correctResponseDefinition.length < correctAnswer.length) {
|
|
122
|
-
var missingCategories = correctAnswerData.slice(correctResponseDefinition.length, correctAnswer.length);
|
|
123
|
-
return addCategoryProps(correctResponseDefinition.concat(missingCategories), data);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return correctResponseDefinition;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
var insertCategory = function insertCategory(correctAnswer, data) {
|
|
130
|
-
var positionToInsert = data.length - 1;
|
|
131
|
-
var _data = data[data.length - 1],
|
|
132
|
-
editable = _data.editable,
|
|
133
|
-
interactive = _data.interactive,
|
|
134
|
-
deletable = _data.deletable,
|
|
135
|
-
categoryToInsert = (0, _objectWithoutProperties2["default"])(_data, _excluded);
|
|
136
|
-
correctAnswer.splice(positionToInsert, 0, categoryToInsert);
|
|
137
|
-
var correctAnswerData = (0, _toConsumableArray2["default"])(correctAnswer);
|
|
138
|
-
return addCategoryProps(correctAnswerData, data);
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
var removeCategory = function removeCategory(correctAnswer, data, positionToRemove) {
|
|
142
|
-
correctAnswer.splice(positionToRemove, 1);
|
|
143
|
-
var correctAnswerData = (0, _toConsumableArray2["default"])(correctAnswer);
|
|
144
|
-
return addCategoryProps(correctAnswerData, data);
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
var CorrectResponse = /*#__PURE__*/function (_React$Component) {
|
|
148
|
-
(0, _inherits2["default"])(CorrectResponse, _React$Component);
|
|
149
|
-
|
|
150
|
-
var _super = _createSuper(CorrectResponse);
|
|
151
|
-
|
|
152
|
-
function CorrectResponse(props) {
|
|
153
|
-
var _this;
|
|
154
|
-
|
|
155
|
-
(0, _classCallCheck2["default"])(this, CorrectResponse);
|
|
156
|
-
_this = _super.call(this, props);
|
|
157
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeData", function (data) {
|
|
158
|
-
var _this$props = _this.props,
|
|
159
|
-
model = _this$props.model,
|
|
160
|
-
onChange = _this$props.onChange;
|
|
161
|
-
|
|
162
|
-
var _ref = model || {},
|
|
163
|
-
correctAnswer = _ref.correctAnswer;
|
|
164
|
-
|
|
165
|
-
onChange(_objectSpread(_objectSpread({}, model), {}, {
|
|
166
|
-
correctAnswer: _objectSpread(_objectSpread({}, correctAnswer), {}, {
|
|
167
|
-
data: data.map(function (_ref2) {
|
|
168
|
-
var interactive = _ref2.interactive,
|
|
169
|
-
editable = _ref2.editable,
|
|
170
|
-
index = _ref2.index,
|
|
171
|
-
keepAttrs = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
|
|
172
|
-
return keepAttrs;
|
|
173
|
-
})
|
|
174
|
-
})
|
|
175
|
-
}));
|
|
176
|
-
});
|
|
177
|
-
_this.state = {
|
|
178
|
-
categories: updateCorrectResponseData(props.model.correctAnswer.data, props.model.data)
|
|
179
|
-
};
|
|
180
|
-
return _this;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
(0, _createClass2["default"])(CorrectResponse, [{
|
|
184
|
-
key: "UNSAFE_componentWillReceiveProps",
|
|
185
|
-
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
186
|
-
var _nextProps$model = nextProps.model;
|
|
187
|
-
_nextProps$model = _nextProps$model === void 0 ? {} : _nextProps$model;
|
|
188
|
-
var _nextProps$model$data = _nextProps$model.data,
|
|
189
|
-
nextData = _nextProps$model$data === void 0 ? [] : _nextProps$model$data,
|
|
190
|
-
_nextProps$model$corr = _nextProps$model.correctAnswer.data,
|
|
191
|
-
nextCorrectAnswerData = _nextProps$model$corr === void 0 ? [] : _nextProps$model$corr;
|
|
192
|
-
var _this$props$model = this.props.model;
|
|
193
|
-
_this$props$model = _this$props$model === void 0 ? {} : _this$props$model;
|
|
194
|
-
var _this$props$model$dat = _this$props$model.data,
|
|
195
|
-
data = _this$props$model$dat === void 0 ? [] : _this$props$model$dat;
|
|
196
|
-
var categories = this.state.categories;
|
|
197
|
-
var nextCategories = [];
|
|
198
|
-
|
|
199
|
-
if (nextData.length > data.length) {
|
|
200
|
-
nextCategories = insertCategory(nextCorrectAnswerData, nextData);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
if (nextData.length < data.length) {
|
|
204
|
-
var removedIndex = nextData.length; // we need to remove the category from the correct answer data and categories, from the same index it was removed from the data
|
|
205
|
-
// index is a property of the nextData category
|
|
206
|
-
|
|
207
|
-
for (var index = 0; index < nextData.length; index++) {
|
|
208
|
-
if (nextData[index].index !== index) {
|
|
209
|
-
removedIndex = index;
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
this.props.model.correctAnswer.data.splice(removedIndex, 1);
|
|
215
|
-
nextCategories = removeCategory(categories, nextData, removedIndex);
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
if (!(0, _isEqual["default"])(nextCorrectAnswerData, this.props.model.correctAnswer.data)) {
|
|
219
|
-
nextCategories = nextCorrectAnswerData.map(function (correct, index) {
|
|
220
|
-
return _objectSpread(_objectSpread({}, correct), {}, {
|
|
221
|
-
editable: index < data.length ? data[index].editable : true,
|
|
222
|
-
interactive: index < data.length ? data[index].interactive : true
|
|
223
|
-
});
|
|
224
|
-
});
|
|
225
|
-
} else if ((0, _isEmpty["default"])(nextCategories)) {
|
|
226
|
-
nextCategories = updateCorrectResponseData(nextCorrectAnswerData, nextData);
|
|
227
|
-
nextCorrectAnswerData.map(function (answer, currentIndex) {
|
|
228
|
-
var dataExists = currentIndex < nextData.length;
|
|
229
|
-
var label;
|
|
230
|
-
var value;
|
|
231
|
-
var deletable;
|
|
232
|
-
|
|
233
|
-
if (dataExists) {
|
|
234
|
-
label = nextData[currentIndex].editable ? answer.label : nextData[currentIndex].label;
|
|
235
|
-
value = nextData[currentIndex].interactive ? answer.value : nextData[currentIndex].value;
|
|
236
|
-
} else {
|
|
237
|
-
label = answer.label;
|
|
238
|
-
value = answer.value;
|
|
239
|
-
deletable = true;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
nextCorrectAnswerData[currentIndex] = {
|
|
243
|
-
label: label,
|
|
244
|
-
value: value
|
|
245
|
-
};
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
if (!(0, _isEqual["default"])(nextCategories, data) || !(0, _isEqual["default"])(nextCorrectAnswerData, categories) || !(0, _isEqual["default"])(nextCategories, categories) || (0, _isEmpty["default"])(nextCategories) && (0, _isEmpty["default"])(data)) {
|
|
250
|
-
this.setState({
|
|
251
|
-
categories: nextCategories
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}, {
|
|
256
|
-
key: "render",
|
|
257
|
-
value: function render() {
|
|
258
|
-
var _this2 = this;
|
|
259
|
-
|
|
260
|
-
var _this$props2 = this.props,
|
|
261
|
-
classes = _this$props2.classes,
|
|
262
|
-
model = _this$props2.model,
|
|
263
|
-
charts = _this$props2.charts,
|
|
264
|
-
error = _this$props2.error,
|
|
265
|
-
correctAnswerErrors = _this$props2.correctAnswerErrors;
|
|
266
|
-
var categories = this.state.categories;
|
|
267
|
-
|
|
268
|
-
var _ref3 = model || {},
|
|
269
|
-
_ref3$domain = _ref3.domain,
|
|
270
|
-
domain = _ref3$domain === void 0 ? {} : _ref3$domain,
|
|
271
|
-
_ref3$range = _ref3.range,
|
|
272
|
-
range = _ref3$range === void 0 ? {} : _ref3$range;
|
|
273
|
-
|
|
274
|
-
var _ref4 = correctAnswerErrors || {},
|
|
275
|
-
identicalError = _ref4.identicalError,
|
|
276
|
-
categoriesError = _ref4.categoriesError;
|
|
277
|
-
|
|
278
|
-
return /*#__PURE__*/React.createElement("div", null, "Define Correct Response", /*#__PURE__*/React.createElement("div", {
|
|
279
|
-
className: classes.container
|
|
280
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
281
|
-
className: classes.column,
|
|
282
|
-
key: "graph"
|
|
283
|
-
}, /*#__PURE__*/React.createElement(_Typography["default"], {
|
|
284
|
-
component: "div",
|
|
285
|
-
type: "body1"
|
|
286
|
-
}, /*#__PURE__*/React.createElement("span", null, "Use the tools below to define the correct answer.")), /*#__PURE__*/React.createElement("div", {
|
|
287
|
-
key: "correct-response-graph-".concat(model.correctAnswer.name),
|
|
288
|
-
className: identicalError || categoriesError ? classes.chartError : {}
|
|
289
|
-
}, /*#__PURE__*/React.createElement(_charting.Chart, {
|
|
290
|
-
chartType: model.chartType,
|
|
291
|
-
size: model.graph,
|
|
292
|
-
domain: domain,
|
|
293
|
-
range: range,
|
|
294
|
-
charts: charts,
|
|
295
|
-
data: categories,
|
|
296
|
-
title: model.title,
|
|
297
|
-
onDataChange: function onDataChange(data) {
|
|
298
|
-
return _this2.changeData(data);
|
|
299
|
-
},
|
|
300
|
-
addCategoryEnabled: model.addCategoryEnabled,
|
|
301
|
-
categoryDefaultLabel: model.categoryDefaultLabel,
|
|
302
|
-
error: error
|
|
303
|
-
})), (identicalError || categoriesError) && /*#__PURE__*/React.createElement(_Typography["default"], {
|
|
304
|
-
component: "div",
|
|
305
|
-
type: "body1",
|
|
306
|
-
className: classes.errorText
|
|
307
|
-
}, /*#__PURE__*/React.createElement("span", null, identicalError || categoriesError)))));
|
|
308
|
-
}
|
|
309
|
-
}]);
|
|
310
|
-
return CorrectResponse;
|
|
311
|
-
}(React.Component);
|
|
312
|
-
|
|
313
|
-
exports.CorrectResponse = CorrectResponse;
|
|
314
|
-
(0, _defineProperty2["default"])(CorrectResponse, "propTypes", {
|
|
315
|
-
classes: _propTypes["default"].object.isRequired,
|
|
316
|
-
model: _propTypes["default"].object.isRequired,
|
|
317
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
318
|
-
charts: _propTypes["default"].array
|
|
319
|
-
});
|
|
320
|
-
|
|
321
|
-
var _default = (0, _styles.withStyles)(styles)(CorrectResponse);
|
|
322
|
-
|
|
323
|
-
exports["default"] = _default;
|
|
324
|
-
//# sourceMappingURL=correct-response.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","button","cursor","background","padding","width","borderRadius","column","chartError","border","errorText","fontSize","typography","color","paddingTop","addCategoryProps","correctAnswer","data","map","correct","index","editable","length","interactive","deletable","updateCorrectResponseData","correctAnswerData","correctResponseDefinition","forEach","category","currentIndex","label","value","missingCategories","slice","concat","insertCategory","positionToInsert","categoryToInsert","splice","removeCategory","positionToRemove","CorrectResponse","props","model","onChange","keepAttrs","state","categories","nextProps","nextData","nextCorrectAnswerData","nextCategories","removedIndex","answer","dataExists","setState","classes","charts","error","correctAnswerErrors","domain","range","identicalError","categoriesError","name","chartType","graph","title","changeData","addCategoryEnabled","categoryDefaultLabel","React","Component","PropTypes","object","isRequired","func","array"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Chart } from '@pie-lib/charting';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Typography from '@material-ui/core/Typography';\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 button: {\n marginTop: theme.spacing.unit * 3,\n cursor: 'pointer',\n background: '#eee',\n padding: theme.spacing.unit * 2,\n width: 'fit-content',\n borderRadius: '4px',\n },\n column: {\n flex: 1,\n },\n chartError: {\n border: '2px solid red',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: 'red',\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst addCategoryProps = (correctAnswer, data) =>\n correctAnswer.map((correct, index) => ({\n ...correct,\n editable: index < data.length ? data[index].editable : true,\n interactive: index < data.length ? data[index].interactive : true,\n deletable: index >= data.length ? true : false,\n }));\n\nconst updateCorrectResponseData = (correctAnswer, data) => {\n if (!correctAnswer) {\n return data;\n }\n\n const correctAnswerData = [...correctAnswer];\n let correctResponseDefinition = [];\n\n data.forEach((category, currentIndex) => {\n const editable = category.editable;\n const interactive = category.interactive;\n const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;\n const value =\n (interactive && correctAnswer[currentIndex]?.value) || (interactive && correctAnswer[currentIndex]?.value == 0)\n ? correctAnswer[currentIndex].value\n : category.value;\n\n correctResponseDefinition[currentIndex] = {\n label: label,\n value: value,\n editable: category.editable,\n interactive: category.interactive,\n };\n });\n\n if (correctResponseDefinition.length < correctAnswer.length) {\n const missingCategories = correctAnswerData.slice(correctResponseDefinition.length, correctAnswer.length);\n\n return addCategoryProps(correctResponseDefinition.concat(missingCategories), data);\n }\n\n return correctResponseDefinition;\n};\n\nconst insertCategory = (correctAnswer, data) => {\n const positionToInsert = data.length - 1;\n const { editable, interactive, deletable, ...categoryToInsert } = data[data.length - 1];\n\n correctAnswer.splice(positionToInsert, 0, categoryToInsert);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nconst removeCategory = (correctAnswer, data, positionToRemove) => {\n correctAnswer.splice(positionToRemove, 1);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n categories: updateCorrectResponseData(props.model.correctAnswer.data, props.model.data),\n };\n }\n\n changeData = (data) => {\n const { model, onChange } = this.props;\n const { correctAnswer } = model || {};\n\n onChange({\n ...model,\n correctAnswer: {\n ...correctAnswer,\n data: data.map(({ interactive, editable, index, ...keepAttrs }) => keepAttrs),\n },\n });\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { model: { data: nextData = [], correctAnswer: { data: nextCorrectAnswerData = [] } } = {} } = nextProps;\n const { model: { data = [] } = {} } = this.props;\n const { categories } = this.state;\n let nextCategories = [];\n\n if (nextData.length > data.length) {\n nextCategories = insertCategory(nextCorrectAnswerData, nextData);\n }\n\n if (nextData.length < data.length) {\n let removedIndex = nextData.length;\n\n // we need to remove the category from the correct answer data and categories, from the same index it was removed from the data\n // index is a property of the nextData category\n for (let index = 0; index < nextData.length; index++) {\n if (nextData[index].index !== index) {\n removedIndex = index;\n break;\n }\n }\n\n this.props.model.correctAnswer.data.splice(removedIndex, 1);\n nextCategories = removeCategory(categories, nextData, removedIndex);\n }\n\n if (!isEqual(nextCorrectAnswerData, this.props.model.correctAnswer.data)) {\n nextCategories = nextCorrectAnswerData.map((correct, index) => ({\n ...correct,\n editable: index < data.length ? data[index].editable : true,\n interactive: index < data.length ? data[index].interactive : true,\n }));\n } else if (isEmpty(nextCategories)) {\n nextCategories = updateCorrectResponseData(nextCorrectAnswerData, nextData);\n\n nextCorrectAnswerData.map((answer, currentIndex) => {\n const dataExists = currentIndex < nextData.length;\n let label;\n let value;\n let deletable;\n\n if (dataExists) {\n label = nextData[currentIndex].editable ? answer.label : nextData[currentIndex].label;\n value = nextData[currentIndex].interactive ? answer.value : nextData[currentIndex].value;\n } else {\n label = answer.label;\n value = answer.value;\n deletable = true;\n }\n\n nextCorrectAnswerData[currentIndex] = {\n label: label,\n value: value,\n };\n });\n }\n\n if (\n !isEqual(nextCategories, data) ||\n !isEqual(nextCorrectAnswerData, categories) ||\n !isEqual(nextCategories, categories) ||\n (isEmpty(nextCategories) && isEmpty(data))\n ) {\n this.setState({ categories: nextCategories });\n }\n }\n\n render() {\n const { classes, model, charts, error, correctAnswerErrors } = this.props;\n const { categories } = this.state;\n const { domain = {}, range = {} } = model || {};\n const { identicalError, categoriesError } = correctAnswerErrors || {};\n\n return (\n <div>\n Define Correct Response\n <div className={classes.container}>\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to define the correct answer.</span>\n </Typography>\n\n <div\n key={`correct-response-graph-${model.correctAnswer.name}`}\n className={identicalError || categoriesError ? classes.chartError : {}}\n >\n <Chart\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n data={categories}\n title={model.title}\n onDataChange={(data) => this.changeData(data)}\n addCategoryEnabled={model.addCategoryEnabled}\n categoryDefaultLabel={model.categoryDefaultLabel}\n error={error}\n />\n </div>\n\n {(identicalError || categoriesError) && (\n <Typography component=\"div\" type=\"body1\" className={classes.errorText}>\n <span>{identicalError || categoriesError}</span>\n </Typography>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* NOTE: There's no functionality described for graphTitle,
|
|
10
|
-
* rationale, scoringType, studentInstructions, teacherInstructions
|
|
11
|
-
* so there's no implementation (they are only added in model)
|
|
12
|
-
*/
|
|
13
|
-
// const createCategory = (label, value) => ({
|
|
14
|
-
// label,
|
|
15
|
-
// value,
|
|
16
|
-
// interactive: true,
|
|
17
|
-
// editable: true
|
|
18
|
-
// });
|
|
19
|
-
var _default = {
|
|
20
|
-
model: {
|
|
21
|
-
addCategoryEnabled: true,
|
|
22
|
-
categoryDefaultLabel: 'Category',
|
|
23
|
-
chartType: 'lineCross',
|
|
24
|
-
correctAnswer: {},
|
|
25
|
-
data: [],
|
|
26
|
-
domain: {},
|
|
27
|
-
graph: {
|
|
28
|
-
width: 480,
|
|
29
|
-
height: 480
|
|
30
|
-
},
|
|
31
|
-
prompt: '',
|
|
32
|
-
promptEnabled: true,
|
|
33
|
-
rationale: '',
|
|
34
|
-
range: {
|
|
35
|
-
label: '',
|
|
36
|
-
max: 1,
|
|
37
|
-
min: 0
|
|
38
|
-
},
|
|
39
|
-
scoringType: 'all or nothing',
|
|
40
|
-
title: '',
|
|
41
|
-
rationaleEnabled: true,
|
|
42
|
-
teacherInstructionsEnabled: true,
|
|
43
|
-
studentInstructionsEnabled: true
|
|
44
|
-
},
|
|
45
|
-
configuration: {
|
|
46
|
-
spellCheck: {
|
|
47
|
-
label: 'Spellcheck',
|
|
48
|
-
settings: false,
|
|
49
|
-
enabled: true
|
|
50
|
-
},
|
|
51
|
-
chartDimensions: {
|
|
52
|
-
settings: false,
|
|
53
|
-
label: 'Chart Dimensions',
|
|
54
|
-
showInConfigPanel: true,
|
|
55
|
-
width: {
|
|
56
|
-
min: 50,
|
|
57
|
-
max: 700,
|
|
58
|
-
step: 20
|
|
59
|
-
},
|
|
60
|
-
height: {
|
|
61
|
-
min: 400,
|
|
62
|
-
max: 700,
|
|
63
|
-
step: 20
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
prompt: {
|
|
67
|
-
settings: true,
|
|
68
|
-
label: 'Item Stem'
|
|
69
|
-
},
|
|
70
|
-
rationale: {
|
|
71
|
-
settings: true,
|
|
72
|
-
label: 'Rationale'
|
|
73
|
-
},
|
|
74
|
-
scoringType: {
|
|
75
|
-
settings: false,
|
|
76
|
-
label: 'Scoring Type'
|
|
77
|
-
},
|
|
78
|
-
settingsPanelDisabled: false,
|
|
79
|
-
studentInstructions: {
|
|
80
|
-
settings: false,
|
|
81
|
-
label: 'Student Instructions'
|
|
82
|
-
},
|
|
83
|
-
teacherInstructions: {
|
|
84
|
-
settings: true,
|
|
85
|
-
label: 'Teacher Instructions'
|
|
86
|
-
},
|
|
87
|
-
title: {
|
|
88
|
-
settings: false,
|
|
89
|
-
label: 'Chart Title'
|
|
90
|
-
},
|
|
91
|
-
titlePlaceholder: {
|
|
92
|
-
settings: false,
|
|
93
|
-
label: 'Click here to add a title'
|
|
94
|
-
},
|
|
95
|
-
labelsPlaceholders: {
|
|
96
|
-
left: 'Click here to add a label for this axis',
|
|
97
|
-
right: '',
|
|
98
|
-
top: '',
|
|
99
|
-
bottom: 'Click here to add a label for this axis'
|
|
100
|
-
},
|
|
101
|
-
maxImageWidth: {
|
|
102
|
-
teacherInstructions: 300,
|
|
103
|
-
prompt: 300,
|
|
104
|
-
rationale: 300
|
|
105
|
-
},
|
|
106
|
-
maxImageHeight: {
|
|
107
|
-
teacherInstructions: 300,
|
|
108
|
-
prompt: 300,
|
|
109
|
-
rationale: 300
|
|
110
|
-
},
|
|
111
|
-
withRubric: {
|
|
112
|
-
settings: false,
|
|
113
|
-
label: 'Add Rubric'
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
exports["default"] = _default;
|
|
118
|
-
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","addCategoryEnabled","categoryDefaultLabel","chartType","correctAnswer","data","domain","graph","width","height","prompt","promptEnabled","rationale","range","label","max","min","scoringType","title","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","spellCheck","settings","enabled","chartDimensions","showInConfigPanel","step","settingsPanelDisabled","studentInstructions","teacherInstructions","titlePlaceholder","labelsPlaceholders","left","right","top","bottom","maxImageWidth","maxImageHeight","withRubric"],"mappings":"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","sourcesContent":["/**\n * NOTE: There's no functionality described for graphTitle,\n * rationale, scoringType, studentInstructions, teacherInstructions\n * so there's no implementation (they are only added in model)\n */\n\n// const createCategory = (label, value) => ({\n// label,\n// value,\n// interactive: true,\n// editable: true\n// });\n\nexport default {\n model: {\n addCategoryEnabled: true,\n categoryDefaultLabel: 'Category',\n chartType: 'lineCross',\n correctAnswer: {},\n data: [],\n domain: {},\n graph: {\n width: 480,\n height: 480,\n },\n prompt: '',\n promptEnabled: true,\n rationale: '',\n range: {\n label: '',\n max: 1,\n min: 0,\n },\n scoringType: 'all or nothing',\n title: '',\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n chartDimensions: {\n settings: false,\n label: 'Chart Dimensions',\n showInConfigPanel: true,\n width: {\n min: 50,\n max: 700,\n step: 20,\n },\n height: {\n min: 400,\n max: 700,\n step: 20,\n },\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 settingsPanelDisabled: false,\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: 'Chart Title',\n },\n titlePlaceholder: {\n settings: false,\n label: 'Click here to add a title',\n },\n labelsPlaceholders: {\n left: 'Click here to add a label for this axis',\n right: '',\n top: '',\n bottom: 'Click here to add a label for this axis',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n },\n};\n"],"file":"defaults.js"}
|
package/configure/lib/index.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
21
|
-
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
|
-
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
27
|
-
|
|
28
|
-
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
29
|
-
|
|
30
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
31
|
-
|
|
32
|
-
var _configure = _interopRequireDefault(require("./configure"));
|
|
33
|
-
|
|
34
|
-
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
35
|
-
|
|
36
|
-
var _mathRendering = require("@pie-lib/math-rendering");
|
|
37
|
-
|
|
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; }
|
|
39
|
-
|
|
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; }
|
|
41
|
-
|
|
42
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
|
-
|
|
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; } }
|
|
45
|
-
|
|
46
|
-
var log = (0, _debug["default"])('pie-elements:graphing:configure');
|
|
47
|
-
|
|
48
|
-
var GraphLinesConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
49
|
-
(0, _inherits2["default"])(GraphLinesConfigure, _HTMLElement);
|
|
50
|
-
|
|
51
|
-
var _super = _createSuper(GraphLinesConfigure);
|
|
52
|
-
|
|
53
|
-
function GraphLinesConfigure() {
|
|
54
|
-
var _this;
|
|
55
|
-
|
|
56
|
-
(0, _classCallCheck2["default"])(this, GraphLinesConfigure);
|
|
57
|
-
_this = _super.call(this);
|
|
58
|
-
_this._model = GraphLinesConfigure.createDefaultModel();
|
|
59
|
-
_this._configuration = _defaults["default"].configuration;
|
|
60
|
-
return _this;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
(0, _createClass2["default"])(GraphLinesConfigure, [{
|
|
64
|
-
key: "model",
|
|
65
|
-
set: function set(m) {
|
|
66
|
-
this._model = GraphLinesConfigure.createDefaultModel(m);
|
|
67
|
-
|
|
68
|
-
this._render();
|
|
69
|
-
}
|
|
70
|
-
}, {
|
|
71
|
-
key: "configuration",
|
|
72
|
-
set: function set(c) {
|
|
73
|
-
this._configuration = c;
|
|
74
|
-
|
|
75
|
-
this._render();
|
|
76
|
-
}
|
|
77
|
-
}, {
|
|
78
|
-
key: "onModelChanged",
|
|
79
|
-
value: function onModelChanged(model) {
|
|
80
|
-
this._model = model;
|
|
81
|
-
|
|
82
|
-
this._render();
|
|
83
|
-
|
|
84
|
-
log('[onModelChanged]: ', this._model);
|
|
85
|
-
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
|
|
86
|
-
}
|
|
87
|
-
}, {
|
|
88
|
-
key: "onConfigurationChanged",
|
|
89
|
-
value: function onConfigurationChanged(config) {
|
|
90
|
-
this._configuration = config;
|
|
91
|
-
|
|
92
|
-
this._render();
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "insertImage",
|
|
96
|
-
value: function insertImage(handler) {
|
|
97
|
-
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
98
|
-
}
|
|
99
|
-
}, {
|
|
100
|
-
key: "onDeleteImage",
|
|
101
|
-
value: function onDeleteImage(src, done) {
|
|
102
|
-
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
103
|
-
}
|
|
104
|
-
}, {
|
|
105
|
-
key: "insertSound",
|
|
106
|
-
value: function insertSound(handler) {
|
|
107
|
-
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
108
|
-
}
|
|
109
|
-
}, {
|
|
110
|
-
key: "onDeleteSound",
|
|
111
|
-
value: function onDeleteSound(src, done) {
|
|
112
|
-
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
113
|
-
}
|
|
114
|
-
}, {
|
|
115
|
-
key: "_render",
|
|
116
|
-
value: function _render() {
|
|
117
|
-
var _this2 = this;
|
|
118
|
-
|
|
119
|
-
if (this._model) {
|
|
120
|
-
var el = /*#__PURE__*/_react["default"].createElement(_configure["default"], {
|
|
121
|
-
onModelChanged: this.onModelChanged.bind(this),
|
|
122
|
-
onConfigurationChanged: this.onConfigurationChanged.bind(this),
|
|
123
|
-
model: this._model,
|
|
124
|
-
configuration: this._configuration,
|
|
125
|
-
imageSupport: {
|
|
126
|
-
add: this.insertImage.bind(this),
|
|
127
|
-
"delete": this.onDeleteImage.bind(this)
|
|
128
|
-
},
|
|
129
|
-
uploadSoundSupport: {
|
|
130
|
-
add: this.insertSound.bind(this),
|
|
131
|
-
"delete": this.onDeleteSound.bind(this)
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
_reactDom["default"].render(el, this, function () {
|
|
136
|
-
(0, _mathRendering.renderMath)(_this2);
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}]);
|
|
141
|
-
return GraphLinesConfigure;
|
|
142
|
-
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
143
|
-
|
|
144
|
-
exports["default"] = GraphLinesConfigure;
|
|
145
|
-
(0, _defineProperty2["default"])(GraphLinesConfigure, "createDefaultModel", function () {
|
|
146
|
-
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
147
|
-
return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
|
|
148
|
-
});
|
|
149
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","GraphLinesConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","_render","c","model","dispatchEvent","ModelUpdatedEvent","config","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAOA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,iCAAN,CAAZ;;IAEqBC,mB;;;;;AAGnB,iCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAAcC,aAApC;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,CAAuCI,CAAvC,CAAd;;AACA,WAAKC,OAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,GAAsBK,CAAtB;;AACA,WAAKD,OAAL;AACD;;;WAED,wBAAeE,KAAf,EAAsB;AACpB,WAAKR,MAAL,GAAcQ,KAAd;;AACA,WAAKF,OAAL;;AAEAR,MAAAA,GAAG,CAAC,oBAAD,EAAuB,KAAKE,MAA5B,CAAH;AAEA,WAAKS,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKV,MAA3B,CAAnB;AACD;;;WAED,gCAAuBW,MAAvB,EAA+B;AAC7B,WAAKT,cAAL,GAAsBS,MAAtB;;AACA,WAAKL,OAAL;AACD;;;WAED,qBAAYM,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAII,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAYH,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBL,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIS,oCAAJ,CAAqBJ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,KAAKf,MAAT,EAAiB;AACf,YAAMmB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,qBAApB,EAA+B;AACxCC,UAAAA,cAAc,EAAE,KAAKA,cAAL,CAAoBC,IAApB,CAAyB,IAAzB,CADwB;AAExCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAFgB;AAGxChB,UAAAA,KAAK,EAAE,KAAKR,MAH4B;AAIxCI,UAAAA,aAAa,EAAE,KAAKF,cAJoB;AAKxCwB,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI,WAL0B;AASxCM,UAAAA,kBAAkB,EAAE;AAClBH,YAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBP,IAAjB,CAAsB,IAAtB,CADa;AAElB,sBAAQ,KAAKQ,aAAL,CAAmBR,IAAnB,CAAwB,IAAxB;AAFU;AAToB,SAA/B,CAAX;;AAeAS,6BAASC,MAAT,CAAgBf,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,yCAAW,MAAX;AACD,SAFD;AAGD;AACF;;;kDAtE8CgB,W;;;iCAA5BpC,mB,wBACS;AAAA,MAACS,KAAD,uEAAS,EAAT;AAAA,yCAAsBL,qBAAcK,KAApC,GAA8CA,KAA9C;AAAA,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport Configure from './configure';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing:configure');\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({ ...defaultValues.model, ...model });\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 insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
|