mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 19:16:15 +08:00
add sap.m.Tree & sap.m.StandardTreeItem (#378)
* add sap.m.Tree & sap.m.StandardTreeItem * add recursive table handling * add recursive table handling 2 * abaplint fix Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> * abaplint fix Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --------- Co-authored-by: Daniel Wegner <daniel.wegner@objective-partner.com> Co-authored-by: oblomov <102328295+oblomov-dev@users.noreply.github.com> Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
This commit is contained in:
parent
29b7ea5367
commit
2ab226100c
|
@ -12,7 +12,7 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
data_rtti TYPE string,
|
||||
check_ref_data TYPE abap_bool,
|
||||
END OF ty_attri.
|
||||
TYPES ty_T_attri TYPE STANDARD TABLE OF ty_attri WITH EMPTY KEY.
|
||||
TYPES ty_t_attri TYPE STANDARD TABLE OF ty_attri WITH EMPTY KEY.
|
||||
|
||||
DATA:
|
||||
BEGIN OF ms_error,
|
||||
|
@ -201,7 +201,7 @@ CLASS z2ui5_lcl_fw_handler DEFINITION.
|
|||
END OF cs_bind_type.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_S_next2,
|
||||
BEGIN OF ty_s_next2,
|
||||
t_scroll TYPE z2ui5_if_client=>ty_t_name_value,
|
||||
title TYPE string,
|
||||
search TYPE string,
|
||||
|
@ -269,7 +269,7 @@ CLASS z2ui5_lcl_fw_handler DEFINITION.
|
|||
BEGIN OF ty_s_next,
|
||||
o_app_call TYPE REF TO z2ui5_if_app,
|
||||
o_app_leave TYPE REF TO z2ui5_if_app,
|
||||
s_set TYPE ty_S_next2,
|
||||
s_set TYPE ty_s_next2,
|
||||
END OF ty_s_next.
|
||||
|
||||
DATA ms_actual TYPE z2ui5_if_client=>ty_s_get.
|
||||
|
@ -622,7 +622,13 @@ CLASS z2ui5_lcl_utility IMPLEMENTATION.
|
|||
|
||||
ASSIGN <comp_ui5>->* TO FIELD-SYMBOL(<ls_data_ui5>).
|
||||
IF sy-subrc = 0.
|
||||
<comp> = <ls_data_ui5>.
|
||||
CASE ls_comp-type->kind.
|
||||
WHEN cl_abap_typedescr=>kind_table.
|
||||
trans_ref_tab_2_tab( EXPORTING ir_tab_from = <comp_ui5>
|
||||
IMPORTING t_result = <comp> ).
|
||||
WHEN OTHERS.
|
||||
<comp> = <ls_data_ui5>.
|
||||
ENDCASE.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
|
@ -1290,7 +1296,7 @@ CLASS z2ui5_lcl_fw_db IMPLEMENTATION.
|
|||
|
||||
METHOD cleanup.
|
||||
|
||||
data(lv_timestampl) = z2ui5_lcl_utility=>get_timestampl( ).
|
||||
DATA(lv_timestampl) = z2ui5_lcl_utility=>get_timestampl( ).
|
||||
DATA(lv_ts_four_hours_ago) = cl_abap_tstmp=>subtractsecs( tstmp = lv_timestampl
|
||||
secs = 60 * 60 * 4 ).
|
||||
|
||||
|
@ -1371,9 +1377,9 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
|
|||
CATCH cx_root.
|
||||
ENDTRY.
|
||||
|
||||
IF ss_config-search CS `scenario=LAUNCHPAD`.
|
||||
result->ms_actual-check_launchpad_active = abap_true.
|
||||
ENDIF.
|
||||
IF ss_config-search CS `scenario=LAUNCHPAD`.
|
||||
result->ms_actual-check_launchpad_active = abap_true.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -1393,10 +1399,10 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
|
|||
* DATA(lv_q) = z2ui5_lcl_utility=>get_param( `q` ).
|
||||
* DATA(lv_app) = to_lower( z2ui5_lcl_utility=>get_classname_by_ref( ms_db-o_app ) ).
|
||||
|
||||
IF ms_next-S_set-search IS INITIAL.
|
||||
IF ms_next-s_set-search IS INITIAL.
|
||||
lo_resp->add_attribute( n = `SEARCH` v = ms_actual-s_config-search ).
|
||||
ELSE.
|
||||
lo_resp->add_attribute( n = `SEARCH` v = ms_next-S_set-search ).
|
||||
lo_resp->add_attribute( n = `SEARCH` v = ms_next-s_set-search ).
|
||||
ENDIF.
|
||||
|
||||
result = lo_resp->get_root( )->stringify( ).
|
||||
|
@ -1690,7 +1696,7 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
|
|||
r_result->ms_actual-check_launchpad_active = ms_actual-check_launchpad_active.
|
||||
r_result->ms_actual-check_on_navigated = abap_true.
|
||||
|
||||
r_result->ms_next-s_Set = ms_next-s_set.
|
||||
r_result->ms_next-s_set = ms_next-s_set.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -1724,7 +1730,7 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION.
|
|||
check_launchpad_active = mo_handler->ms_actual-check_launchpad_active
|
||||
t_event_arg = mo_handler->ms_actual-t_event_arg
|
||||
t_scroll_pos = mo_handler->ms_actual-t_scroll_pos
|
||||
s_DRAFT = CORRESPONDING #( mo_handler->ms_db )
|
||||
s_draft = CORRESPONDING #( mo_handler->ms_db )
|
||||
check_on_navigated = mo_handler->ms_actual-check_on_navigated
|
||||
s_config = z2ui5_lcl_fw_handler=>ss_config ).
|
||||
result-s_draft-app = mo_handler->ms_db-o_app.
|
||||
|
|
|
@ -1243,6 +1243,28 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
|||
!press TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||
METHODS tree
|
||||
IMPORTING
|
||||
!items TYPE clike OPTIONAL
|
||||
!headerText TYPE clike OPTIONAL
|
||||
!footerText TYPE clike OPTIONAL
|
||||
!mode TYPE clike OPTIONAL
|
||||
!includeItemInSelection TYPE abap_bool OPTIONAL
|
||||
!inset TYPE abap_bool OPTIONAL
|
||||
!width TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||
METHODS standard_tree_item
|
||||
IMPORTING
|
||||
!title TYPE clike OPTIONAL
|
||||
!icon TYPE clike OPTIONAL
|
||||
!press TYPE clike OPTIONAL
|
||||
!detailPress TYPE clike OPTIONAL
|
||||
!type TYPE clike OPTIONAL
|
||||
!selected TYPE clike OPTIONAL
|
||||
!counter TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA mv_name TYPE string.
|
||||
|
@ -1276,7 +1298,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
|
||||
METHOD appointments.
|
||||
result = _generic( name = `appointments` ).
|
||||
result = _generic( name = `appointments` ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -1752,33 +1774,33 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
|
||||
METHOD filter_bar.
|
||||
result = _generic( name = `FilterBar`
|
||||
ns = 'fb'
|
||||
t_prop = VALUE #( ( n = 'useToolbar' v = usetoolbar )
|
||||
( n = 'search' v = search )
|
||||
( n = 'filterChange' v = filterchange ) ) ).
|
||||
result = _generic( name = `FilterBar`
|
||||
ns = 'fb'
|
||||
t_prop = VALUE #( ( n = 'useToolbar' v = usetoolbar )
|
||||
( n = 'search' v = search )
|
||||
( n = 'filterChange' v = filterchange ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD filter_control.
|
||||
result = _generic( name = `control`
|
||||
ns = 'fb' ).
|
||||
ns = 'fb' ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD filter_group_item.
|
||||
result = _generic( name = `FilterGroupItem`
|
||||
ns = 'fb'
|
||||
t_prop = VALUE #( ( n = 'name' v = name )
|
||||
( n = 'label' v = label )
|
||||
( n = 'groupName' v = groupname )
|
||||
( n = 'visibleInFilterBar' v = visibleinfilterbar ) ) ).
|
||||
result = _generic( name = `FilterGroupItem`
|
||||
ns = 'fb'
|
||||
t_prop = VALUE #( ( n = 'name' v = name )
|
||||
( n = 'label' v = label )
|
||||
( n = 'groupName' v = groupname )
|
||||
( n = 'visibleInFilterBar' v = visibleinfilterbar ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD filter_group_items.
|
||||
result = _generic( name = `filterGroupItems`
|
||||
ns = 'fb' ).
|
||||
ns = 'fb' ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -1828,7 +1850,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
METHOD formatted_text.
|
||||
result = me.
|
||||
_generic( name = `FormattedText`
|
||||
t_prop = VALUE #( ( n = `htmlText` v = htmltext ) ) ).
|
||||
t_prop = VALUE #( ( n = `htmlText` v = htmltext ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -1836,14 +1858,14 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
result = me.
|
||||
_generic(
|
||||
name = `GenericTile`
|
||||
ns = ``
|
||||
t_prop = VALUE #(
|
||||
( n = `class` v = class )
|
||||
( n = `header` v = header )
|
||||
( n = `press` v = press )
|
||||
( n = `frameType` v = frametype )
|
||||
( n = `subheader` v = subheader ) ) ).
|
||||
name = `GenericTile`
|
||||
ns = ``
|
||||
t_prop = VALUE #(
|
||||
( n = `class` v = class )
|
||||
( n = `header` v = header )
|
||||
( n = `press` v = press )
|
||||
( n = `frameType` v = frametype )
|
||||
( n = `subheader` v = subheader ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -1890,7 +1912,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
result = me.
|
||||
_generic( name = `GridData`
|
||||
ns = `layout`
|
||||
t_prop = VALUE #( ( n = `span` v = span ) ) ).
|
||||
t_prop = VALUE #( ( n = `span` v = span ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -1971,10 +1993,10 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
DATA(ls_config) = mo_root->mi_client->get( )-s_config.
|
||||
|
||||
result = lcl_utility=>get_replace(
|
||||
iv_val = xml
|
||||
iv_begin = 'controllerName="'
|
||||
iv_end = '"'
|
||||
iv_replace = `controllerName="` && ls_config-controller_name && `"` ).
|
||||
iv_val = xml
|
||||
iv_begin = 'controllerName="'
|
||||
iv_end = '"'
|
||||
iv_replace = `controllerName="` && ls_config-controller_name && `"` ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -2029,12 +2051,12 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
result = _generic( name = `IllustratedMessage`
|
||||
t_prop = VALUE #( ( n = `enableVerticalResponsiveness` v = enableVerticalResponsiveness )
|
||||
( n = `illustrationType` v = illustrationType )
|
||||
( n = `enableFormattedText` v = lcl_utility=>get_json_boolean( enableFormattedText ) )
|
||||
( n = `illustrationSize` v = illustrationSize )
|
||||
( n = `description` v = description )
|
||||
( n = `title` v = title )
|
||||
) ).
|
||||
( n = `illustrationType` v = illustrationType )
|
||||
( n = `enableFormattedText` v = lcl_utility=>get_json_boolean( enableFormattedText ) )
|
||||
( n = `illustrationSize` v = illustrationSize )
|
||||
( n = `description` v = description )
|
||||
( n = `title` v = title )
|
||||
) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -2076,7 +2098,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
METHOD input_list_item.
|
||||
result = _generic( name = `InputListItem`
|
||||
t_prop = VALUE #( ( n = `label` v = label ) ) ).
|
||||
t_prop = VALUE #( ( n = `label` v = label ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -2149,7 +2171,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
|
||||
METHOD intervalheaders.
|
||||
result = _generic( name = `intervalHeaders` ).
|
||||
result = _generic( name = `intervalHeaders` ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -2272,9 +2294,9 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
METHOD mid_column_pages.
|
||||
|
||||
result = _generic( name = `midColumnPages`
|
||||
ns = `f`
|
||||
t_prop = VALUE #( ( n = `id` v = id ) ) ).
|
||||
result = _generic( name = `midColumnPages`
|
||||
ns = `f`
|
||||
t_prop = VALUE #( ( n = `id` v = id ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -2526,15 +2548,15 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
METHOD radio_button_group.
|
||||
result = _generic( name = `RadioButtonGroup`
|
||||
t_prop = VALUE #( ( n = `id` v = id )
|
||||
( n = `columns` v = columns )
|
||||
( n = `editable` v = lcl_utility=>get_json_boolean( editable ) )
|
||||
( n = `enabled` v = lcl_utility=>get_json_boolean( enabled ) )
|
||||
( n = `selectedIndex` v = selectedIndex )
|
||||
( n = `textDirection` v = textDirection )
|
||||
( n = `valueState` v = valueState )
|
||||
( n = `width` v = width )
|
||||
) ).
|
||||
t_prop = VALUE #( ( n = `id` v = id )
|
||||
( n = `columns` v = columns )
|
||||
( n = `editable` v = lcl_utility=>get_json_boolean( editable ) )
|
||||
( n = `enabled` v = lcl_utility=>get_json_boolean( enabled ) )
|
||||
( n = `selectedIndex` v = selectedIndex )
|
||||
( n = `textDirection` v = textDirection )
|
||||
( n = `valueState` v = valueState )
|
||||
( n = `width` v = width )
|
||||
) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -2556,7 +2578,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
|
||||
METHOD rows.
|
||||
result = _generic( name = `rows` ).
|
||||
result = _generic( name = `rows` ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -2774,6 +2796,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
METHOD tilecontent.
|
||||
|
||||
|
||||
result = _generic( name = `TileContent`
|
||||
ns = ``
|
||||
t_prop = VALUE #(
|
||||
|
@ -2865,7 +2888,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
METHOD tree_columns.
|
||||
|
||||
result = _generic( name = `columns`
|
||||
ns = `table` ).
|
||||
ns = `table` ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -2889,7 +2912,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
METHOD tree_template.
|
||||
|
||||
result = _generic( name = `template`
|
||||
ns = `table` ).
|
||||
ns = `table` ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -2907,21 +2930,21 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
|
||||
METHOD ui_columns.
|
||||
result = _generic( name = `columns`
|
||||
ns = 'table' ).
|
||||
result = _generic( name = `columns`
|
||||
ns = 'table' ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD ui_extension.
|
||||
|
||||
result = _generic( name = `extension`
|
||||
ns = 'table' ).
|
||||
result = _generic( name = `extension`
|
||||
ns = 'table' ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD ui_row_action.
|
||||
result = _generic( name = `RowAction`
|
||||
ns = `table` ).
|
||||
result = _generic( name = `RowAction`
|
||||
ns = `table` ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -2981,8 +3004,8 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
METHOD ui_template.
|
||||
|
||||
result = _generic( name = `template`
|
||||
ns = 'table' ).
|
||||
result = _generic( name = `template`
|
||||
ns = 'table' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -3063,6 +3086,32 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD tree.
|
||||
result = _generic( name = `Tree`
|
||||
t_prop = VALUE #(
|
||||
( n = `items` v = items )
|
||||
( n = `headerText` v = headertext )
|
||||
( n = `footerText` v = footerText )
|
||||
( n = `mode` v = mode )
|
||||
( n = `width` v = width )
|
||||
( n = `includeItemInSelection` v = lcl_utility=>get_json_boolean( includeItemInSelection ) )
|
||||
( n = `inset` v = lcl_utility=>get_json_boolean( inset ) )
|
||||
) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD standard_tree_item.
|
||||
result = me.
|
||||
_generic( name = `StandardTreeItem`
|
||||
t_prop = VALUE #( ( n = `title` v = title )
|
||||
( n = `icon` v = icon )
|
||||
( n = `press` v = press )
|
||||
( n = `detailPress` v = detailPress )
|
||||
( n = `type` v = type )
|
||||
( n = `counter` v = counter )
|
||||
( n = `selected` v = selected ) ) ).
|
||||
|
||||
endmethod.
|
||||
|
||||
METHOD numericcontent.
|
||||
|
||||
result = _generic( name = `NumericContent`
|
||||
|
|
Loading…
Reference in New Issue
Block a user