Refactoring (#955)

* refactoring

* update

* Update changelog.txt

* lint fixes

* update

* update
This commit is contained in:
oblomov 2024-02-25 13:01:37 +01:00 committed by GitHub
parent 3aeeb5d615
commit 6658b1b387
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 99 additions and 31 deletions

View File

@ -9,6 +9,15 @@ Legend
- : removed
2024-02-25 v1.120.0
-------------------
+ Templating
+ Popup & Layout Functionality
* Debugging Tools XML Output
* Messaging
2024-02-16 v1.119.0
-------------------
@ -17,7 +26,6 @@ Legend
! New Design for Start Page
2024-02-08 v1.118.0
-------------------

View File

@ -155,11 +155,11 @@ CLASS z2ui5_cl_core_bind_srv IMPLEMENTATION.
METHOD clear.
mo_app->mt_attri[ name = val ]-check_dissolved = abap_false.
mo_app->mt_attri->*[ name = val ]-check_dissolved = abap_false.
LOOP AT mo_app->mt_attri REFERENCE INTO DATA(lr_bind2).
LOOP AT mo_app->mt_attri->* REFERENCE INTO DATA(lr_bind2).
IF lr_bind2->name CS val && `-`.
DELETE mo_app->mt_attri.
DELETE mo_app->mt_attri->*.
ENDIF.
ENDLOOP.
@ -200,7 +200,7 @@ CLASS z2ui5_cl_core_bind_srv IMPLEMENTATION.
mv_type = type.
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
attri = REF #( mo_app->mt_attri )
attri = mo_app->mt_attri
app = mo_app->mo_app ).
mr_attri = lo_model->attri_search_a_dissolve( val ).
@ -269,7 +269,7 @@ CLASS z2ui5_cl_core_bind_srv IMPLEMENTATION.
name = lv_id
json_bind_local = lo_json
bind_type = z2ui5_if_core_types=>cs_bind_type-one_time )
INTO TABLE mo_app->mt_attri.
INTO TABLE mo_app->mt_attri->*.
result = |/{ lv_id }|.

View File

@ -27,7 +27,7 @@ CLASS z2ui5_cl_core_json_srv DEFINITION
METHODS model_back_to_front
IMPORTING
!t_attri TYPE z2ui5_if_core_types=>ty_t_attri
!t_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
RETURNING
VALUE(result) TYPE string.
@ -78,7 +78,7 @@ CLASS z2ui5_cl_core_json_srv IMPLEMENTATION.
TRY.
DATA(ajson_result) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ) ).
LOOP AT t_attri REFERENCE INTO DATA(lr_attri) WHERE bind_type <> ``.
LOOP AT t_attri->* REFERENCE INTO DATA(lr_attri) WHERE bind_type <> ``.
IF lr_attri->custom_mapper IS BOUND.
DATA(ajson) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ii_custom_mapping = lr_attri->custom_mapper ) ).

View File

@ -7,7 +7,7 @@ CLASS z2ui5_cl_core_app DEFINITION
INTERFACES if_serializable_object.
DATA mt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
DATA mt_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri.
DATA mo_app TYPE REF TO object.
DATA ms_draft TYPE z2ui5_if_types=>ty_s_get-s_draft.
@ -42,6 +42,7 @@ CLASS z2ui5_cl_core_app DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_core_app.
METHODS constructor.
METHODS db_save.
PROTECTED SECTION.
@ -50,7 +51,7 @@ ENDCLASS.
CLASS z2ui5_cl_core_app IMPLEMENTATION.
CLASS Z2UI5_CL_CORE_APP IMPLEMENTATION.
METHOD all_xml_parse.
@ -69,7 +70,7 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
TRY.
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
attri = REF #( mt_attri )
attri = mt_attri
app = mo_app ).
lo_model->attri_before_save( ).
result = z2ui5_cl_util=>xml_stringify( me ).
@ -78,13 +79,13 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
TRY.
DATA(lo_dissolver) = NEW z2ui5_cl_core_dissolve_srv(
attri = REF #( mt_attri )
attri = mt_attri
app = mo_app ).
lo_dissolver->main( ).
lo_dissolver->main( ).
lo_model = NEW z2ui5_cl_core_attri_srv(
attri = REF #( mt_attri )
attri = mt_attri
app = mo_app ).
lo_model->attri_before_save( ).
@ -100,6 +101,13 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
ENDMETHOD.
METHOD constructor.
CREATE DATA mt_attri.
ENDMETHOD.
METHOD db_load.
DATA(lo_db) = NEW z2ui5_cl_core_draft_srv( ).
@ -107,7 +115,7 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
result = all_xml_parse( ls_db-data ).
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
attri = REF #( result->mt_attri )
attri = result->mt_attri
app = result->mo_app ).
lo_model->attri_after_load( ).
@ -124,7 +132,7 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
result->mo_app = app.
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
attri = REF #( result->mt_attri )
attri = result->mt_attri
app = result->mo_app ).
lo_model->attri_refs_update( ).
@ -151,7 +159,7 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
DATA(lo_json_mapper) = NEW z2ui5_cl_core_json_srv( ).
lo_json_mapper->model_front_to_back(
view = iv_view
t_attri = REF #( mt_attri )
t_attri = mt_attri
model = io_model ).
ENDMETHOD.

View File

@ -44,6 +44,10 @@ CLASS ltcl_test_db IMPLEMENTATION.
METHOD test_db_save.
IF sy-sysid = 'ABC'.
RETURN.
ENDIF.
DATA(lo_app_user) = NEW ltcl_test_db( ).
lo_app_user->mv_value = `my value`.

View File

@ -1,21 +1,20 @@
class Z2UI5_CL_APP_HELLO_WORLD definition
public
create public .
CLASS z2ui5_cl_app_hello_world DEFINITION
PUBLIC
CREATE PUBLIC .
public section.
PUBLIC SECTION.
interfaces IF_SERIALIZABLE_OBJECT .
interfaces Z2UI5_IF_APP .
INTERFACES z2ui5_if_app.
DATA name TYPE string.
DATA check_initialized TYPE abap_bool.
data NAME type STRING .
data CHECK_INITIALIZED type ABAP_BOOL .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS Z2UI5_CL_APP_HELLO_WORLD IMPLEMENTATION.
CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
METHOD z2ui5_if_app~main.
@ -26,14 +25,12 @@ CLASS Z2UI5_CL_APP_HELLO_WORLD IMPLEMENTATION.
client->view_display( z2ui5_cl_xml_view=>factory(
)->shell(
)->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world'
)->simple_form( title = 'Hello World'
editable = abap_true
)->simple_form( title = 'Hello World' editable = abap_true
)->content( ns = `form`
)->title( 'Make an input here and send it to the server...'
)->label( 'Enter your name'
)->input( client->_bind_edit( name )
)->button( text = 'post'
press = client->_event( 'BUTTON_POST' )
)->button( text = 'post' press = client->_event( 'BUTTON_POST' )
)->stringify( ) ).
ENDIF.
@ -45,4 +42,5 @@ CLASS Z2UI5_CL_APP_HELLO_WORLD IMPLEMENTATION.
ENDCASE.
ENDMETHOD.
ENDCLASS.

View File

@ -173,11 +173,15 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
SELECT SINGLE * FROM z2ui5_t001
WHERE layout = @layout
AND tab = @tab
AND handle1 = ``
AND handle2 = ``
INTO CORRESPONDING FIELDS OF @result-s_head ##SUBRC_OK.
SELECT * FROM z2ui5_t002
WHERE layout = @layout
AND tab = @tab
AND handle1 = ``
AND handle2 = ``
INTO CORRESPONDING FIELDS OF TABLE @result-t_layout ##SUBRC_OK.
ENDMETHOD.
@ -733,6 +737,8 @@ CLASS z2ui5_cl_popup_layout_v2 IMPLEMENTATION.
SELECT SINGLE layout FROM z2ui5_t001
WHERE layout = @t001-layout
AND tab = @t001-tab
AND handle1 = ``
AND handle2 = ``
INTO @t001-layout.
IF sy-subrc = 0.

View File

@ -52,6 +52,28 @@
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>HANDLE1</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>HANDLE2</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DESCR</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>

View File

@ -52,6 +52,28 @@
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>HANDLE1</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>HANDLE2</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FNAME</FIELDNAME>
<KEYFLAG>X</KEYFLAG>