@@ -18,6 +18,9 @@ CLASS z2ui5_cl_demo_app_056 DEFINITION PUBLIC.
1818 DATA mt_table TYPE ty_t_table.
1919 DATA mt_token TYPE z2ui5_cl_util_func=>ty_t_token.
2020
21+ DATA mt_tokens_added TYPE z2ui5_cl_util_func=>ty_t_token.
22+ DATA mt_tokens_removed TYPE z2ui5_cl_util_func=>ty_t_token.
23+
2124 PROTECTED SECTION .
2225 DATA client TYPE REF TO z2ui5_if_client.
2326 DATA mv_check_initialized TYPE abap_bool .
@@ -42,15 +45,24 @@ CLASS z2ui5_cl_demo_app_056 IMPLEMENTATION.
4245 set_data( ).
4346 client->view_model_update( ).
4447
48+ WHEN `UPDATE_TOKENS` .
49+ LOOP AT mt_tokens_removed INTO DATA (ls_token ).
50+ DELETE mt_token WHERE key = ls_token-key.
51+ ENDLOOP .
52+
53+ LOOP AT mt_tokens_added INTO ls_token.
54+ INSERT VALUE #( key = ls_token-key text = ls_token-text visible = abap_true editable = abap_true ) INTO TABLE mt_token.
55+ ENDLOOP .
56+
57+ CLEAR mt_tokens_removed.
58+ CLEAR mt_tokens_added.
59+
60+ mt_range = z2ui5_cl_util_func=>get_range_t_by_token_t( mt_token ).
61+ client->view_model_update( ).
62+
4563 WHEN `FILTER_VALUE_HELP` .
4664 client->nav_app_call( z2ui5_cl_popup_get_range=>factory( mt_range ) ).
4765
48- * WHEN `FILTER_UPDATE`.
49- * IF mv_value IS NOT INITIAL.
50- * DATA(ls_range) = hlp_get_range_by_value( mv_value ).
51- * INSERT ls_range INTO TABLE ms_filter-product.
52- * ENDIF.
53-
5466 WHEN 'BACK' .
5567 client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
5668 ENDCASE .
@@ -105,9 +117,18 @@ CLASS z2ui5_cl_demo_app_056 IMPLEMENTATION.
105117 DATA (lo_box ) = page->header( )->dynamic_page_header( pinnable = abap_true
106118 )->flex_box( alignitems = `Start` justifycontent = `SpaceBetween` )->flex_box( alignitems = `Start` ).
107119
120+
108121 DATA (vbox ) = lo_box->vbox( ).
122+
123+ lo_box->_z2ui5( )->multiinput_ext(
124+ addedtokens = client->_bind_edit( mt_tokens_added )
125+ removedtokens = client->_bind_edit( mt_tokens_removed )
126+ change = client->_event( 'UPDATE_TOKENS' )
127+ multiinputid = `MultiInput` ).
128+
109129 vbox->text( `Product:`
110130 )->multi_input(
131+ id = `MultiInput`
111132 tokens = client->_bind( mt_token )
112133 showclearicon = abap_true
113134 valuehelprequest = client->_event( 'FILTER_VALUE_HELP' )
0 commit comments