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

View File

@ -155,11 +155,11 @@ CLASS z2ui5_cl_core_bind_srv IMPLEMENTATION.
METHOD clear. 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 && `-`. IF lr_bind2->name CS val && `-`.
DELETE mo_app->mt_attri. DELETE mo_app->mt_attri->*.
ENDIF. ENDIF.
ENDLOOP. ENDLOOP.
@ -200,7 +200,7 @@ CLASS z2ui5_cl_core_bind_srv IMPLEMENTATION.
mv_type = type. mv_type = type.
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv( 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 ). app = mo_app->mo_app ).
mr_attri = lo_model->attri_search_a_dissolve( val ). mr_attri = lo_model->attri_search_a_dissolve( val ).
@ -269,7 +269,7 @@ CLASS z2ui5_cl_core_bind_srv IMPLEMENTATION.
name = lv_id name = lv_id
json_bind_local = lo_json json_bind_local = lo_json
bind_type = z2ui5_if_core_types=>cs_bind_type-one_time ) 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 }|. result = |/{ lv_id }|.

View File

@ -27,7 +27,7 @@ CLASS z2ui5_cl_core_json_srv DEFINITION
METHODS model_back_to_front METHODS model_back_to_front
IMPORTING IMPORTING
!t_attri TYPE z2ui5_if_core_types=>ty_t_attri !t_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
RETURNING RETURNING
VALUE(result) TYPE string. VALUE(result) TYPE string.
@ -78,7 +78,7 @@ CLASS z2ui5_cl_core_json_srv IMPLEMENTATION.
TRY. TRY.
DATA(ajson_result) = CAST z2ui5_if_ajson( z2ui5_cl_ajson=>create_empty( ) ). 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. 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 ) ). 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. 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 mo_app TYPE REF TO object.
DATA ms_draft TYPE z2ui5_if_types=>ty_s_get-s_draft. DATA ms_draft TYPE z2ui5_if_types=>ty_s_get-s_draft.
@ -42,6 +42,7 @@ CLASS z2ui5_cl_core_app DEFINITION
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_core_app. VALUE(result) TYPE REF TO z2ui5_cl_core_app.
METHODS constructor.
METHODS db_save. METHODS db_save.
PROTECTED SECTION. PROTECTED SECTION.
@ -50,7 +51,7 @@ ENDCLASS.
CLASS z2ui5_cl_core_app IMPLEMENTATION. CLASS Z2UI5_CL_CORE_APP IMPLEMENTATION.
METHOD all_xml_parse. METHOD all_xml_parse.
@ -69,7 +70,7 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
TRY. TRY.
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv( DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
attri = REF #( mt_attri ) attri = mt_attri
app = mo_app ). app = mo_app ).
lo_model->attri_before_save( ). lo_model->attri_before_save( ).
result = z2ui5_cl_util=>xml_stringify( me ). result = z2ui5_cl_util=>xml_stringify( me ).
@ -78,13 +79,13 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
TRY. TRY.
DATA(lo_dissolver) = NEW z2ui5_cl_core_dissolve_srv( DATA(lo_dissolver) = NEW z2ui5_cl_core_dissolve_srv(
attri = REF #( mt_attri ) attri = mt_attri
app = mo_app ). app = mo_app ).
lo_dissolver->main( ). lo_dissolver->main( ).
lo_dissolver->main( ). lo_dissolver->main( ).
lo_model = NEW z2ui5_cl_core_attri_srv( lo_model = NEW z2ui5_cl_core_attri_srv(
attri = REF #( mt_attri ) attri = mt_attri
app = mo_app ). app = mo_app ).
lo_model->attri_before_save( ). lo_model->attri_before_save( ).
@ -100,6 +101,13 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD constructor.
CREATE DATA mt_attri.
ENDMETHOD.
METHOD db_load. METHOD db_load.
DATA(lo_db) = NEW z2ui5_cl_core_draft_srv( ). 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 ). result = all_xml_parse( ls_db-data ).
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv( DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
attri = REF #( result->mt_attri ) attri = result->mt_attri
app = result->mo_app ). app = result->mo_app ).
lo_model->attri_after_load( ). lo_model->attri_after_load( ).
@ -124,7 +132,7 @@ CLASS z2ui5_cl_core_app IMPLEMENTATION.
result->mo_app = app. result->mo_app = app.
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv( DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
attri = REF #( result->mt_attri ) attri = result->mt_attri
app = result->mo_app ). app = result->mo_app ).
lo_model->attri_refs_update( ). 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( ). DATA(lo_json_mapper) = NEW z2ui5_cl_core_json_srv( ).
lo_json_mapper->model_front_to_back( lo_json_mapper->model_front_to_back(
view = iv_view view = iv_view
t_attri = REF #( mt_attri ) t_attri = mt_attri
model = io_model ). model = io_model ).
ENDMETHOD. ENDMETHOD.

View File

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

View File

@ -1,21 +1,20 @@
class Z2UI5_CL_APP_HELLO_WORLD definition CLASS z2ui5_cl_app_hello_world DEFINITION
public PUBLIC
create 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. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
CLASS Z2UI5_CL_APP_HELLO_WORLD IMPLEMENTATION. CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
METHOD z2ui5_if_app~main. METHOD z2ui5_if_app~main.
@ -26,14 +25,12 @@ CLASS Z2UI5_CL_APP_HELLO_WORLD IMPLEMENTATION.
client->view_display( z2ui5_cl_xml_view=>factory( client->view_display( z2ui5_cl_xml_view=>factory(
)->shell( )->shell(
)->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world' )->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world'
)->simple_form( title = 'Hello World' )->simple_form( title = 'Hello World' editable = abap_true
editable = abap_true
)->content( ns = `form` )->content( ns = `form`
)->title( 'Make an input here and send it to the server...' )->title( 'Make an input here and send it to the server...'
)->label( 'Enter your name' )->label( 'Enter your name'
)->input( client->_bind_edit( name ) )->input( client->_bind_edit( name )
)->button( text = 'post' )->button( text = 'post' press = client->_event( 'BUTTON_POST' )
press = client->_event( 'BUTTON_POST' )
)->stringify( ) ). )->stringify( ) ).
ENDIF. ENDIF.
@ -45,4 +42,5 @@ CLASS Z2UI5_CL_APP_HELLO_WORLD IMPLEMENTATION.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

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

View File

@ -52,6 +52,28 @@
<LENG>000030</LENG> <LENG>000030</LENG>
<MASK> CHAR</MASK> <MASK> CHAR</MASK>
</DD03P> </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> <DD03P>
<FIELDNAME>DESCR</FIELDNAME> <FIELDNAME>DESCR</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD> <ADMINFIELD>0</ADMINFIELD>

View File

@ -52,6 +52,28 @@
<LENG>000030</LENG> <LENG>000030</LENG>
<MASK> CHAR</MASK> <MASK> CHAR</MASK>
</DD03P> </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> <DD03P>
<FIELDNAME>FNAME</FIELDNAME> <FIELDNAME>FNAME</FIELDNAME>
<KEYFLAG>X</KEYFLAG> <KEYFLAG>X</KEYFLAG>