mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-30 04:36:18 +08:00
binding update (#518)
* update * update * update binding * update xml view * title_set method * update binding
This commit is contained in:
parent
d4afaffed4
commit
6951a7fe5f
|
@ -248,7 +248,7 @@ CLASS Z2UI5_CL_FW_APP IMPLEMENTATION.
|
||||||
ms_home-btn_event_id = `BUTTON_CHECK`.
|
ms_home-btn_event_id = `BUTTON_CHECK`.
|
||||||
ms_home-class_editable = abap_true.
|
ms_home-class_editable = abap_true.
|
||||||
ms_home-btn_icon = `sap-icon://validate`.
|
ms_home-btn_icon = `sap-icon://validate`.
|
||||||
ms_home-classname = `z2ui5_cl_app_hello_world`.
|
ms_home-classname = `Z2UI5_CL_APP_HELLO_WORLD`.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
mv_check_demo = abap_true.
|
mv_check_demo = abap_true.
|
||||||
|
|
|
@ -17,15 +17,15 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_attri,
|
BEGIN OF ty_s_attri,
|
||||||
name TYPE string,
|
name TYPE string,
|
||||||
|
name_front TYPE string,
|
||||||
type_kind TYPE string,
|
type_kind TYPE string,
|
||||||
type TYPE string,
|
type TYPE string,
|
||||||
bind_type TYPE string,
|
bind_type TYPE string,
|
||||||
data_stringify TYPE string,
|
data_stringify TYPE string,
|
||||||
data_rtti TYPE string,
|
data_rtti TYPE string,
|
||||||
check_tested TYPE abap_bool,
|
|
||||||
check_ready TYPE abap_bool,
|
check_ready TYPE abap_bool,
|
||||||
check_dissolved TYPE abap_bool,
|
check_dissolved TYPE abap_bool,
|
||||||
name_front TYPE string,
|
check_temp TYPE abap_bool,
|
||||||
END OF ty_s_attri.
|
END OF ty_s_attri.
|
||||||
TYPES ty_t_attri TYPE SORTED TABLE OF ty_s_attri WITH UNIQUE KEY name.
|
TYPES ty_t_attri TYPE SORTED TABLE OF ty_s_attri WITH UNIQUE KEY name.
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
||||||
attri TYPE ty_t_attri OPTIONAL
|
attri TYPE ty_t_attri OPTIONAL
|
||||||
type TYPE string OPTIONAL
|
type TYPE string OPTIONAL
|
||||||
data TYPE data OPTIONAL
|
data TYPE data OPTIONAL
|
||||||
|
check_attri TYPE data OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_fw_binding.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_fw_binding.
|
||||||
|
|
||||||
|
@ -46,6 +47,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
||||||
DATA mt_attri TYPE ty_t_attri.
|
DATA mt_attri TYPE ty_t_attri.
|
||||||
DATA mv_type TYPE string.
|
DATA mv_type TYPE string.
|
||||||
DATA mr_data TYPE REF TO data.
|
DATA mr_data TYPE REF TO data.
|
||||||
|
DATA mv_check_attri TYPE abap_bool.
|
||||||
|
|
||||||
CLASS-METHODS update_attri
|
CLASS-METHODS update_attri
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -115,7 +117,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD bind.
|
METHOD bind.
|
||||||
|
@ -124,7 +126,8 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
DATA(lv_name) = `MO_APP->` && bind->name.
|
DATA(lv_name) = `MO_APP->` && bind->name.
|
||||||
ASSIGN (lv_name) TO <attri>.
|
ASSIGN (lv_name) TO <attri>.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_fw_error.
|
RAISE EXCEPTION TYPE z2ui5_cx_fw_error
|
||||||
|
exporting val = `BINDING_ERROR_ATTRIBUTE_NOT_FOUND_WITH_NAME__` && bind->name.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
DATA lr_ref TYPE REF TO data.
|
DATA lr_ref TYPE REF TO data.
|
||||||
|
@ -183,10 +186,8 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
IF lt_dissolve IS INITIAL.
|
|
||||||
RETURN.
|
* set_attri_ready( REF #( lt_dissolve ) ).
|
||||||
ENDIF.
|
|
||||||
set_attri_ready( REF #( lt_dissolve ) ).
|
|
||||||
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -195,14 +196,7 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
METHOD dissolve_init.
|
METHOD dissolve_init.
|
||||||
|
|
||||||
IF mt_attri IS INITIAL.
|
IF mt_attri IS INITIAL.
|
||||||
|
|
||||||
mt_attri = get_t_attri_by_oref( ).
|
mt_attri = get_t_attri_by_oref( ).
|
||||||
set_attri_ready( REF #( mt_attri ) ).
|
|
||||||
|
|
||||||
ELSE.
|
|
||||||
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri).
|
|
||||||
lr_attri->check_tested = abap_false.
|
|
||||||
ENDLOOP.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -224,10 +218,8 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
IF lt_dissolve IS INITIAL.
|
|
||||||
RETURN.
|
* set_attri_ready( REF #( lt_dissolve ) ).
|
||||||
ENDIF.
|
|
||||||
set_attri_ready( REF #( lt_dissolve ) ).
|
|
||||||
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -247,7 +239,7 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
set_attri_ready( REF #( lt_dissolve ) ).
|
* set_attri_ready( REF #( lt_dissolve ) ).
|
||||||
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -259,6 +251,7 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
r_result->mo_app = app.
|
r_result->mo_app = app.
|
||||||
r_result->mt_attri = attri.
|
r_result->mt_attri = attri.
|
||||||
r_result->mv_type = type.
|
r_result->mv_type = type.
|
||||||
|
r_result->mv_check_attri = check_attri.
|
||||||
|
|
||||||
IF z2ui5_cl_fw_utility=>rtti_check_type_kind_dref( data ).
|
IF z2ui5_cl_fw_utility=>rtti_check_type_kind_dref( data ).
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_fw_error
|
RAISE EXCEPTION TYPE z2ui5_cx_fw_error
|
||||||
|
@ -286,6 +279,7 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
type_kind = lo_descr->type_kind
|
type_kind = lo_descr->type_kind
|
||||||
type = lo_descr->get_relative_name( )
|
type = lo_descr->get_relative_name( )
|
||||||
check_ready = abap_true
|
check_ready = abap_true
|
||||||
|
check_temp = abap_true
|
||||||
).
|
).
|
||||||
|
|
||||||
INSERT ls_new_bind INTO TABLE result.
|
INSERT ls_new_bind INTO TABLE result.
|
||||||
|
@ -310,6 +304,7 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
DATA(ls_attri) = CORRESPONDING ty_s_attri( ls_attri2 ).
|
DATA(ls_attri) = CORRESPONDING ty_s_attri( ls_attri2 ).
|
||||||
IF val IS NOT INITIAL.
|
IF val IS NOT INITIAL.
|
||||||
ls_attri-name = val && `->` && ls_attri-name.
|
ls_attri-name = val && `->` && ls_attri-name.
|
||||||
|
ls_attri-check_temp = abap_true.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
INSERT ls_attri INTO TABLE result.
|
INSERT ls_attri INTO TABLE result.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
@ -351,14 +346,14 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD main.
|
METHOD main.
|
||||||
|
|
||||||
|
"step 0 / MO_APP->MV_VAL
|
||||||
|
dissolve_init( ).
|
||||||
|
|
||||||
IF mv_type = cs_bind_type-one_time.
|
IF mv_type = cs_bind_type-one_time.
|
||||||
result = bind_local( ).
|
result = bind_local( ).
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
"step 0 / MO_APP->MV_VAL
|
|
||||||
dissolve_init( ).
|
|
||||||
|
|
||||||
result = search_binding( ).
|
result = search_binding( ).
|
||||||
IF result IS NOT INITIAL.
|
IF result IS NOT INITIAL.
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -402,12 +397,12 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD search_binding.
|
METHOD search_binding.
|
||||||
|
|
||||||
LOOP AT mt_attri REFERENCE INTO DATA(lr_bind)
|
set_attri_ready( REF #( mt_attri ) ).
|
||||||
WHERE ( bind_type = `` OR bind_type = mv_type )
|
|
||||||
AND check_ready = abap_true
|
LOOP AT mt_attri REFERENCE INTO DATA(lr_bind)
|
||||||
AND check_tested = abap_false.
|
* WHERE ( bind_type = `` OR bind_type = mv_type )
|
||||||
|
where check_ready = abap_true.
|
||||||
|
|
||||||
lr_bind->check_tested = abap_true.
|
|
||||||
result = bind( lr_bind ).
|
result = bind( lr_bind ).
|
||||||
IF result IS NOT INITIAL.
|
IF result IS NOT INITIAL.
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -420,7 +415,8 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||||
METHOD set_attri_ready.
|
METHOD set_attri_ready.
|
||||||
|
|
||||||
LOOP AT t_attri->* REFERENCE INTO result
|
LOOP AT t_attri->* REFERENCE INTO result
|
||||||
WHERE check_ready = abap_false.
|
WHERE check_ready = abap_false and
|
||||||
|
bind_type <> cs_bind_type-one_time.
|
||||||
|
|
||||||
CASE result->type_kind.
|
CASE result->type_kind.
|
||||||
WHEN cl_abap_classdescr=>typekind_iref
|
WHEN cl_abap_classdescr=>typekind_iref
|
||||||
|
|
|
@ -174,6 +174,13 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD z2ui5_if_client~title_set.
|
||||||
|
|
||||||
|
mo_handler->ms_next-s_set-title = val.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~url_param_set.
|
METHOD z2ui5_if_client~url_param_set.
|
||||||
|
|
||||||
mo_handler->ms_next-s_set-search = val.
|
mo_handler->ms_next-s_set-search = val.
|
||||||
|
@ -208,12 +215,14 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
||||||
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
||||||
app = mo_handler->ms_db-app
|
app = mo_handler->ms_db-app
|
||||||
attri = mo_handler->ms_db-t_attri
|
attri = mo_handler->ms_db-t_attri
|
||||||
|
check_attri = mo_handler->ms_db-check_attri
|
||||||
type = z2ui5_cl_fw_binding=>cs_bind_type-one_way
|
type = z2ui5_cl_fw_binding=>cs_bind_type-one_way
|
||||||
data = val
|
data = val
|
||||||
).
|
).
|
||||||
|
|
||||||
result = lo_binder->main( ).
|
result = lo_binder->main( ).
|
||||||
mo_handler->ms_db-t_attri = lo_binder->mt_attri.
|
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.
|
IF path = abap_false.
|
||||||
result = `{` && result && `}`.
|
result = `{` && result && `}`.
|
||||||
|
@ -227,12 +236,14 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
||||||
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
||||||
app = mo_handler->ms_db-app
|
app = mo_handler->ms_db-app
|
||||||
attri = mo_handler->ms_db-t_attri
|
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
|
type = z2ui5_cl_fw_binding=>cs_bind_type-one_time
|
||||||
data = val
|
data = val
|
||||||
).
|
).
|
||||||
|
|
||||||
result = lo_binder->main( ).
|
result = lo_binder->main( ).
|
||||||
mo_handler->ms_db-t_attri = lo_binder->mt_attri.
|
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.
|
IF path = abap_false.
|
||||||
result = `{` && result && `}`.
|
result = `{` && result && `}`.
|
||||||
|
@ -246,12 +257,14 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
||||||
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
DATA(lo_binder) = z2ui5_cl_fw_binding=>factory(
|
||||||
app = mo_handler->ms_db-app
|
app = mo_handler->ms_db-app
|
||||||
attri = mo_handler->ms_db-t_attri
|
attri = mo_handler->ms_db-t_attri
|
||||||
|
check_attri = mo_handler->ms_db-check_attri
|
||||||
type = z2ui5_cl_fw_binding=>cs_bind_type-two_way
|
type = z2ui5_cl_fw_binding=>cs_bind_type-two_way
|
||||||
data = val
|
data = val
|
||||||
).
|
).
|
||||||
|
|
||||||
result = lo_binder->main( ).
|
result = lo_binder->main( ).
|
||||||
mo_handler->ms_db-t_attri = lo_binder->mt_attri.
|
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.
|
IF path = abap_false.
|
||||||
result = `{` && result && `}`.
|
result = `{` && result && `}`.
|
||||||
|
|
|
@ -12,6 +12,7 @@ CLASS z2ui5_cl_fw_db DEFINITION
|
||||||
id_prev_app TYPE string,
|
id_prev_app TYPE string,
|
||||||
id_prev_app_stack TYPE string,
|
id_prev_app_stack TYPE string,
|
||||||
t_attri TYPE z2ui5_cl_fw_binding=>ty_t_attri,
|
t_attri TYPE z2ui5_cl_fw_binding=>ty_t_attri,
|
||||||
|
check_attri type abap_bool,
|
||||||
app TYPE REF TO z2ui5_if_app,
|
app TYPE REF TO z2ui5_if_app,
|
||||||
END OF ty_s_db .
|
END OF ty_s_db .
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,6 @@ CLASS z2ui5_cl_fw_handler DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_fw_handler.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_fw_handler.
|
||||||
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -167,6 +166,8 @@ CLASS z2ui5_cl_fw_handler IMPLEMENTATION.
|
||||||
result->ms_actual-check_on_navigated = abap_false.
|
result->ms_actual-check_on_navigated = abap_false.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
result->ms_db-check_attri = abap_false.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
|
@ -264,8 +265,7 @@ CLASS z2ui5_cl_fw_handler IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
result = lo_resp->mo_root->stringify( ).
|
result = lo_resp->mo_root->stringify( ).
|
||||||
z2ui5_cl_fw_db=>create( id = ms_db-id
|
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
||||||
db = ms_db ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -277,10 +277,11 @@ CLASS z2ui5_cl_fw_handler IMPLEMENTATION.
|
||||||
|
|
||||||
CLEAR ms_next.
|
CLEAR ms_next.
|
||||||
IF check_no_db_save = abap_false.
|
IF check_no_db_save = abap_false.
|
||||||
z2ui5_cl_fw_db=>create( id = ms_db-id
|
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
||||||
db = ms_db ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
CLEAR result->ms_db-t_attri.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -302,8 +303,6 @@ CLASS z2ui5_cl_fw_handler IMPLEMENTATION.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
CLEAR result->ms_db-t_attri.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -323,6 +322,8 @@ CLASS z2ui5_cl_fw_handler IMPLEMENTATION.
|
||||||
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
CLEAR result->ms_db-t_attri.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,140 @@ CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD main_set_backend.
|
METHOD main_set_backend.
|
||||||
|
|
||||||
|
|
||||||
|
* DATA(lv_name_bind) = `MODEL->OBINDS`.
|
||||||
|
* FIELD-SYMBOLS <binds> TYPE any.
|
||||||
|
* UNASSIGN <binds>.
|
||||||
|
* ASSIGN (lv_name_bind) TO <binds>.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* DATA(lt_binds) = VALUE z2ui5_if_client=>ty_t_name_value( ).
|
||||||
|
*
|
||||||
|
* z2ui5_cl_fw_utility=>trans_ref_tab_2_tab(
|
||||||
|
* EXPORTING
|
||||||
|
* ir_tab_from = <binds>
|
||||||
|
* IMPORTING
|
||||||
|
* t_result = lt_binds ).
|
||||||
|
*
|
||||||
|
* LOOP AT lt_binds REFERENCE INTO DATA(lr_comp).
|
||||||
|
*
|
||||||
|
* DATA(lv_name_back) = `MO_APP->` && lr_comp->v.
|
||||||
|
*
|
||||||
|
* FIELD-SYMBOLS <backend> TYPE any.
|
||||||
|
* UNASSIGN <backend>.
|
||||||
|
* ASSIGN (lv_name_back) TO <backend>.
|
||||||
|
* IF sy-subrc <> 0.
|
||||||
|
* RAISE EXCEPTION TYPE z2ui5_cx_fw_error
|
||||||
|
* EXPORTING
|
||||||
|
* val = `NO_BACKEND_VALUE_FOUND_WITH_NAME__` && lv_name_back.
|
||||||
|
* ENDIF.
|
||||||
|
*
|
||||||
|
* DATA(lv_name_front) = `MODEL->` && lr_comp->n.
|
||||||
|
* FIELD-SYMBOLS <frontend> TYPE any.
|
||||||
|
* UNASSIGN <frontend>.
|
||||||
|
* ASSIGN (lv_name_front) TO <frontend>.
|
||||||
|
* IF sy-subrc <> 0.
|
||||||
|
* RAISE EXCEPTION TYPE z2ui5_cx_fw_error
|
||||||
|
* EXPORTING
|
||||||
|
* val = `NO_FRONTEND_VALUE_FOUND_WITH_NAME__` && lv_name_front.
|
||||||
|
* ENDIF.
|
||||||
|
*
|
||||||
|
* DATA(lv_type_kind) = z2ui5_cl_fw_utility=>rtti_get_type_kind( <backend> ).
|
||||||
|
*
|
||||||
|
* CASE lv_type_kind.
|
||||||
|
*
|
||||||
|
* WHEN `h`.
|
||||||
|
* z2ui5_cl_fw_utility=>trans_ref_tab_2_tab(
|
||||||
|
* EXPORTING
|
||||||
|
* ir_tab_from = <frontend>
|
||||||
|
* IMPORTING
|
||||||
|
* t_result = <backend> ).
|
||||||
|
*
|
||||||
|
* WHEN OTHERS.
|
||||||
|
* ASSIGN <frontend>->* TO <frontend>.
|
||||||
|
* CASE lv_type_kind.
|
||||||
|
* WHEN 'D' OR 'T'.
|
||||||
|
* z2ui5_cl_fw_utility=>trans_json_2_any(
|
||||||
|
* EXPORTING
|
||||||
|
* val = `"` && <frontend> && `"`
|
||||||
|
* CHANGING
|
||||||
|
* data = <backend> ).
|
||||||
|
*
|
||||||
|
* WHEN OTHERS.
|
||||||
|
* <backend> = <frontend>.
|
||||||
|
* ENDCASE.
|
||||||
|
*
|
||||||
|
* ENDCASE.
|
||||||
|
*
|
||||||
|
* ENDLOOP.
|
||||||
|
|
||||||
|
|
||||||
|
* FIELD-SYMBOLS <model> TYPE any.
|
||||||
|
* FIELD-SYMBOLS <comp> TYPE any.
|
||||||
|
* ASSIGN model->* TO <model>.
|
||||||
|
*
|
||||||
|
* DATA(lt_comp) = z2ui5_cl_fw_utility=>rtti_get_t_comp_by_struc( <model> ).
|
||||||
|
*
|
||||||
|
* LOOP AT lt_comp REFERENCE INTO DATA(lr_comp).
|
||||||
|
*
|
||||||
|
* DATA(lv_name_back) = `MO_APP->` && lr_comp->name.
|
||||||
|
*
|
||||||
|
* FIELD-SYMBOLS <backend> TYPE any.
|
||||||
|
* UNASSIGN <backend>.
|
||||||
|
* ASSIGN (lv_name_back) TO <backend>.
|
||||||
|
* IF sy-subrc <> 0.
|
||||||
|
* RAISE EXCEPTION TYPE z2ui5_cx_fw_error
|
||||||
|
* EXPORTING
|
||||||
|
* val = `NO_BACKEND_VALUE_FOUND_WITH_NAME__` && lv_name_back.
|
||||||
|
* ENDIF.
|
||||||
|
*
|
||||||
|
* DATA(lv_name_front) = `MODEL->` && lr_comp->name.
|
||||||
|
* FIELD-SYMBOLS <frontend> TYPE any.
|
||||||
|
* UNASSIGN <frontend>.
|
||||||
|
* ASSIGN (lv_name_front) TO <frontend>.
|
||||||
|
* IF sy-subrc <> 0.
|
||||||
|
* RAISE EXCEPTION TYPE z2ui5_cx_fw_error
|
||||||
|
* EXPORTING
|
||||||
|
* val = `NO_FRONTEND_VALUE_FOUND_WITH_NAME__` && lv_name_front.
|
||||||
|
* ENDIF.
|
||||||
|
*
|
||||||
|
* DATA(lv_type_kind) = z2ui5_cl_fw_utility=>rtti_get_type_kind( <backend> ).
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* CASE lv_type_kind.
|
||||||
|
*
|
||||||
|
* WHEN `h`.
|
||||||
|
* z2ui5_cl_fw_utility=>trans_ref_tab_2_tab(
|
||||||
|
* EXPORTING
|
||||||
|
* ir_tab_from = <frontend>
|
||||||
|
* IMPORTING
|
||||||
|
* t_result = <backend> ).
|
||||||
|
*
|
||||||
|
* WHEN OTHERS.
|
||||||
|
* ASSIGN <frontend>->* TO <frontend>.
|
||||||
|
* CASE lv_type_kind.
|
||||||
|
* WHEN 'D' OR 'T'.
|
||||||
|
* z2ui5_cl_fw_utility=>trans_json_2_any(
|
||||||
|
* EXPORTING
|
||||||
|
* val = `"` && <frontend> && `"`
|
||||||
|
* CHANGING
|
||||||
|
* data = <backend> ).
|
||||||
|
*
|
||||||
|
* WHEN OTHERS.
|
||||||
|
* <backend> = <frontend>.
|
||||||
|
* ENDCASE.
|
||||||
|
*
|
||||||
|
* ENDCASE.
|
||||||
|
*
|
||||||
|
* ENDLOOP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri)
|
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri)
|
||||||
WHERE bind_type = z2ui5_cl_fw_binding=>cs_bind_type-two_way.
|
WHERE bind_type = z2ui5_cl_fw_binding=>cs_bind_type-two_way.
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -103,6 +237,8 @@ CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
||||||
DATA(lr_view_model) = z2ui5_cl_fw_utility_json=>factory( ).
|
DATA(lr_view_model) = z2ui5_cl_fw_utility_json=>factory( ).
|
||||||
DATA(lo_update) = lr_view_model->add_attribute_object( z2ui5_cl_fw_binding=>cv_model_edit_name ).
|
DATA(lo_update) = lr_view_model->add_attribute_object( z2ui5_cl_fw_binding=>cv_model_edit_name ).
|
||||||
|
|
||||||
|
* DATA(lt_binds) = VALUE z2ui5_if_client=>ty_t_name_value( ).
|
||||||
|
|
||||||
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri) WHERE bind_type <> ``.
|
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri) WHERE bind_type <> ``.
|
||||||
|
|
||||||
IF lr_attri->bind_type = z2ui5_cl_fw_binding=>cs_bind_type-one_time.
|
IF lr_attri->bind_type = z2ui5_cl_fw_binding=>cs_bind_type-one_time.
|
||||||
|
@ -140,12 +276,20 @@ CLASS z2ui5_cl_fw_model IMPLEMENTATION.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
|
|
||||||
lo_actual->add_attribute( n = lr_attri->name_front
|
lo_actual->add_attribute( n = lr_attri->name_front
|
||||||
v = /ui2/cl_json=>serialize( <attribute> )
|
v = z2ui5_cl_fw_utility=>trans_json_any_2( <attribute> )
|
||||||
apos_active = abap_false ).
|
apos_active = abap_false ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
|
* IF lr_attri->bind_type = z2ui5_cl_fw_binding=>cs_bind_type-two_way.
|
||||||
|
* INSERT VALUE #( n = lr_attri->name_front v = lr_attri->name ) INTO TABLE lt_binds.
|
||||||
|
* ENDIF.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
* lo_update->add_attribute( n = `OBINDS`
|
||||||
|
* v = z2ui5_cl_fw_utility=>trans_json_any_2( lt_binds )
|
||||||
|
* apos_active = abap_false ).
|
||||||
|
|
||||||
result = lr_view_model->stringify( ).
|
result = lr_view_model->stringify( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -48,10 +48,6 @@ CLASS z2ui5_cl_fw_utility DEFINITION PUBLIC
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
CLASS-METHODS func_get_uuid_session
|
|
||||||
RETURNING
|
|
||||||
VALUE(result) TYPE string.
|
|
||||||
|
|
||||||
CLASS-METHODS func_get_user_tech
|
CLASS-METHODS func_get_user_tech
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
@ -183,8 +179,6 @@ CLASS z2ui5_cl_fw_utility DEFINITION PUBLIC
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
CLASS-DATA sv_uuid TYPE i.
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
@ -257,13 +251,6 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
|
||||||
result = sy-uname.
|
result = sy-uname.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD func_get_uuid_session.
|
|
||||||
|
|
||||||
sv_uuid = sv_uuid + 1.
|
|
||||||
result = c_trim( CONV string( sv_uuid ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD func_get_uuid_32.
|
METHOD func_get_uuid_32.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -317,10 +304,10 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
|
||||||
ASSERT 1 = 0.
|
ASSERT 1 = 0.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
result = replace( val = result sub = `}` with = `$` occ = 0 ).
|
result = replace( val = result sub = `}` with = `0` occ = 0 ).
|
||||||
result = replace( val = result sub = `{` with = `$` occ = 0 ).
|
result = replace( val = result sub = `{` with = `0` occ = 0 ).
|
||||||
result = replace( val = result sub = `"` with = `$` occ = 0 ).
|
result = replace( val = result sub = `"` with = `0` occ = 0 ).
|
||||||
result = replace( val = result sub = `'` with = `$` occ = 0 ).
|
result = replace( val = result sub = `'` with = `0` occ = 0 ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ CLASS z2ui5_cl_app_hello_world DEFINITION PUBLIC.
|
||||||
DATA quantity TYPE string.
|
DATA quantity TYPE string.
|
||||||
DATA check_initialized TYPE abap_bool.
|
DATA check_initialized TYPE abap_bool.
|
||||||
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -30,7 +31,7 @@ CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
client->view_display( z2ui5_cl_xml_view=>factory( client
|
client->view_display( z2ui5_cl_xml_view=>factory( client
|
||||||
)->shell(
|
* )->shell(
|
||||||
)->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world'
|
)->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world'
|
||||||
)->simple_form( title = 'Hello World'
|
)->simple_form( title = 'Hello World'
|
||||||
editable = abap_true
|
editable = abap_true
|
||||||
|
|
|
@ -163,8 +163,6 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
|
||||||
` setTimeout(() => {` && |\n| &&
|
` setTimeout(() => {` && |\n| &&
|
||||||
` if (sap.z2ui5.checkTimerActive) {` && |\n| &&
|
` if (sap.z2ui5.checkTimerActive) {` && |\n| &&
|
||||||
` let method = sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 0 ];` && |\n| &&
|
` let method = sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 0 ];` && |\n| &&
|
||||||
` // let oEvent = JSON.parse( sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 1 ].split( ')' )[ 0 ].replaceAll( "'" , '"' ) );` && |\n| &&
|
|
||||||
` // let oArgs = sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 1 ].split( ')' )[ 0 ].split( ',' );` && |\n| &&
|
|
||||||
` let oArgs = [];` && |\n| &&
|
` let oArgs = [];` && |\n| &&
|
||||||
` oArgs.push( JSON.parse( (sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 1 ].split( ')' )[ 0 ].split( '}' )[ 0 ] + '}').replaceAll( "'" , '"' ) ) );` && |\n| &&
|
` oArgs.push( JSON.parse( (sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 1 ].split( ')' )[ 0 ].split( '}' )[ 0 ] + '}').replaceAll( "'" , '"' ) ) );` && |\n| &&
|
||||||
` let oArgsPara = sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 1 ].split( ')' )[ 0 ].split( '}' )[ 1 ].split( ',' ).slice(1);` && |\n| &&
|
` let oArgsPara = sap.z2ui5.oResponse.PARAMS.S_TIMER.EVENT_FINISHED.split( '(' )[ 1 ].split( ')' )[ 0 ].split( '}' )[ 1 ].split( ',' ).slice(1);` && |\n| &&
|
||||||
|
@ -258,7 +256,6 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
|
||||||
` } }` && |\n| &&
|
` } }` && |\n| &&
|
||||||
` if (isUpdated == false){` && |\n| &&
|
` if (isUpdated == false){` && |\n| &&
|
||||||
` sap.z2ui5.oBody.EDIT = sap.z2ui5.oView.getModel().getData().EDIT;` && |\n| &&
|
` sap.z2ui5.oBody.EDIT = sap.z2ui5.oView.getModel().getData().EDIT;` && |\n| &&
|
||||||
` // sap.z2ui5.oBody.EDIT = sap.z2ui5.oLastView.getModel().getData().EDIT;` && |\n| &&
|
|
||||||
` }` && |\n| &&
|
` }` && |\n| &&
|
||||||
|\n| &&
|
|\n| &&
|
||||||
` if (args[ 0 ].CHECK_VIEW_DESTROY){` && |\n| &&
|
` if (args[ 0 ].CHECK_VIEW_DESTROY){` && |\n| &&
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
CLASS z2ui5_cl_xml_view DEFINITION
|
CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
FINAL
|
FINAL
|
||||||
CREATE PROTECTED.
|
CREATE PROTECTED.
|
||||||
|
|
|
@ -151,6 +151,10 @@ INTERFACE z2ui5_if_client
|
||||||
interval_ms TYPE clike
|
interval_ms TYPE clike
|
||||||
event_finished TYPE clike.
|
event_finished TYPE clike.
|
||||||
|
|
||||||
|
METHODS title_set
|
||||||
|
IMPORTING
|
||||||
|
val type clike.
|
||||||
|
|
||||||
METHODS message_toast_display
|
METHODS message_toast_display
|
||||||
IMPORTING
|
IMPORTING
|
||||||
text TYPE string.
|
text TYPE string.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user