PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.1.2
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.1.2
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
visualizer / classes / Visualizer / Gutenberg / src / Components / Sidebar / HorizontalAxisSettings.js

HorizontalAxisSettings.js in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.1.2, at classes/Visualizer/Gutenberg/src/Components/Sidebar/HorizontalAxisSettings.js

242 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * WordPress dependencies
3 */
4 const { __ } = wp.i18n;
5
6 const {
7 Component,
8 Fragment
9 } = wp.element;
10
11 const { ColorPalette } = wp.editor;
12
13 const {
14 BaseControl,
15 ExternalLink,
16 PanelBody,
17 SelectControl,
18 TextControl
19 } = wp.components;
20
21 class HorizontalAxisSettings extends Component {
22 constructor() {
23 super( ...arguments );
24 }
25
26 render() {
27
28 const type = this.props.chart['visualizer-chart-type'];
29
30 const settings = this.props.chart['visualizer-settings'];
31
32 return (
33 <PanelBody
34 title={ __( 'Horizontal Axis Settings' ) }
35 initialOpen={ false }
36 className="visualizer-advanced-panel"
37 >
38
39 <PanelBody
40 title={ __( 'General Settings' ) }
41 className="visualizer-inner-sections"
42 initialOpen={ false }
43 >
44
45 <TextControl
46 label={ __( 'Axis Title' ) }
47 help={ __( 'The title of the horizontal axis.' ) }
48 value={ settings.hAxis.title }
49 onChange={ e => {
50 settings.hAxis.title = e;
51 this.props.edit( settings );
52 } }
53 />
54
55 <SelectControl
56 label={ __( 'Text Position' ) }
57 help={ __( 'Position of the horizontal axis text, relative to the chart area.' ) }
58 value={ settings.hAxis.textPosition ? settings.hAxis.textPosition : 'out' }
59 options={ [
60 { label: __( 'Inside the chart' ), value: 'in' },
61 { label: __( 'Outside the chart' ), value: 'out' },
62 { label: __( 'None' ), value: 'none' }
63 ] }
64 onChange={ e => {
65 settings.hAxis.textPosition = e;
66 this.props.edit( settings );
67 } }
68 />
69
70 <SelectControl
71 label={ __( 'Direction' ) }
72 help={ __( 'The direction in which the values along the horizontal axis grow.' ) }
73 value={ settings.hAxis.direction ? settings.hAxis.direction : '1' }
74 options={ [
75 { label: __( 'Identical Direction' ), value: '1' },
76 { label: __( 'Reverse Direction' ), value: '-1' }
77 ] }
78 onChange={ e => {
79 settings.hAxis.direction = e;
80 this.props.edit( settings );
81 } }
82 />
83
84 <BaseControl
85 label={ __( 'Base Line Color' ) }
86 >
87 <ColorPalette
88 value={ settings.hAxis.baselineColor }
89 onChange={ e => {
90 settings.hAxis.baselineColor = e;
91 this.props.edit( settings );
92 } }
93 />
94 </BaseControl>
95
96 <BaseControl
97 label={ __( 'Axis Text Color' ) }
98 >
99 <ColorPalette
100 value={ settings.hAxis.textStyle.color || settings.hAxis.textStyle }
101 onChange={ e => {
102 settings.hAxis.textStyle = {};
103 settings.hAxis.textStyle.color = e;
104 this.props.edit( settings );
105 } }
106 />
107 </BaseControl>
108
109 { ( -1 >= [ 'column' ].indexOf( type ) ) && (
110 <Fragment>
111 <TextControl
112 label={ __( 'Number Format' ) }
113 help={ __( 'Enter custom format pattern to apply to horizontal axis labels.' ) }
114 value={ settings.hAxis.format }
115 onChange={ e => {
116 settings.hAxis.format = e;
117 this.props.edit( settings );
118 } }
119 />
120
121 <p>
122 { __( 'For number axis labels, this is a subset of the formatting ' ) }
123 <ExternalLink href="http://icu-project.org/apiref/icu4c/classDecimalFormat.html#_details">
124 { __( 'ICU pattern set.' ) }
125 </ExternalLink>
126 { __( ' For instance, $#,###.## will display values $1,234.56 for value 1234.56. Pay attention that if you use #%% percentage format then your values will be multiplied by 100.' ) }
127 </p>
128
129 <p>
130 { __( 'For date axis labels, this is a subset of the date formatting ' ) }
131 <ExternalLink href="http://userguide.icu-project.org/formatparse/datetime#TOC-Date-Time-Format-Syntax">
132 { __( 'ICU date and time format.' ) }
133 </ExternalLink>
134 </p>
135 </Fragment>
136 ) }
137
138 </PanelBody>
139
140 { ( -1 >= [ 'column' ].indexOf( type ) ) && (
141
142 <Fragment>
143
144 <PanelBody
145 title={ __( 'Grid Lines' ) }
146 className="visualizer-inner-sections"
147 initialOpen={ false }
148 >
149
150 <TextControl
151 label={ __( 'Count' ) }
152 help={ __( 'The number of horizontal gridlines inside the chart area. Minimum value is 2. Specify -1 to automatically compute the number of gridlines.' ) }
153 value={ settings.hAxis.gridlines.count }
154 onChange={ e => {
155 settings.hAxis.gridlines.count = e;
156 this.props.edit( settings );
157 } }
158 />
159
160 <BaseControl
161 label={ __( 'Color' ) }
162 >
163 <ColorPalette
164 value={ settings.hAxis.gridlines.color }
165 onChange={ e => {
166 settings.hAxis.gridlines.color = e;
167 this.props.edit( settings );
168 } }
169 />
170 </BaseControl>
171
172 </PanelBody>
173
174 <PanelBody
175 title={ __( 'Minor Grid Lines' ) }
176 className="visualizer-inner-sections"
177 initialOpen={ false }
178 >
179
180 <TextControl
181 label={ __( 'Count' ) }
182 help={ __( 'The number of horizontal minor gridlines between two regular gridlines.' ) }
183 value={ settings.hAxis.minorGridlines.count }
184 onChange={ e => {
185 settings.hAxis.minorGridlines.count = e;
186 this.props.edit( settings );
187 } }
188 />
189
190 <BaseControl
191 label={ __( 'Color' ) }
192 >
193 <ColorPalette
194 value={ settings.hAxis.minorGridlines.color }
195 onChange={ e => {
196 settings.hAxis.minorGridlines.color = e;
197 this.props.edit( settings );
198 } }
199 />
200 </BaseControl>
201
202 </PanelBody>
203
204 <PanelBody
205 title={ __( 'View Window' ) }
206 className="visualizer-inner-sections"
207 initialOpen={ false }
208 >
209
210 <TextControl
211 label={ __( 'Maximun Value' ) }
212 help={ __( 'The maximum vertical data value to render.' ) }
213 value={ settings.hAxis.viewWindow.max }
214 onChange={ e => {
215 settings.hAxis.viewWindow.max = e;
216 this.props.edit( settings );
217 } }
218 />
219
220 <TextControl
221 label={ __( 'Minimum Value' ) }
222 help={ __( 'The minimum vertical data value to render.' ) }
223 value={ settings.hAxis.viewWindow.min }
224 onChange={ e => {
225 settings.hAxis.viewWindow.min = e;
226 this.props.edit( settings );
227 } }
228 />
229
230 </PanelBody>
231
232 </Fragment>
233
234 )}
235
236 </PanelBody>
237 );
238 }
239 }
240
241 export default HorizontalAxisSettings;
242