mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 18:38:36 +08:00
visualization (#122)
* refactoring * refactoring * Update README.md * Update README.md * visualization
This commit is contained in:
parent
5100da1863
commit
fe09a02452
|
@ -23,8 +23,9 @@ Development of UI5 Apps in pure ABAP. Follow this project on [twitter](https://t
|
||||||
* Featured in the SAP Developer News [(youtube - 26.01.2023)](https://www.youtube.com/watch?v=6BDK55xYttM)
|
* Featured in the SAP Developer News [(youtube - 26.01.2023)](https://www.youtube.com/watch?v=6BDK55xYttM)
|
||||||
* Development of UI5 Selection-Screens in pure ABAP (former version) [(Blog SCN - 22.01.2023)](https://blogs.sap.com/2023/01/22/abap2ui5-project-development-of-ui5-selection-screens-in-pure-abap-no-app-deployment-or-javascript-needed/)
|
* Development of UI5 Selection-Screens in pure ABAP (former version) [(Blog SCN - 22.01.2023)](https://blogs.sap.com/2023/01/22/abap2ui5-project-development-of-ui5-selection-screens-in-pure-abap-no-app-deployment-or-javascript-needed/)
|
||||||
|
|
||||||
### Demo Application [(Source Code)](https://github.com/oblomov-dev/ABAP2UI5/blob/main/src/00/z2ui5_cl_app_demo_01.clas.abap)
|
### Demo [(Example)](https://github.com/oblomov-dev/ABAP2UI5/blob/main/src/00/z2ui5_cl_app_demo_01.clas.abap)
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
Works with all available ABAP stacks and language versions:
|
Works with all available ABAP stacks and language versions:
|
||||||
|
|
|
@ -133,22 +133,21 @@ CLASS Z2UI5_CL_APP_DEMO_00 IMPLEMENTATION.
|
||||||
growfactor = '3'
|
growfactor = '3'
|
||||||
styleclass = 'sapUiTinyMargin' ).
|
styleclass = 'sapUiTinyMargin' ).
|
||||||
|
|
||||||
|
form->flex_box( class = 'columns'
|
||||||
* form->flex_box( class = 'columns'
|
)->button(
|
||||||
* )->button(
|
text = 'Visualization'
|
||||||
* text = 'Visualization'
|
press = client->_event( 'z2ui5_cl_app_demo_16' ) )->get(
|
||||||
* press = client->_event( 'z2ui5_cl_app_demo_16' ) )->get(
|
)->layout_data(
|
||||||
* )->layout_data(
|
)->flex_item_data(
|
||||||
* )->flex_item_data(
|
growfactor = '1'
|
||||||
* growfactor = '1'
|
styleclass = 'sapUiTinyMargin'
|
||||||
* styleclass = 'sapUiTinyMargin'
|
)->get_parent( )->get_parent(
|
||||||
* )->get_parent( )->get_parent(
|
)->text( `Use the sap.suite.ui.microchart controls to visualize data - `
|
||||||
* )->text( `Use the sap.suite.ui.microchart controls to visualize data - `
|
&& 'choose between bar charts, donut charts, line charts or radial charts and make your data beautiful' )->get(
|
||||||
* && 'choose between bar charts, donut charts, line charts or radial charts and make your boring data beautiful' )->get(
|
)->layout_data(
|
||||||
* )->layout_data(
|
)->flex_item_data(
|
||||||
* )->flex_item_data(
|
growfactor = '3'
|
||||||
* growfactor = '3'
|
styleclass = 'sapUiTinyMargin' ).
|
||||||
* styleclass = 'sapUiTinyMargin' ).
|
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -23,7 +23,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_APP_DEMO_03 IMPLEMENTATION.
|
CLASS z2ui5_cl_app_demo_03 IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~controller.
|
METHOD z2ui5_if_app~controller.
|
||||||
|
|
|
@ -30,7 +30,6 @@ CLASS Z2UI5_CL_APP_DEMO_06 IMPLEMENTATION.
|
||||||
|
|
||||||
CASE client->get( )-lifecycle_method.
|
CASE client->get( )-lifecycle_method.
|
||||||
|
|
||||||
|
|
||||||
WHEN client->cs-lifecycle_method-on_event.
|
WHEN client->cs-lifecycle_method-on_event.
|
||||||
|
|
||||||
IF check_initialized = abap_false.
|
IF check_initialized = abap_false.
|
||||||
|
@ -44,7 +43,6 @@ CLASS Z2UI5_CL_APP_DEMO_06 IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
CASE client->get( )-event.
|
CASE client->get( )-event.
|
||||||
|
|
||||||
WHEN 'BUTTON_SORT'.
|
WHEN 'BUTTON_SORT'.
|
||||||
|
@ -58,7 +56,6 @@ CLASS Z2UI5_CL_APP_DEMO_06 IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
|
|
||||||
WHEN client->cs-lifecycle_method-on_rendering.
|
WHEN client->cs-lifecycle_method-on_rendering.
|
||||||
|
|
||||||
DATA(page) = client->factory_view(
|
DATA(page) = client->factory_view(
|
||||||
|
|
|
@ -15,6 +15,16 @@ CLASS z2ui5_cl_app_demo_16 DEFINITION PUBLIC.
|
||||||
DATA mv_sel2 TYPE abap_bool.
|
DATA mv_sel2 TYPE abap_bool.
|
||||||
DATA mv_sel3 TYPE abap_bool.
|
DATA mv_sel3 TYPE abap_bool.
|
||||||
|
|
||||||
|
DATA mv_sel4 TYPE abap_bool.
|
||||||
|
DATA mv_sel5 TYPE abap_bool.
|
||||||
|
DATA mv_sel6 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_bar_active TYPE abap_bool.
|
DATA mv_tab_bar_active TYPE abap_bool.
|
||||||
DATA mv_tab_donut_active TYPE abap_bool.
|
DATA mv_tab_donut_active TYPE abap_bool.
|
||||||
DATA mv_tab_line_active TYPE abap_bool.
|
DATA mv_tab_line_active TYPE abap_bool.
|
||||||
|
@ -47,6 +57,58 @@ ENDCLASS.
|
||||||
|
|
||||||
CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD z2ui5_if_app~controller.
|
||||||
|
|
||||||
|
CASE client->get( )-lifecycle_method.
|
||||||
|
|
||||||
|
WHEN client->cs-lifecycle_method-on_event.
|
||||||
|
|
||||||
|
IF check_initialized = abap_false.
|
||||||
|
check_initialized = abap_true.
|
||||||
|
|
||||||
|
mv_path = '../../demo/text'.
|
||||||
|
mv_type = 'plain_text'.
|
||||||
|
mv_sel1 = abap_true.
|
||||||
|
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CASE client->get( )-event.
|
||||||
|
|
||||||
|
WHEN 'DONUT_CHANGED'.
|
||||||
|
client->popup_message_toast( 'Donut selection changed' ).
|
||||||
|
|
||||||
|
WHEN 'BAR_CHANGED'.
|
||||||
|
client->popup_message_toast( 'Bar selection changed' ).
|
||||||
|
|
||||||
|
WHEN 'LINE_CHANGED'.
|
||||||
|
client->popup_message_toast( 'Line selection changed' ).
|
||||||
|
|
||||||
|
WHEN 'DONUT_CHANGED'.
|
||||||
|
client->popup_message_toast( 'Donut selection changed' ).
|
||||||
|
|
||||||
|
WHEN 'BACK'.
|
||||||
|
client->nav_app_leave( client->get( )-id_prev_app_stack ).
|
||||||
|
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
WHEN client->cs-lifecycle_method-on_rendering.
|
||||||
|
|
||||||
|
DATA(view) = client->factory_view( 'VIEW_INPUT' ).
|
||||||
|
DATA(page) = view->page( title = 'abap2UI5 - Visualization' navbuttonpress = client->_event( 'BACK' ) ).
|
||||||
|
page->header_content(
|
||||||
|
")->link( text = 'Demo' href = `https://twitter.com/OblomovDev/status/1634206964291911682`
|
||||||
|
)->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code ).
|
||||||
|
|
||||||
|
DATA(container) = page->tab_container( ).
|
||||||
|
render_tab_donut( client = client container = container ).
|
||||||
|
render_tab_bar( client = client container = container ).
|
||||||
|
render_tab_line( client = client container = container ).
|
||||||
|
render_tab_radial( client = client container = container ).
|
||||||
|
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD render_tab_bar.
|
METHOD render_tab_bar.
|
||||||
|
|
||||||
|
@ -71,7 +133,7 @@ CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
||||||
class = 'sapUiSmallMargin'
|
class = 'sapUiSmallMargin'
|
||||||
)->items( )->interact_bar_chart(
|
)->items( )->interact_bar_chart(
|
||||||
selectionchanged = client->_event( 'BAR_CHANGED' )
|
selectionchanged = client->_event( 'BAR_CHANGED' )
|
||||||
press = client->_event( 'BAR_PRESS' )
|
press = client->_event( 'BAR_CHANGED' )
|
||||||
)->bars( ).
|
)->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_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_sel2 ) label = 'Product 2' value = '20' ).
|
||||||
|
@ -84,11 +146,10 @@ CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
||||||
class = 'sapUiSmallMargin'
|
class = 'sapUiSmallMargin'
|
||||||
)->items( )->interact_bar_chart(
|
)->items( )->interact_bar_chart(
|
||||||
selectionchanged = client->_event( 'BAR_CHANGED' )
|
selectionchanged = client->_event( 'BAR_CHANGED' )
|
||||||
press = client->_event( 'BAR_PRESS' )
|
|
||||||
)->bars( ).
|
)->bars( ).
|
||||||
bar->interact_bar_chart_bar( selected = client->_bind( mv_sel1 ) label = 'Product 1' value = '10' displayedvalue = '10%' ).
|
bar->interact_bar_chart_bar( label = 'Product 1' value = '10' displayedvalue = '10%' ).
|
||||||
bar->interact_bar_chart_bar( selected = client->_bind( mv_sel2 ) label = 'Product 2' value = '20' displayedvalue = '20%' ).
|
bar->interact_bar_chart_bar( label = 'Product 2' value = '20' displayedvalue = '20%' ).
|
||||||
bar->interact_bar_chart_bar( selected = client->_bind( mv_sel3 ) label = 'Product 3' value = '70' displayedvalue = '70%' ).
|
bar->interact_bar_chart_bar( label = 'Product 3' value = '70' displayedvalue = '70%' ).
|
||||||
|
|
||||||
bar = grid->vertical_layout(
|
bar = grid->vertical_layout(
|
||||||
)->layout_data( 'l'
|
)->layout_data( 'l'
|
||||||
|
@ -139,9 +200,9 @@ CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
||||||
)->interact_donut_chart(
|
)->interact_donut_chart(
|
||||||
selectionchanged = client->_event( 'DONUT_CHANGED' )
|
selectionchanged = client->_event( 'DONUT_CHANGED' )
|
||||||
)->segments( ).
|
)->segments( ).
|
||||||
seg->interact_donut_chart_segment( selected = client->_bind( mv_sel1 ) label = 'Impl. Phase' value = '40.0' displayedvalue = '40.0%' ).
|
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_sel2 ) label = 'Design Phase' value = '21.5' displayedvalue = '21.5%' ).
|
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_sel3 ) label = 'Test Phase' value = '38.5' displayedvalue = '38.5%' ).
|
seg->interact_donut_chart_segment( selected = client->_bind( mv_sel6 ) label = 'Test Phase' value = '38.5' displayedvalue = '38.5%' ).
|
||||||
|
|
||||||
grid->text(
|
grid->text(
|
||||||
text = 'Four segments'
|
text = 'Four segments'
|
||||||
|
@ -185,8 +246,6 @@ CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
||||||
seg->interact_donut_chart_segment( label = 'Design Phase' value = '21.5' displayedvalue = '21.5%' ).
|
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 = 'Test Phase' value = '38.5' displayedvalue = '38.5%' ).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -216,12 +275,12 @@ CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
||||||
precedingpoint = '15'
|
precedingpoint = '15'
|
||||||
succeddingpoint = '89'
|
succeddingpoint = '89'
|
||||||
)->points( ).
|
)->points( ).
|
||||||
point->interact_line_chart_point( label = 'May' value = '33.1' secondarylabel = 'Q2' ).
|
point->interact_line_chart_point( selected = client->_bind( mv_sel7 ) label = 'May' value = '33.1' secondarylabel = 'Q2' ).
|
||||||
point->interact_line_chart_point( label = 'June' value = '12' ).
|
point->interact_line_chart_point( selected = client->_bind( mv_sel8 ) label = 'June' value = '12' ).
|
||||||
point->interact_line_chart_point( label = 'July' value = '51.4' secondarylabel = 'Q3' ).
|
point->interact_line_chart_point( selected = client->_bind( mv_sel9 ) label = 'July' value = '51.4' secondarylabel = 'Q3' ).
|
||||||
point->interact_line_chart_point( label = 'Aug' value = '52' ).
|
point->interact_line_chart_point( selected = client->_bind( mv_sel10 ) label = 'Aug' value = '52' ).
|
||||||
point->interact_line_chart_point( label = 'Sep' value = '69.9').
|
point->interact_line_chart_point( selected = client->_bind( mv_sel11 ) label = 'Sep' value = '69.9').
|
||||||
point->interact_line_chart_point( label = 'Oct' value = '0.9' secondarylabel = 'Q4' ).
|
point->interact_line_chart_point( selected = client->_bind( mv_sel12 ) label = 'Oct' value = '0.9' secondarylabel = 'Q4' ).
|
||||||
|
|
||||||
point = grid->flex_box(
|
point = grid->flex_box(
|
||||||
width = '22rem'
|
width = '22rem'
|
||||||
|
@ -324,72 +383,8 @@ CLASS z2ui5_cl_app_demo_16 IMPLEMENTATION.
|
||||||
sice = 'S'
|
sice = 'S'
|
||||||
percentage = '0.1'
|
percentage = '0.1'
|
||||||
press = client->_event( 'RADIAL_PRESS' )
|
press = client->_event( 'RADIAL_PRESS' )
|
||||||
valueColor = 'Critical'
|
valueColor = 'Critical' ).
|
||||||
).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_app~controller.
|
|
||||||
|
|
||||||
CASE client->get( )-lifecycle_method.
|
|
||||||
|
|
||||||
WHEN client->cs-lifecycle_method-on_event.
|
|
||||||
|
|
||||||
IF check_initialized = abap_false.
|
|
||||||
check_initialized = abap_true.
|
|
||||||
|
|
||||||
mv_path = '../../demo/text'.
|
|
||||||
mv_type = 'plain_text'.
|
|
||||||
mv_sel1 = abap_true.
|
|
||||||
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CASE client->get( )-event.
|
|
||||||
|
|
||||||
WHEN 'DONUT_CHANGED'.
|
|
||||||
mv_type = 'plain_text'.
|
|
||||||
|
|
||||||
WHEN 'DB_LOAD'.
|
|
||||||
|
|
||||||
mv_editor = COND #(
|
|
||||||
WHEN mv_path CS 'abap' THEN lcl_mime_api=>read_abap( )
|
|
||||||
WHEN mv_path CS 'json' THEN lcl_mime_api=>read_json( )
|
|
||||||
WHEN mv_path CS 'yaml' THEN lcl_mime_api=>read_yaml( )
|
|
||||||
WHEN mv_path CS 'text' THEN lcl_mime_api=>read_text( ) ).
|
|
||||||
client->popup_message_toast( 'Download successfull' ).
|
|
||||||
|
|
||||||
WHEN 'DB_SAVE'.
|
|
||||||
lcl_mime_api=>save_data( mv_editor ).
|
|
||||||
client->popup_message_box( text = 'Upload successfull. File saved!' type = 'success' ).
|
|
||||||
|
|
||||||
WHEN 'EDIT'.
|
|
||||||
mv_check_editable = xsdbool( mv_check_editable = abap_false ).
|
|
||||||
WHEN 'CLEAR'.
|
|
||||||
mv_editor = ``.
|
|
||||||
WHEN 'BACK'.
|
|
||||||
client->nav_app_leave( client->get( )-id_prev_app_stack ).
|
|
||||||
|
|
||||||
ENDCASE.
|
|
||||||
|
|
||||||
WHEN client->cs-lifecycle_method-on_rendering.
|
|
||||||
|
|
||||||
DATA(view) = client->factory_view( 'VIEW_INPUT' ).
|
|
||||||
DATA(page) = view->page( title = 'abap2UI5 - Visualization with Charts' navbuttonpress = client->_event( 'BACK' ) ).
|
|
||||||
page->header_content(
|
|
||||||
")->link( text = 'Demo' href = `https://twitter.com/OblomovDev/status/1634206964291911682`
|
|
||||||
)->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code
|
|
||||||
).
|
|
||||||
|
|
||||||
DATA(container) = page->tab_container( ).
|
|
||||||
render_tab_donut( client = client container = container ).
|
|
||||||
render_tab_bar( client = client container = container ).
|
|
||||||
render_tab_line( client = client container = container ).
|
|
||||||
render_tab_radial( client = client container = container ).
|
|
||||||
|
|
||||||
|
|
||||||
ENDCASE.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_APP_DEMO_20</CLSNAME>
|
<CLSNAME>Z2UI5_CL_APP_DEMO_20</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>POPUP - decide</DESCRIPT>
|
<DESCRIPT>popup - decide</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_APP_DEMO_24</CLSNAME>
|
<CLSNAME>Z2UI5_CL_APP_DEMO_24</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>basic - flow logic new app</DESCRIPT>
|
<DESCRIPT>basic - flow logic</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
|
|
|
@ -24,13 +24,12 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_APP_DEMO_25 IMPLEMENTATION.
|
CLASS z2ui5_cl_app_demo_25 IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
|
|
||||||
r_result->mo_app = i_app.
|
r_result->mo_app = i_app.
|
||||||
r_result->mv_name_attri = i_name_attri.
|
r_result->mv_name_attri = i_name_attri.
|
||||||
|
|
||||||
|
@ -76,11 +75,17 @@ CLASS Z2UI5_CL_APP_DEMO_25 IMPLEMENTATION.
|
||||||
|
|
||||||
WHEN client->cs-lifecycle_method-on_rendering.
|
WHEN client->cs-lifecycle_method-on_rendering.
|
||||||
|
|
||||||
DATA(view) = client->factory_view( 'MAIN' ).
|
DATA(page) = client->factory_view( 'MAIN'
|
||||||
view->page( title = 'abap2UI5 - flow logic 2' navbuttonpress = client->_event( 'BACK' )
|
)->page(
|
||||||
)->header_content( )->link( text = 'Go to Source Code' href = client->get( )-s_request-url_source_code )->get_parent(
|
title = 'abap2UI5 - flow logic 2'
|
||||||
|
navbuttonpress = client->_event( 'BACK' )
|
||||||
|
)->header_content(
|
||||||
|
)->link(
|
||||||
|
text = 'Go to Source Code'
|
||||||
|
href = client->get( )-s_request-url_source_code
|
||||||
|
)->get_parent( ).
|
||||||
|
|
||||||
)->grid( 'L6 M12 S12' )->content( 'l'
|
page->grid( 'L6 M12 S12' )->content( 'l'
|
||||||
|
|
||||||
)->simple_form( 'MAIN View' )->content( 'f'
|
)->simple_form( 'MAIN View' )->content( 'f'
|
||||||
|
|
||||||
|
@ -93,21 +98,24 @@ CLASS Z2UI5_CL_APP_DEMO_25 IMPLEMENTATION.
|
||||||
|
|
||||||
)->label( 'Call previous app and show data of this app'
|
)->label( 'Call previous app and show data of this app'
|
||||||
)->input( client->_bind( mv_input )
|
)->input( client->_bind( mv_input )
|
||||||
)->button( text = 'back' press = client->_event( 'BACK_WITH_EVENT' )
|
)->button( text = 'back' press = client->_event( 'BACK_WITH_EVENT' ) ).
|
||||||
).
|
|
||||||
|
|
||||||
view = client->factory_view( 'SECOND' ).
|
page = client->factory_view( 'SECOND'
|
||||||
view->page( title = 'abap2UI5 - flow logic 2' navbuttonpress = client->_event( 'BACK' )
|
)->page(
|
||||||
)->header_content( )->link( text = 'Go to Source Code' href = client->get( )-s_request-url_source_code )->get_parent(
|
title = 'abap2UI5 - flow logic 2'
|
||||||
|
navbuttonpress = client->_event( 'BACK' )
|
||||||
)->grid( 'L6 M12 S12' )->content( 'l'
|
)->header_content(
|
||||||
|
)->link(
|
||||||
|
text = 'Source_Code'
|
||||||
|
href = client->get( )-s_request-url_source_code
|
||||||
|
)->get_parent( ).
|
||||||
|
|
||||||
|
page->grid( 'L6 M12 S12' )->content( 'l'
|
||||||
)->simple_form( 'second view set by previous app' )->content( 'f'
|
)->simple_form( 'second view set by previous app' )->content( 'f'
|
||||||
)->label( 'Demo'
|
)->label( 'Demo'
|
||||||
)->button( text = 'leave to previous app' press = client->_event( 'BACK' )
|
)->button( text = 'leave to previous app' press = client->_event( 'BACK' )
|
||||||
)->label( 'Demo'
|
)->label( 'Demo'
|
||||||
)->button( text = 'show view main' press = client->_event( 'SHOW_VIEW_MAIN' )
|
)->button( text = 'show view main' press = client->_event( 'SHOW_VIEW_MAIN' ) ).
|
||||||
).
|
|
||||||
|
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_APP_DEMO_25</CLSNAME>
|
<CLSNAME>Z2UI5_CL_APP_DEMO_25</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>basic - flow logic new app (called)</DESCRIPT>
|
<DESCRIPT>basic - flow logic (called)</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
|
|
|
@ -835,27 +835,14 @@ CLASS z2ui5_lcl_utility_tree_json IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD wrap_json.
|
METHOD wrap_json.
|
||||||
" Wrap the input text string with the opening and closing characters
|
|
||||||
" and assign the result to result
|
|
||||||
result = iv_text.
|
|
||||||
|
|
||||||
CASE mv_check_list.
|
result = SWITCH #( mv_check_list WHEN abap_true THEN |[ { iv_text }]| ELSE `{` && iv_text && `}` ).
|
||||||
WHEN abap_true.
|
|
||||||
DATA(open_char) = `[`.
|
|
||||||
DATA(close_char) = `]`.
|
|
||||||
WHEN abap_false.
|
|
||||||
open_char = `{`.
|
|
||||||
close_char = `}`.
|
|
||||||
WHEN OTHERS.
|
|
||||||
RETURN.
|
|
||||||
ENDCASE.
|
|
||||||
result = open_char && result && close_char.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD quote_json.
|
METHOD quote_json.
|
||||||
|
|
||||||
result = COND #( WHEN iv_cond = abap_true THEN `"` && iv_text && `"` ELSE iv_text ).
|
result = SWITCH #( iv_cond WHEN abap_true THEN `"` && iv_text && `"` ELSE iv_text ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -873,11 +860,8 @@ CLASS z2ui5_lcl_utility_tree_json IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
IF lo_attri->mt_values IS NOT INITIAL.
|
IF lo_attri->mt_values IS NOT INITIAL.
|
||||||
|
|
||||||
result = result && lo_attri->write_result( ).
|
result = result && lo_attri->write_result( ).
|
||||||
|
|
||||||
ELSE.
|
ELSE.
|
||||||
|
|
||||||
result = result &&
|
result = result &&
|
||||||
quote_json( iv_cond = xsdbool( lo_attri->mv_apost_active = abap_true OR lo_attri->mv_value IS INITIAL )
|
quote_json( iv_cond = xsdbool( lo_attri->mv_apost_active = abap_true OR lo_attri->mv_value IS INITIAL )
|
||||||
iv_text = lo_attri->mv_value ).
|
iv_text = lo_attri->mv_value ).
|
||||||
|
@ -1951,7 +1935,6 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_view~ui_column.
|
METHOD z2ui5_if_view~ui_column.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
|
@ -1967,8 +1950,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
name = `columns`
|
name = `columns`
|
||||||
ns = `ui`
|
ns = `ui` ).
|
||||||
).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -1976,8 +1958,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
name = `extension`
|
name = `extension`
|
||||||
ns = `ui`
|
ns = `ui` ).
|
||||||
).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -2097,8 +2078,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
name = `TabContainer`
|
name = `TabContainer`
|
||||||
ns = `webc`
|
ns = `webc` ).
|
||||||
).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -2106,9 +2086,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
name = `bars`
|
name = `bars`
|
||||||
ns = `mchart`
|
ns = `mchart` ).
|
||||||
t_prop = VALUE #(
|
|
||||||
) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -2208,9 +2186,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
name = `points`
|
name = `points`
|
||||||
ns = `mchart`
|
ns = `mchart` ).
|
||||||
t_prop = VALUE #(
|
|
||||||
) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -2233,9 +2209,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
name = `segments`
|
name = `segments`
|
||||||
ns = `mchart`
|
ns = `mchart` ).
|
||||||
t_prop = VALUE #(
|
|
||||||
) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -2426,7 +2400,6 @@ CLASS z2ui5_lcl_system_app IMPLEMENTATION.
|
||||||
view = client->factory_view( `HOME` ).
|
view = client->factory_view( `HOME` ).
|
||||||
DATA(page) = view->page(
|
DATA(page) = view->page(
|
||||||
class = `sapUiContentPadding sapUiResponsivePadding--subHeader sapUiResponsivePadding--content sapUiResponsivePadding--footer`
|
class = `sapUiContentPadding sapUiResponsivePadding--subHeader sapUiResponsivePadding--content sapUiResponsivePadding--footer`
|
||||||
" title = `abap2UI5 - Development of UI5 Apps in pure ABAP`
|
|
||||||
).
|
).
|
||||||
page->header_content(
|
page->header_content(
|
||||||
)->title( ``
|
)->title( ``
|
||||||
|
@ -2490,13 +2463,10 @@ CLASS z2ui5_lcl_db IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD create.
|
METHOD create.
|
||||||
|
|
||||||
DATA ls_db TYPE z2ui5_t_draft.
|
DATA(ls_db) = VALUE z2ui5_t_draft(
|
||||||
|
|
||||||
ls_db = VALUE #(
|
|
||||||
uuid = id
|
uuid = id
|
||||||
uname = _=>get_user_tech( )
|
uname = _=>get_user_tech( )
|
||||||
timestampl = _=>get_timestampl( )
|
timestampl = _=>get_timestampl( )
|
||||||
" response = response
|
|
||||||
data = _=>trans_object_2_xml( REF #( db ) ) ).
|
data = _=>trans_object_2_xml( REF #( db ) ) ).
|
||||||
|
|
||||||
MODIFY z2ui5_t_draft FROM @ls_db.
|
MODIFY z2ui5_t_draft FROM @ls_db.
|
||||||
|
@ -2594,10 +2564,11 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
||||||
DATA(lo_ui5_model) = z2ui5_lcl_utility_tree_json=>factory( ).
|
DATA(lo_ui5_model) = z2ui5_lcl_utility_tree_json=>factory( ).
|
||||||
|
|
||||||
IF lr_view IS BOUND.
|
IF lr_view IS BOUND.
|
||||||
DATA(ls_view) = lr_view->o_parser->get_view( ).
|
|
||||||
lo_ui5_model->add_attribute( n = `vView` v = ls_view-xml ).
|
|
||||||
ms_db-view_active = lr_view->name.
|
ms_db-view_active = lr_view->name.
|
||||||
|
|
||||||
|
DATA(ls_view) = lr_view->o_parser->get_view( ).
|
||||||
ls_view-o_model->mv_name = `oViewModel`.
|
ls_view-o_model->mv_name = `oViewModel`.
|
||||||
|
lo_ui5_model->add_attribute( n = `vView` v = ls_view-xml ).
|
||||||
lo_ui5_model->add_attribute_instance( ls_view-o_model ).
|
lo_ui5_model->add_attribute_instance( ls_view-o_model ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -2609,22 +2580,19 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
DATA(ls_view_popup) = lr_view_popup->o_parser->get_view( abap_true ).
|
DATA(ls_view_popup) = lr_view_popup->o_parser->get_view( abap_true ).
|
||||||
|
|
||||||
lo_ui5_model->add_attribute( n = `vViewPopup` v = ls_view_popup-xml ).
|
|
||||||
ls_view_popup-o_model->mv_name = `oViewModelPopup`.
|
ls_view_popup-o_model->mv_name = `oViewModelPopup`.
|
||||||
|
lo_ui5_model->add_attribute( n = `vViewPopup` v = ls_view_popup-xml ).
|
||||||
lo_ui5_model->add_attribute_instance( ls_view_popup-o_model ).
|
lo_ui5_model->add_attribute_instance( ls_view_popup-o_model ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
lo_ui5_model->add_attribute_object( `oSystem`
|
||||||
DATA(lo_system) = lo_ui5_model->add_attribute_object( `oSystem` ).
|
)->add_attribute( n = `ID` v = ms_db-id
|
||||||
lo_system->add_attribute( n = `ID` v = ms_db-id ).
|
)->add_attribute( n = `CHECK_DEBUG_ACTIVE` v = _=>get_abap_2_json( z2ui5_cl_http_handler=>cs_config-check_debug_mode ) apos_active = abap_false ).
|
||||||
lo_system->add_attribute( n = `CHECK_DEBUG_ACTIVE` v = _=>get_abap_2_json( z2ui5_cl_http_handler=>cs_config-check_debug_mode ) apos_active = abap_false ).
|
|
||||||
|
|
||||||
IF ms_next-t_after IS NOT INITIAL.
|
IF ms_next-t_after IS NOT INITIAL.
|
||||||
DATA(lo_list) = lo_ui5_model->add_attribute_list( `oAfter` ).
|
DATA(lo_list) = lo_ui5_model->add_attribute_list( `oAfter` ).
|
||||||
LOOP AT ms_next-t_after REFERENCE INTO DATA(lr_after).
|
LOOP AT ms_next-t_after REFERENCE INTO DATA(lr_after).
|
||||||
DATA(lo_list2) = lo_list->add_list_list( ).
|
DATA(lo_list2) = lo_list->add_list_list( ).
|
||||||
|
|
||||||
LOOP AT lr_after->* REFERENCE INTO DATA(lr_con).
|
LOOP AT lr_after->* REFERENCE INTO DATA(lr_con).
|
||||||
lo_list2->add_list_val( lr_con->* ).
|
lo_list2->add_list_val( lr_con->* ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
@ -2637,11 +2605,11 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
IF ms_next-s_cursor_pos IS NOT INITIAL.
|
IF ms_next-s_cursor_pos IS NOT INITIAL.
|
||||||
lo_list = lo_ui5_model->add_attribute_object( `oCursor` ).
|
lo_ui5_model->add_attribute_object( `oCursor`
|
||||||
lo_list->add_attribute( n = `cursorPos` v = ms_next-s_cursor_pos-cursorpos apos_active = abap_false ).
|
)->add_attribute( n = `cursorPos` v = ms_next-s_cursor_pos-cursorpos apos_active = abap_false
|
||||||
lo_list->add_attribute( n = `id` v = ms_next-s_cursor_pos-id ).
|
)->add_attribute( n = `id` v = ms_next-s_cursor_pos-id
|
||||||
lo_list->add_attribute( n = `selectionEnd` v = ms_next-s_cursor_pos-selectionend apos_active = abap_false ).
|
)->add_attribute( n = `selectionEnd` v = ms_next-s_cursor_pos-selectionend apos_active = abap_false
|
||||||
lo_list->add_attribute( n = `selectionStart` v = ms_next-s_cursor_pos-selectionstart apos_active = abap_false ).
|
)->add_attribute( n = `selectionStart` v = ms_next-s_cursor_pos-selectionstart apos_active = abap_false ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF ms_next-check_set_prev_view = abap_true.
|
IF ms_next-check_set_prev_view = abap_true.
|
||||||
|
@ -2649,9 +2617,7 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
result = lo_ui5_model->get_root( )->write_result( ).
|
result = lo_ui5_model->get_root( )->write_result( ).
|
||||||
|
|
||||||
z2ui5_lcl_db=>create(
|
z2ui5_lcl_db=>create( id = ms_db-id db = ms_db ).
|
||||||
id = ms_db-id
|
|
||||||
db = ms_db ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -2695,7 +2661,6 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
result->ms_next-event = ss_client-o_body->get_attribute( `OEVENT` )->get_attribute( `EVENT` )->get_val( ).
|
result->ms_next-event = ss_client-o_body->get_attribute( `OEVENT` )->get_attribute( `EVENT` )->get_val( ).
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
@ -2772,7 +2737,6 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
||||||
result->ms_db-id_prev_app = ms_db-id.
|
result->ms_db-id_prev_app = ms_db-id.
|
||||||
result->ms_db-id_prev_app_stack = ms_db-id.
|
result->ms_db-id_prev_app_stack = ms_db-id.
|
||||||
|
|
||||||
" result->ms_next-lifecycle_method = z2ui5_if_client=>cs-lifecycle_method-on_init.
|
|
||||||
result->ms_next-lifecycle_method = z2ui5_if_client=>cs-lifecycle_method-on_event.
|
result->ms_next-lifecycle_method = z2ui5_if_client=>cs-lifecycle_method-on_event.
|
||||||
result->ms_next-t_after = ms_next-t_after.
|
result->ms_next-t_after = ms_next-t_after.
|
||||||
result->ms_next-view = ms_next-view.
|
result->ms_next-view = ms_next-view.
|
||||||
|
@ -2898,7 +2862,6 @@ CLASS z2ui5_lcl_if_client IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_if_client~popup_message_toast.
|
METHOD z2ui5_if_client~popup_message_toast.
|
||||||
|
|
||||||
INSERT VALUE #( ( `MessageToast` ) ( `show` ) ( text ) )
|
INSERT VALUE #( ( `MessageToast` ) ( `show` ) ( text ) )
|
||||||
|
|
Loading…
Reference in New Issue
Block a user