mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
table selection mode (#112)
* Update README.md * table selection modes * Update README.md * table selection modes * table selection mode
This commit is contained in:
parent
83abc8911e
commit
7154968aea
|
@ -4,8 +4,8 @@ Development of UI5 Apps in pure ABAP. Follow this project on [twitter](https://t
|
|||
|
||||
### Project Features
|
||||
* easy to use – implement just one interface for a standalone UI5 application
|
||||
* pure ABAP – development in 100% ABAP source code (no JavaScript, EML, DDL or Customizing)
|
||||
* low system footprint - based on a plain http handler (no BSP, OData, BOPF, CDS, FE or RAP)
|
||||
* pure ABAP – development in 100% ABAP source code (no JavaScript, DDL, EML or Customizing)
|
||||
* low system footprint - based on a plain http handler (no BSP, OData, CDS, BOPF, FE or RAP)
|
||||
* cloud and on-premise ready – works with both language versions (ABAP for Cloud, Standard ABAP)
|
||||
* high system compatibility – runs on all available ABAP stacks (NW 7.02 to ABAP 2302)
|
||||
* easy installation – abapGit project, no additional app deployment needed
|
||||
|
@ -32,7 +32,7 @@ Works with all available ABAP stacks and language versions:
|
|||
* S/4 Public Cloud ABAP Environment (ABAP for Cloud)
|
||||
* S/4 Private Cloud or On-Premise (ABAP for Cloud, Standard ABAP)
|
||||
* R/3 NetWeaver AS ABAP 7.50 or higher (Standard ABAP)
|
||||
* R/3 NetWeaver AS ABAP 7.02 to 7.40 - use the low syntax [branch](https://github.com/oblomov-dev/ABAP2UI5/tree/main_v702)
|
||||
* R/3 NetWeaver AS ABAP 7.02 to 7.42 - use the low syntax [branch](https://github.com/oblomov-dev/ABAP2UI5/tree/main_v702)
|
||||
|
||||
Install with [abapGit](https://abapgit.org), create a new HTTP service and call abap2UI5 [(more information)](https://github.com/oblomov-dev/abap2ui5/wiki).
|
||||
|
||||
|
|
|
@ -44,10 +44,12 @@ CLASS z2ui5_cl_app_demo_00 IMPLEMENTATION.
|
|||
DATA(view) = client->factory_view( ).
|
||||
|
||||
DATA(page) = view->page( title = 'abap2UI5 - Demo Section'
|
||||
class = 'sapUiContentPadding sapUiResponsivePadding--subHeader sapUiResponsivePadding--content sapUiResponsivePadding--footer'
|
||||
navbuttontap = view->_event( 'BACK' ) ).
|
||||
|
||||
|
||||
page->header_content(
|
||||
)->toolbar_spacer(
|
||||
)->link( text = 'SCN' href = 'https://blogs.sap.com/tag/abap2ui5/'
|
||||
)->link( text = 'Twitter' href = 'https://twitter.com/OblomovDev'
|
||||
)->link( text = 'GitHub' href = 'https://github.com/oblomov-dev/abap2ui5' ).
|
||||
|
@ -65,7 +67,7 @@ CLASS z2ui5_cl_app_demo_00 IMPLEMENTATION.
|
|||
)->button( text = 'Layout (Header, Footer, Grid)' press = view->_event( 'z2ui5_cl_app_demo_10' )
|
||||
)->button( text = 'Scrolling & Focus' press = view->_event( 'z2ui5_cl_app_demo_22' )
|
||||
)->button( text = 'Popups' press = view->_event( 'Z2UI5_CL_APP_DEMO_21' )
|
||||
" )->button( text = 'Popups II (F4 Help)' press = view->_event( '0101' )
|
||||
)->button( text = 'Popups & Flow Logic' press = view->_event( 'z2ui5_cl_app_demo_12' )
|
||||
).
|
||||
|
||||
grid->simple_form( 'HowTo - Selection-Screen' )->content( 'f'
|
||||
|
@ -77,7 +79,7 @@ CLASS z2ui5_cl_app_demo_00 IMPLEMENTATION.
|
|||
grid->simple_form( 'HowTo - Tables' )->content( 'f'
|
||||
)->button( text = 'List' press = view->_event( 'z2ui5_cl_app_demo_03' )
|
||||
)->button( text = 'Toolbar, Scroll Container' press = view->_event( 'z2ui5_cl_app_demo_06' )
|
||||
" )->button( text = 'Selection Modes' press = view->_event( 'z2ui5_cl_app_demo_19' )
|
||||
)->button( text = 'Selection Modes' press = view->_event( 'z2ui5_cl_app_demo_19' )
|
||||
)->button( text = 'Editable' press = view->_event( 'z2ui5_cl_app_demo_11' )
|
||||
).
|
||||
|
||||
|
@ -86,7 +88,7 @@ CLASS z2ui5_cl_app_demo_00 IMPLEMENTATION.
|
|||
DATA(form) = grid->simple_form( 'Applications and Examples' )->vbox( ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button( text = 'MIME Editor' press = view->_event( 'MIME_EDITOR' )
|
||||
)->button( text = 'MIME Editor' press = view->_event( 'Z2UI5_CL_APP_DEMO_14' )
|
||||
)->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
|
@ -102,7 +104,7 @@ CLASS z2ui5_cl_app_demo_00 IMPLEMENTATION.
|
|||
).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button( text = 'Table Maintenance' press = view->_event( 'TABLE_MAINTENANCE' )
|
||||
)->button( text = 'Table Maintenance' press = view->_event( 'Z2UI5_CL_APP_DEMO_13' )
|
||||
)->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
|
|
|
@ -45,7 +45,7 @@ CLASS z2ui5_cl_app_demo_01 IMPLEMENTATION.
|
|||
)->label( 'quantity'
|
||||
)->input( view->_bind( quantity )
|
||||
)->label( 'product'
|
||||
)->input( value = product editable = abap_False
|
||||
)->input( value = product enabled = abap_False
|
||||
)->button( text = 'post' press = view->_event( 'BUTTON_POST' ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
|
|
@ -82,7 +82,10 @@ CLASS z2ui5_cl_app_demo_09 IMPLEMENTATION.
|
|||
|
||||
DATA(view) = client->factory_view( 'MAIN' ).
|
||||
DATA(page) = view->page( title = 'abap2UI5 - Value Help Examples' navbuttontap = view->_event( 'BACK' ) ).
|
||||
page->header_content( )->link( text = 'Go to Source Code' href = client->get( )-s_request-url_source_code ).
|
||||
page->header_content(
|
||||
)->link( text = 'Demo' href = 'https://twitter.com/OblomovDev/status/1637470531136921600'
|
||||
)->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code
|
||||
).
|
||||
|
||||
DATA(grid) = page->grid( 'XL12 L12 M12 S12' )->content( 'l' ).
|
||||
|
||||
|
|
|
@ -68,7 +68,10 @@ CLASS z2ui5_cl_app_demo_11 IMPLEMENTATION.
|
|||
DATA(view) = client->factory_view( ).
|
||||
DATA(page) = view->page( title = 'abap2UI5 - Tables and editable' navbuttontap = view->_event( 'BACK' ) ).
|
||||
|
||||
page->header_content( )->link( text = 'Go to Source Code' href = client->get( )-s_request-url_source_code ).
|
||||
page->header_content(
|
||||
)->link( text = 'Demo' href = 'https://twitter.com/OblomovDev/status/1630240894581608448'
|
||||
)->link( text = 'Source_Code' href = client->get( )-s_request-url_source_code
|
||||
).
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -4,21 +4,6 @@ CLASS z2ui5_cl_app_demo_12 DEFINITION PUBLIC.
|
|||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_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.
|
||||
|
||||
DATA mv_value TYPE string VALUE 'value'.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
@ -32,85 +17,47 @@ CLASS z2ui5_cl_app_demo_12 IMPLEMENTATION.
|
|||
|
||||
CASE client->get( )-lifecycle_method.
|
||||
|
||||
WHEN client->cs-lifecycle_method-on_init.
|
||||
t_tab = REDUCE #( INIT ret = VALUE #( ) FOR n = 1 WHILE n < 11 NEXT ret =
|
||||
VALUE #( BASE ret ( title = 'Hans' value = 'red' info = 'completed' descr = 'this is a description' checkbox = abap_true ) ) ).
|
||||
|
||||
|
||||
|
||||
WHEN client->cs-lifecycle_method-on_event.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
when 'POPUP_TO_DECIDE'.
|
||||
|
||||
|
||||
|
||||
WHEN 'BUTTON_POPUP_DECIDE'.
|
||||
|
||||
client->nav_app_call( z2ui5_cl_app_demo_20=>factory(
|
||||
i_text = 'Do really want to continue?'
|
||||
i_cancel_text = 'No'
|
||||
i_cancel_event = 'POPUP_CONFIRM_NO'
|
||||
i_confirm_text = 'Yes'
|
||||
i_confirm_event = 'POPUP_CONFIRM_YES' )
|
||||
).
|
||||
|
||||
WHEN 'BUTTON_POPUP_SELECT'.
|
||||
DATA(lo_popup_select) = z2ui5_cl_app_demo_23=>factory(
|
||||
event_callback = 'POPUP_SELECT_RETURN'
|
||||
i_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' ) ) ).
|
||||
client->nav_app_call( lo_popup_select ).
|
||||
|
||||
WHEN 'POPUP_SELECT_RETURN'.
|
||||
lo_popup_select = CAST z2ui5_cl_app_demo_23( client->get_app_by_id( client->get( )-id_prev_app ) ).
|
||||
DELETE lo_popup_select->t_tab WHERE selkz <> abap_true.
|
||||
client->popup_message_box( 'Entry selected: ' && lo_popup_select->t_tab[ 1 ]-title ).
|
||||
|
||||
WHEN 'POPUP_CONFIRM_YES'.
|
||||
client->popup_message_box( 'decide yes' ).
|
||||
|
||||
WHEN 'POPUP_CONFIRM_NO'.
|
||||
client->popup_message_box( 'decide no' ).
|
||||
|
||||
WHEN 'F4HELP'.
|
||||
client->popup_message_box( 'F4HELP' ).
|
||||
|
||||
WHEN 'BUTTON_POPUP_01'.
|
||||
client->view_popup( 'BAL_POPUP' ).
|
||||
client->view_popup( 'POPUP_DECIDE' ).
|
||||
|
||||
WHEN 'POPUP_DECIDE_CONTINUE'.
|
||||
client->popup_message_toast( 'continue pressed' ).
|
||||
|
||||
WHEN 'POPUP_DECIDE_CANCEL'.
|
||||
client->popup_message_toast( 'cancel pressed' ).
|
||||
|
||||
WHEN 'BUTTON_POPUP_02'.
|
||||
client->view_show( 'MAIN' ).
|
||||
client->view_popup( 'BAL_POPUP' ).
|
||||
client->view_popup( 'POPUP_DECIDE' ).
|
||||
|
||||
WHEN 'BUTTON_POPUP_03'.
|
||||
client->view_show( 'MAIN' ).
|
||||
client->view_popup( 'BAL_POPUP2' ).
|
||||
client->view_popup( 'POPUP_DECIDE_FRONTEND_CLOSE' ).
|
||||
|
||||
WHEN 'BUTTON_POPUP_04'.
|
||||
client->set( set_prev_view = abap_true ).
|
||||
client->view_popup( 'BAL_POPUP2' ).
|
||||
client->view_popup( 'POPUP_DECIDE' ).
|
||||
|
||||
WHEN 'BUTTON_POPUP_05'.
|
||||
client->nav_app_call( z2ui5_cl_app_demo_20=>factory(
|
||||
|
||||
i_text = 'Do really want to continue?'
|
||||
i_cancel_text = 'No'
|
||||
i_cancel_event = 'POPUP_CONFIRM_NO'
|
||||
i_confirm_text = 'Yes'
|
||||
i_confirm_event = 'POPUP_CONFIRM_YES' )
|
||||
).
|
||||
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'
|
||||
i_check_show_previous_view = abap_false ) ).
|
||||
|
||||
WHEN 'BUTTON_POPUP_06'.
|
||||
" client->set( set_prev_view = abap_true ).
|
||||
client->view_popup( 'POPUP_TABLE' ).
|
||||
|
||||
WHEN 'POPUP_TABLE_SEND'.
|
||||
client->popup_message_box( 'entries edited' ).
|
||||
client->nav_app_call( z2ui5_cl_app_demo_20=>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 'BACK'.
|
||||
client->nav_app_leave( client->get( )-id_prev_app_stack ).
|
||||
|
@ -120,154 +67,66 @@ CLASS z2ui5_cl_app_demo_12 IMPLEMENTATION.
|
|||
|
||||
WHEN client->cs-lifecycle_method-on_rendering.
|
||||
|
||||
DATA(view) = client->factory_view( ).
|
||||
DATA(view) = client->factory_view( name = 'MAIN' ).
|
||||
DATA(page) = view->page( title = 'abap2UI5 - Popups' navbuttontap = view->_event( 'BACK' ) ).
|
||||
page->header_content( )->link( text = 'Go to Source Code' href = client->get( )-s_request-url_source_code ).
|
||||
page->header_content( )->link( text = 'Go to Source_Code' href = client->get( )-s_request-url_source_code ).
|
||||
|
||||
DATA(grid) = page->grid( 'L6 M12 S12' )->content( 'l' ).
|
||||
|
||||
grid->simple_form( 'Input' )->content( 'f'
|
||||
)->label( '01'
|
||||
)->button( text = 'Popup to Decide' press = view->_event( 'POPUP_TO_DECIDE' )
|
||||
)->label( '02'
|
||||
)->button( text = 'Popup Get Text Input' press = view->_event( 'POPUP_TO_TEXTAREA' )
|
||||
)->label( '03'
|
||||
)->button( text = 'Popup Get Input Values' press = view->_event( 'POPUP_TO_INPUT' )
|
||||
)->label( '04'
|
||||
)->button( text = 'Popup Get selected Entry' press = view->_event( 'POPUP_TO_SELECT' )
|
||||
)->label( '06'
|
||||
)->button( text = 'Popup show BAL' press = view->_event( 'POPUP_TO_BAL' )
|
||||
).
|
||||
|
||||
|
||||
page->input(
|
||||
value = view->_bind( mv_value )
|
||||
showvaluehelp = abap_true
|
||||
valuehelprequest = view->_event( 'F4HELP' )
|
||||
).
|
||||
|
||||
page->button(
|
||||
text = 'Popup new app - popup renderung, no view'
|
||||
press = view->_event( 'BUTTON_POPUP_DECIDE' )
|
||||
).
|
||||
|
||||
page->button(
|
||||
text = 'Popup same app - popup rendering, no view rendering'
|
||||
DATA(grid) = page->grid( 'L7 M12 S12' )->content( 'l' ).
|
||||
grid->simple_form( 'Popup in same App' )->content( 'f'
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, no background rendering'
|
||||
press = view->_event( 'BUTTON_POPUP_01' )
|
||||
).
|
||||
|
||||
page->button(
|
||||
text = 'Popup same app - popup rendering, view rendering'
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, background rendering'
|
||||
press = view->_event( 'BUTTON_POPUP_02' )
|
||||
).
|
||||
|
||||
page->button(
|
||||
text = 'Popup same app - popup rendering, view rendering - frontend close'
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, background rendering - close (no roundtrip)'
|
||||
press = view->_event( 'BUTTON_POPUP_03' )
|
||||
).
|
||||
|
||||
page->button(
|
||||
text = 'Popup same app - popup rendering, view previous'
|
||||
press = view->_event( 'BUTTON_POPUP_04' )
|
||||
).
|
||||
|
||||
|
||||
page->button(
|
||||
text = 'Popup next app - popup rendering, view previous'
|
||||
press = view->_event( 'BUTTON_POPUP_05' )
|
||||
).
|
||||
|
||||
page->button(
|
||||
text = 'Popup select'
|
||||
press = view->_event( 'BUTTON_POPUP_06' )
|
||||
).
|
||||
|
||||
|
||||
" client->set( focus = mv_value ).
|
||||
|
||||
page->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Send to Server'
|
||||
press = view->_event( 'BUTTON_SEND' )
|
||||
type = 'Success' ).
|
||||
|
||||
|
||||
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, background rendering (previous view)'
|
||||
press = view->_event( 'BUTTON_POPUP_04' ) ).
|
||||
grid->simple_form( 'Popup in new App' )->content( 'f'
|
||||
)->label( 'Demo'
|
||||
)->button( text = 'popup rendering, no background'
|
||||
press = view->_event( 'BUTTON_POPUP_05' )
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, background rendering (previous view)'
|
||||
press = view->_event( 'BUTTON_POPUP_06' ) ).
|
||||
|
||||
|
||||
view = client->factory_view( 'POPUP_DECIDE' ).
|
||||
|
||||
DATA(popup) = view->dialog( title = 'Popup - Decide' ).
|
||||
|
||||
popup->text( text = 'this is a message' ).
|
||||
popup->button( text = 'YES' press = view->_event( 'POPUP_CONFIRM_YES' ) ).
|
||||
popup->button( text = 'NO' press = view->_event( 'POPUP_CONFIRM_NO' ) ).
|
||||
|
||||
popup->footer( )->overflow_toolbar(
|
||||
DATA(popup) = view->dialog( title = 'Popup - Decide'
|
||||
)->vbox( )->text( text = 'this is a popup to decide, you have to make a decision now...'
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Send to Server'
|
||||
press = view->_event( 'BUTTON_SEND' )
|
||||
type = 'Success' ).
|
||||
text = 'Cancel'
|
||||
press = view->_event( 'POPUP_DECIDE_CANCEL' )
|
||||
)->button(
|
||||
text = 'Continue'
|
||||
press = view->_event( 'POPUP_DECIDE_CONTINUE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
|
||||
view = client->factory_view( 'POPUP_DECIDE_FRONTEND_CLOSE' ).
|
||||
|
||||
|
||||
|
||||
view = client->factory_view( 'BAL_POPUP2' ).
|
||||
|
||||
popup = view->dialog( title = 'Example - ZZ2UI5_CL_APP_DEMO_07' ).
|
||||
|
||||
popup->text( text = 'this popup frontend close' ).
|
||||
popup->button( text = 'YES' press = view->_event( 'POPUP_CONFIRM_YES' ) ).
|
||||
popup->button( text = 'NO' press = view->_event( 'POPUP_CONFIRM_NO' ) ).
|
||||
|
||||
popup->footer( )->overflow_toolbar(
|
||||
popup = view->dialog( title = 'Popup - Info'
|
||||
)->vbox( )->text( text = 'this is an information, press close to go back to the main view without a server roundtrip'
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'frontend close'
|
||||
text = 'close'
|
||||
press = view->_event_close_popup( )
|
||||
type = 'Success' ).
|
||||
type = 'Emphasized' ).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
view = client->factory_view( 'POPUP_TABLE' ).
|
||||
|
||||
popup = view->dialog( title = 'Example - ZZ2UI5_CL_APP_DEMO_07' ).
|
||||
|
||||
DATA(tab) = popup->table( view->_bind( t_tab ) ).
|
||||
|
||||
"set toolbar
|
||||
tab->header_toolbar( )->overflow_toolbar(
|
||||
)->title( 'title of the table' ).
|
||||
|
||||
"set header
|
||||
tab->columns(
|
||||
)->column( )->text( 'Title' )->get_parent(
|
||||
)->column( )->text( 'Color' )->get_parent(
|
||||
)->column( )->text( 'Info' )->get_parent(
|
||||
)->column( )->text( 'Description' )->get_parent(
|
||||
)->column( )->text( 'Checkbox' ).
|
||||
|
||||
tab->items( )->column_list_item( )->cells(
|
||||
)->input( '{TITLE}'
|
||||
)->input( '{VALUE}'
|
||||
)->input( '{INFO}'
|
||||
)->input( '{DESCR}'
|
||||
)->checkbox( selected = '{CHECKBOX}' enabled = abap_true ).
|
||||
|
||||
popup->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Commit'
|
||||
press = view->_event( 'POPUP_TABLE_SEND' )
|
||||
type = 'Success' ).
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
|
|
@ -6,6 +6,19 @@ CLASS z2ui5_cl_app_demo_18 DEFINITION PUBLIC.
|
|||
|
||||
DATA mv_path TYPE string.
|
||||
DATA mv_value TYPE string.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_file,
|
||||
selkz TYPE abap_bool,
|
||||
name TYPE string,
|
||||
format TYPE string,
|
||||
size TYPE string,
|
||||
descr TYPE string,
|
||||
data TYPE string,
|
||||
END OF ty_file.
|
||||
|
||||
DATA mt_file TYPE STANDARD TABLE OF ty_file WITH EMPTY KEY.
|
||||
DATA ms_file TYPE ty_file.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
@ -26,27 +39,25 @@ CLASS z2ui5_cl_app_demo_18 IMPLEMENTATION.
|
|||
WHEN client->cs-lifecycle_method-on_event.
|
||||
*
|
||||
CASE client->get( )-event.
|
||||
*
|
||||
* 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->display_message_toast( 'Download successfull').
|
||||
*
|
||||
* WHEN 'DB_SAVE'.
|
||||
* lcl_mime_api=>save_data( mv_editor ).
|
||||
* client->display_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 'DISPLAY'.
|
||||
ms_file = mt_file[ selkz = abap_true ].
|
||||
|
||||
WHEN 'UPLOAD'.
|
||||
DATA(lv_dummy) = ''.
|
||||
INSERT VALUE #( name = mv_path data = mv_value size = strlen( mv_value ) format = mv_value+5(5) ) INTO TABLE mt_file.
|
||||
|
||||
WHEN 'TEXTAREA_CONFIRM'.
|
||||
mt_file[ name = ms_file-name ] = ms_file.
|
||||
CLEAR ms_file.
|
||||
|
||||
WHEN 'POPUP_DESCR'.
|
||||
ms_file = mt_file[ selkz = abap_true ].
|
||||
client->view_popup( 'POPUP_DESCR' ).
|
||||
|
||||
WHEN 'POPUP_DATA'.
|
||||
ms_file = mt_file[ selkz = abap_true ].
|
||||
client->view_popup( 'POPUP_DATA' ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get( )-id_prev_app_stack ).
|
||||
|
||||
|
@ -56,28 +67,91 @@ CLASS z2ui5_cl_app_demo_18 IMPLEMENTATION.
|
|||
|
||||
DATA(view) = client->factory_view( 'VIEW_INPUT' ).
|
||||
DATA(page) = view->page( title = 'abap2UI5 - Upload/Download Files' navbuttontap = view->_event( 'BACK' ) ).
|
||||
" DATA(grid) = page->grid( 'L12 M12 S12' )->content( 'l' ).
|
||||
|
||||
DATA(lv_html_text) = `<h3>subheader</h3><p>link: <a href="//www.sap.com" style="color:green; font-weight:600;">link to sap.com</a> - links open in a new window.</p><p>paragraph: <strong>strong</strong> and <em>emphasized</em>.</p><p>list:</p><ul` &&
|
||||
`><li>list item 1</li><li>list item 2<ul><li>sub item 1</li><li>sub item 2</li></ul></li></ul><p>pre:</p><pre>abc def ghi</pre><p>code: <code>var el = document.getElementById("myId");</code></p><p>cite: <cite>a reference to a source</cite></p>` &&
|
||||
`<dl><dt>definition:</dt><dd>definition list of terms and descriptions</dd>`.
|
||||
|
||||
page->vbox( 'sapUiSmallMargin' )->formatted_text( htmltext = lv_html_text ).
|
||||
|
||||
page->zz_file_uploader(
|
||||
value = view->_bind( mv_value )
|
||||
path = view->_bind( mv_path )
|
||||
placeholder = 'filepath here...'
|
||||
upload = view->_event( 'UPLOAD' )
|
||||
).
|
||||
upload = view->_event( 'UPLOAD' ) ).
|
||||
|
||||
IF mv_value IS NOT INITIAL.
|
||||
page->zz_html( '<iframe src="' && mv_value && '" height="90%" width="98%"/>' ).
|
||||
|
||||
DATA(tab) = page->table(
|
||||
headertext = 'Table'
|
||||
mode = 'SingleSelectLeft'
|
||||
items = view->_bind( mt_file ) ).
|
||||
|
||||
"set toolbar
|
||||
tab->header_toolbar( )->overflow_toolbar(
|
||||
)->title( 'Files'
|
||||
)->toolbar_spacer(
|
||||
)->button( text = 'Edit Description' press = view->_event( 'POPUP_DESCR' )
|
||||
)->button( text = 'Show Base64' press = view->_event( 'POPUP_DATA' )
|
||||
)->button( text = 'display' press = view->_event( 'DISPLAY' )
|
||||
).
|
||||
|
||||
tab->columns(
|
||||
)->column( width = '10%'
|
||||
" )->text( 'Title'
|
||||
)->get_parent(
|
||||
)->column( width = '10%'
|
||||
" )->text( 'Value'
|
||||
)->get_parent(
|
||||
)->column( width = '10%'
|
||||
" )->text( 'Value'
|
||||
)->get_parent(
|
||||
)->column(
|
||||
" )->text( 'Description'
|
||||
).
|
||||
|
||||
tab->items( )->column_list_item( selected = '{SELKZ}' )->cells(
|
||||
)->text( '{NAME}'
|
||||
)->text( '{FORMAT}'
|
||||
)->text( '{SIZE}'
|
||||
)->text( '{DESCR}' ).
|
||||
|
||||
|
||||
IF ms_file-data IS NOT INITIAL.
|
||||
page->zz_html( '<iframe src="' && ms_file-data && '" height="75%" width="98%"/>' ).
|
||||
CLEAR mv_value.
|
||||
ENDIF.
|
||||
RETURN.
|
||||
|
||||
" mv_editor = escape( val = mv_editor format = cl_abap_format=>e_json_string ).
|
||||
|
||||
view = client->factory_view( 'POPUP_DESCR' ).
|
||||
DATA(popup) = view->dialog( title = 'Edit Description' icon = 'sap-icon://edit' ).
|
||||
|
||||
popup->content(
|
||||
)->text_area(
|
||||
height = '100%'
|
||||
width = '100%'
|
||||
value = view->_bind( ms_file-descr ) ).
|
||||
|
||||
popup->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = view->_event( 'TEXTAREA_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = view->_event( 'TEXTAREA_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
view = client->factory_view( 'POPUP_DATA' ).
|
||||
popup = view->dialog( stretch = abaP_true title = 'Data:' ).
|
||||
|
||||
popup->content(
|
||||
)->text_area(
|
||||
height = '99%'
|
||||
width = '99%'
|
||||
enabled = abap_false
|
||||
value = view->_bind( ms_file-data ) ).
|
||||
|
||||
popup->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'close'
|
||||
press = view->_event( 'TEXTAREA_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
|
||||
ENDCASE.
|
||||
|
||||
|
|
|
@ -5,22 +5,21 @@ CLASS z2ui5_cl_app_demo_20 DEFINITION PUBLIC.
|
|||
INTERFACES z2ui5_if_app.
|
||||
CLASS-METHODS factory
|
||||
IMPORTING
|
||||
i_text TYPE string
|
||||
i_cancel_text TYPE string
|
||||
i_cancel_event TYPE string
|
||||
i_confirm_text TYPE string
|
||||
i_confirm_event TYPE string
|
||||
i_check_show_previous_view type abap_bool optional
|
||||
i_text TYPE string
|
||||
i_cancel_text TYPE string
|
||||
i_cancel_event TYPE string
|
||||
i_confirm_text TYPE string
|
||||
i_confirm_event TYPE string
|
||||
i_check_show_previous_view TYPE abap_bool DEFAULT abap_true
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_app_demo_20.
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_app_demo_20.
|
||||
|
||||
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_check_show_previous_view type abap_bool.
|
||||
DATA mv_check_show_previous_view TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
@ -49,9 +48,9 @@ CLASS z2ui5_cl_app_demo_20 IMPLEMENTATION.
|
|||
CASE client->get( )-lifecycle_method.
|
||||
|
||||
WHEN client->cs-lifecycle_method-on_init.
|
||||
if mv_check_show_previous_view = abap_true.
|
||||
client->set( set_prev_view = abap_true ).
|
||||
endif.
|
||||
IF mv_check_show_previous_view = abap_true.
|
||||
client->set( set_prev_view = abap_true ).
|
||||
ENDIF.
|
||||
client->view_popup( 'POPUP_DECIDE' ).
|
||||
|
||||
WHEN client->cs-lifecycle_method-on_event.
|
||||
|
@ -67,20 +66,18 @@ CLASS z2ui5_cl_app_demo_20 IMPLEMENTATION.
|
|||
WHEN client->cs-lifecycle_method-on_rendering.
|
||||
|
||||
DATA(view) = client->factory_view( 'POPUP_DECIDE' ).
|
||||
DATA(page) = view->dialog( title = 'abap2UI5 - Popup to decide'
|
||||
)->vbox( )->text( text = mv_text )->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = mv_cancel_text
|
||||
press = view->_event( mv_cancel_event )
|
||||
)->button(
|
||||
text = mv_confirm_text
|
||||
press = view->_event( mv_confirm_event )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
DATA(page) = view->dialog( title = 'Example - ZZ2UI5_CL_APP_DEMO_07' ).
|
||||
|
||||
page->text( text = mv_text ).
|
||||
page->button( text = mv_cancel_text press = view->_event( mv_cancel_event ) ).
|
||||
page->button( text = mv_confirm_text press = view->_event( mv_confirm_event ) ).
|
||||
|
||||
|
||||
page->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Send to Server'
|
||||
press = view->_event( 'BUTTON_SEND' )
|
||||
type = 'Success' ).
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
|
|
@ -67,7 +67,7 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
|
||||
CLASS-METHODS get_classname_by_ref
|
||||
IMPORTING
|
||||
in TYPE REF TO object
|
||||
in TYPE REF TO object
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
@ -109,15 +109,15 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
|
||||
CLASS-METHODS get_attri_name_by_ref
|
||||
IMPORTING
|
||||
i_focus TYPE data
|
||||
io_app TYPE REF TO object
|
||||
t_attri TYPE ty-t-attri
|
||||
i_focus TYPE data
|
||||
io_app TYPE REF TO object
|
||||
t_attri TYPE ty-t-attri
|
||||
RETURNING
|
||||
VALUE(result) TYPE string ##NEEDED.
|
||||
|
||||
CLASS-METHODS get_t_attri_by_ref
|
||||
IMPORTING
|
||||
io_app TYPE REF TO object
|
||||
io_app TYPE REF TO object
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty-t-attri ##NEEDED.
|
||||
|
||||
|
@ -129,14 +129,14 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
|
||||
CLASS-METHODS get_params_by_url
|
||||
IMPORTING
|
||||
url TYPE string
|
||||
name TYPE string
|
||||
url TYPE string
|
||||
name TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
CLASS-METHODS get_prev_when_no_handler
|
||||
IMPORTING
|
||||
val TYPE REF TO cx_root
|
||||
val TYPE REF TO cx_root
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO cx_root.
|
||||
|
||||
|
@ -149,7 +149,7 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
|
||||
CLASS-METHODS get_abap_2_json
|
||||
IMPORTING
|
||||
val TYPE any
|
||||
val TYPE any
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
@ -161,7 +161,7 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
|
||||
CLASS-METHODS get_json_boolean
|
||||
IMPORTING
|
||||
val TYPE any
|
||||
val TYPE any
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
@ -171,7 +171,7 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
|
||||
CLASS-METHODS get_trim_upper
|
||||
IMPORTING
|
||||
val TYPE clike
|
||||
val TYPE clike
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
@ -181,8 +181,8 @@ CLASS z2ui5_lcl_utility DEFINITION INHERITING FROM cx_no_check.
|
|||
|
||||
CLASS-METHODS _get_t_attri
|
||||
IMPORTING
|
||||
io_app TYPE REF TO object
|
||||
iv_attri TYPE csequence
|
||||
io_app TYPE REF TO object
|
||||
iv_attri TYPE csequence
|
||||
RETURNING
|
||||
VALUE(result) TYPE abap_attrdescr_tab.
|
||||
|
||||
|
@ -594,14 +594,14 @@ CLASS z2ui5_lcl_utility_tree_json DEFINITION.
|
|||
|
||||
CLASS-METHODS new
|
||||
IMPORTING
|
||||
io_root TYPE REF TO z2ui5_lcl_utility_tree_json
|
||||
iv_name TYPE simple
|
||||
io_root TYPE REF TO z2ui5_lcl_utility_tree_json
|
||||
iv_name TYPE simple
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
CLASS-METHODS factory
|
||||
IMPORTING
|
||||
iv_json TYPE clike OPTIONAL
|
||||
iv_json TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
|
@ -613,7 +613,7 @@ CLASS z2ui5_lcl_utility_tree_json DEFINITION.
|
|||
|
||||
METHODS get_attribute
|
||||
IMPORTING
|
||||
name TYPE string
|
||||
name TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
|
@ -627,27 +627,27 @@ CLASS z2ui5_lcl_utility_tree_json DEFINITION.
|
|||
|
||||
METHODS add_list_val
|
||||
IMPORTING
|
||||
v TYPE string
|
||||
v TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
METHODS add_attribute
|
||||
IMPORTING
|
||||
n TYPE clike
|
||||
v TYPE clike
|
||||
apos_active TYPE abap_bool DEFAULT abap_true
|
||||
n TYPE clike
|
||||
v TYPE clike
|
||||
apos_active TYPE abap_bool DEFAULT abap_true
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
METHODS add_attributes_name_value_tab
|
||||
IMPORTING
|
||||
it_name_value TYPE ty_T_name_value
|
||||
it_name_value TYPE ty_T_name_value
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
METHODS add_attribute_object
|
||||
IMPORTING
|
||||
name TYPE clike
|
||||
name TYPE clike
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
|
@ -661,13 +661,13 @@ CLASS z2ui5_lcl_utility_tree_json DEFINITION.
|
|||
|
||||
METHODS add_attribute_list
|
||||
IMPORTING
|
||||
name TYPE clike
|
||||
name TYPE clike
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
METHODS add_attribute_instance
|
||||
IMPORTING
|
||||
val TYPE REF TO z2ui5_lcl_utility_tree_json
|
||||
val TYPE REF TO z2ui5_lcl_utility_tree_json
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_utility_tree_json.
|
||||
|
||||
|
@ -683,14 +683,14 @@ CLASS z2ui5_lcl_utility_tree_json DEFINITION.
|
|||
|
||||
METHODS wrap_json
|
||||
IMPORTING
|
||||
iv_text TYPE string
|
||||
iv_text TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
METHODS quote_json
|
||||
IMPORTING
|
||||
iv_text TYPE string
|
||||
iv_cond TYPE abap_bool
|
||||
iv_text TYPE string
|
||||
iv_cond TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
@ -979,8 +979,8 @@ CLASS z2ui5_lcl_if_view DEFINITION.
|
|||
|
||||
METHODS _get_name_by_ref
|
||||
IMPORTING
|
||||
value TYPE data
|
||||
type TYPE string DEFAULT cs-bind_type-two_way
|
||||
value TYPE data
|
||||
type TYPE string DEFAULT cs-bind_type-two_way
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
|
@ -1027,6 +1027,7 @@ CLASS z2ui5_lcl_system_runtime DEFINITION.
|
|||
id_prev_app TYPE string,
|
||||
id_prev_app_stack TYPE string,
|
||||
|
||||
view_active TYPE string,
|
||||
t_attri TYPE _=>ty-t-attri,
|
||||
o_app TYPE REF TO object,
|
||||
app_classname TYPE string,
|
||||
|
@ -1085,9 +1086,9 @@ CLASS z2ui5_lcl_system_runtime DEFINITION.
|
|||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_system_runtime.
|
||||
|
||||
CLASS-METHODS set_app_client_update
|
||||
CLASS-METHODS set_app_update_by_client
|
||||
IMPORTING
|
||||
id_prev TYPE clike
|
||||
id_prev TYPE clike
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_system_runtime.
|
||||
|
||||
|
@ -1101,8 +1102,8 @@ CLASS z2ui5_lcl_system_runtime DEFINITION.
|
|||
|
||||
METHODS set_app_system_error
|
||||
IMPORTING
|
||||
kind TYPE string
|
||||
ix TYPE REF TO cx_root
|
||||
kind TYPE string
|
||||
ix TYPE REF TO cx_root
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_system_runtime.
|
||||
|
||||
|
@ -1370,6 +1371,7 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
|||
( n = 'showClearIcon' v = _=>get_json_boolean( showclearicon ) )
|
||||
( n = 'description' v = description )
|
||||
( n = 'editable' v = _=>get_json_boolean( editable ) )
|
||||
( n = 'enabled' v = _=>get_json_boolean( enabled ) )
|
||||
( n = 'valueState' v = valuestate )
|
||||
( n = 'valueStateText' v = valuestatetext )
|
||||
( n = 'value' v = value )
|
||||
|
@ -1460,7 +1462,8 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
|||
result = _generic(
|
||||
name = 'VBox'
|
||||
t_prop = VALUE #(
|
||||
( n = 'class' v = class )
|
||||
( n = 'height' v = height )
|
||||
( n = 'class' v = class )
|
||||
) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -1737,6 +1740,8 @@ CLASS z2ui5_lcl_if_view IMPLEMENTATION.
|
|||
( n = 'rows' v = rows )
|
||||
( n = 'height' v = height )
|
||||
( n = 'width' v = width )
|
||||
( n = 'editable' v = _=>get_json_boolean( editable ) )
|
||||
( n = 'enabled' v = _=>get_json_boolean( enabled ) )
|
||||
( n = 'id' v = id )
|
||||
( n = 'growing' v = _=>get_json_boolean( growing ) )
|
||||
( n = 'growingMaxLines' v = growingMaxLines )
|
||||
|
@ -2359,9 +2364,9 @@ CLASS z2ui5_lcl_system_app DEFINITION.
|
|||
|
||||
CLASS-METHODS factory_error
|
||||
IMPORTING
|
||||
error TYPE REF TO cx_root
|
||||
app TYPE REF TO object OPTIONAL
|
||||
kind TYPE string OPTIONAL
|
||||
error TYPE REF TO cx_root
|
||||
app TYPE REF TO object OPTIONAL
|
||||
kind TYPE string OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_lcl_system_app.
|
||||
|
||||
|
@ -2512,9 +2517,13 @@ CLASS z2ui5_lcl_system_app IMPLEMENTATION.
|
|||
|
||||
view = client->factory_view( 'HOME' ).
|
||||
DATA(page) = view->page(
|
||||
class = 'sapUiContentPadding sapUiResponsivePadding--header sapUiResponsivePadding--subHeader sapUiResponsivePadding--content sapUiResponsivePadding--footer'
|
||||
title = 'abap2UI5 - Development of UI5 Apps in pure ABAP' ).
|
||||
class = 'sapUiContentPadding sapUiResponsivePadding--subHeader sapUiResponsivePadding--content sapUiResponsivePadding--footer'
|
||||
" title = 'abap2UI5 - Development of UI5 Apps in pure ABAP'
|
||||
).
|
||||
page->header_content(
|
||||
)->title( ''
|
||||
)->title( 'abap2UI5 - Development of UI5 Apps in pure ABAP'
|
||||
)->toolbar_spacer(
|
||||
)->link( text = 'SCN' href = 'https://blogs.sap.com/tag/abap2ui5/'
|
||||
)->link( text = 'Twitter' href = 'https://twitter.com/OblomovDev'
|
||||
)->link( text = 'GitHub' href = 'https://github.com/oblomov-dev/abap2ui5' ).
|
||||
|
@ -2652,7 +2661,7 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
RETURN.
|
||||
ENDTRY.
|
||||
|
||||
result = set_app_client_update( lv_id_prev ).
|
||||
result = set_app_update_by_client( lv_id_prev ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -2670,7 +2679,7 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
CATCH cx_root.
|
||||
_=>raise( `View with the name ` && ms_next-view && ` not found - check the rendering` ).
|
||||
ENDTRY.
|
||||
ELSEIF ms_actual-view_active IS NOT INITIAL.
|
||||
ELSEIF ms_actual-view_active IS NOT INITIAL AND ms_next-view_popup IS INITIAL.
|
||||
TRY.
|
||||
lr_screen = REF #( ms_next-t_screen[ name = ms_actual-view_active ] ).
|
||||
ms_next-view = ms_actual-view_active.
|
||||
|
@ -2687,6 +2696,7 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
IF lr_screen IS BOUND.
|
||||
DATA(ls_view) = lr_screen->o_parser->get_view( ).
|
||||
lo_ui5_model->add_attribute( n = `vView` v = ls_view-xml ).
|
||||
ms_db-view_active = lr_screen->name.
|
||||
ls_view-o_model->mv_name = 'oViewModel'.
|
||||
lo_ui5_model->add_attribute_instance( ls_view-o_model ).
|
||||
ENDIF.
|
||||
|
@ -2708,14 +2718,14 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
|
||||
DATA(lo_system) = lo_ui5_model->add_attribute_object( 'oSystem' ).
|
||||
lo_system->add_attribute( n = 'ID' v = ms_db-id ).
|
||||
lo_system->add_attribute( n = 'VIEW_NAME' v = ms_next-view ).
|
||||
lo_system->add_attribute( n = 'VIEW_POPUP_NAME' v = ms_next-view_popup ).
|
||||
IF lr_screen IS BOUND.
|
||||
lo_system->add_attribute( n = 'VIEW' v = lr_screen->name ).
|
||||
ENDIF.
|
||||
IF lr_screen_popup IS BOUND.
|
||||
lo_system->add_attribute( n = 'VIEW_POPUP' v = lr_screen_popup->name ).
|
||||
ENDIF.
|
||||
* lo_system->add_attribute( n = 'VIEW_NAME' v = ms_next-view ).
|
||||
* lo_system->add_attribute( n = 'VIEW_POPUP_NAME' v = ms_next-view_popup ).
|
||||
* IF lr_screen IS BOUND.
|
||||
* lo_system->add_attribute( n = 'VIEW' v = lr_screen->name ).
|
||||
* ENDIF.
|
||||
* IF lr_screen_popup IS BOUND.
|
||||
* lo_system->add_attribute( n = 'VIEW_POPUP' v = lr_screen_popup->name ).
|
||||
* ENDIF.
|
||||
|
||||
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 ).
|
||||
|
||||
|
@ -2756,7 +2766,7 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_app_client_update.
|
||||
METHOD set_app_update_by_client.
|
||||
|
||||
CONSTANTS c_prefix TYPE string VALUE `result->MS_DB-O_APP->`.
|
||||
|
||||
|
@ -2769,7 +2779,7 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
DATA(lo_system) = ss_client-o_body->get_attribute( 'OSYSTEM' ).
|
||||
|
||||
TRY.
|
||||
result->ms_next-view_popup = lo_system->get_attribute( 'VIEW_POPUP' )->get_val( ).
|
||||
* result->ms_next-view_popup = lo_system->get_attribute( 'VIEW_POPUP' )->get_val( ).
|
||||
DATA(lo_popup_model) = ss_client-o_body->get_attribute( 'OPOPUP' ).
|
||||
|
||||
LOOP AT result->ms_db-t_attri REFERENCE INTO DATA(lr_attri)
|
||||
|
@ -2825,22 +2835,9 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
result->ms_next-event = ss_client-o_body->get_attribute( 'OEVENT' )->get_attribute( 'EVENT' )->get_val( ).
|
||||
CATCH cx_root.
|
||||
ENDTRY.
|
||||
* TRY.
|
||||
* result->ms_next-page_scroll_pos = ss_client-o_body->get_attribute( 'scrollPos' )->get_val( ).
|
||||
* CATCH cx_root.
|
||||
* ENDTRY.
|
||||
TRY.
|
||||
result->ms_next-view = lo_system->get_attribute( 'VIEW' )->get_val( ).
|
||||
CATCH cx_root.
|
||||
ENDTRY.
|
||||
TRY.
|
||||
result->ms_next-view = lo_system->get_attribute( 'VIEW_NAME' )->get_val( ).
|
||||
CATCH cx_root.
|
||||
ENDTRY.
|
||||
* TRY.
|
||||
* result->ms_next-view = lo_system->get_attribute( 'VIEW_POPUP_NAME' )->get_val( ).
|
||||
* CATCH cx_root.
|
||||
* ENDTRY.
|
||||
|
||||
result->ms_next-view = result->ms_db-view_active.
|
||||
CLEAR result->ms_db-view_active.
|
||||
|
||||
result->ms_next-lifecycle_method = z2ui5_if_client=>cs-lifecycle_method-on_event.
|
||||
|
||||
|
|
|
@ -115,6 +115,7 @@ INTERFACE z2ui5_if_view
|
|||
valueStateText TYPE clike OPTIONAL
|
||||
description TYPE clike OPTIONAL
|
||||
editable TYPE clike OPTIONAL
|
||||
enabled TYPE clike OPTIONAL
|
||||
suggestionItems TYPE clike OPTIONAL
|
||||
showSuggestion TYPE clike OPTIONAL
|
||||
showValueHelp TYPE clike OPTIONAL
|
||||
|
@ -376,7 +377,9 @@ INTERFACE z2ui5_if_view
|
|||
|
||||
METHODS vbox
|
||||
importing
|
||||
class type clike optional
|
||||
height type clike optional
|
||||
class type clike optional
|
||||
PREFERRED PARAMETER class
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_if_view.
|
||||
|
||||
|
@ -545,6 +548,8 @@ INTERFACE z2ui5_if_view
|
|||
rows TYPE clike OPTIONAL
|
||||
height TYPE clike OPTIONAL
|
||||
width TYPE clike OPTIONAL
|
||||
editable TYPE clike OPTIONAL
|
||||
enabled TYPE clike OPTIONAL
|
||||
growing TYPE clike OPTIONAL
|
||||
growingMaxLines TYPE clike OPTIONAL
|
||||
id TYPE clike OPTIONAL
|
||||
|
|
Loading…
Reference in New Issue
Block a user