@pie-element/graphing 4.11.3-next.12 → 4.11.3-next.16
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.
|
@@ -11,8 +11,6 @@ exports["default"] = exports.GraphingConfig = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
13
|
|
|
14
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
-
|
|
16
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
15
|
|
|
18
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -43,8 +41,6 @@ var _utils = require("./utils");
|
|
|
43
41
|
|
|
44
42
|
var _lodash = require("lodash");
|
|
45
43
|
|
|
46
|
-
var _excluded = ["label"];
|
|
47
|
-
|
|
48
44
|
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); }
|
|
49
45
|
|
|
50
46
|
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; }
|
|
@@ -126,7 +122,7 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
126
122
|
title: title
|
|
127
123
|
}));
|
|
128
124
|
});
|
|
129
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChange", function (config) {
|
|
125
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChange", function (config, newSelectedGrid) {
|
|
130
126
|
var _this$props3 = _this.props,
|
|
131
127
|
model = _this$props3.model,
|
|
132
128
|
onChange = _this$props3.onChange;
|
|
@@ -134,7 +130,8 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
134
130
|
oldGridValues = _this$state.gridValues,
|
|
135
131
|
oldLabelValues = _this$state.labelValues,
|
|
136
132
|
oldDomain = _this$state.domain,
|
|
137
|
-
oldRange = _this$state.range
|
|
133
|
+
oldRange = _this$state.range,
|
|
134
|
+
oldSelectedGrid = _this$state.selectedGrid;
|
|
138
135
|
|
|
139
136
|
var updatedModel = _objectSpread(_objectSpread({}, model), config);
|
|
140
137
|
|
|
@@ -152,6 +149,7 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
152
149
|
domain: [],
|
|
153
150
|
range: []
|
|
154
151
|
};
|
|
152
|
+
var selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;
|
|
155
153
|
|
|
156
154
|
if (includeAxes) {
|
|
157
155
|
var domainConstraints = (0, _utils.applyConstraints)(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);
|
|
@@ -196,7 +194,8 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
196
194
|
isOpened: false
|
|
197
195
|
},
|
|
198
196
|
domain: _objectSpread({}, domain),
|
|
199
|
-
range: _objectSpread({}, range)
|
|
197
|
+
range: _objectSpread({}, range),
|
|
198
|
+
selectedGrid: selectedGrid
|
|
200
199
|
}, onChange(_objectSpread(_objectSpread({}, updatedModel), {}, {
|
|
201
200
|
answers: plotableAnswers
|
|
202
201
|
})));
|
|
@@ -211,7 +210,8 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
211
210
|
gridValues: gridValues,
|
|
212
211
|
labelValues: labelValues,
|
|
213
212
|
domain: _objectSpread({}, domain),
|
|
214
|
-
range: _objectSpread({}, range)
|
|
213
|
+
range: _objectSpread({}, range),
|
|
214
|
+
selectedGrid: selectedGrid
|
|
215
215
|
});
|
|
216
216
|
|
|
217
217
|
onChange(updatedModel);
|
|
@@ -228,27 +228,16 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
230
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeGridConfiguration", function (event) {
|
|
231
|
-
var
|
|
232
|
-
gridConfigurations = _this$props4.gridConfigurations,
|
|
233
|
-
model = _this$props4.model,
|
|
234
|
-
onChange = _this$props4.onChange;
|
|
231
|
+
var gridConfigurations = _this.props.gridConfigurations;
|
|
235
232
|
var value = event.target.value;
|
|
236
233
|
|
|
237
|
-
|
|
238
|
-
label = _ref.label,
|
|
239
|
-
updatedModel = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
240
|
-
|
|
241
|
-
_this.setState({
|
|
242
|
-
selectedGrid: value
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
onChange(_objectSpread(_objectSpread({}, model), updatedModel));
|
|
234
|
+
_this.onConfigChange((gridConfigurations === null || gridConfigurations === void 0 ? void 0 : gridConfigurations[value]) || {}, value);
|
|
246
235
|
});
|
|
247
236
|
|
|
248
|
-
var
|
|
249
|
-
_domain =
|
|
250
|
-
_range =
|
|
251
|
-
_graph =
|
|
237
|
+
var _ref = props.model || {},
|
|
238
|
+
_domain = _ref.domain,
|
|
239
|
+
_range = _ref.range,
|
|
240
|
+
_graph = _ref.graph;
|
|
252
241
|
|
|
253
242
|
var _gridValues = {
|
|
254
243
|
domain: (0, _utils.getGridValues)(_domain, _graph.width, true),
|
|
@@ -275,40 +264,40 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
|
|
|
275
264
|
(0, _createClass2["default"])(GraphingConfig, [{
|
|
276
265
|
key: "render",
|
|
277
266
|
value: function render() {
|
|
278
|
-
var _this$
|
|
279
|
-
_this$
|
|
280
|
-
authoring = _this$
|
|
281
|
-
_this$
|
|
282
|
-
availableTools = _this$
|
|
283
|
-
classes = _this$
|
|
284
|
-
_this$
|
|
285
|
-
gridConfigurations = _this$
|
|
286
|
-
_this$
|
|
287
|
-
graphDimensions = _this$
|
|
288
|
-
labelsPlaceholders = _this$
|
|
289
|
-
model = _this$
|
|
290
|
-
showLabels = _this$
|
|
291
|
-
showTitle = _this$
|
|
292
|
-
titlePlaceholder = _this$
|
|
293
|
-
|
|
294
|
-
var
|
|
295
|
-
arrows =
|
|
296
|
-
backgroundMarks =
|
|
297
|
-
coordinatesOnHover =
|
|
298
|
-
domain =
|
|
299
|
-
includeAxes =
|
|
300
|
-
labels =
|
|
301
|
-
range =
|
|
302
|
-
standardGrid =
|
|
303
|
-
title =
|
|
267
|
+
var _this$props4 = this.props,
|
|
268
|
+
_this$props4$authorin = _this$props4.authoring,
|
|
269
|
+
authoring = _this$props4$authorin === void 0 ? {} : _this$props4$authorin,
|
|
270
|
+
_this$props4$availabl = _this$props4.availableTools,
|
|
271
|
+
availableTools = _this$props4$availabl === void 0 ? [] : _this$props4$availabl,
|
|
272
|
+
classes = _this$props4.classes,
|
|
273
|
+
_this$props4$gridConf = _this$props4.gridConfigurations,
|
|
274
|
+
gridConfigurations = _this$props4$gridConf === void 0 ? [] : _this$props4$gridConf,
|
|
275
|
+
_this$props4$graphDim = _this$props4.graphDimensions,
|
|
276
|
+
graphDimensions = _this$props4$graphDim === void 0 ? {} : _this$props4$graphDim,
|
|
277
|
+
labelsPlaceholders = _this$props4.labelsPlaceholders,
|
|
278
|
+
model = _this$props4.model,
|
|
279
|
+
showLabels = _this$props4.showLabels,
|
|
280
|
+
showTitle = _this$props4.showTitle,
|
|
281
|
+
titlePlaceholder = _this$props4.titlePlaceholder;
|
|
282
|
+
|
|
283
|
+
var _ref2 = model || {},
|
|
284
|
+
arrows = _ref2.arrows,
|
|
285
|
+
backgroundMarks = _ref2.backgroundMarks,
|
|
286
|
+
coordinatesOnHover = _ref2.coordinatesOnHover,
|
|
287
|
+
domain = _ref2.domain,
|
|
288
|
+
includeAxes = _ref2.includeAxes,
|
|
289
|
+
labels = _ref2.labels,
|
|
290
|
+
range = _ref2.range,
|
|
291
|
+
standardGrid = _ref2.standardGrid,
|
|
292
|
+
title = _ref2.title;
|
|
304
293
|
|
|
305
294
|
var graph = (model || {}).graph || {};
|
|
306
295
|
|
|
307
|
-
var
|
|
308
|
-
dimensionsEnabled =
|
|
309
|
-
min =
|
|
310
|
-
max =
|
|
311
|
-
step =
|
|
296
|
+
var _ref3 = graphDimensions || {},
|
|
297
|
+
dimensionsEnabled = _ref3.enabled,
|
|
298
|
+
min = _ref3.min,
|
|
299
|
+
max = _ref3.max,
|
|
300
|
+
step = _ref3.step;
|
|
312
301
|
|
|
313
302
|
var _this$state2 = this.state,
|
|
314
303
|
_this$state2$dialog = _this$state2.dialog,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphing-config.jsx"],"names":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfigWrapper","flexDirection","marginRight","graphConfig","subtitleText","marginTop","gridConfig","alignItems","width","gridConfigLabel","padding","gridConfigSelect","flex","GraphingConfig","props","backgroundMarks","model","onChange","labels","title","config","state","oldGridValues","gridValues","oldLabelValues","labelValues","oldDomain","domain","oldRange","range","updatedModel","answers","includeAxes","graph","standardGrid","domainConstraints","step","labelStep","rangeConstraints","height","plotableAnswers","setState","dialog","isOpened","onClose","onConfirm","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","label","selectedGrid","authoring","availableTools","classes","labelsPlaceholders","showLabels","showTitle","titlePlaceholder","arrows","coordinatesOnHover","dimensionsEnabled","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","length","changeGridConfiguration","map","index","onConfigChange","onChangeView","includeArrows","changeLabels","changeBackgroundMarks","changeTitle","React","Component","PropTypes","object","isRequired","array","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,SAAS,EAAE;AACTC,MAAAA,OAAO,EAAE,MADA;AAETC,MAAAA,QAAQ,EAAE,MAFD;AAGTC,MAAAA,YAAY,EAAEJ,KAAK,CAACK,OAAN,CAAcC,IAAd,GAAqB;AAH1B,KADc;AAMzBC,IAAAA,iBAAiB,EAAE;AACjBL,MAAAA,OAAO,EAAE,MADQ;AAEjBM,MAAAA,aAAa,EAAE,QAFE;AAGjBC,MAAAA,WAAW,EAAET,KAAK,CAACK,OAAN,CAAcC,IAAd,GAAqB,CAHjB;AAIjBF,MAAAA,YAAY,EAAEJ,KAAK,CAACK,OAAN,CAAcC,IAAd,GAAqB;AAJlB,KANM;AAYzBI,IAAAA,WAAW,EAAE;AACXR,MAAAA,OAAO,EAAE,MADE;AAEXM,MAAAA,aAAa,EAAE;AAFJ,KAZY;AAgBzBG,IAAAA,YAAY,EAAE;AACZC,MAAAA,SAAS,EAAEZ,KAAK,CAACK,OAAN,CAAcC,IAAd,GAAqB,GADpB;AAEZF,MAAAA,YAAY,EAAEJ,KAAK,CAACK,OAAN,CAAcC;AAFhB,KAhBW;AAoBzBO,IAAAA,UAAU,EAAE;AACVX,MAAAA,OAAO,EAAE,MADC;AAEVY,MAAAA,UAAU,EAAE,QAFF;AAGVC,MAAAA,KAAK,EAAE,MAHG;AAIVX,MAAAA,YAAY,EAAEJ,KAAK,CAACK,OAAN,CAAcC,IAAd,GAAqB;AAJzB,KApBa;AA0BzBU,IAAAA,eAAe,EAAE;AACfC,MAAAA,OAAO,cAAOjB,KAAK,CAACK,OAAN,CAAcC,IAArB;AADQ,KA1BQ;AA6BzBY,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,IAAI,EAAE;AADU;AA7BO,GAAZ;AAAA,CAAf;;IAkCaC,c;;;;;AAUX,0BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,8GAwBK,UAACC,eAAD,EAAqB;AAC3C,UAAMC,KAAK,mCAAQ,MAAKF,KAAL,CAAWE,KAAnB;AAA0BD,QAAAA,eAAe,EAAfA;AAA1B,QAAX;;AAEA,YAAKD,KAAL,CAAWG,QAAX,CAAoBD,KAApB;AACD,KA5BkB;AAAA,qGA8BJ,UAACE,MAAD,EAAY;AACzB,wBAA4B,MAAKJ,KAAjC;AAAA,UAAQE,KAAR,eAAQA,KAAR;AAAA,UAAeC,QAAf,eAAeA,QAAf;AAEAA,MAAAA,QAAQ,iCAAMD,KAAN;AAAaE,QAAAA,MAAM,EAANA;AAAb,SAAR;AACD,KAlCkB;AAAA,oGAoCL,UAACC,KAAD,EAAW;AACvB,yBAA4B,MAAKL,KAAjC;AAAA,UAAQE,KAAR,gBAAQA,KAAR;AAAA,UAAeC,QAAf,gBAAeA,QAAf;AAEAA,MAAAA,QAAQ,iCAAMD,KAAN;AAAaG,QAAAA,KAAK,EAALA;AAAb,SAAR;AACD,KAxCkB;AAAA,uGA0CF,UAACC,MAAD,EAAY;AAC3B,yBAA4B,MAAKN,KAAjC;AAAA,UAAQE,KAAR,gBAAQA,KAAR;AAAA,UAAeC,QAAf,gBAAeA,QAAf;AACA,wBAAuG,MAAKI,KAA5G;AAAA,UAAoBC,aAApB,eAAQC,UAAR;AAAA,UAAgDC,cAAhD,eAAmCC,WAAnC;AAAA,UAAwEC,SAAxE,eAAgEC,MAAhE;AAAA,UAA0FC,QAA1F,eAAmFC,KAAnF;;AACA,UAAMC,YAAY,mCAAQd,KAAR,GAAkBI,MAAlB,CAAlB;;AACA,UAAQW,OAAR,GAAqED,YAArE,CAAQC,OAAR;AAAA,UAAiBJ,MAAjB,GAAqEG,YAArE,CAAiBH,MAAjB;AAAA,UAAyBK,WAAzB,GAAqEF,YAArE,CAAyBE,WAAzB;AAAA,UAAsCC,KAAtC,GAAqEH,YAArE,CAAsCG,KAAtC;AAAA,UAA6CJ,KAA7C,GAAqEC,YAArE,CAA6CD,KAA7C;AAAA,UAAoDK,YAApD,GAAqEJ,YAArE,CAAoDI,YAApD;AACA,UAAMX,UAAU,GAAG;AAAEI,QAAAA,MAAM,EAAE,EAAV;AAAcE,QAAAA,KAAK,EAAE;AAArB,OAAnB;AACA,UAAMJ,WAAW,GAAG;AAAEE,QAAAA,MAAM,EAAE,EAAV;AAAcE,QAAAA,KAAK,EAAE;AAArB,OAApB;;AAEA,UAAIG,WAAJ,EAAiB;AACf,YAAMG,iBAAiB,GAAG,6BAAiBR,MAAjB,EAAyBM,KAAK,CAACzB,KAA/B,EAAsCc,aAAa,CAACK,MAApD,EAA4DH,cAAc,CAACG,MAA3E,CAA1B;AAEAJ,QAAAA,UAAU,CAACI,MAAX,GAAoBQ,iBAAiB,CAACZ,UAAlB,IAAgC,EAApD;AACAE,QAAAA,WAAW,CAACE,MAAZ,GAAqBQ,iBAAiB,CAACV,WAAlB,IAAiC,EAAtD;AACD;;AAED,UAAIS,YAAJ,EAAkB;AAChBX,QAAAA,UAAU,CAACM,KAAX,GAAmBN,UAAU,CAACI,MAA9B;AACAF,QAAAA,WAAW,CAACI,KAAZ,GAAoBJ,WAAW,CAACE,MAAhC;AACAE,QAAAA,KAAK,CAACO,IAAN,GAAaT,MAAM,CAACS,IAApB;AACAP,QAAAA,KAAK,CAACQ,SAAN,GAAkBV,MAAM,CAACU,SAAzB;AACD,OALD,MAKO;AACL,YAAIL,WAAJ,EAAiB;AACf,cAAMM,gBAAgB,GAAG,6BAAiBT,KAAjB,EAAwBI,KAAK,CAACM,MAA9B,EAAsCjB,aAAa,CAACO,KAApD,EAA2DL,cAAc,CAACK,KAA1E,CAAzB;AAEAN,UAAAA,UAAU,CAACM,KAAX,GAAmBS,gBAAgB,CAACf,UAAjB,IAA+B,EAAlD;AACAE,UAAAA,WAAW,CAACI,KAAZ,GAAoBS,gBAAgB,CAACb,WAAjB,IAAgC,EAApD;AACD;AACF;;AAED,UAAMe,eAAe,GAAG,gCAAoBb,MAApB,EAA4BE,KAA5B,EAAmCE,OAAnC,CAAxB;;AAEA,UAAI,CAAC,qBAAQA,OAAR,EAAiBS,eAAjB,CAAL,EAAwC;AACtC,cAAKC,QAAL,CAAc;AACZC,UAAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAE,IADJ;AAENC,YAAAA,OAAO,EAAE;AAAA,qBACP,MAAKH,QAAL,CAAc;AAAEC,gBAAAA,MAAM,EAAE;AAAEC,kBAAAA,QAAQ,EAAE;AAAZ;AAAV,eAAd,EAA+C1B,QAAQ,iCAAMD,KAAN;AAAaW,gBAAAA,MAAM,EAAED,SAArB;AAAgCG,gBAAAA,KAAK,EAAED;AAAvC,iBAAvD,CADO;AAAA,aAFH;AAINiB,YAAAA,SAAS,EAAE,qBAAM;AACf,oBAAKJ,QAAL,CACE;AAAElB,gBAAAA,UAAU,EAAVA,UAAF;AAAcE,gBAAAA,WAAW,EAAXA,WAAd;AAA2BiB,gBAAAA,MAAM,EAAE;AAAEC,kBAAAA,QAAQ,EAAE;AAAZ,iBAAnC;AAAwDhB,gBAAAA,MAAM,oBAAOA,MAAP,CAA9D;AAA+EE,gBAAAA,KAAK,oBAAOA,KAAP;AAApF,eADF,EAEEZ,QAAQ,iCAAMa,YAAN;AAAoBC,gBAAAA,OAAO,EAAES;AAA7B,iBAFV;AAID;AATK;AADI,SAAd;;AAcA;AACD;;AAED,YAAKC,QAAL,CAAc;AAAElB,QAAAA,UAAU,EAAVA,UAAF;AAAcE,QAAAA,WAAW,EAAXA,WAAd;AAA2BE,QAAAA,MAAM,oBAAOA,MAAP,CAAjC;AAAkDE,QAAAA,KAAK,oBAAOA,KAAP;AAAvD,OAAd;;AACAZ,MAAAA,QAAQ,CAACa,YAAD,CAAR;AACD,KA7FkB;AAAA,qGA+FJ,UAACgB,KAAD,EAAQC,QAAR,EAAqB;AAClC,kCAA8C,MAAKjC,KAAnD,CAAQkC,eAAR;AAAA,iEAAuC,EAAvC;AAAA,UAA2BC,OAA3B,yBAA2BA,OAA3B;;AAEA,UAAIA,OAAJ,EAAa;AACX,cAAKR,QAAL,CAAc;AAAES,UAAAA,eAAe,EAAEH;AAAnB,SAAd;AACD;AACF,KArGkB;AAAA,gHAuGO,UAACD,KAAD,EAAW;AACnC,yBAAgD,MAAKhC,KAArD;AAAA,UAAQqC,kBAAR,gBAAQA,kBAAR;AAAA,UAA4BnC,KAA5B,gBAA4BA,KAA5B;AAAA,UAAmCC,QAAnC,gBAAmCA,QAAnC;AACA,UAAQmC,KAAR,GAAkBN,KAAK,CAACO,MAAxB,CAAQD,KAAR;;AACA,iBAAmCD,kBAAkB,CAACC,KAAD,CAAlB,IAA6B,EAAhE;AAAA,UAAQE,KAAR,QAAQA,KAAR;AAAA,UAAkBxB,YAAlB;;AAEA,YAAKW,QAAL,CAAc;AAAEc,QAAAA,YAAY,EAAEH;AAAhB,OAAd;;AACAnC,MAAAA,QAAQ,iCAAMD,KAAN,GAAgBc,YAAhB,EAAR;AACD,KA9GkB;;AAEjB,gBAAiChB,KAAK,CAACE,KAAN,IAAe,EAAhD;AAAA,QAAQW,OAAR,SAAQA,MAAR;AAAA,QAAgBE,MAAhB,SAAgBA,KAAhB;AAAA,QAAuBI,MAAvB,SAAuBA,KAAvB;;AAEA,QAAMV,WAAU,GAAG;AACjBI,MAAAA,MAAM,EAAE,0BAAcA,OAAd,EAAsBM,MAAK,CAACzB,KAA5B,EAAmC,IAAnC,CADS;AAEjBqB,MAAAA,KAAK,EAAE,0BAAcA,MAAd,EAAqBI,MAAK,CAACM,MAA3B,EAAmC,IAAnC;AAFU,KAAnB;AAIA,QAAMd,YAAW,GAAG;AAClBE,MAAAA,MAAM,EAAE,2BAAeA,OAAM,CAACS,IAAtB,CADU;AAElBP,MAAAA,KAAK,EAAE,2BAAeA,MAAK,CAACO,IAArB;AAFW,KAApB;AAKA,UAAKf,KAAL,GAAa;AACXE,MAAAA,UAAU,EAAVA,WADW;AAEXE,MAAAA,WAAW,EAAXA,YAFW;AAGX8B,MAAAA,YAAY,EAAE,CAHH;AAIXL,MAAAA,eAAe,EAAE,KAJN;AAKXR,MAAAA,MAAM,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OALG;AAMXhB,MAAAA,MAAM,oBAAOA,OAAP,CANK;AAOXE,MAAAA,KAAK,oBAAOA,MAAP;AAPM,KAAb;AAbiB;AAsBlB;;;;WA0FD,kBAAS;AACP,yBAWI,KAAKf,KAXT;AAAA,+CACE0C,SADF;AAAA,UACEA,SADF,sCACc,EADd;AAAA,+CAEEC,cAFF;AAAA,UAEEA,cAFF,sCAEmB,EAFnB;AAAA,UAGEC,OAHF,gBAGEA,OAHF;AAAA,+CAIEP,kBAJF;AAAA,UAIEA,kBAJF,sCAIuB,EAJvB;AAAA,+CAKEH,eALF;AAAA,UAKEA,eALF,sCAKoB,EALpB;AAAA,UAMEW,kBANF,gBAMEA,kBANF;AAAA,UAOE3C,KAPF,gBAOEA,KAPF;AAAA,UAQE4C,UARF,gBAQEA,UARF;AAAA,UASEC,SATF,gBASEA,SATF;AAAA,UAUEC,gBAVF,gBAUEA,gBAVF;;AAYA,kBACE9C,KAAK,IAAI,EADX;AAAA,UAAQ+C,MAAR,SAAQA,MAAR;AAAA,UAAgBhD,eAAhB,SAAgBA,eAAhB;AAAA,UAAiCiD,kBAAjC,SAAiCA,kBAAjC;AAAA,UAAqDrC,MAArD,SAAqDA,MAArD;AAAA,UAA6DK,WAA7D,SAA6DA,WAA7D;AAAA,UAA0Ed,MAA1E,SAA0EA,MAA1E;AAAA,UAAkFW,KAAlF,SAAkFA,KAAlF;AAAA,UAAyFK,YAAzF,SAAyFA,YAAzF;AAAA,UAAuGf,KAAvG,SAAuGA,KAAvG;;AAEA,UAAMc,KAAK,GAAG,CAACjB,KAAK,IAAI,EAAV,EAAciB,KAAd,IAAuB,EAArC;;AACA,kBAAuDe,eAAe,IAAI,EAA1E;AAAA,UAAiBiB,iBAAjB,SAAQhB,OAAR;AAAA,UAAoCiB,GAApC,SAAoCA,GAApC;AAAA,UAAyCC,GAAzC,SAAyCA,GAAzC;AAAA,UAA8C/B,IAA9C,SAA8CA,IAA9C;;AACA,yBAAgF,KAAKf,KAArF;AAAA,6CAAQqB,MAAR;AAAA,UAAQA,MAAR,oCAAiB,EAAjB;AAAA,UAAqBnB,UAArB,gBAAqBA,UAArB;AAAA,UAAiCE,WAAjC,gBAAiCA,WAAjC;AAAA,UAA8C8B,YAA9C,gBAA8CA,YAA9C;AAAA,UAA4DL,eAA5D,gBAA4DA,eAA5D;AAEA,UAAMkB,eAAe,GAAG;AACtBF,QAAAA,GAAG,EAAEG,IAAI,CAACF,GAAL,CAAS,GAAT,EAAcD,GAAd,CADiB;AAEtBC,QAAAA,GAAG,EAAEE,IAAI,CAACH,GAAL,CAAS,GAAT,EAAcC,GAAd,CAFiB;AAGtB/B,QAAAA,IAAI,EAAEA,IAAI,IAAI,CAAR,GAAYiC,IAAI,CAACH,GAAL,CAAS,GAAT,EAAc9B,IAAd,CAAZ,GAAkC;AAHlB,OAAxB;AAMA,UAAMkC,eAAe,GAAG;AACtBC,QAAAA,SAAS,EAAEf,SAAS,CAACe,SADC;AAEtBN,QAAAA,iBAAiB,EAAjBA,iBAFsB;AAGtBO,QAAAA,kBAAkB,EAAEhB,SAAS,CAACgB,kBAHR;AAItBnC,QAAAA,SAAS,EAAEmB,SAAS,CAACnB,SAJC;AAKtB6B,QAAAA,GAAG,EAAEV,SAAS,CAACU,GALO;AAMtBC,QAAAA,GAAG,EAAEX,SAAS,CAACW,GANO;AAOtBM,QAAAA,mBAAmB,EAAEjB,SAAS,CAACiB,mBAPT;AAQtBrC,QAAAA,IAAI,EAAEoB,SAAS,CAACpB;AARM,OAAxB;AAWA,UAAMsC,gBAAgB,GACpBlB,SAAS,CAACP,OAAV,IACA0B,MAAM,CAACC,MAAP,CAAcN,eAAd,EAA+BO,IAA/B,CAAoC,UAACC,KAAD;AAAA,eAAY,yBAAOA,KAAP,MAAiB,QAAjB,GAA4BA,KAAK,CAAC7B,OAAlC,GAA4C6B,KAAxD;AAAA,OAApC,CAFF;AAIA,0BACE;AAAK,QAAA,SAAS,EAAEpB,OAAO,CAAChE;AAAxB,sBACE;AAAK,QAAA,SAAS,EAAEgE,OAAO,CAAC1D;AAAxB,SACGmD,kBAAkB,IAAIA,kBAAkB,CAAC4B,MAAzC,gBACC;AAAK,QAAA,SAAS,EAAErB,OAAO,CAACpD;AAAxB,sBACE,oBAAC,gBAAD;AAAY,QAAA,SAAS,EAAC,KAAtB;AAA4B,QAAA,OAAO,EAAC,YAApC;AAAiD,QAAA,SAAS,EAAEoD,OAAO,CAACjD;AAApE,8BADF,eAKE,oBAAC,YAAD;AACE,QAAA,KAAK,eAAE,oBAAC,mBAAD,OADT;AAEE,QAAA,SAAS,EAAEiD,OAAO,CAAC/C,gBAFrB;AAGE,QAAA,YAAY,MAHd;AAIE,QAAA,QAAQ,EAAE,KAAKqE,uBAJjB;AAKE,QAAA,KAAK,EAAEzB;AALT,SAOG,CAACJ,kBAAkB,IAAI,EAAvB,EAA2B8B,GAA3B,CAA+B,UAAC7D,MAAD,EAAS8D,KAAT;AAAA,4BAC9B,oBAAC,cAAD;AAAU,UAAA,GAAG,EAAEA,KAAf;AAAsB,UAAA,KAAK,EAAEA;AAA7B,WACG9D,MAAM,CAACkC,KADV,CAD8B;AAAA,OAA/B,CAPH,CALF,CADD,GAoBG,IArBN,EAuBGoB,gBAAgB,iBACf,oBAAC,mBAAD;AACE,QAAA,eAAe,EAAEJ,eADnB;AAEE,QAAA,MAAM,EAAE3C,MAFV;AAGE,QAAA,iBAAiB,EAAEsC,iBAHrB;AAIE,QAAA,UAAU,EAAE1C,UAJd;AAKE,QAAA,WAAW,EAAES,WALf;AAME,QAAA,WAAW,EAAEP,WANf;AAOE,QAAA,KAAK,EAAEI,KAPT;AAQE,QAAA,IAAI,EAAEI,KARR;AASE,QAAA,eAAe,EAAEmC,eATnB;AAUE,QAAA,YAAY,EAAElC,YAVhB;AAWE,QAAA,QAAQ,EAAE,KAAKiD,cAXjB;AAYE,QAAA,YAAY,EAAE,KAAKC;AAZrB,QAxBJ,CADF,eA0CE;AAAK,QAAA,SAAS,EAAE1B,OAAO,CAACvD,WAAxB;AAAqC,QAAA,GAAG,EAAC;AAAzC,sBACE,oBAAC,gBAAD;AAAY,QAAA,SAAS,EAAC,KAAtB;AAA4B,QAAA,OAAO,EAAC;AAApC,mCADF,eAKE,oBAAC,gBAAD;AAAY,QAAA,SAAS,EAAC,KAAtB;AAA4B,QAAA,OAAO,EAAC,OAApC;AAA4C,QAAA,SAAS,EAAEuD,OAAO,CAACtD;AAA/D,8FALF,eASE,oBAAC,wBAAD;AACE,QAAA,YAAY,EAAE;AAAEiF,UAAAA,aAAa,EAAEtB;AAAjB,SADhB;AAEE,QAAA,eAAe,EAAE,EAFnB;AAGE,QAAA,kBAAkB,EAAEC,kBAHtB;AAIE,QAAA,kBAAkB,EAAE,IAJtB;AAKE,QAAA,uBAAuB,EAAE,gCAL3B;AAME,QAAA,MAAM,EAAErC,MANV;AAOE,QAAA,GAAG,EAAC,iBAPN;AAQE,QAAA,MAAM,EAAET,MARV;AASE,QAAA,kBAAkB,EAAEyC,kBATtB;AAUE,QAAA,KAAK,EAAE5C,eAVT;AAWE,QAAA,cAAc,EAAE,KAAKuE,YAXvB;AAYE,QAAA,aAAa,EAAE,KAAKC,qBAZtB;AAaE,QAAA,aAAa,EAAE,KAAKC,WAbtB;AAcE,QAAA,KAAK,EAAE3D,KAdT;AAeE,QAAA,UAAU,EAAE+B,UAfd;AAgBE,QAAA,eAAe,EAAEV,eAhBnB;AAiBE,QAAA,SAAS,EAAEW,SAjBb;AAkBE,QAAA,IAAI,EAAE;AAAErD,UAAAA,KAAK,EAAEyB,KAAK,CAACzB,KAAf;AAAsB+B,UAAAA,MAAM,EAAEN,KAAK,CAACM;AAApC,SAlBR;AAmBE,QAAA,KAAK,EAAEpB,KAnBT;AAoBE,QAAA,gBAAgB,EAAE2C,gBApBpB;AAqBE,QAAA,YAAY,EAAEL;AArBhB,QATF,CA1CF,eA4EE,oBAAC,qBAAD;AACE,QAAA,IAAI,EAAEf,MAAM,CAACC,QADf;AAEE,QAAA,KAAK,EAAC,SAFR;AAGE,QAAA,IAAI,EAAC,sMAHP;AAIE,QAAA,OAAO,EAAED,MAAM,CAACE,OAJlB;AAKE,QAAA,SAAS,EAAEF,MAAM,CAACG;AALpB,QA5EF,CADF;AAsFD;;;EAxPiC4C,KAAK,CAACC,S;;;iCAA7B7E,c,eACQ;AACjB6C,EAAAA,OAAO,EAAEiC,sBAAUC,MAAV,CAAiBC,UADT;AAEjBrC,EAAAA,SAAS,EAAEmC,sBAAUC,MAFJ;AAGjB5C,EAAAA,eAAe,EAAE2C,sBAAUC,MAHV;AAIjBzC,EAAAA,kBAAkB,EAAEwC,sBAAUG,KAJb;AAKjB9E,EAAAA,KAAK,EAAE2E,sBAAUC,MAAV,CAAiBC,UALP;AAMjB5E,EAAAA,QAAQ,EAAE0E,sBAAUI,IAAV,CAAeF;AANR,C;;eA0PN,wBAAWrG,MAAX,EAAmBqB,cAAnB,C","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual } from 'lodash';\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 2.5,\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 gridConfig: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigLabel: {\n padding: `0 ${theme.spacing.unit}px`,\n },\n gridConfigSelect: {\n flex: '1',\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 gridConfigurations: PropTypes.array,\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 = {\n gridValues,\n labelValues,\n selectedGrid: 0,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n changeBackgroundMarks = (backgroundMarks) => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, labels });\n };\n\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, title });\n };\n\n onConfigChange = (config) => {\n const { model, onChange } = this.props;\n const { gridValues: oldGridValues, labelValues: oldLabelValues, domain: oldDomain, range: oldRange } = this.state;\n const updatedModel = { ...model, ...config };\n const { answers, 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 const plotableAnswers = filterPlotableMarks(domain, range, answers);\n\n if (!isEqual(answers, plotableAnswers)) {\n this.setState({\n dialog: {\n isOpened: true,\n onClose: () =>\n this.setState({ dialog: { isOpened: false } }, onChange({ ...model, domain: oldDomain, range: oldRange })),\n onConfirm: () => {\n this.setState(\n { gridValues, labelValues, dialog: { isOpened: false }, domain: { ...domain }, range: { ...range } },\n onChange({ ...updatedModel, answers: plotableAnswers }),\n );\n },\n },\n });\n\n return;\n }\n\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange(updatedModel);\n };\n\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n changeGridConfiguration = (event) => {\n const { gridConfigurations, model, onChange } = this.props;\n const { value } = event.target;\n const { label, ...updatedModel } = gridConfigurations[value] || {};\n\n this.setState({ selectedGrid: value });\n onChange({ ...model, ...updatedModel });\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n classes,\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n showTitle,\n titlePlaceholder,\n } = this.props;\n const { arrows, backgroundMarks, coordinatesOnHover, domain, includeAxes, labels, range, standardGrid, title } =\n model || {};\n const graph = (model || {}).graph || {};\n const { enabled: dimensionsEnabled, min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, selectedGrid, showPixelGuides } = 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 =\n 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.gridConfigWrapper}>\n {gridConfigurations && gridConfigurations.length ? (\n <div className={classes.gridConfig}>\n <Typography component=\"div\" variant=\"subheading\" className={classes.gridConfigLabel}>\n Grid Configuration\n </Typography>\n\n <Select\n input={<OutlinedInput />}\n className={classes.gridConfigSelect}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={selectedGrid}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n ) : null}\n\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 onChangeView={this.onChangeView}\n />\n )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n Define Graph Attributes\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to add/edit a title and/or labels, and to set background shapes\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 labelsPlaceholders={labelsPlaceholders}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n titlePlaceholder={titlePlaceholder}\n toolbarTools={availableTools}\n />\n </div>\n\n <AlertDialog\n open={dialog.isOpened}\n title=\"Warning\"\n text=\"This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.\"\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\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","gridConfigWrapper","flexDirection","marginRight","graphConfig","subtitleText","marginTop","gridConfig","alignItems","width","gridConfigLabel","padding","gridConfigSelect","flex","GraphingConfig","props","backgroundMarks","model","onChange","labels","title","config","newSelectedGrid","state","oldGridValues","gridValues","oldLabelValues","labelValues","oldDomain","domain","oldRange","range","oldSelectedGrid","selectedGrid","updatedModel","answers","includeAxes","graph","standardGrid","domainConstraints","step","labelStep","rangeConstraints","height","plotableAnswers","setState","dialog","isOpened","onClose","onConfirm","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","authoring","availableTools","classes","labelsPlaceholders","showLabels","showTitle","titlePlaceholder","arrows","coordinatesOnHover","dimensionsEnabled","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","length","changeGridConfiguration","map","index","label","onChangeView","includeArrows","changeLabels","changeBackgroundMarks","changeTitle","React","Component","PropTypes","object","isRequired","array","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 { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual } from 'lodash';\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 2.5,\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 gridConfig: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigLabel: {\n padding: `0 ${theme.spacing.unit}px`,\n },\n gridConfigSelect: {\n flex: '1',\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 gridConfigurations: PropTypes.array,\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 = {\n gridValues,\n labelValues,\n selectedGrid: 0,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n changeBackgroundMarks = (backgroundMarks) => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, labels });\n };\n\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, title });\n };\n\n onConfigChange = (config, newSelectedGrid) => {\n const { model, onChange } = this.props;\n const {\n gridValues: oldGridValues,\n labelValues: oldLabelValues,\n domain: oldDomain,\n range: oldRange,\n selectedGrid: oldSelectedGrid,\n } = this.state;\n const updatedModel = { ...model, ...config };\n const { answers, domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\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 const plotableAnswers = filterPlotableMarks(domain, range, answers);\n\n if (!isEqual(answers, plotableAnswers)) {\n this.setState({\n dialog: {\n isOpened: true,\n onClose: () =>\n this.setState({ dialog: { isOpened: false } }, onChange({ ...model, domain: oldDomain, range: oldRange })),\n onConfirm: () => {\n this.setState(\n {\n gridValues,\n labelValues,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n selectedGrid,\n },\n onChange({ ...updatedModel, answers: plotableAnswers }),\n );\n },\n },\n });\n\n return;\n }\n\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range }, selectedGrid });\n onChange(updatedModel);\n };\n\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n classes,\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n showTitle,\n titlePlaceholder,\n } = this.props;\n const { arrows, backgroundMarks, coordinatesOnHover, domain, includeAxes, labels, range, standardGrid, title } =\n model || {};\n const graph = (model || {}).graph || {};\n const { enabled: dimensionsEnabled, min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, selectedGrid, showPixelGuides } = 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 =\n 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.gridConfigWrapper}>\n {gridConfigurations && gridConfigurations.length ? (\n <div className={classes.gridConfig}>\n <Typography component=\"div\" variant=\"subheading\" className={classes.gridConfigLabel}>\n Grid Configuration\n </Typography>\n\n <Select\n input={<OutlinedInput />}\n className={classes.gridConfigSelect}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={selectedGrid}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n ) : null}\n\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 onChangeView={this.onChangeView}\n />\n )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n Define Graph Attributes\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to add/edit a title and/or labels, and to set background shapes\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 labelsPlaceholders={labelsPlaceholders}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n titlePlaceholder={titlePlaceholder}\n toolbarTools={availableTools}\n />\n </div>\n\n <AlertDialog\n open={dialog.isOpened}\n title=\"Warning\"\n text=\"This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.\"\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "4.11.3-next.
|
|
7
|
+
"version": "4.11.3-next.16+51ac8c54b",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "ISC",
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "51ac8c54b18fc33412b33e7a1dbff83fcd386208",
|
|
28
28
|
"main": "lib/index.js",
|
|
29
29
|
"module": "src/index.js"
|
|
30
30
|
}
|