diff --git a/classes/Visualizer/Module/Chart.php b/classes/Visualizer/Module/Chart.php index 0dbf49aba..949c19cb1 100644 --- a/classes/Visualizer/Module/Chart.php +++ b/classes/Visualizer/Module/Chart.php @@ -532,6 +532,9 @@ public function renderChartPages() { set_current_screen( 'visualizer_render_chart' ); // check chart, if chart not exists, will create new one and redirects to the same page with proper chart id $chart_id = isset( $_GET['chart'] ) ? filter_var( $_GET['chart'], FILTER_VALIDATE_INT ) : ''; + if ( ! empty( $_POST ) ) { + $_POST = map_deep( $_POST, 'wp_strip_all_tags' ); + } if ( ! $chart_id || ! ( $chart = get_post( $chart_id ) ) || $chart->post_type !== Visualizer_Plugin::CPT_VISUALIZER ) { if ( empty( $_GET['lang'] ) || empty( $_GET['parent_chart_id'] ) ) { $this->deleteOldCharts(); diff --git a/classes/Visualizer/Render/Sidebar/ChartJS.php b/classes/Visualizer/Render/Sidebar/ChartJS.php index 8790c433c..b472c8f0a 100644 --- a/classes/Visualizer/Render/Sidebar/ChartJS.php +++ b/classes/Visualizer/Render/Sidebar/ChartJS.php @@ -35,6 +35,8 @@ public function __construct( $data = array() ) { 'right' => esc_html__( 'Right of the chart', 'visualizer' ), 'top' => esc_html__( 'Above the chart', 'visualizer' ), 'bottom' => esc_html__( 'Below the chart', 'visualizer' ), + 'bottom' => esc_html__( 'Below the chart', 'visualizer' ), + 'none' => esc_html__( 'Omit the legend', 'visualizer' ), ); } diff --git a/cypress.json b/cypress.json index e80eb48a6..5d01e314f 100755 --- a/cypress.json +++ b/cypress.json @@ -5,7 +5,7 @@ "pass": "wordpress", "urls": { "library": "/wp-admin/admin.php?page=visualizer", - "samples": "https://s3.amazonaws.com/downloads.themeisle.com/samples-visualizer/" + "samples": "https://s3.amazonaws.com/verti-utils/samples-visualizer/" }, "chart_types": { "free": 4, diff --git a/js/preview.js b/js/preview.js index 43a631f1b..6e9ede887 100644 --- a/js/preview.js +++ b/js/preview.js @@ -61,7 +61,8 @@ clearTimeout(timeout); timeout = setTimeout(function() { var settings = $('#settings-form').serializeObject(); - + settings = JSON.stringify( settings ).replace( /<\/?[^>]+(>|$)/g, '' ); + settings = JSON.parse( settings ); delete settings['width']; delete settings['height']; diff --git a/js/render-chartjs.js b/js/render-chartjs.js index f626aef69..d9d7ad951 100644 --- a/js/render-chartjs.js +++ b/js/render-chartjs.js @@ -197,6 +197,10 @@ } } + settings.plugins = { + legend: settings.legend, + }; + handleAxes(settings, chart); override(settings, chart); diff --git a/js/render-google.js b/js/render-google.js index 5e5d06b6e..207f54667 100644 --- a/js/render-google.js +++ b/js/render-google.js @@ -40,7 +40,7 @@ var chartWrapperError = []; function renderSpecificChart(id, chart) { var render, container, series, data, table, settings, i, j, row, date, axis, property, format, formatter; - if ( $('#' + id).hasClass('visualizer-chart-loaded') ) { + if ( $('#' + id).hasClass('visualizer-chart-loaded') || $('#' + id).children( ':not(.loader)' ).length > 0 ) { return; }