#238, integrate new event flow and re_renders (yet tofix: unknown action)

This commit is contained in:
atsy 2016-06-05 11:46:49 +03:00
parent acf217d49a
commit c488d14658

View File

@ -88,6 +88,13 @@ CONSTANTS: BEGIN OF gc_chmod,
dir TYPE ty_chmod VALUE '40000 ',
END OF gc_chmod.
CONSTANTS: BEGIN OF gc_event_state,
not_handled VALUE 0,
re_render VALUE 1,
new_page VALUE 2,
go_back VALUE 3,
END OF gc_event_state.
CONSTANTS: gc_newline TYPE abap_char1 VALUE cl_abap_char_utilities=>newline.
CONSTANTS: gc_english TYPE spras VALUE 'E'.
@ -15971,19 +15978,21 @@ ENDCLASS. "lcl_porcelain DEFINITION
*----------------------------------------------------------------------*
INTERFACE lif_gui_page.
METHODS:
on_event
IMPORTING iv_action TYPE clike
iv_frame TYPE clike
iv_getdata TYPE clike
it_postdata TYPE cnht_post_data_tab
it_query_table TYPE cnht_query_table
RAISING lcx_exception,
render
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
RAISING lcx_exception,
get_assets
EXPORTING et_assets TYPE tt_web_assets.
METHODS on_event
IMPORTING iv_action TYPE clike
iv_frame TYPE clike
iv_getdata TYPE clike
it_postdata TYPE cnht_post_data_tab
it_query_table TYPE cnht_query_table
RETURNING VALUE(rv_state) TYPE i
RAISING lcx_exception.
METHODS render
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
RAISING lcx_exception.
METHODS get_assets
EXPORTING et_assets TYPE tt_web_assets.
ENDINTERFACE.
@ -15992,9 +16001,6 @@ ENDINTERFACE.
*----------------------------------------------------------------------*
CLASS lcl_gui_router DEFINITION FINAL.
PUBLIC SECTION.
CONSTANTS: c_not_handled VALUE 0,
c_re_render VALUE 1,
c_new_page VALUE 2.
METHODS on_event
IMPORTING iv_action TYPE clike
@ -16004,7 +16010,7 @@ CLASS lcl_gui_router DEFINITION FINAL.
it_query_table TYPE cnht_query_table OPTIONAL
EXPORTING
eo_page TYPE REF TO lif_gui_page
ev_result TYPE i
ev_state TYPE i
RAISING lcx_exception.
PRIVATE SECTION.
@ -17697,8 +17703,6 @@ CLASS lcl_zip IMPLEMENTATION.
lo_repo->set_files_remote( unzip_file( file_upload( ) ) ).
lo_repo->deserialize( ).
lcl_gui=>get( )->render( ).
ENDMETHOD. "import
METHOD files_commit.
@ -18212,16 +18216,44 @@ CLASS lcl_gui IMPLEMENTATION.
METHOD on_event.
DATA: lx_exception TYPE REF TO lcx_exception.
DATA: lx_exception TYPE REF TO lcx_exception,
li_page TYPE REF TO lif_gui_page,
lv_state TYPE i.
TRY.
mi_cur_page->on_event(
iv_action = action
iv_frame = frame
iv_getdata = getdata
it_postdata = postdata
it_query_table = query_table ).
IF mi_cur_page IS BOUND.
lv_state = mi_cur_page->on_event(
iv_action = action
iv_frame = frame
iv_getdata = getdata
it_postdata = postdata
it_query_table = query_table ).
ENDIF.
IF lv_state IS INITIAL.
mo_router->on_event(
EXPORTING
iv_action = action
iv_frame = frame
iv_getdata = getdata
it_postdata = postdata
it_query_table = query_table
IMPORTING
eo_page = li_page
ev_state = lv_state ).
ENDIF.
CASE lv_state.
WHEN gc_event_state-re_render.
render( ).
WHEN gc_event_state-new_page.
call_page( li_page ).
WHEN gc_event_state-go_back.
back( ).
WHEN OTHERS.
_raise 'Unknown action'.
ENDCASE.
CATCH lcx_exception INTO lx_exception.
ROLLBACK WORK.
MESSAGE lx_exception->mv_text TYPE 'S' DISPLAY LIKE 'E'.
@ -18291,18 +18323,11 @@ CLASS lcl_gui IMPLEMENTATION.
ENDMETHOD.
METHOD go_home.
" REDO ALL
DATA li_page TYPE REF TO lif_gui_page.
mo_router->on_event( EXPORTING iv_action = 'home'
IMPORTING eo_page = li_page ).
call_page( li_page ).
on_event( action = 'home' ).
ENDMETHOD.
METHOD startup.
DATA: lt_events TYPE cntl_simple_events,
@ -18461,7 +18486,7 @@ ENDCLASS.
CLASS lcl_gui_page_super DEFINITION ABSTRACT.
PUBLIC SECTION.
INTERFACES lif_gui_page ABSTRACT METHODS on_event render.
INTERFACES lif_gui_page ABSTRACT METHODS render.
PROTECTED SECTION.
METHODS header
@ -18711,28 +18736,109 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
ENDMETHOD. "common styles
METHOD lif_gui_page~get_assets.
METHOD lif_gui_page~get_assets. " Common images here
DATA ls_image TYPE ty_web_asset.
CLEAR et_assets.
" Common images here
ENDMETHOD.
ls_image-url = 'img/logo'.
ls_image-content =
'iVBORw0KGgoAAAANSUhEUgAAAKMAAAAoCAYAAACSG0qbAAAABHNCSVQICAgIfAhkiAAA'
&& 'AAlwSFlzAAAEJQAABCUBprHeCQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9y'
&& 'Z5vuPBoAAA8VSURBVHic7Zx7cJzVeYef31nJAtvYko1JjM3FYHlXimwZkLWyLEMcwIGQ'
&& 'cEkDJWmTltLStGkoDCkzwBAuCemUlksDNCkhJTTTljJpZhIuBQxxAWPvyuYiW7UkG8Il'
&& 'UByIsS1sLEu75+0fu5JXu9/etAJz0TOzM/rOec85765+37m+3yczY8w0NU3qrwv9npfa'
&& 'Hfx02pPPd469sgk+7misYnyjpWXy5IOG7kd8ZjjNjEtr13TdOm7eTfCxwo2lUJAQASRu'
&& '2dnRfMn4uDbBx42yxZhPiMNMCHKCsVK2GGuqqqoQUwrZTAhygrFQshjfaGmZ/M7yxQtm'
&& 'xGL9/qDqzwLxQvYTgpygXEoS4/DQ7LE1O05atLBu1YZdE4KcYLwpupoOmCO+5Z2dXPfE'
&& 'xk07Tm2ZroGhBwX1wAygKqiOiVX2Rw9Jam/gyH0wuGGzvTEudRYSY4HFyogghxN2n7Sw'
&& 'IendvcCioLoOtCCXNeqohOf0oDwPq9f3Wt/77dOHlWhYzUj/BRybTnrGEnZO5wv2m0rq'
&& 'DezJoOiqeZbzegzpk6TVPPWJTT39y5svMogF1ZcesjlQgkwYp4F+EJQXwv4E+MiLUZJa'
&& 'F7AIcRq4hWZ2mMRhQD/oZcErXv7FScaja3rt/wpU9E/sFyLACQq57wB/XIl/gWIstn2T'
&& 'xpHVre7ZW71p8sFDeQscSEHKu3pTBadNH2Lq61VT57iwNazLgaNSqYaUaWXLDZCJIbBo'
&& 'g3tK2A2xHns0oMrm3CRrqdTPnAVMiUIEmLlz2XGLMxNmH7YrifFcoUIHalHj8f8p6UfA'
&& 'O+932weStno1zghps6Q7GBFiUYRxopkeaZ2vIwLyfxtQ4vV8lbWHNScacf+T/vwqn90o'
&& 'MZYhRADJ+bv725vmj6Q8tHWffPKUD6IgO/tsfawneRHYd97Pdg8kSyJaZiGtBY4pYPYO'
&& 'kH84C0Cyv8tKSiK7OZ99EpYAJ2V8AhkRY5lCHGaxhaq+BLCzY/EXd5y0aOG0td1vf1AF'
&& 'CWCw7/1u80DQEtahQvcB03MyjQfM7Hwnmxfv9dPivX5SssqOwuzPSqk71mN3ymw5ZtdK'
&& 'dmVIdly8xx7JZ29yy0qptwrGLMRRCA6T1w93nLTo5Lq13Zv625tOMRd6DLF4v0lWmQO8'
&& 'qPko45y7TWaHZyUnwa6M99mN2fYbuu1V4K5oxF1B4Z4UgFifrQHWFLNbvkh1QheV5DNN'
&& 'TZMqFWIGs5zX48M95PTqGa3TZ4erzbvj8/WUErf0L2++uNyGJLn2Js1oDeuYlkbNbmlR'
&& 'deXup2hq0qS2es2VlHMDFaOlRdXL5uuwlnodG23QTEljCkbJV3d7WHOK+dXWqHqZnZeb'
&& 'Y1fGe3OFOArRU5GTGbSHNWdwUL8Epo1qIQ9V/bXu3HES4jCznNfjb7e1zZ8Ri/UD1MLz'
&& 'u05s/huMx4IKGNy4+8Tj/2Pqk8++Vaji86TQqxEuNNM5rWGtSCaokSDkgd0QjbidoPvN'
&& '+5s7t9jz5TgdbdBMvLsG2cop6FgLUdUaZk804jYKuyrWa6vzlT2+XrOqQnxd6KwQOj5R'
&& 'hULpL9Yaxkcj7g3QT6zK397ZbdtGtbtAZ+B0U3adkt0c67E7OyI6fFDuSpktC6HGpJjU'
&& 'GmZ3NOI2mdnVnX32eHZZ7903hGXfBG8mp3J7sd/B0DPCTgUmBf9O7lmMybk56or3Jn8f'
&& 'oLVB7Q5dZ9Iy4OBsw2jYbUUk96fwQrzHf955iBZzsDA+aL9k1owZ20fNzaY/tfFXwK48'
&& 'ldQkSZ5YqJXmZk15JaJfmOmfgdOAmgCzWrCvyum5aIO+Uor3AIbOx7QV2TeBMPu3vKYA'
&& 'Sw091hbWt4PKRhu0oDqkmND1wAnk3vkOmAN2lRLa2hrWMVm5Tek2R3286YzWiK4eQltk'
&& '9g1gMfsFMhVYKunR1obQddk+SXZqwLe8acMGe7fYb9HZk7wm3utrBmpsqiXsyClHMHK6'
&& '0hLWoRjHBfmLbP9K3bPYjFPIFWLaQeZnlZ8H4JyFflrMwcK4wG63v3/ycZnXOzqalxE0'
&& 'mU7x9rvvVv93oVZqBtzNGGeU7Jbp9pZGzS7ReiVQVyDfmXRda4PaA9p5mBLmWGmmSron'
&& 'M0FytUGGgjPTAi8UIeVk9u1og5YOJ0QbNBOjIac+Y22JPgLQ1WV7Ol+w36xebYnhtGpj'
&& 'FjBYTj3l4KY9/dx6My4d74pN/Ki/Y9HpSG5HR/Nyh/1DHtO9OM6dvWFDwbtWslOykt6U'
&& 's5VWZbOFnQtsyMqvc56Ty3T7NeBhLGAfDZDpe5nX6V5uXpbZ43K2NGQ2V9glwLas/I62'
&& 'hfrE8EWsJ3mFsGYs+OQqze+A1cBLgbmma4f/9AmOJGBe5vKVLYN1W6wnOWSHmdkVhexM'
&& 'PG6yC0x2AbmjoQ3njdh4uwrSw1Htmq5bd3Y0I3FLpQ5n0GTSQ7s6Fva70RPYTPbi+Pz0'
&& 'J7ryboRC+m5PnRfsJjVEAfp5bLNflTb52dKIBj36RWY5ZyX2WCLukvbX67ZYHFLHZtGw'
&& '+1fD/jDL8qQljWpav9m6Uw3wKYzXgUNJTxsk+0Fssw0L6x+j4dCx6eF/BEtwDBkbx7Fe'
&& '29gWCa0yrC2rvXXO26WZfrWG3V2kji8zWbm0QUev67GX5ZgZ8A0H121hXIIZNrxou9oW'
&& '6m4b4m/z2aTP+fsAohF3PaNHROvssZ8ElRs5DnyPBAkovxDFF4oJESDeY9tJD4Ur5umg'
&& 'PSFm1Uy23Zk2SaM7e43p5Y4uxUMzu2f4H56+tuZmff2gfTqHrGEy5DkW6Abo7LH7gfsB'
&& '2uo1LQGzBmoYFSwg57vNcjqqo4F1JXh2S7Zfx83TZZNqdD6MXkQkU369jONgcmfxe83M'
&& 'B7XQEdEhg1B0HzDk2ZHpy3vBqLPpMQhyi/f2AIA3WyPZG6KkeVpKiE925awEi7H6JRsA'
&& 'cqJDfIi9oayfW8ZB5dY/TFeX7YlGQg+RmgJkcnSQfWyr9QP92enmGcgeNCvx67mXbGdb'
&& 'xD1hjI5AklJ+ydgTUGz6iiZNXd09+gYGGIRlQgXn6wDesZYSRFsJOYES5QjSw7fqnu7q'
&& 'Bqh7uqu7f3nzdw3uKFJszEIcpqVRs12SRuAYiTrJ1YXMzSGgS6iQnHmWyQWe70pySz/F'
&& 'MZagMWnMlaiTuTqTTih7s7IIHm1T1ncVI37l3BAAA4McAYF7iAvG17uxExi1U6Igd9XN'
&& 'Dj+UmZA8qPrf3MDQbeSPIN8Ldub0JzeWLcT2I3Swn8JFhr4VQnMze5uKnv0ugOHfUXa3'
&& 'ZhySedkR0eGDuMtbw/rTZCI1pA9PF0yWf4e3MnJ7YKXm0pOr6H03QRIIZeYnUj1njhid'
&& '8aaRscKX/VGWSRLsCjnK2rcdC3njGUsQ5PSdv92yqJaMk5WBoRMpJsSnNgZufBdCkmsN'
&& '60FgRbllK8PNzOlttT/qpz2sOUnpeWGHvq9ewcyc28/7XQCru213NOL+l6wgZ0kXAjnD'
&& 'cazP7gXuTdu41rCyxbgr3mt/P16+F6LgUVXtmq5bC237yNsNu5YtPBZgx4kLFznZ1XlM'
&& 'BzB/1liECBAN801yhfiq0HflbKXz1ojZ4qCylSBsbm6q/93wX0n0Q1Ir6UzWYXaZyZaF'
&& 'qqxeZn813n4ZlhPWJWXMo00P5OTDF5c0qmm8fRlPip6bFhHk6Ti3ddfy5i3OXBemJQE2'
&& 'A5g/c/qaTasC8krC0KdzE+3qWG/y6thmW7Vui/UkQ7w51vqDaGnRZFInPdlshNQ2C8oJ'
&& 'h0oqaefF++zmzh5bu7bbXrBxjp88bp5qgZzNdyfWD/9t+B+TO4GW8/p+R0SHcGBxLWEF'
&& 'jiQlHeIXEaRIPZAVRMVCTDcQCUh8LfOyaqjgCcr+YpY7NRFa2VY/egsqtNtdw8ie5gjJ'
&& 'oUTqicjofOYA2f/YgcR03s5MMBF4wlIa7rMr5mnUyru6xl0LZAeFvDG3l83DF5199muk'
&& 'oJO1FUMoviSi8Nh9Kg+Ru7qvUvCqPO+cMZsxbPsM4HXW9KcrEyKApTa7s9BVSyLaF3Ik'
&& 'SbLSQros18RyInkkV2u5q+6zLaS+aCT0oJl/QVI78IWcsvDos1vtLYCE551QKNuCKW63'
&& '+157g36cMOYI9yWhC3K+j4KDEHKxC9+t0altDaFHwL/kvVZIBJw761/uM5/MTJlU7S/Z'
&& 'N6hTBNlhZA0OPReNuGdM6nL4jR4G5ZnRusAtKmVHwg1Slcxe11nODZJKh1fJ6kwM3dQa'
&& 'VgOw3omjkGuL9/o/L/vFTzs7mi8pQZBpIT4f9PxE2bRFQncY9pdjKDoExDH7ebzPbgFo'
&& 'bQjdng48KBfvzZau77ORN61FI66PsW2N7ARiZnZTZ589BtAWCV1v5J1zF+JNVdui2CbL'
&& 'OcJsq1ejD2lVgCDL4e14r58J0N6k+cmEu0HYIssdrbxgnaGeeG9yJEg32hC6GbOix81y'
&& 'trTsWLtiixpgQNLZ4yVEgCT++xSP0H7C0N1ZadVAh6SR3kRm2WfJO0H/XqTuQcn+IlOI'
&& 'AFjRVaZhus3g2az0WuA0wcIi5QP3DDNIIPtakBABYltts7AO4OEi9eTFYGCksSRzwM4L'
&& 'ECKAM1gG9tVR5UP+RkqZN5s7a0yBnwUEOSDp7GlPPp83BH0srO+1PmQrDIIen9wOdnln'
&& 'n31G5n9ZtDLL6ck2x3uTf6DUee8rASX6vNnyWI/dmZ0R77O7LNXLBkWy9CE7Pd6XvNih'
&& 'QkEQeZHZl9PBFtsDstebtyWFwv0B4r32UrzXn+6xDtBdwIslNL0N+JnMvravxiraFO/s'
&& 'tm0y+xzQlcfkddCNCe/vGfP7GQH6lzdfbHAjqSCBHZK+PN5CzESSlixgnhMLzXAeXp+3'
&& 'hWfuM0sWL10abQv1CdtHixzvmtiYPhcvSFOTJk1NEPEQkWdPUry4oc96y2o3YJiWs5Wx'
&& 'zbYq83THHHu9Y1N2kG45tDRqdsgzxxuznKPOGbsTsN2M7d6zfXhePJ5Ici1h6mUcAcw0'
&& '8Zo5fp35NoqKxAjwTrRhZmLSpPY9ySmPzV27dm+lTn9cKSTGA+XT+03Jq+l8HBLv2Q7c'
&& 'X9K+ygQTFGDcHhaaoGJyouDNV7JH+eGj4mF6gspoC+tzJt1ObsT4MDsF2zxs886+Ml5v'
&& '/PogUvEwPUGFiE+SX4gAtQa1gkhV7onQR4oJMR5oxC6stDeghd7Dh6E+CPw/HL4vVO2f'
&& 'cpUAAAAASUVORK5CYII='.
APPEND ls_image TO et_assets.
ENDMETHOD. "lif_gui_page~get_assets
METHOD lif_gui_page~on_event.
rv_state = gc_event_state-not_handled.
ENDMETHOD. "lif_gui_page~on_event
ENDCLASS.
CLASS lcl_gui_page_explore DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
PUBLIC SECTION.
METHODS lif_gui_page~on_event REDEFINITION.
METHODS lif_gui_page~render REDEFINITION.
ENDCLASS. "lcl_gui_page_explore DEFINITION
CLASS lcl_gui_page_explore IMPLEMENTATION.
METHOD lif_gui_page~on_event.
CASE iv_action.
WHEN OTHERS.
_raise 'Unknown action'. "#EC NOTEXT
ENDCASE.
ENDMETHOD.
METHOD lif_gui_page~render.
@ -18895,7 +19001,6 @@ CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
is_local TYPE ty_file
is_remote TYPE ty_file.
METHODS lif_gui_page~on_event REDEFINITION.
METHODS lif_gui_page~render REDEFINITION.
PRIVATE SECTION.
@ -19112,15 +19217,6 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
ENDMETHOD.
METHOD lif_gui_page~on_event.
CASE iv_action.
WHEN OTHERS.
_raise 'Unknown action'. "#EC NOTEXT
ENDCASE.
ENDMETHOD.
METHOD lif_gui_page~render.
CREATE OBJECT ro_html.
@ -19269,9 +19365,7 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
CASE iv_action.
WHEN 'save'.
save( iv_getdata ).
lcl_gui=>get( )->render( ).
WHEN OTHERS.
_raise 'Unknown action, background'.
rv_state = gc_event_state-re_render.
ENDCASE.
ENDMETHOD.
@ -19478,8 +19572,6 @@ CLASS lcl_gui_page_commit IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->back( ).
ENDMETHOD.
METHOD parse.
@ -19549,10 +19641,9 @@ CLASS lcl_gui_page_commit IMPLEMENTATION.
CASE iv_action.
WHEN 'post'.
push( it_postdata ).
rv_state = gc_event_state-go_back.
WHEN 'cancel'.
lcl_gui=>get( )->back( ).
WHEN OTHERS.
_raise 'Unknown action, commit'.
rv_state = gc_event_state-go_back.
ENDCASE.
ENDMETHOD.
@ -19776,25 +19867,23 @@ CLASS lcl_gui_page_stage IMPLEMENTATION.
WHEN 'add'.
ls_file = file_decode( iv_getdata ).
mo_stage->add( ls_file ).
lcl_gui=>get( )->render( ).
rv_state = gc_event_state-re_render.
WHEN 'all'.
all( ).
WHEN 'reset'.
ls_file = file_decode( iv_getdata ).
mo_stage->reset( ls_file ).
lcl_gui=>get( )->render( ).
rv_state = gc_event_state-re_render.
WHEN 'ignore'.
ls_file = file_decode( iv_getdata ).
mo_stage->ignore( ls_file ).
lcl_gui=>get( )->render( ).
rv_state = gc_event_state-re_render.
WHEN 'rm'.
ls_file = file_decode( iv_getdata ).
mo_stage->rm( ls_file ).
lcl_gui=>get( )->render( ).
rv_state = gc_event_state-re_render.
WHEN 'commit'.
call_commit( ).
WHEN OTHERS.
_raise 'Unknown action, stage'.
ENDCASE.
ENDMETHOD.
@ -19980,8 +20069,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->render( ).
ENDMETHOD. "pull
METHOD stage.
@ -20165,8 +20252,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->render( ).
ENDMETHOD. "uninstall
METHOD remove.
@ -20212,8 +20297,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->render( ).
ENDMETHOD. "remove
METHOD newoffline.
@ -20269,8 +20352,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->render( ).
ENDMETHOD. "newoffline
METHOD install.
@ -20358,8 +20439,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->render( ).
ENDMETHOD. "install
METHOD build_main_menu.
@ -20838,8 +20917,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->render( ).
ENDMETHOD. "abapgit_installation
METHOD is_repo_installed.
@ -20911,6 +20988,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
WHEN 'install'.
lv_url = iv_getdata.
install( lv_url ).
rv_state = gc_event_state-re_render.
WHEN 'explore'.
CREATE OBJECT lo_page_explore.
lcl_gui=>get( )->call_page( lo_page_explore ).
@ -20922,6 +21000,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
WHEN 'remove'.
lv_key = iv_getdata.
remove( lv_key ).
rv_state = gc_event_state-re_render.
WHEN 'refresh'.
lv_key = iv_getdata.
IF lv_key IS INITIAL. " Refresh all or single
@ -20929,15 +21008,15 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
ELSE.
lcl_repo_srv=>get( lv_key )->refresh( ).
ENDIF.
lcl_gui=>get( )->render( ).
rv_state = gc_event_state-re_render.
WHEN 'hide'.
lv_key = iv_getdata.
go_user->hide( lv_key ).
lcl_gui=>get( )->render( ).
rv_state = gc_event_state-re_render.
WHEN 'unhide'.
lv_key = iv_getdata.
go_user->unhide( lv_key ).
lcl_gui=>get( )->render( ).
rv_state = gc_event_state-re_render.
WHEN 'stage'.
lv_key = iv_getdata.
stage( lv_key ).
@ -20956,8 +21035,10 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
WHEN 'pull'.
lv_key = iv_getdata.
pull( lv_key ).
rv_state = gc_event_state-re_render.
WHEN 'newoffline'.
newoffline( ).
rv_state = gc_event_state-re_render.
WHEN 'db'.
CREATE OBJECT lo_db.
lcl_gui=>get( )->call_page( lo_db ).
@ -20967,6 +21048,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
WHEN 'zipimport'.
lv_key = iv_getdata.
lcl_zip=>import( lv_key ).
rv_state = gc_event_state-re_render.
WHEN 'zipexport'.
lv_key = iv_getdata.
lcl_zip=>export( lcl_repo_srv=>get( lv_key ) ).
@ -20976,10 +21058,9 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
iv_zip = abap_false ).
WHEN 'abapgit_installation'.
abapgit_installation( ).
rv_state = gc_event_state-re_render.
WHEN 'packagezip'.
package_zip( ).
WHEN OTHERS.
_raise 'Unknown action'.
ENDCASE.
ENDMETHOD.
@ -21045,7 +21126,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
CREATE OBJECT go_user.
ro_html->add( header( io_include_style = styles( ) ) ).
ro_html->add( title( iv_page_title = 'MAIN' io_menu = build_main_menu( ) ) ).
ro_html->add( title( iv_page_title = 'HOME' io_menu = build_main_menu( ) ) ).
TRY.
lt_repos = lcl_repo_srv=>list( ).
@ -21075,90 +21156,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
DATA ls_image TYPE ty_web_asset.
super->lif_gui_page~get_assets( ).
ls_image-url = 'img/logo'.
ls_image-content =
'iVBORw0KGgoAAAANSUhEUgAAAKMAAAAoCAYAAACSG0qbAAAABHNCSVQICAgIfAhkiAAA'
&& 'AAlwSFlzAAAEJQAABCUBprHeCQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9y'
&& 'Z5vuPBoAAA8VSURBVHic7Zx7cJzVeYef31nJAtvYko1JjM3FYHlXimwZkLWyLEMcwIGQ'
&& 'cEkDJWmTltLStGkoDCkzwBAuCemUlksDNCkhJTTTljJpZhIuBQxxAWPvyuYiW7UkG8Il'
&& 'UByIsS1sLEu75+0fu5JXu9/etAJz0TOzM/rOec85765+37m+3yczY8w0NU3qrwv9npfa'
&& 'Hfx02pPPd469sgk+7misYnyjpWXy5IOG7kd8ZjjNjEtr13TdOm7eTfCxwo2lUJAQASRu'
&& '2dnRfMn4uDbBx42yxZhPiMNMCHKCsVK2GGuqqqoQUwrZTAhygrFQshjfaGmZ/M7yxQtm'
&& 'xGL9/qDqzwLxQvYTgpygXEoS4/DQ7LE1O05atLBu1YZdE4KcYLwpupoOmCO+5Z2dXPfE'
&& 'xk07Tm2ZroGhBwX1wAygKqiOiVX2Rw9Jam/gyH0wuGGzvTEudRYSY4HFyogghxN2n7Sw'
&& 'IendvcCioLoOtCCXNeqohOf0oDwPq9f3Wt/77dOHlWhYzUj/BRybTnrGEnZO5wv2m0rq'
&& 'DezJoOiqeZbzegzpk6TVPPWJTT39y5svMogF1ZcesjlQgkwYp4F+EJQXwv4E+MiLUZJa'
&& 'F7AIcRq4hWZ2mMRhQD/oZcErXv7FScaja3rt/wpU9E/sFyLACQq57wB/XIl/gWIstn2T'
&& 'xpHVre7ZW71p8sFDeQscSEHKu3pTBadNH2Lq61VT57iwNazLgaNSqYaUaWXLDZCJIbBo'
&& 'g3tK2A2xHns0oMrm3CRrqdTPnAVMiUIEmLlz2XGLMxNmH7YrifFcoUIHalHj8f8p6UfA'
&& 'O+932weStno1zghps6Q7GBFiUYRxopkeaZ2vIwLyfxtQ4vV8lbWHNScacf+T/vwqn90o'
&& 'MZYhRADJ+bv725vmj6Q8tHWffPKUD6IgO/tsfawneRHYd97Pdg8kSyJaZiGtBY4pYPYO'
&& 'kH84C0Cyv8tKSiK7OZ99EpYAJ2V8AhkRY5lCHGaxhaq+BLCzY/EXd5y0aOG0td1vf1AF'
&& 'CWCw7/1u80DQEtahQvcB03MyjQfM7Hwnmxfv9dPivX5SssqOwuzPSqk71mN3ymw5ZtdK'
&& 'dmVIdly8xx7JZ29yy0qptwrGLMRRCA6T1w93nLTo5Lq13Zv625tOMRd6DLF4v0lWmQO8'
&& 'qPko45y7TWaHZyUnwa6M99mN2fYbuu1V4K5oxF1B4Z4UgFifrQHWFLNbvkh1QheV5DNN'
&& 'TZMqFWIGs5zX48M95PTqGa3TZ4erzbvj8/WUErf0L2++uNyGJLn2Js1oDeuYlkbNbmlR'
&& 'deXup2hq0qS2es2VlHMDFaOlRdXL5uuwlnodG23QTEljCkbJV3d7WHOK+dXWqHqZnZeb'
&& 'Y1fGe3OFOArRU5GTGbSHNWdwUL8Epo1qIQ9V/bXu3HES4jCznNfjb7e1zZ8Ri/UD1MLz'
&& 'u05s/huMx4IKGNy4+8Tj/2Pqk8++Vaji86TQqxEuNNM5rWGtSCaokSDkgd0QjbidoPvN'
&& '+5s7t9jz5TgdbdBMvLsG2cop6FgLUdUaZk804jYKuyrWa6vzlT2+XrOqQnxd6KwQOj5R'
&& 'hULpL9Yaxkcj7g3QT6zK397ZbdtGtbtAZ+B0U3adkt0c67E7OyI6fFDuSpktC6HGpJjU'
&& 'GmZ3NOI2mdnVnX32eHZZ7903hGXfBG8mp3J7sd/B0DPCTgUmBf9O7lmMybk56or3Jn8f'
&& 'oLVB7Q5dZ9Iy4OBsw2jYbUUk96fwQrzHf955iBZzsDA+aL9k1owZ20fNzaY/tfFXwK48'
&& 'ldQkSZ5YqJXmZk15JaJfmOmfgdOAmgCzWrCvyum5aIO+Uor3AIbOx7QV2TeBMPu3vKYA'
&& 'Sw091hbWt4PKRhu0oDqkmND1wAnk3vkOmAN2lRLa2hrWMVm5Tek2R3286YzWiK4eQltk'
&& '9g1gMfsFMhVYKunR1obQddk+SXZqwLe8acMGe7fYb9HZk7wm3utrBmpsqiXsyClHMHK6'
&& '0hLWoRjHBfmLbP9K3bPYjFPIFWLaQeZnlZ8H4JyFflrMwcK4wG63v3/ycZnXOzqalxE0'
&& 'mU7x9rvvVv93oVZqBtzNGGeU7Jbp9pZGzS7ReiVQVyDfmXRda4PaA9p5mBLmWGmmSron'
&& 'M0FytUGGgjPTAi8UIeVk9u1og5YOJ0QbNBOjIac+Y22JPgLQ1WV7Ol+w36xebYnhtGpj'
&& 'FjBYTj3l4KY9/dx6My4d74pN/Ki/Y9HpSG5HR/Nyh/1DHtO9OM6dvWFDwbtWslOykt6U'
&& 's5VWZbOFnQtsyMqvc56Ty3T7NeBhLGAfDZDpe5nX6V5uXpbZ43K2NGQ2V9glwLas/I62'
&& 'hfrE8EWsJ3mFsGYs+OQqze+A1cBLgbmma4f/9AmOJGBe5vKVLYN1W6wnOWSHmdkVhexM'
&& 'PG6yC0x2AbmjoQ3njdh4uwrSw1Htmq5bd3Y0I3FLpQ5n0GTSQ7s6Fva70RPYTPbi+Pz0'
&& 'J7ryboRC+m5PnRfsJjVEAfp5bLNflTb52dKIBj36RWY5ZyX2WCLukvbX67ZYHFLHZtGw'
&& '+1fD/jDL8qQljWpav9m6Uw3wKYzXgUNJTxsk+0Fssw0L6x+j4dCx6eF/BEtwDBkbx7Fe'
&& '29gWCa0yrC2rvXXO26WZfrWG3V2kji8zWbm0QUev67GX5ZgZ8A0H121hXIIZNrxou9oW'
&& '6m4b4m/z2aTP+fsAohF3PaNHROvssZ8ElRs5DnyPBAkovxDFF4oJESDeY9tJD4Ur5umg'
&& 'PSFm1Uy23Zk2SaM7e43p5Y4uxUMzu2f4H56+tuZmff2gfTqHrGEy5DkW6Abo7LH7gfsB'
&& '2uo1LQGzBmoYFSwg57vNcjqqo4F1JXh2S7Zfx83TZZNqdD6MXkQkU369jONgcmfxe83M'
&& 'B7XQEdEhg1B0HzDk2ZHpy3vBqLPpMQhyi/f2AIA3WyPZG6KkeVpKiE925awEi7H6JRsA'
&& 'cqJDfIi9oayfW8ZB5dY/TFeX7YlGQg+RmgJkcnSQfWyr9QP92enmGcgeNCvx67mXbGdb'
&& 'xD1hjI5AklJ+ydgTUGz6iiZNXd09+gYGGIRlQgXn6wDesZYSRFsJOYES5QjSw7fqnu7q'
&& 'Bqh7uqu7f3nzdw3uKFJszEIcpqVRs12SRuAYiTrJ1YXMzSGgS6iQnHmWyQWe70pySz/F'
&& 'MZagMWnMlaiTuTqTTih7s7IIHm1T1ncVI37l3BAAA4McAYF7iAvG17uxExi1U6Igd9XN'
&& 'Dj+UmZA8qPrf3MDQbeSPIN8Ldub0JzeWLcT2I3Swn8JFhr4VQnMze5uKnv0ugOHfUXa3'
&& 'ZhySedkR0eGDuMtbw/rTZCI1pA9PF0yWf4e3MnJ7YKXm0pOr6H03QRIIZeYnUj1njhid'
&& '8aaRscKX/VGWSRLsCjnK2rcdC3njGUsQ5PSdv92yqJaMk5WBoRMpJsSnNgZufBdCkmsN'
&& '60FgRbllK8PNzOlttT/qpz2sOUnpeWGHvq9ewcyc28/7XQCru213NOL+l6wgZ0kXAjnD'
&& 'cazP7gXuTdu41rCyxbgr3mt/P16+F6LgUVXtmq5bC237yNsNu5YtPBZgx4kLFznZ1XlM'
&& 'BzB/1liECBAN801yhfiq0HflbKXz1ojZ4qCylSBsbm6q/93wX0n0Q1Ir6UzWYXaZyZaF'
&& 'qqxeZn813n4ZlhPWJWXMo00P5OTDF5c0qmm8fRlPip6bFhHk6Ti3ddfy5i3OXBemJQE2'
&& 'A5g/c/qaTasC8krC0KdzE+3qWG/y6thmW7Vui/UkQ7w51vqDaGnRZFInPdlshNQ2C8oJ'
&& 'h0oqaefF++zmzh5bu7bbXrBxjp88bp5qgZzNdyfWD/9t+B+TO4GW8/p+R0SHcGBxLWEF'
&& 'jiQlHeIXEaRIPZAVRMVCTDcQCUh8LfOyaqjgCcr+YpY7NRFa2VY/egsqtNtdw8ie5gjJ'
&& 'oUTqicjofOYA2f/YgcR03s5MMBF4wlIa7rMr5mnUyru6xl0LZAeFvDG3l83DF5199muk'
&& 'oJO1FUMoviSi8Nh9Kg+Ru7qvUvCqPO+cMZsxbPsM4HXW9KcrEyKApTa7s9BVSyLaF3Ik'
&& 'SbLSQros18RyInkkV2u5q+6zLaS+aCT0oJl/QVI78IWcsvDos1vtLYCE551QKNuCKW63'
&& '+157g36cMOYI9yWhC3K+j4KDEHKxC9+t0altDaFHwL/kvVZIBJw761/uM5/MTJlU7S/Z'
&& 'N6hTBNlhZA0OPReNuGdM6nL4jR4G5ZnRusAtKmVHwg1Slcxe11nODZJKh1fJ6kwM3dQa'
&& 'VgOw3omjkGuL9/o/L/vFTzs7mi8pQZBpIT4f9PxE2bRFQncY9pdjKDoExDH7ebzPbgFo'
&& 'bQjdng48KBfvzZau77ORN61FI66PsW2N7ARiZnZTZ589BtAWCV1v5J1zF+JNVdui2CbL'
&& 'OcJsq1ejD2lVgCDL4e14r58J0N6k+cmEu0HYIssdrbxgnaGeeG9yJEg32hC6GbOix81y'
&& 'trTsWLtiixpgQNLZ4yVEgCT++xSP0H7C0N1ZadVAh6SR3kRm2WfJO0H/XqTuQcn+IlOI'
&& 'AFjRVaZhus3g2az0WuA0wcIi5QP3DDNIIPtakBABYltts7AO4OEi9eTFYGCksSRzwM4L'
&& 'ECKAM1gG9tVR5UP+RkqZN5s7a0yBnwUEOSDp7GlPPp83BH0srO+1PmQrDIIen9wOdnln'
&& 'n31G5n9ZtDLL6ck2x3uTf6DUee8rASX6vNnyWI/dmZ0R77O7LNXLBkWy9CE7Pd6XvNih'
&& 'QkEQeZHZl9PBFtsDstebtyWFwv0B4r32UrzXn+6xDtBdwIslNL0N+JnMvravxiraFO/s'
&& 'tm0y+xzQlcfkddCNCe/vGfP7GQH6lzdfbHAjqSCBHZK+PN5CzESSlixgnhMLzXAeXp+3'
&& 'hWfuM0sWL10abQv1CdtHixzvmtiYPhcvSFOTJk1NEPEQkWdPUry4oc96y2o3YJiWs5Wx'
&& 'zbYq83THHHu9Y1N2kG45tDRqdsgzxxuznKPOGbsTsN2M7d6zfXhePJ5Ici1h6mUcAcw0'
&& '8Zo5fp35NoqKxAjwTrRhZmLSpPY9ySmPzV27dm+lTn9cKSTGA+XT+03Jq+l8HBLv2Q7c'
&& 'X9K+ygQTFGDcHhaaoGJyouDNV7JH+eGj4mF6gspoC+tzJt1ObsT4MDsF2zxs886+Ml5v'
&& '/PogUvEwPUGFiE+SX4gAtQa1gkhV7onQR4oJMR5oxC6stDeghd7Dh6E+CPw/HL4vVO2f'
&& 'cpUAAAAASUVORK5CYII='.
APPEND ls_image TO et_assets.
super->lif_gui_page~get_assets( IMPORTING et_assets = et_assets ).
ls_image-url = 'img/toc'.
ls_image-content =
@ -23375,7 +23373,6 @@ ENDCLASS.
CLASS lcl_gui_page_db_display DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
PUBLIC SECTION.
METHODS lif_gui_page~on_event REDEFINITION.
METHODS lif_gui_page~render REDEFINITION.
METHODS: constructor
@ -23393,15 +23390,6 @@ CLASS lcl_gui_page_db_display IMPLEMENTATION.
ms_key = is_key.
ENDMETHOD.
METHOD lif_gui_page~on_event.
CASE iv_action.
WHEN OTHERS.
_raise 'Unknown action'.
ENDCASE.
ENDMETHOD.
METHOD lif_gui_page~render.
DATA: lv_data TYPE lcl_persistence_db=>ty_content-data_str,
@ -23501,8 +23489,6 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->back( ).
ENDMETHOD.
METHOD lif_gui_page~on_event.
@ -23510,8 +23496,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
CASE iv_action.
WHEN 'post'.
save( it_postdata ).
WHEN OTHERS.
_raise 'Unknown action'.
rv_state = gc_event_state-go_back.
ENDCASE.
ENDMETHOD.
@ -23587,8 +23572,6 @@ CLASS lcl_gui_page_db IMPLEMENTATION.
COMMIT WORK.
lcl_gui=>get( )->render( ).
ENDMETHOD.
METHOD delete_popup.
@ -23686,8 +23669,7 @@ CLASS lcl_gui_page_db IMPLEMENTATION.
lcl_gui=>get( )->call_page( lo_edit ).
WHEN 'delete'.
delete( ls_key ).
WHEN OTHERS.
_raise 'Unknown action'.
rv_state = gc_event_state-re_render.
ENDCASE.
ENDMETHOD.
@ -23753,10 +23735,10 @@ CLASS lcl_gui_router IMPLEMENTATION.
METHOD on_event.
CASE iv_action.
WHEN 'home'.
eo_page = get_home_page( ).
ev_result = c_new_page.
eo_page = get_home_page( ).
ev_state = gc_event_state-new_page.
WHEN OTHERS.
ev_result = c_not_handled.
ev_state = gc_event_state-not_handled.
ENDCASE.
ENDMETHOD. " on_event