mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 22:09:24 +08:00
parent
b747a388c7
commit
8706752a45
|
@ -33,6 +33,7 @@ CLASS z2ui5_cl_popup_get_range DEFINITION
|
|||
RETURNING
|
||||
VALUE(result) TYPE ty_s_result.
|
||||
|
||||
DATA mt_mapping TYPE z2ui5_if_types=>ty_t_name_value.
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
|
@ -43,7 +44,8 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_POPUP_GET_RANGE IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
|
||||
|
@ -63,6 +65,7 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
|||
|
||||
METHOD view_display.
|
||||
|
||||
|
||||
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
lo_popup = lo_popup->dialog(
|
||||
|
@ -85,7 +88,7 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
|||
|
||||
grid->combobox(
|
||||
selectedkey = `{OPTION}`
|
||||
items = client->_bind_local( z2ui5_cl_util=>filter_get_token_range_mapping( ) )
|
||||
items = client->_bind( mt_mapping )
|
||||
)->item(
|
||||
key = '{N}'
|
||||
text = '{N}'
|
||||
|
@ -128,6 +131,8 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
|||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
mt_mapping = z2ui5_cl_util=>filter_get_token_range_mapping( ).
|
||||
|
||||
CLEAR mt_filter.
|
||||
LOOP AT ms_result-t_range REFERENCE INTO DATA(lr_product).
|
||||
INSERT VALUE #(
|
||||
|
@ -143,6 +148,7 @@ CLASS z2ui5_cl_popup_get_range IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN `BUTTON_CONFIRM`.
|
||||
|
||||
CLEAR ms_result-t_range.
|
||||
|
|
|
@ -5,10 +5,38 @@ CLASS z2ui5_cl_popup_get_range_multi DEFINITION
|
|||
PUBLIC SECTION.
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_variant,
|
||||
uname TYPE string,
|
||||
handle1 TYPE string,
|
||||
handle2 TYPE string,
|
||||
handle3 TYPE string,
|
||||
END OF ty_s_variant.
|
||||
DATA ms_variant TYPE ty_s_variant.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_variant_out,
|
||||
s_variant TYPE ty_s_variant,
|
||||
description TYPE string,
|
||||
selkz TYPE abap_bool,
|
||||
check_user TYPE abap_bool,
|
||||
check_default TYPE abap_bool,
|
||||
t_filter TYPE z2ui5_cl_util=>ty_t_filter_multi,
|
||||
END OF ty_s_variant_out.
|
||||
TYPES ty_t_variant_out TYPE STANDARD TABLE OF ty_s_variant_out WITH EMPTY KEY.
|
||||
DATA mt_variant TYPE ty_t_variant_out.
|
||||
|
||||
DATA ms_variant_save TYPE ty_s_variant_out.
|
||||
|
||||
|
||||
CLASS-METHODS factory
|
||||
IMPORTING
|
||||
val TYPE z2ui5_cl_util=>ty_t_filter_multi
|
||||
o_variant TYPE REF TO z2ui5_cl_popup_get_variant
|
||||
check_db_active TYPE abap_bool DEFAULT abap_true
|
||||
var_check_user TYPE abap_bool DEFAULT abap_true
|
||||
var_handle1 TYPE clike DEFAULT sy-repid
|
||||
var_handle2 TYPE clike OPTIONAL
|
||||
var_handle3 TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_get_range_multi.
|
||||
|
||||
|
@ -21,33 +49,111 @@ CLASS z2ui5_cl_popup_get_range_multi DEFINITION
|
|||
DATA ms_result TYPE ty_s_result.
|
||||
|
||||
METHODS result
|
||||
RETURNING VALUE(result) TYPE ty_s_result.
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_s_result.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA o_variant TYPE REF TO z2ui5_cl_popup_get_variant.
|
||||
DATA check_db_active TYPE abap_bool.
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA mv_popup_name TYPE LINE OF string_table.
|
||||
METHODS popup_display.
|
||||
|
||||
METHODS popup_variant_read.
|
||||
METHODS popup_variant_save.
|
||||
METHODS init.
|
||||
METHODS db_read.
|
||||
METHODS db_save.
|
||||
METHODS save_variant.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS z2ui5_cl_popup_get_range_multi IMPLEMENTATION.
|
||||
|
||||
CLASS Z2UI5_CL_POPUP_GET_RANGE_MULTI IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD db_read.
|
||||
TRY.
|
||||
|
||||
CLEAR mt_variant.
|
||||
|
||||
DATA lt_variant_user TYPE ty_t_variant_out.
|
||||
z2ui5_cl_util=>db_load_by_handle(
|
||||
EXPORTING
|
||||
uname = ms_variant-uname
|
||||
handle = ms_variant-handle1
|
||||
handle2 = ms_variant-handle2
|
||||
handle3 = ms_variant-handle3
|
||||
IMPORTING
|
||||
result = lt_variant_user ).
|
||||
INSERT LINES OF lt_variant_user INTO TABLE mt_variant.
|
||||
|
||||
DATA lt_variant TYPE ty_t_variant_out.
|
||||
z2ui5_cl_util=>db_load_by_handle(
|
||||
EXPORTING
|
||||
handle = ms_variant-handle1
|
||||
handle2 = ms_variant-handle2
|
||||
handle3 = ms_variant-handle3
|
||||
IMPORTING
|
||||
result = lt_variant
|
||||
).
|
||||
INSERT LINES OF lt_variant INTO TABLE mt_variant.
|
||||
|
||||
CATCH cx_root.
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD db_save.
|
||||
|
||||
DATA(lt_variant_user) = mt_variant.
|
||||
DELETE lt_variant_user WHERE s_variant-uname IS INITIAL.
|
||||
z2ui5_cl_util=>db_save(
|
||||
uname = ms_variant-uname
|
||||
handle = ms_variant-handle1
|
||||
handle2 = ms_variant-handle2
|
||||
handle3 = ms_variant-handle3
|
||||
data = lt_variant_user
|
||||
).
|
||||
|
||||
DATA(lt_variant) = mt_variant.
|
||||
DELETE lt_variant WHERE s_variant-uname IS NOT INITIAL.
|
||||
z2ui5_cl_util=>db_save(
|
||||
handle = ms_variant-handle1
|
||||
handle2 = ms_variant-handle2
|
||||
handle3 = ms_variant-handle3
|
||||
data = lt_variant
|
||||
).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
|
||||
r_result = NEW #( ).
|
||||
r_result->ms_result-t_sql = val.
|
||||
r_result->o_variant = o_variant.
|
||||
r_result->check_db_active = check_db_active.
|
||||
|
||||
r_result->ms_variant = VALUE #(
|
||||
uname = COND #( WHEN var_check_user = abap_true THEN sy-uname )
|
||||
handle1 = var_handle1
|
||||
handle2 = var_handle2
|
||||
handle3 = var_handle3
|
||||
).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD result.
|
||||
result = ms_result.
|
||||
|
||||
METHOD init.
|
||||
|
||||
db_read( ).
|
||||
popup_display( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD popup_display.
|
||||
|
||||
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
@ -64,8 +170,8 @@ CLASS z2ui5_cl_popup_get_range_multi IMPLEMENTATION.
|
|||
selectionchange = client->_event( 'SELCHANGE' )
|
||||
)->custom_list_item( ).
|
||||
|
||||
DATA(grid) = item->grid( ).
|
||||
grid->label( `{NAME}` ).
|
||||
DATA(grid) = item->grid( class = `sapUiSmallMarginTop sapUiSmallMarginBottom sapUiSmallMarginBegin` ).
|
||||
grid->text( `{NAME}` ).
|
||||
|
||||
grid->multi_input( tokens = `{T_TOKEN}`
|
||||
enabled = abap_false
|
||||
|
@ -90,6 +196,13 @@ CLASS z2ui5_cl_popup_get_range_multi IMPLEMENTATION.
|
|||
type = `Transparent`
|
||||
press = client->_event( val = `POPUP_DELETE_ALL` )
|
||||
)->toolbar_spacer(
|
||||
)->button( text = 'DB Read'
|
||||
press = client->_event( 'BUTTON_DB_READ' )
|
||||
icon = 'sap-icon://download-from-cloud'
|
||||
)->button( text = 'DB Save'
|
||||
press = client->_event( 'BUTTON_DB_SAVE' )
|
||||
icon = 'sap-icon://save'
|
||||
)->toolbar_spacer(
|
||||
)->button( text = 'Cancel'
|
||||
press = client->_event( 'BUTTON_CANCEL' )
|
||||
)->button( text = 'OK'
|
||||
|
@ -99,12 +212,124 @@ CLASS z2ui5_cl_popup_get_range_multi IMPLEMENTATION.
|
|||
client->popup_display( lo_popup->stringify( ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD popup_variant_read.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Variant'
|
||||
contentheight = `50%`
|
||||
contentwidth = `50%`
|
||||
afterclose = client->_event( 'DB_READ_CLOSE' ) ).
|
||||
|
||||
dialog->table(
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind_edit( mt_variant )
|
||||
)->columns(
|
||||
)->column( )->text( 'Layout' )->get_parent(
|
||||
)->column( )->text( 'Description' )->get_parent(
|
||||
)->column( )->text( 'Default' )->get_parent(
|
||||
)->get_parent(
|
||||
)->items(
|
||||
)->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{S_VARIANT/HANDLE1}'
|
||||
)->text( '{DESCR}'
|
||||
)->text( '{DEF}' ).
|
||||
|
||||
dialog->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Back'
|
||||
icon = 'sap-icon://nav-back'
|
||||
press = client->_event( 'DB_READ_CLOSE' )
|
||||
)->button(
|
||||
text = 'Open'
|
||||
icon = 'sap-icon://accept'
|
||||
press = client->_event( 'OPEN_SELECT' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
client->popup_display( popup->stringify( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD popup_variant_save.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Save'
|
||||
contentheight = `50%`
|
||||
contentwidth = `50%`
|
||||
afterclose = client->_event( 'DB_SAVE_CLOSE' ) ).
|
||||
|
||||
DATA(form) = dialog->simple_form( title = 'Layout'
|
||||
editable = abap_true
|
||||
labelspanxl = `4`
|
||||
labelspanl = `4`
|
||||
labelspanm = `4`
|
||||
labelspans = `4`
|
||||
adjustlabelspan = abap_false
|
||||
).
|
||||
|
||||
form->toolbar( )->title( 'Layout' ).
|
||||
|
||||
form->content( 'form'
|
||||
)->label( 'Layout'
|
||||
)->input( client->_bind_edit( ms_variant_save-s_variant-handle1 )
|
||||
)->label( 'Description'
|
||||
)->input( client->_bind_edit( ms_variant_save-description ) ).
|
||||
|
||||
form->toolbar( )->title( `` ).
|
||||
|
||||
form->content( 'form'
|
||||
)->label( 'Default Layout'
|
||||
)->switch( type = 'AcceptReject' state = client->_bind_edit( ms_variant_save-check_default )
|
||||
)->label( 'User specific'
|
||||
)->switch( type = 'AcceptReject' state = client->_bind_edit( ms_variant_save-check_user )
|
||||
).
|
||||
|
||||
dialog->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Back'
|
||||
icon = 'sap-icon://nav-back'
|
||||
press = client->_event( 'DB_SAVE_CLOSE' )
|
||||
)->button(
|
||||
text = 'Save'
|
||||
press = client->_event( 'DB_SAVE' )
|
||||
type = 'Success'
|
||||
icon = 'sap-icon://save' ).
|
||||
|
||||
client->popup_display( popup->get_root( )->xml_get( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD result.
|
||||
result = ms_result.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD save_variant.
|
||||
|
||||
db_read( ).
|
||||
ms_variant_save-t_filter = ms_result-t_sql.
|
||||
INSERT ms_variant_save INTO TABLE mt_variant.
|
||||
db_save( ).
|
||||
db_read( ).
|
||||
popup_display( ).
|
||||
client->message_toast_display( `Variant saved` ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
me->client = client.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
popup_display( ).
|
||||
init( ).
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
|
@ -135,6 +360,21 @@ CLASS z2ui5_cl_popup_get_range_multi IMPLEMENTATION.
|
|||
DATA(ls_sql) = ms_result-t_sql[ name = mv_popup_name ].
|
||||
client->nav_app_call( z2ui5_cl_popup_get_range=>factory( ls_sql-t_range ) ).
|
||||
|
||||
WHEN `BUTTON_DB_READ`.
|
||||
popup_variant_read( ).
|
||||
|
||||
WHEN 'BUTTON_DB_SAVE'.
|
||||
popup_variant_save( ).
|
||||
|
||||
WHEN `DB_SAVE_CLOSE`.
|
||||
popup_display( ).
|
||||
|
||||
WHEN `DB_READ_CLOSE`.
|
||||
popup_display( ).
|
||||
|
||||
WHEN `DB_SAVE`.
|
||||
save_variant( ).
|
||||
|
||||
WHEN `BUTTON_CONFIRM`.
|
||||
ms_result-check_confirmed = abap_true.
|
||||
client->popup_destroy( ).
|
||||
|
@ -144,6 +384,11 @@ CLASS z2ui5_cl_popup_get_range_multi IMPLEMENTATION.
|
|||
client->popup_destroy( ).
|
||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||
|
||||
WHEN `OPEN_SELECT`.
|
||||
DATA(ls_variant) = mt_variant[ selkz = abap_true ].
|
||||
ms_result-t_sql = ls_variant-t_filter.
|
||||
popup_display( ).
|
||||
|
||||
WHEN `POPUP_DELETE_ALL`.
|
||||
LOOP AT ms_result-t_sql REFERENCE INTO DATA(lr_sql).
|
||||
CLEAR lr_sql->t_range.
|
||||
|
|
|
@ -1,340 +0,0 @@
|
|||
CLASS z2ui5_cl_popup_get_variant DEFINITION
|
||||
PUBLIC FINAL
|
||||
CREATE PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_layo,
|
||||
layout TYPE c LENGTH 12,
|
||||
tab TYPE c LENGTH 30,
|
||||
descr TYPE c LENGTH 50,
|
||||
classname TYPE c LENGTH 30,
|
||||
def TYPE c LENGTH 1,
|
||||
uname TYPE c LENGTH 12,
|
||||
selkz TYPE abap_bool,
|
||||
END OF ty_s_layo.
|
||||
TYPES ty_t_layo TYPE STANDARD TABLE OF ty_s_layo WITH EMPTY KEY.
|
||||
|
||||
DATA mv_layout TYPE string.
|
||||
DATA mv_descr TYPE string.
|
||||
DATA mv_usr TYPE string.
|
||||
DATA mv_def TYPE string.
|
||||
|
||||
DATA mt_t001 TYPE ty_t_layo.
|
||||
|
||||
CLASS-METHODS factory_save
|
||||
IMPORTING
|
||||
val TYPE z2ui5_cl_util=>ty_t_filter_multi
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_get_variant.
|
||||
|
||||
CLASS-METHODS factory_load
|
||||
IMPORTING
|
||||
val TYPE z2ui5_cl_util=>ty_t_filter_multi
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_get_variant.
|
||||
|
||||
METHODS db_read_multi.
|
||||
METHODS db_save.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_result,
|
||||
t_sql TYPE z2ui5_cl_util=>ty_t_filter_multi,
|
||||
check_confirmed TYPE abap_bool,
|
||||
END OF ty_s_result.
|
||||
|
||||
DATA ms_result TYPE ty_s_result.
|
||||
|
||||
METHODS result
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_s_result.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA mv_popup_name TYPE LINE OF string_table.
|
||||
METHODS popup_display.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS render_open.
|
||||
METHODS render_delete.
|
||||
METHODS render_save.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_popup_get_variant IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD db_read_multi.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD db_save.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD factory_load.
|
||||
|
||||
r_result = NEW #( ).
|
||||
r_result->ms_result-t_sql = val.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD factory_save.
|
||||
|
||||
r_result = NEW #( ).
|
||||
r_result->ms_result-t_sql = val.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD popup_display.
|
||||
|
||||
render_delete( ).
|
||||
render_open( ).
|
||||
render_save( ).
|
||||
|
||||
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
lo_popup = lo_popup->dialog( afterclose = client->_event( 'BUTTON_CANCEL' )
|
||||
contentheight = `50%`
|
||||
contentwidth = `50%`
|
||||
title = 'Define Filter Conditons' ).
|
||||
|
||||
DATA(vbox) = lo_popup->vbox( height = `100%`
|
||||
justifycontent = 'SpaceBetween' ).
|
||||
|
||||
DATA(item) = vbox->list( nodata = `no conditions defined`
|
||||
items = client->_bind( ms_result-t_sql )
|
||||
selectionchange = client->_event( 'SELCHANGE' )
|
||||
)->custom_list_item( ).
|
||||
|
||||
DATA(grid) = item->grid( ).
|
||||
grid->label( `{NAME}` ).
|
||||
|
||||
grid->multi_input( tokens = `{T_TOKEN}`
|
||||
enabled = abap_false
|
||||
valuehelprequest = client->_event( val = `LIST_OPEN` t_arg = VALUE #( ( `${NAME}` ) ) )
|
||||
)->tokens(
|
||||
)->token( key = `{KEY}`
|
||||
text = `{TEXT}`
|
||||
visible = `{VISIBLE}`
|
||||
selected = `{SELKZ}`
|
||||
editable = `{EDITABLE}` ).
|
||||
|
||||
grid->button( text = `Select`
|
||||
press = client->_event( val = `LIST_OPEN` t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
||||
grid->button( icon = 'sap-icon://delete'
|
||||
type = `Transparent`
|
||||
text = `Clear`
|
||||
press = client->_event( val = `LIST_DELETE` t_arg = VALUE #( ( `${NAME}` ) ) ) ).
|
||||
|
||||
lo_popup->footer( )->overflow_toolbar(
|
||||
)->button( text = `Clear All`
|
||||
icon = 'sap-icon://delete'
|
||||
type = `Transparent`
|
||||
press = client->_event( val = `POPUP_DELETE_ALL` )
|
||||
)->toolbar_spacer(
|
||||
)->button( text = 'Cancel'
|
||||
press = client->_event( 'BUTTON_CANCEL' )
|
||||
)->button( text = 'OK'
|
||||
press = client->_event( 'BUTTON_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
client->popup_display( lo_popup->stringify( ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_delete.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Layout'
|
||||
afterclose = client->_event( 'CLOSE' ) ).
|
||||
|
||||
dialog->table(
|
||||
headertext = 'Layout'
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind_edit( mt_t001 )
|
||||
)->columns(
|
||||
)->column( )->text( 'Layout' )->get_parent(
|
||||
)->column( )->text( 'Description'
|
||||
)->get_parent( )->get_parent(
|
||||
)->items(
|
||||
)->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{LAYOUT}'
|
||||
)->text( '{DESCR}' ).
|
||||
|
||||
dialog->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Back'
|
||||
icon = 'sap-icon://nav-back'
|
||||
press = client->_event( 'CLOSE' )
|
||||
)->button(
|
||||
text = 'Delete'
|
||||
press = client->_event( 'DELETE_SELECT' )
|
||||
type = 'Reject'
|
||||
icon = 'sap-icon://delete' ).
|
||||
|
||||
client->popup_display( popup->stringify( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_open.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Layout'
|
||||
afterclose = client->_event( 'CLOSE' ) ).
|
||||
|
||||
dialog->table(
|
||||
headertext = 'Layout'
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind_edit( mt_t001 )
|
||||
)->columns(
|
||||
)->column( )->text( 'Layout' )->get_parent(
|
||||
)->column( )->text( 'Description' )->get_parent(
|
||||
)->column( )->text( 'Default' )->get_parent(
|
||||
)->get_parent(
|
||||
)->items(
|
||||
)->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{LAYOUT}'
|
||||
)->text( '{DESCR}'
|
||||
)->text( '{DEF}' ).
|
||||
|
||||
dialog->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Back'
|
||||
icon = 'sap-icon://nav-back'
|
||||
press = client->_event( 'CLOSE' )
|
||||
)->button(
|
||||
text = 'Open'
|
||||
icon = 'sap-icon://accept'
|
||||
press = client->_event( 'OPEN_SELECT' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
client->popup_display( popup->stringify( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_save.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Save'
|
||||
afterclose = client->_event( 'SAVE_CLOSE' ) ).
|
||||
|
||||
DATA(form) = dialog->simple_form( title = 'Layout'
|
||||
editable = abap_true
|
||||
labelspanxl = `4`
|
||||
labelspanl = `4`
|
||||
labelspanm = `4`
|
||||
labelspans = `4`
|
||||
adjustlabelspan = abap_false
|
||||
).
|
||||
|
||||
form->toolbar( )->title( 'Layout' ).
|
||||
|
||||
form->content( 'form'
|
||||
)->label( 'Layout'
|
||||
)->input( client->_bind_edit( mv_layout )
|
||||
)->label( 'Description'
|
||||
)->input( client->_bind_edit( mv_descr ) ).
|
||||
|
||||
form->toolbar( )->title( `` ).
|
||||
|
||||
form->content( 'form'
|
||||
)->label( 'Default Layout'
|
||||
)->switch( type = 'AcceptReject' state = client->_bind_edit( mv_def )
|
||||
)->label( 'User specific'
|
||||
)->switch( type = 'AcceptReject' state = client->_bind_edit( mv_usr )
|
||||
).
|
||||
|
||||
dialog->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Back'
|
||||
icon = 'sap-icon://nav-back'
|
||||
press = client->_event( 'SAVE_CLOSE' )
|
||||
)->button(
|
||||
text = 'Save'
|
||||
press = client->_event( 'SAVE_SAVE' )
|
||||
type = 'Success'
|
||||
icon = 'sap-icon://save' ).
|
||||
|
||||
client->popup_display( popup->get_root( )->xml_get( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD result.
|
||||
result = ms_result.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
me->client = client.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
popup_display( ).
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF client->get( )-check_on_navigated = abap_true.
|
||||
|
||||
DATA(lo_popup) = CAST z2ui5_cl_popup_get_range( client->get_app( client->get( )-s_draft-id_prev_app ) ).
|
||||
IF lo_popup->result( )-check_confirmed = abap_true.
|
||||
ASSIGN ms_result-t_sql[ name = mv_popup_name ] TO FIELD-SYMBOL(<tab>).
|
||||
<tab>-t_range = lo_popup->result( )-t_range.
|
||||
<tab>-t_token = z2ui5_cl_util=>filter_get_token_t_by_range_t( <tab>-t_range ).
|
||||
ENDIF.
|
||||
popup_display( ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'LIST_DELETE'.
|
||||
DATA(lt_event) = client->get( )-t_event_arg.
|
||||
ASSIGN ms_result-t_sql[ name = lt_event[ 1 ] ] TO <tab>.
|
||||
CLEAR <tab>-t_token.
|
||||
CLEAR <tab>-t_range.
|
||||
client->popup_model_update( ).
|
||||
|
||||
WHEN 'LIST_OPEN'.
|
||||
lt_event = client->get( )-t_event_arg.
|
||||
mv_popup_name = lt_event[ 1 ].
|
||||
DATA(ls_sql) = ms_result-t_sql[ name = mv_popup_name ].
|
||||
client->nav_app_call( z2ui5_cl_popup_get_range=>factory( ls_sql-t_range ) ).
|
||||
|
||||
WHEN `BUTTON_CONFIRM`.
|
||||
ms_result-check_confirmed = abap_true.
|
||||
client->popup_destroy( ).
|
||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||
|
||||
WHEN `BUTTON_CANCEL`.
|
||||
client->popup_destroy( ).
|
||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||
|
||||
WHEN `POPUP_DELETE_ALL`.
|
||||
LOOP AT ms_result-t_sql REFERENCE INTO DATA(lr_sql).
|
||||
CLEAR lr_sql->t_range.
|
||||
CLEAR lr_sql->t_token.
|
||||
ENDLOOP.
|
||||
client->popup_model_update( ).
|
||||
|
||||
ENDCASE.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_POPUP_GET_VARIANT</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>ui - popup get sel variants</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,159 +0,0 @@
|
|||
CLASS z2ui5_cl_popup_layout DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PROTECTED.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_layout,
|
||||
name TYPE string,
|
||||
visible TYPE abap_bool,
|
||||
length TYPE string,
|
||||
mergeduplicates TYPE abap_bool,
|
||||
END OF ty_s_layout.
|
||||
TYPES ty_t_layout TYPE STANDARD TABLE OF ty_s_layout WITH EMPTY KEY.
|
||||
|
||||
CLASS-METHODS factory
|
||||
IMPORTING
|
||||
t_layout TYPE ty_t_layout OPTIONAL
|
||||
i_tab TYPE STANDARD TABLE OPTIONAL
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_popup_layout.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_result,
|
||||
t_layout TYPE ty_t_layout,
|
||||
check_confirmed TYPE abap_bool,
|
||||
END OF ty_s_result.
|
||||
DATA ms_result TYPE ty_s_result.
|
||||
|
||||
METHODS result
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_s_result.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
METHODS on_event.
|
||||
METHODS display.
|
||||
METHODS on_event_confirm.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_POPUP_LAYOUT IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD display.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
||||
afterclose = client->_event( 'BUTTON_CONFIRM' )
|
||||
stretch = abap_true
|
||||
title = 'Layout View'
|
||||
)->content( ).
|
||||
|
||||
DATA(tab) = popup->table(
|
||||
client->_bind_edit( ms_result-t_layout ) ).
|
||||
|
||||
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_struc( ms_result-t_layout ).
|
||||
|
||||
DATA(list) = tab->column_list_item( valign = `Top` ).
|
||||
DATA(cells) = list->cells( ).
|
||||
|
||||
DATA(columns) = tab->columns( ).
|
||||
LOOP AT lt_comp INTO DATA(ls_comp2).
|
||||
DATA(col) = columns->column( '8rem' )->header( `` ).
|
||||
col->text( ls_comp2-name ).
|
||||
ENDLOOP.
|
||||
|
||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||
IF ls_comp-name = 'NAME'.
|
||||
cells->text( `{` && ls_comp-name && `}` ).
|
||||
ELSE.
|
||||
cells->checkbox( `{` && ls_comp-name && `}` ).
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
popup->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'OK'
|
||||
press = client->_event( 'BUTTON_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
client->popup_display( popup->stringify( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
|
||||
r_result = NEW #( ).
|
||||
|
||||
IF t_layout IS INITIAL.
|
||||
|
||||
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_struc( i_tab ).
|
||||
LOOP AT lt_comp REFERENCE INTO DATA(lr_comp).
|
||||
INSERT VALUE #( name = lr_comp->name visible = abap_true mergeduplicates = abap_false )
|
||||
INTO TABLE r_result->ms_result-t_layout.
|
||||
ENDLOOP.
|
||||
|
||||
ELSE.
|
||||
r_result->ms_result-t_layout = t_layout.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD on_event.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_CONFIRM'.
|
||||
|
||||
ms_result-check_confirmed = abap_true.
|
||||
on_event_confirm( ).
|
||||
|
||||
WHEN 'CANCEL'.
|
||||
client->popup_destroy( ).
|
||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD on_event_confirm.
|
||||
|
||||
client->popup_destroy( ).
|
||||
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD result.
|
||||
|
||||
result = ms_result.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
display( ).
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
on_event( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_POPUP_LAYOUT</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>ui - popup layout</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -387,14 +387,11 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
client->nav_app_leave( ).
|
||||
|
||||
WHEN 'SAVE_CLOSE'.
|
||||
* client->popup_destroy( ).
|
||||
render_edit( ).
|
||||
|
||||
WHEN 'SAVE_SAVE'.
|
||||
save_layout( ).
|
||||
render_edit( ).
|
||||
* client->popup_destroy( ).
|
||||
* client->nav_app_leave( ).
|
||||
|
||||
WHEN 'OPEN_SELECT'.
|
||||
ms_layout = get_selected_layout( ).
|
||||
|
@ -407,18 +404,11 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
client->nav_app_leave( ).
|
||||
|
||||
WHEN 'LAYOUT_LOAD'.
|
||||
* client->view_destroy( ).
|
||||
client->nav_app_call( z2ui5_cl_popup_layout_v2=>factory( layout = ms_layout
|
||||
client->nav_app_call( factory( layout = ms_layout
|
||||
open_layout = abap_true ) ).
|
||||
|
||||
* WHEN 'LAYOUT_EDIT'.
|
||||
* client->view_destroy( ).
|
||||
* client->nav_app_call( z2ui5_cl_popup_layout_v2=>factory( layout = ms_layout
|
||||
* extended_layout = abap_true ) ).
|
||||
|
||||
WHEN 'LAYOUT_DELETE'.
|
||||
* client->view_destroy( ).
|
||||
client->nav_app_call( z2ui5_cl_popup_layout_v2=>factory( layout = ms_layout
|
||||
client->nav_app_call( factory( layout = ms_layout
|
||||
delete_layout = abap_true ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
@ -451,11 +441,13 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Layout'
|
||||
DATA(dialog) = popup->dialog( title = 'Layout - Delete'
|
||||
contentheight = `50%`
|
||||
contentwidth = `50%`
|
||||
afterclose = client->_event( 'CLOSE' ) ).
|
||||
|
||||
dialog->table(
|
||||
headertext = 'Layout'
|
||||
* headertext = 'Layout'
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind_edit( mt_t001 )
|
||||
)->columns(
|
||||
|
@ -489,7 +481,8 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
DATA(dialog) = popup->dialog( title = 'Layout'
|
||||
contentwidth = '50%'
|
||||
contentheight = `50%`
|
||||
contentwidth = `50%`
|
||||
afterclose = client->_event( 'CANCEL' ) )->content( ).
|
||||
|
||||
DATA(tab) = dialog->table( growing = abap_true
|
||||
|
@ -569,11 +562,6 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
|
||||
dialog->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
icon = 'sap-icon://sys-cancel-2'
|
||||
press = client->_event( 'CANCEL' )
|
||||
)->button(
|
||||
text = 'DB Delete'
|
||||
press = client->_event( 'LAYOUT_DELETE' )
|
||||
|
@ -586,6 +574,11 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
text = 'DB Save'
|
||||
press = client->_event( 'LAYOUT_SAVE' )
|
||||
icon = 'sap-icon://save'
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
icon = 'sap-icon://sys-cancel-2'
|
||||
press = client->_event( 'CANCEL' )
|
||||
)->button(
|
||||
text = 'OK'
|
||||
icon = 'sap-icon://accept'
|
||||
|
@ -603,11 +596,13 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Layout'
|
||||
DATA(dialog) = popup->dialog( title = 'Layout - Open'
|
||||
contentheight = `50%`
|
||||
contentwidth = `50%`
|
||||
afterclose = client->_event( 'CLOSE' ) ).
|
||||
|
||||
dialog->table(
|
||||
headertext = 'Layout'
|
||||
* headertext = 'Layout'
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind_edit( mt_t001 )
|
||||
)->columns(
|
||||
|
@ -643,10 +638,13 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
DATA(dialog) = popup->dialog( title = 'Save'
|
||||
DATA(dialog) = popup->dialog( title = 'Layout - Save'
|
||||
contentheight = `50%`
|
||||
contentwidth = `50%`
|
||||
afterclose = client->_event( 'SAVE_CLOSE' ) ).
|
||||
|
||||
DATA(form) = dialog->simple_form( title = 'Layout'
|
||||
DATA(form) = dialog->simple_form(
|
||||
* title = 'Layout'
|
||||
editable = abap_true
|
||||
labelspanxl = `4`
|
||||
labelspanl = `4`
|
||||
|
@ -655,7 +653,7 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
|
|||
adjustlabelspan = abap_false
|
||||
).
|
||||
|
||||
form->toolbar( )->title( 'Layout' ).
|
||||
* form->toolbar( )->title( 'Layout' ).
|
||||
|
||||
form->content( 'form'
|
||||
)->label( 'Layout'
|
||||
|
|
Loading…
Reference in New Issue
Block a user