@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 _this$props4 = _this.props,
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
- var _ref = gridConfigurations[value] || {},
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 _ref2 = props.model || {},
249
- _domain = _ref2.domain,
250
- _range = _ref2.range,
251
- _graph = _ref2.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$props5 = this.props,
279
- _this$props5$authorin = _this$props5.authoring,
280
- authoring = _this$props5$authorin === void 0 ? {} : _this$props5$authorin,
281
- _this$props5$availabl = _this$props5.availableTools,
282
- availableTools = _this$props5$availabl === void 0 ? [] : _this$props5$availabl,
283
- classes = _this$props5.classes,
284
- _this$props5$gridConf = _this$props5.gridConfigurations,
285
- gridConfigurations = _this$props5$gridConf === void 0 ? [] : _this$props5$gridConf,
286
- _this$props5$graphDim = _this$props5.graphDimensions,
287
- graphDimensions = _this$props5$graphDim === void 0 ? {} : _this$props5$graphDim,
288
- labelsPlaceholders = _this$props5.labelsPlaceholders,
289
- model = _this$props5.model,
290
- showLabels = _this$props5.showLabels,
291
- showTitle = _this$props5.showTitle,
292
- titlePlaceholder = _this$props5.titlePlaceholder;
293
-
294
- var _ref3 = model || {},
295
- arrows = _ref3.arrows,
296
- backgroundMarks = _ref3.backgroundMarks,
297
- coordinatesOnHover = _ref3.coordinatesOnHover,
298
- domain = _ref3.domain,
299
- includeAxes = _ref3.includeAxes,
300
- labels = _ref3.labels,
301
- range = _ref3.range,
302
- standardGrid = _ref3.standardGrid,
303
- title = _ref3.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 _ref4 = graphDimensions || {},
308
- dimensionsEnabled = _ref4.enabled,
309
- min = _ref4.min,
310
- max = _ref4.max,
311
- step = _ref4.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":"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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) => {\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.12+8cc3cd53a",
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": "8cc3cd53ab0b9b1bb9e556f05f39a0359e5c01b5",
27
+ "gitHead": "51ac8c54b18fc33412b33e7a1dbff83fcd386208",
28
28
  "main": "lib/index.js",
29
29
  "module": "src/index.js"
30
30
  }