| 1 |
( function( blocks, element, serverSideRender) { |
| 2 |
var el = element.createElement, |
| 3 |
registerBlockType = blocks.registerBlockType, |
| 4 |
ServerSideRender = serverSideRender; |
| 5 |
|
| 6 |
registerBlockType( 'guaven-sqlcharts/gvn-chart-gutenberg', { |
| 7 |
title: 'My SQL Charts', |
| 8 |
icon: 'chart-pie', |
| 9 |
category: 'widgets', |
| 10 |
attributes: { |
| 11 |
chart_id: { |
| 12 |
type: 'string', |
| 13 |
}, |
| 14 |
sqlcharts_inserted_script: { |
| 15 |
type: 'number' |
| 16 |
} |
| 17 |
}, |
| 18 |
description: guaven.description, |
| 19 |
edit: function( props ) { |
| 20 |
if(!props.attributes.chart_id){ |
| 21 |
var chart_id = prompt('Enter chart id:'); |
| 22 |
|
| 23 |
var already_displayed_charts = JSON.parse(sessionStorage.getItem("sqlcharts_inserted_script")) || []; |
| 24 |
sessionStorage.setItem('sqlcharts_inserted_script', JSON.stringify(already_displayed_charts.concat([chart_id]))); |
| 25 |
props.setAttributes( { |
| 26 |
chart_id: chart_id, |
| 27 |
sqlcharts_inserted_script: already_displayed_charts.length |
| 28 |
}); |
| 29 |
} |
| 30 |
|
| 31 |
setTimeout(() => { |
| 32 |
eval(jQuery('.gvn_charts_script').text()) |
| 33 |
}, 2000); |
| 34 |
if(chart_id!=undefined){ |
| 35 |
props.attributes.chart_id=chart_id, |
| 36 |
props.attributes.sqlcharts_inserted_script= already_displayed_charts.length; |
| 37 |
} |
| 38 |
return ( |
| 39 |
el( ServerSideRender, { |
| 40 |
block: 'guaven-sqlcharts/gvn-chart-gutenberg', |
| 41 |
attributes: props.attributes, |
| 42 |
} ) |
| 43 |
); |
| 44 |
} |
| 45 |
} ); |
| 46 |
}( |
| 47 |
window.wp.blocks, |
| 48 |
window.wp.element, |
| 49 |
window.wp.serverSideRender, |
| 50 |
) ); |