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