Skip to content

Commit 9392dc3

Browse files
Generate image when google lib not response #786
1 parent c4a6dee commit 9392dc3

File tree

4 files changed

+22
-7
lines changed

4 files changed

+22
-7
lines changed

classes/Visualizer/Module/Chart.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,18 +1443,18 @@ public function save_chart_image( $base64_img, $chart_id ) {
14431443
$file_type = 'image/png';
14441444
$hashed_filename = $filename;
14451445

1446-
// Save the image in the uploads directory.
1447-
require_once ABSPATH . '/wp-admin/includes/file.php';
1448-
\WP_Filesystem();
1449-
global $wp_filesystem;
1450-
$upload_file = $wp_filesystem->put_contents( $upload_path . $hashed_filename, $decoded );
1451-
14521446
// Delete old chart image.
14531447
$old_attachment_id = get_post_meta( $chart_id, Visualizer_Plugin::CF_CHART_IMAGE, true );
14541448
if ( $old_attachment_id ) {
14551449
wp_delete_attachment( $old_attachment_id, true );
14561450
}
14571451

1452+
// Save the image in the uploads directory.
1453+
require_once ABSPATH . '/wp-admin/includes/file.php';
1454+
\WP_Filesystem();
1455+
global $wp_filesystem;
1456+
$upload_file = $wp_filesystem->put_contents( $upload_path . $hashed_filename, $decoded );
1457+
14581458
// Insert new chart image.
14591459
$attachment = array(
14601460
'post_mime_type' => $file_type,

classes/Visualizer/Render/Sidebar/Google.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,13 @@ protected function hooks() {
101101
*/
102102
function load_google_assets( $deps, $is_frontend ) {
103103
wp_register_script( 'google-jsapi', '//www.gstatic.com/charts/loader.js', array(), null, true );
104+
wp_register_script( 'dom-to-image', VISUALIZER_ABSURL . 'js/lib/dom-to-image.min.js', array(), null, true );
104105
wp_register_script(
105106
'visualizer-render-google-lib',
106107
VISUALIZER_ABSURL . 'js/render-google.js',
107108
array(
108109
'google-jsapi',
110+
'dom-to-image',
109111
),
110112
Visualizer_Plugin::VERSION,
111113
true

js/lib/dom-to-image.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/render-google.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,18 @@ var __visualizer_chart_images = [];
317317
$( '#chart-img' ).val( img );
318318
}
319319
}catch(error){
320-
console.warn('render.getImageURI not defined for ' + arr[0] + '-' + arr[1]);
320+
var canvas = document.getElementById( 'canvas' );
321+
domtoimage.toPng(canvas)
322+
.then(function ( img ) {
323+
__visualizer_chart_images[ arr[0] + '-' + arr[1] ] = img;
324+
$('body').trigger('visualizer:render:chart', {id: arr[1], image: img});
325+
if ( $( '#chart-img' ).length ) {
326+
$( '#chart-img' ).val( img );
327+
}
328+
})
329+
.catch(function (error) {
330+
console.warn('render.getImageURI not defined for ' + arr[0] + '-' + arr[1]);
331+
});
321332
}
322333
});
323334

0 commit comments

Comments
 (0)