@pie-element/graphing 3.5.4-next.137 → 3.5.4-next.1372

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.
@@ -2,12 +2,16 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = exports.GraphingConfig = exports.AuthoringColumn = void 0;
10
+ exports["default"] = exports.GraphingConfig = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
15
 
12
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
17
 
@@ -25,134 +29,62 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
25
29
 
26
30
  var React = _interopRequireWildcard(require("react"));
27
31
 
28
- var _configUi = require("@pie-lib/config-ui");
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
33
33
 
34
- var _styles = require("@material-ui/core/styles");
35
-
36
34
  var _graphing = require("@pie-lib/graphing");
37
35
 
38
36
  var _core = require("@material-ui/core");
39
37
 
40
- var _lodash = require("lodash");
38
+ var _styles = require("@material-ui/core/styles");
41
39
 
42
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
40
+ var _utils = require("./utils");
43
41
 
44
- var _this = void 0;
42
+ var _excluded = ["label"];
45
43
 
46
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
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); }
47
45
 
48
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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; }
49
47
 
50
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
48
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
51
49
 
52
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
53
-
54
- var AuthoringColumn = function AuthoringColumn(_ref) {
55
- var columnKey = _ref.columnKey,
56
- axis = _ref.axis,
57
- classes = _ref.classes,
58
- model = _ref.model;
59
- var rows = [{
60
- key: '${columnKey}-min-max',
61
- inputs: [{
62
- key: "".concat(columnKey, ".min"),
63
- label: 'Min value',
64
- className: classes.smallInput
65
- }, {
66
- key: "".concat(columnKey, ".max"),
67
- label: 'Max value',
68
- className: classes.smallInput
69
- }]
70
- }, {
71
- key: "".concat(columnKey, "-tick-frequency"),
72
- inputs: [{
73
- key: "".concat(columnKey, ".step"),
74
- label: 'Tick frequency'
75
- }]
76
- }, {
77
- key: "".concat(columnKey, "-tick-label-frequency"),
78
- inputs: [{
79
- key: "".concat(columnKey, ".labelStep"),
80
- label: 'Tick label frequency'
81
- }]
82
- }, {
83
- key: "".concat(columnKey, "-axis-label"),
84
- inputs: [{
85
- type: 'text',
86
- key: "".concat(axis, "-axis-label-input"),
87
- label: "".concat(axis, " Axis Label")
88
- }]
89
- }];
90
- return /*#__PURE__*/React.createElement("div", {
91
- className: classes.column,
92
- key: columnKey
93
- }, "".concat(columnKey.toUpperCase(), " (").concat(axis.toUpperCase(), ")"), rows.map(function (row) {
94
- return /*#__PURE__*/React.createElement("div", {
95
- className: classes.row,
96
- key: row.key
97
- }, row.inputs.map(function (input) {
98
- if (input.type === 'text') {
99
- return /*#__PURE__*/React.createElement(_core.TextField, {
100
- className: classes.input,
101
- label: input.label.toUpperCase(),
102
- value: model["".concat(axis, "AxisLabel")],
103
- onChange: function onChange(_ref2) {
104
- var target = _ref2.target;
105
- return _this.onChangeInputValue("".concat(axis, "AxisLabel"), target.value);
106
- }
107
- });
108
- }
50
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
109
51
 
110
- return /*#__PURE__*/React.createElement(_core.TextField, {
111
- type: "number",
112
- key: input.key,
113
- label: input.label.toUpperCase(),
114
- onChange: function onChange(event, value) {
115
- return _this.onChangeInputValue(input.key, value);
116
- },
117
- value: (0, _lodash.get)(model, input.key),
118
- className: input.className || classes.input
119
- });
120
- }));
121
- }));
122
- };
52
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
123
53
 
124
- exports.AuthoringColumn = AuthoringColumn;
125
- AuthoringColumn.propTypes = {
126
- axis: _propTypes["default"].String,
127
- classes: _propTypes["default"].object,
128
- columnKey: _propTypes["default"].String,
129
- model: _propTypes["default"].object
130
- };
54
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
131
55
 
132
56
  var styles = function styles(theme) {
133
57
  return {
134
58
  container: {
135
- marginTop: theme.spacing.unit * 3,
136
- marginBottom: theme.spacing.unit * 3,
137
59
  display: 'flex',
138
- flex: 1
60
+ flexWrap: 'wrap',
61
+ marginBottom: theme.spacing.unit * 7
62
+ },
63
+ gridConfigWrapper: {
64
+ display: 'flex',
65
+ flexDirection: 'column',
66
+ marginRight: theme.spacing.unit * 4,
67
+ marginBottom: theme.spacing.unit * 3
139
68
  },
140
- column: {
141
- flex: 1
69
+ graphConfig: {
70
+ display: 'flex',
71
+ flexDirection: 'column'
142
72
  },
143
- row: {
144
- marginTop: theme.spacing.unit * 2,
145
- flex: 1
73
+ subtitleText: {
74
+ marginTop: theme.spacing.unit * 1.5,
75
+ marginBottom: theme.spacing.unit
146
76
  },
147
- settings: {
77
+ gridConfig: {
148
78
  display: 'flex',
149
- flexDirection: 'row'
79
+ alignItems: 'center',
80
+ width: '100%',
81
+ marginBottom: '16px'
150
82
  },
151
- input: {
152
- width: 'calc(100% - 32px)'
83
+ gridConfigLabel: {
84
+ padding: '0 8px'
153
85
  },
154
- smallInput: {
155
- width: 'calc(50% - 32px)'
86
+ gridConfigSelect: {
87
+ flex: '1'
156
88
  }
157
89
  };
158
90
  };
@@ -162,115 +94,268 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
162
94
 
163
95
  var _super = _createSuper(GraphingConfig);
164
96
 
165
- function GraphingConfig() {
166
- var _this2;
97
+ function GraphingConfig(props) {
98
+ var _this;
167
99
 
168
100
  (0, _classCallCheck2["default"])(this, GraphingConfig);
101
+ _this = _super.call(this, props);
102
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeBackgroundMarks", function (backgroundMarks) {
103
+ var model = _objectSpread(_objectSpread({}, _this.props.model), {}, {
104
+ backgroundMarks: backgroundMarks
105
+ });
169
106
 
170
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
171
- args[_key] = arguments[_key];
172
- }
107
+ _this.props.onChange(model);
108
+ });
109
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeLabels", function (labels) {
110
+ var _this$props = _this.props,
111
+ model = _this$props.model,
112
+ onChange = _this$props.onChange;
113
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
114
+ labels: labels
115
+ }));
116
+ });
117
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTitle", function (title) {
118
+ var _this$props2 = _this.props,
119
+ model = _this$props2.model,
120
+ onChange = _this$props2.onChange;
121
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
122
+ title: title
123
+ }));
124
+ });
125
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChange", function (config) {
126
+ var _this$props3 = _this.props,
127
+ model = _this$props3.model,
128
+ onChange = _this$props3.onChange;
129
+ var _this$state = _this.state,
130
+ oldGridValues = _this$state.gridValues,
131
+ oldLabelValues = _this$state.labelValues;
132
+
133
+ var updatedModel = _objectSpread(_objectSpread({}, model), config);
134
+
135
+ var domain = updatedModel.domain,
136
+ includeAxes = updatedModel.includeAxes,
137
+ graph = updatedModel.graph,
138
+ range = updatedModel.range,
139
+ standardGrid = updatedModel.standardGrid;
140
+ var gridValues = {
141
+ domain: [],
142
+ range: []
143
+ };
144
+ var labelValues = {
145
+ domain: [],
146
+ range: []
147
+ };
148
+
149
+ if (includeAxes) {
150
+ var domainConstraints = (0, _utils.applyConstraints)(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);
151
+ gridValues.domain = domainConstraints.gridValues || [];
152
+ labelValues.domain = domainConstraints.labelValues || [];
153
+ }
173
154
 
174
- _this2 = _super.call.apply(_super, [this].concat(args));
175
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onChangeInputValue", function (key, value) {
176
- var model = _this2.props.model;
177
- (0, _lodash.set)(model, key, value);
155
+ if (standardGrid) {
156
+ gridValues.range = gridValues.domain;
157
+ labelValues.range = labelValues.domain;
158
+ range.step = domain.step;
159
+ range.labelStep = domain.labelStep;
160
+ } else {
161
+ if (includeAxes) {
162
+ var rangeConstraints = (0, _utils.applyConstraints)(range, graph.height, oldGridValues.range, oldLabelValues.range);
163
+ gridValues.range = rangeConstraints.gridValues || [];
164
+ labelValues.range = rangeConstraints.labelValues || [];
165
+ }
166
+ }
178
167
 
179
- _this2.props.onChange(model);
180
- });
181
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "renderInput", function (key, label, className) {
182
- var _this2$props = _this2.props,
183
- classes = _this2$props.classes,
184
- model = _this2$props.model;
185
- return /*#__PURE__*/React.createElement(_configUi.NumberTextField, {
186
- key: key,
187
- label: label.toUpperCase(),
188
- onChange: function onChange(event, value) {
189
- return _this2.onChangeInputValue(key, value);
190
- },
191
- value: (0, _lodash.get)(model, key),
192
- className: className || classes.input
168
+ _this.setState({
169
+ gridValues: gridValues,
170
+ labelValues: labelValues
193
171
  });
172
+
173
+ onChange(updatedModel);
194
174
  });
195
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "renderRow", function (key, content) {
196
- var classes = _this2.props.classes;
197
- return /*#__PURE__*/React.createElement("div", {
198
- className: classes.row,
199
- key: key
200
- }, content);
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
+ }
201
185
  });
202
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "changeBackgroundMarks", function (backgroundMarks) {
203
- var model = _objectSpread(_objectSpread({}, _this2.props.model), {}, {
204
- backgroundMarks: backgroundMarks
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
205
199
  });
206
200
 
207
- _this2.props.onChange(model);
201
+ onChange(_objectSpread(_objectSpread({}, model), updatedModel));
208
202
  });
209
- return _this2;
203
+
204
+ var _ref2 = props.model || {},
205
+ _domain = _ref2.domain,
206
+ _range = _ref2.range,
207
+ _graph = _ref2.graph;
208
+
209
+ var _gridValues = {
210
+ domain: (0, _utils.getGridValues)(_domain, _graph.width, true),
211
+ range: (0, _utils.getGridValues)(_range, _graph.height, true)
212
+ };
213
+ var _labelValues = {
214
+ domain: (0, _utils.getLabelValues)(_domain.step),
215
+ range: (0, _utils.getLabelValues)(_range.step)
216
+ };
217
+ _this.state = {
218
+ gridValues: _gridValues,
219
+ labelValues: _labelValues,
220
+ selectedGrid: 0,
221
+ showPixelGuides: false
222
+ };
223
+ return _this;
210
224
  }
211
225
 
212
226
  (0, _createClass2["default"])(GraphingConfig, [{
213
227
  key: "render",
214
228
  value: function render() {
215
- var _this$props = this.props,
216
- classes = _this$props.classes,
217
- model = _this$props.model,
218
- authoringEnabled = _this$props.authoringEnabled;
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;
219
244
 
220
245
  var _ref3 = model || {},
221
- graph = _ref3.graph;
222
-
223
- var _ref4 = model || {},
224
- arrows = _ref4.arrows,
225
- backgroundMarks = _ref4.backgroundMarks,
226
- coordinatesOnHover = _ref4.coordinatesOnHover,
227
- domain = _ref4.domain,
228
- labels = _ref4.labels,
229
- range = _ref4.range,
230
- title = _ref4.title,
231
- toolbarTools = _ref4.toolbarTools;
232
-
233
- graph = graph || {};
234
- return /*#__PURE__*/React.createElement("div", null, "Define Graph Attributes", /*#__PURE__*/React.createElement("div", {
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;
255
+
256
+ var graph = (model || {}).graph || {};
257
+
258
+ var _ref4 = graphDimensions || {},
259
+ dimensionsEnabled = _ref4.enabled,
260
+ min = _ref4.min,
261
+ max = _ref4.max,
262
+ step = _ref4.step;
263
+
264
+ var _this$state2 = this.state,
265
+ gridValues = _this$state2.gridValues,
266
+ labelValues = _this$state2.labelValues,
267
+ selectedGrid = _this$state2.selectedGrid,
268
+ showPixelGuides = _this$state2.showPixelGuides;
269
+ var sizeConstraints = {
270
+ min: Math.max(150, min),
271
+ max: Math.min(800, max),
272
+ step: step >= 1 ? Math.min(200, step) : 20
273
+ };
274
+ var displayedFields = {
275
+ axisLabel: authoring.axisLabel,
276
+ dimensionsEnabled: dimensionsEnabled,
277
+ includeAxesEnabled: authoring.includeAxesEnabled,
278
+ labelStep: authoring.labelStep,
279
+ min: authoring.min,
280
+ max: authoring.max,
281
+ standardGridEnabled: authoring.standardGridEnabled,
282
+ step: authoring.step
283
+ };
284
+ var displayGridSetup = authoring.enabled && Object.values(displayedFields).some(function (field) {
285
+ return (0, _typeof2["default"])(field) === 'object' ? field.enabled : field;
286
+ });
287
+ return /*#__PURE__*/React.createElement("div", {
235
288
  className: classes.container
236
- }, authoringEnabled && /*#__PURE__*/React.createElement("div", {
237
- className: (0, _classnames["default"])(classes.column, classes.settings),
238
- key: "settings"
239
- }, /*#__PURE__*/React.createElement(AuthoringColumn, {
240
- columnKey: "domain",
241
- axis: "x",
242
- classes: classes,
243
- model: model
244
- }), /*#__PURE__*/React.createElement(AuthoringColumn, {
245
- columnKey: "range",
246
- axis: "y",
247
- classes: classes,
248
- model: model
289
+ }, /*#__PURE__*/React.createElement("div", {
290
+ className: classes.gridConfigWrapper
291
+ }, gridConfigurations && gridConfigurations.length ? /*#__PURE__*/React.createElement("div", {
292
+ className: classes.gridConfig
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, {
309
+ displayedFields: displayedFields,
310
+ domain: domain,
311
+ dimensionsEnabled: dimensionsEnabled,
312
+ gridValues: gridValues,
313
+ includeAxes: includeAxes,
314
+ labelValues: labelValues,
315
+ range: range,
316
+ size: graph,
317
+ sizeConstraints: sizeConstraints,
318
+ standardGrid: standardGrid,
319
+ onChange: this.onConfigChange,
320
+ onChangeView: this.onChangeView
249
321
  })), /*#__PURE__*/React.createElement("div", {
250
- className: classes.column,
322
+ className: classes.graphConfig,
251
323
  key: "graph"
252
- }, /*#__PURE__*/React.createElement(_Typography["default"], {
324
+ }, /*#__PURE__*/React.createElement(_core.Typography, {
325
+ component: "div",
326
+ variant: "subheading"
327
+ }, /*#__PURE__*/React.createElement("span", null, "Define Graph Attributes")), /*#__PURE__*/React.createElement(_core.Typography, {
253
328
  component: "div",
254
- type: "body1"
255
- }, /*#__PURE__*/React.createElement("span", null, "Use the tools below to set background shapes")), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
329
+ variant: "body1",
330
+ className: classes.subtitleText
331
+ }, /*#__PURE__*/React.createElement("span", null, "Use this interface to add/edit a title and/or labels, and to set background shapes")), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
256
332
  axesSettings: {
257
333
  includeArrows: arrows
258
334
  },
259
335
  backgroundMarks: [],
260
336
  coordinatesOnHover: coordinatesOnHover,
337
+ collapsibleToolbar: true,
338
+ collapsibleToolbarTitle: 'Add Background Shapes to Graph',
261
339
  domain: domain,
262
340
  key: "graphing-config",
263
341
  labels: labels,
342
+ labelsPlaceholders: labelsPlaceholders,
264
343
  marks: backgroundMarks,
344
+ onChangeLabels: this.changeLabels,
265
345
  onChangeMarks: this.changeBackgroundMarks,
346
+ onChangeTitle: this.changeTitle,
266
347
  range: range,
348
+ showLabels: showLabels,
349
+ showPixelGuides: showPixelGuides,
350
+ showTitle: showTitle,
267
351
  size: {
268
352
  width: graph.width,
269
353
  height: graph.height
270
354
  },
271
355
  title: title,
272
- toolbarTools: toolbarTools
273
- }))));
356
+ titlePlaceholder: titlePlaceholder,
357
+ toolbarTools: availableTools
358
+ })));
274
359
  }
275
360
  }]);
276
361
  return GraphingConfig;
@@ -279,10 +364,13 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
279
364
  exports.GraphingConfig = GraphingConfig;
280
365
  (0, _defineProperty2["default"])(GraphingConfig, "propTypes", {
281
366
  classes: _propTypes["default"].object.isRequired,
367
+ authoring: _propTypes["default"].object,
368
+ graphDimensions: _propTypes["default"].object,
369
+ gridConfigurations: _propTypes["default"].array,
282
370
  model: _propTypes["default"].object.isRequired,
283
- onChange: _propTypes["default"].func.isRequired,
284
- authoringEnabled: _propTypes["default"].bool
371
+ onChange: _propTypes["default"].func.isRequired
285
372
  });
373
+ ;
286
374
 
287
375
  var _default = (0, _styles.withStyles)(styles)(GraphingConfig);
288
376
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphing-config.jsx"],"names":["AuthoringColumn","columnKey","axis","classes","model","rows","key","inputs","label","className","smallInput","type","column","toUpperCase","map","row","input","target","onChangeInputValue","value","event","propTypes","PropTypes","String","object","styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","settings","flexDirection","width","GraphingConfig","props","onChange","content","backgroundMarks","authoringEnabled","graph","arrows","coordinatesOnHover","domain","labels","range","title","toolbarTools","includeArrows","changeBackgroundMarks","height","React","Component","isRequired","func","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NumberTextField } from '@pie-lib/config-ui';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer } from '@pie-lib/graphing';\nimport { TextField } from '@material-ui/core';\n\nimport { get, set } from 'lodash';\nimport Typography from '@material-ui/core/Typography';\n\nexport const AuthoringColumn = ({ columnKey, axis, classes, model }) => {\n const rows = [{\n key: '${columnKey}-min-max',\n inputs: [\n {\n key: `${columnKey}.min`,\n label: 'Min value',\n className: classes.smallInput\n },\n {\n key: `${columnKey}.max`,\n label: 'Max value',\n className: classes.smallInput\n }\n ]\n }, {\n key: `${columnKey}-tick-frequency`,\n inputs: [\n {\n key: `${columnKey}.step`,\n label: 'Tick frequency'\n }\n ]\n },\n {\n key: `${columnKey}-tick-label-frequency`,\n inputs: [\n {\n key: `${columnKey}.labelStep`,\n label: 'Tick label frequency'\n }\n ]\n },\n {\n key: `${columnKey}-axis-label`,\n inputs: [\n {\n type: 'text',\n key: `${axis}-axis-label-input`,\n label: `${axis} Axis Label`\n }\n ]\n }\n ];\n\n return (\n <div className={classes.column} key={columnKey}>\n {`${columnKey.toUpperCase()} (${axis.toUpperCase()})`}\n\n {rows.map(row => (\n <div className={classes.row} key={row.key}>\n {row.inputs.map(input => {\n if (input.type === 'text') {\n return (\n <TextField\n className={classes.input}\n label={input.label.toUpperCase()}\n value={model[`${axis}AxisLabel`]}\n onChange={({ target }) => this.onChangeInputValue(`${axis}AxisLabel`, target.value)}\n />\n );\n }\n\n return (\n <TextField\n type=\"number\"\n key={input.key}\n label={input.label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(input.key, value)}\n value={get(model, input.key)}\n className={input.className || classes.input}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n\nAuthoringColumn.propTypes = {\n axis: PropTypes.String,\n classes: PropTypes.object,\n columnKey: PropTypes.String,\n model: PropTypes.object,\n};\n\nconst styles = theme => ({\n container: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 3,\n display: 'flex',\n flex: 1,\n },\n column: {\n flex: 1\n },\n row: {\n marginTop: theme.spacing.unit * 2,\n flex: 1\n },\n settings: {\n display: 'flex',\n flexDirection: 'row'\n },\n input: {\n width: 'calc(100% - 32px)'\n },\n smallInput: {\n width: 'calc(50% - 32px)'\n }\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n authoringEnabled: PropTypes.bool,\n };\n\n onChangeInputValue = (key, value) => {\n const { model } = this.props;\n\n set(model, key, value);\n this.props.onChange(model);\n };\n\n renderInput = (key, label, className) => {\n const { classes, model } = this.props;\n\n return (\n <NumberTextField\n key={key}\n label={label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(key, value)}\n value={get(model, key)}\n className={className || classes.input}\n />\n )\n };\n\n renderRow = (key, content) => {\n const { classes } = this.props;\n\n return (\n <div className={classes.row} key={key}>\n {content}\n </div>\n );\n };\n\n changeBackgroundMarks = backgroundMarks => {\n const model = { ...this.props.model, backgroundMarks };\n this.props.onChange(model);\n };\n\n render() {\n const { classes, model, authoringEnabled } = this.props;\n let { graph } = model || {};\n const { arrows, backgroundMarks, coordinatesOnHover, domain, labels, range, title, toolbarTools } = model || {};\n graph = graph || {};\n\n return (\n <div>\n Define Graph Attributes\n\n <div className={classes.container}>\n {\n authoringEnabled && (\n <div className={classnames(classes.column, classes.settings)} key=\"settings\">\n <AuthoringColumn columnKey=\"domain\" axis=\"x\" classes={classes} model={model} />\n <AuthoringColumn columnKey=\"range\" axis=\"y\" classes={classes} model={model} />\n </div>\n )\n }\n\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to set background shapes</span>\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n marks={backgroundMarks}\n onChangeMarks={this.changeBackgroundMarks}\n range={range}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={toolbarTools}\n />\n </div>\n\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
1
+ {"version":3,"sources":["../src/graphing-config.jsx"],"names":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","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"}