From 0d3cd4b8896b78bf690b110cb2b1a4d91484ef82 Mon Sep 17 00:00:00 2001 From: oblomov <102328295+oblomov-dev@users.noreply.github.com> Date: Fri, 24 Mar 2023 14:57:31 +0100 Subject: [PATCH] replace sap.ui.table with sap.m.table (#126) * css styles * index.html * refactoring * replace sap.ui.table with sap.m.table * update (#125) * css, design and repo url (#124) * css styles * index.html * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * abaplint issues * abaplint issues --- src/00/z2ui5_cl_app_demo_13.clas.abap | 67 +++++++++---------- src/00/z2ui5_cl_app_demo_14.clas.abap | 17 +++-- src/00/z2ui5_cl_app_demo_14.clas.xml | 2 +- src/00/z2ui5_cl_app_demo_16.clas.abap | 13 ++-- ...z2ui5_cl_http_handler.clas.locals_imp.abap | 58 ++-------------- src/z2ui5_if_view.intf.abap | 40 +++-------- 6 files changed, 63 insertions(+), 134 deletions(-) diff --git a/src/00/z2ui5_cl_app_demo_13.clas.abap b/src/00/z2ui5_cl_app_demo_13.clas.abap index 54cab434..904b59c3 100644 --- a/src/00/z2ui5_cl_app_demo_13.clas.abap +++ b/src/00/z2ui5_cl_app_demo_13.clas.abap @@ -6,6 +6,7 @@ CLASS z2ui5_cl_app_demo_13 DEFINITION PUBLIC. TYPES: BEGIN OF ty_s_spfli, + selkz TYPE abap_bool, carrid TYPE c LENGTH 3, connid TYPE n LENGTH 4, countryfr TYPE c LENGTH 3, @@ -35,7 +36,6 @@ CLASS z2ui5_cl_app_demo_13 DEFINITION PUBLIC. DATA: BEGIN OF ms_edit, t_table TYPE ty_t_table, - delete_index TYPE i, check_active TYPE abap_bool, END OF ms_edit. @@ -67,7 +67,7 @@ ENDCLASS. -CLASS Z2UI5_CL_APP_DEMO_13 IMPLEMENTATION. +CLASS z2ui5_cl_app_demo_13 IMPLEMENTATION. METHOD z2ui5_if_app~controller. @@ -135,7 +135,7 @@ CLASS Z2UI5_CL_APP_DEMO_13 IMPLEMENTATION. client->popup_message_box( 'Table data saved to database successfully' ). WHEN 'EDIT_ROW_DELETE'. - DELETE ms_edit-t_table INDEX ms_edit-delete_index + 1. + " DELETE ms_edit-t_table INDEX ms_edit-delete_index + 1. WHEN 'EDIT_CHANGE_MODE'. ms_edit-check_active = xsdbool( ms_edit-check_active = abap_false ). @@ -254,47 +254,44 @@ CLASS Z2UI5_CL_APP_DEMO_13 IMPLEMENTATION. )->label( 'Table' )->input( 'SPFLI' ). - DATA(table) = grid->ui_table( - rows = client->_bind( ms_edit-t_table ) - selectionmode = 'Single' - selectedindex = client->_bind( ms_edit-delete_index ) ). + DATA(cont) = grid->simple_form( )->content( 'f' ). - table->ui_extension( - )->overflow_toolbar( - )->toolbar_spacer( - )->button( - text = 'Reload' - icon = 'sap-icon://refresh' - press = client->_event( 'EDIT_DB_READ' ) - )->button( - text = 'Delete Row' - icon = 'sap-icon://delete' - press = client->_event( 'EDIT_ROW_DELETE' ) - )->button( - text = 'Add Row' - icon = 'sap-icon://add' - press = client->_event( 'EDIT_ROW_ADD' ) ). + cont->overflow_toolbar( + )->button( + text = 'Reload' + icon = 'sap-icon://refresh' + press = client->_event( 'EDIT_DB_READ' ) + )->toolbar_spacer( + )->button( + text = 'Delete Row' + icon = 'sap-icon://delete' + press = client->_event( 'EDIT_ROW_DELETE' ) + )->button( + text = 'Add Row' + icon = 'sap-icon://add' + press = client->_event( 'EDIT_ROW_ADD' ) ). + + DATA(scroll) = cont->scroll_container( vertical = abap_true horizontal = abap_true ). + + DATA(tab) = scroll->table( + width = '100rem' + items = client->_bind( ms_edit-t_table ) + mode = 'MultiSelect' ). - DATA(columns) = table->ui_columns( ). DATA(lt_fields) = lcl_db=>get_fieldlist_by_table( ms_edit-t_table ). - LOOP AT lt_fields INTO DATA(lv_field). - DATA(templ) = columns->ui_column( )->label( lv_field )->ui_template( ). - - IF ms_edit-check_active = abap_true. - templ->input( `{` && lv_field && `}` ). - ELSE. - templ->text( `{` && lv_field && `}` ). - ENDIF. + DATA(lo_columns) = tab->columns( ). + LOOP AT lt_fields INTO DATA(lv_field) FROM 2. + lo_columns->column( )->text( lv_field ). + ENDLOOP. + DATA(lo_cells) = tab->items( )->column_list_item( selected = '{SELKZ}' )->cells( ). + LOOP AT lt_fields INTO lv_field FROM 2. + lo_cells->input( `{` && lv_field && `}` ). ENDLOOP. page->footer( )->overflow_toolbar( - )->button( - text = 'Edit' - press = client->_event( 'EDIT_CHANGE_MODE' ) - icon = 'sap-icon://edit' )->toolbar_spacer( )->button( text = 'Save' diff --git a/src/00/z2ui5_cl_app_demo_14.clas.abap b/src/00/z2ui5_cl_app_demo_14.clas.abap index 59f632ab..0123caa0 100644 --- a/src/00/z2ui5_cl_app_demo_14.clas.abap +++ b/src/00/z2ui5_cl_app_demo_14.clas.abap @@ -16,7 +16,7 @@ ENDCLASS. -CLASS Z2UI5_CL_APP_DEMO_14 IMPLEMENTATION. +CLASS z2ui5_cl_app_demo_14 IMPLEMENTATION. METHOD z2ui5_if_app~controller. @@ -60,13 +60,14 @@ CLASS Z2UI5_CL_APP_DEMO_14 IMPLEMENTATION. WHEN client->cs-lifecycle_method-on_rendering. - DATA(view) = client->factory_view( 'VIEW_INPUT' ). - DATA(page) = view->page( title = 'abap2UI5 - MIME Editor' navbuttonpress = client->_event( 'BACK' ) ). + DATA(page) = client->factory_view( 'VIEW_INPUT' + )->page( title = 'abap2UI5 - MIME Editor' navbuttonpress = client->_event( 'BACK' ) + )->header_content( + )->link( text = 'Demo' href = 'https://twitter.com/OblomovDev/status/1631562906570575875' + )->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code + )->get_parent( ). - page->header_content( )->link( text = 'Demo' href = 'https://twitter.com/OblomovDev/status/1631562906570575875' - )->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code ). - - DATA(grid) = page->grid( 'L12 M12 S12' )->content( 'l' ). + DATA(grid) = page->grid( 'L7 M7 S7' )->content( 'l' ). grid->simple_form( 'File' )->content( 'f' )->label( 'path' @@ -83,6 +84,8 @@ CLASS Z2UI5_CL_APP_DEMO_14 IMPLEMENTATION. press = client->_event( 'DB_LOAD' ) icon = 'sap-icon://download-from-cloud' ). + grid = page->grid( 'L12 M12 S12' )->content( 'l' ). + grid->simple_form( 'Editor' )->content( 'f' )->scroll_container( '75%' )->code_editor( diff --git a/src/00/z2ui5_cl_app_demo_14.clas.xml b/src/00/z2ui5_cl_app_demo_14.clas.xml index c07f1d19..4da649c9 100644 --- a/src/00/z2ui5_cl_app_demo_14.clas.xml +++ b/src/00/z2ui5_cl_app_demo_14.clas.xml @@ -5,7 +5,7 @@ Z2UI5_CL_APP_DEMO_14 E - demo - code/mime editor + demo - mime editor 1 X X diff --git a/src/00/z2ui5_cl_app_demo_16.clas.abap b/src/00/z2ui5_cl_app_demo_16.clas.abap index 3fbb1114..534fd983 100644 --- a/src/00/z2ui5_cl_app_demo_16.clas.abap +++ b/src/00/z2ui5_cl_app_demo_16.clas.abap @@ -94,13 +94,14 @@ CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION. WHEN client->cs-lifecycle_method-on_rendering. - DATA(view) = client->factory_view( 'VIEW_INPUT' ). - DATA(page) = view->page( title = 'abap2UI5 - Visualization' navbuttonpress = client->_event( 'BACK' ) ). - page->header_content( - ")->link( text = 'Demo' href = `https://twitter.com/OblomovDev/status/1634206964291911682` - )->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code ). + DATA(container) = client->factory_view( 'VIEW_INPUT' + )->page( title = 'abap2UI5 - Visualization' navbuttonpress = client->_event( 'BACK' ) + )->header_content( + )->link( text = 'Demo' href = `https://twitter.com/OblomovDev/status/1639191954285113344` + )->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code + )->get_parent( + )->tab_container( ). - DATA(container) = page->tab_container( ). render_tab_donut( client = client container = container ). render_tab_bar( client = client container = container ). render_tab_line( client = client container = container ). diff --git a/src/z2ui5_cl_http_handler.clas.locals_imp.abap b/src/z2ui5_cl_http_handler.clas.locals_imp.abap index 5a18d348..26da22d2 100644 --- a/src/z2ui5_cl_http_handler.clas.locals_imp.abap +++ b/src/z2ui5_cl_http_handler.clas.locals_imp.abap @@ -1710,6 +1710,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION. ( n = `growingScrollToLoad` v = growingscrolltoload ) ( n = `sticky` v = sticky ) ( n = `mode` v = mode ) + ( n = `width` v = width ) ) ). ENDMETHOD. @@ -1774,10 +1775,11 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION. result = _generic( name = `ScrollContainer` t_prop = VALUE #( - ( n = `height` v = height ) + ( n = `height` v = height ) ( n = `width` v = width ) - ( n = `vertical` v = `true` ) - ( n = `focusable` v = `true` ) + ( n = `vertical` v = _=>get_json_boolean( vertical ) ) + ( n = `horizontal` v = _=>get_json_boolean( horizontal ) ) + ( n = `focusable` v = _=>get_json_boolean( focusable ) ) ) ). ENDMETHOD. @@ -1935,56 +1937,6 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_if_view~ui_column. - - result = _generic( - name = `Column` - ns = `ui` - t_prop = VALUE #( - ( n = `width` v = width ) - ) ). - - ENDMETHOD. - - METHOD z2ui5_if_view~ui_columns. - - result = _generic( - name = `columns` - ns = `ui` ). - - ENDMETHOD. - - METHOD z2ui5_if_view~ui_extension. - - result = _generic( - name = `extension` - ns = `ui` ). - - ENDMETHOD. - - METHOD z2ui5_if_view~ui_table. - - result = _generic( - name = `Table` - ns = `ui` - t_prop = VALUE #( - ( n = `rows` v = rows ) - ( n = `selectionMode` v = selectionmode ) - ( n = `visibleRowCount` v = visiblerowcount ) - ( n = `selectedIndex` v = selectedindex ) - ) ). - - ENDMETHOD. - - METHOD z2ui5_if_view~ui_template. - - result = _generic( - name = `template` - ns = `ui` - ). - - ENDMETHOD. - METHOD z2ui5_if_view~flex_box. diff --git a/src/z2ui5_if_view.intf.abap b/src/z2ui5_if_view.intf.abap index 13d1c241..f1b56475 100644 --- a/src/z2ui5_if_view.intf.abap +++ b/src/z2ui5_if_view.intf.abap @@ -4,7 +4,6 @@ INTERFACE z2ui5_if_view CONSTANTS: BEGIN OF cs, BEGIN OF lifecycle_method, -* on_init TYPE string VALUE 'INIT', on_event TYPE string VALUE 'EVENT', on_rendering TYPE string VALUE 'RENDERING', END OF lifecycle_method, @@ -118,33 +117,6 @@ INTERFACE z2ui5_if_view RETURNING VALUE(result) TYPE REF TO z2ui5_if_view. - METHODS ui_table - IMPORTING - rows TYPE clike OPTIONAL - selectionmode TYPE clike OPTIONAL - visiblerowcount TYPE clike OPTIONAL - selectedindex TYPE clike OPTIONAL - RETURNING - VALUE(result) TYPE REF TO z2ui5_if_view. - - METHODS ui_extension - RETURNING - VALUE(result) TYPE REF TO z2ui5_if_view. - - METHODS ui_columns - RETURNING - VALUE(result) TYPE REF TO z2ui5_if_view. - - METHODS ui_column - IMPORTING - width TYPE clike DEFAULT '11rem' - RETURNING - VALUE(result) TYPE REF TO z2ui5_if_view. - - METHODS ui_template - RETURNING - VALUE(result) TYPE REF TO z2ui5_if_view. - METHODS table IMPORTING items TYPE clike OPTIONAL @@ -154,6 +126,7 @@ INTERFACE z2ui5_if_view headertext TYPE clike OPTIONAL sticky TYPE clike OPTIONAL mode TYPE clike OPTIONAL + width TYPE clike OPTIONAL PREFERRED PARAMETER items RETURNING VALUE(result) TYPE REF TO z2ui5_if_view. @@ -170,7 +143,7 @@ INTERFACE z2ui5_if_view stretch TYPE clike OPTIONAL contentheight TYPE clike OPTIONAL contentwidth TYPE clike OPTIONAL - PREFERRED PARAMETER title + PREFERRED PARAMETER title RETURNING VALUE(result) TYPE REF TO z2ui5_if_view. @@ -301,7 +274,7 @@ INTERFACE z2ui5_if_view METHODS column_list_item IMPORTING - valign TYPE clike DEFAULT 'Middle' + valign TYPE clike OPTIONAL selected TYPE clike OPTIONAL RETURNING VALUE(result) TYPE REF TO z2ui5_if_view. @@ -376,8 +349,11 @@ INTERFACE z2ui5_if_view METHODS scroll_container IMPORTING - height TYPE clike DEFAULT '100%' - width TYPE clike DEFAULT '100%' + height TYPE clike OPTIONAL + width TYPE clike OPTIONAL + vertical TYPE clike OPTIONAL + horizontal TYPE clike OPTIONAL + focusable TYPE clike OPTIONAL PREFERRED PARAMETER height RETURNING VALUE(result) TYPE REF TO z2ui5_if_view.