PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.4.2
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.4.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
← All changes | classes/Visualizer/Gutenberg/src/Editor.js +101 -7 3.1.13.4.2 View file →
@@ -42,8 +42,16 @@
42 42 this.editPermissions = this.editPermissions.bind( this );
43 43 this.readUploadedFile = this.readUploadedFile.bind( this );
44 44 this.editURL = this.editURL.bind( this );
45 45 this.editSchedule = this.editSchedule.bind( this );
46 + this.editJSONSchedule = this.editJSONSchedule.bind( this );
47 + this.editJSONURL = this.editJSONURL.bind( this );
48 + this.editJSONHeaders = this.editJSONHeaders.bind( this );
49 + this.editJSONRoot = this.editJSONRoot.bind( this );
50 + this.editJSONPaging = this.editJSONPaging.bind( this );
51 + this.JSONImportData = this.JSONImportData.bind( this );
52 + this.editDatabaseSchedule = this.editDatabaseSchedule.bind( this );
53 + this.databaseImportData = this.databaseImportData.bind( this );
46 54 this.uploadData = this.uploadData.bind( this );
47 55 this.getChartData = this.getChartData.bind( this );
48 56 this.editChartData = this.editChartData.bind( this );
49 57 this.updateChart = this.updateChart.bind( this );
@@ -138,11 +146,83 @@
138 146
139 147 editSchedule( schedule ) {
140 148 let chart = { ...this.state.chart };
141 149 chart['visualizer-chart-schedule'] = schedule;
150 + this.setState({
151 + chart,
152 + isModified: true
153 + });
154 + }
155 +
156 + editJSONSchedule( schedule ) {
157 + let chart = { ...this.state.chart };
158 + chart['visualizer-json-schedule'] = schedule;
159 + this.setState({
160 + chart,
161 + isModified: true
162 + });
163 + }
164 +
165 + editJSONURL( url ) {
166 + let chart = { ...this.state.chart };
167 + chart['visualizer-json-url'] = url;
142 168 this.setState({ chart });
143 169 }
144 170
171 + editJSONHeaders( headers ) {
172 + let chart = { ...this.state.chart };
173 + delete headers.username;
174 + delete headers.password;
175 + chart['visualizer-json-headers'] = headers;
176 + this.setState({ chart });
177 + }
178 +
179 + editJSONRoot( root ) {
180 + let chart = { ...this.state.chart };
181 + chart['visualizer-json-root'] = root;
182 + this.setState({ chart });
183 + }
184 +
185 + editJSONPaging( root ) {
186 + let chart = { ...this.state.chart };
187 + chart['visualizer-json-paging'] = root;
188 + this.setState({ chart });
189 + }
190 +
191 + JSONImportData( name, series, data ) {
192 + let chart = { ...this.state.chart };
193 + chart['visualizer-source'] = name;
194 + chart['visualizer-default-data'] = 0;
195 + chart['visualizer-series'] = series;
196 + chart['visualizer-data'] = data;
197 + this.setState({
198 + chart,
199 + isModified: true
200 + });
201 + }
202 +
203 + editDatabaseSchedule( schedule ) {
204 + let chart = { ...this.state.chart };
205 + chart['visualizer-db-schedule'] = schedule;
206 + this.setState({
207 + chart,
208 + isModified: true
209 + });
210 + }
211 +
212 + databaseImportData( query, name, series, data ) {
213 + let chart = { ...this.state.chart };
214 + chart['visualizer-source'] = name;
215 + chart['visualizer-default-data'] = 0;
216 + chart['visualizer-series'] = series;
217 + chart['visualizer-data'] = data;
218 + chart['visualizer-db-query'] = query;
219 + this.setState({
220 + chart,
221 + isModified: true
222 + });
223 + }
224 +
145 225 uploadData( scheduled = false ) {
146 226 this.setState({
147 227 isLoading: 'uploadData',
148 228 isScheduled: scheduled
@@ -234,9 +314,8 @@
234 314 editChartData( chartData, type ) {
235 315 let chart = { ...this.state.chart };
236 316 let series = [];
237 317 let settings = { ...chart['visualizer-settings'] };
238 -
239 318 chartData[0].map( ( i, index ) => {
240 319 series[index] = {
241 320 label: i,
242 321 type: chartData[1][index]
@@ -309,9 +388,9 @@
309 388 }
310 389 }
311 390 );
312 391
313 - apiRequest({ path: `/visualizer/v1/update-chart?id=${this.props.attributes.id}`, method: 'POST', data: data }).then(
392 + apiRequest({ path: `/visualizer/v1/update-chart?id=${ this.props.attributes.id }`, method: 'POST', data: data }).then(
314 393 ( data ) => {
315 394
316 395 this.setState({
317 396 isLoading: false,
@@ -329,8 +408,9 @@
329 408 render() {
330 409 if ( 'renderChart' === this.state.route && null !== this.state.chart ) {
331 410 return (
332 411 <ChartRender
412 + id={ this.props.attributes.id }
333 413 chart={ this.state.chart }
334 414 className={ this.props.className }
335 415 editChart={ this.editChart }
336 416 />
@@ -348,24 +428,29 @@
348 428 </div>
349 429
350 430 { 'home' === this.state.route && (
351 431 <div className="visualizer-settings__content">
352 -
353 432 <div className="visualizer-settings__content-description">
354 433 { __( 'Make a new chart or display an existing one?' ) }
355 434 </div>
356 435
357 - <div className="visualizer-settings__content-option locked">
436 + { /* You can apply "locked" class to lock any of the following list items. */ }
358 437
438 + <a
439 + href={ visualizerLocalize.adminPage }
440 + target="_blank"
441 + className="visualizer-settings__content-option"
442 + >
443 +
359 444 <span className="visualizer-settings__content-option-title">
360 - { __( 'Create a new chart (coming soon)' ) }
445 + { __( 'Create a new chart' ) }
361 446 </span>
362 447
363 448 <div className="visualizer-settings__content-option-icon">
364 - <Dashicon icon="lock" />
449 + <Dashicon icon="arrow-right-alt2" />
365 450 </div>
366 451
367 - </div>
452 + </a>
368 453
369 454 <div
370 455 className="visualizer-settings__content-option"
371 456 onClick={ () => {
@@ -396,8 +481,9 @@
396 481 { ( 'showCharts' === this.state.route && false === this.state.isLoading ) && <Charts getChart={ this.getChart }/> }
397 482
398 483 { ( 'chartSelect' === this.state.route && null !== this.state.chart ) &&
399 484 <ChartSelect
485 + id={ this.props.attributes.id }
400 486 chart={ this.state.chart }
401 487 editSettings={ this.editSettings }
402 488 editPermissions={ this.editPermissions }
403 489 url={ this.state.url }
@@ -403,8 +489,16 @@
403 489 url={ this.state.url }
404 490 readUploadedFile={ this.readUploadedFile }
405 491 editURL={ this.editURL }
406 492 editSchedule={ this.editSchedule }
493 + editJSONURL={ this.editJSONURL }
494 + editJSONHeaders={ this.editJSONHeaders }
495 + editJSONSchedule={ this.editJSONSchedule }
496 + editJSONRoot={ this.editJSONRoot }
497 + editJSONPaging={ this.editJSONPaging }
498 + JSONImportData={ this.JSONImportData }
499 + editDatabaseSchedule={ this.editDatabaseSchedule }
500 + databaseImportData={ this.databaseImportData }
407 501 uploadData={ this.uploadData }
408 502 getChartData={ this.getChartData }
409 503 editChartData={ this.editChartData }
410 504 isLoading={ this.state.isLoading }