Skip to content

Commit ee9bd40

Browse files
authored
Refactor class name and methods in general.md
Renamed class and updated methods for improved clarity and functionality.
1 parent 3c1a67b commit ee9bd40

1 file changed

Lines changed: 62 additions & 23 deletions

File tree

docs/development/general.md

Lines changed: 62 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,82 @@ abap2UI5 offers great flexibility in how you structure your apps. Most sample ap
55
The basic idea: every request enters the `main` method, and you use `CASE` to distinguish between initialization, navigation returns, and user events:
66

77
```abap
8-
CLASS z2ui5_cl_app DEFINITION PUBLIC.
8+
CLASS z2ui5_cl_demo_app_001 DEFINITION PUBLIC.
99
1010
PUBLIC SECTION.
11+
1112
INTERFACES z2ui5_if_app.
1213
14+
DATA mv_value TYPE string.
15+
16+
PROTECTED SECTION.
17+
18+
DATA client TYPE REF TO z2ui5_if_client.
19+
20+
METHODS on_init.
21+
METHODS display_view.
22+
METHODS on_event.
23+
METHODS on_navigated.
24+
25+
PRIVATE SECTION.
1326
ENDCLASS.
1427
15-
CLASS z2ui5_cl_app IMPLEMENTATION.
28+
CLASS z2ui5_cl_demo_app_001 IMPLEMENTATION.
29+
1630
METHOD z2ui5_if_app~main.
17-
CASE abap_true.
1831
19-
"first start, init your app here...
32+
me->client = client.
33+
CASE abap_true.
2034
WHEN client->check_on_init( ).
21-
"...
22-
23-
"after coming back from another app
35+
on_init( ).
36+
display_view( ).
2437
WHEN client->check_on_navigated( ).
25-
"read the previous app
26-
DATA(lo_app_prev) = client->get_app_prev( ).
27-
"...
28-
29-
"after user event
38+
on_navigated( ).
3039
WHEN client->check_on_event( ).
31-
"read event information
32-
DATA(lt_arg) = client->get_event_arg( ).
33-
"...
34-
35-
"handle event
36-
CASE abap_true.
37-
WHEN client->check_on_event( `OK` ).
38-
"...
39-
WHEN client->check_on_event( `CANCEL` ).
40-
"...
41-
ENDCASE.
40+
on_event( ).
41+
ENDCASE.
42+
43+
ENDMETHOD.
44+
45+
METHOD display_view.
46+
47+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
48+
view->shell( )->page(
49+
)->simple_form( title = `Form Title` editable = abap_true
50+
)->content( `form`
51+
)->title( `Input`
52+
)->label( `value`
53+
)->input( client->_bind_edit( mv_value )
54+
)->button(
55+
text = `post`
56+
press = client->_event( `BUTTON_POST` ) ).
57+
client->view_display( view->stringify( ) ).
4258
59+
ENDMETHOD.
60+
61+
METHOD on_event.
62+
63+
DATA(lt_arg) = client->get_event_arg( ).
64+
65+
CASE client->get( )->event.
66+
WHEN `BUTTON_POST`.
67+
client->message_toast_display( |{ mv_value } - send to the server| ).
4368
ENDCASE.
69+
70+
ENDMETHOD.
71+
72+
METHOD on_init.
73+
74+
mv_value = `value`.
75+
4476
ENDMETHOD.
77+
78+
METHOD on_navigated.
79+
80+
DATA(lo_app_prev) = client->get_app_prev( ).
81+
82+
ENDMETHOD.
83+
4584
ENDCLASS.
4685
```
4786
Refer to the specific sections of this development guide for more details on views, events, data binding, and navigation.

0 commit comments

Comments
 (0)