@pie-element/graphing 4.2.1 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,8 @@ 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
+
14
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
17
 
16
18
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -37,6 +39,8 @@ var _styles = require("@material-ui/core/styles");
37
39
 
38
40
  var _utils = require("./utils");
39
41
 
42
+ var _excluded = ["label"];
43
+
40
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); }
41
45
 
42
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; }
@@ -56,7 +60,7 @@ var styles = function styles(theme) {
56
60
  flexWrap: 'wrap',
57
61
  marginBottom: theme.spacing.unit * 7
58
62
  },
59
- gridConfig: {
63
+ gridConfigWrapper: {
60
64
  display: 'flex',
61
65
  flexDirection: 'column',
62
66
  marginRight: theme.spacing.unit * 4,
@@ -69,6 +73,18 @@ var styles = function styles(theme) {
69
73
  subtitleText: {
70
74
  marginTop: theme.spacing.unit * 1.5,
71
75
  marginBottom: theme.spacing.unit
76
+ },
77
+ gridConfig: {
78
+ display: 'flex',
79
+ alignItems: 'center',
80
+ width: '100%',
81
+ marginBottom: '16px'
82
+ },
83
+ gridConfigLabel: {
84
+ padding: '0 8px'
85
+ },
86
+ gridConfigSelect: {
87
+ flex: '1'
72
88
  }
73
89
  };
74
90
  };
@@ -156,11 +172,39 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
156
172
 
157
173
  onChange(updatedModel);
158
174
  });
175
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeView", function (event, expanded) {
176
+ var _this$props$graphDime = _this.props.graphDimensions;
177
+ _this$props$graphDime = _this$props$graphDime === void 0 ? {} : _this$props$graphDime;
178
+ var enabled = _this$props$graphDime.enabled;
179
+
180
+ if (enabled) {
181
+ _this.setState({
182
+ showPixelGuides: expanded
183
+ });
184
+ }
185
+ });
186
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeGridConfiguration", function (event) {
187
+ var _this$props4 = _this.props,
188
+ gridConfigurations = _this$props4.gridConfigurations,
189
+ model = _this$props4.model,
190
+ onChange = _this$props4.onChange;
191
+ var value = event.target.value;
192
+
193
+ var _ref = gridConfigurations[value] || {},
194
+ label = _ref.label,
195
+ updatedModel = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
196
+
197
+ _this.setState({
198
+ selectedGrid: value
199
+ });
159
200
 
160
- var _ref = props.model || {},
161
- _domain = _ref.domain,
162
- _range = _ref.range,
163
- _graph = _ref.graph;
201
+ onChange(_objectSpread(_objectSpread({}, model), updatedModel));
202
+ });
203
+
204
+ var _ref2 = props.model || {},
205
+ _domain = _ref2.domain,
206
+ _range = _ref2.range,
207
+ _graph = _ref2.graph;
164
208
 
165
209
  var _gridValues = {
166
210
  domain: (0, _utils.getGridValues)(_domain, _graph.width, true),
@@ -172,7 +216,9 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
172
216
  };
173
217
  _this.state = {
174
218
  gridValues: _gridValues,
175
- labelValues: _labelValues
219
+ labelValues: _labelValues,
220
+ selectedGrid: 0,
221
+ showPixelGuides: false
176
222
  };
177
223
  return _this;
178
224
  }
@@ -180,40 +226,46 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
180
226
  (0, _createClass2["default"])(GraphingConfig, [{
181
227
  key: "render",
182
228
  value: function render() {
183
- var _this$props4 = this.props,
184
- _this$props4$authorin = _this$props4.authoring,
185
- authoring = _this$props4$authorin === void 0 ? {} : _this$props4$authorin,
186
- _this$props4$availabl = _this$props4.availableTools,
187
- availableTools = _this$props4$availabl === void 0 ? [] : _this$props4$availabl,
188
- classes = _this$props4.classes,
189
- _this$props4$graphDim = _this$props4.graphDimensions,
190
- graphDimensions = _this$props4$graphDim === void 0 ? {} : _this$props4$graphDim,
191
- model = _this$props4.model,
192
- showLabels = _this$props4.showLabels,
193
- showTitle = _this$props4.showTitle;
194
-
195
- var _ref2 = model || {},
196
- arrows = _ref2.arrows,
197
- backgroundMarks = _ref2.backgroundMarks,
198
- coordinatesOnHover = _ref2.coordinatesOnHover,
199
- domain = _ref2.domain,
200
- includeAxes = _ref2.includeAxes,
201
- labels = _ref2.labels,
202
- range = _ref2.range,
203
- standardGrid = _ref2.standardGrid,
204
- title = _ref2.title;
229
+ var _this$props5 = this.props,
230
+ _this$props5$authorin = _this$props5.authoring,
231
+ authoring = _this$props5$authorin === void 0 ? {} : _this$props5$authorin,
232
+ _this$props5$availabl = _this$props5.availableTools,
233
+ availableTools = _this$props5$availabl === void 0 ? [] : _this$props5$availabl,
234
+ classes = _this$props5.classes,
235
+ _this$props5$gridConf = _this$props5.gridConfigurations,
236
+ gridConfigurations = _this$props5$gridConf === void 0 ? [] : _this$props5$gridConf,
237
+ _this$props5$graphDim = _this$props5.graphDimensions,
238
+ graphDimensions = _this$props5$graphDim === void 0 ? {} : _this$props5$graphDim,
239
+ labelsPlaceholders = _this$props5.labelsPlaceholders,
240
+ model = _this$props5.model,
241
+ showLabels = _this$props5.showLabels,
242
+ showTitle = _this$props5.showTitle,
243
+ titlePlaceholder = _this$props5.titlePlaceholder;
244
+
245
+ var _ref3 = model || {},
246
+ arrows = _ref3.arrows,
247
+ backgroundMarks = _ref3.backgroundMarks,
248
+ coordinatesOnHover = _ref3.coordinatesOnHover,
249
+ domain = _ref3.domain,
250
+ includeAxes = _ref3.includeAxes,
251
+ labels = _ref3.labels,
252
+ range = _ref3.range,
253
+ standardGrid = _ref3.standardGrid,
254
+ title = _ref3.title;
205
255
 
206
256
  var graph = (model || {}).graph || {};
207
257
 
208
- var _ref3 = graphDimensions || {},
209
- dimensionsEnabled = _ref3.enabled,
210
- min = _ref3.min,
211
- max = _ref3.max,
212
- step = _ref3.step;
258
+ var _ref4 = graphDimensions || {},
259
+ dimensionsEnabled = _ref4.enabled,
260
+ min = _ref4.min,
261
+ max = _ref4.max,
262
+ step = _ref4.step;
213
263
 
214
264
  var _this$state2 = this.state,
215
265
  gridValues = _this$state2.gridValues,
216
- labelValues = _this$state2.labelValues;
266
+ labelValues = _this$state2.labelValues,
267
+ selectedGrid = _this$state2.selectedGrid,
268
+ showPixelGuides = _this$state2.showPixelGuides;
217
269
  var sizeConstraints = {
218
270
  min: Math.max(150, min),
219
271
  max: Math.min(800, max),
@@ -235,8 +287,25 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
235
287
  return /*#__PURE__*/React.createElement("div", {
236
288
  className: classes.container
237
289
  }, /*#__PURE__*/React.createElement("div", {
290
+ className: classes.gridConfigWrapper
291
+ }, gridConfigurations && gridConfigurations.length ? /*#__PURE__*/React.createElement("div", {
238
292
  className: classes.gridConfig
239
- }, displayGridSetup && /*#__PURE__*/React.createElement(_graphing.GridSetup, {
293
+ }, /*#__PURE__*/React.createElement(_core.Typography, {
294
+ component: "div",
295
+ variant: "subheading",
296
+ className: classes.gridConfigLabel
297
+ }, /*#__PURE__*/React.createElement("span", null, "Grid Configuration")), /*#__PURE__*/React.createElement(_core.Select, {
298
+ input: /*#__PURE__*/React.createElement(_core.OutlinedInput, null),
299
+ className: classes.gridConfigSelect,
300
+ displayEmpty: true,
301
+ onChange: this.changeGridConfiguration,
302
+ value: selectedGrid
303
+ }, (gridConfigurations || []).map(function (config, index) {
304
+ return /*#__PURE__*/React.createElement(_core.MenuItem, {
305
+ key: index,
306
+ value: index
307
+ }, config.label);
308
+ }))) : null, displayGridSetup && /*#__PURE__*/React.createElement(_graphing.GridSetup, {
240
309
  displayedFields: displayedFields,
241
310
  domain: domain,
242
311
  dimensionsEnabled: dimensionsEnabled,
@@ -247,7 +316,8 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
247
316
  size: graph,
248
317
  sizeConstraints: sizeConstraints,
249
318
  standardGrid: standardGrid,
250
- onChange: this.onConfigChange
319
+ onChange: this.onConfigChange,
320
+ onChangeView: this.onChangeView
251
321
  })), /*#__PURE__*/React.createElement("div", {
252
322
  className: classes.graphConfig,
253
323
  key: "graph"
@@ -269,18 +339,21 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
269
339
  domain: domain,
270
340
  key: "graphing-config",
271
341
  labels: labels,
342
+ labelsPlaceholders: labelsPlaceholders,
272
343
  marks: backgroundMarks,
273
344
  onChangeLabels: this.changeLabels,
274
345
  onChangeMarks: this.changeBackgroundMarks,
275
346
  onChangeTitle: this.changeTitle,
276
347
  range: range,
277
348
  showLabels: showLabels,
349
+ showPixelGuides: showPixelGuides,
278
350
  showTitle: showTitle,
279
351
  size: {
280
352
  width: graph.width,
281
353
  height: graph.height
282
354
  },
283
355
  title: title,
356
+ titlePlaceholder: titlePlaceholder,
284
357
  toolbarTools: availableTools
285
358
  })));
286
359
  }
@@ -293,6 +366,7 @@ exports.GraphingConfig = GraphingConfig;
293
366
  classes: _propTypes["default"].object.isRequired,
294
367
  authoring: _propTypes["default"].object,
295
368
  graphDimensions: _propTypes["default"].object,
369
+ gridConfigurations: _propTypes["default"].array,
296
370
  model: _propTypes["default"].object.isRequired,
297
371
  onChange: _propTypes["default"].func.isRequired
298
372
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphing-config.jsx"],"names":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfig","flexDirection","marginRight","graphConfig","subtitleText","marginTop","GraphingConfig","props","backgroundMarks","model","onChange","labels","title","config","state","oldGridValues","gridValues","oldLabelValues","labelValues","updatedModel","domain","includeAxes","graph","range","standardGrid","domainConstraints","width","step","labelStep","rangeConstraints","height","setState","authoring","availableTools","classes","graphDimensions","showLabels","showTitle","arrows","coordinatesOnHover","dimensionsEnabled","enabled","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","onConfigChange","includeArrows","changeLabels","changeBackgroundMarks","changeTitle","React","Component","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing';\nimport { Typography } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, getGridValues, getLabelValues } from './utils';\n\nconst styles = theme => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 7\n },\n gridConfig: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 4,\n marginBottom: theme.spacing.unit * 3\n },\n graphConfig: {\n display: 'flex',\n flexDirection: 'column'\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit\n }\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n authoring: PropTypes.object,\n graphDimensions: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n const { domain, range, graph } = props.model || {};\n\n const gridValues = {\n domain: getGridValues(domain, graph.width, true),\n range: getGridValues(range, graph.height, true)\n };\n const labelValues = {\n domain: getLabelValues(domain.step),\n range: getLabelValues(range.step)\n };\n\n this.state = { gridValues, labelValues };\n };\n\n changeBackgroundMarks = backgroundMarks => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n 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 } = this.state;\n const updatedModel = { ...model, ...config };\n const { domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n if (includeAxes) {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n\n this.setState({ gridValues, labelValues });\n onChange(updatedModel);\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n classes,\n graphDimensions = {},\n model,\n showLabels,\n showTitle\n } = this.props;\n const {\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n domain,\n includeAxes,\n labels,\n range,\n standardGrid,\n title\n } = model || {};\n const graph = (model || {}).graph || {};\n const { enabled: dimensionsEnabled, min, max, step } = graphDimensions || {};\n const { gridValues, labelValues } = this.state;\n\n const sizeConstraints = {\n min: Math.max(150, min),\n max: Math.min(800, max),\n step: step >= 1 ? Math.min(200, step) : 20\n };\n\n const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: authoring.includeAxesEnabled,\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step\n };\n\n const displayGridSetup = authoring.enabled &&\n Object.values(displayedFields).some(field => typeof field === 'object' ? field.enabled : field);\n\n return (\n <div className={classes.container}>\n <div className={classes.gridConfig}>\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n dimensionsEnabled={dimensionsEnabled}\n gridValues={gridValues}\n includeAxes={includeAxes}\n labelValues={labelValues}\n range={range}\n size={graph}\n sizeConstraints={sizeConstraints}\n standardGrid={standardGrid}\n onChange={this.onConfigChange}\n />\n )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n <span>Define Graph Attributes</span>\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n <span>Use this interface to add/edit a title and/or labels, and to set background shapes</span>\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={availableTools}\n />\n </div>\n </div>\n );\n }\n};\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
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","updatedModel","domain","includeAxes","graph","range","standardGrid","domainConstraints","step","labelStep","rangeConstraints","height","setState","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 { MenuItem, Select, Typography, OutlinedInput } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, getGridValues, getLabelValues } from './utils';\n\nconst styles = theme => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 7\n },\n gridConfigWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 4,\n marginBottom: theme.spacing.unit * 3\n },\n graphConfig: {\n display: 'flex',\n flexDirection: 'column'\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit\n },\n gridConfig: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n marginBottom: '16px'\n },\n gridConfigLabel: {\n padding: '0 8px'\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 = { gridValues, labelValues, selectedGrid: 0, showPixelGuides: false };\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 } = this.state;\n const updatedModel = { ...model, ...config };\n const { domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n if (includeAxes) {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n\n this.setState({ gridValues, labelValues });\n onChange(updatedModel);\n };\n\n 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 {\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n domain,\n includeAxes,\n labels,\n range,\n standardGrid,\n title\n } = model || {};\n const graph = (model || {}).graph || {};\n const { enabled: dimensionsEnabled, min, max, step } = graphDimensions || {};\n const { gridValues, labelValues, 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 = 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 <span>Grid Configuration</span>\n </Typography>\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}>{config.label}</MenuItem>\n )}\n </Select>\n </div>\n ) : null}\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 <span>Define Graph Attributes</span>\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n <span>Use this interface to add/edit a title and/or labels, and to set background shapes</span>\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n 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 </div>\n );\n }\n};\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/graphing-configure",
3
3
  "private": true,
4
- "version": "4.2.1",
4
+ "version": "4.3.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,9 +9,9 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.2.0",
12
- "@pie-lib/config-ui": "^11.0.11",
13
- "@pie-lib/editable-html": "^9.1.1",
14
- "@pie-lib/graphing": "^2.9.1",
12
+ "@pie-lib/config-ui": "^11.0.12",
13
+ "@pie-lib/editable-html": "^9.1.2",
14
+ "@pie-lib/graphing": "^2.10.0",
15
15
  "classnames": "^2.2.5",
16
16
  "debug": "^4.1.1",
17
17
  "prop-types": "^15.6.2",