mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 22:09:24 +08:00
update chartjs CC + binding logic - add compress (#769)
* update bind logic + chartjs cc add compress to bind logic in order to get refined json array in chartjs cc. * update CC * Update z2ui5_cl_util_func.clas.abap * Update z2ui5_cl_util_func.clas.abap --------- Co-authored-by: oblomov <102328295+oblomov-dev@users.noreply.github.com>
This commit is contained in:
parent
5e8d39c2d3
commit
7d5383ee42
|
@ -74,6 +74,7 @@ CLASS z2ui5_cl_util_func DEFINITION
|
|||
IMPORTING
|
||||
!any TYPE any
|
||||
!pretty_name TYPE clike DEFAULT /ui2/cl_json=>pretty_mode-none
|
||||
!compress TYPE abap_bool DEFAULT abap_false
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
@ -194,7 +195,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_UTIL_FUNC IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD app_get_url.
|
||||
|
@ -534,7 +535,7 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
|
|||
|
||||
METHOD trans_json_any_2.
|
||||
|
||||
result = /ui2/cl_json=>serialize( data = any pretty_name = CONV #( pretty_name ) ).
|
||||
result = /ui2/cl_json=>serialize( data = any pretty_name = CONV #( pretty_name ) compress = compress ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
|||
check_temp TYPE abap_bool,
|
||||
viewname TYPE string,
|
||||
pretty_name TYPE string,
|
||||
compress TYPE string,
|
||||
depth TYPE i,
|
||||
END OF ty_s_attri.
|
||||
TYPES ty_t_attri TYPE SORTED TABLE OF ty_s_attri WITH UNIQUE KEY name.
|
||||
|
@ -41,6 +42,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
|||
check_attri TYPE data OPTIONAL
|
||||
view TYPE string OPTIONAL
|
||||
pretty_name TYPE clike OPTIONAL
|
||||
compress TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_fw_binding.
|
||||
|
||||
|
@ -55,6 +57,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
|||
DATA mv_check_attri TYPE abap_bool.
|
||||
DATA mv_view TYPE string.
|
||||
DATA mv_pretty_name TYPE string.
|
||||
DATA mv_compress TYPE string.
|
||||
|
||||
CLASS-METHODS update_attri
|
||||
IMPORTING
|
||||
|
@ -131,7 +134,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD bind.
|
||||
|
@ -158,6 +161,7 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
|||
|
||||
bind->bind_type = mv_type.
|
||||
bind->pretty_name = mv_pretty_name.
|
||||
bind->compress = mv_compress.
|
||||
bind->name_front = name_front_create( bind->name ).
|
||||
bind->viewname = mv_view.
|
||||
|
||||
|
@ -257,6 +261,7 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
|||
r_result->mv_check_attri = check_attri.
|
||||
r_result->mv_view = view.
|
||||
r_result->mv_pretty_name = pretty_name.
|
||||
r_result->mv_compress = compress.
|
||||
|
||||
|
||||
IF z2ui5_cl_util_func=>rtti_check_type_kind_dref( data ).
|
||||
|
@ -293,6 +298,25 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_t_attri_by_include.
|
||||
|
||||
DATA(sdescr) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( type->absolute_name ) ).
|
||||
|
||||
LOOP AT sdescr->components REFERENCE INTO DATA(lr_comp).
|
||||
|
||||
DATA(lv_element) = attri && lr_comp->name.
|
||||
|
||||
DATA(ls_attri) = VALUE ty_s_attri(
|
||||
name = lv_element
|
||||
type_kind = lr_comp->type_kind ).
|
||||
INSERT ls_attri INTO TABLE result.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_t_attri_by_oref.
|
||||
|
||||
DATA(lv_name) = COND #( WHEN val IS NOT INITIAL THEN `MO_APP` && `->` && val ELSE `MO_APP` ).
|
||||
|
@ -318,24 +342,6 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_t_attri_by_include.
|
||||
|
||||
DATA(sdescr) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( type->absolute_name ) ).
|
||||
|
||||
LOOP AT sdescr->components REFERENCE INTO DATA(lr_comp).
|
||||
|
||||
DATA(lv_element) = attri && lr_comp->name.
|
||||
|
||||
DATA(ls_attri) = VALUE ty_s_attri(
|
||||
name = lv_element
|
||||
type_kind = lr_comp->type_kind ).
|
||||
INSERT ls_attri INTO TABLE result.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_t_attri_by_struc.
|
||||
|
||||
DATA(lv_name) = `MO_APP->` && val.
|
||||
|
|
|
@ -29,11 +29,42 @@ CLASS z2ui5_cl_fw_client DEFINITION
|
|||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
private section.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_FW_CLIENT IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD bind_tab_cell.
|
||||
|
||||
FIELD-SYMBOLS <ele> TYPE any.
|
||||
FIELD-SYMBOLS <row> TYPE any.
|
||||
data lr_ref_in type ref to data.
|
||||
data lr_ref type ref to data.
|
||||
|
||||
ASSIGN i_tab[ i_tab_index ] TO <row>.
|
||||
DATA(lt_attri) = z2ui5_cl_util_func=>rtti_get_t_comp_by_struc( <row> ).
|
||||
|
||||
LOOP AT lt_attri ASSIGNING FIELD-SYMBOL(<comp>).
|
||||
|
||||
ASSIGN COMPONENT <comp>-name OF STRUCTURE <row> TO <ele>.
|
||||
lr_ref_in = REF #( <ele> ).
|
||||
|
||||
lr_ref = REF #( i_val ).
|
||||
IF lr_ref = lr_ref_in.
|
||||
r_result = `{` && iv_name && '/' && shift_right( CONV string( i_tab_index - 1 ) ) && '/' && <comp>-name && `}`.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||
EXPORTING
|
||||
val = `BINDING_ERROR - No class attribute for binding found - Please check if the binded values are public attributes of your class`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
|
@ -43,6 +74,28 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_arg_string.
|
||||
|
||||
IF val IS NOT INITIAL.
|
||||
|
||||
LOOP AT val REFERENCE INTO DATA(lr_arg).
|
||||
DATA(lv_new) = lr_arg->*.
|
||||
IF lv_new IS INITIAL.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
IF lv_new(1) <> `$` AND lv_new(1) <> `{`.
|
||||
lv_new = `"` && lv_new && `"`.
|
||||
ENDIF.
|
||||
result = result && `, ` && lv_new.
|
||||
ENDLOOP.
|
||||
|
||||
ENDIF.
|
||||
|
||||
result = result && `)`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~get.
|
||||
|
||||
result = VALUE #(
|
||||
|
@ -85,20 +138,37 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~nest_view_destroy.
|
||||
METHOD z2ui5_if_client~nest2_view_destroy.
|
||||
|
||||
mo_handler->ms_next-s_set-s_view_nest-check_update_model = abap_true.
|
||||
mo_handler->ms_next-s_set-s_view_nest2-check_update_model = abap_true.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~nest2_view_destroy.
|
||||
METHOD z2ui5_if_client~nest2_view_display.
|
||||
|
||||
mo_handler->ms_next-s_set-s_view_nest2-xml = val.
|
||||
mo_handler->ms_next-s_set-s_view_nest2-id = id.
|
||||
mo_handler->ms_next-s_set-s_view_nest2-method_destroy = method_destroy.
|
||||
mo_handler->ms_next-s_set-s_view_nest2-method_insert = method_insert.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~nest2_view_model_update.
|
||||
|
||||
mo_handler->ms_next-s_set-s_view_nest2-check_update_model = abap_true.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~nest_view_destroy.
|
||||
|
||||
mo_handler->ms_next-s_set-s_view_nest-check_update_model = abap_true.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~nest_view_display.
|
||||
|
||||
mo_handler->ms_next-s_set-s_view_nest-xml = val.
|
||||
|
@ -108,14 +178,6 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD z2ui5_if_client~nest2_view_display.
|
||||
|
||||
mo_handler->ms_next-s_set-s_view_nest2-xml = val.
|
||||
mo_handler->ms_next-s_set-s_view_nest2-id = id.
|
||||
mo_handler->ms_next-s_set-s_view_nest2-method_destroy = method_destroy.
|
||||
mo_handler->ms_next-s_set-s_view_nest2-method_insert = method_insert.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD z2ui5_if_client~nest_view_model_update.
|
||||
|
||||
|
@ -123,11 +185,6 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD z2ui5_if_client~nest2_view_model_update.
|
||||
|
||||
mo_handler->ms_next-s_set-s_view_nest2-check_update_model = abap_true.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD z2ui5_if_client~popover_destroy.
|
||||
|
||||
|
@ -216,6 +273,7 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
type = z2ui5_cl_fw_binding=>cs_bind_type-one_way
|
||||
data = val
|
||||
pretty_name = pretty_name
|
||||
compress = compress
|
||||
).
|
||||
|
||||
result = lo_binder->main( ).
|
||||
|
@ -229,27 +287,6 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~_bind_local.
|
||||
|
||||
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
||||
app = mo_handler->ms_db-app
|
||||
attri = mo_handler->ms_db-t_attri
|
||||
check_attri = mo_handler->ms_db-check_attri
|
||||
type = z2ui5_cl_fw_binding=>cs_bind_type-one_time
|
||||
data = val
|
||||
pretty_name = pretty_name
|
||||
).
|
||||
|
||||
result = lo_binder->main( ).
|
||||
mo_handler->ms_db-t_attri = lo_binder->mt_attri.
|
||||
mo_handler->ms_db-check_attri = lo_binder->mv_check_attri.
|
||||
|
||||
IF path = abap_false.
|
||||
result = `{` && result && `}`.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD z2ui5_if_client~_bind_clear.
|
||||
|
||||
mo_handler->ms_db-t_attri[ name = val ]-check_dissolved = abap_false.
|
||||
|
@ -286,6 +323,30 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
data = val
|
||||
view = view
|
||||
pretty_name = pretty_name
|
||||
compress = compress
|
||||
).
|
||||
|
||||
result = lo_binder->main( ).
|
||||
mo_handler->ms_db-t_attri = lo_binder->mt_attri.
|
||||
mo_handler->ms_db-check_attri = lo_binder->mv_check_attri.
|
||||
|
||||
IF path = abap_false.
|
||||
result = `{` && result && `}`.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_client~_bind_local.
|
||||
|
||||
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
||||
app = mo_handler->ms_db-app
|
||||
attri = mo_handler->ms_db-t_attri
|
||||
check_attri = mo_handler->ms_db-check_attri
|
||||
type = z2ui5_cl_fw_binding=>cs_bind_type-one_time
|
||||
data = val
|
||||
pretty_name = pretty_name
|
||||
compress = compress
|
||||
).
|
||||
|
||||
result = lo_binder->main( ).
|
||||
|
@ -312,57 +373,4 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
result = `onEventFrontend( { 'EVENT' : '` && val && `' }` && set_arg_string( t_arg ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_arg_string.
|
||||
|
||||
IF val IS NOT INITIAL.
|
||||
|
||||
LOOP AT val REFERENCE INTO DATA(lr_arg).
|
||||
DATA(lv_new) = lr_arg->*.
|
||||
IF lv_new IS INITIAL.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
IF lv_new(1) <> `$` AND lv_new(1) <> `{`.
|
||||
lv_new = `"` && lv_new && `"`.
|
||||
ENDIF.
|
||||
result = result && `, ` && lv_new.
|
||||
ENDLOOP.
|
||||
|
||||
ENDIF.
|
||||
|
||||
result = result && `)`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD bind_tab_cell.
|
||||
|
||||
FIELD-SYMBOLS <ele> TYPE any.
|
||||
FIELD-SYMBOLS <row> TYPE any.
|
||||
data lr_ref_in type ref to data.
|
||||
data lr_ref type ref to data.
|
||||
|
||||
ASSIGN i_tab[ i_tab_index ] TO <row>.
|
||||
DATA(lt_attri) = z2ui5_cl_util_func=>rtti_get_t_comp_by_struc( <row> ).
|
||||
|
||||
LOOP AT lt_attri ASSIGNING FIELD-SYMBOL(<comp>).
|
||||
|
||||
ASSIGN COMPONENT <comp>-name OF STRUCTURE <row> TO <ele>.
|
||||
lr_ref_in = REF #( <ele> ).
|
||||
|
||||
lr_ref = REF #( i_val ).
|
||||
IF lr_ref = lr_ref_in.
|
||||
r_result = `{` && iv_name && '/' && shift_right( CONV string( i_tab_index - 1 ) ) && '/' && <comp>-name && `}`.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||
EXPORTING
|
||||
val = `BINDING_ERROR - No class attribute for binding found - Please check if the binded values are public attributes of your class`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -25,12 +25,14 @@ CLASS z2ui5_cl_fw_model DEFINITION
|
|||
DATA mt_attri TYPE z2ui5_cl_fw_binding=>ty_t_attri.
|
||||
DATA mv_viewname TYPE string.
|
||||
|
||||
protected section.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_FW_MODEL IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
|
||||
|
@ -41,6 +43,7 @@ CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD main_set_backend.
|
||||
|
||||
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri)
|
||||
|
@ -132,7 +135,7 @@ CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
|||
|
||||
WHEN `h`.
|
||||
lo_actual->add_attribute( n = lr_attri->name_front
|
||||
v = z2ui5_cl_util_func=>trans_json_any_2( any = <attribute> pretty_name = lr_attri->pretty_name )
|
||||
v = z2ui5_cl_util_func=>trans_json_any_2( any = <attribute> pretty_name = lr_attri->pretty_name compress = lr_attri->compress )
|
||||
apos_active = abap_false ).
|
||||
|
||||
WHEN OTHERS.
|
||||
|
@ -148,7 +151,7 @@ CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
|||
WHEN OTHERS.
|
||||
|
||||
lo_actual->add_attribute( n = lr_attri->name_front
|
||||
v = z2ui5_cl_util_func=>trans_json_any_2( <attribute> )
|
||||
v = z2ui5_cl_util_func=>trans_json_any_2( any = <attribute> pretty_name = lr_attri->pretty_name compress = lr_attri->compress )
|
||||
apos_active = abap_false ).
|
||||
ENDCASE.
|
||||
ENDCASE.
|
||||
|
@ -158,5 +161,4 @@ CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
|||
result = lr_view_model->stringify( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -155,6 +155,7 @@ INTERFACE z2ui5_if_client
|
|||
val TYPE data
|
||||
path TYPE abap_bool DEFAULT abap_false
|
||||
pretty_name TYPE clike DEFAULT /ui2/cl_json=>pretty_mode-none
|
||||
compress TYPE clike DEFAULT abap_false
|
||||
tab TYPE STANDARD TABLE OPTIONAL
|
||||
tab_index TYPE i OPTIONAL
|
||||
RETURNING
|
||||
|
@ -166,6 +167,7 @@ INTERFACE z2ui5_if_client
|
|||
path TYPE abap_bool DEFAULT abap_false
|
||||
view TYPE string DEFAULT cs_view-main
|
||||
pretty_name TYPE clike DEFAULT /ui2/cl_json=>pretty_mode-none
|
||||
compress TYPE clike DEFAULT abap_false
|
||||
tab TYPE STANDARD TABLE OPTIONAL
|
||||
tab_index TYPE i OPTIONAL
|
||||
RETURNING
|
||||
|
@ -176,6 +178,7 @@ INTERFACE z2ui5_if_client
|
|||
val TYPE data
|
||||
path TYPE abap_bool DEFAULT abap_false
|
||||
pretty_name TYPE clike DEFAULT /ui2/cl_json=>pretty_mode-none
|
||||
compress TYPE clike DEFAULT abap_false
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
|
|
@ -526,6 +526,10 @@ CLASS z2ui5_cl_cc_chartjs DEFINITION
|
|||
!is_config TYPE ty_chart
|
||||
RETURNING
|
||||
VALUE(chartjs_config) TYPE string .
|
||||
CLASS-METHODS load_cc
|
||||
RETURNING
|
||||
VALUE(result) TYPE string .
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
|
@ -565,6 +569,120 @@ CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD load_cc.
|
||||
|
||||
DATA lv_libs TYPE string VALUE ``.
|
||||
|
||||
result = `debugger;` && |\n| &&
|
||||
`sap.ui.define("z2ui5/chartjs", [` && |\n| &&
|
||||
` "sap/ui/core/Control",` && |\n| &&
|
||||
`], function (Control) {` && |\n| &&
|
||||
` "use strict";` && |\n| &&
|
||||
|\n| &&
|
||||
` return Control.extend("z2ui5.chartjs", {` && |\n| &&
|
||||
` metadata: {` && |\n| &&
|
||||
` properties: {` && |\n| &&
|
||||
` config: { ` && |\n| &&
|
||||
` type: "Array" ` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` canvas_id: {` && |\n| &&
|
||||
` type: "string",` && |\n| &&
|
||||
` defaultValue: ""` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` width: {` && |\n| &&
|
||||
` type: "string",` && |\n| &&
|
||||
` defaultValue: ""` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` height: {` && |\n| &&
|
||||
` type: "string",` && |\n| &&
|
||||
` defaultValue: ""` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` style: {` && |\n| &&
|
||||
` type: "string",` && |\n| &&
|
||||
` defaultValue: ""` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` view: {` && |\n| &&
|
||||
` type: "string",` && |\n| &&
|
||||
` defaultValue: ""` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` init() {` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
|\n| &&
|
||||
` fixJsonLibs(data) {` && |\n| &&
|
||||
` ` && |\n| &&
|
||||
` if (!data.hasOwnProperty("plugins")) { ` && |\n| &&
|
||||
` data["plugins"] = [` && lv_libs && `];` && |\n| &&
|
||||
` return;` && |\n| &&
|
||||
` };` && |\n| &&
|
||||
` ` && |\n| &&
|
||||
` Object.keys(data).forEach(function(key) {` && |\n| &&
|
||||
` if(key=="plugins") {` && |\n| &&
|
||||
` data[key] = [` && lv_libs && `];` && |\n| &&
|
||||
` };` && |\n| &&
|
||||
` })},` && |\n| &&
|
||||
|\n| &&
|
||||
` onModelChange(oEvent) {` && |\n| &&
|
||||
` this.Chart2Model();` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
|\n| &&
|
||||
` Chart2Model( ){` && |\n| &&
|
||||
* ` var oData = Messaging.getMessageModel().getData();` && |\n| &&
|
||||
` var oData = [];` && |\n| &&
|
||||
` var Model = [];` && |\n| &&
|
||||
* ` oData.forEach(element => {` && |\n| &&
|
||||
* ` Model.push( { ` && |\n| &&
|
||||
* ` MESSAGE : element.message , ` && |\n| &&
|
||||
* ` DESCRIPTION : element.description , ` && |\n| &&
|
||||
* ` TYPE : element.type, ` && |\n| &&
|
||||
* ` TARGET : element.aTargets[0] , ` && |\n| &&
|
||||
* ` ADDITIONALTEXT : element.additionalText , ` && |\n| &&
|
||||
* ` DATE : element.date , ` && |\n| &&
|
||||
* ` DESCRIPTIONURL : element.descriptionUrl, ` && |\n| &&
|
||||
* ` PERSISTENT : element.persistent } );` && |\n| &&
|
||||
* ` });` && |\n| &&
|
||||
` this.setProperty("config", Model );` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
|\n| &&
|
||||
` Model2Chart( ){` && |\n| &&
|
||||
` var Model = this.getProperty("config");` && |\n| &&
|
||||
` if(!Model) { return; }` && |\n| &&
|
||||
|\n| &&
|
||||
* ` Model.forEach(element => {` && |\n| &&
|
||||
* ` var target = element.CANVAS_ID;` && |\n| &&
|
||||
* ` if ( target == undefined ) { target = element.CANVAS_ID }` && |\n| &&
|
||||
* ` });` && |\n| &&
|
||||
* ` var resBinding = new sap.ui.model.ListBinding(sap.z2ui5.cjsConfig, "/" );` && |\n| &&
|
||||
* ` resBinding.attachChange(this.onModelChange.bind(this));` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
|\n| &&
|
||||
` renderer(oRm, oControl) {` && |\n| &&
|
||||
` oControl.Model2Chart();` && |\n| &&
|
||||
` var canvas_id = oControl.getProperty("canvas_id");` && |\n| &&
|
||||
` var width = oControl.getProperty("width");` && |\n| &&
|
||||
` var height = oControl.getProperty("height");` && |\n| &&
|
||||
` var style = oControl.getProperty("style");` && |\n| &&
|
||||
` oRm.write( "<canvas id='" + canvas_id + "' width='" + width + "' height='" + height + "' style = '" + style + "' />");` && |\n| &&
|
||||
|\n| &&
|
||||
` var Model = oControl.getProperty("config");` && |\n| &&
|
||||
` if(!Model ) { return; };` && |\n| &&
|
||||
` var cVar = canvas_id+'_chartjs'; ` && |\n| &&
|
||||
` setTimeout( (oControl) => { ` && |\n| &&
|
||||
|\n| &&
|
||||
` var ctx = document.getElementById(canvas_id); ` && |\n| &&
|
||||
` sap.z2ui5.autocolors = {}; try { var autocolors = window['chartjs-plugin-autocolors']; } catch (err){};` && |\n| &&
|
||||
` fixJsonLibs(Model);` && |\n| &&
|
||||
` window[cVar] = new Chart( ctx, Model );` && |\n| &&
|
||||
` ` && |\n| &&
|
||||
` }, 150 , oControl );` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
|\n| &&
|
||||
` });` && |\n| &&
|
||||
`});`.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD load_js.
|
||||
|
||||
DATA lv_libs TYPE string VALUE ``.
|
||||
|
@ -583,9 +701,9 @@ CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
|||
IF autocolors = abap_true.
|
||||
result = result && `libs.push("` && get_js_autocolors( ) && `");` && |\n|.
|
||||
IF lv_libs IS INITIAL.
|
||||
lv_libs = lv_libs && `autocolors`.
|
||||
lv_libs = lv_libs && `sap.z2ui5.autocolors `.
|
||||
ELSE.
|
||||
lv_libs = lv_libs && `,` && `autocolors`.
|
||||
lv_libs = lv_libs && `,` && `sap.z2ui5.autocolors `.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
IF deferred = abap_true.
|
||||
|
@ -599,6 +717,10 @@ CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
|||
|
||||
result = result && `` && |\n| &&
|
||||
`var fixJsonLibs = function(data){` && |\n| &&
|
||||
` if (!data.hasOwnProperty("plugins")) {` && |\n| &&
|
||||
` data["plugins"] = [` && lv_libs && `];` && |\n| &&
|
||||
` return;` && |\n| &&
|
||||
` };` && |\n| &&
|
||||
`` && |\n| &&
|
||||
` Object.keys(data).forEach(function(key) {` && |\n| &&
|
||||
` if(key=="plugins") {` && |\n| &&
|
||||
|
|
|
@ -148,6 +148,7 @@ CLASS z2ui5_cl_xml_view_cc DEFINITION
|
|||
!items TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||
|
||||
METHODS timer
|
||||
IMPORTING
|
||||
!finished TYPE clike OPTIONAL
|
||||
|
@ -157,6 +158,18 @@ CLASS z2ui5_cl_xml_view_cc DEFINITION
|
|||
PREFERRED PARAMETER finished
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||
|
||||
METHODS chartjs
|
||||
IMPORTING
|
||||
!canvas_id TYPE clike OPTIONAL
|
||||
!view TYPE clike OPTIONAL
|
||||
!config TYPE clike OPTIONAL
|
||||
!height TYPE clike OPTIONAL
|
||||
!width TYPE clike OPTIONAL
|
||||
!style TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!view TYPE REF TO z2ui5_cl_xml_view .
|
||||
|
@ -167,7 +180,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_XML_VIEW_CC IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD bwip_js.
|
||||
|
@ -200,6 +213,20 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD chartjs.
|
||||
result = mo_view.
|
||||
mo_view->_generic( name = `chartjs`
|
||||
ns = `z2ui5`
|
||||
t_prop = VALUE #( ( n = `canvas_id` v = canvas_id )
|
||||
( n = `view` v = view )
|
||||
( n = `config` v = config )
|
||||
( n = `height` v = height )
|
||||
( n = `width` v = width )
|
||||
( n = `style` v = style )
|
||||
) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
me->mo_view = view.
|
||||
|
@ -271,6 +298,16 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD history.
|
||||
|
||||
result = mo_view.
|
||||
mo_view->_generic( name = `History`
|
||||
ns = `z2ui5`
|
||||
t_prop = VALUE #( ( n = `search` v = search ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD info_frontend.
|
||||
|
||||
result = mo_view.
|
||||
|
@ -299,6 +336,40 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD multiinput.
|
||||
|
||||
result = mo_view.
|
||||
mo_view->_generic( name = `MultiInput` ns = `z2ui5`
|
||||
t_prop = VALUE #( ( n = `tokens` v = tokens )
|
||||
( n = `showClearIcon` v = z2ui5_cl_util_func=>boolean_abap_2_json( showclearicon ) )
|
||||
( n = `showValueHelp` v = z2ui5_cl_util_func=>boolean_abap_2_json( showvaluehelp ) )
|
||||
( n = `enabled` v = z2ui5_cl_util_func=>boolean_abap_2_json( enabled ) )
|
||||
( n = `suggestionItems` v = suggestionitems )
|
||||
( n = `tokenUpdate` v = tokenupdate )
|
||||
( n = `submit` v = submit )
|
||||
( n = `width` v = width )
|
||||
( n = `value` v = value )
|
||||
( n = `id` v = id )
|
||||
( n = `change` v = change )
|
||||
( n = `valueHelpRequest` v = valuehelprequest )
|
||||
( n = `addedTokens` v = addedTokens )
|
||||
( n = `removedTokens` v = removedTokens )
|
||||
( n = `class` v = class ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD multiinput_ext.
|
||||
|
||||
result = mo_view.
|
||||
mo_view->_generic( name = `MultiInputExt` ns = `z2ui5`
|
||||
t_prop = VALUE #( ( n = `MultiInputId` v = MultiInputId )
|
||||
( n = `change` v = change )
|
||||
( n = `addedTokens` v = addedTokens )
|
||||
( n = `removedTokens` v = removedTokens ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD scrolling.
|
||||
|
||||
result = mo_view.
|
||||
|
@ -339,14 +410,6 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD history.
|
||||
|
||||
result = mo_view.
|
||||
mo_view->_generic( name = `History`
|
||||
ns = `z2ui5`
|
||||
t_prop = VALUE #( ( n = `search` v = search ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD title.
|
||||
|
||||
|
@ -356,26 +419,7 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
|
|||
t_prop = VALUE #( ( n = `title` v = title ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
METHOD multiinput.
|
||||
|
||||
result = mo_view.
|
||||
mo_view->_generic( name = `MultiInput` ns = `z2ui5`
|
||||
t_prop = VALUE #( ( n = `tokens` v = tokens )
|
||||
( n = `showClearIcon` v = z2ui5_cl_util_func=>boolean_abap_2_json( showclearicon ) )
|
||||
( n = `showValueHelp` v = z2ui5_cl_util_func=>boolean_abap_2_json( showvaluehelp ) )
|
||||
( n = `enabled` v = z2ui5_cl_util_func=>boolean_abap_2_json( enabled ) )
|
||||
( n = `suggestionItems` v = suggestionitems )
|
||||
( n = `tokenUpdate` v = tokenupdate )
|
||||
( n = `submit` v = submit )
|
||||
( n = `width` v = width )
|
||||
( n = `value` v = value )
|
||||
( n = `id` v = id )
|
||||
( n = `change` v = change )
|
||||
( n = `valueHelpRequest` v = valuehelprequest )
|
||||
( n = `addedTokens` v = addedTokens )
|
||||
( n = `removedTokens` v = removedTokens )
|
||||
( n = `class` v = class ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD uitableext.
|
||||
|
||||
|
@ -384,16 +428,4 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
|
|||
) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD multiinput_ext.
|
||||
|
||||
result = mo_view.
|
||||
mo_view->_generic( name = `MultiInputExt` ns = `z2ui5`
|
||||
t_prop = VALUE #( ( n = `MultiInputId` v = MultiInputId )
|
||||
( n = `change` v = change )
|
||||
( n = `addedTokens` v = addedTokens )
|
||||
( n = `removedTokens` v = removedTokens ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user