@pie-lib/graphing 2.15.1-beta.0 → 2.17.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.
- package/CHANGELOG.json +1 -1017
- package/CHANGELOG.md +145 -1
- package/lib/axis/arrow.js +115 -0
- package/lib/axis/arrow.js.map +1 -0
- package/lib/axis/axes.js +415 -0
- package/lib/axis/axes.js.map +1 -0
- package/lib/axis/index.js +26 -0
- package/lib/axis/index.js.map +1 -0
- package/lib/bg.js +139 -0
- package/lib/bg.js.map +1 -0
- package/lib/container/actions.js +24 -0
- package/lib/container/actions.js.map +1 -0
- package/lib/container/index.js +163 -0
- package/lib/container/index.js.map +1 -0
- package/lib/container/marks.js +27 -0
- package/lib/container/marks.js.map +1 -0
- package/lib/container/middleware.js +25 -0
- package/lib/container/middleware.js.map +1 -0
- package/lib/container/reducer.js +25 -0
- package/lib/container/reducer.js.map +1 -0
- package/lib/coordinates-label.js +109 -0
- package/lib/coordinates-label.js.map +1 -0
- package/lib/graph-with-controls.js +359 -0
- package/lib/graph-with-controls.js.map +1 -0
- package/lib/graph.js +371 -0
- package/lib/graph.js.map +1 -0
- package/lib/grid-setup.js +462 -0
- package/lib/grid-setup.js.map +1 -0
- package/lib/grid.js +176 -0
- package/lib/grid.js.map +1 -0
- package/lib/index.js +59 -0
- package/lib/index.js.map +1 -0
- package/lib/key-legend.js +246 -0
- package/lib/key-legend.js.map +1 -0
- package/lib/label-svg-icon.js +56 -0
- package/lib/label-svg-icon.js.map +1 -0
- package/lib/labels.js +299 -0
- package/lib/labels.js.map +1 -0
- package/lib/mark-label.js +321 -0
- package/lib/mark-label.js.map +1 -0
- package/lib/shared/index.js +136 -0
- package/lib/toggle-bar.js +336 -0
- package/lib/toggle-bar.js.map +1 -0
- package/lib/tool-menu.js +112 -0
- package/lib/tool-menu.js.map +1 -0
- package/lib/tools/absolute/component.js +35 -0
- package/lib/tools/absolute/component.js.map +1 -0
- package/lib/tools/absolute/index.js +63 -0
- package/lib/tools/absolute/index.js.map +1 -0
- package/lib/tools/circle/bg-circle.js +173 -0
- package/lib/tools/circle/bg-circle.js.map +1 -0
- package/lib/tools/circle/component.js +406 -0
- package/lib/tools/circle/component.js.map +1 -0
- package/lib/tools/circle/index.js +51 -0
- package/lib/tools/circle/index.js.map +1 -0
- package/lib/tools/exponential/component.js +34 -0
- package/lib/tools/exponential/component.js.map +1 -0
- package/lib/tools/exponential/index.js +71 -0
- package/lib/tools/exponential/index.js.map +1 -0
- package/lib/tools/index.js +99 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/line/component.js +103 -0
- package/lib/tools/line/component.js.map +1 -0
- package/lib/tools/line/index.js +16 -0
- package/lib/tools/line/index.js.map +1 -0
- package/lib/tools/parabola/component.js +34 -0
- package/lib/tools/parabola/component.js.map +1 -0
- package/lib/tools/parabola/index.js +63 -0
- package/lib/tools/parabola/index.js.map +1 -0
- package/lib/tools/point/component.js +186 -0
- package/lib/tools/point/component.js.map +1 -0
- package/lib/tools/point/index.js +32 -0
- package/lib/tools/point/index.js.map +1 -0
- package/lib/tools/polygon/component.js +518 -0
- package/lib/tools/polygon/component.js.map +1 -0
- package/lib/tools/polygon/index.js +106 -0
- package/lib/tools/polygon/index.js.map +1 -0
- package/lib/tools/polygon/line.js +157 -0
- package/lib/tools/polygon/line.js.map +1 -0
- package/lib/tools/polygon/polygon.js +165 -0
- package/lib/tools/polygon/polygon.js.map +1 -0
- package/lib/tools/ray/component.js +102 -0
- package/lib/tools/ray/component.js.map +1 -0
- package/lib/tools/ray/index.js +16 -0
- package/lib/tools/ray/index.js.map +1 -0
- package/lib/tools/segment/component.js +75 -0
- package/lib/tools/segment/component.js.map +1 -0
- package/lib/tools/segment/index.js +16 -0
- package/lib/tools/segment/index.js.map +1 -0
- package/lib/tools/shared/arrow-head.js +70 -0
- package/lib/tools/shared/arrow-head.js.map +1 -0
- package/lib/tools/shared/icons/CorrectSVG.js +36 -0
- package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/IncorrectSVG.js +36 -0
- package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/MissingSVG.js +35 -0
- package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
- package/lib/tools/shared/line/index.js +599 -0
- package/lib/tools/shared/line/index.js.map +1 -0
- package/lib/tools/shared/line/line-path.js +151 -0
- package/lib/tools/shared/line/line-path.js.map +1 -0
- package/lib/tools/shared/line/with-root-edge.js +155 -0
- package/lib/tools/shared/line/with-root-edge.js.map +1 -0
- package/lib/tools/shared/point/arrow-point.js +113 -0
- package/lib/tools/shared/point/arrow-point.js.map +1 -0
- package/lib/tools/shared/point/arrow.js +96 -0
- package/lib/tools/shared/point/arrow.js.map +1 -0
- package/lib/tools/shared/point/base-point.js +175 -0
- package/lib/tools/shared/point/base-point.js.map +1 -0
- package/lib/tools/shared/point/index.js +97 -0
- package/lib/tools/shared/point/index.js.map +1 -0
- package/lib/tools/shared/styles.js +58 -0
- package/lib/tools/shared/styles.js.map +1 -0
- package/lib/tools/shared/types.js +23 -0
- package/lib/tools/shared/types.js.map +1 -0
- package/lib/tools/sine/component.js +51 -0
- package/lib/tools/sine/component.js.map +1 -0
- package/lib/tools/sine/index.js +63 -0
- package/lib/tools/sine/index.js.map +1 -0
- package/lib/tools/vector/component.js +88 -0
- package/lib/tools/vector/component.js.map +1 -0
- package/lib/tools/vector/index.js +16 -0
- package/lib/tools/vector/index.js.map +1 -0
- package/lib/undo-redo.js +123 -0
- package/lib/undo-redo.js.map +1 -0
- package/lib/use-debounce.js +32 -0
- package/lib/use-debounce.js.map +1 -0
- package/lib/utils.js +307 -0
- package/lib/utils.js.map +1 -0
- package/package.json +7 -10
- package/src/axis/axes.jsx +1 -1
- package/src/coordinates-label.jsx +1 -1
- package/src/graph-with-controls.jsx +1 -1
- package/src/grid-setup.jsx +1 -1
- package/src/key-legend.jsx +1 -1
- package/src/labels.jsx +1 -1
- package/src/mark-label.jsx +1 -1
- package/src/toggle-bar.jsx +1 -1
- package/src/tools/circle/bg-circle.jsx +1 -1
- package/src/tools/circle/component.jsx +1 -1
- package/src/tools/polygon/line.jsx +1 -1
- package/src/tools/polygon/polygon.jsx +1 -1
- package/src/tools/shared/line/index.jsx +1 -1
- package/src/tools/shared/line/line-path.jsx +1 -1
- package/src/tools/shared/point/index.jsx +1 -1
- package/src/tools/shared/styles.js +1 -1
- package/src/undo-redo.jsx +1 -1
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var _index = require("./shared/index");
|
|
17
|
+
|
|
18
|
+
var _styles = require("@material-ui/core/styles");
|
|
19
|
+
|
|
20
|
+
var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
|
|
21
|
+
|
|
22
|
+
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
23
|
+
|
|
24
|
+
var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
|
|
25
|
+
|
|
26
|
+
var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
|
|
27
|
+
|
|
28
|
+
var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
|
|
29
|
+
|
|
30
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
31
|
+
|
|
32
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
33
|
+
|
|
34
|
+
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; }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
var GridConfig = function GridConfig(props) {
|
|
39
|
+
var classes = props.classes,
|
|
40
|
+
disabled = props.disabled,
|
|
41
|
+
displayedFields = props.displayedFields,
|
|
42
|
+
labelValue = props.labelValue,
|
|
43
|
+
labelValues = props.labelValues,
|
|
44
|
+
gridValue = props.gridValue,
|
|
45
|
+
gridValues = props.gridValues,
|
|
46
|
+
_onChange = props.onChange;
|
|
47
|
+
var _displayedFields$labe = displayedFields.labelStep,
|
|
48
|
+
labelStep = _displayedFields$labe === void 0 ? {} : _displayedFields$labe,
|
|
49
|
+
_displayedFields$step = displayedFields.step,
|
|
50
|
+
step = _displayedFields$step === void 0 ? {} : _displayedFields$step;
|
|
51
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
52
|
+
className: classes.columnView
|
|
53
|
+
}, step && step.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
54
|
+
className: classes.mediumTextField,
|
|
55
|
+
label: step.label || '',
|
|
56
|
+
value: gridValue,
|
|
57
|
+
customValues: gridValues,
|
|
58
|
+
variant: "outlined",
|
|
59
|
+
disabled: disabled,
|
|
60
|
+
onChange: function onChange(e, v) {
|
|
61
|
+
return _onChange('step', v);
|
|
62
|
+
}
|
|
63
|
+
}), labelStep && labelStep.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
64
|
+
className: classes.mediumTextField,
|
|
65
|
+
label: labelStep.label || '',
|
|
66
|
+
value: labelValue,
|
|
67
|
+
customValues: labelValues,
|
|
68
|
+
variant: "outlined",
|
|
69
|
+
disabled: disabled,
|
|
70
|
+
onChange: function onChange(e, v) {
|
|
71
|
+
return _onChange('labelStep', v);
|
|
72
|
+
}
|
|
73
|
+
}));
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
GridConfig.propTypes = {
|
|
77
|
+
classes: _propTypes["default"].object,
|
|
78
|
+
disabled: _propTypes["default"].bool,
|
|
79
|
+
displayedFields: _propTypes["default"].object,
|
|
80
|
+
labelValue: _propTypes["default"].number,
|
|
81
|
+
labelValues: _propTypes["default"].array,
|
|
82
|
+
gridValue: _propTypes["default"].number,
|
|
83
|
+
gridValues: _propTypes["default"].array,
|
|
84
|
+
onChange: _propTypes["default"].func
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
var AxisConfig = function AxisConfig(props) {
|
|
88
|
+
var classes = props.classes,
|
|
89
|
+
disabled = props.disabled,
|
|
90
|
+
displayedFields = props.displayedFields,
|
|
91
|
+
displayHeader = props.displayHeader,
|
|
92
|
+
label = props.label,
|
|
93
|
+
maxValue = props.maxValue,
|
|
94
|
+
minValue = props.minValue,
|
|
95
|
+
_onChange2 = props.onChange,
|
|
96
|
+
type = props.type;
|
|
97
|
+
var _displayedFields$axis = displayedFields.axisLabel,
|
|
98
|
+
axisLabel = _displayedFields$axis === void 0 ? {} : _displayedFields$axis,
|
|
99
|
+
_displayedFields$min = displayedFields.min,
|
|
100
|
+
min = _displayedFields$min === void 0 ? {} : _displayedFields$min,
|
|
101
|
+
_displayedFields$max = displayedFields.max,
|
|
102
|
+
max = _displayedFields$max === void 0 ? {} : _displayedFields$max;
|
|
103
|
+
var activePlugins = ['bold', 'italic', 'underline', 'strikethrough' // 'languageCharacters'
|
|
104
|
+
];
|
|
105
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
106
|
+
className: classes.columnView
|
|
107
|
+
}, displayHeader && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
108
|
+
variant: "subtitle2"
|
|
109
|
+
}, /*#__PURE__*/_react["default"].createElement("i", null, type === 'domain' ? 'x' : 'y'), "-axis"), min && min.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
110
|
+
className: classes.mediumTextField,
|
|
111
|
+
label: min.label || '',
|
|
112
|
+
value: minValue,
|
|
113
|
+
min: -10000,
|
|
114
|
+
max: maxValue - 0.05,
|
|
115
|
+
variant: "outlined",
|
|
116
|
+
disabled: disabled,
|
|
117
|
+
onChange: function onChange(e, v) {
|
|
118
|
+
return _onChange2('min', v);
|
|
119
|
+
}
|
|
120
|
+
}), max && max.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
121
|
+
className: classes.mediumTextField,
|
|
122
|
+
label: max.label || '',
|
|
123
|
+
value: maxValue,
|
|
124
|
+
min: minValue + 0.05,
|
|
125
|
+
max: 10000,
|
|
126
|
+
variant: "outlined",
|
|
127
|
+
disabled: disabled,
|
|
128
|
+
onChange: function onChange(e, v) {
|
|
129
|
+
return _onChange2('max', v);
|
|
130
|
+
}
|
|
131
|
+
}), axisLabel && axisLabel.enabled && /*#__PURE__*/_react["default"].createElement(_index.InputContainer, {
|
|
132
|
+
label: axisLabel.label || '',
|
|
133
|
+
className: classes.mediumTextField
|
|
134
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
135
|
+
className: classes.axisLabel,
|
|
136
|
+
onChange: function onChange(value) {
|
|
137
|
+
return _onChange2('axisLabel', value);
|
|
138
|
+
},
|
|
139
|
+
markup: label || '',
|
|
140
|
+
charactersLimit: 5,
|
|
141
|
+
activePlugins: activePlugins
|
|
142
|
+
})));
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
AxisConfig.propTypes = {
|
|
146
|
+
classes: _propTypes["default"].object,
|
|
147
|
+
disabled: _propTypes["default"].bool,
|
|
148
|
+
displayedFields: _propTypes["default"].object,
|
|
149
|
+
displayHeader: _propTypes["default"].bool,
|
|
150
|
+
label: _propTypes["default"].string,
|
|
151
|
+
maxValue: _propTypes["default"].number,
|
|
152
|
+
minValue: _propTypes["default"].number,
|
|
153
|
+
type: _propTypes["default"].string,
|
|
154
|
+
onChange: _propTypes["default"].func
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
var GridSetup = function GridSetup(props) {
|
|
158
|
+
var classes = props.classes,
|
|
159
|
+
domain = props.domain,
|
|
160
|
+
_props$displayedField = props.displayedFields,
|
|
161
|
+
displayedFields = _props$displayedField === void 0 ? {} : _props$displayedField,
|
|
162
|
+
_props$gridValues = props.gridValues,
|
|
163
|
+
gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
|
|
164
|
+
includeAxes = props.includeAxes,
|
|
165
|
+
_props$labelValues = props.labelValues,
|
|
166
|
+
labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
|
|
167
|
+
onChange = props.onChange,
|
|
168
|
+
onChangeView = props.onChangeView,
|
|
169
|
+
range = props.range,
|
|
170
|
+
size = props.size,
|
|
171
|
+
sizeConstraints = props.sizeConstraints,
|
|
172
|
+
standardGrid = props.standardGrid;
|
|
173
|
+
var gridProps = {
|
|
174
|
+
min: 2,
|
|
175
|
+
max: 41
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
var _ref = displayedFields || {},
|
|
179
|
+
_ref$axisLabel = _ref.axisLabel,
|
|
180
|
+
axisLabel = _ref$axisLabel === void 0 ? {} : _ref$axisLabel,
|
|
181
|
+
dimensionsEnabled = _ref.dimensionsEnabled,
|
|
182
|
+
includeAxesEnabled = _ref.includeAxesEnabled,
|
|
183
|
+
_ref$labelStep = _ref.labelStep,
|
|
184
|
+
labelStep = _ref$labelStep === void 0 ? {} : _ref$labelStep,
|
|
185
|
+
_ref$min = _ref.min,
|
|
186
|
+
min = _ref$min === void 0 ? {} : _ref$min,
|
|
187
|
+
_ref$max = _ref.max,
|
|
188
|
+
max = _ref$max === void 0 ? {} : _ref$max,
|
|
189
|
+
standardGridEnabled = _ref.standardGridEnabled,
|
|
190
|
+
_ref$step = _ref.step,
|
|
191
|
+
step = _ref$step === void 0 ? {} : _ref$step;
|
|
192
|
+
|
|
193
|
+
var displayAxisType = min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;
|
|
194
|
+
var gridConfigFields = {
|
|
195
|
+
step: step,
|
|
196
|
+
labelStep: labelStep
|
|
197
|
+
};
|
|
198
|
+
var axisConfigFields = {
|
|
199
|
+
min: min,
|
|
200
|
+
max: max,
|
|
201
|
+
axisLabel: axisLabel
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
var onIncludeAxes = function onIncludeAxes(includeAxes) {
|
|
205
|
+
var noAxesConfig = function noAxesConfig(type) {
|
|
206
|
+
var axis = type === 'domain' ? domain : range;
|
|
207
|
+
return {
|
|
208
|
+
min: 1,
|
|
209
|
+
max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,
|
|
210
|
+
step: 1,
|
|
211
|
+
labelStep: 0
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
var updatedRange = _objectSpread(_objectSpread({}, range), includeAxes ? {
|
|
216
|
+
labelStep: 1
|
|
217
|
+
} : noAxesConfig('range'));
|
|
218
|
+
|
|
219
|
+
var updatedDomain = _objectSpread(_objectSpread({}, domain), includeAxes ? {
|
|
220
|
+
labelStep: 1
|
|
221
|
+
} : noAxesConfig('domain'));
|
|
222
|
+
|
|
223
|
+
onChange({
|
|
224
|
+
includeAxes: includeAxes,
|
|
225
|
+
range: updatedRange,
|
|
226
|
+
domain: updatedDomain
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
var onStandardGridChanged = function onStandardGridChanged(value) {
|
|
231
|
+
onChange({
|
|
232
|
+
standardGrid: value,
|
|
233
|
+
range: _objectSpread(_objectSpread({}, domain), {}, {
|
|
234
|
+
axisLabel: range.axisLabel
|
|
235
|
+
}),
|
|
236
|
+
graph: _objectSpread(_objectSpread({}, size), {}, {
|
|
237
|
+
height: size.width
|
|
238
|
+
})
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
var onSizeChanged = function onSizeChanged(key, value) {
|
|
243
|
+
var graph = _objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, value));
|
|
244
|
+
|
|
245
|
+
if (standardGrid) {
|
|
246
|
+
graph.height = value;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
onChange({
|
|
250
|
+
graph: graph
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
var onDomainChanged = function onDomainChanged(key, value) {
|
|
255
|
+
domain[key] = value;
|
|
256
|
+
|
|
257
|
+
if (standardGrid && key !== 'axisLabel') {
|
|
258
|
+
range[key] = value;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
onChange({
|
|
262
|
+
domain: domain,
|
|
263
|
+
range: range
|
|
264
|
+
});
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
var onRangeChanged = function onRangeChanged(key, value) {
|
|
268
|
+
range[key] = value;
|
|
269
|
+
onChange({
|
|
270
|
+
range: range
|
|
271
|
+
});
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
var axesConfig = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
275
|
+
className: classes.rowView
|
|
276
|
+
}, /*#__PURE__*/_react["default"].createElement(AxisConfig, {
|
|
277
|
+
classes: classes,
|
|
278
|
+
displayedFields: axisConfigFields,
|
|
279
|
+
displayHeader: displayAxisType,
|
|
280
|
+
type: "domain",
|
|
281
|
+
minValue: domain.min,
|
|
282
|
+
maxValue: domain.max,
|
|
283
|
+
label: domain.axisLabel,
|
|
284
|
+
includeAxes: includeAxes,
|
|
285
|
+
onChange: onDomainChanged
|
|
286
|
+
}), /*#__PURE__*/_react["default"].createElement(AxisConfig, {
|
|
287
|
+
classes: classes,
|
|
288
|
+
displayedFields: axisConfigFields,
|
|
289
|
+
displayHeader: displayAxisType,
|
|
290
|
+
type: "range",
|
|
291
|
+
minValue: range.min,
|
|
292
|
+
maxValue: range.max,
|
|
293
|
+
label: range.axisLabel,
|
|
294
|
+
disabled: standardGrid,
|
|
295
|
+
includeAxes: includeAxes,
|
|
296
|
+
onChange: onRangeChanged
|
|
297
|
+
})), (min.enabled || max.enabled) && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
298
|
+
className: classes.text
|
|
299
|
+
}, "If you want the axis to be visible, use a zero or negative Min Value, and a positive Max Value"), (step.enabled || labelStep.enabled) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
300
|
+
className: classes.rowView
|
|
301
|
+
}, /*#__PURE__*/_react["default"].createElement(GridConfig, {
|
|
302
|
+
classes: classes,
|
|
303
|
+
displayedFields: gridConfigFields,
|
|
304
|
+
gridValue: domain.step,
|
|
305
|
+
labelValue: domain.labelStep,
|
|
306
|
+
gridValues: gridValues.domain || [],
|
|
307
|
+
labelValues: labelValues.domain || [],
|
|
308
|
+
onChange: onDomainChanged
|
|
309
|
+
}), /*#__PURE__*/_react["default"].createElement(GridConfig, {
|
|
310
|
+
classes: classes,
|
|
311
|
+
disabled: standardGrid,
|
|
312
|
+
displayedFields: gridConfigFields,
|
|
313
|
+
gridValue: range.step,
|
|
314
|
+
labelValue: range.labelStep,
|
|
315
|
+
gridValues: gridValues.range || [],
|
|
316
|
+
labelValues: labelValues.range || [],
|
|
317
|
+
onChange: onRangeChanged
|
|
318
|
+
})), labelStep.enabled && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
319
|
+
className: classes.text
|
|
320
|
+
}, "For unnumbered gridlines, enter a label interval of 0"));
|
|
321
|
+
|
|
322
|
+
var gridlinesConfig = max.enabled ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
323
|
+
className: classes.columnView
|
|
324
|
+
}, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
325
|
+
className: classes.largeTextField,
|
|
326
|
+
label: "Number of Vertical Gridlines",
|
|
327
|
+
value: domain.max,
|
|
328
|
+
min: !includeAxes && gridProps.min,
|
|
329
|
+
max: !includeAxes && gridProps.max,
|
|
330
|
+
variant: "outlined",
|
|
331
|
+
onChange: function onChange(e, v) {
|
|
332
|
+
return onDomainChanged('max', v);
|
|
333
|
+
}
|
|
334
|
+
}), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
335
|
+
className: classes.largeTextField,
|
|
336
|
+
label: "Number of Horizontal Gridlines",
|
|
337
|
+
value: range.max,
|
|
338
|
+
min: !includeAxes && gridProps.min,
|
|
339
|
+
max: !includeAxes && gridProps.max,
|
|
340
|
+
variant: "outlined",
|
|
341
|
+
disabled: standardGrid,
|
|
342
|
+
onChange: function onChange(e, v) {
|
|
343
|
+
return onRangeChanged('max', v);
|
|
344
|
+
}
|
|
345
|
+
})) : null;
|
|
346
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
347
|
+
className: classes.wrapper
|
|
348
|
+
}, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], {
|
|
349
|
+
onChange: onChangeView
|
|
350
|
+
}, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
|
|
351
|
+
expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
|
|
352
|
+
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
353
|
+
variant: "subtitle1"
|
|
354
|
+
}, "Customize Grid Setup")), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
355
|
+
className: classes.content
|
|
356
|
+
}, includeAxesEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
|
|
357
|
+
label: "Include axes and labels?",
|
|
358
|
+
toggle: onIncludeAxes,
|
|
359
|
+
checked: includeAxes
|
|
360
|
+
}), standardGridEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
|
|
361
|
+
label: "Constrain to standard coordinate grid?",
|
|
362
|
+
toggle: onStandardGridChanged,
|
|
363
|
+
checked: standardGrid
|
|
364
|
+
}), includeAxes ? axesConfig : gridlinesConfig, dimensionsEnabled && /*#__PURE__*/_react["default"].createElement("div", {
|
|
365
|
+
className: classes.dimensions
|
|
366
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)"), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
367
|
+
className: classes.disabled
|
|
368
|
+
}, "Min ", sizeConstraints.min, ", Max ", sizeConstraints.max)), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
369
|
+
className: classes.textField,
|
|
370
|
+
label: "Width",
|
|
371
|
+
value: size.width,
|
|
372
|
+
min: sizeConstraints.min,
|
|
373
|
+
max: sizeConstraints.max,
|
|
374
|
+
step: sizeConstraints.step,
|
|
375
|
+
variant: "outlined",
|
|
376
|
+
onChange: function onChange(e, v) {
|
|
377
|
+
return onSizeChanged('width', v);
|
|
378
|
+
}
|
|
379
|
+
}), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
380
|
+
className: classes.textField,
|
|
381
|
+
label: "Height",
|
|
382
|
+
value: size.height,
|
|
383
|
+
min: sizeConstraints.min,
|
|
384
|
+
max: sizeConstraints.max,
|
|
385
|
+
step: sizeConstraints.step,
|
|
386
|
+
variant: "outlined",
|
|
387
|
+
disabled: standardGrid,
|
|
388
|
+
onChange: function onChange(e, v) {
|
|
389
|
+
return onSizeChanged('height', v);
|
|
390
|
+
}
|
|
391
|
+
}))))));
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
GridSetup.propTypes = {
|
|
395
|
+
classes: _propTypes["default"].object,
|
|
396
|
+
domain: _propTypes["default"].object,
|
|
397
|
+
displayedFields: _propTypes["default"].object,
|
|
398
|
+
gridValues: _propTypes["default"].object,
|
|
399
|
+
includeAxes: _propTypes["default"].bool,
|
|
400
|
+
labelValues: _propTypes["default"].object,
|
|
401
|
+
onChange: _propTypes["default"].func,
|
|
402
|
+
onChangeView: _propTypes["default"].func,
|
|
403
|
+
range: _propTypes["default"].object,
|
|
404
|
+
size: _propTypes["default"].object,
|
|
405
|
+
sizeConstraints: _propTypes["default"].object,
|
|
406
|
+
standardGrid: _propTypes["default"].bool
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
var styles = function styles(theme) {
|
|
410
|
+
return {
|
|
411
|
+
wrapper: {
|
|
412
|
+
width: '450px'
|
|
413
|
+
},
|
|
414
|
+
content: {
|
|
415
|
+
display: 'flex',
|
|
416
|
+
flexDirection: 'column',
|
|
417
|
+
width: '100%'
|
|
418
|
+
},
|
|
419
|
+
columnView: {
|
|
420
|
+
display: 'flex',
|
|
421
|
+
flexDirection: 'column',
|
|
422
|
+
alignItems: 'center'
|
|
423
|
+
},
|
|
424
|
+
rowView: {
|
|
425
|
+
display: 'flex',
|
|
426
|
+
justifyContent: 'space-around',
|
|
427
|
+
alignItems: 'center'
|
|
428
|
+
},
|
|
429
|
+
textField: {
|
|
430
|
+
width: '130px',
|
|
431
|
+
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
432
|
+
},
|
|
433
|
+
mediumTextField: {
|
|
434
|
+
width: '160px',
|
|
435
|
+
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
436
|
+
},
|
|
437
|
+
largeTextField: {
|
|
438
|
+
width: '230px',
|
|
439
|
+
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
440
|
+
},
|
|
441
|
+
text: {
|
|
442
|
+
fontStyle: 'italic',
|
|
443
|
+
margin: "".concat(theme.spacing.unit, "px 0")
|
|
444
|
+
},
|
|
445
|
+
dimensions: {
|
|
446
|
+
display: 'flex',
|
|
447
|
+
justifyContent: 'space-between',
|
|
448
|
+
alignItems: 'center'
|
|
449
|
+
},
|
|
450
|
+
disabled: {
|
|
451
|
+
color: _index.color.disabled()
|
|
452
|
+
},
|
|
453
|
+
axisLabel: {
|
|
454
|
+
paddingTop: theme.spacing.unit * 2
|
|
455
|
+
}
|
|
456
|
+
};
|
|
457
|
+
};
|
|
458
|
+
|
|
459
|
+
var _default = (0, _styles.withStyles)(styles)(GridSetup);
|
|
460
|
+
|
|
461
|
+
exports["default"] = _default;
|
|
462
|
+
//# sourceMappingURL=grid-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/grid-setup.jsx"],"names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","propTypes","PropTypes","object","bool","number","array","func","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","string","GridSetup","domain","includeAxes","onChangeView","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '../../render-ui/src/index';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = (props) => {\n const { classes, disabled, displayedFields, labelValue, labelValues, gridValue, gridValues, onChange } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nGridConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n labelValue: PropTypes.number,\n labelValues: PropTypes.array,\n gridValue: PropTypes.number,\n gridValues: PropTypes.array,\n onChange: PropTypes.func,\n};\n\nconst AxisConfig = (props) => {\n const { classes, disabled, displayedFields, displayHeader, label, maxValue, minValue, onChange, type } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.05}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.05}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={(value) => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nAxisConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n displayHeader: PropTypes.bool,\n label: PropTypes.string,\n maxValue: PropTypes.number,\n minValue: PropTypes.number,\n type: PropTypes.string,\n onChange: PropTypes.func,\n};\nconst GridSetup = (props) => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n onChangeView,\n range,\n size,\n sizeConstraints,\n standardGrid,\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {},\n } = displayedFields || {};\n const displayAxisType = min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = (includeAxes) => {\n const noAxesConfig = (type) => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0,\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range')),\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain')),\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = (value) => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel,\n },\n graph: {\n ...size,\n height: size.width,\n },\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>For unnumbered gridlines, enter a label interval of 0</Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel onChange={onChangeView}>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle label=\"Include axes and labels?\" toggle={onIncludeAxes} checked={includeAxes} />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.func,\n onChangeView: PropTypes.func,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool,\n};\n\nconst styles = (theme) => ({\n wrapper: {\n width: '450px',\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`,\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n disabled: {\n color: color.disabled(),\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"file":"grid-setup.js"}
|