PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.11.7
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.11.7
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 3.10.4 All 148 releases
← All changes | classes/Visualizer/Gutenberg/Block.php +29 -7 3.10.03.11.7 View file →
@@ -66,9 +66,9 @@
66 66 /**
67 67 * Enqueue front end and editor JavaScript and CSS
68 68 */
69 69 public function enqueue_gutenberg_scripts() {
70 - global $wp_version;
70 + global $wp_version, $pagenow;
71 71
72 72 $blockPath = VISUALIZER_ABSURL . 'classes/Visualizer/Gutenberg/build/block.js';
73 73 $handsontableJS = VISUALIZER_ABSURL . 'classes/Visualizer/Gutenberg/build/handsontable.js';
74 74 $stylePath = VISUALIZER_ABSURL . 'classes/Visualizer/Gutenberg/build/block.css';
@@ -89,9 +89,9 @@
89 89 }
90 90
91 91 // Enqueue the bundled block JS file
92 92 wp_enqueue_script( 'handsontable', $handsontableJS );
93 - wp_enqueue_script( 'visualizer-gutenberg-block', $blockPath, array( 'wp-api', 'handsontable', 'visualizer-datatables', 'moment' ), $version, true );
93 + wp_enqueue_script( 'visualizer-gutenberg-block', $blockPath, array( 'wp-api', 'handsontable', 'visualizer-datatables', 'moment', 'lodash' ), $version, true );
94 94
95 95 $type = 'community';
96 96
97 97 if ( Visualizer_Module::is_pro() ) {
@@ -108,11 +108,17 @@
108 108 'proTeaser' => tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'blockupsell'),
109 109 'absurl' => VISUALIZER_ABSURL,
110 110 'charts' => Visualizer_Module_Admin::_getChartTypesLocalized(),
111 111 'adminPage' => menu_page_url( 'visualizer', false ),
112 + 'createChart' => add_query_arg( array( 'action' => 'visualizer-create-chart', 'library' => 'yes', 'type' => '', 'chart-library' => '', 'tab' => 'visualizer' ), admin_url( 'admin-ajax.php' ) ),
112 113 'sqlTable' => $table_col_mapping,
113 114 'chartsPerPage' => defined( 'TI_CYPRESS_TESTING' ) ? 20 : 6,
114 115 'proFeaturesLocked' => Visualizer_Module_Admin::proFeaturesLocked(),
116 + 'isFullSiteEditor' => 'site-editor.php' === $pagenow,
117 + 'legacyBlockEdit' => apply_filters( 'visualizer_legacy_block_edit', false ),
118 + /* translators: %1$s: opening tag, %2$s: closing tag */
119 + 'blockEditDoc' => sprintf( __( 'The editor for managing chart settings has been removed from the block editor. You can find more information in this %1$sdocumentation%2$s', 'visualizer' ), '<a href="https://docs.themeisle.com/article/1705-how-can-i-display-a-chart#using-visualizer-block" target="_blank">', '</a>' ),
120 + 'chartEditUrl' => admin_url( 'admin-ajax.php' ),
115 121 );
116 122 wp_localize_script( 'visualizer-gutenberg-block', 'visualizerLocalize', $translation_array );
117 123
118 124 // Enqueue frontend and editor block styles
@@ -129,9 +135,9 @@
129 135 'lineWrapping' => true,
130 136 'dragDrop' => false,
131 137 'matchBrackets' => true,
132 138 'autoCloseBrackets' => true,
133 - 'extraKeys' => array( 'Ctrl-Space' => 'autocomplete' ),
139 + 'extraKeys' => array( 'Shift-Space' => 'autocomplete' ),
134 140 'hintOptions' => array( 'tables' => $table_col_mapping ),
135 141 ),
136 142 )
137 143 );
@@ -350,9 +356,11 @@
350 356 $data['visualizer-default-data'] = get_post_meta( $post_id, Visualizer_Plugin::CF_DEFAULT_DATA, true );
351 357
352 358 // faetch and update settings
353 359 $data['visualizer-settings'] = get_post_meta( $post_id, Visualizer_Plugin::CF_SETTINGS, true );
354 -
360 + if ( empty( $data['visualizer-settings']['pagination'] ) ) {
361 + $data['visualizer-settings']['pageSize'] = '';
362 + }
355 363 // handle series filter hooks
356 364 $data['visualizer-series'] = apply_filters( Visualizer_Plugin::FILTER_GET_CHART_SERIES, get_post_meta( $post_id, Visualizer_Plugin::CF_SERIES, true ), $post_id, $data['visualizer-chart-type'] );
357 365
358 366 // handle settings filter hooks
@@ -366,8 +374,12 @@
366 374 if ( in_array( $data['visualizer-chart-type'], array( 'tabular' ), true ) ) {
367 375 $data['visualizer-data'] = $this->format_chart_data( $data['visualizer-data'], $data['visualizer-series'] );
368 376 }
369 377
378 + if ( ! isset( $data['visualizer-settings']['hAxis']['format'] ) ) {
379 + $data['visualizer-settings']['hAxis']['format'] = '';
380 + }
381 +
370 382 $data['visualizer-data-exploded'] = '';
371 383 // handle annotations for google charts
372 384 if ( 'GoogleCharts' === $library ) {
373 385 // this will contain the data of both axis.
@@ -434,10 +446,10 @@
434 446 $json_root = get_post_meta( $post_id, Visualizer_Plugin::CF_JSON_ROOT, true );
435 447
436 448 $json_paging = get_post_meta( $post_id, Visualizer_Plugin::CF_JSON_PAGING, true );
437 449
438 - if ( ! empty( $import ) && ! empty( $schedule ) ) {
439 - $data['visualizer-chart-url'] = $import;
450 + if ( ! empty( $import ) && $schedule >= 0 ) {
451 + $data['visualizer-chart-url'] = $import;
440 452 $data['visualizer-chart-schedule'] = $schedule;
441 453 }
442 454
443 455 if ( ! empty( $db_schedule ) && ! empty( $db_query ) ) {
@@ -590,9 +602,9 @@
590 602 update_post_meta( $data['id'], Visualizer_Plugin::CF_DEFAULT_DATA, $data['visualizer-default-data'] );
591 603 update_post_meta( $data['id'], Visualizer_Plugin::CF_SERIES, $data['visualizer-series'] );
592 604 update_post_meta( $data['id'], Visualizer_Plugin::CF_SETTINGS, $data['visualizer-settings'] );
593 605
594 - if ( $data['visualizer-chart-url'] && $data['visualizer-chart-schedule'] ) {
606 + if ( $data['visualizer-chart-url'] && $data['visualizer-chart-schedule'] >= 0 ) {
595 607 $chart_url = esc_url_raw( $data['visualizer-chart-url'] );
596 608 $chart_schedule = intval( $data['visualizer-chart-schedule'] );
597 609 update_post_meta( $data['id'], Visualizer_Plugin::CF_CHART_URL, $chart_url );
598 610 apply_filters( 'visualizer_pro_chart_schedule', $data['id'], $chart_url, $chart_schedule );
@@ -612,8 +624,18 @@
612 624 update_post_meta( $data['id'], Visualizer_Plugin::CF_DB_QUERY, stripslashes( $db_query ) );
613 625 } else {
614 626 delete_post_meta( $data['id'], Visualizer_Plugin::CF_DB_SCHEDULE );
615 627 delete_post_meta( $data['id'], Visualizer_Plugin::CF_DB_QUERY );
628 + }
629 +
630 + if ( 'Visualizer_Source_Csv_Remote' === $source_type ) {
631 + $schedule_url = $data['visualizer-chart-url'];
632 + $schedule_id = $data['visualizer-chart-schedule'];
633 + update_post_meta( $data['id'], Visualizer_Plugin::CF_CHART_URL, $schedule_url );
634 + update_post_meta( $data['id'], Visualizer_Plugin::CF_CHART_SCHEDULE, $schedule_id );
635 + } else {
636 + delete_post_meta( $data['id'], Visualizer_Plugin::CF_CHART_URL );
637 + delete_post_meta( $data['id'], Visualizer_Plugin::CF_CHART_SCHEDULE );
616 638 }
617 639 }
618 640
619 641 if ( $source_type === 'Visualizer_Source_Json' ) {