From defffbf283349579273547c9195ae6b884fa830c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 8 Apr 2026 15:18:11 +0000 Subject: [PATCH 1/2] Refactor samples 011-020 to app guidelines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove mv_/mo_ prefixes from all DATA attributes - Move client and helper methods from PUBLIC to PROTECTED section - Rename method names: set_view→view_display, z2ui5_on_*→on_*, render_tab_*→view_display, ui5_*→clean names - Replace single quotes with backticks for all string literals - Fix blank lines in class definitions and method bodies per coding conventions - Use IF/ELSEIF lifecycle chain instead of IF/RETURN + CASE patterns - Use inline check_on_event for ≤3 events, CASE for ≥4 events - Extract view_display for apps where main() would exceed 50 lines - Rename ty_row→ty_s_row, ty_chart→ty_s_chart, add ty_t_rows where used twice - Replace && concatenation with string templates where variables are embedded - Always use client->check_app_prev_stack() for shownavbutton https://claude.ai/code/session_01HH52uVT6bQkXiuRChb1pz7 --- src/z2ui5_cl_demo_app_011.clas.abap | 141 +++++----- src/z2ui5_cl_demo_app_012.clas.abap | 233 ++++++++-------- src/z2ui5_cl_demo_app_013.clas.abap | 251 +++++++++--------- src/z2ui5_cl_demo_app_014.clas.abap | 248 +++++++++-------- src/z2ui5_cl_demo_app_015.clas.abap | 38 ++- src/z2ui5_cl_demo_app_016.clas.abap | 158 +++++------ src/z2ui5_cl_demo_app_017.clas.abap | 246 ++++++++--------- ...z2ui5_cl_demo_app_017.clas.locals_imp.abap | 1 - src/z2ui5_cl_demo_app_018.clas.abap | 183 ++++++------- src/z2ui5_cl_demo_app_019.clas.abap | 133 +++++----- src/z2ui5_cl_demo_app_020.clas.abap | 53 ++-- 11 files changed, 835 insertions(+), 850 deletions(-) diff --git a/src/z2ui5_cl_demo_app_011.clas.abap b/src/z2ui5_cl_demo_app_011.clas.abap index 1df42299..7318e697 100644 --- a/src/z2ui5_cl_demo_app_011.clas.abap +++ b/src/z2ui5_cl_demo_app_011.clas.abap @@ -1,11 +1,10 @@ CLASS z2ui5_cl_demo_app_011 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: - BEGIN OF ty_row, + BEGIN OF ty_s_row, selkz TYPE abap_bool, title TYPE string, value TYPE string, @@ -14,83 +13,85 @@ CLASS z2ui5_cl_demo_app_011 DEFINITION PUBLIC. info TYPE string, editable TYPE abap_bool, checkbox TYPE abap_bool, - END OF ty_row. - - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + END OF ty_s_row. + DATA t_tab TYPE STANDARD TABLE OF ty_s_row WITH EMPTY KEY. DATA check_editable_active TYPE abap_bool. - PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. - METHODS set_view. + METHODS view_display. + PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_011 IMPLEMENTATION. - - METHOD set_view. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( )->page( - title = 'abap2UI5 - Tables and editable' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = abap_true - id = `test2` ). + title = `abap2UI5 - Tables and editable` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) + id = `test2` ). DATA(tab) = page->table( - items = `{path: '` && client->_bind_edit( val = t_tab path = abap_true ) && `' , templateShareable: false }` - mode = 'MultiSelect' + items = |\{path: '{ client->_bind_edit( val = t_tab path = abap_true ) }', templateShareable: false\}| + mode = `MultiSelect` )->header_toolbar( )->overflow_toolbar( - )->title( 'title of the table' + )->title( `title of the table` )->button( - text = 'test' - press = client->_event( 'BUTTON_TEST' ) + text = `test` + press = client->_event( `BUTTON_TEST` ) )->toolbar_spacer( )->button( - icon = 'sap-icon://delete' - text = 'delete selected row' - press = client->_event( 'BUTTON_DELETE' ) + icon = `sap-icon://delete` + text = `delete selected row` + press = client->_event( `BUTTON_DELETE` ) )->button( - icon = 'sap-icon://add' - text = 'add' - press = client->_event( 'BUTTON_ADD' ) + icon = `sap-icon://add` + text = `add` + press = client->_event( `BUTTON_ADD` ) )->button( - icon = 'sap-icon://edit' - text = SWITCH #( check_editable_active WHEN abap_true THEN |display| ELSE |edit| ) - press = client->_event( 'BUTTON_EDIT' ) + icon = `sap-icon://edit` + text = SWITCH #( check_editable_active WHEN abap_true THEN `display` ELSE `edit` ) + press = client->_event( `BUTTON_EDIT` ) )->get_parent( )->get_parent( ). tab->columns( )->column( - )->text( 'Title' )->get_parent( + )->text( `Title` )->get_parent( )->column( - )->text( 'Color' )->get_parent( + )->text( `Color` )->get_parent( )->column( - )->text( 'Info' )->get_parent( + )->text( `Info` )->get_parent( )->column( - )->text( 'Description' )->get_parent( + )->text( `Description` )->get_parent( )->column( - )->text( 'Checkbox' ). - - tab->items( )->column_list_item( selected = '{SELKZ}' - )->cells( - )->input( value = '{TITLE}' - enabled = `{EDITABLE}` - id = `test` - )->input( value = '{VALUE}' - enabled = `{EDITABLE}` - )->input( value = '{INFO}' - enabled = `{EDITABLE}` - )->input( value = '{DESCR}' - enabled = `{EDITABLE}` - )->checkbox( selected = '{CHECKBOX}' - enabled = `{EDITABLE}` ). + )->text( `Checkbox` ). + + tab->items( )->column_list_item( selected = `{SELKZ}` + )->cells( + )->input( + value = `{TITLE}` + enabled = `{EDITABLE}` + id = `test` + )->input( + value = `{VALUE}` + enabled = `{EDITABLE}` + )->input( + value = `{INFO}` + enabled = `{EDITABLE}` + )->input( + value = `{DESCR}` + enabled = `{EDITABLE}` + )->checkbox( + selected = `{CHECKBOX}` + enabled = `{EDITABLE}` ). client->view_display( view->stringify( ) ). @@ -100,39 +101,33 @@ CLASS z2ui5_cl_demo_app_011 IMPLEMENTATION. METHOD z2ui5_if_app~main. me->client = client. - IF client->check_on_init( ). check_editable_active = abap_false. t_tab = VALUE #( - ( title = 'entry 01' value = 'red' info = 'completed' descr = 'this is a description' checkbox = abap_true ) - ( title = 'entry 02' value = 'blue' info = 'completed' descr = 'this is a description' checkbox = abap_true ) - ( title = 'entry 03' value = 'green' info = 'completed' descr = 'this is a description' checkbox = abap_true ) - ( title = 'entry 04' value = 'orange' info = 'completed' descr = '' checkbox = abap_true ) - ( title = 'entry 05' value = 'grey' info = 'completed' descr = 'this is a description' checkbox = abap_true ) + ( title = `entry 01` value = `red` info = `completed` descr = `this is a description` checkbox = abap_true ) + ( title = `entry 02` value = `blue` info = `completed` descr = `this is a description` checkbox = abap_true ) + ( title = `entry 03` value = `green` info = `completed` descr = `this is a description` checkbox = abap_true ) + ( title = `entry 04` value = `orange` info = `completed` descr = `` checkbox = abap_true ) + ( title = `entry 05` value = `grey` info = `completed` descr = `this is a description` checkbox = abap_true ) ( ) ). - set_view( ). - RETURN. - + view_display( ). + + ELSEIF client->check_on_event( `BUTTON_EDIT` ). + check_editable_active = xsdbool( check_editable_active = abap_false ). + LOOP AT t_tab REFERENCE INTO DATA(lr_tab). + lr_tab->editable = check_editable_active. + ENDLOOP. + client->view_model_update( ). + ELSEIF client->check_on_event( `BUTTON_DELETE` ). + DELETE t_tab WHERE selkz = abap_true. + client->view_model_update( ). + ELSEIF client->check_on_event( `BUTTON_ADD` ). + INSERT VALUE #( ) INTO TABLE t_tab. + client->view_model_update( ). ENDIF. - - CASE client->get( )-event. - - WHEN 'BUTTON_EDIT'. - check_editable_active = xsdbool( check_editable_active = abap_false ). - LOOP AT t_tab REFERENCE INTO DATA(lr_tab). - lr_tab->editable = check_editable_active. - ENDLOOP. - client->view_model_update( ). - WHEN 'BUTTON_DELETE'. - DELETE t_tab WHERE selkz = abap_true. - client->view_model_update( ). - WHEN 'BUTTON_ADD'. - INSERT VALUE #( ) INTO TABLE t_tab. - client->view_model_update( ). - ENDCASE. - ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_012.clas.abap b/src/z2ui5_cl_demo_app_012.clas.abap index c18bce30..0848c19e 100644 --- a/src/z2ui5_cl_demo_app_012.clas.abap +++ b/src/z2ui5_cl_demo_app_012.clas.abap @@ -1,167 +1,176 @@ CLASS z2ui5_cl_demo_app_012 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + DATA check_popup TYPE abap_bool. + + PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. - DATA mv_check_popup TYPE abap_bool. - METHODS ui5_popup_decide. - METHODS ui5_popup_info_frontend_close. - METHODS ui5_view_display. + METHODS on_navigation. + METHODS on_event. + METHODS view_display. + METHODS popup_decide. + METHODS popup_info. - PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_012 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_012 IMPLEMENTATION. + METHOD on_navigation. + IF check_popup = abap_true. + check_popup = abap_false. + DATA(app) = CAST z2ui5_cl_demo_app_020( client->get_app( client->get( )-s_draft-id_prev_app ) ). + client->message_toast_display( |{ app->event } pressed| ). + ENDIF. - METHOD ui5_popup_decide. - - DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ). - popup->dialog( 'Popup - Decide' - )->vbox( - )->text( 'this is a popup to decide, you have to make a decision now...' - )->get_parent( - )->buttons( - )->button( - text = 'Cancel' - press = client->_event( 'POPUP_DECIDE_CANCEL' ) - )->button( - text = 'Continue' - press = client->_event( 'POPUP_DECIDE_CONTINUE' ) - type = 'Emphasized' ). - - client->popup_display( popup->stringify( ) ). + view_display( ). ENDMETHOD. - METHOD ui5_popup_info_frontend_close. + METHOD on_event. - DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ). - popup->dialog( 'Popup - Info' - )->vbox( - )->text( 'this is an information, press close to go back to the main view without a server roundtrip' - )->get_parent( - )->buttons( - )->button( - text = 'close' - press = client->_event_client( client->cs_event-popup_close ) - type = 'Emphasized' ). - - client->popup_display( popup->stringify( ) ). + CASE client->get( )-event. + WHEN `BUTTON_POPUP_01`. + popup_decide( ). + client->view_destroy( ). + WHEN `POPUP_DECIDE_CONTINUE`. + client->popup_destroy( ). + view_display( ). + client->message_toast_display( `continue pressed` ). + WHEN `POPUP_DECIDE_CANCEL`. + client->popup_destroy( ). + view_display( ). + client->message_toast_display( `cancel pressed` ). + WHEN `BUTTON_POPUP_02`. + view_display( ). + popup_decide( ). + WHEN `BUTTON_POPUP_03`. + popup_info( ). + WHEN `BUTTON_POPUP_04`. + popup_decide( ). + WHEN `BUTTON_POPUP_05`. + check_popup = abap_true. + client->view_destroy( ). + client->nav_app_call( z2ui5_cl_demo_app_020=>factory( + i_text = `(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back` + i_cancel_text = `Cancel ` + i_cancel_event = `POPUP_DECIDE_CANCEL` + i_confirm_text = `Continue` + i_confirm_event = `POPUP_DECIDE_CONTINUE` + ) ). + WHEN `BUTTON_POPUP_06`. + check_popup = abap_true. + client->nav_app_call( z2ui5_cl_demo_app_020=>factory( + i_text = `(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back` + i_cancel_text = `Cancel` + i_cancel_event = `POPUP_DECIDE_CANCEL` + i_confirm_text = `Continue` + i_confirm_event = `POPUP_DECIDE_CONTINUE` ) ). + ENDCASE. ENDMETHOD. - METHOD ui5_view_display. + METHOD view_display. - DATA(lo_main) = z2ui5_cl_xml_view=>factory( )->shell( ). - DATA(page) = lo_main->page( - title = 'abap2UI5 - Popups' + DATA(view) = z2ui5_cl_xml_view=>factory( ). + DATA(page) = view->shell( + )->page( + title = `abap2UI5 - Popups` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) ). - DATA(grid) = page->grid( 'L7 M12 S12' )->content( 'layout' - )->simple_form( 'Popup in same App' )->content( 'form' - )->label( 'Demo' + DATA(grid) = page->grid( `L7 M12 S12` )->content( `layout` + )->simple_form( `Popup in same App` )->content( `form` + )->label( `Demo` )->button( - text = 'popup rendering, no background rendering' - press = client->_event( 'BUTTON_POPUP_01' ) - )->label( 'Demo' + text = `popup rendering, no background rendering` + press = client->_event( `BUTTON_POPUP_01` ) + )->label( `Demo` )->button( - text = 'popup rendering, background destroyed and rerendering' - press = client->_event( val = 'BUTTON_POPUP_02' ) - )->label( 'Demo' + text = `popup rendering, background destroyed and rerendering` + press = client->_event( `BUTTON_POPUP_02` ) + )->label( `Demo` )->button( - text = 'popup, background unchanged (default) - close (no roundtrip)' - press = client->_event( 'BUTTON_POPUP_03' ) - )->label( 'Demo' + text = `popup, background unchanged (default) - close (no roundtrip)` + press = client->_event( `BUTTON_POPUP_03` ) + )->label( `Demo` )->button( - text = 'popup, background unchanged (default) - close with server' - press = client->_event( val = 'BUTTON_POPUP_04' ) + text = `popup, background unchanged (default) - close with server` + press = client->_event( `BUTTON_POPUP_04` ) )->get_parent( )->get_parent( ). - grid->simple_form( 'Popup in new App' )->content( 'form' - )->label( 'Demo' + grid->simple_form( `Popup in new App` )->content( `form` + )->label( `Demo` )->button( - text = 'popup rendering, no background' - press = client->_event( 'BUTTON_POPUP_05' ) - )->label( 'Demo' + text = `popup rendering, no background` + press = client->_event( `BUTTON_POPUP_05` ) + )->label( `Demo` )->button( - text = 'popup rendering, hold previous view' - press = client->_event( val = 'BUTTON_POPUP_06' ) ). + text = `popup rendering, hold previous view` + press = client->_event( `BUTTON_POPUP_06` ) ). - client->view_display( lo_main->stringify( ) ). + client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_if_app~main. - - me->client = client. + METHOD popup_decide. - IF client->get( )-check_on_navigated = abap_true. - ui5_view_display( ). - ENDIF. + DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ). + popup->dialog( `Popup - Decide` + )->vbox( + )->text( `this is a popup to decide, you have to make a decision now...` + )->get_parent( + )->buttons( + )->button( + text = `Cancel` + press = client->_event( `POPUP_DECIDE_CANCEL` ) + )->button( + text = `Continue` + press = client->_event( `POPUP_DECIDE_CONTINUE` ) + type = `Emphasized` ). - IF mv_check_popup = abap_true. - mv_check_popup = abap_false. - DATA(app) = CAST z2ui5_cl_demo_app_020( client->get_app( client->get( )-s_draft-id_prev_app ) ). - client->message_toast_display( app->mv_event && ` pressed` ). - ENDIF. + client->popup_display( popup->stringify( ) ). - CASE client->get( )-event. + ENDMETHOD. - WHEN 'BUTTON_POPUP_01'. - ui5_popup_decide( ). - client->view_destroy( ). - WHEN 'POPUP_DECIDE_CONTINUE'. - client->popup_destroy( ). - ui5_view_display( ). - client->message_toast_display( 'continue pressed' ). + METHOD popup_info. - WHEN 'POPUP_DECIDE_CANCEL'. - client->popup_destroy( ). - ui5_view_display( ). - client->message_toast_display( 'cancel pressed' ). + DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ). + popup->dialog( `Popup - Info` + )->vbox( + )->text( `this is an information, press close to go back to the main view without a server roundtrip` + )->get_parent( + )->buttons( + )->button( + text = `close` + press = client->_event_client( client->cs_event-popup_close ) + type = `Emphasized` ). - WHEN 'BUTTON_POPUP_02'. - ui5_view_display( ). - ui5_popup_decide( ). + client->popup_display( popup->stringify( ) ). - WHEN 'BUTTON_POPUP_03'. - ui5_popup_info_frontend_close( ). + ENDMETHOD. - WHEN 'BUTTON_POPUP_04'. - ui5_popup_decide( ). - WHEN 'BUTTON_POPUP_05'. - mv_check_popup = abap_true. - client->view_destroy( ). - client->nav_app_call( z2ui5_cl_demo_app_020=>factory( - i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back' - i_cancel_text = 'Cancel ' - i_cancel_event = 'POPUP_DECIDE_CANCEL' - i_confirm_text = 'Continue' - i_confirm_event = 'POPUP_DECIDE_CONTINUE' - ) ). + METHOD z2ui5_if_app~main. - WHEN 'BUTTON_POPUP_06'. - mv_check_popup = abap_true. - client->nav_app_call( z2ui5_cl_demo_app_020=>factory( - i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back' - i_cancel_text = 'Cancel' - i_cancel_event = 'POPUP_DECIDE_CANCEL' - i_confirm_text = 'Continue' - i_confirm_event = 'POPUP_DECIDE_CONTINUE' ) ). - ENDCASE. + me->client = client. + IF client->check_on_init( ). + view_display( ). + ELSEIF client->check_on_navigated( ). + on_navigation( ). + ELSEIF client->check_on_event( ). + on_event( ). + ENDIF. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_013.clas.abap b/src/z2ui5_cl_demo_app_013.clas.abap index 52550c19..4bed481b 100644 --- a/src/z2ui5_cl_demo_app_013.clas.abap +++ b/src/z2ui5_cl_demo_app_013.clas.abap @@ -1,163 +1,167 @@ CLASS z2ui5_cl_demo_app_013 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - - - DATA mv_sel4 TYPE abap_bool. - DATA mv_sel5 TYPE abap_bool. - DATA mv_sel6 TYPE abap_bool. - - DATA mv_tab_donut_active TYPE abap_bool. - DATA total_count TYPE i. - TYPES: - BEGIN OF ty_chart, + BEGIN OF ty_s_chart, text TYPE string, percent TYPE p LENGTH 3 DECIMALS 2, - END OF ty_chart. - - DATA counts TYPE STANDARD TABLE OF ty_chart WITH EMPTY KEY. + END OF ty_s_chart. + DATA counts TYPE STANDARD TABLE OF ty_s_chart WITH EMPTY KEY. + DATA sel4 TYPE abap_bool. + DATA sel5 TYPE abap_bool. + DATA sel6 TYPE abap_bool. + DATA tab_donut_active TYPE abap_bool. + DATA total_count TYPE i. - METHODS render_tab_donut. + PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. - PROTECTED SECTION. + METHODS view_display. + PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_013 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_013 IMPLEMENTATION. - - - METHOD render_tab_donut. + METHOD view_display. DATA(container) = z2ui5_cl_xml_view=>factory( )->shell( )->page( - title = 'abap2UI5 - Visualization' + title = `abap2UI5 - Visualization` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) )->tab_container( ). DATA(grid) = container->tab( - text = 'Donut Chart' - selected = client->_bind( mv_tab_donut_active ) - )->grid( 'XL6 L6 M6 S12' ). + text = `Donut Chart` + selected = client->_bind( tab_donut_active ) + )->grid( `XL6 L6 M6 S12` ). grid->link( - text = 'Go to the SAP Demos for Interactive Donut Charts here...' - target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveDonutChart/sample/sap.suite.ui.microchart.sample.InteractiveDonutChart' + text = `Go to the SAP Demos for Interactive Donut Charts here...` + target = `_blank` + href = `https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveDonutChart/sample/sap.suite.ui.microchart.sample.InteractiveDonutChart` )->text( - text = 'Three segments' - class = 'sapUiSmallMargin' + text = `Three segments` + class = `sapUiSmallMargin` )->get( )->layout_data( - )->grid_data( 'XL12 L12 M12 S12' ). - + )->grid_data( `XL12 L12 M12 S12` ). DATA(seg) = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' + width = `22rem` + height = `13rem` + alignitems = `Start` + justifycontent = `SpaceBetween` )->items( )->interact_donut_chart( - selectionchanged = client->_event( 'DONUT_CHANGED' ) + selectionchanged = client->_event( `DONUT_CHANGED` ) )->segments( ). - seg->interact_donut_chart_segment( selected = client->_bind( mv_sel4 ) - label = 'Impl. Phase' - value = '40.0' - displayedvalue = '40.0%' ). - seg->interact_donut_chart_segment( selected = client->_bind( mv_sel5 ) - label = 'Design Phase' - value = '21.5' - displayedvalue = '21.5%' ). - seg->interact_donut_chart_segment( selected = client->_bind( mv_sel6 ) - label = 'Test Phase' - value = '38.5' - displayedvalue = '38.5%' ). + seg->interact_donut_chart_segment( + selected = client->_bind( sel4 ) + label = `Impl. Phase` + value = `40.0` + displayedvalue = `40.0%` ). + seg->interact_donut_chart_segment( + selected = client->_bind( sel5 ) + label = `Design Phase` + value = `21.5` + displayedvalue = `21.5%` ). + seg->interact_donut_chart_segment( + selected = client->_bind( sel6 ) + label = `Test Phase` + value = `38.5` + displayedvalue = `38.5%` ). grid->text( - text = 'Four segments' - class = 'sapUiSmallMargin' + text = `Four segments` + class = `sapUiSmallMargin` )->get( )->layout_data( - )->grid_data( 'XL12 L12 M12 S12' ). + )->grid_data( `XL12 L12 M12 S12` ). seg = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' + width = `22rem` + height = `13rem` + alignitems = `Start` + justifycontent = `SpaceBetween` )->items( )->interact_donut_chart( - selectionchanged = client->_event( 'DONUT_CHANGED' ) - press = client->_event( 'DONUT_PRESS' ) - displayedsegments = '4' + selectionchanged = client->_event( `DONUT_CHANGED` ) + press = client->_event( `DONUT_PRESS` ) + displayedsegments = `4` )->segments( ). - seg->interact_donut_chart_segment( label = 'Design Phase' - value = '32.0' - displayedvalue = '32.0%' ). - seg->interact_donut_chart_segment( label = 'Implementation Phase' - value = '28' - displayedvalue = '28%' ). - seg->interact_donut_chart_segment( label = 'Test Phase' - value = '25' - displayedvalue = '25%' ). - seg->interact_donut_chart_segment( label = 'Launch Phase' - value = '15' - displayedvalue = '15%' ). + seg->interact_donut_chart_segment( + label = `Design Phase` + value = `32.0` + displayedvalue = `32.0%` ). + seg->interact_donut_chart_segment( + label = `Implementation Phase` + value = `28` + displayedvalue = `28%` ). + seg->interact_donut_chart_segment( + label = `Test Phase` + value = `25` + displayedvalue = `25%` ). + seg->interact_donut_chart_segment( + label = `Launch Phase` + value = `15` + displayedvalue = `15%` ). grid->text( - text = 'Error Messages' - class = 'sapUiSmallMargin' + text = `Error Messages` + class = `sapUiSmallMargin` )->get( )->layout_data( - )->grid_data( 'XL12 L12 M12 S12' ). + )->grid_data( `XL12 L12 M12 S12` ). seg = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' + width = `22rem` + height = `13rem` + alignitems = `Start` + justifycontent = `SpaceBetween` )->items( )->interact_donut_chart( - selectionchanged = client->_event( 'DONUT_CHANGED' ) + selectionchanged = client->_event( `DONUT_CHANGED` ) showerror = abap_true - errormessagetitle = 'No data' - errormessage = 'Currently no data is available' + errormessagetitle = `No data` + errormessage = `Currently no data is available` )->segments( ). - seg->interact_donut_chart_segment( label = 'Implementation Phase' - value = '40.0' - displayedvalue = '40.0%' ). - seg->interact_donut_chart_segment( label = 'Design Phase' - value = '21.5' - displayedvalue = '21.5%' ). - seg->interact_donut_chart_segment( label = 'Test Phase' - value = '38.5' - displayedvalue = '38.5%' ). + seg->interact_donut_chart_segment( + label = `Implementation Phase` + value = `40.0` + displayedvalue = `40.0%` ). + seg->interact_donut_chart_segment( + label = `Design Phase` + value = `21.5` + displayedvalue = `21.5%` ). + seg->interact_donut_chart_segment( + label = `Test Phase` + value = `38.5` + displayedvalue = `38.5%` ). grid->text( - text = 'Model Update Table Data' - class = 'sapUiSmallMargin' + text = `Model Update Table Data` + class = `sapUiSmallMargin` )->get( )->layout_data( - )->grid_data( 'XL12 L12 M12 S12' ). - - DATA(donut_chart) = grid->button( text = `update chart` - press = client->_event( 'UPDATE_CHART_DATA' ) )->get_parent( - )->flex_box( - width = '30rem' - height = '18rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' + )->grid_data( `XL12 L12 M12 S12` ). + + DATA(donut_chart) = grid->button( + text = `update chart` + press = client->_event( `UPDATE_CHART_DATA` ) + )->get_parent( + )->flex_box( + width = `30rem` + height = `18rem` + alignitems = `Start` + justifycontent = `SpaceBetween` )->items( - )->interact_donut_chart( displayedsegments = client->_bind_edit( total_count ) - segments = client->_bind_edit( counts ) ). - + )->interact_donut_chart( + displayedsegments = client->_bind_edit( total_count ) + segments = client->_bind_edit( counts ) ). donut_chart->interact_donut_chart_segment( - label = `{TEXT}` - value = `{PERCENT}` - displayedvalue = `{PERCENT}` ). + label = `{TEXT}` + value = `{PERCENT}` + displayedvalue = `{PERCENT}` ). client->view_display( container->stringify( ) ). @@ -167,35 +171,26 @@ CLASS Z2UI5_CL_DEMO_APP_013 IMPLEMENTATION. METHOD z2ui5_if_app~main. me->client = client. - IF client->check_on_init( ). - counts = VALUE #( - ( text = '1st' percent = '10.0' ) - ( text = '2nd' percent = '60.0' ) - ( text = '3rd' percent = '30.0' ) ). - + ( text = `1st` percent = `10.0` ) + ( text = `2nd` percent = `60.0` ) + ( text = `3rd` percent = `30.0` ) ). total_count = lines( counts ). + view_display( ). - - render_tab_donut( ). + ELSEIF client->check_on_event( `UPDATE_CHART_DATA` ). + counts = VALUE #( + ( text = `1st` percent = `60.0` ) + ( text = `2nd` percent = `10.0` ) + ( text = `3rd` percent = `15.0` ) + ( text = `4th` percent = `15.0` ) ). + total_count = lines( counts ). + client->view_model_update( ). ENDIF. - CASE client->get( )-event. - WHEN 'UPDATE_CHART_DATA'. - CLEAR counts. - counts = VALUE #( - ( text = '1st' percent = '60.0' ) - ( text = '2nd' percent = '10.0' ) - ( text = '3rd' percent = '15.0' ) - ( text = '4th' percent = '15.0' ) ). - - total_count = lines( counts ). - - client->view_model_update( ). - ENDCASE. - ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_014.clas.abap b/src/z2ui5_cl_demo_app_014.clas.abap index 3bb8942e..389b3fa6 100644 --- a/src/z2ui5_cl_demo_app_014.clas.abap +++ b/src/z2ui5_cl_demo_app_014.clas.abap @@ -1,160 +1,174 @@ CLASS z2ui5_cl_demo_app_014 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + DATA sel7 TYPE abap_bool. + DATA sel8 TYPE abap_bool. + DATA sel9 TYPE abap_bool. + DATA sel10 TYPE abap_bool. + DATA sel11 TYPE abap_bool. + DATA sel12 TYPE abap_bool. + DATA tab_line_active TYPE abap_bool. - - DATA mv_sel7 TYPE abap_bool. - DATA mv_sel8 TYPE abap_bool. - DATA mv_sel9 TYPE abap_bool. - DATA mv_sel10 TYPE abap_bool. - DATA mv_sel11 TYPE abap_bool. - DATA mv_sel12 TYPE abap_bool. - - DATA mv_tab_line_active TYPE abap_bool. - METHODS render_tab_line. + PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. - PROTECTED SECTION. + METHODS view_display. + PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_014 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_014 IMPLEMENTATION. - - - METHOD render_tab_line. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(container) = view->shell( )->page( - title = 'abap2UI5 - Visualization' + title = `abap2UI5 - Visualization` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) )->tab_container( ). - DATA(tab) = container->tab( text = 'Line Chart' - selected = client->_bind( mv_tab_line_active ) ). - DATA(grid) = tab->grid( 'XL6 L6 M6 S12' ). + DATA(tab) = container->tab( + text = `Line Chart` + selected = client->_bind( tab_line_active ) ). + DATA(grid) = tab->grid( `XL6 L6 M6 S12` ). grid->link( - text = 'Go to the SAP Demos for Interactive Line Charts here...' - target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveLineChart/sample/sap.suite.ui.microchart.sample.InteractiveLineChart' ). + text = `Go to the SAP Demos for Interactive Line Charts here...` + target = `_blank` + href = `https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveLineChart/sample/sap.suite.ui.microchart.sample.InteractiveLineChart` ). grid->text( - text = 'Absolute and Percentage values' - class = 'sapUiSmallMargin' + text = `Absolute and Percentage values` + class = `sapUiSmallMargin` )->get( )->layout_data( - )->grid_data( 'XL12 L12 M12 S12' ). + )->grid_data( `XL12 L12 M12 S12` ). DATA(point) = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' + width = `22rem` + height = `13rem` + alignitems = `Center` + class = `sapUiSmallMargin` )->items( )->interact_line_chart( - selectionchanged = client->_event( 'LINE_CHANGED' ) - precedingpoint = '15' - succeddingpoint = '89' + selectionchanged = client->_event( `LINE_CHANGED` ) + precedingpoint = `15` + succeddingpoint = `89` )->points( ). - point->interact_line_chart_point( selected = client->_bind( mv_sel7 ) - label = 'May' - value = '33.1' - secondarylabel = 'Q2' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel8 ) - label = 'June' - value = '12' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel9 ) - label = 'July' - value = '51.4' - secondarylabel = 'Q3' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel10 ) - label = 'Aug' - value = '52' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel11 ) - label = 'Sep' - value = '69.9' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel12 ) - label = 'Oct' - value = '0.9' - secondarylabel = 'Q4' ). + point->interact_line_chart_point( + selected = client->_bind( sel7 ) + label = `May` + value = `33.1` + secondarylabel = `Q2` ). + point->interact_line_chart_point( + selected = client->_bind( sel8 ) + label = `June` + value = `12` ). + point->interact_line_chart_point( + selected = client->_bind( sel9 ) + label = `July` + value = `51.4` + secondarylabel = `Q3` ). + point->interact_line_chart_point( + selected = client->_bind( sel10 ) + label = `Aug` + value = `52` ). + point->interact_line_chart_point( + selected = client->_bind( sel11 ) + label = `Sep` + value = `69.9` ). + point->interact_line_chart_point( + selected = client->_bind( sel12 ) + label = `Oct` + value = `0.9` + secondarylabel = `Q4` ). point = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - class = 'SpaceBetween' + width = `22rem` + height = `13rem` + alignitems = `Start` + class = `SpaceBetween` )->items( )->interact_line_chart( - selectionchanged = client->_event( 'LINE_CHANGED' ) - press = client->_event( 'LINE_PRESS' ) - precedingpoint = '-20' + selectionchanged = client->_event( `LINE_CHANGED` ) + press = client->_event( `LINE_PRESS` ) + precedingpoint = `-20` )->points( ). - point->interact_line_chart_point( label = 'May' - value = '33.1' - displayedvalue = '33.1%' - secondarylabel = '2015' ). - point->interact_line_chart_point( label = 'June' - value = '2.2' - displayedvalue = '2.2%' - secondarylabel = '2015' ). - point->interact_line_chart_point( label = 'July' - value = '51.4' - displayedvalue = '51.4%' - secondarylabel = '2015' ). - point->interact_line_chart_point( label = 'Aug' - value = '19.9' - displayedvalue = '19.9%' ). - point->interact_line_chart_point( label = 'Sep' - value = '69.9' - displayedvalue = '69.9%' ). - point->interact_line_chart_point( label = 'Oct' - value = '0.9' - displayedvalue = '9.9%' ). + point->interact_line_chart_point( + label = `May` + value = `33.1` + displayedvalue = `33.1%` + secondarylabel = `2015` ). + point->interact_line_chart_point( + label = `June` + value = `2.2` + displayedvalue = `2.2%` + secondarylabel = `2015` ). + point->interact_line_chart_point( + label = `July` + value = `51.4` + displayedvalue = `51.4%` + secondarylabel = `2015` ). + point->interact_line_chart_point( + label = `Aug` + value = `19.9` + displayedvalue = `19.9%` ). + point->interact_line_chart_point( + label = `Sep` + value = `69.9` + displayedvalue = `69.9%` ). + point->interact_line_chart_point( + label = `Oct` + value = `0.9` + displayedvalue = `9.9%` ). point = grid->vertical_layout( - )->layout_data( 'layout' - )->grid_data( 'XL12 L12 M12 S12' + )->layout_data( `layout` + )->grid_data( `XL12 L12 M12 S12` )->get_parent( )->text( - text = 'Preselected values' - class = 'sapUiSmallMargin' + text = `Preselected values` + class = `sapUiSmallMargin` )->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - class = 'sapUiSmallMargin' + width = `22rem` + height = `13rem` + alignitems = `Start` + class = `sapUiSmallMargin` )->items( )->interact_line_chart( - selectionchanged = client->_event( 'LINE_CHANGED' ) - press = client->_event( 'LINE_PRESS' ) + selectionchanged = client->_event( `LINE_CHANGED` ) + press = client->_event( `LINE_PRESS` ) )->points( ). - point->interact_line_chart_point( label = 'May' - value = '33.1' - displayedvalue = '33.1%' - selected = abap_true ). - point->interact_line_chart_point( label = 'June' - value = '2.2' - displayedvalue = '2.2%' ). - point->interact_line_chart_point( label = 'July' - value = '51.4' - displayedvalue = '51.4%' ). - point->interact_line_chart_point( label = 'Aug' - value = '19.9' - displayedvalue = '19.9%' - selected = abap_true ). - point->interact_line_chart_point( label = 'Sep' - value = '69.9' - displayedvalue = '69.9%' ). - point->interact_line_chart_point( label = 'Oct' - value = '0.9' - displayedvalue = '9.9%' ). + point->interact_line_chart_point( + label = `May` + value = `33.1` + displayedvalue = `33.1%` + selected = abap_true ). + point->interact_line_chart_point( + label = `June` + value = `2.2` + displayedvalue = `2.2%` ). + point->interact_line_chart_point( + label = `July` + value = `51.4` + displayedvalue = `51.4%` ). + point->interact_line_chart_point( + label = `Aug` + value = `19.9` + displayedvalue = `19.9%` + selected = abap_true ). + point->interact_line_chart_point( + label = `Sep` + value = `69.9` + displayedvalue = `69.9%` ). + point->interact_line_chart_point( + label = `Oct` + value = `0.9` + displayedvalue = `9.9%` ). client->view_display( view->stringify( ) ). @@ -164,12 +178,10 @@ CLASS Z2UI5_CL_DEMO_APP_014 IMPLEMENTATION. METHOD z2ui5_if_app~main. me->client = client. - IF client->check_on_init( ). - - - - render_tab_line( ). + view_display( ). ENDIF. + ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_015.clas.abap b/src/z2ui5_cl_demo_app_015.clas.abap index 4be57f9c..51a1daa6 100644 --- a/src/z2ui5_cl_demo_app_015.clas.abap +++ b/src/z2ui5_cl_demo_app_015.clas.abap @@ -1,51 +1,47 @@ CLASS z2ui5_cl_demo_app_015 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA mv_html_text TYPE string. - - PROTECTED SECTION. + DATA html_text TYPE string. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_015 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_015 IMPLEMENTATION. METHOD z2ui5_if_app~main. IF client->check_on_init( ). - - mv_html_text = `

subheader

link: link to sap.com - links open in ` && - `a new window.

paragraph: strong and emphasized.

list:

  • list item 1
  • list item 2
    • sub item 1
    • sub item 2
  • pre:

    abc    def    ghi` &&
    -            `

    code: var el = document.getElementById("myId");

    cite: a reference to a source

    ` && - `
    definition:
    definition list of terms and descriptions
    `. - + html_text = `

    subheader

    link: link to sap.com - links open in ` && + `a new window.

    paragraph: strong and emphasized.

    list:

  • list item 1
  • list item 2
    • sub item 1
    • sub item 2
  • pre:

    abc    def    ghi` &&
    +        `

    code: var el = document.getElementById("myId");

    cite: a reference to a source

    ` && + `
    definition:
    definition list of terms and descriptions
    `. ENDIF. + DATA(view) = z2ui5_cl_xml_view=>factory( ). view->shell( - )->page( - title = 'abap2UI5 - Formatted Text' + )->page( + title = `abap2UI5 - Formatted Text` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) )->header_content( )->toolbar_spacer( )->link( )->get_parent( - )->vbox( 'sapUiSmallMargin' + )->vbox( `sapUiSmallMargin` )->link( - text = 'Control Documentation - SAP UI5 Formatted Text' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.m.FormattedText/sample/sap.m.sample.FormattedText' + text = `Control Documentation - SAP UI5 Formatted Text` + href = `https://sapui5.hana.ondemand.com/#/entity/sap.m.FormattedText/sample/sap.m.sample.FormattedText` )->get_parent( - )->vbox( 'sapUiSmallMargin' - )->formatted_text( mv_html_text ). + )->vbox( `sapUiSmallMargin` + )->formatted_text( html_text ). client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_016.clas.abap b/src/z2ui5_cl_demo_app_016.clas.abap index 61e605ca..acdc63d7 100644 --- a/src/z2ui5_cl_demo_app_016.clas.abap +++ b/src/z2ui5_cl_demo_app_016.clas.abap @@ -1,119 +1,121 @@ CLASS z2ui5_cl_demo_app_016 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + DATA sel1 TYPE abap_bool. + DATA sel2 TYPE abap_bool. + DATA sel3 TYPE abap_bool. + DATA tab_bar_active TYPE abap_bool. - - DATA mv_sel1 TYPE abap_bool. - DATA mv_sel2 TYPE abap_bool. - DATA mv_sel3 TYPE abap_bool. - - DATA mv_tab_bar_active TYPE abap_bool. - - METHODS render_tab_bar. - + PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. - PROTECTED SECTION. + METHODS view_display. + PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_016 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_016 IMPLEMENTATION. - - - METHOD render_tab_bar. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(container) = view->shell( )->page( - showheader = xsdbool( abap_false = client->get( )-check_launchpad_active ) - title = 'abap2UI5 - Visualization' + showheader = xsdbool( abap_false = client->get( )-check_launchpad_active ) + title = `abap2UI5 - Visualization` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) )->tab_container( ). DATA(grid) = container->tab( - text = 'Bar Chart' - selected = client->_bind( mv_tab_bar_active ) - )->grid( 'XL6 L6 M6 S12' ). + text = `Bar Chart` + selected = client->_bind( tab_bar_active ) + )->grid( `XL6 L6 M6 S12` ). grid->link( - text = 'Go to the SAP Demos for Interactive bar Charts here...' - target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveBarChart/sample/sap.suite.ui.microchart.sample.InteractiveBarChart' + text = `Go to the SAP Demos for Interactive bar Charts here...` + target = `_blank` + href = `https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveBarChart/sample/sap.suite.ui.microchart.sample.InteractiveBarChart` )->text( - text = 'Absolute and Percentage value' - class = 'sapUiSmallMargin' + text = `Absolute and Percentage value` + class = `sapUiSmallMargin` )->get( )->layout_data( - )->grid_data( 'XL12 L12 M12 S12' ). + )->grid_data( `XL12 L12 M12 S12` ). DATA(bar) = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' + width = `22rem` + height = `13rem` + alignitems = `Center` + class = `sapUiSmallMargin` )->items( )->interact_bar_chart( - selectionchanged = client->_event( 'BAR_CHANGED' ) - press = client->_event( 'BAR_CHANGED' ) - labelwidth = '25%' + selectionchanged = client->_event( `BAR_CHANGED` ) + press = client->_event( `BAR_CHANGED` ) + labelwidth = `25%` displayedbars = `4` )->bars( ). - bar->interact_bar_chart_bar( selected = client->_bind( mv_sel1 ) - label = 'Product 1' - value = '10' ). - bar->interact_bar_chart_bar( selected = client->_bind( mv_sel2 ) - label = 'Product 2' - value = '20' ). - bar->interact_bar_chart_bar( selected = client->_bind( mv_sel3 ) - label = 'Product 3' - value = '70' ). + bar->interact_bar_chart_bar( + selected = client->_bind( sel1 ) + label = `Product 1` + value = `10` ). + bar->interact_bar_chart_bar( + selected = client->_bind( sel2 ) + label = `Product 2` + value = `20` ). + bar->interact_bar_chart_bar( + selected = client->_bind( sel3 ) + label = `Product 3` + value = `70` ). bar = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' + width = `22rem` + height = `13rem` + alignitems = `Center` + class = `sapUiSmallMargin` )->items( )->interact_bar_chart( - selectionchanged = client->_event( 'BAR_CHANGED' ) + selectionchanged = client->_event( `BAR_CHANGED` ) )->bars( ). - bar->interact_bar_chart_bar( label = 'Product 1' - value = '10' - displayedvalue = '10%' ). - bar->interact_bar_chart_bar( label = 'Product 2' - value = '20' - displayedvalue = '20%' ). - bar->interact_bar_chart_bar( label = 'Product 3' - value = '70' - displayedvalue = '70%' ). + bar->interact_bar_chart_bar( + label = `Product 1` + value = `10` + displayedvalue = `10%` ). + bar->interact_bar_chart_bar( + label = `Product 2` + value = `20` + displayedvalue = `20%` ). + bar->interact_bar_chart_bar( + label = `Product 3` + value = `70` + displayedvalue = `70%` ). bar = grid->vertical_layout( - )->layout_data( 'layout' - )->grid_data( 'XL12 L12 M12 S12' + )->layout_data( `layout` + )->grid_data( `XL12 L12 M12 S12` )->get_parent( )->text( - text = 'Positive and Negative values' - class = 'sapUiSmallMargin' + text = `Positive and Negative values` + class = `sapUiSmallMargin` )->flex_box( - width = '20rem' - height = '10rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' + width = `20rem` + height = `10rem` + alignitems = `Center` + class = `sapUiSmallMargin` )->items( )->interact_bar_chart( - selectionchanged = client->_event( 'BAR_CHANGED' ) - press = client->_event( 'BAR_PRESS' ) - labelwidth = '25%' + selectionchanged = client->_event( `BAR_CHANGED` ) + press = client->_event( `BAR_PRESS` ) + labelwidth = `25%` )->bars( ). - bar->interact_bar_chart_bar( label = 'Product 1' - value = '25' ). - bar->interact_bar_chart_bar( label = 'Product 2' - value = '-50' ). - bar->interact_bar_chart_bar( label = 'Product 3' - value = '-100' ). + bar->interact_bar_chart_bar( + label = `Product 1` + value = `25` ). + bar->interact_bar_chart_bar( + label = `Product 2` + value = `-50` ). + bar->interact_bar_chart_bar( + label = `Product 3` + value = `-100` ). client->view_display( view->stringify( ) ). @@ -123,12 +125,10 @@ CLASS Z2UI5_CL_DEMO_APP_016 IMPLEMENTATION. METHOD z2ui5_if_app~main. me->client = client. - IF client->check_on_init( ). - - - - render_tab_bar( ). + view_display( ). ENDIF. + ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_017.clas.abap b/src/z2ui5_cl_demo_app_017.clas.abap index 7ce6e1ab..422f8175 100644 --- a/src/z2ui5_cl_demo_app_017.clas.abap +++ b/src/z2ui5_cl_demo_app_017.clas.abap @@ -1,59 +1,44 @@ CLASS z2ui5_cl_demo_app_017 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + PROTECTED SECTION. + DATA client TYPE REF TO z2ui5_if_client. + METHODS view_display. - PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_017 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_017 IMPLEMENTATION. - - - METHOD z2ui5_if_app~main. - - IF client->check_on_init( ). - - ENDIF. - - CASE client->get( )-event. - - WHEN 'BUTTON_ROUNDTRIP'. - DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'. - - WHEN 'BUTTON_MSG_BOX'. - client->message_box_display( - text = 'this is a message box with a custom text' - type = 'success' ). - ENDCASE. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). - - DATA(page) = view->object_page_layout( showtitleinheadercontent = abap_true showeditheaderbutton = abap_true - editheaderbuttonpress = client->_event( 'EDIT_HEADER_PRESS' ) + editheaderbuttonpress = client->_event( `EDIT_HEADER_PRESS` ) uppercaseanchorbar = abap_false ). DATA(header_title) = page->header_title( )->object_page_dyn_header_title( ). header_title->expanded_heading( )->hbox( - )->title( text = 'Oblomov Dev' - wrapping = abap_true ). + )->title( + text = `Oblomov Dev` + wrapping = abap_true ). header_title->snapped_heading( )->flex_box( alignitems = `Center` - )->avatar( src = lcl_help=>get_avatar( ) - class = 'sapUiTinyMarginEnd' - )->title( text = 'Oblomov Dev' - wrapping = abap_true ). + )->avatar( + src = lcl_help=>get_avatar( ) + class = `sapUiTinyMarginEnd` + )->title( + text = `Oblomov Dev` + wrapping = abap_true ). header_title->expanded_content( `uxap` )->text( `abap2UI5 Developer` ). header_title->snapped_content( `uxap` )->text( `abap2UI5 Developer` ). @@ -62,138 +47,157 @@ CLASS Z2UI5_CL_DEMO_APP_017 IMPLEMENTATION. header_title->actions( `uxap` )->overflow_toolbar( )->overflow_toolbar_button( icon = `sap-icon://edit` - text = 'edit header' - type = 'Emphasized' - tooltip = 'edit' + text = `edit header` + type = `Emphasized` + tooltip = `edit` )->overflow_toolbar_button( icon = `sap-icon://pull-down` - text = 'show section' - type = 'Emphasized' - tooltip = 'pull-down' + text = `show section` + type = `Emphasized` + tooltip = `pull-down` )->overflow_toolbar_button( icon = `sap-icon://show` - text = 'show state' - tooltip = 'show' + text = `show state` + tooltip = `show` )->button( - " icon = `sap-icon://edit` - text = 'Go Back' + text = `Go Back` press = client->_event_nav_app_leave( ) ). - DATA(header_content) = page->header_content( 'uxap' ). + DATA(header_content) = page->header_content( `uxap` ). - header_content->flex_box( wrap = 'Wrap' - )->avatar( src = lcl_help=>get_avatar( ) - class = 'sapUiSmallMarginEnd' - displaysize = 'layout' - )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' - )->link( text = '+33 6 4512 5158' - )->link( text = 'email@email.com' + header_content->flex_box( wrap = `Wrap` + )->avatar( + src = lcl_help=>get_avatar( ) + class = `sapUiSmallMarginEnd` + displaysize = `layout` + )->vertical_layout( class = `sapUiSmallMarginBeginEnd` + )->link( text = `+33 6 4512 5158` + )->link( text = `email@email.com` )->get_parent( - )->horizontal_layout( class = 'sapUiSmallMarginBeginEnd' - )->label( 'Hello! I an abap2UI5 developer' - )->label( 'San Jose, USA' + )->horizontal_layout( class = `sapUiSmallMarginBeginEnd` + )->label( `Hello! I an abap2UI5 developer` + )->label( `San Jose, USA` )->get_parent( - )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' - )->label( 'Hello! I an abap2UI5 developer' + )->vertical_layout( class = `sapUiSmallMarginBeginEnd` + )->label( `Hello! I an abap2UI5 developer` )->vbox( - )->label( 'Achived goals' - )->progress_indicator( percentvalue = '30%' - displayvalue = '30%' + )->label( `Achived goals` + )->progress_indicator( + percentvalue = `30%` + displayvalue = `30%` )->get_parent( )->get_parent( - " )->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiSmallMarginEnd' displaySize = 'layout' - )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' - )->label( 'San Jose, USA' + )->vertical_layout( class = `sapUiSmallMarginBeginEnd` + )->label( `San Jose, USA` )->get_parent( ). - DATA(sections) = page->sections( ). - sections->object_page_section( titleuppercase = abap_false - id = 'goalsSectionSS1' - title = '2014 Goals Plan' + sections->object_page_section( + titleuppercase = abap_false + id = `goalsSectionSS1` + title = `2014 Goals Plan` )->heading( `uxap` - )->message_strip( 'this is a message strip' + )->message_strip( `this is a message strip` )->get_parent( )->sub_sections( - )->object_page_sub_section( id = 'goalssubSectionSS1' - title = 'goals1' + )->object_page_sub_section( + id = `goalssubSectionSS1` + title = `goals1` )->blocks( )->vbox( - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' - )->label( 'goals1' + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` + )->label( `goals1` )->get_parent( )->get_parent( )->get_parent( - )->object_page_sub_section( id = 'goalsSectionWS1' - title = 'goals2' + )->object_page_sub_section( + id = `goalsSectionWS1` + title = `goals2` )->blocks( )->vbox( - )->label( 'goals2' - )->label( 'goals2' - )->label( 'goals2' - )->label( 'goals2' - )->label( 'goals2' - )->label( 'goals2' - )->label( 'goals2' - )->label( 'goals2' ). - - sections->object_page_section( titleuppercase = abap_false - id = 'PersonalSection' - title = 'Personal' + )->label( `goals2` + )->label( `goals2` + )->label( `goals2` + )->label( `goals2` + )->label( `goals2` + )->label( `goals2` + )->label( `goals2` + )->label( `goals2` ). + + sections->object_page_section( + titleuppercase = abap_false + id = `PersonalSection` + title = `Personal` )->heading( `uxap` - " )->message_strip( text = 'this is a message strip' )->get_parent( )->sub_sections( - )->object_page_sub_section( id = 'personalSectionSS1' - title = 'Connect' + )->object_page_sub_section( + id = `personalSectionSS1` + title = `Connect` )->blocks( - )->label( 'telefon' - )->label( 'email' + )->label( `telefon` + )->label( `email` )->get_parent( )->get_parent( - )->object_page_sub_section( id = 'personalSectionWS2' - title = 'Payment information ' + )->object_page_sub_section( + id = `personalSectionWS2` + title = `Payment information ` )->blocks( - )->label( 'Hello! I an abap2UI5 developer' - )->label( 'San Jose, USA' ). + )->label( `Hello! I an abap2UI5 developer` + )->label( `San Jose, USA` ). - - sections->object_page_section( titleuppercase = abap_false - id = 'employmentSection' - title = 'Employment' + sections->object_page_section( + titleuppercase = abap_false + id = `employmentSection` + title = `Employment` )->heading( `uxap` - " )->message_strip( text = 'this is a message strip' )->get_parent( )->sub_sections( - )->object_page_sub_section( id = 'empSectionSS1' - title = 'Job information' + )->object_page_sub_section( + id = `empSectionSS1` + title = `Job information` )->blocks( - )->label( 'info' - )->label( 'info' - )->label( 'info' - )->label( 'info' - )->label( 'info' + )->label( `info` + )->label( `info` + )->label( `info` + )->label( `info` + )->label( `info` )->get_parent( )->get_parent( - )->object_page_sub_section( id = 'empSectionWS2' - title = 'Employee Details ' + )->object_page_sub_section( + id = `empSectionWS2` + title = `Employee Details ` )->blocks( )->vbox( - )->label( 'details' - )->label( 'details' - )->label( 'details' - )->label( 'details' - )->label( 'details' - )->label( 'details' - )->label( 'details' - )->label( 'details' ). + )->label( `details` + )->label( `details` + )->label( `details` + )->label( `details` + )->label( `details` + )->label( `details` + )->label( `details` + )->label( `details` ). client->view_display( view->stringify( ) ). ENDMETHOD. + + METHOD z2ui5_if_app~main. + + me->client = client. + IF client->check_on_event( `BUTTON_MSG_BOX` ). + client->message_box_display( + text = `this is a message box with a custom text` + type = `success` ). + ENDIF. + + view_display( ). + + ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap b/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap index a6909994..7baa4570 100644 --- a/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap +++ b/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap @@ -1,7 +1,6 @@ CLASS lcl_help DEFINITION. PUBLIC SECTION. - CLASS-METHODS get_avatar RETURNING VALUE(result) TYPE string. diff --git a/src/z2ui5_cl_demo_app_018.clas.abap b/src/z2ui5_cl_demo_app_018.clas.abap index 6f5f004d..06495757 100644 --- a/src/z2ui5_cl_demo_app_018.clas.abap +++ b/src/z2ui5_cl_demo_app_018.clas.abap @@ -1,175 +1,154 @@ CLASS z2ui5_cl_demo_app_018 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. DATA quantity TYPE string. - DATA mv_textarea TYPE string. + DATA textarea TYPE string. PROTECTED SECTION. - DATA client TYPE REF TO z2ui5_if_client. - - METHODS z2ui5_on_init. - METHODS z2ui5_on_event. - - METHODS z2ui5_display_view_main. - METHODS z2ui5_display_view_second. - METHODS z2ui5_display_popup_input. + METHODS on_init. + METHODS on_event. + METHODS view_display. + METHODS view_second_display. + METHODS popup_input_display. PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_018 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_018 IMPLEMENTATION. + METHOD on_init. + quantity = `500`. + view_display( ). - METHOD z2ui5_display_popup_input. + ENDMETHOD. - DATA(view) = z2ui5_cl_xml_view=>factory_popup( ). - view->dialog( - title = 'Title' - icon = 'sap-icon://edit' - )->content( - )->text_area( - height = '100%' - width = '100%' - value = client->_bind_edit( mv_textarea ) - )->button( - text = 'Cancel' - press = client->_event( 'POPUP_CANCEL' ) - )->button( - text = 'Confirm' - press = client->_event( 'POPUP_CONFIRM' ) - type = 'Emphasized' ). -* )->get_parent( -* )->footer( )->overflow_toolbar( -* )->toolbar_spacer( -* )->button( -* text = 'Cancel' -* press = client->_event( 'POPUP_CANCEL' ) -* )->button( -* text = 'Confirm' -* press = client->_event( 'POPUP_CONFIRM' ) -* type = 'Emphasized' ). - client->popup_display( view->stringify( ) ). + METHOD on_event. + + CASE client->get( )-event. + WHEN `SHOW_POPUP`. + popup_input_display( ). + WHEN `POPUP_CONFIRM`. + client->message_toast_display( `confirm` ). + client->popup_destroy( ). + WHEN `POPUP_CANCEL`. + textarea = VALUE #( ). + client->message_toast_display( `cancel` ). + client->popup_destroy( ). + WHEN `SHOW_VIEW_MAIN`. + view_display( ). + WHEN `SHOW_VIEW_SECOND`. + view_second_display( ). + ENDCASE. ENDMETHOD. - METHOD z2ui5_display_view_main. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). view->shell( )->page( - title = 'abap2UI5 - Template' + title = `abap2UI5 - Template` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) - )->simple_form( title = 'VIEW_MAIN' - editable = abap_true - )->content( 'form' - )->title( 'Input' - )->label( 'quantity' + )->simple_form( + title = `VIEW_MAIN` + editable = abap_true + )->content( `form` + )->title( `Input` + )->label( `quantity` )->input( client->_bind_edit( quantity ) - )->label( 'text' + )->label( `text` )->input( - value = client->_bind_edit( mv_textarea ) + value = client->_bind_edit( textarea ) enabled = abap_false )->button( - text = 'show popup input' - press = client->_event( 'SHOW_POPUP' ) + text = `show popup input` + press = client->_event( `SHOW_POPUP` ) )->get_parent( )->get_parent( )->footer( )->overflow_toolbar( )->toolbar_spacer( )->overflow_toolbar_button( - text = 'Clear' - press = client->_event( 'BUTTON_CLEAR' ) - type = 'Reject' - icon = 'sap-icon://delete' + text = `Clear` + press = client->_event( `BUTTON_CLEAR` ) + type = `Reject` + icon = `sap-icon://delete` )->button( - text = 'Go to View Second' - press = client->_event( 'SHOW_VIEW_SECOND' ) ). + text = `Go to View Second` + press = client->_event( `SHOW_VIEW_SECOND` ) ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_display_view_second. + METHOD view_second_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). view->shell( )->page( - title = 'abap2UI5 - Template' + title = `abap2UI5 - Template` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) - )->simple_form( 'VIEW_SECOND' - )->content( 'form' + )->simple_form( `VIEW_SECOND` + )->content( `form` )->get_parent( )->get_parent( )->footer( )->overflow_toolbar( )->toolbar_spacer( )->overflow_toolbar_button( - text = 'Clear' - press = client->_event( 'BUTTON_CLEAR' ) - type = 'Reject' - icon = 'sap-icon://delete' + text = `Clear` + press = client->_event( `BUTTON_CLEAR` ) + type = `Reject` + icon = `sap-icon://delete` )->button( - text = 'Go to View Main' - press = client->_event( 'SHOW_VIEW_MAIN' ) ). + text = `Go to View Main` + press = client->_event( `SHOW_VIEW_MAIN` ) ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_if_app~main. + METHOD popup_input_display. - me->client = client. - - IF client->check_on_init( ). - z2ui5_on_init( ). - RETURN. - ENDIF. + DATA(view) = z2ui5_cl_xml_view=>factory_popup( ). + view->dialog( + title = `Title` + icon = `sap-icon://edit` + )->content( + )->text_area( + height = `100%` + width = `100%` + value = client->_bind_edit( textarea ) + )->button( + text = `Cancel` + press = client->_event( `POPUP_CANCEL` ) + )->button( + text = `Confirm` + press = client->_event( `POPUP_CONFIRM` ) + type = `Emphasized` ). - z2ui5_on_event( ). + client->popup_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_on_event. - - CASE client->get( )-event. - - WHEN 'SHOW_POPUP'. - z2ui5_display_popup_input( ). - - WHEN 'POPUP_CONFIRM'. - client->message_toast_display( |confirm| ). - client->popup_destroy( ). - - WHEN 'POPUP_CANCEL'. - CLEAR mv_textarea. - client->message_toast_display( |cancel| ). - client->popup_destroy( ). - - WHEN 'SHOW_VIEW_MAIN'. - z2ui5_display_view_main( ). + METHOD z2ui5_if_app~main. - WHEN 'SHOW_VIEW_SECOND'. - z2ui5_display_view_second( ). - ENDCASE. + me->client = client. + IF client->check_on_init( ). + on_init( ). + ELSEIF client->check_on_event( ). + on_event( ). + ENDIF. ENDMETHOD. - - METHOD z2ui5_on_init. - - quantity = '500'. - z2ui5_display_view_main( ). - - ENDMETHOD. ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_019.clas.abap b/src/z2ui5_cl_demo_app_019.clas.abap index 4195dec7..0e857eac 100644 --- a/src/z2ui5_cl_demo_app_019.clas.abap +++ b/src/z2ui5_cl_demo_app_019.clas.abap @@ -1,117 +1,122 @@ CLASS z2ui5_cl_demo_app_019 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: - BEGIN OF ty_row, + BEGIN OF ty_s_row, selkz TYPE abap_bool, title TYPE string, value TYPE string, descr TYPE string, - END OF ty_row. + END OF ty_s_row. + TYPES ty_t_rows TYPE STANDARD TABLE OF ty_s_row WITH EMPTY KEY. + DATA t_tab TYPE ty_t_rows. + DATA t_tab_sel TYPE ty_t_rows. + DATA sel_mode TYPE string. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. - DATA t_tab_sel TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. - DATA mv_sel_mode TYPE string. + PROTECTED SECTION. + DATA client TYPE REF TO z2ui5_if_client. + METHODS view_display. - PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_019 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_019 IMPLEMENTATION. - - - METHOD z2ui5_if_app~main. - - IF client->check_on_init( ). - - mv_sel_mode = 'None'. - t_tab = VALUE #( descr = 'this is a description' - ( title = 'title_01' value = 'value_01' ) - ( title = 'title_02' value = 'value_02' ) - ( title = 'title_03' value = 'value_03' ) - ( title = 'title_04' value = 'value_04' ) - ( title = 'title_05' value = 'value_05' ) ). - - ENDIF. - - CASE client->get( )-event. - WHEN 'BUTTON_SEGMENT_CHANGE'. - client->message_toast_display( `Selection Mode changed` ). - - WHEN 'BUTTON_READ_SEL'. - t_tab_sel = t_tab. - DELETE t_tab_sel WHERE selkz <> abap_true. - ENDCASE. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( )->page( - title = 'abap2UI5 - Table with different Selection Modes' + title = `abap2UI5 - Table with different Selection Modes` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) ). page->segmented_button( - selected_key = client->_bind_edit( mv_sel_mode ) - selection_change = client->_event( 'BUTTON_SEGMENT_CHANGE' ) )->get( + selected_key = client->_bind_edit( sel_mode ) + selection_change = client->_event( `BUTTON_SEGMENT_CHANGE` ) )->get( )->items( )->get( )->segmented_button_item( - key = 'None' - text = 'None' + key = `None` + text = `None` )->segmented_button_item( - key = 'SingleSelect' - text = 'SingleSelect' + key = `SingleSelect` + text = `SingleSelect` )->segmented_button_item( - key = 'SingleSelectLeft' - text = 'SingleSelectLeft' + key = `SingleSelectLeft` + text = `SingleSelectLeft` )->segmented_button_item( - key = 'SingleSelectMaster' - text = 'SingleSelectMaster' + key = `SingleSelectMaster` + text = `SingleSelectMaster` )->segmented_button_item( - key = 'MultiSelect' - text = 'MultiSelect' ). + key = `MultiSelect` + text = `MultiSelect` ). page->table( - headertext = 'Table' - mode = mv_sel_mode + headertext = `Table` + mode = sel_mode items = client->_bind_edit( t_tab ) )->columns( - )->column( )->text( 'Title' )->get_parent( - )->column( )->text( 'Value' )->get_parent( - )->column( )->text( 'Description' + )->column( )->text( `Title` )->get_parent( + )->column( )->text( `Value` )->get_parent( + )->column( )->text( `Description` )->get_parent( )->get_parent( )->items( - )->column_list_item( selected = '{SELKZ}' + )->column_list_item( selected = `{SELKZ}` )->cells( - )->text( '{TITLE}' - )->text( '{VALUE}' - )->text( '{DESCR}' ). + )->text( `{TITLE}` + )->text( `{VALUE}` + )->text( `{DESCR}` ). page->table( client->_bind( t_tab_sel ) )->header_toolbar( )->overflow_toolbar( - )->title( 'Selected Entries' + )->title( `Selected Entries` )->button( - icon = 'sap-icon://pull-down' - text = 'copy selected entries' - press = client->_event( 'BUTTON_READ_SEL' ) + icon = `sap-icon://pull-down` + text = `copy selected entries` + press = client->_event( `BUTTON_READ_SEL` ) )->get_parent( )->get_parent( )->columns( - )->column( )->text( 'Title' )->get_parent( - )->column( )->text( 'Value' )->get_parent( - )->column( )->text( 'Description' + )->column( )->text( `Title` )->get_parent( + )->column( )->text( `Value` )->get_parent( + )->column( )->text( `Description` )->get_parent( )->get_parent( )->items( )->column_list_item( )->cells( - )->text( '{TITLE}' - )->text( '{VALUE}' - )->text( '{DESCR}' ). + )->text( `{TITLE}` + )->text( `{VALUE}` + )->text( `{DESCR}` ). client->view_display( view->stringify( ) ). ENDMETHOD. + + + METHOD z2ui5_if_app~main. + + me->client = client. + IF client->check_on_init( ). + + sel_mode = `None`. + t_tab = VALUE #( descr = `this is a description` + ( title = `title_01` value = `value_01` ) + ( title = `title_02` value = `value_02` ) + ( title = `title_03` value = `value_03` ) + ( title = `title_04` value = `value_04` ) + ( title = `title_05` value = `value_05` ) ). + + ELSEIF client->check_on_event( `BUTTON_SEGMENT_CHANGE` ). + client->message_toast_display( `Selection Mode changed` ). + ELSEIF client->check_on_event( `BUTTON_READ_SEL` ). + t_tab_sel = t_tab. + DELETE t_tab_sel WHERE selkz <> abap_true. + ENDIF. + + view_display( ). + + ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_020.clas.abap b/src/z2ui5_cl_demo_app_020.clas.abap index a4a0b63b..881d2f6d 100644 --- a/src/z2ui5_cl_demo_app_020.clas.abap +++ b/src/z2ui5_cl_demo_app_020.clas.abap @@ -1,7 +1,6 @@ CLASS z2ui5_cl_demo_app_020 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. CLASS-METHODS factory @@ -14,64 +13,56 @@ CLASS z2ui5_cl_demo_app_020 DEFINITION PUBLIC. RETURNING VALUE(result) TYPE REF TO z2ui5_cl_demo_app_020. - - - DATA mv_text TYPE string. - DATA mv_cancel_text TYPE string. - DATA mv_cancel_event TYPE string. - DATA mv_confirm_text TYPE string. - DATA mv_confirm_event TYPE string. - DATA mv_event TYPE string. + DATA text TYPE string. + DATA cancel_text TYPE string. + DATA cancel_event TYPE string. + DATA confirm_text TYPE string. + DATA confirm_event TYPE string. + DATA event TYPE string. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_020 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_020 IMPLEMENTATION. METHOD factory. result = NEW #( ). - - result->mv_text = i_text. - result->mv_cancel_text = i_cancel_text. - result->mv_cancel_event = i_cancel_event. - result->mv_confirm_text = i_confirm_text. - result->mv_confirm_event = i_confirm_event. + result->text = i_text. + result->cancel_text = i_cancel_text. + result->cancel_event = i_cancel_event. + result->confirm_text = i_confirm_text. + result->confirm_event = i_confirm_event. ENDMETHOD. METHOD z2ui5_if_app~main. - IF client->check_on_init( ). - ENDIF. - CASE client->get( )-event. - - WHEN mv_cancel_event OR mv_confirm_event. - mv_event = client->get( )-event. + WHEN cancel_event OR confirm_event. + event = client->get( )-event. client->popup_destroy( ). client->nav_app_leave( ). RETURN. ENDCASE. client->popup_display( z2ui5_cl_xml_view=>factory_popup( - )->dialog( 'abap2UI5 - Popup to decide' + )->dialog( `abap2UI5 - Popup to decide` )->vbox( - )->text( mv_text )->get_parent( + )->text( text )->get_parent( )->buttons( )->button( - text = mv_cancel_text - press = client->_event( mv_cancel_event ) + text = cancel_text + press = client->_event( cancel_event ) )->button( - text = mv_confirm_text - press = client->_event( mv_confirm_event ) - type = 'Emphasized' + text = confirm_text + press = client->_event( confirm_event ) + type = `Emphasized` )->stringify( ) ). ENDMETHOD. + ENDCLASS. From e36c879e38baec024853d5dd8eadabb6ea5f83f0 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 9 Apr 2026 05:17:46 +0000 Subject: [PATCH 2/2] Refactor samples 021-030 per app guidelines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove CREATE PUBLIC, mv_ prefixes, z2ui5_ method prefixes - Replace single quotes with backticks throughout - Convert && with variables to string templates where possible - Apply lifecycle chain (check_on_init / check_on_navigated / check_on_event) - Extract view_display for large apps; inline for simple apps - Fix declaration order: TYPES → DATA → METHODS per section - Move client ref to PROTECTED SECTION in all apps - Rename ty_row → ty_s_row in 028 and 030 - 027: pre-compute path bindings; use && for complex binding expressions that cannot be placed inside string template expressions - 025: extract view_display with CASE on show_view; add check_on_init branch - 024: add missing check_on_init branch; 4 events → on_event with CASE - 030: extract view_display (~100 lines); remove BUTTON_ROUNDTRIP dummy https://claude.ai/code/session_01HH52uVT6bQkXiuRChb1pz7 --- src/z2ui5_cl_demo_app_021.clas.abap | 104 +++++------- src/z2ui5_cl_demo_app_022.clas.abap | 70 +++----- src/z2ui5_cl_demo_app_024.clas.abap | 132 ++++++++------ src/z2ui5_cl_demo_app_025.clas.abap | 157 +++++++++-------- src/z2ui5_cl_demo_app_026.clas.abap | 197 ++++++++++----------- src/z2ui5_cl_demo_app_027.clas.abap | 179 +++++++++---------- src/z2ui5_cl_demo_app_028.clas.abap | 109 ++++++------ src/z2ui5_cl_demo_app_029.clas.abap | 110 ++++++------ src/z2ui5_cl_demo_app_030.clas.abap | 255 ++++++++++++++-------------- 9 files changed, 633 insertions(+), 680 deletions(-) diff --git a/src/z2ui5_cl_demo_app_021.clas.abap b/src/z2ui5_cl_demo_app_021.clas.abap index 7cc75076..ca0add61 100644 --- a/src/z2ui5_cl_demo_app_021.clas.abap +++ b/src/z2ui5_cl_demo_app_021.clas.abap @@ -1,88 +1,60 @@ -CLASS z2ui5_cl_demo_app_021 DEFINITION PUBLIC CREATE PUBLIC. +CLASS z2ui5_cl_demo_app_021 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA mv_textarea TYPE string. - - PROTECTED SECTION. - - DATA client TYPE REF TO z2ui5_if_client. + DATA textarea TYPE string. - METHODS z2ui5_set_data. - METHODS display_view - IMPORTING - client TYPE REF TO z2ui5_if_client. - METHODS on_event - IMPORTING - client TYPE REF TO z2ui5_if_client. + PROTECTED SECTION. + DATA client TYPE REF TO z2ui5_if_client. PRIVATE SECTION. - ENDCLASS. - CLASS z2ui5_cl_demo_app_021 IMPLEMENTATION. - - METHOD display_view. - - DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( - )->page( - title = 'abap2UI5 - Text Area Example' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) ). - - DATA(layout) = page->vertical_layout( class = `sapUiContentPadding` - width = `100%` ). - layout->label( 'text area' - )->text_area( - valueliveupdate = abap_true - value = client->_bind_edit( mv_textarea ) - growing = abap_true - growingmaxlines = '7' - width = '100%' - )->button( text = `OK` - press = client->_event( `POST` ) ). - - client->view_display( page->stringify( ) ). - - ENDMETHOD. - - - METHOD on_event. - - IF client->check_on_event( 'POST' ). - client->message_box_display( 'success - values send to the server' ). - ENDIF. - - ENDMETHOD. - - METHOD z2ui5_if_app~main. me->client = client. IF client->check_on_init( ). - display_view( client ). - z2ui5_set_data( ). - ENDIF. - on_event( client ). + textarea = `Lorem ipsum dolor st amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn` && + `a aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd` && + ` gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam n ` && + ` onumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit am ` && + ` et, consetetur sadipscing elitr, sed diam nonumy eirm sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam no ` && + `numy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.`. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + DATA(page) = view->shell( + )->page( + title = `abap2UI5 - Text Area Example` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) ). + + DATA(layout) = page->vertical_layout( + class = `sapUiContentPadding` + width = `100%` ). + + layout->label( `text area` + )->text_area( + valueliveupdate = abap_true + value = client->_bind_edit( textarea ) + growing = abap_true + growingmaxlines = `7` + width = `100%` + )->button( + text = `OK` + press = client->_event( `POST` ) ). + + client->view_display( view->stringify( ) ). + + ELSEIF client->check_on_event( `POST` ). + client->message_box_display( `success - values send to the server` ). + ENDIF. ENDMETHOD. - - METHOD z2ui5_set_data. - - mv_textarea = `Lorem ipsum dolor st amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn` && - `a aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd` && - ` gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam n ` && - ` onumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit am ` && - ` et, consetetur sadipscing elitr, sed diam nonumy eirm sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam no ` && - `numy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.`. - - ENDMETHOD. ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_022.clas.abap b/src/z2ui5_cl_demo_app_022.clas.abap index afdba12d..41499a6a 100644 --- a/src/z2ui5_cl_demo_app_022.clas.abap +++ b/src/z2ui5_cl_demo_app_022.clas.abap @@ -1,67 +1,43 @@ CLASS z2ui5_cl_demo_app_022 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA: - BEGIN OF screen, - progress_value TYPE string VALUE '3', - END OF screen. - - + DATA progress_value TYPE string. PROTECTED SECTION. - - METHODS display_view - IMPORTING - client TYPE REF TO z2ui5_if_client. - - METHODS on_event - IMPORTING - client TYPE REF TO z2ui5_if_client. - PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_022 IMPLEMENTATION. - - METHOD display_view. - - DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( - )->page( - title = 'abap2UI5 - Progress Indicator Example' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) ). - - DATA(layout) = page->vertical_layout( class = `sapUiContentPadding` - width = `100%` ). - layout->label( 'ProgressIndicator' - )->progress_indicator( - percentvalue = screen-progress_value - displayvalue = '0,44GB of 32GB used' - showvalue = abap_true - state = 'Success' ). - - client->view_display( page->stringify( ) ). - - ENDMETHOD. - - - METHOD on_event. - ENDMETHOD. - - METHOD z2ui5_if_app~main. IF client->check_on_init( ). - display_view( client ). - ENDIF. - on_event( client ). + progress_value = `3`. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + view->shell( + )->page( + title = `abap2UI5 - Progress Indicator Example` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) + )->vertical_layout( + class = `sapUiContentPadding` + width = `100%` + )->label( `ProgressIndicator` + )->progress_indicator( + percentvalue = client->_bind( progress_value ) + displayvalue = `0,44GB of 32GB used` + showvalue = abap_true + state = `Success` ). + + client->view_display( view->stringify( ) ). + + ENDIF. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_024.clas.abap b/src/z2ui5_cl_demo_app_024.clas.abap index 08edb4e9..9e53396c 100644 --- a/src/z2ui5_cl_demo_app_024.clas.abap +++ b/src/z2ui5_cl_demo_app_024.clas.abap @@ -1,89 +1,111 @@ CLASS z2ui5_cl_demo_app_024 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA mv_input TYPE string. - DATA mv_input2 TYPE string. - DATA mv_backend_event TYPE string. + DATA input TYPE string. + DATA input2 TYPE string. + DATA backend_event TYPE string. PROTECTED SECTION. + DATA client TYPE REF TO z2ui5_if_client. - METHODS display_view - IMPORTING - client TYPE REF TO z2ui5_if_client. + METHODS on_event. + METHODS view_display. PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_024 IMPLEMENTATION. + METHOD z2ui5_if_app~main. - METHOD display_view. + me->client = client. - DATA(view) = z2ui5_cl_xml_view=>factory( ). - view->shell( - )->page( title = 'abap2UI5 - flow logic - APP 01' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) - )->grid( 'L6 M12 S12' )->content( 'layout' - )->simple_form( 'Controller' )->content( 'form' - )->label( 'Demo' - )->button( text = 'call new app (first View)' - press = client->_event( 'CALL_NEW_APP' ) - )->label( 'Demo' - )->button( text = 'call new app (second View)' - press = client->_event( 'CALL_NEW_APP_VIEW' ) - )->label( 'Demo' - )->button( text = 'call new app (set Event)' - press = client->_event( 'CALL_NEW_APP_EVENT' ) - )->label( 'Demo' - )->input( client->_bind_edit( mv_input ) - )->button( text = 'call new app (set data)' - press = client->_event( 'CALL_NEW_APP_READ' ) - )->label( 'some data, you can read in the next app' - )->input( client->_bind_edit( mv_input2 ) ). + IF client->check_on_init( ). + view_display( ). - client->view_display( view->stringify( ) ). + ELSEIF client->check_on_navigated( ). - ENDMETHOD. + IF backend_event = `CALL_PREVIOUS_APP_INPUT_RETURN`. + DATA(app_025) = CAST z2ui5_cl_demo_app_025( client->get_app_prev( ) ). + backend_event = VALUE #( ). + client->message_box_display( |Input made in the previous app: { app_025->input }| ). - METHOD z2ui5_if_app~main. - - IF client->check_on_navigated( ). - display_view( client ). - IF mv_backend_event = 'CALL_PREVIOUS_APP_INPUT_RETURN'. - DATA(lo_called_app) = CAST z2ui5_cl_demo_app_025( client->get_app_prev( ) ). - CLEAR mv_backend_event. - client->message_box_display( `Input made in the previous app:` && lo_called_app->mv_input ). ENDIF. - RETURN. + + view_display( ). + + ELSEIF client->check_on_event( ). + on_event( ). ENDIF. + ENDMETHOD. + + + METHOD on_event. + CASE client->get( )-event. - WHEN 'CALL_NEW_APP'. + WHEN `CALL_NEW_APP`. client->nav_app_call( NEW z2ui5_cl_demo_app_025( ) ). - WHEN 'CALL_NEW_APP_VIEW'. - DATA(lo_app) = NEW z2ui5_cl_demo_app_025( ). - lo_app->mv_show_view = 'SECOND'. - client->nav_app_call( lo_app ). + WHEN `CALL_NEW_APP_VIEW`. + DATA(app) = NEW z2ui5_cl_demo_app_025( ). + app->show_view = `SECOND`. + client->nav_app_call( app ). - WHEN 'CALL_NEW_APP_READ'. - DATA(lo_app_next) = NEW z2ui5_cl_demo_app_025( ). - lo_app_next->mv_input_previous_set = mv_input. - client->nav_app_call( lo_app_next ). + WHEN `CALL_NEW_APP_READ`. + DATA(app_next) = NEW z2ui5_cl_demo_app_025( ). + app_next->input_previous_set = input. + client->nav_app_call( app_next ). + + WHEN `CALL_NEW_APP_EVENT`. + app_next = NEW z2ui5_cl_demo_app_025( ). + app_next->event_backend = `NEW_APP_EVENT`. + client->nav_app_call( app_next ). - WHEN 'CALL_NEW_APP_EVENT'. - lo_app_next = NEW z2ui5_cl_demo_app_025( ). - lo_app_next->mv_event_backend = 'NEW_APP_EVENT'. - client->nav_app_call( lo_app_next ). ENDCASE. ENDMETHOD. + + + METHOD view_display. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + view->shell( + )->page( + title = `abap2UI5 - flow logic - APP 01` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) + )->grid( `L6 M12 S12` + )->content( `layout` + )->simple_form( `Controller` + )->content( `form` + )->label( `Demo` + )->button( + text = `call new app (first View)` + press = client->_event( `CALL_NEW_APP` ) + )->label( `Demo` + )->button( + text = `call new app (second View)` + press = client->_event( `CALL_NEW_APP_VIEW` ) + )->label( `Demo` + )->button( + text = `call new app (set Event)` + press = client->_event( `CALL_NEW_APP_EVENT` ) + )->label( `Demo` + )->input( client->_bind_edit( input ) + )->button( + text = `call new app (set data)` + press = client->_event( `CALL_NEW_APP_READ` ) + )->label( `some data, you can read in the next app` + )->input( client->_bind_edit( input2 ) ). + + client->view_display( view->stringify( ) ). + + ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_025.clas.abap b/src/z2ui5_cl_demo_app_025.clas.abap index ab037eaa..e7441102 100644 --- a/src/z2ui5_cl_demo_app_025.clas.abap +++ b/src/z2ui5_cl_demo_app_025.clas.abap @@ -1,106 +1,123 @@ CLASS z2ui5_cl_demo_app_025 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA mv_input TYPE string. - DATA mv_input_previous TYPE string. - DATA mv_input_previous_set TYPE string. - DATA mv_show_view TYPE string. + DATA input TYPE string. + DATA input_previous TYPE string. + DATA input_previous_set TYPE string. + DATA show_view TYPE string. + DATA event_backend TYPE string. - DATA mv_event_backend TYPE string. PROTECTED SECTION. + DATA client TYPE REF TO z2ui5_if_client. + + METHODS on_event. + METHODS view_display. + PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_025 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_025 IMPLEMENTATION. + METHOD z2ui5_if_app~main. + me->client = client. - METHOD z2ui5_if_app~main. + IF client->check_on_init( ). + + IF event_backend = `NEW_APP_EVENT`. + client->message_box_display( `new app called and event NEW_APP_EVENT raised` ). + ENDIF. + + ELSEIF client->check_on_event( ). + on_event( ). + ENDIF. + + view_display( ). + + ENDMETHOD. + + + METHOD on_event. CASE client->get( )-event. - WHEN 'BUTTON_ROUNDTRIP'. - client->message_box_display( 'server-client roundtrip, method on_event of the abap controller was called' ). + WHEN `BUTTON_ROUNDTRIP`. + client->message_box_display( `server-client roundtrip, method on_event of the abap controller was called` ). - WHEN 'BUTTON_RESTART'. + WHEN `BUTTON_RESTART`. client->nav_app_call( NEW z2ui5_cl_demo_app_025( ) ). - WHEN 'BUTTON_CHANGE_APP'. + WHEN `BUTTON_CHANGE_APP`. client->nav_app_call( NEW z2ui5_cl_demo_app_001( ) ). - WHEN 'BUTTON_READ_PREVIOUS'. - DATA(lo_previous_app) = CAST z2ui5_cl_demo_app_024( client->get_app( client->get( )-s_draft-id_prev_app ) ). - mv_input_previous = lo_previous_app->mv_input2. + WHEN `BUTTON_READ_PREVIOUS`. + DATA(app_024) = CAST z2ui5_cl_demo_app_024( client->get_app( client->get( )-s_draft-id_prev_app ) ). + input_previous = app_024->input2. client->message_toast_display( `data of previous app read` ). - WHEN 'SHOW_VIEW_MAIN'. - mv_show_view = 'MAIN'. - - WHEN 'BACK_WITH_EVENT'. - lo_previous_app = CAST z2ui5_cl_demo_app_024( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ). - lo_previous_app->mv_backend_event = 'CALL_PREVIOUS_APP_INPUT_RETURN'. - client->nav_app_leave( lo_previous_app ). - WHEN OTHERS. - - CASE mv_event_backend. + WHEN `SHOW_VIEW_MAIN`. + show_view = `MAIN`. - WHEN 'NEW_APP_EVENT'. - client->message_box_display( 'new app called and event NEW_APP_EVENT raised' ). - - ENDCASE. + WHEN `BACK_WITH_EVENT`. + DATA(app_back) = CAST z2ui5_cl_demo_app_024( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ). + app_back->backend_event = `CALL_PREVIOUS_APP_INPUT_RETURN`. + client->nav_app_leave( app_back ). ENDCASE. + ENDMETHOD. + - CASE mv_show_view. - - WHEN 'MAIN' OR ''. - - DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - flow logic - APP 02' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) ). - - page->grid( 'L6 M12 S12' )->content( 'layout' - )->simple_form( 'View: FIRST' )->content( 'form' - )->label( 'Input set by previous app' - )->input( mv_input_previous_set - )->label( 'Data of previous app' - )->input( mv_input_previous - )->button( text = 'read' - press = client->_event( 'BUTTON_READ_PREVIOUS' ) - )->label( 'Call previous app and show data of this app' - )->input( client->_bind_edit( mv_input ) - )->button( text = 'back' - press = client->_event( 'BACK_WITH_EVENT' ) ). - - WHEN 'SECOND'. - - view = z2ui5_cl_xml_view=>factory( ). - page = view->shell( - )->page( - title = 'abap2UI5 - flow logic - APP 02' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) ). - - page->grid( 'L6 M12 S12' )->content( 'layout' - )->simple_form( 'View: SECOND' )->content( 'form' - )->label( 'Demo' - )->button( text = 'leave to previous app' - press = client->_event_nav_app_leave( ) - )->label( 'Demo' - )->button( text = 'show view main' - press = client->_event( 'SHOW_VIEW_MAIN' ) ). + METHOD view_display. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + DATA(page) = view->shell( + )->page( + title = `abap2UI5 - flow logic - APP 02` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) ). + + CASE show_view. + + WHEN `MAIN` OR ``. + page->grid( `L6 M12 S12` + )->content( `layout` + )->simple_form( `View: FIRST` + )->content( `form` + )->label( `Input set by previous app` + )->input( input_previous_set + )->label( `Data of previous app` + )->input( input_previous + )->button( + text = `read` + press = client->_event( `BUTTON_READ_PREVIOUS` ) + )->label( `Call previous app and show data of this app` + )->input( client->_bind_edit( input ) + )->button( + text = `back` + press = client->_event( `BACK_WITH_EVENT` ) ). + + WHEN `SECOND`. + page->grid( `L6 M12 S12` + )->content( `layout` + )->simple_form( `View: SECOND` + )->content( `form` + )->label( `Demo` + )->button( + text = `leave to previous app` + press = client->_event_nav_app_leave( ) + )->label( `Demo` + )->button( + text = `show view main` + press = client->_event( `SHOW_VIEW_MAIN` ) ). ENDCASE. client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_026.clas.abap b/src/z2ui5_cl_demo_app_026.clas.abap index 25a39ade..d8aaf6b1 100644 --- a/src/z2ui5_cl_demo_app_026.clas.abap +++ b/src/z2ui5_cl_demo_app_026.clas.abap @@ -1,149 +1,132 @@ CLASS z2ui5_cl_demo_app_026 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA product TYPE string. - DATA quantity TYPE string. - DATA mv_placement TYPE string. + DATA product TYPE string. + DATA quantity TYPE string. + DATA placement TYPE string. PROTECTED SECTION. - DATA client TYPE REF TO z2ui5_if_client. - - METHODS z2ui5_on_init. - METHODS z2ui5_on_event. - METHODS z2ui5_display_view. - METHODS z2ui5_display_popover + METHODS popover_display IMPORTING id TYPE string. + METHODS view_display. PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_026 IMPLEMENTATION. -CLASS Z2UI5_CL_DEMO_APP_026 IMPLEMENTATION. - - - METHOD z2ui5_display_popover. - - DATA(view) = z2ui5_cl_xml_view=>factory_popup( ). - view->popover( - title = 'Popover Title' - placement = mv_placement - )->footer( )->overflow_toolbar( - )->toolbar_spacer( - )->button( - text = 'Cancel' - press = client->_event( 'BUTTON_CANCEL' ) - )->button( - text = 'Confirm' - press = client->_event( 'BUTTON_CONFIRM' ) - type = 'Emphasized' - )->get_parent( )->get_parent( - )->text( 'make an input here:' - )->input( 'abcd' ). - - client->popover_display( - xml = view->stringify( ) - by_id = id ). + METHOD z2ui5_if_app~main. - ENDMETHOD. + me->client = client. + IF client->check_on_init( ). - METHOD z2ui5_display_view. + placement = `Left`. + product = `tomato`. + quantity = `500`. - DATA(view) = z2ui5_cl_xml_view=>factory( ). - view->shell( - )->page( - title = 'abap2UI5 - Popover Examples' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) - )->simple_form( 'Popover' - )->content( 'form' - )->title( 'Input' - )->label( 'Link' - )->link( text = 'Documentation UI5 Popover Control' - href = 'https://openui5.hana.ondemand.com/entity/sap.m.Popover' - )->label( 'placement' - )->segmented_button( client->_bind_edit( mv_placement ) - )->items( - )->segmented_button_item( - key = 'Left' - icon = 'sap-icon://add-favorite' - text = 'Left' - )->segmented_button_item( - key = 'Top' - icon = 'sap-icon://accept' - text = 'Top' - )->segmented_button_item( - key = 'Bottom' - icon = 'sap-icon://accept' - text = 'Bottom' - )->segmented_button_item( - key = 'Right' - icon = 'sap-icon://attachment' - text = 'Right' - )->get_parent( )->get_parent( - )->label( 'popover' - )->button( - text = 'show' - press = client->_event( 'POPOVER' ) - id = 'TEST' - )->button( - text = 'cancel' - press = client->_event( 'POPOVER' ) - )->button( - text = 'post' - press = client->_event( 'POPOVER' ) ). + view_display( ). - client->view_display( view->stringify( ) ). + ELSEIF client->check_on_event( `POPOVER` ). + popover_display( `TEST` ). - ENDMETHOD. + ELSEIF client->check_on_event( `BUTTON_CONFIRM` ). + client->message_toast_display( `confirm` ). + client->popover_destroy( ). - METHOD z2ui5_if_app~main. + ELSEIF client->check_on_event( `BUTTON_CANCEL` ). - me->client = client. + client->message_toast_display( `cancel` ). + client->popover_destroy( ). - IF client->check_on_init( ). - z2ui5_on_init( ). - z2ui5_display_view( ). - RETURN. ENDIF. - z2ui5_on_event( ). - ENDMETHOD. - METHOD z2ui5_on_event. - - CASE client->get( )-event. - - WHEN 'POPOVER'. - z2ui5_display_popover( `TEST` ). + METHOD popover_display. - WHEN 'BUTTON_CONFIRM'. - client->message_toast_display( |confirm| ). - client->popover_destroy( ). + DATA(view) = z2ui5_cl_xml_view=>factory_popup( ). + view->popover( + title = `Popover Title` + placement = placement + )->footer( + )->overflow_toolbar( + )->toolbar_spacer( + )->button( + text = `Cancel` + press = client->_event( `BUTTON_CANCEL` ) + )->button( + text = `Confirm` + press = client->_event( `BUTTON_CONFIRM` ) + type = `Emphasized` + )->get_parent( )->get_parent( + )->text( `make an input here:` + )->input( `abcd` ). - WHEN 'BUTTON_CANCEL'. - client->message_toast_display( |cancel| ). - client->popover_destroy( ). - ENDCASE. + client->popover_display( + xml = view->stringify( ) + by_id = id ). ENDMETHOD. - METHOD z2ui5_on_init. + METHOD view_display. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + view->shell( + )->page( + title = `abap2UI5 - Popover Examples` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) + )->simple_form( `Popover` + )->content( `form` + )->title( `Input` + )->label( `Link` + )->link( + text = `Documentation UI5 Popover Control` + href = `https://openui5.hana.ondemand.com/entity/sap.m.Popover` + )->label( `placement` + )->segmented_button( client->_bind_edit( placement ) + )->items( + )->segmented_button_item( + key = `Left` + icon = `sap-icon://add-favorite` + text = `Left` + )->segmented_button_item( + key = `Top` + icon = `sap-icon://accept` + text = `Top` + )->segmented_button_item( + key = `Bottom` + icon = `sap-icon://accept` + text = `Bottom` + )->segmented_button_item( + key = `Right` + icon = `sap-icon://attachment` + text = `Right` + )->get_parent( )->get_parent( + )->label( `popover` + )->button( + text = `show` + press = client->_event( `POPOVER` ) + id = `TEST` + )->button( + text = `cancel` + press = client->_event( `POPOVER` ) + )->button( + text = `post` + press = client->_event( `POPOVER` ) ). - mv_placement = 'Left'. - product = 'tomato'. - quantity = '500'. + client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_027.clas.abap b/src/z2ui5_cl_demo_app_027.clas.abap index aa98063b..6aabb3b8 100644 --- a/src/z2ui5_cl_demo_app_027.clas.abap +++ b/src/z2ui5_cl_demo_app_027.clas.abap @@ -1,133 +1,114 @@ CLASS z2ui5_cl_demo_app_027 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. DATA product TYPE string. DATA quantity TYPE i. - DATA input2 TYPE string. - DATA input31 TYPE i. - DATA input32 TYPE i. - DATA input41 TYPE string. - DATA input51 TYPE string. - DATA input52 TYPE string. + DATA input2 TYPE string. + DATA input31 TYPE i. + DATA input32 TYPE i. + DATA input41 TYPE string. + DATA input51 TYPE string. + DATA input52 TYPE string. PROTECTED SECTION. + DATA client TYPE REF TO z2ui5_if_client. - DATA client TYPE REF TO z2ui5_if_client. - DATA: - BEGIN OF app, - check_initialized TYPE abap_bool, - view_main TYPE string, - view_popup TYPE string, - s_get TYPE z2ui5_if_types=>ty_s_get, - END OF app. - - METHODS z2ui5_on_init. - METHODS z2ui5_on_event. - METHODS z2ui5_on_render. + METHODS view_display. PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_027 IMPLEMENTATION. - METHOD z2ui5_if_app~main. - me->client = client. - app-s_get = client->get( ). - app-view_popup = ``. - - IF app-check_initialized = abap_false. - app-check_initialized = abap_true. - z2ui5_on_init( ). - ENDIF. - - IF app-s_get-event IS NOT INITIAL. - z2ui5_on_event( ). - ENDIF. + me->client = client. - z2ui5_on_render( ). + IF client->check_on_init( ). - CLEAR app-s_get. + product = `tomato`. + quantity = `500`. + input41 = `faasdfdfsaVIp`. - ENDMETHOD. + ENDIF. + view_display( ). - METHOD z2ui5_on_event. ENDMETHOD. - METHOD z2ui5_on_init. + METHOD view_display. - product = 'tomato'. - quantity = '500'. - app-view_main = 'VIEW_MAIN'. - input41 = 'faasdfdfsaVIp'. + DATA bind_input31 TYPE string. + DATA bind_input32 TYPE string. + DATA bind_quantity TYPE string. + DATA bind_input51 TYPE string. + DATA bind_input52 TYPE string. - ENDMETHOD. - - - METHOD z2ui5_on_render. + bind_input31 = client->_bind( val = input31 path = abap_true ). + bind_input32 = client->_bind( val = input32 path = abap_true ). + bind_quantity = client->_bind( val = quantity path = abap_true ). + bind_input51 = client->_bind( val = input51 path = abap_true ). + bind_input52 = client->_bind( val = input52 path = abap_true ). DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(lv_xml) = view->shell( - )->page( - title = 'abap2UI5 - Binding Syntax' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) - )->simple_form( title = 'Binding Syntax' - editable = abap_true - )->content( 'form' - )->title( 'Expression Binding' - )->label( 'Documentation' - )->link( - text = 'Expression Binding' - href = 'https://sapui5.hana.ondemand.com/sdk/#/topic/daf6852a04b44d118963968a1239d2c0' - )->label( 'input in uppercase' - )->input( client->_bind( input2 ) - )->input( - value = '{= $' && client->_bind( input2 ) && '.toUpperCase() }' - enabled = abap_false - )->label( 'max value of the first two inputs' - )->input( '{ type : "sap.ui.model.type.Integer",' && - ' path:"' && client->_bind( val = input31 - path = abap_true ) && '" }' - )->input( '{ type : "sap.ui.model.type.Integer",' && |\n| && - ' path:"' && client->_bind( val = input32 - path = abap_true ) && '" }' - )->input( - value = '{= Math.max($' && client->_bind( input31 ) &&', $' && client->_bind( input32 ) && ') }' - enabled = abap_false - )->label( 'only enabled when the quantity equals 500' - )->input( '{ type : "sap.ui.model.type.Integer",' && - ' path:"' && client->_bind( val = quantity - path = abap_true ) && `" }` - )->input( - value = product - enabled = '{= 500===$' && client->_bind( quantity ) && ' }' - )->label( 'RegExp Set to enabled if the input contains VIP, ignoring the case.' - )->input( client->_bind( val = input41 ) - )->button( - text = 'VIP' - enabled = '{= RegExp(''vip'', ''i'').test($' && client->_bind( input41 ) && ') }' - )->label( 'concatenate both inputs' - )->input( client->_bind( val = input51 ) - )->input( client->_bind( val = input52 ) - )->input( - value = '{ parts: [' && |\n| && - ' "' && client->_bind( val = input51 path = abap_true ) && '",' && |\n| && - ' "' && client->_bind( val = input52 path = abap_true ) && '"' && |\n| && - ' ] }' - enabled = abap_false - )->get_root( )->xml_get( ). - - - client->view_display( lv_xml ). + DATA(form) = view->shell( + )->page( + title = `abap2UI5 - Binding Syntax` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) + )->simple_form( + title = `Binding Syntax` + editable = abap_true + )->content( `form` ). + + form->title( `Expression Binding` + )->label( `Documentation` + )->link( + text = `Expression Binding` + href = `https://sapui5.hana.ondemand.com/sdk/#/topic/daf6852a04b44d118963968a1239d2c0` + )->label( `input in uppercase` + )->input( client->_bind( input2 ) + )->input( + value = |\{= ${ client->_bind( input2 ) }.toUpperCase() \}| + enabled = abap_false + )->label( `max value of the first two inputs` + )->input( + `{ type : "sap.ui.model.type.Integer",` && + ` path:"` && bind_input31 && `" }` + )->input( + `{ type : "sap.ui.model.type.Integer",` && |\n| && + ` path:"` && bind_input32 && `" }` + )->input( + value = |\{= Math.max(${ client->_bind( input31 ) }, ${ client->_bind( input32 ) }) \}| + enabled = abap_false + )->label( `only enabled when the quantity equals 500` + )->input( + `{ type : "sap.ui.model.type.Integer",` && + ` path:"` && bind_quantity && `" }` + )->input( + value = product + enabled = |\{= 500===${ client->_bind( quantity ) } \}| + )->label( `RegExp Set to enabled if the input contains VIP, ignoring the case.` + )->input( client->_bind( input41 ) + )->button( + text = `VIP` + enabled = |\{= RegExp('vip', 'i').test(${ client->_bind( input41 ) }) \}| + )->label( `concatenate both inputs` + )->input( client->_bind( input51 ) + )->input( client->_bind( input52 ) + )->input( + value = `{ parts: [` && |\n| && + ` "` && bind_input51 && `",` && |\n| && + ` "` && bind_input52 && `"` && |\n| && + ` ] }` + enabled = abap_false ). + + client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_028.clas.abap b/src/z2ui5_cl_demo_app_028.clas.abap index de31a248..ad23d1c3 100644 --- a/src/z2ui5_cl_demo_app_028.clas.abap +++ b/src/z2ui5_cl_demo_app_028.clas.abap @@ -1,31 +1,28 @@ CLASS z2ui5_cl_demo_app_028 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: - BEGIN OF ty_row, + BEGIN OF ty_s_row, title TYPE string, value TYPE string, descr TYPE string, icon TYPE string, info TYPE string, checkbox TYPE abap_bool, - END OF ty_row. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + END OF ty_s_row. + DATA t_tab TYPE STANDARD TABLE OF ty_s_row WITH EMPTY KEY. - DATA mv_counter TYPE i. - DATA mv_check_active TYPE abap_bool. + DATA counter TYPE i. + DATA check_active TYPE abap_bool. PROTECTED SECTION. - DATA client TYPE REF TO z2ui5_if_client. - - METHODS z2ui5_on_init. - METHODS z2ui5_on_event. - METHODS z2ui5_view_display. + METHODS on_init. + METHODS on_event. + METHODS view_display. PRIVATE SECTION. ENDCLASS. @@ -33,76 +30,82 @@ ENDCLASS. CLASS z2ui5_cl_demo_app_028 IMPLEMENTATION. - METHOD z2ui5_if_app~main. - me->client = client. + me->client = client. IF client->check_on_init( ). - z2ui5_on_init( ). - z2ui5_view_display( ). - ENDIF. - - IF client->get( )-event IS NOT INITIAL. - z2ui5_on_event( ). + on_init( ). + view_display( ). + ELSEIF client->check_on_event( `TIMER_FINISHED` ). + on_event( ). ENDIF. ENDMETHOD. - METHOD z2ui5_on_event. + METHOD on_init. - IF client->check_on_event( 'TIMER_FINISHED' ). - mv_counter = mv_counter + 1. - INSERT VALUE #( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - INTO TABLE t_tab. + counter = 1. + check_active = abap_true. - IF mv_counter = 3. - mv_check_active = abap_false. - client->message_toast_display( `timer deactivated` ). - ENDIF. - - client->view_model_update( ). - ENDIF. + t_tab = VALUE #( + ( title = |entry{ counter }| + info = `completed` + descr = `this is a description` + icon = `sap-icon://account` ) ). ENDMETHOD. - METHOD z2ui5_on_init. + METHOD on_event. - mv_counter = 1. - mv_check_active = abap_true. + counter = counter + 1. + INSERT VALUE #( + title = |entry{ counter }| + info = `completed` + descr = `this is a description` + icon = `sap-icon://account` ) + INTO TABLE t_tab. - t_tab = VALUE #( - ( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) ). + IF counter = 3. + + check_active = abap_false. + client->message_toast_display( `timer deactivated` ). + + ENDIF. + + client->view_model_update( ). ENDMETHOD. - METHOD z2ui5_view_display. + METHOD view_display. - DATA(lo_view) = z2ui5_cl_xml_view=>factory( ). + DATA(view) = z2ui5_cl_xml_view=>factory( ). - lo_view->_z2ui5( )->timer( - finished = client->_event( 'TIMER_FINISHED' ) + view->_z2ui5( )->timer( + finished = client->_event( `TIMER_FINISHED` ) delayms = `2000` - checkactive = client->_bind( mv_check_active ) ). + checkactive = client->_bind( check_active ) ). - DATA(page) = lo_view->shell( )->page( - title = 'abap2UI5 - CL_GUI_TIMER - Monitor' - navbuttonpress = client->_event_nav_app_leave( ) - shownavbutton = client->check_app_prev_stack( ) ). + DATA(page) = view->shell( + )->page( + title = `abap2UI5 - CL_GUI_TIMER - Monitor` + navbuttonpress = client->_event_nav_app_leave( ) + shownavbutton = client->check_app_prev_stack( ) ). page->list( - headertext = 'Data auto refresh (2 sec)' - items = client->_bind( t_tab ) - )->standard_list_item( - title = '{TITLE}' - description = '{DESCR}' - icon = '{ICON}' - info = '{INFO}' ). + headertext = `Data auto refresh (2 sec)` + items = client->_bind( t_tab ) + )->standard_list_item( + title = `{TITLE}` + description = `{DESCR}` + icon = `{ICON}` + info = `{INFO}` ). - client->view_display( lo_view->stringify( ) ). + client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_029.clas.abap b/src/z2ui5_cl_demo_app_029.clas.abap index e85c542b..b9518add 100644 --- a/src/z2ui5_cl_demo_app_029.clas.abap +++ b/src/z2ui5_cl_demo_app_029.clas.abap @@ -1,108 +1,102 @@ CLASS z2ui5_cl_demo_app_029 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + DATA tab_radial_active TYPE abap_bool. - - DATA mv_tab_radial_active TYPE abap_bool. - - METHODS render_tab_radial. - + PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. - PROTECTED SECTION. + METHODS view_display. + PRIVATE SECTION. ENDCLASS. +CLASS z2ui5_cl_demo_app_029 IMPLEMENTATION. + + METHOD z2ui5_if_app~main. + + me->client = client. + + IF client->check_on_init( ). + view_display( ). + ENDIF. -CLASS Z2UI5_CL_DEMO_APP_029 IMPLEMENTATION. + ENDMETHOD. - METHOD render_tab_radial. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(container) = view->shell( )->page( - title = 'abap2UI5 - Visualization' + title = `abap2UI5 - Visualization` navbuttonpress = client->_event_nav_app_leave( ) shownavbutton = client->check_app_prev_stack( ) )->tab_container( ). DATA(grid) = container->tab( - text = 'Radial Chart' - selected = client->_bind( mv_tab_radial_active ) - )->grid( 'XL12 L12 M12 S12' ). + text = `Radial Chart` + selected = client->_bind( tab_radial_active ) + )->grid( `XL12 L12 M12 S12` ). grid->link( - text = 'Go to the SAP Demos for Radial Charts here...' - target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.RadialMicroChart/sample/sap.suite.ui.microchart.sample.RadialMicroChart' ). + text = `Go to the SAP Demos for Radial Charts here...` + target = `_blank` + href = `https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.RadialMicroChart/sample/sap.suite.ui.microchart.sample.RadialMicroChart` ). grid->vertical_layout( )->horizontal_layout( )->radial_micro_chart( - size = 'M' - percentage = '45' - press = client->_event( 'RADIAL_PRESS' ) + size = `M` + percentage = `45` + press = client->_event( `RADIAL_PRESS` ) )->radial_micro_chart( - size = 'S' - percentage = '45' - press = client->_event( 'RADIAL_PRESS' ) + size = `S` + percentage = `45` + press = client->_event( `RADIAL_PRESS` ) )->get_parent( )->horizontal_layout( )->radial_micro_chart( - size = 'M' - percentage = '99.9' - press = client->_event( 'RADIAL_PRESS' ) - valuecolor = 'Good' + size = `M` + percentage = `99.9` + press = client->_event( `RADIAL_PRESS` ) + valuecolor = `Good` )->radial_micro_chart( - size = 'S' - percentage = '99.9' - press = client->_event( 'RADIAL_PRESS' ) - valuecolor = 'Good' + size = `S` + percentage = `99.9` + press = client->_event( `RADIAL_PRESS` ) + valuecolor = `Good` )->get_parent( )->horizontal_layout( )->radial_micro_chart( - size = 'M' - percentage = '0' - press = client->_event( 'RADIAL_PRESS' ) - valuecolor = 'Error' + size = `M` + percentage = `0` + press = client->_event( `RADIAL_PRESS` ) + valuecolor = `Error` )->radial_micro_chart( - size = 'S' - percentage = '0' - press = client->_event( 'RADIAL_PRESS' ) - valuecolor = 'Error' + size = `S` + percentage = `0` + press = client->_event( `RADIAL_PRESS` ) + valuecolor = `Error` )->get_parent( )->horizontal_layout( )->radial_micro_chart( - size = 'M' - percentage = '0.1' - press = client->_event( 'RADIAL_PRESS' ) - valuecolor = 'Critical' + size = `M` + percentage = `0.1` + press = client->_event( `RADIAL_PRESS` ) + valuecolor = `Critical` )->radial_micro_chart( - size = 'S' - percentage = '0.1' - press = client->_event( 'RADIAL_PRESS' ) - valuecolor = 'Critical' ). + size = `S` + percentage = `0.1` + press = client->_event( `RADIAL_PRESS` ) + valuecolor = `Critical` ). client->view_display( view->stringify( ) ). ENDMETHOD. - - METHOD z2ui5_if_app~main. - - me->client = client. - - IF client->check_on_init( ). - - - - render_tab_radial( ). - ENDIF. - ENDMETHOD. ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_030.clas.abap b/src/z2ui5_cl_demo_app_030.clas.abap index 71796cd0..7abea6e7 100644 --- a/src/z2ui5_cl_demo_app_030.clas.abap +++ b/src/z2ui5_cl_demo_app_030.clas.abap @@ -1,170 +1,175 @@ CLASS z2ui5_cl_demo_app_030 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: - BEGIN OF ty_row, + BEGIN OF ty_s_row, title TYPE string, value TYPE string, descr TYPE string, icon TYPE string, info TYPE string, checkbox TYPE abap_bool, - END OF ty_row. - + END OF ty_s_row. + DATA t_tab TYPE STANDARD TABLE OF ty_s_row WITH EMPTY KEY. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. PROTECTED SECTION. - PRIVATE SECTION. -ENDCLASS. + DATA client TYPE REF TO z2ui5_if_client. + METHODS view_display. + PRIVATE SECTION. +ENDCLASS. -CLASS Z2UI5_CL_DEMO_APP_030 IMPLEMENTATION. +CLASS z2ui5_cl_demo_app_030 IMPLEMENTATION. METHOD z2ui5_if_app~main. + me->client = client. + IF client->check_on_init( ). t_tab = VALUE #( - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'incompleted' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) ). - + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `incompleted` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `working` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `working` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) + ( title = `Peter` info = `completed` descr = `this is a description` icon = `sap-icon://account` ) ). + + ELSEIF client->check_on_event( `BUTTON_MSG_BOX` ). + client->message_box_display( + text = `this is a message box with a custom text` + type = `success` ). ENDIF. + view_display( ). - CASE client->get( )-event. + ENDMETHOD. - WHEN 'BUTTON_ROUNDTRIP'. - DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'. - WHEN 'BUTTON_MSG_BOX'. - client->message_box_display( - text = 'this is a message box with a custom text' - type = 'success' ). - ENDCASE. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). - - DATA(page) = view->dynamic_page( - showfooter = abap_true - " headerExpanded = abap_true - " toggleHeaderOnTitleClick = client->_event( 'ON_TITLE' ) - ). - - - DATA(header_title) = page->title( ns = 'f' )->get( )->dynamic_page_title( ). - - header_title->heading( 'f' )->title( 'Header Title' ). - - header_title->expanded_content( 'f' - )->label( 'this is a subheading' ). - - header_title->snapped_content( 'f' - )->label( 'this is a subheading' ). - - header_title->actions( 'f' )->overflow_toolbar( - )->overflow_toolbar_button( - icon = `sap-icon://edit` - text = 'edit header' - type = 'Emphasized' - tooltip = 'edit' - )->overflow_toolbar_button( - icon = `sap-icon://pull-down` - text = 'show section' - type = 'Emphasized' - tooltip = 'pull-down' - )->overflow_toolbar_button( - icon = `sap-icon://show` - text = 'show state' - tooltip = 'show' - )->button( - " icon = `sap-icon://edit` - text = 'Go Back' - press = client->_event_nav_app_leave( ) ). + DATA(page) = view->dynamic_page( showfooter = abap_true ). + + DATA(header_title) = page->title( ns = `f` )->get( )->dynamic_page_title( ). + + header_title->heading( `f` )->title( `Header Title` ). + + header_title->expanded_content( `f` + )->label( `this is a subheading` ). + + header_title->snapped_content( `f` + )->label( `this is a subheading` ). + + header_title->actions( `f` )->overflow_toolbar( + )->overflow_toolbar_button( + icon = `sap-icon://edit` + text = `edit header` + type = `Emphasized` + tooltip = `edit` + )->overflow_toolbar_button( + icon = `sap-icon://pull-down` + text = `show section` + type = `Emphasized` + tooltip = `pull-down` + )->overflow_toolbar_button( + icon = `sap-icon://show` + text = `show state` + tooltip = `show` + )->button( + text = `Go Back` + press = client->_event_nav_app_leave( ) ). header_title->navigation_actions( - )->button( icon = 'sap-icon://full-screen' - type = 'Transparent' - )->button( icon = 'sap-icon://exit-full-screen' - type = 'Transparent' - )->button( icon = 'sap-icon://decline' - type = 'Transparent' ). + )->button( + icon = `sap-icon://full-screen` + type = `Transparent` + )->button( + icon = `sap-icon://exit-full-screen` + type = `Transparent` + )->button( + icon = `sap-icon://decline` + type = `Transparent` ). page->header( )->dynamic_page_header( abap_true )->horizontal_layout( )->vertical_layout( - )->object_attribute( title = 'Location' - text = 'Warehouse A' - )->object_attribute( title = 'Halway' - text = '23L' - )->object_attribute( title = 'Rack' - text = '34' - )->get_parent( - )->vertical_layout( - )->object_attribute( title = 'Location' - text = 'Warehouse A' - )->object_attribute( title = 'Halway' - text = '23L' - )->object_attribute( title = 'Rack' - text = '34' - )->get_parent( - )->vertical_layout( - )->object_attribute( title = 'Location' - text = 'Warehouse A' - )->object_attribute( title = 'Halway' - text = '23L' - )->object_attribute( title = 'Rack' - text = '34' ). - - - DATA(cont) = page->content( 'f' ). + )->object_attribute( + title = `Location` + text = `Warehouse A` + )->object_attribute( + title = `Halway` + text = `23L` + )->object_attribute( + title = `Rack` + text = `34` + )->get_parent( + )->vertical_layout( + )->object_attribute( + title = `Location` + text = `Warehouse A` + )->object_attribute( + title = `Halway` + text = `23L` + )->object_attribute( + title = `Rack` + text = `34` + )->get_parent( + )->vertical_layout( + )->object_attribute( + title = `Location` + text = `Warehouse A` + )->object_attribute( + title = `Halway` + text = `23L` + )->object_attribute( + title = `Rack` + text = `34` ). + + DATA(cont) = page->content( `f` ). cont->list( - headertext = 'List Ouput' - items = client->_bind( t_tab ) - )->standard_list_item( - title = '{TITLE}' - description = '{DESCR}' - icon = '{ICON}' - info = '{INFO}' ). - + headertext = `List Ouput` + items = client->_bind( t_tab ) + )->standard_list_item( + title = `{TITLE}` + description = `{DESCR}` + icon = `{ICON}` + info = `{INFO}` ). page->footer( `f` )->overflow_toolbar( - )->overflow_toolbar_button( - icon = `sap-icon://edit` - text = 'edit header' - type = 'Emphasized' - tooltip = 'edit' - )->overflow_toolbar_button( - icon = `sap-icon://pull-down` - text = 'show section' - type = 'Emphasized' - tooltip = 'pull-down' ). - - client->view_display( page->stringify( ) ). + )->overflow_toolbar_button( + icon = `sap-icon://edit` + text = `edit header` + type = `Emphasized` + tooltip = `edit` + )->overflow_toolbar_button( + icon = `sap-icon://pull-down` + text = `show section` + type = `Emphasized` + tooltip = `pull-down` ). + + client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS.