@pie-lib/graphing 2.4.3-next.306 → 2.4.3-next.333
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.md +195 -0
- package/lib/grid-setup.js +39 -25
- package/lib/grid-setup.js.map +1 -1
- package/lib/grid.js +0 -7
- package/lib/grid.js.map +1 -1
- package/package.json +4 -4
- package/src/grid-setup.jsx +43 -23
- package/src/grid.jsx +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,201 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.6.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.6.1...@pie-lib/graphing@2.6.2) (2022-05-30)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* unable to load items locally ([17ab686](https://github.com/pie-framework/pie-lib/commit/17ab6864557288aef6ec1d9a130cb508e2591562))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [2.6.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.6.0...@pie-lib/graphing@2.6.1) (2022-05-24)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [2.6.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.5.1...@pie-lib/graphing@2.6.0) (2022-05-10)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **graphing:** new design treatment for gridlines PD-1691 ([ee06081](https://github.com/pie-framework/pie-lib/commit/ee06081141cf343ed6767ef203a7629e6c873c5c))
|
|
31
|
+
* **graphing, plot:** Added padding between labels and graph without changing the size of graph PD-1604 ([aa93191](https://github.com/pie-framework/pie-lib/commit/aa931910c56efddaf54d4586dc0730a9688e25e3))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## [2.5.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.5.0...@pie-lib/graphing@2.5.1) (2022-05-04)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
|
|
42
|
+
* **graphing:** removed problematic componentDidUpdate ([9347554](https://github.com/pie-framework/pie-lib/commit/93475543422bbb7a62d82121751c2e10969904ec))
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
# [2.5.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.17...@pie-lib/graphing@2.5.0) (2022-05-03)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
### Features
|
|
52
|
+
|
|
53
|
+
* **graphing:** updated store on model change PD-1608 ([a3744dd](https://github.com/pie-framework/pie-lib/commit/a3744dd74d90cca280b90657cbd558ce7ab9c288))
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## [2.4.17](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.16...@pie-lib/graphing@2.4.17) (2022-04-28)
|
|
60
|
+
|
|
61
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## [2.4.16](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.15...@pie-lib/graphing@2.4.16) (2022-03-22)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### Bug Fixes
|
|
71
|
+
|
|
72
|
+
* Do not change object at address. Instead, create a clone. ([2b683d7](https://github.com/pie-framework/pie-lib/commit/2b683d76853bf057388e6a223671eef3a040dbbf))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
## [2.4.15](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.14...@pie-lib/graphing@2.4.15) (2022-03-22)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Bug Fixes
|
|
82
|
+
|
|
83
|
+
* Force disable for background marks ([755cfbc](https://github.com/pie-framework/pie-lib/commit/755cfbcb0c878c8857be28aaeeff6e4a8d6b4e71))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
## [2.4.14](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.13...@pie-lib/graphing@2.4.14) (2022-03-22)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
### Bug Fixes
|
|
93
|
+
|
|
94
|
+
* Apply different disable styles for background mark and when mark label is not in edit mode. ([a1657ec](https://github.com/pie-framework/pie-lib/commit/a1657ec7562c96bf760bbf936686816700a7d739))
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
## [2.4.13](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.12...@pie-lib/graphing@2.4.13) (2022-03-22)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
### Bug Fixes
|
|
104
|
+
|
|
105
|
+
* add UI indicator for disabled labels ([d274b3e](https://github.com/pie-framework/pie-lib/commit/d274b3eb024ab909a06d345bf17bc9f23e5d2db0))
|
|
106
|
+
* disable labels for the background marks ([c43a269](https://github.com/pie-framework/pie-lib/commit/c43a26941016490b2687f98b2e02c934a96c02ac))
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
## [2.4.12](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.11...@pie-lib/graphing@2.4.12) (2022-03-21)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Bug Fixes
|
|
116
|
+
|
|
117
|
+
* **graphing:** Adjusted vector arrow orientation angle and fixed rendering issue PD-1602 ([0ebf305](https://github.com/pie-framework/pie-lib/commit/0ebf3059707c868145ef85a14c417cbe01f82491))
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
## [2.4.11](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.10...@pie-lib/graphing@2.4.11) (2022-03-21)
|
|
124
|
+
|
|
125
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
## [2.4.10](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.9...@pie-lib/graphing@2.4.10) (2022-03-07)
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
### Bug Fixes
|
|
135
|
+
|
|
136
|
+
* **graphing:** Adjusted the thickness of the shapes when the distance between lines is too small PD-180 ([8ea20a6](https://github.com/pie-framework/pie-lib/commit/8ea20a61ea02d3e1084f3e10e645a76d580c39b5))
|
|
137
|
+
* **graphing:** Extended the range and domain axes and also the line and ray endings PD-1509 ([97e43c6](https://github.com/pie-framework/pie-lib/commit/97e43c6ab0ab85dd314cff97fb84a85113ab39a0))
|
|
138
|
+
* **graphing:** Increased the calculation accuracy and adjusted range labels PD-1596 ([7cc7570](https://github.com/pie-framework/pie-lib/commit/7cc75701fd759f7e7888e5cccc261978f6e036b0))
|
|
139
|
+
* **graphing:** Should not be possible to plot duplicate/identical objects and should be able to choose a point from an existing object when defining a new object PD-1599 PD-1586 ([ac8502d](https://github.com/pie-framework/pie-lib/commit/ac8502dbe3c7e1a4a663bbe56f7f5ff8bab04430))
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
## [2.4.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.8...@pie-lib/graphing@2.4.9) (2022-02-04)
|
|
146
|
+
|
|
147
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
## [2.4.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.7...@pie-lib/graphing@2.4.8) (2022-02-03)
|
|
154
|
+
|
|
155
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
## [2.4.7](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.6...@pie-lib/graphing@2.4.7) (2022-01-10)
|
|
162
|
+
|
|
163
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
## [2.4.6](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.5...@pie-lib/graphing@2.4.6) (2021-12-13)
|
|
170
|
+
|
|
171
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
## [2.4.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.4...@pie-lib/graphing@2.4.5) (2021-11-29)
|
|
178
|
+
|
|
179
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
## [2.4.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.3...@pie-lib/graphing@2.4.4) (2021-09-08)
|
|
186
|
+
|
|
187
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
## [2.4.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.2...@pie-lib/graphing@2.4.3) (2021-09-08)
|
|
194
|
+
|
|
195
|
+
**Note:** Version bump only for package @pie-lib/graphing
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
6
201
|
## [2.4.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.4.1...@pie-lib/graphing@2.4.2) (2021-08-30)
|
|
7
202
|
|
|
8
203
|
**Note:** Version bump only for package @pie-lib/graphing
|
package/lib/grid-setup.js
CHANGED
|
@@ -23,10 +23,10 @@ var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/Expansio
|
|
|
23
23
|
|
|
24
24
|
var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
|
|
25
25
|
|
|
26
|
-
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
27
|
-
|
|
28
26
|
var _configUi = require("@pie-lib/config-ui");
|
|
29
27
|
|
|
28
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
29
|
+
|
|
30
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
31
|
|
|
32
32
|
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; }
|
|
@@ -46,7 +46,7 @@ var GridConfig = function GridConfig(props) {
|
|
|
46
46
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
47
47
|
className: classes.columnView
|
|
48
48
|
}, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
49
|
-
className: classes.
|
|
49
|
+
className: classes.mediumTextField,
|
|
50
50
|
label: "Grid Interval",
|
|
51
51
|
value: gridValue,
|
|
52
52
|
customValues: gridValues,
|
|
@@ -56,7 +56,7 @@ var GridConfig = function GridConfig(props) {
|
|
|
56
56
|
return _onChange('step', v);
|
|
57
57
|
}
|
|
58
58
|
}), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
59
|
-
className: classes.
|
|
59
|
+
className: classes.mediumTextField,
|
|
60
60
|
label: "Label Interval",
|
|
61
61
|
value: labelValue,
|
|
62
62
|
customValues: labelValues,
|
|
@@ -76,56 +76,61 @@ var AxisConfig = function AxisConfig(props) {
|
|
|
76
76
|
minValue = props.minValue,
|
|
77
77
|
_onChange2 = props.onChange,
|
|
78
78
|
type = props.type;
|
|
79
|
+
var activePlugins = ['bold', 'italic', 'underline', 'strikethrough' // 'languageCharacters'
|
|
80
|
+
];
|
|
79
81
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
80
82
|
className: classes.columnView
|
|
81
83
|
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
82
84
|
variant: "subtitle2"
|
|
83
85
|
}, /*#__PURE__*/_react["default"].createElement("i", null, type === 'domain' ? 'x' : 'y'), "-axis"), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
84
|
-
className: classes.
|
|
86
|
+
className: classes.mediumTextField,
|
|
85
87
|
label: "Min Value",
|
|
86
88
|
value: minValue,
|
|
89
|
+
min: -10000,
|
|
90
|
+
max: maxValue - 0.01,
|
|
87
91
|
variant: "outlined",
|
|
88
92
|
disabled: disabled,
|
|
89
93
|
onChange: function onChange(e, v) {
|
|
90
94
|
return _onChange2('min', v);
|
|
91
95
|
}
|
|
92
96
|
}), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
93
|
-
className: classes.
|
|
97
|
+
className: classes.mediumTextField,
|
|
94
98
|
label: "Max Value",
|
|
95
99
|
value: maxValue,
|
|
100
|
+
min: minValue + 0.01,
|
|
101
|
+
max: 10000,
|
|
96
102
|
variant: "outlined",
|
|
97
103
|
disabled: disabled,
|
|
98
104
|
onChange: function onChange(e, v) {
|
|
99
105
|
return _onChange2('max', v);
|
|
100
106
|
}
|
|
101
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
107
|
+
}), /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
|
|
102
108
|
label: "Label",
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
+
className: classes.mediumTextField
|
|
110
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
111
|
+
className: classes.axisLabel,
|
|
112
|
+
onChange: function onChange(value) {
|
|
113
|
+
return _onChange2('axisLabel', value);
|
|
109
114
|
},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
}));
|
|
115
|
+
markup: label || '',
|
|
116
|
+
charactersLimit: 5,
|
|
117
|
+
activePlugins: activePlugins
|
|
118
|
+
})));
|
|
116
119
|
};
|
|
117
120
|
|
|
118
121
|
var GridSetup = function GridSetup(props) {
|
|
119
122
|
var classes = props.classes,
|
|
120
|
-
sizeConstraints = props.sizeConstraints,
|
|
121
123
|
domain = props.domain,
|
|
122
124
|
dimensionsEnabled = props.dimensionsEnabled,
|
|
123
|
-
gridValues = props.gridValues,
|
|
125
|
+
_props$gridValues = props.gridValues,
|
|
126
|
+
gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
|
|
124
127
|
includeAxes = props.includeAxes,
|
|
125
|
-
labelValues = props.labelValues,
|
|
128
|
+
_props$labelValues = props.labelValues,
|
|
129
|
+
labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
|
|
126
130
|
onChange = props.onChange,
|
|
127
131
|
range = props.range,
|
|
128
132
|
size = props.size,
|
|
133
|
+
sizeConstraints = props.sizeConstraints,
|
|
129
134
|
standardGrid = props.standardGrid;
|
|
130
135
|
var gridProps = {
|
|
131
136
|
min: 2,
|
|
@@ -229,14 +234,16 @@ var GridSetup = function GridSetup(props) {
|
|
|
229
234
|
classes: classes,
|
|
230
235
|
gridValue: domain.step,
|
|
231
236
|
labelValue: domain.labelStep,
|
|
232
|
-
gridValues: gridValues,
|
|
233
|
-
labelValues: labelValues,
|
|
237
|
+
gridValues: gridValues.domain || [],
|
|
238
|
+
labelValues: labelValues.domain || [],
|
|
234
239
|
onChange: onDomainChanged
|
|
235
240
|
}), /*#__PURE__*/_react["default"].createElement(GridConfig, {
|
|
236
241
|
classes: classes,
|
|
237
242
|
disabled: standardGrid,
|
|
238
243
|
gridValue: range.step,
|
|
239
244
|
labelValue: range.labelStep,
|
|
245
|
+
gridValues: gridValues.range || [],
|
|
246
|
+
labelValues: labelValues.range || [],
|
|
240
247
|
onChange: onRangeChanged
|
|
241
248
|
})), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
242
249
|
className: classes.text
|
|
@@ -287,7 +294,7 @@ var GridSetup = function GridSetup(props) {
|
|
|
287
294
|
className: classes.dimensions
|
|
288
295
|
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)"), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
289
296
|
className: classes.disabled
|
|
290
|
-
}, "Min
|
|
297
|
+
}, "Min ", sizeConstraints.min, ", Max ", sizeConstraints.max)), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
291
298
|
className: classes.textField,
|
|
292
299
|
label: "Width",
|
|
293
300
|
value: size.width,
|
|
@@ -351,6 +358,10 @@ var styles = function styles(theme) {
|
|
|
351
358
|
width: '130px',
|
|
352
359
|
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
353
360
|
},
|
|
361
|
+
mediumTextField: {
|
|
362
|
+
width: '160px',
|
|
363
|
+
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
364
|
+
},
|
|
354
365
|
largeTextField: {
|
|
355
366
|
width: '230px',
|
|
356
367
|
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
@@ -366,6 +377,9 @@ var styles = function styles(theme) {
|
|
|
366
377
|
},
|
|
367
378
|
disabled: {
|
|
368
379
|
color: _renderUi.color.disabled()
|
|
380
|
+
},
|
|
381
|
+
axisLabel: {
|
|
382
|
+
paddingTop: theme.spacing.unit * 2
|
|
369
383
|
}
|
|
370
384
|
};
|
|
371
385
|
};
|
package/lib/grid-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-setup.js","names":["GridConfig","props","classes","disabled","labelValue","labelValues","gridValue","gridValues","onChange","columnView","textField","e","v","AxisConfig","label","maxValue","minValue","type","maxLength","style","textAlign","target","value","GridSetup","sizeConstraints","domain","dimensionsEnabled","includeAxes","range","size","standardGrid","gridProps","min","max","onIncludeAxes","noAxesConfig","axis","step","labelStep","updatedRange","updatedDomain","onStandardGridChanged","axisLabel","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","propTypes","PropTypes","object","bool","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","withStyles"],"sources":["../src/grid-setup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\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 TextField from '@material-ui/core/TextField';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\n\nconst GridConfig = props => {\n const { classes, disabled, labelValue, labelValues, gridValue, gridValues, onChange } = props;\n\n return (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Grid Interval\"\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Label Interval\"\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n </div>\n );\n};\n\nconst AxisConfig = props => {\n const { classes, disabled, label, maxValue, minValue, onChange, type } = props;\n\n return (\n <div className={classes.columnView}>\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Min Value\"\n value={minValue}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Max Value\"\n value={maxValue}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n <TextField\n label=\"Label\"\n value={label}\n inputProps={{\n maxLength: 5,\n style: { textAlign: 'center' }\n }}\n variant=\"outlined\"\n className={classes.textField}\n onChange={e => onChange('axisLabel', e.target.value)}\n />\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n sizeConstraints,\n domain,\n dimensionsEnabled,\n gridValues,\n includeAxes,\n labelValues,\n onChange,\n range,\n size,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\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 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 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 <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues}\n labelValues={labelValues}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n gridValue={range.step}\n labelValue={range.labelStep}\n onChange={onRangeChanged}\n />\n </div>\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n </React.Fragment>\n );\n\n const gridlinesConfig = (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal 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 Vertical 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 );\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n <Toggle label=\"Include axes and labels?\" toggle={onIncludeAxes} checked={includeAxes} />\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>Min 150, Max 700</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 dimensionsEnabled: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\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 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});\n\nexport default withStyles(styles)(GridSetup);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grid-setup.js","names":["GridConfig","props","classes","disabled","labelValue","labelValues","gridValue","gridValues","onChange","columnView","mediumTextField","e","v","AxisConfig","label","maxValue","minValue","type","activePlugins","axisLabel","value","GridSetup","domain","dimensionsEnabled","includeAxes","range","size","sizeConstraints","standardGrid","gridProps","min","max","onIncludeAxes","noAxesConfig","axis","step","labelStep","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","propTypes","PropTypes","object","bool","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop","withStyles"],"sources":["../src/grid-setup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\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, labelValue, labelValues, gridValue, gridValues, onChange } = props;\n\n return (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Grid Interval\"\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Label Interval\"\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n </div>\n );\n};\n\nconst AxisConfig = props => {\n const { classes, disabled, label, maxValue, minValue, onChange, type } = props;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Min Value\"\n value={minValue}\n min={-10000}\n max={maxValue - 0.01}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Max Value\"\n value={maxValue}\n min={minValue + 0.01}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n <InputContainer label=\"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 </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n dimensionsEnabled,\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n range,\n size,\n sizeConstraints,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\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 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 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 <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\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 gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n </React.Fragment>\n );\n\n const gridlinesConfig = (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal 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 Vertical 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 );\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n <Toggle label=\"Include axes and labels?\" toggle={onIncludeAxes} checked={includeAxes} />\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\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 dimensionsEnabled: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\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"],"mappings":"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"}
|
package/lib/grid.js
CHANGED
|
@@ -127,13 +127,6 @@ var Grid = /*#__PURE__*/function (_React$Component) {
|
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
_createClass(Grid, [{
|
|
130
|
-
key: "shouldComponentUpdate",
|
|
131
|
-
value: function shouldComponentUpdate(nextProps) {
|
|
132
|
-
var graphProps = this.props.graphProps;
|
|
133
|
-
var nextGraphProps = nextProps.graphProps;
|
|
134
|
-
return !_plot.utils.isDomainRangeEqual(graphProps, nextGraphProps);
|
|
135
|
-
}
|
|
136
|
-
}, {
|
|
137
130
|
key: "render",
|
|
138
131
|
value: function render() {
|
|
139
132
|
var _this2 = this;
|
package/lib/grid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","getTickValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","
|
|
1
|
+
{"version":3,"file":"grid.js","names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","getTickValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","classes","getAdditionalGridProps","r","grid","color","primary","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","object","isRequired","types","GraphPropsType","withStyles","stroke"],"sources":["../src/grid.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types, utils } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getTickValues } from './utils';\n\nexport class Grid extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n disabledAdditionalGrid: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n getAdditionalGridProps = (rowTickValues, columnTickValues) => {\n const {\n graphProps: {\n scale,\n size: { width, height },\n domain,\n range\n }\n } = this.props;\n const rowTickLabelValues = getTickValues({\n ...range,\n step: range.labelStep\n }).filter(value => rowTickValues.includes(value));\n const columnTickLabelValues = getTickValues({\n ...domain,\n step: domain.labelStep\n }).filter(value => columnTickValues.includes(value));\n\n const minValueLength =\n (rowTickLabelValues.length &&\n Math.min(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n const maxValueLength =\n (rowTickLabelValues.length &&\n Math.max(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n\n const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;\n const horizontalDistanceToZero = scale.x(0);\n const verticalDistanceToZero = scale.y(0);\n const columnLabelLength = 28;\n const rowStrokeDasharray = `${horizontalDistanceToZero -\n rowLabelLength} ${rowLabelLength} ${width}`;\n const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;\n\n const displayAdditionalGrid =\n domain.labelStep > 0 &&\n range.labelStep > 0 &&\n rowTickLabelValues &&\n columnTickLabelValues &&\n rowTickLabelValues.length > 1 &&\n columnTickLabelValues.length > 1 &&\n (rowTickLabelValues.length !== rowTickValues.length ||\n columnTickLabelValues.length !== columnTickValues.length);\n\n const filteredColumnValues = columnTickLabelValues.filter(\n value => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength\n );\n const filteredRowValues = rowTickLabelValues.filter(\n value => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength\n );\n\n return {\n rowTickLabelValues: filteredRowValues,\n columnTickLabelValues: filteredColumnValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n };\n };\n\n render() {\n const { classes, graphProps } = this.props;\n const {\n scale,\n size: { height, width },\n domain,\n range\n } = graphProps;\n const rowTickValues = getTickValues(range);\n const columnTickValues = getTickValues(domain);\n const {\n rowTickLabelValues,\n columnTickLabelValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n } = this.getAdditionalGridProps(rowTickValues, columnTickValues);\n\n return (\n <>\n <vx.Grid\n innerRef={r => (this.grid = r)}\n xScale={scale.x}\n yScale={scale.y}\n width={width}\n height={height}\n className={classes.grid}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n {displayAdditionalGrid && (\n <>\n <vx.GridRows\n scale={scale.y}\n width={width}\n tickValues={rowTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({\n grid: {\n stroke: 'purple' // TODO hardcoded color\n }\n}))(Grid);\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.4.3-next.
|
|
6
|
+
"version": "2.4.3-next.333+9e77aef6",
|
|
7
7
|
"description": "Graphing components",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"@mapbox/point-geometry": "^0.1.0",
|
|
20
20
|
"@material-ui/core": "^3.8.3",
|
|
21
21
|
"@pie-lib/graphing-utils": "^1.1.20",
|
|
22
|
-
"@pie-lib/plot": "^2.1.
|
|
23
|
-
"@pie-lib/render-ui": "^4.12.1-next.
|
|
22
|
+
"@pie-lib/plot": "^2.1.10-next.408+9e77aef6",
|
|
23
|
+
"@pie-lib/render-ui": "^4.12.1-next.333+9e77aef6",
|
|
24
24
|
"@vx/axis": "^0.0.189",
|
|
25
25
|
"@vx/clip-path": "^0.0.189",
|
|
26
26
|
"@vx/event": "^0.0.189",
|
|
@@ -43,6 +43,6 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "^16.8.1"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "9e77aef6241de40777005d2ab73f57e4e45fb744",
|
|
47
47
|
"scripts": {}
|
|
48
48
|
}
|
package/src/grid-setup.jsx
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { color } from '@pie-lib/render-ui';
|
|
3
|
+
import { color, InputContainer } from '@pie-lib/render-ui';
|
|
4
4
|
import { withStyles } from '@material-ui/core/styles';
|
|
5
5
|
import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';
|
|
6
6
|
import Typography from '@material-ui/core/Typography';
|
|
7
7
|
import ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';
|
|
8
8
|
import ExpansionPanel from '@material-ui/core/ExpansionPanel';
|
|
9
9
|
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
|
|
10
|
-
import TextField from '@material-ui/core/TextField';
|
|
11
10
|
import { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';
|
|
11
|
+
import EditableHTML from '@pie-lib/editable-html';
|
|
12
12
|
|
|
13
13
|
const GridConfig = props => {
|
|
14
14
|
const { classes, disabled, labelValue, labelValues, gridValue, gridValues, onChange } = props;
|
|
@@ -16,7 +16,7 @@ const GridConfig = props => {
|
|
|
16
16
|
return (
|
|
17
17
|
<div className={classes.columnView}>
|
|
18
18
|
<NumberTextFieldCustom
|
|
19
|
-
className={classes.
|
|
19
|
+
className={classes.mediumTextField}
|
|
20
20
|
label="Grid Interval"
|
|
21
21
|
value={gridValue}
|
|
22
22
|
customValues={gridValues}
|
|
@@ -25,7 +25,7 @@ const GridConfig = props => {
|
|
|
25
25
|
onChange={(e, v) => onChange('step', v)}
|
|
26
26
|
/>
|
|
27
27
|
<NumberTextFieldCustom
|
|
28
|
-
className={classes.
|
|
28
|
+
className={classes.mediumTextField}
|
|
29
29
|
label="Label Interval"
|
|
30
30
|
value={labelValue}
|
|
31
31
|
customValues={labelValues}
|
|
@@ -39,6 +39,13 @@ const GridConfig = props => {
|
|
|
39
39
|
|
|
40
40
|
const AxisConfig = props => {
|
|
41
41
|
const { classes, disabled, label, maxValue, minValue, onChange, type } = props;
|
|
42
|
+
const activePlugins = [
|
|
43
|
+
'bold',
|
|
44
|
+
'italic',
|
|
45
|
+
'underline',
|
|
46
|
+
'strikethrough'
|
|
47
|
+
// 'languageCharacters'
|
|
48
|
+
];
|
|
42
49
|
|
|
43
50
|
return (
|
|
44
51
|
<div className={classes.columnView}>
|
|
@@ -47,32 +54,34 @@ const AxisConfig = props => {
|
|
|
47
54
|
-axis
|
|
48
55
|
</Typography>
|
|
49
56
|
<NumberTextFieldCustom
|
|
50
|
-
className={classes.
|
|
57
|
+
className={classes.mediumTextField}
|
|
51
58
|
label="Min Value"
|
|
52
59
|
value={minValue}
|
|
60
|
+
min={-10000}
|
|
61
|
+
max={maxValue - 0.01}
|
|
53
62
|
variant="outlined"
|
|
54
63
|
disabled={disabled}
|
|
55
64
|
onChange={(e, v) => onChange('min', v)}
|
|
56
65
|
/>
|
|
57
66
|
<NumberTextFieldCustom
|
|
58
|
-
className={classes.
|
|
67
|
+
className={classes.mediumTextField}
|
|
59
68
|
label="Max Value"
|
|
60
69
|
value={maxValue}
|
|
70
|
+
min={minValue + 0.01}
|
|
71
|
+
max={10000}
|
|
61
72
|
variant="outlined"
|
|
62
73
|
disabled={disabled}
|
|
63
74
|
onChange={(e, v) => onChange('max', v)}
|
|
64
75
|
/>
|
|
65
|
-
<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
onChange={e => onChange('axisLabel', e.target.value)}
|
|
75
|
-
/>
|
|
76
|
+
<InputContainer label="Label" className={classes.mediumTextField}>
|
|
77
|
+
<EditableHTML
|
|
78
|
+
className={classes.axisLabel}
|
|
79
|
+
onChange={value => onChange('axisLabel', value)}
|
|
80
|
+
markup={label || ''}
|
|
81
|
+
charactersLimit={5}
|
|
82
|
+
activePlugins={activePlugins}
|
|
83
|
+
/>
|
|
84
|
+
</InputContainer>
|
|
76
85
|
</div>
|
|
77
86
|
);
|
|
78
87
|
};
|
|
@@ -80,15 +89,15 @@ const AxisConfig = props => {
|
|
|
80
89
|
const GridSetup = props => {
|
|
81
90
|
const {
|
|
82
91
|
classes,
|
|
83
|
-
sizeConstraints,
|
|
84
92
|
domain,
|
|
85
93
|
dimensionsEnabled,
|
|
86
|
-
gridValues,
|
|
94
|
+
gridValues = {},
|
|
87
95
|
includeAxes,
|
|
88
|
-
labelValues,
|
|
96
|
+
labelValues = {},
|
|
89
97
|
onChange,
|
|
90
98
|
range,
|
|
91
99
|
size,
|
|
100
|
+
sizeConstraints,
|
|
92
101
|
standardGrid
|
|
93
102
|
} = props;
|
|
94
103
|
const gridProps = { min: 2, max: 41 };
|
|
@@ -189,8 +198,8 @@ const GridSetup = props => {
|
|
|
189
198
|
classes={classes}
|
|
190
199
|
gridValue={domain.step}
|
|
191
200
|
labelValue={domain.labelStep}
|
|
192
|
-
gridValues={gridValues}
|
|
193
|
-
labelValues={labelValues}
|
|
201
|
+
gridValues={gridValues.domain || []}
|
|
202
|
+
labelValues={labelValues.domain || []}
|
|
194
203
|
onChange={onDomainChanged}
|
|
195
204
|
/>
|
|
196
205
|
<GridConfig
|
|
@@ -198,6 +207,8 @@ const GridSetup = props => {
|
|
|
198
207
|
disabled={standardGrid}
|
|
199
208
|
gridValue={range.step}
|
|
200
209
|
labelValue={range.labelStep}
|
|
210
|
+
gridValues={gridValues.range || []}
|
|
211
|
+
labelValues={labelValues.range || []}
|
|
201
212
|
onChange={onRangeChanged}
|
|
202
213
|
/>
|
|
203
214
|
</div>
|
|
@@ -250,7 +261,9 @@ const GridSetup = props => {
|
|
|
250
261
|
<div className={classes.dimensions}>
|
|
251
262
|
<div>
|
|
252
263
|
<Typography>Dimensions(px)</Typography>
|
|
253
|
-
<Typography className={classes.disabled}>
|
|
264
|
+
<Typography className={classes.disabled}>
|
|
265
|
+
Min {sizeConstraints.min}, Max {sizeConstraints.max}
|
|
266
|
+
</Typography>
|
|
254
267
|
</div>
|
|
255
268
|
<NumberTextFieldCustom
|
|
256
269
|
className={classes.textField}
|
|
@@ -319,6 +332,10 @@ const styles = theme => ({
|
|
|
319
332
|
width: '130px',
|
|
320
333
|
margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`
|
|
321
334
|
},
|
|
335
|
+
mediumTextField: {
|
|
336
|
+
width: '160px',
|
|
337
|
+
margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`
|
|
338
|
+
},
|
|
322
339
|
largeTextField: {
|
|
323
340
|
width: '230px',
|
|
324
341
|
margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`
|
|
@@ -334,6 +351,9 @@ const styles = theme => ({
|
|
|
334
351
|
},
|
|
335
352
|
disabled: {
|
|
336
353
|
color: color.disabled()
|
|
354
|
+
},
|
|
355
|
+
axisLabel: {
|
|
356
|
+
paddingTop: theme.spacing.unit * 2
|
|
337
357
|
}
|
|
338
358
|
});
|
|
339
359
|
|
package/src/grid.jsx
CHANGED
|
@@ -14,13 +14,6 @@ export class Grid extends React.Component {
|
|
|
14
14
|
graphProps: types.GraphPropsType.isRequired
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
shouldComponentUpdate(nextProps) {
|
|
18
|
-
const { graphProps } = this.props;
|
|
19
|
-
const { graphProps: nextGraphProps } = nextProps;
|
|
20
|
-
|
|
21
|
-
return !utils.isDomainRangeEqual(graphProps, nextGraphProps);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
17
|
getAdditionalGridProps = (rowTickValues, columnTickValues) => {
|
|
25
18
|
const {
|
|
26
19
|
graphProps: {
|