PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 4.0.5
Visualizer – Tables & Charts Manager with Built-in AI Generator v4.0.5
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/Module/Frontend.php +6 -12 4.0.84.0.5 View file →
@@ -749,9 +749,9 @@
749 749 $settings = get_post_meta( $chart->ID, Visualizer_Plugin::CF_SETTINGS, true );
750 750 $series = get_post_meta( $chart->ID, Visualizer_Plugin::CF_SERIES, true );
751 751 $is_woocommerce_report = get_post_meta( $chart->ID, Visualizer_Plugin::CF_IS_WOOCOMMERCE_SOURCE, true );
752 752
753 - if ( isset( $settings['series'] ) && is_array( $settings['series'] ) && is_array( $series ) && ! ( count( $settings['series'] ) - count( $series ) > 1 ) ) {
753 + if ( isset( $settings['series'] ) && ! ( count( $settings['series'] ) - count( $series ) > 1 ) ) {
754 754 $diff_total_series = abs( count( $settings['series'] ) - count( $series ) );
755 755 if ( $diff_total_series ) {
756 756 foreach ( range( 1, $diff_total_series ) as $k => $diff_series ) {
757 757 $settings['series'][] = end( $settings['series'] );
@@ -802,22 +802,16 @@
802 802 }
803 803
804 804 function visualizerLoadScripts() {
805 805 document.querySelectorAll("script[data-visualizer-script]").forEach(function(elem) {
806 - // Replace the placeholder with a real script tag using async=false:
807 - // scripts download in parallel but execute in insertion order, which
808 - // preserves the WordPress dependency order. Parallel jQuery.getScript
809 - // calls could execute render-facade.js before the chart renderer had
810 - // registered its render event listener, leaving charts blank.
811 - var script = document.createElement("script");
812 - script.src = elem.getAttribute("data-visualizer-script");
813 - script.async = false;
814 - script.onload = function() {
806 + jQuery.getScript( elem.getAttribute("data-visualizer-script") )
807 + .done( function( script, textStatus ) {
808 + elem.setAttribute("src", elem.getAttribute("data-visualizer-script"));
809 + elem.removeAttribute("data-visualizer-script");
815 810 setTimeout( function() {
816 811 visualizerRefreshChart();
817 812 } );
818 - };
819 - elem.parentNode.replaceChild(script, elem);
813 + } );
820 814 });
821 815 }
822 816
823 817 function visualizerRefreshChart() {