mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-30 09:06:16 +08:00
chratjs cc (#764)
This commit is contained in:
parent
8940321987
commit
cdcbe78224
|
@ -241,8 +241,16 @@ CLASS z2ui5_cl_cc_chartjs DEFINITION
|
||||||
propagate TYPE abap_bool,
|
propagate TYPE abap_bool,
|
||||||
END OF ty_filler .
|
END OF ty_filler .
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_deferred,
|
||||||
|
delay TYPE i,
|
||||||
|
x_offset TYPE string,
|
||||||
|
y_offset TYPE string,
|
||||||
|
END OF ty_deferred.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_plugins,
|
BEGIN OF ty_plugins,
|
||||||
|
deferred TYPE ty_deferred,
|
||||||
datalabels TYPE ty_datalabels,
|
datalabels TYPE ty_datalabels,
|
||||||
autocolors TYPE ty_autocolors_plugin,
|
autocolors TYPE ty_autocolors_plugin,
|
||||||
custom_canvas_background_color TYPE ty_custom_canvas_bg_color,
|
custom_canvas_background_color TYPE ty_custom_canvas_bg_color,
|
||||||
|
@ -501,10 +509,14 @@ CLASS z2ui5_cl_cc_chartjs DEFINITION
|
||||||
CLASS-METHODS get_js_autocolors
|
CLASS-METHODS get_js_autocolors
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string .
|
||||||
|
CLASS-METHODS get_js_deferred
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string .
|
||||||
CLASS-METHODS load_js
|
CLASS-METHODS load_js
|
||||||
IMPORTING
|
IMPORTING
|
||||||
datalabels TYPE abap_bool DEFAULT abap_false
|
datalabels TYPE abap_bool DEFAULT abap_false
|
||||||
autocolors TYPE abap_bool DEFAULT abap_false
|
autocolors TYPE abap_bool DEFAULT abap_false
|
||||||
|
deferred TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string .
|
VALUE(result) TYPE string .
|
||||||
CLASS-METHODS set_js_config
|
CLASS-METHODS set_js_config
|
||||||
|
@ -537,6 +549,12 @@ CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_js_deferred.
|
||||||
|
"chartjs-plugin-datalabels must be loaded after the Chart.js library!
|
||||||
|
result = `https://cdn.jsdelivr.net/npm/chartjs-plugin-deferred@2.0.0/dist/chartjs-plugin-deferred.min.js`.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_js_local.
|
METHOD get_js_local.
|
||||||
result = ``.
|
result = ``.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -551,7 +569,7 @@ CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
||||||
|
|
||||||
DATA lv_libs TYPE string VALUE ``.
|
DATA lv_libs TYPE string VALUE ``.
|
||||||
|
|
||||||
result = `debugger;` && |\n| &&
|
result = `` && |\n| &&
|
||||||
`var libs = ["` && get_js_url( ) && `"];` && |\n|.
|
`var libs = ["` && get_js_url( ) && `"];` && |\n|.
|
||||||
|
|
||||||
IF datalabels = abap_true.
|
IF datalabels = abap_true.
|
||||||
|
@ -570,6 +588,14 @@ CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
||||||
lv_libs = lv_libs && `,` && `autocolors`.
|
lv_libs = lv_libs && `,` && `autocolors`.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
IF deferred = abap_true.
|
||||||
|
result = result && `libs.push("` && get_js_deferred( ) && `");` && |\n|.
|
||||||
|
IF lv_libs IS INITIAL.
|
||||||
|
lv_libs = lv_libs && `ChartDeferred`.
|
||||||
|
ELSE.
|
||||||
|
lv_libs = lv_libs && `,` && `ChartDeferred`.
|
||||||
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
result = result && `` && |\n| &&
|
result = result && `` && |\n| &&
|
||||||
`var fixJsonLibs = function(data){` && |\n| &&
|
`var fixJsonLibs = function(data){` && |\n| &&
|
||||||
|
@ -650,11 +676,13 @@ CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
||||||
lv_guid = z2ui5_cl_util_func=>func_get_uuid_22( ).
|
lv_guid = z2ui5_cl_util_func=>func_get_uuid_22( ).
|
||||||
chartjs_config = chartjs_config && `debugger;`.
|
chartjs_config = chartjs_config && `debugger;`.
|
||||||
chartjs_config = chartjs_config && `try { var autocolors = window['chartjs-plugin-autocolors']; } catch (err){};`.
|
chartjs_config = chartjs_config && `try { var autocolors = window['chartjs-plugin-autocolors']; } catch (err){};`.
|
||||||
|
chartjs_config = chartjs_config && `try { var chartdeferred = window['chartjs-plugin-deferred']; } catch (err){};`.
|
||||||
chartjs_config = chartjs_config && `var cjs = ` && json_config && `;`.
|
chartjs_config = chartjs_config && `var cjs = ` && json_config && `;`.
|
||||||
chartjs_config = chartjs_config && `fixJsonLibs(cjs);`.
|
chartjs_config = chartjs_config && `fixJsonLibs(cjs);`.
|
||||||
chartjs_config = chartjs_config && `var el =` && lv_canvas_el && `;`.
|
chartjs_config = chartjs_config && `var el =` && lv_canvas_el && `;`.
|
||||||
chartjs_config = chartjs_config && `var ctx_` && lv_guid && ` = $('#' + el);`.
|
chartjs_config = chartjs_config && `var ctx_` && lv_guid && ` = $('#' + el);`.
|
||||||
chartjs_config = chartjs_config && `var chart = new Chart( ctx_` && lv_guid && `, cjs );`.
|
* chartjs_config = chartjs_config && `var chart = new Chart( ctx_` && lv_guid && `, cjs );`.
|
||||||
|
chartjs_config = chartjs_config && `var ` && canvas_id && ` = new Chart( ctx_` && lv_guid && `, cjs );`.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user