mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
Dev (#243)
* Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * new demos * Update z2ui5_cl_app_hello_world.clas.xml * Update z2ui5_cl_app_hello_world.clas.xml * Update z2ui5_cl_app_hello_world.clas.abap * Update z2ui5_cl_app_hello_world.clas.abap * Update z2ui5_cl_http_handler.clas.locals_imp.abap * Update README.md * Update README.md * Update README.md * Update z2ui5_cl_http_handler.clas.locals_imp.abap * Update z2ui5_cl_http_handler.clas.testclasses.abap * update * abalint fix * update * hello world app * url params * unit tests * demos * demos * event data * events and refactoring
This commit is contained in:
parent
65d60087b1
commit
9f2f0dbbcf
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DEVC" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DEVC>
|
||||
<CTEXT>abap2UI5 - demos and view helper</CTEXT>
|
||||
</DEVC>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,272 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_00 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_00 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
WHEN OTHERS.
|
||||
TRY.
|
||||
|
||||
DATA(lv_classname) = to_upper( client->get( )-event ).
|
||||
DATA li_app TYPE REF TO z2ui5_if_app.
|
||||
CREATE OBJECT li_app TYPE (lv_classname).
|
||||
client->nav_app_call( li_app ).
|
||||
|
||||
CATCH cx_root.
|
||||
ENDTRY.
|
||||
ENDCASE.
|
||||
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory(
|
||||
)->shell( )->page(
|
||||
title = 'abap2UI5 - Demo Section'
|
||||
class = 'sapUiContentPadding sapUiResponsivePadding--content '
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->toolbar_spacer(
|
||||
)->link( text = 'SCN' target = '_blank' href = 'https://blogs.sap.com/tag/abap2ui5/'
|
||||
)->link( text = 'Twitter' target = '_blank' href = 'https://twitter.com/OblomovDev'
|
||||
)->link( text = 'GitHub' target = '_blank' href = 'https://github.com/oblomov-dev/abap2ui5'
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L3 M6 S12'
|
||||
)->content( 'layout' ).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Basic' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Communication & Data Binding' press = client->_event( 'z2ui5_cl_app_demo_01' )
|
||||
)->button( text = 'Events, Error & Change View' press = client->_event( 'z2ui5_cl_app_demo_04' )
|
||||
)->button( text = 'Flow Logic' press = client->_event( 'z2ui5_cl_app_demo_24' )
|
||||
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Basic II' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Formatted Text' press = client->_event( 'Z2UI5_CL_APP_DEMO_15' )
|
||||
)->button( text = 'Scrolling & Cursor' press = client->_event( 'z2ui5_cl_app_demo_22' )
|
||||
)->button( text = 'Timer' press = client->_event( 'z2ui5_cl_app_demo_28' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Selection-Screen' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Basic' press = client->_event( 'z2ui5_cl_app_demo_02' )
|
||||
)->button( text = 'More Controls' press = client->_event( 'z2ui5_cl_app_demo_05' )
|
||||
)->button( text = 'F4-Value-Help' press = client->_event( 'Z2UI5_CL_APP_DEMO_09' ) ).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Tables I' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'List I' press = client->_event( 'z2ui5_cl_app_demo_03' )
|
||||
)->button( text = 'List II' press = client->_event( 'z2ui5_cl_app_demo_48' )
|
||||
)->button( text = 'Toolbar & Container' press = client->_event( 'z2ui5_cl_app_demo_06' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Tables II' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Selection Modes' press = client->_event( 'z2ui5_cl_app_demo_19' )
|
||||
)->button( text = 'Editable' press = client->_event( 'z2ui5_cl_app_demo_11' )
|
||||
)->button( text = 'Filter' press = client->_event( 'z2ui5_cl_app_demo_45' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Popups' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Basic' press = client->_event( 'Z2UI5_CL_APP_DEMO_21' )
|
||||
)->button( text = 'Popups & Flow Logic' press = client->_event( 'z2ui5_cl_app_demo_12' )
|
||||
)->button( text = 'Popover' press = client->_event( 'z2ui5_cl_app_demo_26' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Messages' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Toast, Box & Strip' press = client->_event( 'z2ui5_cl_app_demo_08' )
|
||||
)->button( text = 'Illustrated Message' press = client->_event( 'z2ui5_cl_app_demo_33' )
|
||||
* )->button( text = 'T100 & bapiret popup' press = client->_event( 'z2ui5_cl_app_demo_34' )
|
||||
)->button( text = 'Message Manager' press = client->_event( 'z2ui5_cl_app_demo_38' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Layouts' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Layout (Header, Footer, Grid)' press = client->_event( 'z2ui5_cl_app_demo_10' )
|
||||
)->button( text = 'Object Page' press = client->_event( 'z2ui5_cl_app_demo_17' )
|
||||
)->button( text = 'Dynamic Page' press = client->_event( 'z2ui5_cl_app_demo_30' )
|
||||
* )->button( text = 'Split App' press = client->_event( 'z2ui5_cl_app_demo_17' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Extensions I' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Views - Normal, Generic, XML' press = client->_event( 'z2ui5_cl_app_demo_23' )
|
||||
)->button( text = 'Import UI5-XML-View' press = client->_event( 'z2ui5_cl_app_demo_31' )
|
||||
)->button( text = 'Custom Control' press = client->_event( 'z2ui5_cl_app_demo_37' )
|
||||
)->button( text = 'Change CSS' press = client->_event( 'z2ui5_cl_app_demo_50' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Extensions II' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'HTML, JS, CSS' press = client->_event( 'z2ui5_cl_app_demo_32' )
|
||||
)->button( text = 'Canvas & SVG' press = client->_event( 'z2ui5_cl_app_demo_36' )
|
||||
)->button( text = 'ext. Library' press = client->_event( 'z2ui5_cl_app_demo_40' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - More' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Side Effects' press = client->_event( 'z2ui5_cl_app_demo_27' )
|
||||
)->button( text = 'Integer, Decimals, Dates, Time' press = client->_event( 'z2ui5_cl_app_demo_47' )
|
||||
)->button( text = 'Change Model at Runtime' press = client->_event( 'z2ui5_cl_app_demo_35' )
|
||||
" )->button( text = 'FE Table' press = client->_event( 'z2ui5_cl_app_demo_49' )
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo -List Report' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Cell with Popover' press = client->_event( 'z2ui5_cl_app_demo_52' )
|
||||
)->button( text = 'Filter' press = client->_event( 'z2ui5_cl_app_demo_53' )
|
||||
)->button( text = 'Layout' press = client->_event( 'z2ui5_cl_app_demo_55' )
|
||||
)->button( text = 'Navigation' press = client->_event( 'z2ui5_cl_app_demo_54' )
|
||||
|
||||
).
|
||||
|
||||
DATA(form) = page->grid( 'L9 M12 S12'
|
||||
)->content( 'layout'
|
||||
)->simple_form( 'Demos I'
|
||||
)->vbox( ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'App Template'
|
||||
press = client->_event( 'Z2UI5_CL_APP_DEMO_18' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text(
|
||||
`You have complete freedom in structuring your apps and handling the flow logic, if you need a little bit of guidance use this template - it includes two views, one popup` &&
|
||||
` and some flow logic`
|
||||
)->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'MIME Editor'
|
||||
press = client->_event( 'Z2UI5_CL_APP_DEMO_14' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( `Use the sap.ui.codeeditor to develop editor apps, a lot of formats are possible (json, xml, abap, js, yaml...) - `
|
||||
&& 'for instance edit files from the MIME Repository' )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'Table Maintenance'
|
||||
press = client->_event( 'Z2UI5_CL_APP_DEMO_13' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( `Use the sap.ui.table to develop table maintenance apps - `
|
||||
&& 'import/export data in csv/json/xml, edit entries in the table control and save it to database' )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'File Upload/Download'
|
||||
press = client->_event( 'Z2UI5_CL_APP_DEMO_07' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( `Use the upload control to transfer files - `
|
||||
&& 'every format is possible (pdf, zip, jpg...) and display it again in a html iframe' )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'Layouts'
|
||||
press = client->_event( 'z2ui5_cl_app_demo_42' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( `Use the sap.uxap.ObjectPageLayout to easily display information related to a business object. It is composed of a header and content wrapping in sections and subestions` )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'List Report'
|
||||
press = client->_event( 'z2ui5_cl_app_demo_49' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( `Similar functionality to a Fiori Elements List Report - Display Table with Sorting, Filtering, Navigation, Layouts and Custom Functions` )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
form = page->grid( 'L9 M12 S12'
|
||||
)->content( 'layout'
|
||||
)->simple_form( 'Demos II'
|
||||
)->vbox( ).
|
||||
|
||||
form->text( `These demos are based on controls that are not part of openUI5. Please make sure to switch the bootstrapping to UI5 first.` ).
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'Visualization'
|
||||
press = client->_event( 'z2ui5_cl_app_demo_16' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( `Use the sap.suite.ui.microchart controls to visualize data - `
|
||||
&& 'choose between bar charts, donut charts, line charts or radial charts and make your data beautiful' )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
form->flex_box( class = 'columns'
|
||||
)->button(
|
||||
text = 'Monitoring'
|
||||
press = client->_event( 'z2ui5_cl_app_demo_41' ) )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '1'
|
||||
styleclass = 'sapUiTinyMargin'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( `Use the timer function of abap2UI5 to create self refreshing monitor apps.` )->get(
|
||||
)->layout_data(
|
||||
)->flex_item_data(
|
||||
growfactor = '3'
|
||||
styleclass = 'sapUiTinyMargin' ).
|
||||
|
||||
client->set_next( VALUE #(
|
||||
path = `/`
|
||||
xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_00</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo section</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_01</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic example</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,265 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_02 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA:
|
||||
BEGIN OF screen,
|
||||
check_is_active TYPE abap_bool,
|
||||
colour TYPE string,
|
||||
combo_key TYPE string,
|
||||
combo_key2 TYPE string,
|
||||
segment_key TYPE string,
|
||||
date TYPE string,
|
||||
date_time TYPE string,
|
||||
time_start TYPE string,
|
||||
time_end TYPE string,
|
||||
check_switch_01 TYPE abap_bool VALUE abap_false,
|
||||
check_switch_02 TYPE abap_bool VALUE abap_false,
|
||||
END OF screen.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF s_suggestion_items,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
END OF s_suggestion_items.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF s_combobox,
|
||||
key TYPE string,
|
||||
text TYPE string,
|
||||
END OF s_combobox.
|
||||
|
||||
TYPES ty_t_combo TYPE STANDARD TABLE OF s_combobox WITH EMPTY KEY.
|
||||
|
||||
DATA mt_suggestion TYPE STANDARD TABLE OF s_suggestion_items WITH EMPTY KEY.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
METHODS z2ui5_on_rendering
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
METHODS z2ui5_on_event
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
METHODS z2ui5_on_init.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_app_demo_02 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
z2ui5_on_event( client ).
|
||||
|
||||
z2ui5_on_rendering( client ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_SEND'.
|
||||
client->popup_message_box( 'success - values send to the server' ).
|
||||
WHEN 'BUTTON_CLEAR'.
|
||||
CLEAR screen.
|
||||
client->popup_message_toast( 'View initialized' ).
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
screen = VALUE #(
|
||||
check_is_active = abap_true
|
||||
colour = 'BLUE'
|
||||
combo_key = 'GRAY'
|
||||
segment_key = 'GREEN'
|
||||
date = '07.12.22'
|
||||
date_time = '23.12.2022, 19:27:20'
|
||||
time_start = '05:24:00'
|
||||
time_end = '17:23:57').
|
||||
|
||||
mt_suggestion = VALUE #(
|
||||
( descr = 'Green' value = 'GREEN' )
|
||||
( descr = 'Blue' value = 'BLUE' )
|
||||
( descr = 'Black' value = 'BLACK' )
|
||||
( descr = 'Grey' value = 'GREY' )
|
||||
( descr = 'Blue2' value = 'BLUE2' )
|
||||
( descr = 'Blue3' value = 'BLUE3' ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_rendering.
|
||||
|
||||
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Selection-Screen Example'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/OblomovDev/status/1628701535222865922`
|
||||
)->link( text = 'Source_Code' target = '_blank' href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L6 M12 S12'
|
||||
)->content( 'layout' ).
|
||||
|
||||
grid->simple_form( 'Input'
|
||||
)->content( 'form'
|
||||
)->label( 'Input with value help'
|
||||
)->input(
|
||||
value = client->_bind( screen-colour )
|
||||
placeholder = 'fill in your favorite colour'
|
||||
suggestionitems = client->_bind_one( mt_suggestion )
|
||||
showsuggestion = abap_true )->get(
|
||||
)->suggestion_items( )->get(
|
||||
)->list_item(
|
||||
text = '{VALUE}'
|
||||
additionaltext = '{DESCR}' ).
|
||||
|
||||
grid->simple_form( 'Time Inputs'
|
||||
)->content( 'form'
|
||||
)->label( 'Date'
|
||||
)->date_picker( client->_bind( screen-date )
|
||||
)->label( 'Date and Time'
|
||||
)->date_time_picker( client->_bind( screen-date_time )
|
||||
)->label( 'Time Begin/End'
|
||||
)->time_picker( client->_bind( screen-time_start )
|
||||
)->time_picker( client->_bind( screen-time_end ) ).
|
||||
|
||||
|
||||
DATA(form) = grid->get_parent( )->get_parent( )->grid( 'L12 M12 S12'
|
||||
)->content( 'layout'
|
||||
)->simple_form( 'Input with select options'
|
||||
)->content( 'form' ).
|
||||
|
||||
data(lv_test) = form->label( 'Checkbox'
|
||||
)->checkbox(
|
||||
selected = client->_bind( screen-check_is_active )
|
||||
text = 'this is a checkbox'
|
||||
enabled = abap_true ).
|
||||
|
||||
lv_test->label( 'Combobox'
|
||||
)->combobox(
|
||||
selectedkey = client->_bind( screen-combo_key )
|
||||
items = client->_bind_one( VALUE ty_t_combo(
|
||||
( key = 'BLUE' text = 'green' )
|
||||
( key = 'GREEN' text = 'blue' )
|
||||
( key = 'BLACK' text = 'red' )
|
||||
( key = 'GRAY' text = 'gray' ) ) )
|
||||
)->item(
|
||||
key = '{KEY}'
|
||||
text = '{TEXT}'
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
lv_test->label( 'Combobox2'
|
||||
)->combobox(
|
||||
selectedkey = client->_bind( screen-combo_key2 )
|
||||
items = client->_bind_one( VALUE ty_t_combo(
|
||||
( key = 'BLUE' text = 'green' )
|
||||
( key = 'GREEN' text = 'blue' )
|
||||
( key = 'BLACK' text = 'red' )
|
||||
( key = 'GRAY' text = 'gray' ) ) )
|
||||
)->item(
|
||||
key = '{KEY}'
|
||||
text = '{TEXT}'
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
lv_test->label( 'Segmented Button'
|
||||
)->segmented_button( client->_bind( screen-segment_key )
|
||||
)->items(
|
||||
)->segmented_button_item(
|
||||
key = 'BLUE'
|
||||
icon = 'sap-icon://accept'
|
||||
text = 'blue'
|
||||
)->segmented_button_item(
|
||||
key = 'GREEN'
|
||||
icon = 'sap-icon://add-favorite'
|
||||
text = 'green'
|
||||
)->segmented_button_item(
|
||||
key = 'BLACK'
|
||||
icon = 'sap-icon://attachment'
|
||||
text = 'black'
|
||||
)->get_parent( )->get_parent(
|
||||
|
||||
)->label( 'Switch disabled'
|
||||
)->switch(
|
||||
enabled = abap_false
|
||||
customtexton = 'A'
|
||||
customtextoff = 'B'
|
||||
)->label( 'Switch accept/reject'
|
||||
)->switch(
|
||||
state = client->_bind( screen-check_switch_01 )
|
||||
customtexton = 'on'
|
||||
customtextoff = 'off'
|
||||
type = 'AcceptReject'
|
||||
)->label( 'Switch normal'
|
||||
)->switch(
|
||||
state = client->_bind( screen-check_switch_02 )
|
||||
customtexton = 'YES'
|
||||
customtextoff = 'NO' ).
|
||||
|
||||
page->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Clear'
|
||||
press = client->_event( 'BUTTON_CLEAR' )
|
||||
type = 'Reject'
|
||||
icon = 'sap-icon://delete'
|
||||
)->button(
|
||||
text = 'Send to Server'
|
||||
press = client->_event( 'BUTTON_SEND' )
|
||||
type = 'Success' ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_02</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>selscreen - basic</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,86 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_03 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
selected TYPE abap_bool,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_app_demo_03 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
t_tab = VALUE #(
|
||||
( title = 'row_01' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'row_02' info = 'incompleted' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'row_03' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'row_04' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'row_05' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'row_06' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
).
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
WHEN 'SELCHANGE'.
|
||||
DATA(lt_sel) = t_tab.
|
||||
DELETE lt_sel WHERE selected = abap_false.
|
||||
client->popup_message_box( `go to details for item ` && lt_sel[ 1 ]-title ).
|
||||
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - List'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->list(
|
||||
headertext = 'List Ouput'
|
||||
items = client->_bind( t_tab )
|
||||
mode = `SingleSelectMaster`
|
||||
selectionchange = client->_event( 'SELCHANGE' )
|
||||
)->standard_list_item(
|
||||
title = '{TITLE}'
|
||||
description = '{DESCR}'
|
||||
icon = '{ICON}'
|
||||
info = '{INFO}'
|
||||
press = client->_event( 'TEST' )
|
||||
" type = `Navigation`
|
||||
selected = `{SELECTED}`
|
||||
).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,133 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_04 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
CLASS-METHODS factory
|
||||
IMPORTING
|
||||
i_app TYPE REF TO z2ui5_if_app
|
||||
i_name_attri TYPE string
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE REF TO z2ui5_cl_app_demo_04.
|
||||
|
||||
|
||||
DATA mo_app TYPE REF TO z2ui5_if_app.
|
||||
DATA mv_name_attri TYPE string.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA mv_view_main TYPE string.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_04 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
|
||||
r_result = NEW #( ).
|
||||
|
||||
r_result->mo_app = i_app.
|
||||
r_result->mv_name_attri = i_name_attri.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
mv_view_main = 'MAIN'.
|
||||
client->popup_message_box( 'app started, init values set' ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_ROUNDTRIP'.
|
||||
client->popup_message_box( 'server-client roundtrip, method on_event of the abap controller was called' ).
|
||||
|
||||
WHEN 'BUTTON_RESTART'.
|
||||
client->nav_app_call( NEW z2ui5_cl_app_demo_04( ) ).
|
||||
|
||||
WHEN 'BUTTON_CHANGE_APP'.
|
||||
client->nav_app_call( NEW z2ui5_cl_app_demo_01( ) ).
|
||||
|
||||
WHEN 'BUTTON_CHANGE_VIEW'.
|
||||
|
||||
CASE mv_view_main.
|
||||
WHEN 'MAIN'.
|
||||
mv_view_main = 'SECOND'.
|
||||
WHEN 'SECOND'.
|
||||
mv_view_main = 'MAIN'.
|
||||
ENDCASE.
|
||||
|
||||
WHEN 'BUTTON_ERROR'.
|
||||
DATA(lv_dummy) = 1 / 0.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
CASE mv_view_main.
|
||||
|
||||
WHEN 'MAIN'.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Controller'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
target = '_blank'
|
||||
)->get_parent( ).
|
||||
|
||||
page->grid( 'L6 M12 S12' )->content( 'layout'
|
||||
)->simple_form( 'Controller' )->content( 'form'
|
||||
)->label( 'Roundtrip'
|
||||
)->button(
|
||||
text = 'Client/Server Interaction'
|
||||
press = client->_event( 'BUTTON_ROUNDTRIP' )
|
||||
)->label( 'System'
|
||||
)->button(
|
||||
text = 'Restart App'
|
||||
press = client->_event( 'BUTTON_RESTART' )
|
||||
)->label( 'Change View'
|
||||
)->button(
|
||||
text = 'Display View SECOND'
|
||||
press = client->_event( 'BUTTON_CHANGE_VIEW' )
|
||||
)->label( 'CX_SY_ZERO_DIVIDE'
|
||||
)->button(
|
||||
text = 'Error not catched by the user'
|
||||
press = client->_event( 'BUTTON_ERROR' ) ).
|
||||
|
||||
WHEN 'SECOND'.
|
||||
|
||||
page = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Controller'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
).
|
||||
|
||||
page->grid( 'L12 M12 S12' )->content( 'layout'
|
||||
)->simple_form( 'View Second' )->content( 'form'
|
||||
)->label( 'Change View'
|
||||
)->button(
|
||||
text = 'Display View MAIN'
|
||||
press = client->_event( 'BUTTON_CHANGE_VIEW' ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_04</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - controller</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,237 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_05 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA:
|
||||
BEGIN OF screen,
|
||||
check_initialized TYPE abap_bool,
|
||||
check_is_active TYPE abap_bool,
|
||||
colour TYPE string,
|
||||
combo_key TYPE string,
|
||||
segment_key TYPE string,
|
||||
date TYPE string,
|
||||
date_time TYPE string,
|
||||
time_start TYPE string,
|
||||
time_end TYPE string,
|
||||
check_switch_01 TYPE abap_bool VALUE abap_false,
|
||||
check_switch_02 TYPE abap_bool VALUE abap_false,
|
||||
progress_value TYPE string VALUE '3',
|
||||
step_val_01 TYPE string VALUE '4',
|
||||
step_val_02 TYPE string VALUE '10',
|
||||
text_area TYPE string,
|
||||
END OF screen.
|
||||
|
||||
|
||||
types:
|
||||
begin of ty_s_token,
|
||||
key type string,
|
||||
text type string,
|
||||
visible type abap_bool,
|
||||
selkz type abap_bool,
|
||||
end of ty_S_token.
|
||||
|
||||
data mt_token type STANDARD TABLE OF ty_S_token with empty key.
|
||||
data mt_token_sugg type STANDARD TABLE OF ty_S_token with empty key.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_05 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF screen-check_initialized = abap_false.
|
||||
screen-check_initialized = abap_true.
|
||||
|
||||
mt_token = value #(
|
||||
( key = 'VAL1' text = 'value_1' selkz = abap_true visible = abap_true )
|
||||
( key = 'VAL3' text = 'value_3' selkz = abap_false visible = abap_true )
|
||||
( key = 'VAL4' text = 'value_4' selkz = abap_true )
|
||||
).
|
||||
|
||||
mt_token_sugg = value #(
|
||||
( key = 'VAL1' text = 'value_1' )
|
||||
( key = 'VAL2' text = 'value_2' )
|
||||
( key = 'VAL3' text = 'value_3' )
|
||||
( key = 'VAL4' text = 'value_4' )
|
||||
).
|
||||
|
||||
screen = VALUE #(
|
||||
check_initialized = abap_true
|
||||
check_is_active = abap_true
|
||||
colour = 'BLUE'
|
||||
combo_key = 'GRAY'
|
||||
segment_key = 'GREEN'
|
||||
date = '07.12.22'
|
||||
date_time = '23.12.2022, 19:27:20'
|
||||
time_start = '05:24:00'
|
||||
time_end = '17:23:57' ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_ROUNDTRIP'.
|
||||
DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'.
|
||||
|
||||
WHEN 'BUTTON_MSG_BOX'.
|
||||
client->popup_message_box(
|
||||
text = 'this is a message box with a custom text'
|
||||
type = 'success' ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Selection-Screen more Controls'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->generic_tag(
|
||||
arialabelledby = 'genericTagLabel'
|
||||
text = 'Project Cost'
|
||||
design = 'StatusIconHidden'
|
||||
status = 'Error'
|
||||
class = 'sapUiSmallMarginBottom'
|
||||
)->object_number(
|
||||
state = 'Error'
|
||||
emphasized = 'false'
|
||||
number = '3.5M'
|
||||
unit = 'EUR' ).
|
||||
|
||||
page->generic_tag(
|
||||
arialabelledby = 'genericTagLabel'
|
||||
text = 'Project Cost'
|
||||
design = 'StatusIconHidden'
|
||||
status = 'Success'
|
||||
class = 'sapUiSmallMarginBottom'
|
||||
)->object_number(
|
||||
state = 'Success'
|
||||
emphasized = 'false'
|
||||
number = '3.5M'
|
||||
unit = 'EUR' ).
|
||||
|
||||
page->generic_tag(
|
||||
arialabelledby = 'genericTagLabel'
|
||||
text = 'Input'
|
||||
design = 'StatusIconHidden'
|
||||
class = 'sapUiSmallMarginBottom'
|
||||
)->object_number(
|
||||
emphasized = 'true'
|
||||
number = '3.5M'
|
||||
unit = 'EUR' ).
|
||||
|
||||
DATA(grid) = page->grid( 'L12 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( title = 'More Controls' editable = abap_true )->content( 'form'
|
||||
)->label( 'ProgressIndicator'
|
||||
)->progress_indicator(
|
||||
percentvalue = screen-progress_value
|
||||
displayvalue = '0,44GB of 32GB used'
|
||||
showvalue = abap_true
|
||||
state = 'Success'
|
||||
)->label( 'StepInput'
|
||||
)->step_input(
|
||||
value = client->_bind( screen-step_val_01 )
|
||||
step = '2'
|
||||
min = '0'
|
||||
max = '20'
|
||||
)->step_input(
|
||||
value = client->_bind( screen-step_val_02 )
|
||||
step = '10'
|
||||
min = '0'
|
||||
max = '100'
|
||||
)->label( 'Range Slider'
|
||||
)->range_slider(
|
||||
max = '100'
|
||||
min = '0'
|
||||
step = '10'
|
||||
startvalue = '10'
|
||||
endvalue = '20'
|
||||
showtickmarks = abap_true
|
||||
labelinterval = '2'
|
||||
width = '80%'
|
||||
class = 'sapUiTinyMargin'
|
||||
)->label( 'MultiInput'
|
||||
)->multi_input(
|
||||
tokens = client->_bind( mt_token )
|
||||
showclearicon = abap_true
|
||||
showvaluehelp = abap_true
|
||||
suggestionitems = client->_bind( mt_token_sugg )
|
||||
)->item(
|
||||
key = `{KEY}`
|
||||
text = `{TEXT}`
|
||||
)->tokens(
|
||||
)->token(
|
||||
key = `{KEY}`
|
||||
text = `{TEXT}`
|
||||
selected = `{SELKZ}`
|
||||
visible = `{VISIBLE}`
|
||||
).
|
||||
|
||||
grid->simple_form( title = 'Text Area' editable = abap_true )->content( 'form'
|
||||
)->label( 'text area'
|
||||
)->text_area(
|
||||
value = `Lorem ipsum dolor st amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn` &&
|
||||
`a aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd` &&
|
||||
` gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam n ` &&
|
||||
` onumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit am ` &&
|
||||
` et, consetetur sadipscing elitr, sed diam nonumy eirm sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam no ` &&
|
||||
`numy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.`
|
||||
growing = abap_true
|
||||
growingmaxlines = '7'
|
||||
width = '100%' ).
|
||||
|
||||
page->footer(
|
||||
)->overflow_toolbar(
|
||||
)->button(
|
||||
text = 'Button with Badge'
|
||||
class = 'sapUiTinyMarginBeginEnd'
|
||||
icon = 'sap-icon://cart' )->get(
|
||||
)->custom_data(
|
||||
)->badge_custom_data(
|
||||
key = 'badge'
|
||||
value = '5'
|
||||
visible = abap_true
|
||||
)->get_parent( )->get_parent(
|
||||
)->button(
|
||||
text = 'Emphasized Button with Badge'
|
||||
type = 'Emphasized'
|
||||
class = 'sapUiTinyMarginBeginEnd'
|
||||
icon = 'sap-icon://cart' )->get(
|
||||
)->custom_data(
|
||||
)->badge_custom_data(
|
||||
key = 'badge'
|
||||
value = '23'
|
||||
visible = abap_true
|
||||
)->get_parent( )->get_parent(
|
||||
)->toolbar_spacer(
|
||||
)->overflow_toolbar_button(
|
||||
text = 'Clear'
|
||||
press = client->_event( 'BUTTON_CLEAR' )
|
||||
type = 'Reject'
|
||||
icon = 'sap-icon://delete'
|
||||
)->overflow_toolbar_button(
|
||||
text = 'Send to Server'
|
||||
press = client->_event( 'BUTTON_SEND' )
|
||||
type = 'Success' ).
|
||||
|
||||
client->set_next( value #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_05</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>selscreen - more controls</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,176 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_06 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
count TYPE i,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA mv_key TYPE string.
|
||||
METHODS refresh_data.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_06 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD refresh_data.
|
||||
|
||||
DO 1000 TIMES.
|
||||
DATA(ls_row) = VALUE ty_row( count = sy-index value = 'red'
|
||||
info = COND #( WHEN sy-index < 50 THEN 'completed' ELSE 'uncompleted' )
|
||||
descr = 'this is a description' checkbox = abap_true ).
|
||||
INSERT ls_row INTO TABLE t_tab.
|
||||
ENDDO.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
refresh_data( ).
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'SORT_ASCENDING'.
|
||||
SORT t_tab BY count ASCENDING.
|
||||
client->popup_message_toast( 'sort ascending' ).
|
||||
|
||||
WHEN 'SORT_DESCENDING'.
|
||||
SORT t_tab BY count DESCENDING.
|
||||
client->popup_message_toast( 'sort descending' ).
|
||||
|
||||
WHEN 'BUTTON_POST'.
|
||||
client->popup_message_box( 'button post was pressed' ).
|
||||
|
||||
WHEN 'MENU_DEFAULT'.
|
||||
client->popup_message_box( 'menu default pressed' ).
|
||||
|
||||
WHEN 'MENU_01'.
|
||||
client->popup_message_box( 'menu 01 pressed' ).
|
||||
|
||||
WHEN 'MENU_02'.
|
||||
client->popup_message_box( 'menu 02 pressed' ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Scroll Container with Table and Toolbar'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(tab) = page->scroll_container( height = '70%' vertical = abap_true
|
||||
)->table(
|
||||
growing = abap_true
|
||||
growingthreshold = '20'
|
||||
growingscrolltoload = abap_true
|
||||
items = client->_bind_one( t_tab )
|
||||
sticky = 'ColumnHeaders,HeaderToolbar' ).
|
||||
|
||||
tab->header_toolbar(
|
||||
)->overflow_toolbar(
|
||||
)->title( 'title of the table'
|
||||
)->button(
|
||||
text = 'letf side button'
|
||||
icon = 'sap-icon://account'
|
||||
press = client->_event( 'BUTTON_SORT' )
|
||||
)->segmented_button( selected_key = mv_key
|
||||
)->items(
|
||||
)->segmented_button_item(
|
||||
key = 'BLUE'
|
||||
icon = 'sap-icon://accept'
|
||||
text = 'blue'
|
||||
)->segmented_button_item(
|
||||
key = 'GREEN'
|
||||
icon = 'sap-icon://add-favorite'
|
||||
text = 'green'
|
||||
)->get_parent( )->get_parent(
|
||||
)->toolbar_spacer(
|
||||
)->generic_tag(
|
||||
arialabelledby = 'genericTagLabel'
|
||||
text = 'Project Cost'
|
||||
design = 'StatusIconHidden'
|
||||
status = 'Error'
|
||||
class = 'sapUiSmallMarginBottom'
|
||||
)->object_number(
|
||||
state = 'Error'
|
||||
emphasized = 'false'
|
||||
number = '3.5M'
|
||||
unit = 'EUR'
|
||||
)->get_parent(
|
||||
)->toolbar_spacer(
|
||||
)->overflow_toolbar_toggle_button(
|
||||
icon = 'sap-icon://sort-descending'
|
||||
press = client->_event( 'SORT_DESCENDING' )
|
||||
)->overflow_toolbar_toggle_button(
|
||||
icon = 'sap-icon://sort-ascending'
|
||||
press = client->_event( 'SORT_ASCENDING' )
|
||||
|
||||
)->overflow_toolbar_menu_button(
|
||||
text = `Export`
|
||||
type = `Transparent`
|
||||
tooltip = `Export`
|
||||
defaultaction = client->_event( 'MENU_DEFAULT' )
|
||||
icon = `sap-icon://share`
|
||||
buttonMode = `Split`
|
||||
)->_generic( `menu` )->_generic( `Menu`
|
||||
)->menu_item(
|
||||
press = client->_event( 'MENU_01' )
|
||||
text = `Export as PDF`
|
||||
icon = `sap-icon://pdf-attachment`
|
||||
)->menu_item(
|
||||
press = client->_event( 'MENU_02' )
|
||||
text = `Export to Excel`
|
||||
icon = `sap-icon://excel-attachment`
|
||||
).
|
||||
|
||||
tab->columns(
|
||||
)->column(
|
||||
)->text( 'Color' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Info' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Description' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Checkbox' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Counter' ).
|
||||
|
||||
tab->items( )->column_list_item( )->cells(
|
||||
)->text( '{VALUE}'
|
||||
)->text( '{INFO}'
|
||||
)->text( '{DESCR}'
|
||||
)->checkbox( selected = '{CHECKBOX}' enabled = abap_false
|
||||
)->text( '{COUNT}' ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_06</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>tab - toolbar container sort</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,286 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_07 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_path TYPE string.
|
||||
DATA mv_value TYPE string.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_file,
|
||||
selkz TYPE abap_bool,
|
||||
name TYPE string,
|
||||
format TYPE string,
|
||||
size TYPE string,
|
||||
descr TYPE string,
|
||||
data TYPE string,
|
||||
END OF ty_file.
|
||||
|
||||
DATA mt_file TYPE STANDARD TABLE OF ty_file WITH EMPTY KEY.
|
||||
DATA ms_file_edit TYPE ty_file.
|
||||
DATA ms_file_prev TYPE ty_file.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
METHODS ui5_on_init.
|
||||
METHODS ui5_on_event.
|
||||
|
||||
METHODS ui5_render_view_main
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
METHODS ui5_render_view_init
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
METHODS ui5_render_popup_descr
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
METHODS ui5_render_popup_data
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD ui5_on_event.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'START'.
|
||||
app-view_main = 'MAIN'.
|
||||
|
||||
WHEN 'DISPLAY'.
|
||||
ms_file_prev = mt_file[ selkz = abap_true ].
|
||||
|
||||
WHEN 'UPLOAD'.
|
||||
INSERT VALUE #( name = mv_path data = mv_value size = strlen( mv_value ) format = mv_value+5(5) ) INTO TABLE mt_file.
|
||||
CLEAR ms_file_prev.
|
||||
CLEAR ms_file_edit.
|
||||
CLEAR mv_value.
|
||||
CLEAR mv_path.
|
||||
|
||||
WHEN 'TEXTAREA_DESCR_CONFIRM'.
|
||||
mt_file[ selkz = abap_true ] = ms_file_edit.
|
||||
CLEAR ms_file_edit.
|
||||
|
||||
WHEN 'TEXTAREA_DATA_CONFIRM'.
|
||||
CLEAR ms_file_edit.
|
||||
|
||||
WHEN 'POPUP_DESCR'.
|
||||
ms_file_edit = mt_file[ selkz = abap_true ].
|
||||
app-view_popup = 'DESCR'.
|
||||
|
||||
WHEN 'POPUP_DATA'.
|
||||
ms_file_edit = mt_file[ selkz = abap_true ].
|
||||
app-view_popup = 'DATA'.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD ui5_on_init.
|
||||
|
||||
app-view_main = 'INIT'.
|
||||
client->popup_message_toast( 'Custom Control for File Upload loaded' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD ui5_render_popup_data.
|
||||
|
||||
DATA(lo_popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog(
|
||||
stretch = abap_true
|
||||
title = 'Data:'
|
||||
)->content(
|
||||
)->text_area(
|
||||
height = '99%'
|
||||
width = '99%'
|
||||
enabled = abap_false
|
||||
value = client->_bind( ms_file_edit-data )
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'close'
|
||||
press = client->_event( 'TEXTAREA_DATA_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
r_result = lo_popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD ui5_render_popup_descr.
|
||||
|
||||
DATA(lo_popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog(
|
||||
title = 'Edit Description'
|
||||
icon = 'sap-icon://edit'
|
||||
)->content(
|
||||
)->text_area(
|
||||
height = '99%'
|
||||
width = '99%'
|
||||
value = client->_bind( ms_file_edit-descr )
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'TEXTAREA_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = client->_event( 'TEXTAREA_DESCR_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
r_result = lo_popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD ui5_render_view_init.
|
||||
|
||||
DATA(lo_view) = Z2UI5_CL_XML_VIEW=>factory( VALUE #(
|
||||
( n = `xmlns:mvc` v = `sap.ui.core.mvc` )
|
||||
( n = `xmlns:m` v = `sap.m` )
|
||||
( n = `xmlns:z2ui5` v = `z2ui5` )
|
||||
( n = `xmlns:core` v = `sap.ui.core` )
|
||||
( n = `xmlns` v = `http://www.w3.org/1999/xhtml` )
|
||||
) ).
|
||||
|
||||
DATA(page) = lo_view->_generic( name = 'Shell' ns = 'm' )->page(
|
||||
ns = 'm'
|
||||
title = 'abap2UI5 - File Upload/Download'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content( ns = 'm'
|
||||
)->toolbar_spacer( ns = 'm'
|
||||
)->link( ns = 'm' text = 'Demo' target = '_blank' href = 'https://twitter.com/OblomovDev/status/1638487600930357248'
|
||||
)->link( ns = 'm' target = '_blank' text = 'Source_Code' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->text( ns = 'm' text = 'Custom Control for File Upload is now loaded.'
|
||||
)->button( ns = 'm' text = 'continue' press = client->_event( 'START' )
|
||||
)->zz_plain( ` <script> ` && z2ui5_cl_xml_view=>cc_file_uploader_get_js( ) && ` </script>`
|
||||
).
|
||||
|
||||
r_result = lo_view->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD ui5_render_view_main.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell( )->page(
|
||||
title = 'abap2UI5 - File Upload/Download'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->toolbar_spacer(
|
||||
)->link( text = 'Demo' href = 'https://twitter.com/OblomovDev/status/1638487600930357248'
|
||||
)->link( text = 'Source_Code' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->cc_file_uploader(
|
||||
value = client->_bind( mv_value )
|
||||
path = client->_bind( mv_path )
|
||||
placeholder = 'filepath here...'
|
||||
upload = client->_event( 'UPLOAD' ) ).
|
||||
|
||||
DATA(tab) = page->table(
|
||||
headertext = 'Table'
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind( mt_file )
|
||||
)->header_toolbar(
|
||||
)->overflow_toolbar(
|
||||
)->title( 'Files'
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Edit Description'
|
||||
press = client->_event( 'POPUP_DESCR' )
|
||||
)->button(
|
||||
text = 'Show Base64'
|
||||
press = client->_event( 'POPUP_DATA' )
|
||||
)->button(
|
||||
text = 'display'
|
||||
press = client->_event( 'DISPLAY' )
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
tab->columns(
|
||||
)->column( '10%' )->get_parent(
|
||||
)->column( '10%' )->get_parent(
|
||||
)->column( '10%' )->get_parent(
|
||||
)->column( ).
|
||||
|
||||
tab->items( )->column_list_item( selected = '{SELKZ}' )->cells(
|
||||
)->text( '{NAME}'
|
||||
)->text( '{FORMAT}'
|
||||
)->text( '{SIZE}'
|
||||
)->text( '{DESCR}' ).
|
||||
|
||||
IF ms_file_prev-data IS NOT INITIAL.
|
||||
page->zz_plain( '<html:iframe src="' && ms_file_prev-data && '" height="75%" width="98%"/>' ).
|
||||
CLEAR mv_value.
|
||||
ENDIF.
|
||||
|
||||
r_result = page->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
CASE app-view_main.
|
||||
WHEN 'INIT'.
|
||||
app-next-xml_main = ui5_render_view_init( ).
|
||||
WHEN 'MAIN'.
|
||||
app-next-xml_main = ui5_render_view_main( ).
|
||||
ENDCASE.
|
||||
|
||||
CASE app-view_popup.
|
||||
WHEN 'DESCR'.
|
||||
app-next-xml_popup = ui5_render_popup_descr( ).
|
||||
WHEN 'DATA'.
|
||||
app-next-xml_popup = ui5_render_popup_data( ).
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,194 +0,0 @@
|
|||
CLASS lcl_mime_api DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS read_abap
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_json
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_js
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_yaml
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_text
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_suggest,
|
||||
name TYPE string,
|
||||
value TYPE string,
|
||||
END OF ty_s_suggest.
|
||||
TYPES ty_t_suggest TYPE STANDARD TABLE OF ty_s_suggest WITH EMPTY KEY.
|
||||
|
||||
CLASS-METHODS get_editor_type
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE ty_t_suggest.
|
||||
|
||||
CLASS-METHODS save_data
|
||||
IMPORTING
|
||||
i_mv_editor TYPE string.
|
||||
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_mime_api IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD read_abap.
|
||||
|
||||
r_result = `METHOD SELECT_FILES.` && |\n| &&
|
||||
|\n| &&
|
||||
` DATA: LV_RET_CODE TYPE I,` && |\n| &&
|
||||
` LV_USR_AXN TYPE I.` && |\n| &&
|
||||
|\n| &&
|
||||
` CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG(` && |\n| &&
|
||||
` EXPORTING` && |\n| &&
|
||||
` WINDOW_TITLE = 'Select file'` && |\n| &&
|
||||
` MULTISELECTION = 'X'` && |\n| &&
|
||||
` CHANGING` && |\n| &&
|
||||
` FILE_TABLE = ME->PT_FILETAB` && |\n| &&
|
||||
` RC = LV_RET_CODE` && |\n| &&
|
||||
` USER_ACTION = LV_USR_AXN` && |\n| &&
|
||||
` EXCEPTIONS` && |\n| &&
|
||||
` FILE_OPEN_DIALOG_FAILED = 1` && |\n| &&
|
||||
` CNTL_ERROR = 2` && |\n| &&
|
||||
` ERROR_NO_GUI = 3` && |\n| &&
|
||||
` NOT_SUPPORTED_BY_GUI = 4` && |\n| &&
|
||||
` OTHERS = 5` && |\n| &&
|
||||
` ).` && |\n| &&
|
||||
` IF SY-SUBRC <> 0 OR` && |\n| &&
|
||||
` LV_USR_AXN = CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.` && |\n| &&
|
||||
` RAISE EX_FILE_SEL_ERR.` && |\n| &&
|
||||
` ENDIF.` && |\n| &&
|
||||
|\n| &&
|
||||
` ENDMETHOD. `.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_json.
|
||||
|
||||
r_result = `{` && |\n| &&
|
||||
` "quiz": {` && |\n| &&
|
||||
` "sport": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "test" : false,` && |\n| &&
|
||||
` "question": "Which one is correct team name in NBA?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "New York Bulls",` && |\n| &&
|
||||
` "Los Angeles Kings",` && |\n| &&
|
||||
` "Golden State Warriros",` && |\n| &&
|
||||
` "Huston Rocket"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "Huston Rocket"` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "maths": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "question": "5 + 7 = ?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "10",` && |\n| &&
|
||||
` "11",` && |\n| &&
|
||||
` "12",` && |\n| &&
|
||||
` "13"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "12"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "q2": {` && |\n| &&
|
||||
` "question": true,` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "1",` && |\n| &&
|
||||
` "2",` && |\n| &&
|
||||
` "3",` && |\n| &&
|
||||
` "4"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": 487829` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_js.
|
||||
|
||||
r_result = `function showAlert() {` && |\n| &&
|
||||
` alert("Alert from JS file");` && |\n| &&
|
||||
`}` && |\n| &&
|
||||
|\n| &&
|
||||
`function updateHeading() {` && |\n| &&
|
||||
` document.getElementById('heading').innerHTML = 'Heading changed with JS';` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_yaml.
|
||||
|
||||
r_result = `# Employee records` && |\n| &&
|
||||
`- martin:` && |\n| &&
|
||||
` name: Martin Developer` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - python` && |\n| &&
|
||||
` - perl` && |\n| &&
|
||||
` - pascal` && |\n| &&
|
||||
`- tabitha:` && |\n| &&
|
||||
` name: Tabitha Bitumen` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - lisp` && |\n| &&
|
||||
` - fortran` && |\n| &&
|
||||
` - erlang`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_text.
|
||||
r_result = `TXT test file` && |\n| &&
|
||||
`Purpose: Provide example of this file type` && |\n| &&
|
||||
`Document file type: TXT` && |\n| &&
|
||||
`Version: 1.0` && |\n| &&
|
||||
`Remark:` && |\n| &&
|
||||
|\n| &&
|
||||
`Example content:` && |\n| &&
|
||||
`The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for children, or just "Doe" non-gender-specifically are used as placeholder names for a party whose true identity is unknown or mus` &&
|
||||
`t be withheld in a legal action, case, or discussion. The names are also used to refer to acorpse or hospital patient whose identity is unknown. This practice is widely used in the United States and Canada, but is rarely used in other English-speak` &&
|
||||
`ing countries including the United Kingdom itself, from where the use of "John Doe" in a legal context originates. The names Joe Bloggs or John Smith are used in the UK instead, as well as in Australia and New Zealand.` && |\n| &&
|
||||
|\n| &&
|
||||
`John Doe is sometimes used to refer to a typical male in other contexts as well, in a similar manner to John Q. Public, known in Great Britain as Joe Public, John Smith or Joe Bloggs. For example, the first name listed on a form is o` &&
|
||||
`ften John Doe, along with a fictional address or other fictional information to provide an example of how to fill in the form. The name is also used frequently in popular culture, for example in the Frank Capra film Meet John Doe. John Doe was also` &&
|
||||
` the name of a 2002 American television series.`.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_editor_type.
|
||||
|
||||
DATA(lv_types) = `abap, abc, actionscript, ada, apache_conf, applescript, asciidoc, assembly_x86, autohotkey, batchfile, bro, c9search, c_cpp, cirru, clojure, cobol, coffee, coldfusion, csharp, css, curly, d, dart, diff, django, dockerfile, ` &&
|
||||
`dot, drools, eiffel, yaml, ejs, elixir, elm, erlang, forth, fortran, ftl, gcode, gherkin, gitignore, glsl, gobstones, golang, groovy, haml, handlebars, haskell, haskell_cabal, haxe, hjson, html, html_elixir, html_ruby, ini, io, jack, jade, java, ja` &&
|
||||
`vascri` &&
|
||||
`pt, json, jsoniq, jsp, jsx, julia, kotlin, latex, lean, less, liquid, lisp, live_script, livescript, logiql, lsl, lua, luapage, lucene, makefile, markdown, mask, matlab, mavens_mate_log, maze, mel, mips_assembler, mipsassembler, mushcode, mysql, ni` &&
|
||||
`x, nsis, objectivec, ocaml, pascal, perl, pgsql, php, plain_text, powershell, praat, prolog, properties, protobuf, python, r, razor, rdoc, rhtml, rst, ruby, rust, sass, scad, scala, scheme, scss, sh, sjs, smarty, snippets, soy_template, space, sql,` &&
|
||||
` sqlserver, stylus, svg, swift, swig, tcl, tex, text, textile, toml, tsx, twig, typescript, vala, vbscript, velocity, verilog, vhdl, wollok, xml, xquery, terraform, slim, redshift, red, puppet, php_laravel_blade, mixal, jssm, fsharp, edifact,` &&
|
||||
` csp, cssound_score, cssound_orchestra, cssound_document`.
|
||||
SPLIT lv_types AT ',' INTO TABLE DATA(lt_types).
|
||||
|
||||
|
||||
r_result = VALUE #( FOR row IN lt_types ( name = shift_right( shift_left( row ) ) value = shift_right( shift_left( row ) ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD save_data.
|
||||
"save data here
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_07</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo - file download/upload</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,108 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_08 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA check_strip_active TYPE abap_bool.
|
||||
DATA strip_type TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_08 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_BOX'.
|
||||
client->popup_message_box( 'this is a message box' ).
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_BOX_ERROR'.
|
||||
client->popup_message_box( text = 'this is a message box' type = 'error' ).
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_BOX_SUCCESS'.
|
||||
client->popup_message_box( text = 'this is a message box' type = 'success' ).
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_BOX_WARNING'.
|
||||
client->popup_message_box( text = 'this is a message box' type = 'warning' ).
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_TOAST'.
|
||||
client->popup_message_toast( 'this is a message toast' ).
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_STRIP_INFO'.
|
||||
check_strip_active = abap_true.
|
||||
strip_type = 'Information'.
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_STRIP_ERROR'.
|
||||
check_strip_active = abap_true.
|
||||
strip_type = 'Error'.
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_STRIP_SUCCESS'.
|
||||
check_strip_active = abap_true.
|
||||
strip_type = 'Success'.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Messages'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
IF check_strip_active = abap_true.
|
||||
page->message_strip( text = 'This is a Message Strip' type = strip_type ).
|
||||
ENDIF.
|
||||
|
||||
page->grid( 'L6 M12 S12'
|
||||
)->content( 'layout'
|
||||
)->simple_form( 'Message Box' )->content( 'form'
|
||||
)->button(
|
||||
text = 'information'
|
||||
press = client->_event( 'BUTTON_MESSAGE_BOX' )
|
||||
)->button(
|
||||
text = 'success'
|
||||
press = client->_event( 'BUTTON_MESSAGE_BOX_SUCCESS' )
|
||||
)->button(
|
||||
text = 'error'
|
||||
press = client->_event( 'BUTTON_MESSAGE_BOX_ERROR' )
|
||||
)->button(
|
||||
text = 'warning'
|
||||
press = client->_event( 'BUTTON_MESSAGE_BOX_WARNING' ) ).
|
||||
|
||||
page->grid( 'L6 M12 S12'
|
||||
)->content( 'layout'
|
||||
)->simple_form( 'Message Strip' )->content( 'form'
|
||||
)->button(
|
||||
text = 'success'
|
||||
press = client->_event( 'BUTTON_MESSAGE_STRIP_SUCCESS' )
|
||||
)->button(
|
||||
text = 'error'
|
||||
press = client->_event( 'BUTTON_MESSAGE_STRIP_ERROR' )
|
||||
)->button(
|
||||
text = 'information'
|
||||
press = client->_event( 'BUTTON_MESSAGE_STRIP_INFO' ) ).
|
||||
|
||||
page->grid( 'L6 M12 S12'
|
||||
)->content( 'layout'
|
||||
)->simple_form( 'Display' )->content( 'form'
|
||||
)->button(
|
||||
text = 'Message Toast'
|
||||
press = client->_event( 'BUTTON_MESSAGE_TOAST' ) ).
|
||||
|
||||
client->set_next( value #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_08</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>messages - basic</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,367 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_09 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA:
|
||||
BEGIN OF screen,
|
||||
color_01 TYPE string,
|
||||
color_02 TYPE string,
|
||||
color_03 TYPE string,
|
||||
city TYPE string,
|
||||
name TYPE string,
|
||||
lastname TYPE string,
|
||||
quantity TYPE string,
|
||||
unit TYPE string,
|
||||
END OF screen.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF s_suggestion_items,
|
||||
selkz TYPE abap_bool,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
END OF s_suggestion_items.
|
||||
DATA mt_suggestion TYPE STANDARD TABLE OF s_suggestion_items WITH EMPTY KEY.
|
||||
DATA mt_suggestion_sel TYPE STANDARD TABLE OF s_suggestion_items WITH EMPTY KEY.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF s_suggestion_items_city,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
END OF s_suggestion_items_city.
|
||||
DATA mt_suggestion_city TYPE STANDARD TABLE OF s_suggestion_items_city WITH EMPTY KEY.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF s_employee,
|
||||
selkz TYPE abap_bool,
|
||||
city TYPE string,
|
||||
nr TYPE string,
|
||||
name TYPE string,
|
||||
lastname TYPE string,
|
||||
END OF s_employee.
|
||||
DATA mt_employees_sel TYPE STANDARD TABLE OF s_employee WITH EMPTY KEY.
|
||||
DATA mt_employees TYPE STANDARD TABLE OF s_employee WITH EMPTY KEY.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
DATA mv_view_main TYPE string.
|
||||
DATA mv_view_popup TYPE string.
|
||||
PROTECTED SECTION.
|
||||
|
||||
METHODS z2ui5_on_rendering
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS z2ui5_on_event
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
METHODS z2ui5_on_init.
|
||||
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_09 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
CLEAR mv_view_popup.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
z2ui5_on_event( client ).
|
||||
|
||||
z2ui5_on_rendering( client ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'POPUP_TABLE_F4'.
|
||||
mt_suggestion_sel = mt_suggestion.
|
||||
mv_view_popup = 'POPUP_TABLE_F4'.
|
||||
mv_view_main = 'MAIN'.
|
||||
|
||||
WHEN 'POPUP_TABLE_F4_CUSTOM'.
|
||||
mt_employees_sel = VALUE #( ).
|
||||
mt_employees_sel = VALUE #( ).
|
||||
mv_view_popup = 'POPUP_TABLE_F4_CUSTOM'.
|
||||
mv_view_main = 'MAIN'.
|
||||
|
||||
WHEN 'SEARCH'.
|
||||
mt_employees_sel = mt_employees.
|
||||
IF screen-city IS NOT INITIAL.
|
||||
DELETE mt_employees_sel WHERE city <> screen-city.
|
||||
ENDIF.
|
||||
mv_view_popup = 'POPUP_TABLE_F4_CUSTOM'.
|
||||
mv_view_main = 'MAIN'.
|
||||
|
||||
WHEN 'POPUP_TABLE_F4_CUSTOM_CONTINUE'.
|
||||
DELETE mt_employees_sel WHERE selkz = abap_false.
|
||||
IF lines( mt_employees_sel ) = 1.
|
||||
screen-name = mt_employees_sel[ 1 ]-name.
|
||||
screen-lastname = mt_employees_sel[ 1 ]-lastname.
|
||||
client->popup_message_toast( 'f4 value selected' ).
|
||||
ENDIF.
|
||||
|
||||
WHEN 'POPUP_TABLE_F4_CONTINUE'.
|
||||
DELETE mt_suggestion_sel WHERE selkz = abap_false.
|
||||
IF lines( mt_suggestion_sel ) = 1.
|
||||
screen-color_02 = mt_suggestion_sel[ 1 ]-value.
|
||||
client->popup_message_toast( 'f4 value selected' ).
|
||||
ENDIF.
|
||||
|
||||
WHEN 'BUTTON_SEND'.
|
||||
client->popup_message_box( 'success - values send to the server' ).
|
||||
WHEN 'BUTTON_CLEAR'.
|
||||
CLEAR screen.
|
||||
client->popup_message_toast( 'View initialized' ).
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
mt_suggestion = VALUE #(
|
||||
( descr = 'this is the color Green' value = 'GREEN' )
|
||||
( descr = 'this is the color Blue' value = 'BLUE' )
|
||||
( descr = 'this is the color Black' value = 'BLACK' )
|
||||
( descr = 'this is the color Grey' value = 'GREY' )
|
||||
( descr = 'this is the color Blue2' value = 'BLUE2' )
|
||||
( descr = 'this is the color Blue3' value = 'BLUE3' ) ).
|
||||
|
||||
mt_suggestion_city = VALUE #(
|
||||
( value = 'London' descr = 'London' )
|
||||
( value = 'Paris' descr = 'Paris' )
|
||||
( value = 'Rome' descr = 'Rome' ) ).
|
||||
|
||||
mt_employees = VALUE #(
|
||||
( city = 'London' name = 'Tom' lastname = 'lastname1' nr = '00001' )
|
||||
( city = 'London' name = 'Tom2' lastname = 'lastname2' nr = '00002' )
|
||||
( city = 'London' name = 'Tom3' lastname = 'lastname3' nr = '00003' )
|
||||
( city = 'London' name = 'Tom4' lastname = 'lastname4' nr = '00004' )
|
||||
( city = 'Rome' name = 'Michaela1' lastname = 'lastname5' nr = '00005' )
|
||||
( city = 'Rome' name = 'Michaela2' lastname = 'lastname6' nr = '00006' )
|
||||
( city = 'Rome' name = 'Michaela3' lastname = 'lastname7' nr = '00007' )
|
||||
( city = 'Rome' name = 'Michaela4' lastname = 'lastname8' nr = '00008' )
|
||||
( city = 'Paris' name = 'Hermine1' lastname = 'lastname9' nr = '00009' )
|
||||
( city = 'Paris' name = 'Hermine2' lastname = 'lastname10' nr = '00010' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' )
|
||||
( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_rendering.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Value Help Examples'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = 'https://twitter.com/OblomovDev/status/1637470531136921600'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(form) = page->grid( 'L7 M7 S7'
|
||||
)->content( 'layout'
|
||||
)->simple_form( 'Input with Value Help'
|
||||
)->content( 'form' ).
|
||||
|
||||
form->label( 'Input with sugestion items'
|
||||
)->input(
|
||||
value = client->_bind( screen-color_01 )
|
||||
placeholder = 'fill in your favorite colour'
|
||||
suggestionitems = client->_bind_one( mt_suggestion )
|
||||
showsuggestion = abap_true )->get(
|
||||
)->suggestion_items( )->get(
|
||||
)->list_item(
|
||||
text = '{VALUE}'
|
||||
additionaltext = '{DESCR}' ).
|
||||
|
||||
form->label( 'Input only numbers allowed'
|
||||
)->input(
|
||||
value = client->_bind( screen-quantity )
|
||||
type = 'Number'
|
||||
placeholder = 'quantity' ).
|
||||
|
||||
form->label( 'Input with F4'
|
||||
)->input(
|
||||
value = client->_bind( screen-color_02 )
|
||||
placeholder = 'fill in your favorite colour'
|
||||
showvaluehelp = abap_true
|
||||
valuehelprequest = client->_event( 'POPUP_TABLE_F4' ) ).
|
||||
|
||||
form->label( 'Custom F4 Popup'
|
||||
)->input(
|
||||
value = client->_bind( screen-name )
|
||||
placeholder = 'name'
|
||||
showvaluehelp = abap_true
|
||||
valuehelprequest = client->_event( 'POPUP_TABLE_F4_CUSTOM' )
|
||||
)->input(
|
||||
value = client->_bind( screen-lastname )
|
||||
placeholder = 'lastname'
|
||||
showvaluehelp = abap_true
|
||||
valuehelprequest = client->_event( 'POPUP_TABLE_F4_CUSTOM' ) ).
|
||||
|
||||
page->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Clear'
|
||||
press = client->_event( 'BUTTON_CLEAR' )
|
||||
type = 'Reject'
|
||||
enabled = abap_false
|
||||
icon = 'sap-icon://delete'
|
||||
)->button(
|
||||
text = 'Send to Server'
|
||||
press = client->_event( 'BUTTON_SEND' )
|
||||
enabled = abap_false
|
||||
type = 'Success' ).
|
||||
|
||||
DATA(popup) = Z2UI5_CL_XML_VIEW=>factory( ).
|
||||
CASE mv_view_popup.
|
||||
|
||||
WHEN 'POPUP_TABLE_F4'.
|
||||
|
||||
popup = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog( 'abap2UI5 - F4 Value Help'
|
||||
)->table(
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind( mt_suggestion_sel )
|
||||
)->columns(
|
||||
)->column( '20rem'
|
||||
)->text( 'Color' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Description'
|
||||
)->get_parent( )->get_parent(
|
||||
)->items(
|
||||
)->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{VALUE}'
|
||||
)->text( '{DESCR}'
|
||||
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
||||
)->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'continue'
|
||||
press = client->_event( 'POPUP_TABLE_F4_CONTINUE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
WHEN 'POPUP_TABLE_F4_CUSTOM'.
|
||||
|
||||
popup = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog( 'abap2UI5 - F4 Value Help' ).
|
||||
|
||||
popup->simple_form(
|
||||
)->label( 'Location'
|
||||
)->input(
|
||||
value = client->_bind( screen-city )
|
||||
suggestionitems = client->_bind_one( mt_suggestion_city )
|
||||
showsuggestion = abap_true )->get(
|
||||
)->suggestion_items( )->get(
|
||||
)->list_item(
|
||||
text = '{VALUE}'
|
||||
additionaltext = '{DESCR}'
|
||||
)->get_parent( )->get_parent(
|
||||
)->button(
|
||||
text = 'search...'
|
||||
press = client->_event( 'SEARCH' ) ).
|
||||
|
||||
DATA(tab) = popup->table(
|
||||
headertext = 'Employees'
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind( mt_employees_sel ) ).
|
||||
|
||||
tab->columns(
|
||||
)->column( '10rem'
|
||||
)->text( 'City' )->get_parent(
|
||||
)->column( '10rem'
|
||||
)->text( 'Nr' )->get_parent(
|
||||
)->column( '15rem'
|
||||
)->text( 'Name' )->get_parent(
|
||||
)->column( '30rem'
|
||||
)->text( 'Lastname' )->get_parent( ).
|
||||
|
||||
tab->items( )->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{CITY}'
|
||||
)->text( '{NR}'
|
||||
)->text( '{NAME}'
|
||||
)->text( '{LASTNAME}' ).
|
||||
|
||||
popup->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'continue'
|
||||
press = client->_event( 'POPUP_TABLE_F4_CUSTOM_CONTINUE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( VALUE #(
|
||||
xml_main = page->get_root( )->xml_get( )
|
||||
xml_popup = popup->get_root( )->xml_get( )
|
||||
) ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_09</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>selscreen - value help</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,92 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_10 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_10 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
CASE client->get( )-event.
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Demo Layout'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
).
|
||||
|
||||
page->header_content(
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link(
|
||||
text = 'link' target = '_blank'
|
||||
href = 'https://twitter.com/OblomovDev'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
).
|
||||
|
||||
page->sub_header(
|
||||
)->overflow_toolbar(
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev'
|
||||
)->toolbar_spacer(
|
||||
)->text( 'subheader'
|
||||
)->toolbar_spacer(
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev' ).
|
||||
|
||||
DATA(grid) = page->grid( 'L4 M4 S4' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( 'Grid width 33%' )->content( 'form'
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev' ).
|
||||
|
||||
grid->simple_form( 'Grid width 33%' )->content( 'form'
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev' ).
|
||||
|
||||
grid->simple_form( 'Grid width 33%' )->content( 'form'
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev' ).
|
||||
|
||||
grid = page->grid( 'L12 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( 'grid width 100%' )->content( 'form'
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev' ).
|
||||
|
||||
page->footer(
|
||||
)->overflow_toolbar(
|
||||
)->button( text = 'button'
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev'
|
||||
)->toolbar_spacer(
|
||||
)->text( 'footer'
|
||||
)->toolbar_spacer(
|
||||
)->text( 'text'
|
||||
)->link( text = 'link' href = 'https://twitter.com/OblomovDev'
|
||||
)->button( text = 'reject' type = 'Reject'
|
||||
)->button( text = 'accept' type = 'Success' ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_10</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - layout</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,137 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_11 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
selkz TYPE abap_bool,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
DATA check_editable_active TYPE abap_bool.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_11 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
check_editable_active = abap_false.
|
||||
t_tab = VALUE #(
|
||||
( title = 'entry 01' value = 'red' info = 'completed' descr = 'this is a description' checkbox = abap_true )
|
||||
( title = 'entry 02' value = 'blue' info = 'completed' descr = 'this is a description' checkbox = abap_true )
|
||||
( title = 'entry 03' value = 'green' info = 'completed' descr = 'this is a description' checkbox = abap_true )
|
||||
( title = 'entry 04' value = 'orange' info = 'completed' descr = 'this is a description' checkbox = abap_true )
|
||||
( title = 'entry 05' value = 'grey' info = 'completed' descr = 'this is a description' checkbox = abap_true ) ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_EDIT'.
|
||||
check_editable_active = xsdbool( check_editable_active = abap_false ).
|
||||
|
||||
WHEN 'BUTTON_DELETE'.
|
||||
DELETE t_tab WHERE selkz = abap_true.
|
||||
|
||||
WHEN 'BUTTON_ADD'.
|
||||
INSERT VALUE #( ) INTO TABLE t_tab.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Tables and editable'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = 'https://twitter.com/OblomovDev/status/1630240894581608448'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(tab) = page->table(
|
||||
items = client->_bind( t_tab )
|
||||
mode = 'MultiSelect'
|
||||
)->header_toolbar(
|
||||
)->overflow_toolbar(
|
||||
)->title( 'title of the table'
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
icon = 'sap-icon://delete'
|
||||
text = 'delete selected row'
|
||||
press = client->_event( 'BUTTON_DELETE' )
|
||||
)->button(
|
||||
icon = 'sap-icon://add'
|
||||
text = 'add'
|
||||
press = client->_event( 'BUTTON_ADD' )
|
||||
)->button(
|
||||
icon = 'sap-icon://edit'
|
||||
text = SWITCH #( check_editable_active WHEN abap_true THEN |display| ELSE |edit| )
|
||||
press = client->_event( 'BUTTON_EDIT' )
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
tab->columns(
|
||||
)->column(
|
||||
)->text( 'Title' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Color' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Info' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Description' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Checkbox' ).
|
||||
|
||||
IF check_editable_active = abap_true.
|
||||
|
||||
tab->items( )->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->input( '{TITLE}'
|
||||
)->input( '{VALUE}'
|
||||
)->input( '{INFO}'
|
||||
)->input( '{DESCR}'
|
||||
)->checkbox( '{CHECKBOX}' ).
|
||||
|
||||
ELSE.
|
||||
|
||||
tab->items( )->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{TITLE}'
|
||||
)->text( '{VALUE}'
|
||||
)->text( '{INFO}'
|
||||
)->text( '{DESCR}'
|
||||
)->checkbox(
|
||||
selected = '{CHECKBOX}'
|
||||
enabled = abap_false ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
client->set_next( value #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_11</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>tab - editable</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,184 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_12 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_popup_view TYPE string.
|
||||
DATA mv_main_view TYPE string.
|
||||
DATA mv_check_initialized TYPE abap_bool.
|
||||
DATA mv_set_prev_view TYPE abap_bool.
|
||||
|
||||
DATA mv_check_popup TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_12 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF mv_check_initialized = abap_false.
|
||||
mv_check_initialized = abap_true.
|
||||
mv_main_view = 'MAIN'.
|
||||
ENDIF.
|
||||
|
||||
mv_set_prev_view = ''.
|
||||
mv_popup_view = ''.
|
||||
|
||||
IF mv_check_popup = abap_true.
|
||||
mv_check_popup = abap_false.
|
||||
DATA(app) = CAST z2ui5_cl_app_demo_20( client->get_app( client->get( )-id_prev_app ) ).
|
||||
client->popup_message_toast( app->mv_event && ` pressed` ).
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_POPUP_01'.
|
||||
mv_popup_view = 'POPUP_DECIDE'.
|
||||
mv_main_view = ''.
|
||||
|
||||
WHEN 'POPUP_DECIDE_CONTINUE'.
|
||||
mv_main_view = 'MAIN'.
|
||||
client->popup_message_toast( 'continue pressed' ).
|
||||
|
||||
WHEN 'POPUP_DECIDE_CANCEL'.
|
||||
mv_main_view = 'MAIN'.
|
||||
client->popup_message_toast( 'cancel pressed' ).
|
||||
|
||||
WHEN 'BUTTON_POPUP_02'.
|
||||
mv_main_view = 'MAIN'.
|
||||
mv_popup_view = 'POPUP_DECIDE'.
|
||||
|
||||
WHEN 'BUTTON_POPUP_03'.
|
||||
mv_main_view = 'MAIN'.
|
||||
mv_popup_view = 'POPUP_INFO_FRONTEND_CLOSE'.
|
||||
|
||||
WHEN 'BUTTON_POPUP_04'.
|
||||
mv_main_view = ``.
|
||||
mv_popup_view = 'POPUP_DECIDE'.
|
||||
|
||||
WHEN 'BUTTON_POPUP_05'.
|
||||
mv_check_popup = abap_true.
|
||||
client->nav_app_call( z2ui5_cl_app_demo_20=>factory(
|
||||
i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back'
|
||||
i_cancel_text = 'Cancel '
|
||||
i_cancel_event = 'POPUP_DECIDE_CANCEL'
|
||||
i_confirm_text = 'Continue'
|
||||
i_confirm_event = 'POPUP_DECIDE_CONTINUE'
|
||||
) ).
|
||||
RETURN.
|
||||
|
||||
WHEN 'BUTTON_POPUP_06'.
|
||||
mv_check_popup = abap_true.
|
||||
client->nav_app_call( z2ui5_cl_app_demo_20=>factory(
|
||||
i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back'
|
||||
i_cancel_text = 'Cancel'
|
||||
i_cancel_event = 'POPUP_DECIDE_CANCEL'
|
||||
i_confirm_text = 'Continue'
|
||||
i_confirm_event = 'POPUP_DECIDE_CONTINUE' ) ).
|
||||
RETURN.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(lo_main) = z2ui5_cl_xml_view=>factory( )->shell( ).
|
||||
|
||||
CASE mv_main_view.
|
||||
|
||||
WHEN 'MAIN'.
|
||||
|
||||
DATA(page) = lo_main->page(
|
||||
title = 'abap2UI5 - Popups'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L7 M12 S12' )->content( 'layout'
|
||||
)->simple_form( 'Popup in same App' )->content( 'form'
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, no background rendering'
|
||||
press = client->_event( 'BUTTON_POPUP_01' )
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, background rendering'
|
||||
press = client->_event( 'BUTTON_POPUP_02' )
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, background rendering - close (no roundtrip)'
|
||||
press = client->_event( 'BUTTON_POPUP_03' )
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, hold background view'
|
||||
press = client->_event( val = 'BUTTON_POPUP_04' hold_view = abap_true )
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
grid->simple_form( 'Popup in new App' )->content( 'form'
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, no background'
|
||||
press = client->_event( 'BUTTON_POPUP_05' )
|
||||
)->label( 'Demo'
|
||||
)->button(
|
||||
text = 'popup rendering, hold previous view'
|
||||
press = client->_event( val = 'BUTTON_POPUP_06' hold_view = abap_true ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
|
||||
CASE mv_popup_view.
|
||||
|
||||
WHEN 'POPUP_DECIDE'.
|
||||
|
||||
lo_popup->dialog( 'Popup - Decide'
|
||||
)->vbox(
|
||||
)->text( 'this is a popup to decide, you have to make a decision now...'
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'POPUP_DECIDE_CANCEL' )
|
||||
)->button(
|
||||
text = 'Continue'
|
||||
press = client->_event( 'POPUP_DECIDE_CONTINUE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
WHEN 'POPUP_INFO_FRONTEND_CLOSE'.
|
||||
|
||||
lo_popup->dialog( 'Popup - Info'
|
||||
)->vbox(
|
||||
)->text( 'this is an information, press close to go back to the main view without a server roundtrip'
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'close'
|
||||
press = client->_event_close_popup( )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(ls_next) = VALUE z2ui5_if_client=>ty_s_next(
|
||||
xml_main = lo_main->get_root( )->xml_get( )
|
||||
xml_popup = COND #( WHEN mv_popup_view IS NOT INITIAL THEN lo_popup->get_root( )->xml_get( ) )
|
||||
).
|
||||
IF mv_main_view = ``.
|
||||
ls_next-xml_main = ``.
|
||||
ENDIF.
|
||||
client->set_next( ls_next ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_12</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - popups and flow</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,377 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_13 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_spfli,
|
||||
selkz TYPE abap_bool,
|
||||
carrid TYPE c LENGTH 3,
|
||||
connid TYPE n LENGTH 4,
|
||||
countryfr TYPE c LENGTH 3,
|
||||
cityfrom TYPE c LENGTH 20,
|
||||
airpfrom TYPE c LENGTH 3,
|
||||
countryto TYPE c LENGTH 3,
|
||||
cityto TYPE c LENGTH 20,
|
||||
airpto TYPE c LENGTH 3,
|
||||
END OF ty_s_spfli.
|
||||
|
||||
TYPES ty_t_table TYPE STANDARD TABLE OF ty_s_spfli WITH EMPTY KEY.
|
||||
|
||||
DATA mv_view TYPE string.
|
||||
|
||||
DATA:
|
||||
BEGIN OF ms_import,
|
||||
t_table TYPE ty_t_table,
|
||||
segment_key TYPE string,
|
||||
editor TYPE string,
|
||||
END OF ms_import.
|
||||
|
||||
DATA:
|
||||
BEGIN OF ms_export,
|
||||
t_table TYPE ty_t_table,
|
||||
segment_key TYPE string,
|
||||
editor TYPE string,
|
||||
END OF ms_export.
|
||||
|
||||
DATA:
|
||||
BEGIN OF ms_edit,
|
||||
t_table TYPE ty_t_table,
|
||||
check_active TYPE abap_bool,
|
||||
END OF ms_edit.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
"dummy helper - not needed when using db
|
||||
DATA st_db TYPE ty_t_table.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
METHODS z2ui5_on_event
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS z2ui5_on_render_view_import
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS z2ui5_on_render_view_edit
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS z2ui5_on_render_view_export
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_13 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
"dummy helper - not needed when using db
|
||||
lcl_db=>app = me.
|
||||
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
ms_import-segment_key = 'json'.
|
||||
ms_import-editor = lcl_db=>get_test_data_json( ).
|
||||
ms_export-segment_key = 'json'.
|
||||
mv_view = 'IMPORT_TABLE'.
|
||||
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_event( client ).
|
||||
|
||||
CASE mv_view.
|
||||
WHEN 'IMPORT_TABLE'.
|
||||
z2ui5_on_render_view_import( client ).
|
||||
WHEN 'EDIT_TABLE'.
|
||||
z2ui5_on_render_view_edit( client ).
|
||||
WHEN 'EXPORT_TABLE'.
|
||||
z2ui5_on_render_view_export( client ).
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'IMPORT_DB'.
|
||||
ms_import-t_table = SWITCH #( ms_import-segment_key
|
||||
WHEN 'json' THEN lcl_db=>get_table_by_json( ms_import-editor )
|
||||
WHEN 'csv' THEN lcl_db=>get_table_by_csv( ms_import-editor )
|
||||
WHEN 'xml' THEN lcl_db=>get_table_by_xml( ms_import-editor ) ).
|
||||
|
||||
lcl_db=>db_save( ms_import-t_table ).
|
||||
client->popup_message_box( 'Table data imported successfully' ).
|
||||
|
||||
WHEN 'EXPORT_DB'.
|
||||
ms_export-t_table = lcl_db=>db_read( ).
|
||||
ms_export-editor = SWITCH #( ms_export-segment_key
|
||||
WHEN 'json' THEN lcl_db=>get_json_by_table( ms_export-t_table )
|
||||
WHEN 'csv' THEN lcl_db=>get_csv_by_table( ms_export-t_table )
|
||||
WHEN 'xml' THEN lcl_db=>get_xml_by_table( ms_export-t_table ) ).
|
||||
|
||||
client->popup_message_box( 'Table data exported successfully' ).
|
||||
|
||||
WHEN 'IMPORT_CLEAR'.
|
||||
CLEAR ms_import-editor.
|
||||
|
||||
WHEN 'EDIT_DB_READ'.
|
||||
ms_edit-t_table = lcl_db=>db_read( ).
|
||||
client->popup_message_box( 'Table read successfully' ).
|
||||
|
||||
WHEN 'EDIT_DB_SAVE'.
|
||||
lcl_db=>db_save( ms_edit-t_table ).
|
||||
client->popup_message_box( 'Table data saved to database successfully' ).
|
||||
|
||||
WHEN 'EDIT_ROW_DELETE'.
|
||||
DELETE ms_edit-t_table WHERE selkz = abap_true.
|
||||
|
||||
WHEN 'EDIT_CHANGE_MODE'.
|
||||
ms_edit-check_active = xsdbool( ms_edit-check_active = abap_false ).
|
||||
|
||||
WHEN 'EDIT_ROW_ADD'.
|
||||
INSERT VALUE #( ) INTO TABLE ms_edit-t_table.
|
||||
|
||||
WHEN 'BTN_IMPORT'.
|
||||
mv_view = 'IMPORT_TABLE'.
|
||||
WHEN 'BTN_EDIT'.
|
||||
mv_view = 'EDIT_TABLE'.
|
||||
WHEN 'BTN_EXPORT'.
|
||||
mv_view = 'EXPORT_TABLE'.
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_view_edit.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2ui5 - Table Maintenance'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = `https://twitter.com/OblomovDev/status/1634206964291911682`
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->sub_header(
|
||||
)->overflow_toolbar(
|
||||
)->button(
|
||||
text = '(1) Import Data'
|
||||
press = client->_event( 'BTN_IMPORT' )
|
||||
)->button(
|
||||
text = '(2) Edit Data'
|
||||
press = client->_event( 'BTN_EDIT' )
|
||||
enabled = abap_false
|
||||
)->button(
|
||||
text = '(3) Export Data'
|
||||
press = client->_event( 'BTN_EXPORT' )
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L7 M7 S7' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( '2. Edit Data'
|
||||
)->content( 'form'
|
||||
)->label( 'Table'
|
||||
)->input( 'SPFLI' ).
|
||||
|
||||
grid = page->grid( 'L12 M12 S12' )->content( 'layout' ).
|
||||
|
||||
DATA(cont) = grid->simple_form( )->content( 'form' ).
|
||||
|
||||
cont->overflow_toolbar(
|
||||
)->button(
|
||||
text = 'Reload'
|
||||
icon = 'sap-icon://refresh'
|
||||
press = client->_event( 'EDIT_DB_READ' )
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Delete Row'
|
||||
icon = 'sap-icon://delete'
|
||||
press = client->_event( 'EDIT_ROW_DELETE' )
|
||||
)->button(
|
||||
text = 'Add Row'
|
||||
icon = 'sap-icon://add'
|
||||
press = client->_event( 'EDIT_ROW_ADD' ) ).
|
||||
|
||||
DATA(scroll) = cont->scroll_container( vertical = abap_true horizontal = abap_true ).
|
||||
|
||||
DATA(tab) = scroll->table(
|
||||
width = '100rem'
|
||||
items = client->_bind( ms_edit-t_table )
|
||||
mode = 'MultiSelect' ).
|
||||
|
||||
DATA(lt_fields) = lcl_db=>get_fieldlist_by_table( ms_edit-t_table ).
|
||||
|
||||
DATA(lo_columns) = tab->columns( ).
|
||||
LOOP AT lt_fields INTO DATA(lv_field) FROM 2.
|
||||
lo_columns->column( )->text( lv_field ).
|
||||
ENDLOOP.
|
||||
|
||||
DATA(lo_cells) = tab->items( )->column_list_item( selected = '{SELKZ}' )->cells( ).
|
||||
LOOP AT lt_fields INTO lv_field FROM 2.
|
||||
lo_cells->input( `{` && lv_field && `}` ).
|
||||
ENDLOOP.
|
||||
|
||||
page->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Save'
|
||||
press = client->_event( 'EDIT_DB_SAVE' )
|
||||
type = 'Emphasized'
|
||||
icon = 'sap-icon://upload-to-cloud' ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_view_export.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2ui5 - Table Maintenance'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo'
|
||||
href = `https://twitter.com/OblomovDev/status/1634206964291911682`
|
||||
)->link(
|
||||
text = 'Source_Code'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->sub_header(
|
||||
)->overflow_toolbar(
|
||||
)->button(
|
||||
text = '(1) Import Data'
|
||||
press = client->_event( 'BTN_IMPORT' )
|
||||
)->button(
|
||||
text = '(2) Edit Data'
|
||||
press = client->_event( 'BTN_EDIT' )
|
||||
)->button(
|
||||
text = '(3) Export Data'
|
||||
press = client->_event( 'BTN_EXPORT' )
|
||||
enabled = abap_false
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L7 M7 S7' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( '3. Export Data'
|
||||
)->content( 'form'
|
||||
)->label( 'Table'
|
||||
)->input( 'SPFLI'
|
||||
)->label( 'Format'
|
||||
)->segmented_button( client->_bind( ms_export-segment_key )
|
||||
)->items(
|
||||
)->segmented_button_item( key = 'json' text = 'json'
|
||||
)->segmented_button_item( key = 'csv' text = 'csv'
|
||||
)->segmented_button_item( key = 'xml' text = 'xml' ).
|
||||
|
||||
grid = page->grid( 'L12 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->scroll_container( '75%'
|
||||
)->code_editor(
|
||||
type = COND #( WHEN ms_export-segment_key = 'csv' THEN |plain_text| ELSE ms_import-segment_key )
|
||||
value = client->_bind( ms_export-editor )
|
||||
editable = abap_false ).
|
||||
|
||||
page->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Export'
|
||||
press = client->_event( 'EXPORT_DB' )
|
||||
type = 'Emphasized'
|
||||
icon = 'sap-icon://download-from-cloud' ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_view_import.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Table Maintenance'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo'
|
||||
href = `https://twitter.com/OblomovDev/status/1634206964291911682`
|
||||
)->link(
|
||||
text = 'Source_Code'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->sub_header(
|
||||
)->overflow_toolbar(
|
||||
)->button(
|
||||
text = '(1) Import Data'
|
||||
press = client->_event( 'BTN_IMPORT' )
|
||||
enabled = abap_false
|
||||
)->button(
|
||||
text = '(2) Edit Data'
|
||||
press = client->_event( 'BTN_EDIT' )
|
||||
)->button(
|
||||
text = '(3) Export Data'
|
||||
press = client->_event( 'BTN_EXPORT' )
|
||||
)->get_parent( )->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L7 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( '1. Import Data'
|
||||
)->content( 'form'
|
||||
)->label( 'Table'
|
||||
)->input( 'SPFLI'
|
||||
)->label( 'Format'
|
||||
)->segmented_button( client->_bind( ms_import-segment_key ) )->get(
|
||||
)->items( )->get(
|
||||
)->segmented_button_item( key = 'json' text = 'json'
|
||||
)->segmented_button_item( key = 'csv' text = 'csv'
|
||||
)->segmented_button_item( key = 'xml' text = 'xml' ).
|
||||
|
||||
grid = page->grid( 'L12 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->scroll_container( '75%'
|
||||
)->code_editor(
|
||||
type = COND #( WHEN ms_import-segment_key = 'csv' THEN |plain_text| ELSE ms_import-segment_key )
|
||||
value = client->_bind( ms_import-editor )
|
||||
editable = abap_true ).
|
||||
|
||||
page->footer( )->overflow_toolbar(
|
||||
)->button(
|
||||
text = 'Clear'
|
||||
press = client->_event( 'IMPORT_CLEAR' )
|
||||
icon = 'sap-icon://delete'
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Import'
|
||||
press = client->_event( 'IMPORT_DB' )
|
||||
type = 'Emphasized'
|
||||
icon = 'sap-icon://upload-to-cloud' ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,312 +0,0 @@
|
|||
CLASS lcl_db DEFINITION.
|
||||
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
|
||||
TYPES ty_t_table TYPE z2ui5_cl_app_demo_13=>ty_t_table.
|
||||
|
||||
CLASS-DATA app TYPE REF TO z2ui5_cl_app_demo_13.
|
||||
"CLASS-DATA st_table TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS generate_test_data.
|
||||
|
||||
CLASS-METHODS get_table_by_json
|
||||
IMPORTING
|
||||
val TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS get_table_by_xml
|
||||
IMPORTING
|
||||
val TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS get_table_by_csv
|
||||
IMPORTING
|
||||
val TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS get_csv_by_table
|
||||
IMPORTING
|
||||
val TYPE ty_t_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
CLASS-METHODS get_xml_by_table
|
||||
IMPORTING
|
||||
val TYPE ty_t_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
CLASS-METHODS get_json_by_table
|
||||
IMPORTING
|
||||
val TYPE ty_t_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
CLASS-METHODS get_fieldlist_by_table
|
||||
IMPORTING
|
||||
it_table TYPE ty_t_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string_table.
|
||||
|
||||
CLASS-METHODS db_save
|
||||
IMPORTING
|
||||
value TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS db_read
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
CLASS-METHODS get_test_data_json
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_db IMPLEMENTATION.
|
||||
|
||||
METHOD generate_test_data.
|
||||
|
||||
app->st_db = VALUE #(
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_table_by_json.
|
||||
|
||||
DATA lt_tab TYPE ty_t_table.
|
||||
|
||||
/ui2/cl_json=>deserialize(
|
||||
EXPORTING
|
||||
json = val
|
||||
* jsonx =
|
||||
* pretty_name =
|
||||
* assoc_arrays =
|
||||
* assoc_arrays_opt =
|
||||
* name_mappings =
|
||||
* conversion_exits =
|
||||
* hex_as_base64 =
|
||||
CHANGING
|
||||
data = lt_tab
|
||||
).
|
||||
|
||||
result = lt_tab.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_table_by_xml.
|
||||
|
||||
DATA lt_tab TYPE ty_t_table.
|
||||
|
||||
CALL TRANSFORMATION id SOURCE xml = val RESULT data = lt_tab.
|
||||
|
||||
result = lt_tab.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_table_by_csv.
|
||||
|
||||
SPLIT val AT ';' INTO TABLE DATA(lt_cols).
|
||||
|
||||
LOOP AT lt_cols INTO DATA(lv_field).
|
||||
|
||||
DATA(ls_row) = VALUE z2ui5_cl_app_demo_13=>ty_s_spfli( ).
|
||||
DATA(lv_index) = 1.
|
||||
DO.
|
||||
ASSIGN COMPONENT lv_index OF STRUCTURE ls_row TO FIELD-SYMBOL(<field>).
|
||||
IF sy-subrc <> 0.
|
||||
EXIT.
|
||||
ENDIF.
|
||||
<field> = lv_field.
|
||||
lv_index = lv_index + 1.
|
||||
ENDDO.
|
||||
INSERT ls_row INTO TABLE result.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD db_save.
|
||||
|
||||
"normally modify database here
|
||||
|
||||
"test scenario, therefore write internal table instead
|
||||
app->st_db = value.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD db_read.
|
||||
|
||||
"normally read database here
|
||||
|
||||
"test scenario, therefore read internal table instead
|
||||
|
||||
result = app->st_db.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_csv_by_table.
|
||||
|
||||
LOOP AT val INTO DATA(ls_row).
|
||||
|
||||
DATA(lv_index) = 1.
|
||||
DO.
|
||||
ASSIGN COMPONENT lv_index OF STRUCTURE ls_row TO FIELD-SYMBOL(<field>).
|
||||
IF sy-subrc <> 0.
|
||||
EXIT.
|
||||
ENDIF.
|
||||
lv_index = lv_index + 1.
|
||||
result = result && <field> && ';'.
|
||||
ENDDO.
|
||||
result = result && cl_abap_char_utilities=>cr_lf.
|
||||
ENDLOOP.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_json_by_table.
|
||||
|
||||
result = /ui2/cl_json=>serialize(
|
||||
val
|
||||
* compress =
|
||||
* name =
|
||||
* pretty_name =
|
||||
* type_descr =
|
||||
* assoc_arrays =
|
||||
* ts_as_iso8601 =
|
||||
* expand_includes =
|
||||
* assoc_arrays_opt =
|
||||
* numc_as_string =
|
||||
* name_mappings =
|
||||
* conversion_exits =
|
||||
" format_output = abap_true
|
||||
* hex_as_base64 =
|
||||
).
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_xml_by_table.
|
||||
|
||||
CALL TRANSFORMATION id SOURCE values = val RESULT XML result.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_fieldlist_by_table.
|
||||
|
||||
DATA(lo_tab) = CAST cl_abap_tabledescr( cl_abap_datadescr=>describe_by_data( it_table ) ).
|
||||
DATA(lo_struc) = CAST cl_abap_structdescr( lo_tab->get_table_line_type( ) ).
|
||||
|
||||
DATA(lt_comp) = lo_struc->get_components( ).
|
||||
|
||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||
INSERT ls_comp-name INTO TABLE result.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_test_data_json.
|
||||
|
||||
result = `[` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
`]`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_13</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo - table maintenance</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,109 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_14 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_type TYPE string.
|
||||
DATA mv_path TYPE string.
|
||||
DATA mv_editor TYPE string.
|
||||
DATA mv_check_editable TYPE abap_bool.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_14 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
mv_path = '../../demo/text'.
|
||||
mv_type = 'plain_text'.
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'DB_LOAD'.
|
||||
|
||||
mv_editor = COND #(
|
||||
WHEN mv_path CS 'abap' THEN lcl_mime_api=>read_abap( )
|
||||
WHEN mv_path CS 'json' THEN lcl_mime_api=>read_json( )
|
||||
WHEN mv_path CS 'yaml' THEN lcl_mime_api=>read_yaml( )
|
||||
WHEN mv_path CS 'text' THEN lcl_mime_api=>read_text( )
|
||||
WHEN mv_path CS 'js' THEN lcl_mime_api=>read_js( )
|
||||
).
|
||||
client->popup_message_toast( 'Download successfull' ).
|
||||
|
||||
WHEN 'DB_SAVE'.
|
||||
lcl_mime_api=>save_data( ).
|
||||
client->popup_message_box( text = 'Upload successfull. File saved!' type = 'success' ).
|
||||
WHEN 'EDIT'.
|
||||
mv_check_editable = xsdbool( mv_check_editable = abap_false ).
|
||||
WHEN 'CLEAR'.
|
||||
mv_editor = ``.
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell( )->page(
|
||||
title = 'abap2UI5 - MIME Editor'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = 'https://twitter.com/OblomovDev/status/1631562906570575875'
|
||||
)->link( text = 'Source_Code' target = '_blank' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L7 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( title = 'File' editable = abap_true )->content( 'form'
|
||||
)->label( 'path'
|
||||
)->input( client->_bind( mv_path )
|
||||
)->label( 'Option'
|
||||
)->input(
|
||||
value = client->_bind( mv_type )
|
||||
suggestionitems = client->_bind_one( lcl_mime_api=>get_editor_type( ) ) )->get(
|
||||
)->suggestion_items(
|
||||
)->list_item( text = '{NAME}' additionaltext = '{VALUE}'
|
||||
)->get_parent( )->get_parent(
|
||||
)->button(
|
||||
text = 'Download'
|
||||
press = client->_event( 'DB_LOAD' )
|
||||
icon = 'sap-icon://download-from-cloud' ).
|
||||
|
||||
grid = page->grid( 'L12 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( 'Editor' )->content( 'form'
|
||||
)->scroll_container( '75%'
|
||||
)->code_editor(
|
||||
type = mv_type
|
||||
editable = mv_check_editable
|
||||
value = client->_bind( mv_editor ) ).
|
||||
|
||||
page->footer( )->overflow_toolbar(
|
||||
)->button(
|
||||
text = 'Clear'
|
||||
press = client->_event( 'CLEAR' )
|
||||
icon = 'sap-icon://delete'
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Edit'
|
||||
press = client->_event( 'EDIT' )
|
||||
icon = 'sap-icon://edit'
|
||||
)->button(
|
||||
text = 'Upload'
|
||||
press = client->_event( 'DB_SAVE' )
|
||||
type = 'Emphasized'
|
||||
icon = 'sap-icon://upload-to-cloud'
|
||||
enabled = xsdbool( mv_editor IS NOT INITIAL ) ).
|
||||
|
||||
client->set_next( value #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,190 +0,0 @@
|
|||
CLASS lcl_mime_api DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS read_abap
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_json
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_js
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_yaml
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_text
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_suggest,
|
||||
name TYPE string,
|
||||
value TYPE string,
|
||||
END OF ty_s_suggest.
|
||||
TYPES ty_t_suggest TYPE STANDARD TABLE OF ty_s_suggest WITH EMPTY KEY.
|
||||
|
||||
CLASS-METHODS get_editor_type
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE ty_t_suggest.
|
||||
CLASS-METHODS save_data.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_mime_api IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD read_abap.
|
||||
|
||||
r_result = `METHOD SELECT_FILES.` && |\n| &&
|
||||
|\n| &&
|
||||
` DATA: LV_RET_CODE TYPE I,` && |\n| &&
|
||||
` LV_USR_AXN TYPE I.` && |\n| &&
|
||||
|\n| &&
|
||||
` CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG(` && |\n| &&
|
||||
` EXPORTING` && |\n| &&
|
||||
` WINDOW_TITLE = 'Select file'` && |\n| &&
|
||||
` MULTISELECTION = 'X'` && |\n| &&
|
||||
` CHANGING` && |\n| &&
|
||||
` FILE_TABLE = ME->PT_FILETAB` && |\n| &&
|
||||
` RC = LV_RET_CODE` && |\n| &&
|
||||
` USER_ACTION = LV_USR_AXN` && |\n| &&
|
||||
` EXCEPTIONS` && |\n| &&
|
||||
` FILE_OPEN_DIALOG_FAILED = 1` && |\n| &&
|
||||
` CNTL_ERROR = 2` && |\n| &&
|
||||
` ERROR_NO_GUI = 3` && |\n| &&
|
||||
` NOT_SUPPORTED_BY_GUI = 4` && |\n| &&
|
||||
` OTHERS = 5` && |\n| &&
|
||||
` ).` && |\n| &&
|
||||
` IF SY-SUBRC <> 0 OR` && |\n| &&
|
||||
` LV_USR_AXN = CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.` && |\n| &&
|
||||
` RAISE EX_FILE_SEL_ERR.` && |\n| &&
|
||||
` ENDIF.` && |\n| &&
|
||||
|\n| &&
|
||||
` ENDMETHOD. `.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_json.
|
||||
|
||||
r_result = `{` && |\n| &&
|
||||
` "quiz": {` && |\n| &&
|
||||
` "sport": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "test" : false,` && |\n| &&
|
||||
` "question": "Which one is correct team name in NBA?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "New York Bulls",` && |\n| &&
|
||||
` "Los Angeles Kings",` && |\n| &&
|
||||
` "Golden State Warriros",` && |\n| &&
|
||||
` "Huston Rocket"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "Huston Rocket"` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "maths": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "question": "5 + 7 = ?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "10",` && |\n| &&
|
||||
` "11",` && |\n| &&
|
||||
` "12",` && |\n| &&
|
||||
` "13"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "12"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "q2": {` && |\n| &&
|
||||
` "question": true,` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "1",` && |\n| &&
|
||||
` "2",` && |\n| &&
|
||||
` "3",` && |\n| &&
|
||||
` "4"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": 487829` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_js.
|
||||
|
||||
r_result = `function showAlert() {` && |\n| &&
|
||||
` alert("Alert from JS file");` && |\n| &&
|
||||
`}` && |\n| &&
|
||||
|\n| &&
|
||||
`function updateHeading() {` && |\n| &&
|
||||
` document.getElementById('heading').innerHTML = 'Heading changed with JS';` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_yaml.
|
||||
|
||||
r_result = `# Employee records` && |\n| &&
|
||||
`- martin:` && |\n| &&
|
||||
` name: Martin Developer` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - python` && |\n| &&
|
||||
` - perl` && |\n| &&
|
||||
` - pascal` && |\n| &&
|
||||
`- tabitha:` && |\n| &&
|
||||
` name: Tabitha Bitumen` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - lisp` && |\n| &&
|
||||
` - fortran` && |\n| &&
|
||||
` - erlang`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_text.
|
||||
r_result = `TXT test file` && |\n| &&
|
||||
`Purpose: Provide example of this file type` && |\n| &&
|
||||
`Document file type: TXT` && |\n| &&
|
||||
`Version: 1.0` && |\n| &&
|
||||
`Remark:` && |\n| &&
|
||||
|\n| &&
|
||||
`Example content:` && |\n| &&
|
||||
`The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for children, or just "Doe" non-gender-specifically are used as placeholder names for a party whose true identity is unknown or mus` &&
|
||||
`t be withheld in a legal action, case, or discussion. The names are also used to refer to acorpse or hospital patient whose identity is unknown. This practice is widely used in the United States and Canada, but is rarely used in other English-speak` &&
|
||||
`ing countries including the United Kingdom itself, from where the use of "John Doe" in a legal context originates. The names Joe Bloggs or John Smith are used in the UK instead, as well as in Australia and New Zealand.` && |\n| &&
|
||||
|\n| &&
|
||||
`John Doe is sometimes used to refer to a typical male in other contexts as well, in a similar manner to John Q. Public, known in Great Britain as Joe Public, John Smith or Joe Bloggs. For example, the first name listed on a form is o` &&
|
||||
`ften John Doe, along with a fictional address or other fictional information to provide an example of how to fill in the form. The name is also used frequently in popular culture, for example in the Frank Capra film Meet John Doe. John Doe was also` &&
|
||||
` the name of a 2002 American television series.`.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_editor_type.
|
||||
|
||||
DATA(lv_types) = `abap, abc, actionscript, ada, apache_conf, applescript, asciidoc, assembly_x86, autohotkey, batchfile, bro, c9search, c_cpp, cirru, clojure, cobol, coffee, coldfusion, csharp, css, curly, d, dart, diff, django, dockerfile, ` &&
|
||||
`dot, drools, eiffel, yaml, ejs, elixir, elm, erlang, forth, fortran, ftl, gcode, gherkin, gitignore, glsl, gobstones, golang, groovy, haml, handlebars, haskell, haskell_cabal, haxe, hjson, html, html_elixir, html_ruby, ini, io, jack, jade, java, ja` &&
|
||||
`vascri` &&
|
||||
`pt, json, jsoniq, jsp, jsx, julia, kotlin, latex, lean, less, liquid, lisp, live_script, livescript, logiql, lsl, lua, luapage, lucene, makefile, markdown, mask, matlab, mavens_mate_log, maze, mel, mips_assembler, mipsassembler, mushcode, mysql, ni` &&
|
||||
`x, nsis, objectivec, ocaml, pascal, perl, pgsql, php, plain_text, powershell, praat, prolog, properties, protobuf, python, r, razor, rdoc, rhtml, rst, ruby, rust, sass, scad, scala, scheme, scss, sh, sjs, smarty, snippets, soy_template, space, sql,` &&
|
||||
` sqlserver, stylus, svg, swift, swig, tcl, tex, text, textile, toml, tsx, twig, typescript, vala, vbscript, velocity, verilog, vhdl, wollok, xml, xquery, terraform, slim, redshift, red, puppet, php_laravel_blade, mixal, jssm, fsharp, edifact,` &&
|
||||
` csp, cssound_score, cssound_orchestra, cssound_document`.
|
||||
SPLIT lv_types AT ',' INTO TABLE DATA(lt_types).
|
||||
|
||||
|
||||
r_result = VALUE #( FOR row IN lt_types ( name = shift_right( shift_left( row ) ) value = shift_right( shift_left( row ) ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD save_data.
|
||||
"save data here
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_14</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo - mime editor</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,57 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_15 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_html_text TYPE string.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_15 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
mv_html_text = `<h3>subheader</h3><p>link: <a href="https://www.sap.com" style="color:green; font-weight:600;">link to sap.com</a> - links open in ` &&
|
||||
`a new window.</p><p>paragraph: <strong>strong</strong> and <em>emphasized</em>.</p><p>list:</p><ul` &&
|
||||
`><li>list item 1</li><li>list item 2<ul><li>sub item 1</li><li>sub item 2</li></ul></li></ul><p>pre:</p><pre>abc def ghi</pre><p>code: <code>var el = document.getElementById("myId");</code></p><p>cite: <cite>a reference to a source</cite></p>` &&
|
||||
`<dl><dt>definition:</dt><dd>definition list of terms and descriptions</dd>`.
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
data(view) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Formatted Text'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->toolbar_spacer(
|
||||
)->link( text = 'Source_Code' target = '_blank' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->vbox( 'sapUiSmallMargin'
|
||||
)->link(
|
||||
text = 'Control Documentation - SAP UI5 Formatted Text'
|
||||
href = 'https://sapui5.hana.ondemand.com/#/entity/sap.m.FormattedText/sample/sap.m.sample.FormattedText'
|
||||
)->get_parent(
|
||||
)->vbox( 'sapUiSmallMargin'
|
||||
)->formatted_text( mv_html_text ).
|
||||
|
||||
client->set_next( value #( xml_main = view->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,194 +0,0 @@
|
|||
CLASS lcl_mime_api DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS read_abap
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_json
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_js
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_yaml
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_text
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_suggest,
|
||||
name TYPE string,
|
||||
value TYPE string,
|
||||
END OF ty_s_suggest.
|
||||
TYPES ty_t_suggest TYPE STANDARD TABLE OF ty_s_suggest WITH EMPTY KEY.
|
||||
|
||||
CLASS-METHODS get_editor_type
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE ty_t_suggest.
|
||||
|
||||
CLASS-METHODS save_data
|
||||
IMPORTING
|
||||
i_mv_editor TYPE string.
|
||||
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_mime_api IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD read_abap.
|
||||
|
||||
r_result = `METHOD SELECT_FILES.` && |\n| &&
|
||||
|\n| &&
|
||||
` DATA: LV_RET_CODE TYPE I,` && |\n| &&
|
||||
` LV_USR_AXN TYPE I.` && |\n| &&
|
||||
|\n| &&
|
||||
` CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG(` && |\n| &&
|
||||
` EXPORTING` && |\n| &&
|
||||
` WINDOW_TITLE = 'Select file'` && |\n| &&
|
||||
` MULTISELECTION = 'X'` && |\n| &&
|
||||
` CHANGING` && |\n| &&
|
||||
` FILE_TABLE = ME->PT_FILETAB` && |\n| &&
|
||||
` RC = LV_RET_CODE` && |\n| &&
|
||||
` USER_ACTION = LV_USR_AXN` && |\n| &&
|
||||
` EXCEPTIONS` && |\n| &&
|
||||
` FILE_OPEN_DIALOG_FAILED = 1` && |\n| &&
|
||||
` CNTL_ERROR = 2` && |\n| &&
|
||||
` ERROR_NO_GUI = 3` && |\n| &&
|
||||
` NOT_SUPPORTED_BY_GUI = 4` && |\n| &&
|
||||
` OTHERS = 5` && |\n| &&
|
||||
` ).` && |\n| &&
|
||||
` IF SY-SUBRC <> 0 OR` && |\n| &&
|
||||
` LV_USR_AXN = CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.` && |\n| &&
|
||||
` RAISE EX_FILE_SEL_ERR.` && |\n| &&
|
||||
` ENDIF.` && |\n| &&
|
||||
|\n| &&
|
||||
` ENDMETHOD. `.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_json.
|
||||
|
||||
r_result = `{` && |\n| &&
|
||||
` "quiz": {` && |\n| &&
|
||||
` "sport": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "test" : false,` && |\n| &&
|
||||
` "question": "Which one is correct team name in NBA?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "New York Bulls",` && |\n| &&
|
||||
` "Los Angeles Kings",` && |\n| &&
|
||||
` "Golden State Warriros",` && |\n| &&
|
||||
` "Huston Rocket"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "Huston Rocket"` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "maths": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "question": "5 + 7 = ?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "10",` && |\n| &&
|
||||
` "11",` && |\n| &&
|
||||
` "12",` && |\n| &&
|
||||
` "13"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "12"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "q2": {` && |\n| &&
|
||||
` "question": true,` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "1",` && |\n| &&
|
||||
` "2",` && |\n| &&
|
||||
` "3",` && |\n| &&
|
||||
` "4"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": 487829` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_js.
|
||||
|
||||
r_result = `function showAlert() {` && |\n| &&
|
||||
` alert("Alert from JS file");` && |\n| &&
|
||||
`}` && |\n| &&
|
||||
|\n| &&
|
||||
`function updateHeading() {` && |\n| &&
|
||||
` document.getElementById('heading').innerHTML = 'Heading changed with JS';` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_yaml.
|
||||
|
||||
r_result = `# Employee records` && |\n| &&
|
||||
`- martin:` && |\n| &&
|
||||
` name: Martin Developer` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - python` && |\n| &&
|
||||
` - perl` && |\n| &&
|
||||
` - pascal` && |\n| &&
|
||||
`- tabitha:` && |\n| &&
|
||||
` name: Tabitha Bitumen` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - lisp` && |\n| &&
|
||||
` - fortran` && |\n| &&
|
||||
` - erlang`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_text.
|
||||
r_result = `TXT test file` && |\n| &&
|
||||
`Purpose: Provide example of this file type` && |\n| &&
|
||||
`Document file type: TXT` && |\n| &&
|
||||
`Version: 1.0` && |\n| &&
|
||||
`Remark:` && |\n| &&
|
||||
|\n| &&
|
||||
`Example content:` && |\n| &&
|
||||
`The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for children, or just "Doe" non-gender-specifically are used as placeholder names for a party whose true identity is unknown or mus` &&
|
||||
`t be withheld in a legal action, case, or discussion. The names are also used to refer to acorpse or hospital patient whose identity is unknown. This practice is widely used in the United States and Canada, but is rarely used in other English-speak` &&
|
||||
`ing countries including the United Kingdom itself, from where the use of "John Doe" in a legal context originates. The names Joe Bloggs or John Smith are used in the UK instead, as well as in Australia and New Zealand.` && |\n| &&
|
||||
|\n| &&
|
||||
`John Doe is sometimes used to refer to a typical male in other contexts as well, in a similar manner to John Q. Public, known in Great Britain as Joe Public, John Smith or Joe Bloggs. For example, the first name listed on a form is o` &&
|
||||
`ften John Doe, along with a fictional address or other fictional information to provide an example of how to fill in the form. The name is also used frequently in popular culture, for example in the Frank Capra film Meet John Doe. John Doe was also` &&
|
||||
` the name of a 2002 American television series.`.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_editor_type.
|
||||
|
||||
DATA(lv_types) = `abap, abc, actionscript, ada, apache_conf, applescript, asciidoc, assembly_x86, autohotkey, batchfile, bro, c9search, c_cpp, cirru, clojure, cobol, coffee, coldfusion, csharp, css, curly, d, dart, diff, django, dockerfile, ` &&
|
||||
`dot, drools, eiffel, yaml, ejs, elixir, elm, erlang, forth, fortran, ftl, gcode, gherkin, gitignore, glsl, gobstones, golang, groovy, haml, handlebars, haskell, haskell_cabal, haxe, hjson, html, html_elixir, html_ruby, ini, io, jack, jade, java, ja` &&
|
||||
`vascri` &&
|
||||
`pt, json, jsoniq, jsp, jsx, julia, kotlin, latex, lean, less, liquid, lisp, live_script, livescript, logiql, lsl, lua, luapage, lucene, makefile, markdown, mask, matlab, mavens_mate_log, maze, mel, mips_assembler, mipsassembler, mushcode, mysql, ni` &&
|
||||
`x, nsis, objectivec, ocaml, pascal, perl, pgsql, php, plain_text, powershell, praat, prolog, properties, protobuf, python, r, razor, rdoc, rhtml, rst, ruby, rust, sass, scad, scala, scheme, scss, sh, sjs, smarty, snippets, soy_template, space, sql,` &&
|
||||
` sqlserver, stylus, svg, swift, swig, tcl, tex, text, textile, toml, tsx, twig, typescript, vala, vbscript, velocity, verilog, vhdl, wollok, xml, xquery, terraform, slim, redshift, red, puppet, php_laravel_blade, mixal, jssm, fsharp, edifact,` &&
|
||||
` csp, cssound_score, cssound_orchestra, cssound_document`.
|
||||
SPLIT lv_types AT ',' INTO TABLE DATA(lt_types).
|
||||
|
||||
|
||||
r_result = VALUE #( FOR row IN lt_types ( name = shift_right( shift_left( row ) ) value = shift_right( shift_left( row ) ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD save_data.
|
||||
"save data here
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_15</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>selscreen - formatted text</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,386 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_16 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
DATA mv_type TYPE string.
|
||||
DATA mv_path TYPE string.
|
||||
|
||||
DATA mv_sel1 TYPE abap_bool.
|
||||
DATA mv_sel2 TYPE abap_bool.
|
||||
DATA mv_sel3 TYPE abap_bool.
|
||||
|
||||
DATA mv_sel4 TYPE abap_bool.
|
||||
DATA mv_sel5 TYPE abap_bool.
|
||||
DATA mv_sel6 TYPE abap_bool.
|
||||
DATA mv_sel7 TYPE abap_bool.
|
||||
DATA mv_sel8 TYPE abap_bool.
|
||||
DATA mv_sel9 TYPE abap_bool.
|
||||
DATA mv_sel10 TYPE abap_bool.
|
||||
DATA mv_sel11 TYPE abap_bool.
|
||||
DATA mv_sel12 TYPE abap_bool.
|
||||
|
||||
DATA mv_tab_bar_active TYPE abap_bool.
|
||||
DATA mv_tab_donut_active TYPE abap_bool.
|
||||
DATA mv_tab_line_active TYPE abap_bool.
|
||||
DATA mv_tab_radial_active TYPE abap_bool.
|
||||
|
||||
METHODS render_tab_bar
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client
|
||||
container TYPE REF TO Z2UI5_CL_XML_VIEW.
|
||||
|
||||
METHODS render_tab_donut
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client
|
||||
container TYPE REF TO Z2UI5_CL_XML_VIEW.
|
||||
|
||||
METHODS render_tab_line
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client
|
||||
container TYPE REF TO Z2UI5_CL_XML_VIEW.
|
||||
|
||||
METHODS render_tab_radial
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client
|
||||
container TYPE REF TO Z2UI5_CL_XML_VIEW.
|
||||
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_16 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD render_tab_bar.
|
||||
|
||||
DATA(grid) = container->tab(
|
||||
text = 'Bar Chart'
|
||||
selected = client->_bind( mv_tab_bar_active )
|
||||
)->grid( 'XL6 L6 M6 S12' ).
|
||||
|
||||
grid->link(
|
||||
text = 'Go to the SAP Demos for Interactive bar Charts here...' target = '_blank'
|
||||
href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveBarChart/sample/sap.suite.ui.microchart.sample.InteractiveBarChart'
|
||||
)->text(
|
||||
text = 'Absolute and Percentage value'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->get( )->layout_data(
|
||||
)->grid_data( 'XL12 L12 M12 S12' ).
|
||||
|
||||
DATA(bar) = grid->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Center'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->items( )->interact_bar_chart(
|
||||
selectionchanged = client->_event( 'BAR_CHANGED' )
|
||||
press = client->_event( 'BAR_CHANGED' )
|
||||
)->bars( ).
|
||||
bar->interact_bar_chart_bar( selected = client->_bind( mv_sel1 ) label = 'Product 1' value = '10' ).
|
||||
bar->interact_bar_chart_bar( selected = client->_bind( mv_sel2 ) label = 'Product 2' value = '20' ).
|
||||
bar->interact_bar_chart_bar( selected = client->_bind( mv_sel3 ) label = 'Product 3' value = '70' ).
|
||||
|
||||
bar = grid->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Center'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->items( )->interact_bar_chart(
|
||||
selectionchanged = client->_event( 'BAR_CHANGED' )
|
||||
)->bars( ).
|
||||
bar->interact_bar_chart_bar( label = 'Product 1' value = '10' displayedvalue = '10%' ).
|
||||
bar->interact_bar_chart_bar( label = 'Product 2' value = '20' displayedvalue = '20%' ).
|
||||
bar->interact_bar_chart_bar( label = 'Product 3' value = '70' displayedvalue = '70%' ).
|
||||
|
||||
bar = grid->vertical_layout(
|
||||
)->layout_data( 'layout'
|
||||
)->grid_data( 'XL12 L12 M12 S12'
|
||||
)->get_parent(
|
||||
)->text(
|
||||
text = 'Positive and Negative values'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->flex_box(
|
||||
width = '20rem'
|
||||
height = '10rem'
|
||||
alignitems = 'Center'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->items( )->interact_bar_chart(
|
||||
selectionchanged = client->_event( 'BAR_CHANGED' )
|
||||
press = client->_event( 'BAR_PRESS' )
|
||||
labelwidth = '25%'
|
||||
)->bars( ).
|
||||
bar->interact_bar_chart_bar( label = 'Product 1' value = '25' ).
|
||||
bar->interact_bar_chart_bar( label = 'Product 2' value = '-50' ).
|
||||
bar->interact_bar_chart_bar( label = 'Product 3' value = '-100' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_tab_donut.
|
||||
|
||||
DATA(grid) = container->tab(
|
||||
text = 'Donut Chart'
|
||||
selected = client->_bind( mv_tab_donut_active )
|
||||
)->grid( 'XL6 L6 M6 S12' ).
|
||||
|
||||
grid->link(
|
||||
text = 'Go to the SAP Demos for Interactive Donut Charts here...' target = '_blank'
|
||||
href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveDonutChart/sample/sap.suite.ui.microchart.sample.InteractiveDonutChart'
|
||||
)->text(
|
||||
text = 'Three segments'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->get( )->layout_data(
|
||||
)->grid_data( 'XL12 L12 M12 S12' ).
|
||||
|
||||
DATA(seg) = grid->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Start'
|
||||
justifycontent = 'SpaceBetween'
|
||||
)->items(
|
||||
)->interact_donut_chart(
|
||||
selectionchanged = client->_event( 'DONUT_CHANGED' )
|
||||
)->segments( ).
|
||||
seg->interact_donut_chart_segment( selected = client->_bind( mv_sel4 ) label = 'Impl. Phase' value = '40.0' displayedvalue = '40.0%' ).
|
||||
seg->interact_donut_chart_segment( selected = client->_bind( mv_sel5 ) label = 'Design Phase' value = '21.5' displayedvalue = '21.5%' ).
|
||||
seg->interact_donut_chart_segment( selected = client->_bind( mv_sel6 ) label = 'Test Phase' value = '38.5' displayedvalue = '38.5%' ).
|
||||
|
||||
grid->text(
|
||||
text = 'Four segments'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->get( )->layout_data(
|
||||
)->grid_data( 'XL12 L12 M12 S12' ).
|
||||
|
||||
seg = grid->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Start'
|
||||
justifycontent = 'SpaceBetween'
|
||||
)->items( )->interact_donut_chart(
|
||||
selectionchanged = client->_event( 'DONUT_CHANGED' )
|
||||
press = client->_event( 'DONUT_PRESS' )
|
||||
displayedsegments = '4'
|
||||
)->segments( ).
|
||||
seg->interact_donut_chart_segment( label = 'Design Phase' value = '32.0' displayedvalue = '32.0%' ).
|
||||
seg->interact_donut_chart_segment( label = 'Implementation Phase' value = '28' displayedvalue = '28%' ).
|
||||
seg->interact_donut_chart_segment( label = 'Test Phase' value = '25' displayedvalue = '25%' ).
|
||||
seg->interact_donut_chart_segment( label = 'Launch Phase' value = '15' displayedvalue = '15%' ).
|
||||
|
||||
grid->text(
|
||||
text = 'Error Messages'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->get( )->layout_data(
|
||||
)->grid_data( 'XL12 L12 M12 S12' ).
|
||||
|
||||
seg = grid->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Start'
|
||||
justifycontent = 'SpaceBetween'
|
||||
)->items( )->interact_donut_chart(
|
||||
selectionchanged = client->_event( 'DONUT_CHANGED' )
|
||||
showerror = abap_true
|
||||
errormessagetitle = 'No data'
|
||||
errormessage = 'Currently no data is available'
|
||||
)->segments( ).
|
||||
seg->interact_donut_chart_segment( label = 'Implementation Phase' value = '40.0' displayedvalue = '40.0%' ).
|
||||
seg->interact_donut_chart_segment( label = 'Design Phase' value = '21.5' displayedvalue = '21.5%' ).
|
||||
seg->interact_donut_chart_segment( label = 'Test Phase' value = '38.5' displayedvalue = '38.5%' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_tab_line.
|
||||
|
||||
DATA(tab) = container->tab( text = 'Line Chart' selected = client->_bind( mv_tab_line_active ) ).
|
||||
DATA(grid) = tab->grid( 'XL6 L6 M6 S12' ).
|
||||
|
||||
grid->link(
|
||||
text = 'Go to the SAP Demos for Interactive Line Charts here...' target = '_blank'
|
||||
href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveLineChart/sample/sap.suite.ui.microchart.sample.InteractiveLineChart' ).
|
||||
|
||||
grid->text(
|
||||
text = 'Absolute and Percentage values'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->get(
|
||||
)->layout_data(
|
||||
)->grid_data( 'XL12 L12 M12 S12' ).
|
||||
|
||||
DATA(point) = grid->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Center'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->items( )->interact_line_chart(
|
||||
selectionchanged = client->_event( 'LINE_CHANGED' )
|
||||
precedingpoint = '15'
|
||||
succeddingpoint = '89'
|
||||
)->points( ).
|
||||
point->interact_line_chart_point( selected = client->_bind( mv_sel7 ) label = 'May' value = '33.1' secondarylabel = 'Q2' ).
|
||||
point->interact_line_chart_point( selected = client->_bind( mv_sel8 ) label = 'June' value = '12' ).
|
||||
point->interact_line_chart_point( selected = client->_bind( mv_sel9 ) label = 'July' value = '51.4' secondarylabel = 'Q3' ).
|
||||
point->interact_line_chart_point( selected = client->_bind( mv_sel10 ) label = 'Aug' value = '52' ).
|
||||
point->interact_line_chart_point( selected = client->_bind( mv_sel11 ) label = 'Sep' value = '69.9').
|
||||
point->interact_line_chart_point( selected = client->_bind( mv_sel12 ) label = 'Oct' value = '0.9' secondarylabel = 'Q4' ).
|
||||
|
||||
point = grid->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Start'
|
||||
class = 'SpaceBetween'
|
||||
)->items(
|
||||
)->interact_line_chart(
|
||||
selectionchanged = client->_event( 'LINE_CHANGED' )
|
||||
press = client->_event( 'LINE_PRESS' )
|
||||
precedingpoint = '-20'
|
||||
)->points( ).
|
||||
point->interact_line_chart_point( label = 'May' value = '33.1' displayedvalue = '33.1%' secondarylabel = '2015' ).
|
||||
point->interact_line_chart_point( label = 'June' value = '2.2' displayedvalue = '2.2%' secondarylabel = '2015' ).
|
||||
point->interact_line_chart_point( label = 'July' value = '51.4' displayedvalue = '51.4%' secondarylabel = '2015' ).
|
||||
point->interact_line_chart_point( label = 'Aug' value = '19.9' displayedvalue = '19.9%' ).
|
||||
point->interact_line_chart_point( label = 'Sep' value = '69.9' displayedvalue = '69.9%' ).
|
||||
point->interact_line_chart_point( label = 'Oct' value = '0.9' displayedvalue = '9.9%' ).
|
||||
|
||||
point = grid->vertical_layout(
|
||||
)->layout_data( ns = 'layout'
|
||||
)->grid_data( 'XL12 L12 M12 S12'
|
||||
)->get_parent(
|
||||
)->text(
|
||||
text = 'Preselected values'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Start'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->items(
|
||||
)->interact_line_chart(
|
||||
selectionchanged = client->_event( 'LINE_CHANGED' )
|
||||
press = client->_event( 'LINE_PRESS' )
|
||||
)->points( ).
|
||||
point->interact_line_chart_point( label = 'May' value = '33.1' displayedvalue = '33.1%' selected = abap_true ).
|
||||
point->interact_line_chart_point( label = 'June' value = '2.2' displayedvalue = '2.2%' ).
|
||||
point->interact_line_chart_point( label = 'July' value = '51.4' displayedvalue = '51.4%' ).
|
||||
point->interact_line_chart_point( label = 'Aug' value = '19.9' displayedvalue = '19.9%' selected = abap_true ).
|
||||
point->interact_line_chart_point( label = 'Sep' value = '69.9' displayedvalue = '69.9%' ).
|
||||
point->interact_line_chart_point( label = 'Oct' value = '0.9' displayedvalue = '9.9%' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_tab_radial.
|
||||
|
||||
DATA(grid) = container->tab(
|
||||
text = 'Radial Chart'
|
||||
selected = client->_bind( mv_tab_radial_active )
|
||||
)->grid( 'XL12 L12 M12 S12' ).
|
||||
|
||||
grid->link(
|
||||
text = 'Go to the SAP Demos for Radial Charts here...' target = '_blank'
|
||||
href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.RadialMicroChart/sample/sap.suite.ui.microchart.sample.RadialMicroChart' ).
|
||||
|
||||
grid->vertical_layout(
|
||||
)->horizontal_layout(
|
||||
)->radial_micro_chart(
|
||||
sice = 'M'
|
||||
percentage = '45'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
)->radial_micro_chart(
|
||||
sice = 'S'
|
||||
percentage = '45'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
)->get_parent(
|
||||
)->horizontal_layout(
|
||||
)->radial_micro_chart(
|
||||
sice = 'M'
|
||||
percentage = '99.9'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
valueColor = 'Good'
|
||||
)->radial_micro_chart(
|
||||
sice = 'S'
|
||||
percentage = '99.9'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
valueColor = 'Good'
|
||||
)->get_parent(
|
||||
)->horizontal_layout(
|
||||
)->radial_micro_chart(
|
||||
sice = 'M'
|
||||
percentage = '0'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
valueColor = 'Error'
|
||||
)->radial_micro_chart(
|
||||
sice = 'S'
|
||||
percentage = '0'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
valueColor = 'Error'
|
||||
)->get_parent(
|
||||
)->horizontal_layout(
|
||||
)->radial_micro_chart(
|
||||
sice = 'M'
|
||||
percentage = '0.1'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
valueColor = 'Critical'
|
||||
)->radial_micro_chart(
|
||||
sice = 'S'
|
||||
percentage = '0.1'
|
||||
press = client->_event( 'RADIAL_PRESS' )
|
||||
valueColor = 'Critical' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
mv_path = '../../demo/text'.
|
||||
mv_type = 'plain_text'.
|
||||
mv_sel1 = abap_true.
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'DONUT_CHANGED'.
|
||||
client->popup_message_toast( 'Donut selection changed' ).
|
||||
|
||||
WHEN 'BAR_CHANGED'.
|
||||
client->popup_message_toast( 'Bar selection changed' ).
|
||||
|
||||
WHEN 'LINE_CHANGED'.
|
||||
client->popup_message_toast( 'Line selection changed' ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
|
||||
DATA(container) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Visualization'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/OblomovDev/status/1639191954285113344`
|
||||
)->link( text = 'Source_Code' target = '_blank' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->tab_container( ).
|
||||
|
||||
render_tab_donut( client = client container = container ).
|
||||
render_tab_bar( client = client container = container ).
|
||||
render_tab_line( client = client container = container ).
|
||||
render_tab_radial( client = client container = container ).
|
||||
|
||||
client->set_next( value #( xml_main = container->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,194 +0,0 @@
|
|||
CLASS lcl_mime_api DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS read_abap
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_json
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_js
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_yaml
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
CLASS-METHODS read_text
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_s_suggest,
|
||||
name TYPE string,
|
||||
value TYPE string,
|
||||
END OF ty_s_suggest.
|
||||
TYPES ty_t_suggest TYPE STANDARD TABLE OF ty_s_suggest WITH EMPTY KEY.
|
||||
|
||||
CLASS-METHODS get_editor_type
|
||||
RETURNING
|
||||
VALUE(r_result) TYPE ty_t_suggest.
|
||||
|
||||
CLASS-METHODS save_data
|
||||
IMPORTING
|
||||
i_mv_editor TYPE string.
|
||||
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_mime_api IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD read_abap.
|
||||
|
||||
r_result = `METHOD SELECT_FILES.` && |\n| &&
|
||||
|\n| &&
|
||||
` DATA: LV_RET_CODE TYPE I,` && |\n| &&
|
||||
` LV_USR_AXN TYPE I.` && |\n| &&
|
||||
|\n| &&
|
||||
` CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG(` && |\n| &&
|
||||
` EXPORTING` && |\n| &&
|
||||
` WINDOW_TITLE = 'Select file'` && |\n| &&
|
||||
` MULTISELECTION = 'X'` && |\n| &&
|
||||
` CHANGING` && |\n| &&
|
||||
` FILE_TABLE = ME->PT_FILETAB` && |\n| &&
|
||||
` RC = LV_RET_CODE` && |\n| &&
|
||||
` USER_ACTION = LV_USR_AXN` && |\n| &&
|
||||
` EXCEPTIONS` && |\n| &&
|
||||
` FILE_OPEN_DIALOG_FAILED = 1` && |\n| &&
|
||||
` CNTL_ERROR = 2` && |\n| &&
|
||||
` ERROR_NO_GUI = 3` && |\n| &&
|
||||
` NOT_SUPPORTED_BY_GUI = 4` && |\n| &&
|
||||
` OTHERS = 5` && |\n| &&
|
||||
` ).` && |\n| &&
|
||||
` IF SY-SUBRC <> 0 OR` && |\n| &&
|
||||
` LV_USR_AXN = CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.` && |\n| &&
|
||||
` RAISE EX_FILE_SEL_ERR.` && |\n| &&
|
||||
` ENDIF.` && |\n| &&
|
||||
|\n| &&
|
||||
` ENDMETHOD. `.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_json.
|
||||
|
||||
r_result = `{` && |\n| &&
|
||||
` "quiz": {` && |\n| &&
|
||||
` "sport": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "test" : false,` && |\n| &&
|
||||
` "question": "Which one is correct team name in NBA?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "New York Bulls",` && |\n| &&
|
||||
` "Los Angeles Kings",` && |\n| &&
|
||||
` "Golden State Warriros",` && |\n| &&
|
||||
` "Huston Rocket"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "Huston Rocket"` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "maths": {` && |\n| &&
|
||||
` "q1": {` && |\n| &&
|
||||
` "question": "5 + 7 = ?",` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "10",` && |\n| &&
|
||||
` "11",` && |\n| &&
|
||||
` "12",` && |\n| &&
|
||||
` "13"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": "12"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` "q2": {` && |\n| &&
|
||||
` "question": true,` && |\n| &&
|
||||
` "options": [` && |\n| &&
|
||||
` "1",` && |\n| &&
|
||||
` "2",` && |\n| &&
|
||||
` "3",` && |\n| &&
|
||||
` "4"` && |\n| &&
|
||||
` ],` && |\n| &&
|
||||
` "answer": 487829` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_js.
|
||||
|
||||
r_result = `function showAlert() {` && |\n| &&
|
||||
` alert("Alert from JS file");` && |\n| &&
|
||||
`}` && |\n| &&
|
||||
|\n| &&
|
||||
`function updateHeading() {` && |\n| &&
|
||||
` document.getElementById('heading').innerHTML = 'Heading changed with JS';` && |\n| &&
|
||||
`}`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_yaml.
|
||||
|
||||
r_result = `# Employee records` && |\n| &&
|
||||
`- martin:` && |\n| &&
|
||||
` name: Martin Developer` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - python` && |\n| &&
|
||||
` - perl` && |\n| &&
|
||||
` - pascal` && |\n| &&
|
||||
`- tabitha:` && |\n| &&
|
||||
` name: Tabitha Bitumen` && |\n| &&
|
||||
` job: Developer` && |\n| &&
|
||||
` skills:` && |\n| &&
|
||||
` - lisp` && |\n| &&
|
||||
` - fortran` && |\n| &&
|
||||
` - erlang`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_text.
|
||||
r_result = `TXT test file` && |\n| &&
|
||||
`Purpose: Provide example of this file type` && |\n| &&
|
||||
`Document file type: TXT` && |\n| &&
|
||||
`Version: 1.0` && |\n| &&
|
||||
`Remark:` && |\n| &&
|
||||
|\n| &&
|
||||
`Example content:` && |\n| &&
|
||||
`The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for children, or just "Doe" non-gender-specifically are used as placeholder names for a party whose true identity is unknown or mus` &&
|
||||
`t be withheld in a legal action, case, or discussion. The names are also used to refer to acorpse or hospital patient whose identity is unknown. This practice is widely used in the United States and Canada, but is rarely used in other English-speak` &&
|
||||
`ing countries including the United Kingdom itself, from where the use of "John Doe" in a legal context originates. The names Joe Bloggs or John Smith are used in the UK instead, as well as in Australia and New Zealand.` && |\n| &&
|
||||
|\n| &&
|
||||
`John Doe is sometimes used to refer to a typical male in other contexts as well, in a similar manner to John Q. Public, known in Great Britain as Joe Public, John Smith or Joe Bloggs. For example, the first name listed on a form is o` &&
|
||||
`ften John Doe, along with a fictional address or other fictional information to provide an example of how to fill in the form. The name is also used frequently in popular culture, for example in the Frank Capra film Meet John Doe. John Doe was also` &&
|
||||
` the name of a 2002 American television series.`.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_editor_type.
|
||||
|
||||
DATA(lv_types) = `abap, abc, actionscript, ada, apache_conf, applescript, asciidoc, assembly_x86, autohotkey, batchfile, bro, c9search, c_cpp, cirru, clojure, cobol, coffee, coldfusion, csharp, css, curly, d, dart, diff, django, dockerfile, ` &&
|
||||
`dot, drools, eiffel, yaml, ejs, elixir, elm, erlang, forth, fortran, ftl, gcode, gherkin, gitignore, glsl, gobstones, golang, groovy, haml, handlebars, haskell, haskell_cabal, haxe, hjson, html, html_elixir, html_ruby, ini, io, jack, jade, java, ja` &&
|
||||
`vascri` &&
|
||||
`pt, json, jsoniq, jsp, jsx, julia, kotlin, latex, lean, less, liquid, lisp, live_script, livescript, logiql, lsl, lua, luapage, lucene, makefile, markdown, mask, matlab, mavens_mate_log, maze, mel, mips_assembler, mipsassembler, mushcode, mysql, ni` &&
|
||||
`x, nsis, objectivec, ocaml, pascal, perl, pgsql, php, plain_text, powershell, praat, prolog, properties, protobuf, python, r, razor, rdoc, rhtml, rst, ruby, rust, sass, scad, scala, scheme, scss, sh, sjs, smarty, snippets, soy_template, space, sql,` &&
|
||||
` sqlserver, stylus, svg, swift, swig, tcl, tex, text, textile, toml, tsx, twig, typescript, vala, vbscript, velocity, verilog, vhdl, wollok, xml, xquery, terraform, slim, redshift, red, puppet, php_laravel_blade, mixal, jssm, fsharp, edifact,` &&
|
||||
` csp, cssound_score, cssound_orchestra, cssound_document`.
|
||||
SPLIT lv_types AT ',' INTO TABLE DATA(lt_types).
|
||||
|
||||
|
||||
r_result = VALUE #( FOR row IN lt_types ( name = shift_right( shift_left( row ) ) value = shift_right( shift_left( row ) ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD save_data.
|
||||
"save data here
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_16</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo - visualization</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,191 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_17 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_17 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_ROUNDTRIP'.
|
||||
DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'.
|
||||
|
||||
WHEN 'BUTTON_MSG_BOX'.
|
||||
client->popup_message_box(
|
||||
text = 'this is a message box with a custom text'
|
||||
type = 'success' ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(view) = Z2UI5_CL_XML_VIEW=>factory( ).
|
||||
|
||||
|
||||
DATA(page) = view->object_page_layout(
|
||||
showtitleinheadercontent = abap_true
|
||||
showeditheaderbutton = abap_true
|
||||
editheaderbuttonpress = client->_event( 'EDIT_HEADER_PRESS' )
|
||||
uppercaseanchorbar = abap_false
|
||||
).
|
||||
|
||||
DATA(header_title) = page->header_title( )->object_page_dyn_header_title( ).
|
||||
|
||||
header_title->expanded_heading(
|
||||
)->hbox(
|
||||
|
||||
)->title( text = 'Oblomov Dev' wrapping = abap_true ).
|
||||
|
||||
header_title->snapped_heading(
|
||||
)->flex_box( alignitems = `Center`
|
||||
)->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiTinyMarginEnd'
|
||||
)->title( text = 'Oblomov Dev' wrapping = abap_true ).
|
||||
|
||||
header_title->expanded_content( ns = `uxap` )->text( `abap2UI5 Developer` ).
|
||||
header_title->snapped_Content( ns = `uxap` )->text( `abap2UI5 Developer` ).
|
||||
header_title->snapped_Title_On_Mobile( )->title( `abap2UI5 Developer` ).
|
||||
|
||||
header_title->actions( ns = `uxap` )->overflow_toolbar(
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://edit`
|
||||
text = 'edit header'
|
||||
type = 'Emphasized'
|
||||
tooltip = 'edit'
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://pull-down`
|
||||
text = 'show section'
|
||||
type = 'Emphasized'
|
||||
tooltip = 'pull-down'
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://show`
|
||||
text = 'show state'
|
||||
tooltip = 'show'
|
||||
)->button(
|
||||
" icon = `sap-icon://edit`
|
||||
text = 'Go Back'
|
||||
press = client->_event( 'BACK' )
|
||||
).
|
||||
|
||||
DATA(header_content) = page->header_Content( ns = 'uxap' ).
|
||||
|
||||
header_content->flex_box( wrap = 'Wrap'
|
||||
)->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiSmallMarginEnd' displaySize = 'layout'
|
||||
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->link( text = '+33 6 4512 5158'
|
||||
)->link( text = 'email@email.com'
|
||||
)->get_parent(
|
||||
)->horizontal_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->label( text = 'Hello! I an abap2UI5 developer'
|
||||
)->label( text = 'San Jose, USA'
|
||||
)->get_parent(
|
||||
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->label( text = 'Hello! I an abap2UI5 developer'
|
||||
)->vbox(
|
||||
)->label( 'Achived goals'
|
||||
)->progress_indicator( percentvalue = '30%' displayvalue = '30%'
|
||||
)->get_parent( )->get_parent(
|
||||
" )->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiSmallMarginEnd' displaySize = 'layout'
|
||||
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->label( text = 'San Jose, USA'
|
||||
)->get_parent(
|
||||
).
|
||||
|
||||
|
||||
data(sections) = page->sections( ).
|
||||
|
||||
sections->object_page_section( titleuppercase = abap_false id = 'goalsSectionSS1' title = '2014 Goals Plan'
|
||||
)->heading( ns = `uxap`
|
||||
)->message_strip( text = 'this is a message strip'
|
||||
)->get_parent(
|
||||
)->sub_sections(
|
||||
)->object_page_sub_section( id = 'goalssubSectionSS1' title = 'goals1'
|
||||
)->blocks(
|
||||
)->vbox(
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
|
||||
)->get_parent( )->get_parent( )->get_parent(
|
||||
)->object_page_sub_section( id = 'goalsSectionWS1' title = 'goals2'
|
||||
)->blocks(
|
||||
)->vbox(
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2').
|
||||
|
||||
sections->object_page_section( titleuppercase = abap_false id = 'PersonalSection' title = 'Personal'
|
||||
)->heading( ns = `uxap`
|
||||
" )->message_strip( text = 'this is a message strip'
|
||||
)->get_parent(
|
||||
)->sub_sections(
|
||||
)->object_page_sub_section( id = 'personalSectionSS1' title = 'Connect'
|
||||
)->blocks(
|
||||
)->label( text = 'telefon'
|
||||
)->label( text = 'email'
|
||||
)->get_parent( )->get_parent(
|
||||
)->object_page_sub_section( id = 'personalSectionWS2' title = 'Payment information '
|
||||
)->blocks(
|
||||
)->label( text = 'Hello! I an abap2UI5 developer'
|
||||
)->label( text = 'San Jose, USA' ).
|
||||
|
||||
|
||||
sections->object_page_section( titleuppercase = abap_false id = 'employmentSection' title = 'Employment'
|
||||
)->heading( ns = `uxap`
|
||||
" )->message_strip( text = 'this is a message strip'
|
||||
)->get_parent(
|
||||
)->sub_sections(
|
||||
)->object_page_sub_section( id = 'empSectionSS1' title = 'Job information'
|
||||
)->blocks(
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->get_parent( )->get_parent(
|
||||
)->object_page_sub_section( id = 'empSectionWS2' title = 'Employee Details '
|
||||
)->blocks(
|
||||
)->vbox(
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details' ).
|
||||
|
||||
client->set_next( value #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,207 +0,0 @@
|
|||
CLASS lcl_help DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-METHODS get_avatar
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_help IMPLEMENTATION.
|
||||
|
||||
METHOD get_avatar.
|
||||
|
||||
result = `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA` &&
|
||||
`AAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQ` &&
|
||||
`BsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAAC` &&
|
||||
`SdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBw` &&
|
||||
`cHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIAZABkAMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAAAwQCBQYBBwj/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQ` &&
|
||||
`IDBAUG/9oADAMBAAIQAxAAAAH7KAAAAAAAAAAAh9pMrGnC8gxLKqhaUMqzdVLV49GkAAAAAAAAAAAAAAAAAPPdbSYqcNfyerdabSYcu3R5czFlfc2ebnlurvP0bO1t8Rntn3trmLvZhvWGfpcwSAAAAAAAAAAAAAMM4K0eu5tNfE1vi980FPDj0yj8xytIjzJfPYLxgVehsElmsZ+SR3bzoOO2vbz9Or2PZ4AuAAARScpjbrBtUAAAAA` &&
|
||||
`B57FVqdLY0Hid+z91Dn0nrV/ODaeHzCEiWWZqxzpmKK1nrFKTH3Jbs1F624/ICxH7BeO+3PE9d73nWB34gAK3Bcxx62tHu8/B9D7CPqvKAAAAAAUZtLlbU6qnJ816dijlBy6ye1/azP5h5MJ447Tc8reSueU1mGeGFJt2tZetEvtf1W3Jh7ZR63m9hvn9AazZ/R+YGtXFdh+eKTJ2dL35n1dlRvR8G/wBTH3HhAAAAAAY8hd5vyurRyy` &&
|
||||
`YeF3+4yyVVlvV9lbdvXrryhBpS/jprWldn5TgxvssNLZynYYWIuTVNBEi5nBPaJovdVpX6R0PzzvPb4Z9HyXO9mO4rS7/z+vl8Ot0vJpnJQx8nr+tD7fwgAAAABWNNxvY814vZQ11uTi6KM/VY2c9a2dKWdG9elQuzZZ2p1dz5aNXcnzrPP6ft/dI+eU/o9fSnD3Nro4bCbCzxbR+PYiTmuv5D1+Ta9Xy6bbfU9Bscr8hFuufovySa/w` &&
|
||||
`ATr+xtVovr/H7JpNz0Z+udg5tOoy+WfRqWu+cfR3p3ul4mrxb9V1HxW6bfUe7ettL1kN3i3rayzyFdL3nL4d0d7d4jd8c9XZ1myxiT3DOSSPyJ9jeZ3z5nfc70Z7v3UbFEEfQULRrItbsazsPiX2nqvW4vmu2+rurL4/yH2LivI7Ndeml8frqjGd7y2F/vxpWM/YXuX3fhBjZrpqbpbTQi3HktdBt9VaNpHhrN6drnPFS3O8T3HE630W` &&
|
||||
`p38HrccvT6q5wdHZ7fR7jztJZIJZrDPTix0v049LtXDTU4exsN5xW1i3eXud6vDLk61yLWnvS8/wBRpn1o9zh4Pn9nV+Z9OKKxW83pxymyMNfcytGvz5m/3ZbvF75uoWiLZa2z0Vnx9hi3mo3FA22Me17MZNlrN9tTT8j3XP8ALtxljfXbW5ybfV6sNVyUfrc24l0Tqz7ff/Kuw8fo6rltzz7Tk69jD2eLa2oZOTr6D6B83+i8cc6wmr` &&
|
||||
`S39A0299fhRyfN9q83egk+S9aaBjz6zZw+F+v7alo4po+nObPW7DNI8957VtnQ2fTWeLKpW1OGbyYz6fk9x2Uw67ien6MtXtaewpMbyHm0wp+3aW+Ow9Fy30vHYMNYzv6nocZ6Sj1ev8Ls5Kj2cOluT22yu6xPsr2hrhFvIOp2x3vp7PF58u+o/F+XWrf8fKer6eZz74xlZsQZzMHD97y3o87b6+5nrdHBZnDf2iSJ5FqcFmprWG/pLP` &&
|
||||
`bHYVfK+uXa6mXYMtdVzpcm9XX7CjM6vlur86o4qx01Psz1H0LjM8XV7rm+l8veDX7HYXrr5b9u9cefvQ9GfO7TWaHen2roPh212y+j/HMbnFtZHh9npSvF1rJda9Bhfp5a16GxoTXVbCpf3rI8clvNhR2W0Rxz1kx4zZROns7eG8avY0ZOim16/wCc7joy7LVT2dcdDq+112WvznTd5pNdtBPPY0vX30+9xyoS7u5XLU3L+N60Mdhps9` &&
|
||||
`Kmgv67orUgylx0bbS7Xg6LdaSDmiHz3GIo7jSfbvb4vkPa9l57HH85r+VfkPbVfY84193TX+7O3nq9xy6RRX8L1t1868xJ7VnytZu66WLWef2GOjTbjXw9FNphD50Z9jtOC28U6rnsq3Tlhv8AR+0t1cuh3SMlWG9dhHrb2do+P8qxenYqZZaSwRXOXbK0wwnPCTyiHn91vvS5er6I+m8wJfnbcdBxPi93R8v12rl7B9O+U47WthrveP` &&
|
||||
`p3GVSbjT51/YeeT+zEC5qJWpq9qFGls8rofJsbRW9wq3jaT6yakbDV2o9Ir2ZKu1bF3UY613NShZq10/mFLLXsvFqvUs85u1ocjBrJOvGx9ayv/T+YG9APn+gw7PxfQg1nNfQ6zlrtP9G9fg+JQdXzfzvrSbHGfi1zmr+5xNHH4WdVnV6WxlxmxV5sPaT7Yj8R5NhOVa1+OYizmwu8pzwWQZZQ2UJ7WOlfes4H6Z6nLzGi+7aXs5fk1n` &&
|
||||
`caDxe3XXfqe07sNTv5XqcoaQAB8o0v0/5zxdHU8po+q59cfqX5+7zu5vpny76tpqPm3ul3Hz3pZy2IOLbGPHGEUE1Ppm5s9LuJqg9x55m8wyqzkhxlJhjnLCT2K0z1LtG0V/fZU4UL3FdePV9hwf1b0OfqR7HAxyQCQAAACKUcjF2Y+bdhuQ1ezZz8mg7T598z6m5i1t3i6GM0UK1K1F2MdvWzwjzLGzkwZRyPJDLySOzOKxHZLrNtq7` &&
|
||||
`R7DYp1mpn59Z9blqdT577PnhpUAAAAAAAAABzvRKz8kqfY+Y8nq4irutN5Pdrc85NdLtnzziiKaH2izhHJePJI5peeY+Js4QSWjyPH2Jg1l2Pam8+qVrP1HkhtQAAAAAAAAAAAABqdsrPzLR/VdV4nfxvtuj5nTPDHLnaOK3jSayWOqXDDKU+FddlHc0+ij23NfT/W4uiHt8AAAAAAAAAAAAAAAAHnJdd5nb41qvpdDwO7msukmlzGG6` &&
|
||||
`53O932jd8/eOhdw6I0fV9L2PucGi3x6PKEgAAAAAAAAAAAAAAAAAAAOUo9ypPPbqdSfPTaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//xAAwEAACAgEDAwMDBAICAwEAAAABAgMEAAUREhATIQYiMRQgMBUjMkFAUCQzBzRggP/aAAgBAQABBQL/AOIEik815E` &&
|
||||
`7CWbYQtyRJOTM6tDC3tEx3eX2xv7R5/wBOfDNOFaWcGrPIdorXbxrsUciT9qb611bkeZsIuLMjCKwi5C7MxYD/AEk9qKOJ7QaF7TdqIwFecgl5eJCzytEjIQOfc82P+w2XVh9TKy2yhhkM0oI3/wBBO4jiM0vOZmZZGVkd9wzHpv0/oHH9rO27cUdYqtYMEXnBqamzDOUlgmWb8jMq/wCDyG+TOQ07M0bSxvkjYxzl9gOb5v7n8sm+6D` &&
|
||||
`x/S+Mn5SLC1ZVrzxwy90b/AIrMiyWvznJ/cWuBJHuTugcNj8FY4cObdTn9HfB8rifAOb5y2wszLVT6eao6zL+CeaKCKW/aOpXktWo/zyDdb8ipHZ7xDRyYzYzed85YTkZ3wqMPgkZthTww2O+Jm/n+unafuU5oUWBw8f3ep9eNKcwq7Yw2H51swvlt4GeNRG7EYW3+zxnlT3MDA5yGK45SyhRy3KnOWKMkPgMNgvT+B0m6WP2+otfTSH` &&
|
||||
`gqW7EyRjOIGEcm/M0cbPrUwSqqnYsc84VzcjNzgPIec23GxGbHouOubdY29r+SrbZv0kZRlJzEK5LfZK6xR9yXVdbeCxFPBaEq/EcKbfnPgao8Bd+TMvnCM85tixtm2xC4hj71vaFIZgZbHKO9GuXGWCsiMRxzbouclXEYnNzvtuK8pSbTnCjpqup09NhNrVtZwWtN0tZ4NZuRpHHGE/iPzyG1PjRhW4cW2GecVdsbY4qXIMhuwyOLgF` &&
|
||||
`qftWEne0a4r9qJ7H1GnQ2y0HNXe+0l5xaginOwXbNs+MUk5vxC8jl32PptgFI/Ed/XZ7U6wVNPnapqGoZUqVqiWTKEb3VmkIxZD+ezZiSabeRpO0mSTESmeUH96XIqzoIlkYzU45h+mRQiOojJ9PHstZRkmn13apWCQNGrY2mDuT6RxSW7HBkNi5CrXZmyt3zEPGKyjJJG4x7yYWmU6prKai2nC5chqVK9RbOs6bXz9Xu3M/S9RtiMwB` &&
|
||||
`FUvioB+aeITJZijUS8VEvGVdOeGdpOOJtkpULJIZBAeGI/L7Dg6+MfYZskmTVpt5I5pZGWlVdos2zf3WohYg0+tQkw6tbuv+jWreVdNo1clljiSxqcfb09u5QMqJH+PfNTuTVY6uvVrBlmjjr6hqUggBsyzpp9iSSvEteuXbjPOVw2lV/1FWyOyDjMpSvIZI/tY9FC5KX7tMSLHPWr2MkpKK9ebuY3tMs6RrHEl7TJl7kunnWIqwq+q7` &&
|
||||
`Iv6VqMIp6Xsy1YxGAAOmpTtXr1NWO7XuwoII1S7LVl1K/tAbM/KpMJ4LOuLBbteoavCXUbCkak0jypHLPJekk03TUMVeqO0tDuu8/8ZmLPdlOGZBO86bUZA2CVxlUA/Z8Zv0OSS7LuWaNYFyNjHEMuV6thI4IKGpN7cjtj6PQipq9PUJZ68AVkC7koAvSC0ZIDYeZe+e3pl2TTkt6oLNQz6kSJvadYv0ZK917WRhmJoQb/AECM8lFXX6` &&
|
||||
`AZDwVmnHerR9uM+TqBKJZX2S/+1YmmY0NzOCA1ItwHRfgndtsLAY7ZbtIJZboZorQfKs2UXSNZduOowrJHDyReRhT0/Mtmbp6ktJiqwRcPksu2KufRKcAChQFH2GJchcMgYYXGKwySQKJpxtpvLaWQ1dRQqyv82w0j213MsbSKIpCa9E4xBer4A6DHfge4zYx2yzORg/cTtgmeFlytIdqs6CJwNrDSMxAORycF0CuE6+oQsOrowZW+B/` &&
|
||||
`I4vgL4N0vHVRHWIH7GcJHGTFFt4GzLknwxMktCUSrqiiKh6fl72jWPa7qvdtQbSGBkf9zi6WNq0DAtZSul3WSMbU7UuR6paRotXVxFMr43xb5MZ7vFIH7iVCWWIf8AGpuFLYg9z7Sw6T3ZrKqFXGIVdQnGr3IzthbpvjHPdngibTVL1qvBMHjD0klWLKhKQmIMeTKW840cTGGWOJbsPeTQuK0m85OVGScp8jjbII2lEsBDWX7MMhdpOo` &&
|
||||
`+dNk/aaQkSv7rVcDIgu1U9kJuTUQyVz8RbfVceNnS67Rr09WTtNYAAH2E4Vw/N0BM5e5CCvWXkrxbMvxjlWUboZAcqI6zFv2dP71eMEY8kImX/AKv6PjJPcbNfmkoZZNxv1rWRHKOJaxHs8gZcPMhVytEDlCJkuz3qql+5XWrStPYHx09YRxF6VZKsP2q5xkHG6haFCsizuI2HWX/qi2CNjHJv4OcqN7q7ho527KJKHFqKSK0cPwG2M0` &&
|
||||
`0cMjuM1qDt2JU5dGYKsTlxpUMk06xIuWIC2SRAEx7Yw4oqFo40VM0w86FkJ2dMjjjPX1CbMuv/AGsOSo2w32xxm/bnqx9nIz9lRdovGFcn8ZIMDlRSkLp2YJ404VraqstcM8chGS7ZX3ZZoe1kkth45+KZ3ot+BICnfSwtara1WrFKSNmYrKieYoQFpQuJW+KBP6dYkkLaLqcl2LR9Ug1Kpl65FVWxNJJr/wB3Bh0cbpPFKIySzxDrJ/` &&
|
||||
`ADx4zlhV/qLhdWIJOnxyfStMEhuDuNpk/PJIuUzwyxksj4u0KzuJF5EZzxoYmMtKu2GnJxFGc5ptatVCjcHj9QI/PZ3YZqjt9P3U+mDcLmnqDIaoeDu360bnULUkFZKw6zySxtYtxJUrzFqvkBvOKdstxCaKM96xGNj08cuPgr42w5aj7qtA+5T3HkM9vANwkgbnGVByairtbhsqLdEvk8bQgd9yJHRlkDKjxbwRExIqAdt5hXqurcPC` &&
|
||||
`rv0MIDF1xuTGuu2JvvEcY4V3w9GtIskNSxwm9K25pqmgww2eI228zLtki80UtHi9QGJ2bCG23Occj6e04++RO4DSK8dG1ImRS8o45Q2P5yWJmW3GUyeFcaLK1KOQR0bPOPT25JWC4EAzbxtn8VtyiGGtcLSVi8mE7tHyXPPOJ1wsMLdN80erNqWsV07UHSTwTk536Ozzug4Jy6MWAq2ZpGLq+c9pGPmP8Ak5xG2ycLJkvKNmHEV3R1Mk` &&
|
||||
`aYthomq3BNGrjjH8NocDW49IfKkNeNQV6Myqu+E5vvjyZavHt3e3OzlTntUdxsXNxh2w9NU+oNnQNPGm6b1lsQDJG2bGOwoN7CTi78lXPGIiIfbvPEtiLyrRHfJP5E+xmOSDupscQCM9/bDDs/1EmLqMG0mrVIIV1STc6nu0traux5FW3yWQCQluctjkxZY4bWoYZHmwqBm+FeeRrnHYYHyQ75JKiN6Zi7+qfZrtUzw1p0kr3eVTNOjF` &&
|
||||
`xUiCqcXYFH3weegAwuNs24tIds38YnxKu+cX34lMVuEcrIX2jbIo66YGj37cThYJfp5Z27kN2QYl/6ZX1NXr92btSzSSL7e9yO4PIquIo3ATbYZKNuhzT9Os6pNp9SKjT+yvo8Ea1tOKapZr3reRJ+k6/f0arZS5Un013AXIzitgJ6hc3GMAUQgOMXGGxCjkxJXtOymPgFj4ZuSVbfGH7KkbGDuKI1xj73i/bhfGbi+tR/8epMtrOPXk` &&
|
||||
`dt8Zick2sWKFG5bWjWSrX+3Srf1tP1JBLG1OxHbq6/T+t0v0ve/UNG9ThpCzxSn4xB4iB2AwADDnLOfiYBZcXP7TEHvObbkRqceFebx75CrMJ4jyh/jttkLMJ3yPl9VZf9hrEdjTadClrFK16YtVhBZPftWoqxkHOIR6lXVINUmFHSKVaBEVF+67y0nVAUliqN+h6rnptxQ1+1CLEGpadCqmFYrSoM22Azlm/RyQflot9/ktiYvQYpxz` &&
|
||||
`gxXAzcg2AJMUBVJzlg2yQK6inG170o2+m5qmm09Sik9NTo5qTR5WoqYoa8UR/BVss8gab0/atwVtTpULk2k2PUivWkqzx2a7KrZPBIJ99sjlEgzjmwxskG422yFt25+1vjB8YM3zfP7YYDhHg/P9qmcfHfTt1OfP0XIWqdSAfx65pNbVa1ie3pyV7n6Szaho2rVdN1C1Uq/wDju13NNzWIzLp89WVJqCTBmTyTh6SfxL5AT3mXN+m/3H` &&
|
||||
`p/TEHF+cncRxdt2kSvaYena7VqP53VXSf03oszr6Y0UQt6M0ovpmm09NjzUp3r1bM8liVH4FZd8Yqehxjk65CvHOftwfaB0Of2w9oHlVx/B1BlMMarNe03S0rS/wCPe0oyyuWWRG6AKcchQZUAB5FFGEdFGHDgxeg+WwD3N8EeVOwk+WhabKWnQwf5Wp6TWvZd0+1QxGVl3GOw3lILJkfwfIxW2zflm2AYBhxcbBjPh+GyYuZtH0y3LY` &&
|
||||
`/y2UMtjQ6MmWdNuV8Oxx/mIe5V8Hx1U7ZzGKw3LjiMLYCSPgA+WOWG4QNGfrIIkhT/ADpqFaWTUoYDLGnHEbYJ7maIKWGbYevL2jydxjHOWM+XGsCv6cgsWbP+gtUYLBn0iKTLNGaqIQJFlu1o5kIzkoxvdgDYegGH5Q+9osszwRSsjSJolZq8P+j1jShYL0xAm70sBBG+cm6ADGI2PxZjkdIrlmNNB0uSzXqaTp9WT/S3NJeSUaNZ3X` &&
|
||||
`Qmq42lpap6h6YqcXq6tUEE0cyMWijgtO4cO+aJE8h/1uqaJVuSSaLZsQ6dpwrHtx//AJ1//8QAKREAAgIBAwMDBAMBAAAAAAAAAAECEQMSITEQIEEEMFETMkBhFCJxYP/aAAgBAwEBPwH26ZGLlwaWVtZoY1X4aViiY4aSWNMWOPB9NcDwpk8DW/j8GON8mPGluutdkkZowkrXJVdsY6vZhxRHGihIvq0V00ozRad9mLC8hHAkq9iMdT` &&
|
||||
`ohjUe6l1aEZIa1RKOl10irZhUI7L2cEKdsRY5mtDma35Hk+BZdyxj2JSo9RCnq+SONyIQrghGpl+xgWobfg3KP9KKsqhwRUvkUmuRS1DRmbk1Ei/jcqT5ZBLWq6RxSkrXRYpOjJheMWOTZ/G+WTwqtiEWtkRVbiNUT+r60KkNWbeRqt0KVozKX3M+pIw41JLUKCXHT6b/weO+RYv2Tx6lQov5NK+DQiWzvpHcy422YoNLca6bsoXTjYS` &&
|
||||
`M7Th09LWnqyLlxXX9Iv5GiW6FwQZsfsnkci2YsjezORqWrcxp1uPk8GSepkVqdGKGldnkvp5EIcdjHG9iD8dOdiacekN3sb9JMkyb0x6YuRKlS7M6sgklt089Wfa7RLaVohKxUSxavJ9CRCMoPghKXkctx7j5Gm9vkfpZmLD8dG6Nauhj4IcdnJQ1ZONKjdEXa3E09jdE8h9QUxSsZjXZP1Gkc2yxkN9yhoqu1414HEdtlPySjRFWaaV` &&
|
||||
`lfBHH89nqJVHrqlGWquTJkfNbEPURfY+5UOCY8ZpYoXyJqMqfY8lE5anfX7lpYv7KmVUqZDJa7GuxdKKNJo2M7encx5pQIZdY8yWyHJvsjlvnk1p7+TK1J2jHkcHZDLr9zJNx4M/2+2nTMWSD49pdMuVQJScnb9xNrgxeqa+4hkjLj2cjpGSep376bXBj9StNMjNS4L7Xtyeoez3/CjJxYssK5H6tEPUprc1I1J7GbI09Kf4+pkpuTt/` &&
|
||||
`8AL//EADURAAICAQMDAgQDBwQDAAAAAAECAAMRBBIhEBMxIkEFMDJRIGGRFCNAQnGBoRUzYLHB0fD/2gAIAQIBAT8B+XvWPYqeZ3F4/OFwG2zvpiK4b+DdgoyYzgTUXb/eJqSowTDqG85neY8xNQynMq1q/SPMBz8/Mt1AXIl+oY8NN/tM9dwKwMRwDK255mltsqbax4gYN4/Dbb2wPkHxLGOcy3UGM+ZmbYBPaZmeiMfGZo7ARt9/wa` &&
|
||||
`rWLpxzH+IOz7sfIts7aFpbqmsP2h5m2bZzMkTuQGDoRKbTW4fMqs7i56O20Zmsa6z1P4+TrLsjaI5yZiVUBhP2ZsxdOMifs6+0TTYPqj6QgceYVIgbMJlI3HbPh9uRs+0e0Lx7y24N9X6TUuWpMz8jWN2v7yupT6mmUHgTvcQWH2M3mdxl5ELk8wXvN6eNsamtxheI6duK4M0QRFLxwf5jiBqx9IzNSz9k7ulmrrrfYxgYGPq60zn2mm` &&
|
||||
`1q6gkAYj3qFyOZ/qBIyFleqYNzyP8AqXWBuTLW3cSpd5nZ+wltZV4fPQECHJlb7BNxzlTNwcbXj0BCPtNG9eNg8zspnJE1mosrLds8Sy2yz6j0a5Bg/VBqgowBDqxnO3P9Zp70R8kR7F9lxBe494NQ/gSob/QYRKm28Sq1dvMvtV39MzBAwB5iA2TZWP7S2pWGVhU+YWO3BmkDC7IHT4kW7uOtbAMCZfTV9W//AB0XzPI3mFR/LKWAbm` &&
|
||||
`Veh/ylmNxj7hyJ3HP1CG0n0CUaFE5bkzsp9prtKtfrWU8CIU25EbBY4lnEb6hNNVsXMscIu4zUXm18/gH+2CZZXgbugOU5jGZz6pk7pqGxhpao4MMAK+oyhxYgPTUbdh3TuLmLqlHmDVBvEQBjuMqUWPg9NV9Mscu25ug6aB9uRNSS3LdEOF6BPGIAoXMr/eJgxeV2mWrt8Qbs5HiU3dvwINYv2mpZbVxuxLq1H0QV+nmIAg4ir6Jwo3` &&
|
||||
`H2xB8RqJmq1Z5Dfp0rrLnAh07hdxH5dEOGBl5/ToviGKxQ5m9m8SqxhEbcd04PmMNrZWI20ciFkxmbc8zt5hSbIuRndLm9paoHQDMr+HB+PH/uLSBj3xGUjzPMuXB7Y8COm2V2KoORA6scGMpEErYTdBccYMBPtEyohsOeBEfMZsTcWMU45eW6jIwszt5MZs9PhtLNcDjiAY6dmu2vYW8TT6ZFUqp5M/Y7F+qOm4ZhGOgOIFyIOYlm3z` &&
|
||||
`E++YPyMbf5Jiah1WLqhjOIbUOCRLLyDtUQq1lYsEdpnoml3e/MoTtoB1PoYOvj/wC4jjtuGWE5TKwgKdsd93WsY5hXH4Nxm6ZUDidw+07wLgkTSIgcbP6zU6Ou8c+ZdpBSQPf/ABK9K78kD9ItajnH4Hox9Pj7TtlPSRlZQpRdpmo063JtMu0nZXk9a8kS0YhOeoHTEJxNLpxaCzTRt+846Yz8mxSykAy7SXglmjDExK/QJY5aAfgIjQ` &&
|
||||
`HM0VHcA+3P/iIioML8xlDeZqvhgc5TiGlqWw4juNsMHEzBiZgbMJzKF5/WU17Ex88qG4M1GhsJOBxLaHr+oRqyvkQ9MwGJWzHiaHJZfT9/4J0DjEbT6jeQVyIPhNhPniW/DWU4Q5hrbOMREao7jNLUtibyuMzGP4YoDK6ErGFH/F//xABGEAACAQIDBAUJBwIFAwMFAAABAhEAAxIhMQQiQVEQEzJhcQUgQoGRobHB8BQjMDNS0eFAYi` &&
|
||||
`RQU3LxgpKyFTRDYGOAwvL/2gAIAQEABj8C/wDoiKiak0INTURWNGDBhkQdaM1nQit4/wCUZV94rJrvEZZcZ4eupDAzp39ArDMNhxaZctawoGKXjiMnsN+x+PjRRVnKrTMReuZjEMlUE1LnCAMyayPGNKKznrUGsz/knWF0wnjOVddYw3l/tarZwA4+KPIA512MGIySsozRz40Zus68jGXsFZ60r4hC6CM/bWDNVOoGlSZ5ZmhnSNk2Hg` &&
|
||||
`aWQsTGpn2RX5vUriywgY45cRW4FPjQDVH+Qs7MFAEyeFOOt2hwVOsIAfUMVBt2eKzkKwOAycjWfn5dBV1VlOoIkViGz2QRxwClaAxTsltR66Fm0tw3PThOx4zUnMUY/EzMf0MSOjKssJOoxaVxVxqp1HTn581nr0R0YVYgTvDLeHEZ0lpQbWiqr5cNBz9VKhbt1H4bq90W1WTJMRA/ocs66tTcYgwcPCvzFLYTK2xJB/3HL2ikduu6wL` &&
|
||||
`Ha+IGVGAATrA/oIJpWGQyG7p4Rw9VC4Du8+f4LXbzqiLqTW1bXsDP9mv4d05Yt2MQ5Vd1APosRLd8/0EUyszjhudr1Rn7KVbFnq1R9CYBXuisK31S3wC2sx7491a+dPRPm9w812V3340PZ8JyqVuOwMDDGh+RzoEeeNj2e4qPH3jkYsHKBzoPeZ77j0rrYj79Ojv8A6BerfrA2QKDEPaNKxLsyC5mfvGxdW/AwMvfTObl1y36nJA8BXH` &&
|
||||
`8Pd87IVn0ODkWOTTr3d1LszLEDXzrdoWOvuuMRXHhgULm2MBvF2UemxM58OXsrn0H8dXZFLIZUkaeFNa35fSBQxxzjo1rWs6y6J/Cz6R0BWQMj5GdPCgpbHHE0COz5jXLhwqoknkKubXcd3Ut91bjew+iI4DTXKsTq+HBuIilpPfGh0/etzI8QdRUnebhUnj+PNKxA6z0cpPD+KxsoEZgcRWvTmakZipFTRt4hjGq/OusKyg7UcBzrDk` &&
|
||||
`bbibbjjzHj9cKSfyrqwO5h/Hw6Lu0NoqzUlYJ4eZn5hBzFG1cgDMqT6Q+UVxhu7p6zarsfpQdpvAVKk+TthPL824Pl9a19k2O2b1//AE7QxMTnqaNx7v2X/Ts2ng66s1fdtbMsSSvHvP17NB/Qb7Cxb/SmbHxPy99FbYkyMRn4njlTSZY6nzIOQoGy67UnJjDe3Q1hMo/FGyamtC3cOEYpGYj40cEu6+iuVxP2pkg3Z7FxWwsDwn+Ku9` &&
|
||||
`W2LenDp4eB93CriNubRaGPCRmGHyrHZtFyRIxbopLu07TbbC26vZVT4c/GjsqFrdpfzWKkE9wq1sCAzgy7ujPo0no760q0VFovilS1yI/fjWL2jlWs99NsfkJBddTFzaG7CeH1w411u1vc8o+UnzC9pvZ8zyo/br32Wwf/AILJ3jr2mrBs1lbY7uNAWhqYLZbo50k2jbYN2SMx486gf0Bt9q5+hBJ/jxOVFOsu2rZJxYIkZzqNDMjLFQ` &&
|
||||
`CaUEtqjEic2j5V/wC1uHww/vX5eBY55msSq57i5PxqCMPjQF63buj+5dK/wy4Txzr70T3GtIo4s6DMqsR+pZBFBbqJj4xnUUzptN23iaSFC/MVOzE9erYsdwyW7iaw3LF1No06oqZPgdK/xOzPcnjaEx3RWGz5P2jF/wDc3K+/6sPOidGZodWuLxMUcaoOEq0++iRbuRzMQPfTbMt97Hk+1qE/Mv8A8UF2W2PJmw8IH3jj640epSCe05` &&
|
||||
`zZvE1vbUrGJhN74UP/AEzyc5U59beyX69dR5R8ptgzm3YEAjxpbWyB1s7OWtZzm2RP13mian8bAzOB/Y5U+0UNj2VFtCMT9Xu4V/n96gAKq5ADQUyMMiI1pCtkHLM/o7vGsRXTuo7mHP21hZ29Rj4Vhlo/3UBifLm0/GsJyaJ7vwc6zEU2AW49Fjn7q6r7RctxBuFcvZx99JZQb9wiY3jnxY+J6QBaZjzBim2a5cuhbgzwfCYyFPtlwL` &&
|
||||
`Z8m2m+6R//AJSPSbn4ePrNvyRsmNQYN+7kv1oflU+VfKNy6P8ATtZL9eqh1Oy21IMhok+01ju3FRebGKf7Ev2y4nBOz/3aUhN1Hxsz7qwEk5r35zWBRJ/FW5Z2VtqGL7xUbeC8wONYkB6o6Nx9dNfZvu1XESM8q+x7PP23at+4wbKyP4yHfrR8n7AEVNnRQ925n4QKuLeu9fhIEO+FTxnCB9RSoSNxczoK31wzw5VCtR6y4MS+iMzW6f` &&
|
||||
`aI6MzhjMN+nvoElSea6Hv/AAMxTJbJr73Oh1tm25GmJQaaxaVUU/oUCDzr7PewrtS9pOfeO7o3vZI+dbRbt7UEZhh3fvSoPcKTZtnuXtpC5Ll/4ihY8neQWsga9edTzzisWLY9ij0dZ/8AKlvbR5avsx1W1ufXspbz3pbiCgOfrmrdt2uXlt9kXHLAerSgAIA0HTjQZzFYb4/6v3pW2xUtK3ppcxKPHQ+6KkGRVvCowGk6g/mCZqLlx2` &&
|
||||
`E6E0tz21csnY7zqujIy5+qaQWy1t2EkXlKRQu2la5bjMK1FrFzrXB3kJhvYaN3ZG+z7Qc3tsO14j5iruxFXW4sXMHHIzlzEisd5XXEROf3l5vkO7+ZDQOtYKHfXEQOPOr1+8hQu0KCR2Rp86gYczGYkd9HgBRwmM+dFG0Czl8K/LaKCgyDkD8qIOHD30LhSLkYSTr+BCLib3Vj61G4HATr4g/KgAkrixQd7P8AVnWKSyYdJxMv7/HxrK` &&
|
||||
`o2m2jDQYu+msomBL9uUz4rqPYake7jUJblTkhttMcJHL1USLaBiZZ1t4cfee/p6q2DMgzRCoyYDhhv36D03Nn2m7lhlGPA0UsYQon74jTuHOlxYzCjGUXER4CiiNdKnQdU5HwqHtbQ91WnKydKlLUqOyGgeqpvHC0DETkJ8aazZwXlIkW1BxeNMtzYb4fU/wDJiirpukan4ViRMB/sJX4UjXXe7g4OF/aagXHjWG3s/XnS9Zfe5hbFDR` &&
|
||||
`88/fTFQDdYZE7x/wCKxYTmYUDUnkK3u22beNTThIxsMgTRDGZq53wRQtvccrbJwKTkvhVtTO/kw9U0MTb3OhiM/gdSExGN/wAKO+s8c6yYHwNa0NmkZDcz17vdUMJU5GuquMcJO43FG4Z1DtjGQYxxqLnZHpnl399XHV8QtoFEaGf/AOR0jY7M/aHObDLCvH676CgBVUZDzcCO6Wz2kByI+XqqAIA4VCgAch5pKBVfWY+NBsxI0PDzZP` &&
|
||||
`8AzRuXNTw5Ck2u5ae5YW2RuLOA8T7KDKZBzFRUBwuUxh19dMp8KDLk61+VveIrrLjDTdwns0Ms8VDzO/pOETRZjixNiPI1hAHgKBAzoNRl5ZnAXFwb0Rlnr0NYtwAmTPy4wO+s5GPLLhRTaWVYGbcI591XLwaQclOLUa9KXrmQvWgiGOIJke8ee9xJxDumgxu9cGzDxHmsx0Aml6zxduR/ap0oMpDA6EdIt8NT30YG7oG/VV4TJNp/hW` &&
|
||||
`yvEQmH2ZfKkMNnu65D6j31J1iBREViQa6ihhtEk8zpQAdFnhE1jYbxrez7hXV2Lbf7q32NfmMR3mpu24aeGdZUaZAwTnzintrbyZdyDGHPXv4+2sxTWsQgCRi4UTm2eId9NcxG2wGHF+mePRfB7XWmfl7oprY3T9Z0pe0VQAq/JmkacY1qB0FmIAGpNPeVn+yAwnDrI4+HnlXEqciKNtdpuSpkYt6QeNRcvXbmeuMj5+aMRzOgAkmgrC` &&
|
||||
`MzA5CchWISjHUrx8edYbgg/qGh6PvLaMP7hNW2A/NcQO9jUESujeFG0ghLd11Ud2KuPqrNoMSBRNu2Y4M2Qamx2d4cFz95ApisKvotrPfWJgJ4d1FiCY5UWu9vj5mpFfmBiuta1nbIJ1YGR9eqsxucG+VYbefhTnFvERA4UFGlXVtziNtkC98cejaR6XWgx3YFHypAGRce7BWcXHXhxp7ly2iO7Tuti9ED5dNryWpZVKdbeM9pZiKgCA` &&
|
||||
`OHn50l0cGA9Ry+vCtDUjMeYt1RMAgjuoODIIkdBDCQawHNT2SdfDotktz0XLDy+H/bRo3LlwYTejAB+pvjLeys6utcbAouYQh3iWgH2+3KNKEggxx6MuhkPpLFMriGBg1E5+YoLLyg6/WlFZhgJjurC3Ec86hT7ahj7KgCsR7hNOZbCLa5cNT+1dX1ouPPYt7zewVtG1Om/m2A8IGQ91W3W+rIhneXM+P/AAPMXrLK3br7toHU/wAVgX` &&
|
||||
`M+kefnZ1OtMiZk8zx4e+g66GlwkYmYDD+rzGzIy4a0FUAAcK16NSIzy7ui6xEaKDzH0TRz1yrXJXVz4Ag0HRgwPI0m2LhuIxFuDl1YMaZ8+6emGpcb4QxyPD29Bcdls/XxoMphh0SanDApcEYR2zROESdT9eFFlJnUDvoAjWsgvspmImM8hWAai4uviDRga5mtlRMgEiIjMa++aKu3bGGfGrhVjv8ADl5hW08Mq4WJzFtZ+PnESRI1FR` &&
|
||||
`HR3ULU3jIgqHbtHjw1nnRm0inmNfr1+bphBzA/SOVa9AVe02n79EUDhhSAw76i8JBGE+FdSgw2rglB3jX5e+jbbQiNaNq+cWcLcyz5SOHKeY8OiGq4XOJXbKc8tPfr66/w102h+jVfZw9VdVtGzdYp9K0+ntqSr2wT6Sn6+NRjn1VmjEf7DUYXnlhpVYy8ZmhbxF3JjCgmoImaTsC22Q8avPilMZjOfH3zRe6cKgTJqbjq2C2qkaw/H3` &&
|
||||
`H31NW9oKFQ7M4HczEj41fukqTbshk5Kc8vhRSwyWdsKygfst/HCuvT7tkyuo2ts9G8ZfgtXHVvzlxXl5RkPPnoyNbOtxVCpcWWRs555jnTIwh117+/zD5mMBWUrGbRH18qAVR7a7XsyopcLWid2Z0yjKgcxMe+reAw4O6e+iCMJBwkcjWLDbKMmG5Izbl8Wp8LKV1UnXwP7/RlZkag6ijCtgAGEATzqVxetY6ZNq2x71FEm2Ae7Kgtva` &&
|
||||
`7ygc2mobyheK8Rn+9PgXNRm5/epiktsgvelhy3e/4+ysOFQmvfNSzuwmQp0H139H2a1+be3RHoji3q/ajYtrCWSLcf9I/er1thlhHr1q/s1wnFbfHbad4d45V1Y2i8HgqXntKTJB56msGx7S/VRAXIlPCco7qW3dW5YOHFcua4u4HhRCatmzHMnzAVt9YkZga/XdRvrcUysp30Lt1cLZ4h3jpzp7R9Ieyrl1exART+qJ/fzBMd1a+YuH` &&
|
||||
`gc6yEZ0DP80QuGdVnn/wA0t1TlrVu8NG3GPw+f/dQPRjQ4XiPGslDNM5cO7w1z8Mqm05t5NppiPH65197AH6sWtEjCqzlK5mouHwIFYsQivzFnlOdY7n3KasSc4+VAQEXtAHXxpcPWWxj17s8/CusvOrvEDCuEAUem68sSdSfhW02tHu3N2NYwAT7j7KxGYPZkaUzRnz8+5ag41AgH0poRZutOeLCc6S51qInW4mttw5mhdN53QN1nVx` &&
|
||||
`lj5/OOdZdE0yEkSIypbd0AcAwG6f28wYYmeNadEeZgOFbnLn4VGHC65waykpqeP8/XhRSRhbNW1g8DRLIcPHCZ9fOhcQhlOhBkGstejcfBHdRu3tnZgNXUyo4TB09VYk0OhHGoOdG4AN3KQOVfdi2qxq2fu/mgz3ccZiV7Phw90561p5rXTook1cs3yugIjlH7zTHGGGZU8xOXupqJPHzMugSddKuOyr1SSqP4f8mktzOFQPMmhHQ9u1` &&
|
||||
`gCDddmE59woKCYAjPp3BJ8YoAlbciVnexDnWAnC4E7prC3Hsnn0iprMb3A1lWLhrUDXjWFbNxBxwXXSfGDXW2Gxc0dyZ9Z0qc+8HVTyNTXdT30vXLRuahVWPhQ666IDf7pHqC/A0MCtIGr6/WVQOgs7BVGZJ4Vy6MqiurO7dL9n+2f299B81IEZNFBbZhFUVlUVNdmsunZRsttrl3ewqok6VasHO5G+e/zGxXkXCYOIxnE1APRNXSNGv` &&
|
||||
`MZHHzTgRVLZmBrUxnzoowgc6wwSOFAjzOVREHlW5lQnTQnke+sSrINDfCxwI1rCcjy4ipLEngOJorC4weWRFb6xzq5fRlOFCwzoCWjFmVOkZ+zL39ASHnURx+v2rEzaaAfWdAKGcEwWXODRd2AUDMmvuw0N6v5FGch0ZdEHzVVmguYWr21a29nTqhl6ZzPsEe3zftqS2ERqIjWrFxRlcOARwaNKTrFO+wRSM8zV5dpd71y0/ZJgeMe2o` &&
|
||||
`CgDkB529WQ6MXPWsR0FEdPgahcJPM1nRVVnkOVawTUMisORFHBaVD3VvJX6vGriswLsCO6KxscJ0+vrhWbtEQQDFFLVswTOKSxnvpurxddoN33511YdVABGIHEx75ojfAxYgrPiilQkYzoJ1o1p0Z9GXmfbLF4WVtHDbLpMggy1W9lsTgQcTme/wA23iLyINxEaLbtzw1tOwpfe1etsL2yydwxz5/80m1bTs4XqWVrezK8ntCSTpoK2T` &&
|
||||
`aryhLW2YlvrkQpJ08Bu+yisYARmOFYmxCwDDBs8I0kdGta+e1oRuxpw8yagVDhVH9pmahRAGgFSmQ/TWT+qPb8qI0I1FM+cAZxWQiMo5VrHfyqShU8jwogJigS3P8Amsdth/u4RzoWyN7iRoaTMZmM6+02t27aOJTy50Vw4L6/mWjkQfDzs66mJtW837zwHzpNlK4UXdaD2h8hS2UGnnC6VwXAcNxY7LDWrPlXZRN3Zu0OafXxpNotHc` &&
|
||||
`cSKu2gJdd9PEfUVZusZur93cz9IfU+urVq/ab7B2rjomIluC5Zgd/wom0yuO4z52fSLizOIA+vL8DMVigTETXI8COFNbuJiBHDjWJNfjR8YI5GpQ4hLSJ7+FFjZZQVgliPVofGioANt+0p+Iq8iSIgjlJzPxouUIa3J0yBwmr9y3IKo0htQRVu5ttgO5RSGGRGXOsfkzb3bDpZvcfXR2XabZsbSnaRvlSdbO/x5UwD4JHaHCsKNZvqMh` &&
|
||||
`iEGsJexbB9JASR7fGkQWcTAbzEziPE1hRQo5Dz/wD1BF/wm0ZbR/a36vrvqRhdHHiCKbZLpjYtoOK0x9E8vru6Ns8lndt3vvrA0HeB9ejRtMSAeVBynWLOHfQUqIoWVLFRlyz/AAADzmjOnA1l+DhHRmM9JBg+2oXTpmsLaSDVwNjC3Fx7pjFzB93tpVk7gC9HV7VamOy4yZfA0Ln2w7UEnAjpBz7+NHZhItnLCw3l8KwXrSiIKsuvrq` &&
|
||||
`UEEkn8G55I8sIq7QBH9t0cxWBsVzydcOR16s1gaHtvmrDh3il8neU2+6P5N/h4H6yrZvK9gb+zPvcJX6y9dJfstit3FxKa3lBir9y/ct/aCxLKTDROUf2/Ws9G4yv4Hp1rLpIxZDKO+o/FPS930VkH1V11475EBZyUcqfWCZHt/H6u8MNwfl3QM1NHYvLuznaNlbdXaFEg+Pf78qx7FtVvbdicn7rFDr6taNi9dVJzi5ulfXzp7W27Jt` &&
|
||||
`F3YGGHMdn11e2Ukk2XkeDfyD0XEWwL5MbpAPHWDrGtfdWbpCnX7MU//Qx7acPZ6s8SXxHz25Ze36ipH47XDoomjauF1uXLgaA2QGuXsoqu15Hjg3hWArA9HnH9AyOoZWEEHjRdthVSf0MVHsFC0dkxZziLmfbWIXNqUfpDiPhTJsdnqw2bGZJ6GuoASOdG5cOfwrLzshnWsnj+Nl0KhzDOo99JZjenIkV1jEv+nu/qLl1HAnRcNGzdQp` &&
|
||||
`cUSR+3TrHRn/RW1H+qn/kBSnCrMOJX+q38SNzSi9z76xwuIMx/uX9vdWJGDDmD0Z6Vuj+hS2hw4pJPcP8AmrT37hFhGFycEF4Mga+HDh/WFToaLWlaxd/Wh+POjK9db/UmvsrSa06Y87LzT0PdicIJrZ8GZYm3Hjn8qCooGX9f1nVgPMkj0vGuqCmzdGu97xzFRikjXKCOnOp87Pzb/wB2jJhOjQRlS7RfwWksHEtsbxLEEZn9v8hxOC` &&
|
||||
`G/UDQzzGh4j10S4a6n6lG8PEcfV7Kx2riuvdX2e7fUXeVZ6fgCpmhba6oY8zXUAb149WPXlTFwQzHQ/wCSC9sw6u/Obpukjv51c2e6Q5ZpuA8SawmW2bgeNv8AipBkdEdOVTQ6m4bbgyCKxbXs910/1LQkGnv7VbKddcJKOmfcD3V1lnZLaPM4gP8AJmu27yyx0Iis3tR4mp2bBfWc7NwlB/0kafWlfZLmxG2pO/cuMMX/AE4Sff79KV` &&
|
||||
`vJ9s7OwmStxpqb2zNtVoenbXfHqrHacOKF1skMmTTEbE5QrunEsn1TW+mBP08T411ziEHZ7/8ALvtCTs20/wCrb4+I41b2fbNvR7FvMIljDiPNs/dRd2xsRHdXYX2f/jr/AP/EACwQAQACAgIBAwMEAgMBAQAAAAEAESExQVFhcYGREKGxIMHR8DDhQFDxYID/2gAIAQEAAT8h/wDiKjczzKFcUQUbt3KflOOPeCBkb4DyMVs3WbZqFn` &&
|
||||
`iItirN/NcQLHH/AEzqZnliNau6aEWoWD2SzYpYcDsjwGOZusnUyJAWUUWnS14u5bo7kDn+4/0HKvyVAP3+zAypMTcDR3gOdcWw+naIoJckq2SNNc+m+YM+EB5uz9paCzcbAC/+kDIFYyI7uJBJvJjxQ36b6tw2CtaXGWas9CIwt8cGdV74d8yyNxqlfxRZ/HNxfb2MRYASByb9GseCUA0WFh1SIe0CkRgWpV43zfO5ncivvLJQGt7tTN` &&
|
||||
`+K1q66mc35pegV8/Eur2l9hcryXTZdnBAwhp2g0Gd1qLQcn/QvhEkoHcakshWjVWAfOT7SiGmh+Smv2iVK2dnxHzb8zQuXZCxUOpn6LFPXKMLxHm3Rj2hjXgXH2jafkzbOlk5+Y11lFD7Fr0IJd5IdlE4f8ihXbt/4O0u6v6U/Aj4BkA3YR9vXjdMvNQPPf65LMMtVGJdwwqHMMMcNkG4irmFIYgWZQvumqJzQCorUL0Qn81Vl3PVOKn` &&
|
||||
`sqnZlSRVBPLf4wMmhwMntz/wABAW6mashcIvD726x1vxElilSHWqrUjUDlaI4PqLvmpeX22GfWPN3ZMj6LbJuViWJa2J2+0ahuDLHdniHXmNzE6I6ZSVKGoUHrGnDJml84IVR2OHo/wkxa30EtECw2qFb4Fav4rA5YFwXb1cc8Pd/8C3G4dZW+auyhtV9gtxVhFBAiA9WuMY11iXa9Kqj4BVCp4RGLy/U5YYiMIeCWlIa1LIwc6TM6gt` &&
|
||||
`wi1jMrpSGrfiA6J+Xhho51e94IcCKUG5VKLNr6IGaFG/T9eR1V6tp4Gc4Ct3CLNQ4s3j9ioDMA/wDAbARTWm7we5l48zWtFkv2DN10j1CHH3fMdkbS79dcRF4YOHFOpyGEgWoi3FTUUvbLHxB6vE0yiGCxlmfjM8QXtYpCuM3S9azjaFxhgBh/VdYnwDFadt16Qtou1tiRpda8H1le3KFlD3j0eP8AOqtAlWlL0xNZmHruX+8wGaBBxH` &&
|
||||
`/2Ii0hlsozkKiecpSJOjXM4f0DTZAbllSJfpmOGIXdRWzqchmOqnBLur8TLAgi0sZtIfu0iuc79OSNbduyuPtjOY8tV8foG6u7gLWFFWcpFui0dq0W52wo2thJyIUAbYy8JQCBjabTPuPxMMq+BxKief8AOQi4jB5E4mw+2bcF5iPeHKwZz78fLGaxZ4ZXBuLqkgSrsCHVIP7pX1Behr9nmNe5Xty05rnxfpDlLgeKGT7vS+0RtLtJzl` &&
|
||||
`45/JFsudZDdvB7uPeEVELea8TNuPwI45m2/pEFlTfaivMOojMQpO5TjjIqc2t+Bs67mR5o5Vnt8f0+tCTR3F6/c15lZmYX2O/T43wm/fjTb7Km+TqpwV+CGx6Ebo3XDG+Z8ja+DFvR4xaGIXczf86jkGGqXizBZhA1xJekJrOttlYedcZibgzJ+Dx/d3LtYYGqHr3OZuVt5i4HRvGJ0BXqHIerEggyOr259SDsMMPJq8rsoFjUodilzk` &&
|
||||
`un3xK0N81gyCrq1HpM6NJARxY4BL1bhVUVx8zK67JV9MBlmKAwNK5zewTzLVXNVT9spznS9EduRehsJ+fj3dV3OoYH2H7dxeZomJfwjfawFVo5i1FEfIgFwhb4+yc87t2FGsUQwFpwu0esxFIq8uJXBBXivtznnQgdidBuOThRXwOp72MQ4fBgw+JcZ90z6nbvmZxHzpZ/73dNVEZdyxSl5W2XN73dNzREBi/84SW41G9KcGuDygG1rK` &&
|
||||
`48EABBeSTLXyX8xZARfq50uz5jQDG1I+4l17ep7bGD2fiW2qFq/ux7RmxconQAFmmyWbao2avu5gqt85CZQZuoVQZYTGI6lCwuoR9WnZ6KKuHYTvGXLiUlEDgaJuLbAWg5OAlC4I2CFcikxRBLguzLrAWL0kf2zs2zn4d5jvl1AfL+JfJ0CKB5vncsm8ekY5YXJVptAVvTK9gRu1XJgJKHpTmkb4MeIbRXI91VDnBzeApu3O7SsXVnru` &&
|
||||
`m2GA5bLPaZeZjsfNvxeA+sFAUp21PNPGrbxGgDBaR3Qv3GUyiFTchHpf2AqxeAg1m/82SD22D4H4YZBo0Wl0Gl3qtMbC602UFBwEo1VY03FYmR5PK/ge/FgjerxZ+DcDCVGCh7v/Y9yDe16XlH/V4Q/JmVDowzXM7t536cEFUYKN+x5z+3Z9Bh9SsWQFys3iS4yL0TAxyTf1x/MMktAhpWjFGt2PXNasFShajYyBb3KnSTF2ygixVZBd` &&
|
||||
`1djxEoKwImtKMDdjd7mMfNjyp9ddkdw7jSg90e/ZH5wFGnVavg53LpfYU33GVZfij5ZY6xa7hVuA2ri7ZeUC2XByZpsfuRKpDfUVdv61Ayh+gCWJUJWAVHOpfH+j1GoLR5pxMu58UF2VuPbStsTQ5N1BShHJpyhFZAh5DWc4w+LteWUHoGKS8U3tKSOinQfY8cSvTWZbI6fP8Ac7m3HiciIcSehmCC2lqrz8wu6LlqDXWldH0v2scXKD` &&
|
||||
`23+2/j87hBjDcArM4ItesUKMtLF8MU22wy+WDal+ZmBv7SPOs+CZShf0+V9tMN40psWFk3bRQv3QS8AcVtV2q5uvaFZa59N5TaF2+eiZh1JR5ly4lpoVWbeWh94vgaMj2RqBRmzWfIcDnmo8Kbry1n+yE2BQGA+uWhexhzK4SOiVX9dSwOMUNilIG92AWpAQE0kBFjau2nJOem2yHXrMNhZewiYUw6YTXcpWVeQaL/ANR3t1QTnC+ixV` &&
|
||||
`ZsMtVYg7+b9ZfxYrYN6PvXrNn/APg/aX8juU34iicG9JQfxmohAobr7Bzi4vozRSLwErDhWTmMxLWKI4dqveuJamYVLw4fF+8FHZWfPdh7XL03Id1/9RuFHSZv2/3Fn2Kuza5sO4nb54Dz28Ht8Q4rRBrfZ80YhB+im0ymb1DXOYubI0LWBy/Bp3C9lpIJlkwMOLyxLPb7Xa2re96eYKYeRSDeas1nPDtRVLQwxbggLFAU8K0Y8QEIy9` &&
|
||||
`p8mhzL93pYhqY3ARrIvWvRxmJl0CttMIGY3Xri6PoEALBsLpr2Vz1zLLc2BuvBb63djcvRajk/XK45C0usF5iPhPNED7t50fJA3vozZNI5c6vBnoVCBfAJnJ5F0brUM5Cxy/qd1MeB6LfC3t5JZhtCIrpY+7NFUE444Jj19oxdDBQHmyj6RKOQUe6D8nnXI9T1dz63LhwpJC94XJu97hyrtHCdruPZJgeL9wG7whrDRagFBZe3VpoT5q` &&
|
||||
`KaQoc8I/vbQRdBS81hx4AD2hpzwIZ/b2lgnXj1fSBa+a9d6gSwoHxK/aXeaByOacXiaGD5CIPhE3xmZStMwed/3fBDACrKFZi+iha6hTbNZPPKfmvbQroe7zj198gQeG4prPJFuvdGQCHQM0L5BYzr2LEfDUsp7iksrZ5Y8v8AV5CVhgAKX2rzOeNF1PO3A84caujMFQRZNtm2h8B5+rsb0OjK+XIHm3FSt8QOAgxcvVEi79ojfUX4we` &&
|
||||
`p6YxDBAUAoCDSvQUfS2qv67qrCMv5H93mEYoHk8HzBOoI+iUUZgMwvAG1LPHdHxGfnQ/Eo6p7ttr0U3DeDsNJEXA4L1j5jiodgc8sV4MmM5iWGkVHXLxkw9kDmrvF6ZzDq4mB8s51l195sEhVf33l+FHZCxzNah0hcO5j0lK1g9l9DKXd0NJRXqVXiYZa0GohTbnF95lBaYBUw1QuzCmHe84uMpUuWG25sA9AjeizeQEzN5c2y+OOcN1` &&
|
||||
`m4SA3W0+HqdPmrC4BpOgiVbHrR4+tDOssu2cKVd09ZelZmGkWEZKWMNlQVUBVYLauvG4fsASpExR95d+gAVVgWlZxMYG7Bpm19y+mPKFUkptZSqVosSai0mg9EL4cen95nNd6HZPHmWCfkGeLM3fn98pR9LNzYzb7gP5TGN24NGL/b4JW2HEUWtr9+TzAv4SoD3b+0CC+R5etl/E05mbDHgrj3ZeXhxW/BM7bstXGPTPd6cNzWMvNNfb` &&
|
||||
`+/vMe9RPtCdmpm381WIDfOG2WojFYsOfKuvXzMP2fyFW3kAr9ksUrGnzKLPV1PwV/eyqA0pw5XBUxuuRoMPNdG71FAsqKLvBBiYKN4Xhp07pdJdMzVbFYAPQrNrZCF1Hb9DwtaKAlFBBbX3BfR7talF8y6XmP0DlqUUi2DCMPjYWJVg65HyXiyNd3TBnVH0JQjSTa/plhzd6IMywnNDuaMYKMR7vLCfQ1hjOuJQGQx/THx92mYtQnUtU` &&
|
||||
`0+YiShesn4tfaYk10drc+Rn6H95jqwJWVPzCkO1tLW8basgwLF7i65+0sht9iH2CcXlC0euP571uh48AzTq+/9bq4Rb7Fb35xN0Hx37foVBxeT/wAl1L9yLPUmdgmoEFBhNcP/AKjyuBxaCMYJ5pfzOCPfkDnhbDHiLB4RS6nGPqb4i/3zMoNg2ULmg/KFyR5FKkFOhk3vUI2Oqj1QV7Pz9ajSJTSGu0b9u4TMCgFAfS4QfoVanBFjC9` &&
|
||||
`5tRHpkfZGiMHDW/wB4aQQsTSfoCZrNu1ZPJWvXxCeikORhjcKGDI5uZUdhfJ36/OctiITawAp2+bVf2ZstnEbxY/JWNvdA8ZYvMqMGm2QEFAu8yjQU2u66QKVv3rEADiOTqlTikdlmSWkIC7pJwDwvP6FcjGA+g6z9kTutJVtzjjfxNftlGHDUs7At4a8YqWHoUVUdYKyylwMZ1nnfHcrJ0XOuX1wm3ZDx+zIk2GacqaUTfLHK+sAAx0` &&
|
||||
`XeRjnR6m4KB19XIZyFnOb021RnzBGVzTv/AB4l/W/otDSJ0QYABCwqmX2RmrGyIgsgaWC12DvxmO/rgu1zqxx5iI60AoJr26iu5knKne2GveqgF2xEchttBf5haKS/orH8wrqe+jX7Tn4VcMvSFPamVNKoYyXvAGkypf0goeokN+nQ99y1nmVjBaZ5Z/l89R1wAfoyegjJdBvcOgrLFwdVq9e0ZEGujK0H7PiVprljH2OHn53D18S++p` &&
|
||||
`xH6woDS0zNcQENl0KukVe8ZxAEBfRt1+xCoIK8C99ITSyuvZ+WO3KM+n/v6LwT5CAlHcLrkfeBQCrXL+mt7och5nIOdy+Dkl4i2pbGRoywyLoUYQi5hZza2TkbX8pa7+pENtkO79R+ONcQNKk5VjbIMXh37PzRzObiAb8syD2b0fxF2yQ3VqOvwSaCoe5YPDlzKhUh9k1NMVoDLhcsjAUKNmGJ6n1gvJAFkQ6Bo4FfdEd2bY53S8uQSu` &&
|
||||
`YCtRXgpT7xUVxFKvXH2GHBeoLP2iGrPP8AtKC2tBl/M4FmirY69qBM1n+N+JjABSJuA7Qa8lXHx+POHdpj0AAPhjB+XxKCuXxDNBhTDVdjRpyKYPpGOkya+1gmzfw5Vx4xZxdcYA7LDLUeO1VqyZ6IlsyGoOx8ef8AYS33RZuX+CC1UaGKcP2x/T9VQpZPWIhQ1hrUzudHsx7wLuXILVdDgeH7ZJXR9UHnKC6t4PoLHMszHyDGVVyYd2` &&
|
||||
`daR0u8t1x8QtasbDBz/faDGABW0h933j2qRpM2gL+YmKI8AH8Onwso7ZndHn0pNYTBL60IW5MPTg8zlYAtnBpzjveDDmOdxW89P98mJSQ3p1zYAt68GKjIRmkZj6MdhhZ3G7hyiLq7l4exiN4DFD21KtwxzDqGwM4uQ5t4MZrrM34WaeJlQYtUu6K1g2tehlj2sOSOVslVVPfl9YCnIuAp6Bfy46+hNh33u/JgPyjmYA8ytLj+tQLGsD` &&
|
||||
`WLP8ZjfTaq5sNrBx3Lv0qupdOVPDmCoHwpud5Kxp0R1donqOw32lQKFaxt9r+jMGnH+Th+6W4sFd/Te9xuBAp0iNHqQMCUEBVpEswgNXbh9twneAFxYlPGnsy0V+qLt9u649rhfakMxJpcVRk0wbOT2/vHMUFD269oLZFVZRpq8XhzGjlVN45evBvzAViqDyS9GE84tb0XTyjxO2eYXkjW1XpZTppFrZkT3bFlSZSsMpau2Ap7M2ddBK` &&
|
||||
`SJLEa3eKbhCszlW6Xor0Ikke2o8l4/MampQqR97fvUr7zVqCQuOFvhuVcAKFUXeTA1m9Xrceygh0qco9U92FGAQhBoDsK/cZUgFfKIuFbcGb4KrNhwS24wRCbC7VmjQ8Fte7tVK5yKoqlZ9RX63WlSKr7794TY3Kwz6QG0xZlmAjq2bfTNVzANBT6oX5icIeCvzLFLYtWqku7rUBzO0W8m6uvceDT2iZrUgCAyVSX1MZhpXAHl4111L1` &&
|
||||
`9eAE04vP2uFOIurGFFoulaxORCrBBmlqDrTXaMqfPmHNqlpp8fnMRu3uLU5bPkb5KIsNgagaS77j7R3TF3p7MF794Ii90A8MSyocRAzGw6V3RHw3x6U+SGVWNPewt0q0ccsfTCdowHmIjgOEeYAFbkMjGN5A+0TXQF2X5fCAbWUhlY/YS1UUNPbatr7vrCKCOysSlVxGkolLox+g3LJQSwy8vCWryS9WP2I+BhxKGX1hS14gNiTcGPyj` &&
|
||||
`ECAFVbl3+zDKcADS6xz9j4lp75qror6jITHa5Ss+i/W+aaZPBZv4gPgQVa0cyt19LoHDdHzHieCIByGzs45PQuVkdW7L8l3s41NDPgeHh8cnvXWiip9UGqhxTSCzrnf8REpk28Pf8AM3erVdxqmVao+wQvF7o8S2cOnvkK+27OSiaU0Guof3vUtBTDbeXEbVl1Vq6t1dW+ZYtWWLautgPRgCYsqLYB9LpYUXLnIfQkg21A5VhhkfBmDL` &&
|
||||
`ghIV9OZRmWii6zWnTUvVq3Kn2qiR9I7XgAKNQweU5IJcIoiFNIgtgkFfQsTOZDyrxuKNVe6y+UPFr+i/VbWgVBnxLu4EWXHSaSQejLcYblhzCrcAxpULTLdscTCRCmQd/g+I/xeAY+ZZbTvuvD/P71YZqnOSo8J3dBMNvU8i7rmO1Q3a/jsmUFX8ePSFGW60uK/ZXMS4dA0wy7jxgDp61x43klbZSK/wCn7QwgUabGuYhTOzbmFe1X/a` &&
|
||||
`YRRWjz/EdfuIMGPmDT6ODybeVCCOI4+AMzBa8GNtF0tuok0rWvBjl8r+2LLgUMiAXVSGd4wYpuqlnJSKCH6Avau6v7Fw/AubdjCCgw7igvaPRd/TN4l5uUbICK6gaqG7YmEtFLalL4A/pXOImlHIN/Pye49Q5nFh/GviAKysFOK/iULxCqbejN8uKJSqtUAm9VHdagjH5+lTN6MZLbbDD6wFvs1/5j0gWWtj1M+w/TeQN+wrhlp7hgr2` &&
|
||||
`5+08pjcPBfLa6feNcOrhZRUTdoZcmG6Vc0anZuWtIlKMKLz9pewipBZhRxiZUMUEMXx7tfD3WDvDXkdnzKhd5YVtWVfPtiiFZOGoC+kNbq4FlUMDWLOd3hu9zf0EttBz81wrXEugoKmXsjm4zFsefoYDSUmKSCbD4lvj6LlifBziAI71XoQIMcNyLantVf0tJrHB6babBooxriZ2AdXrKplSGDiX6SKWRsQm6jz3GA+sEm2XAjl5wbYF` &&
|
||||
`Ra9phEl7Yo261iOUsE0ItaRxPWVbOyBOrjGtzXSquBuj7fFRZ+nAy0OIyIXi+5gV20Xw20UeOfSxoOAhQREDRw0+nT/fQFDGrOSuXPMG0FdJ+fJ/djDvIW2U1URTklfhAtLEQBnymEyF8/gy5qDQ0FQo9DZ8W4g0oWnIcuemrZeh4vXsNPrxxXpdspMd1amPXJrzHCyELyMvFRbgbkJdLKYfTmFNQKPopRghsfoI2XKJj7729oCUY19R` &&
|
||||
`teX5dQOQDKFW/qN8SejhM/3MukrEL3X4M34XUaZthk7HyNkBJFhLeoPJfulqpctnsfKVDCGlUZldnVoy67QH45CnrEtEdj5+g2uyeQY6/ZLHBNUuFIK9iKeAw+z2yrcRJiPaZ3LPAihsajFwFT1xmurgd6OxGIgi6X2Vxz48xWBxzodRPIVYb6n7e1JhlL3O7yGzl9qca1Td89gC06Wd/ZAbvb1Gd+pye/djYo5ybPZbY+5hKKGXsGhv` &&
|
||||
`k/1plNmgqM0kUrlDetVM1nWosMnnnYpjPoesThfcrz2OfTvcM6RIAspWX5JdvbD7yYp3wmB4x92DvQKSxwNMw0GQJLsvasLBnDR+u6sUkHpUP977ELPbR2X5JSq1dVrs/A+7Gfo5vDGTgemJr33bt3CCA73LOTsgDUyUq6U9/f2lHBBwwiu/ouIC8QTKSnuGycF1/g/vcSwGoIqZgL3Fz9GT6OmY+7HmaNxKtYplq+qZqCioed/wAspI` &&
|
||||
`nDHZIC7e5tZ9gR/aJNetxBjvFq42mfRyBqisfH0N2t7ll5/Y1gslE7kQjBu/HuphEd2Uv3eB+eIAy6GkXryx998xXzwO/Hsf4bVNFuX9z+4pAX5fzo/u/W5bca/wBuE7l1TE3Ds6/rFMs2GCOW6Xq35ZRcDwGV+TWWXTMsIHDFS7AgJ71RBQkwBbU1/aYrDG1ncZS48dKUeYueU4NUv8JBcIQFW/o4HMyY1wRsxbpxOQlk2pjRmUJ2xB` &&
|
||||
`FLLFs7ySMJl8+X+5wW+MS7yxZ6VXpv9G0B/wAfIYf9hjs/DTCygMuj8HjZnc5aEPVbYetU5wYYIsHL3CLHsXfrE7DupVxRqlcY8Vy+fpujiPc+/wBKXlAaYXqUXTF1Qk19eV1+Bbg7bjdbqaTrLmsuOOsxreIpibfS+UwHEUllTlna/tFnkzOkZpCDRFlwKgmb95p3NRxMlBCrm6kOvEvXa00Ckdii/SIOQaRR9RPmbI8LcAGfj/gOgA` &&
|
||||
`NYHYk/3MqsB9pVRC3G+DrxqJURvAvGb/eBUTkE+V/Hl7+ioiApjcuKPFcDoioqoeTuO2YYwYuVV0ysM/Aup84LthWvMW2ZxMxwS7lW/Q5g1Kv3zIgD8wRWHRA4s4fTKxe5KvdS6wAXot47/wCOlmYFXFj4S3ywonquT+tRu4U5mks6Y4vMpqV4KhM/mcCVQ3CrUKMymkBcaqZqDBPvJviQsHcVltrLe/3kD5JmtpsTqABRgP8Akh3UNj` &&
|
||||
`U336/yytFTwlX9GxywaXdWh95iziCo44Jdy8wDARNx/KZLqcpwTNNIZTGZW7jLUEKomRUULKNXzY+8IhBoQDnhdu3/ADBA2FJ4hqC5trxRx6GX6m0emd76DV5ZTsmKVUl1EhawOScxM/RibgLsxSjW11KtQAvtLhkJonSBt7ouJ0Du1P6+sGoAMG67/wCfYeOBWler/RKsXxNj+Az+GyUHpx2CZPZ8PEDLCVywLE40bECOZTUJoOpToQ` &&
|
||||
`P9p0MpU5qgyJ1KA2UqmACndLXacALjZc6/6H0nCn+IVldsV3UKqFS1V74+6c8lTkAlWtPT0+JjyWVdGLy6ILBuHUhIVjiGvrcUsDzDVFIEXLD8nUztAPm3l7FvtMsrwar/AKNBKSyBBrWDoFwwYbIpIhGXWrRXWvEGHu58D31eISIhYjYwRGizBvcRuoCp9WG6i4DB8q9cJyQiFl+KbejzzxGJLYtDFjgauLa1bA9Ojx/0qWUzLoDGHu` &&
|
||||
`fxFULypP2hNzEkjHa34ROoxZSxJd2LDxkBhrYLYra9Ba+YvBGafqc8vHBbPRxvHqbILNaiwhuFG0l7whR734mj27WPVMV4N90pEeqcdry/t7/9dbnqtPXiN1vLVXFILWuvkWbwoYWJRAaX/qbuTDhmABRg/wDzp//aAAwDAQACAAMAAAAQ88888888884ARDDrK8888888888888888880l3isemBc88888888888888YEoHAl0dmE+D` &&
|
||||
`8888d8888888PB1yRAXh1lwOj888Z88888888ar7wfQUk2OHdPc8HEK8888884knBHIEl6AFnQYIbS5l8888888bRBVmcz7gIxM0BJYrDAh/kZHim5zdpaN98q/wBvMMOMD+NfBn8fZHBL+BHCY74KX+/A/wCSfhpE/JaV7lpSiMuvrihglLLaLDV0o5LutM4RowRmdqbpx7redMzsyb8KNWDawmdLc4Ae96L14MmXi4iMOgLJZUPBiI` &&
|
||||
`9OCrJIWKKUm4x5ZdfAYe4/oL7TN3JpzazTyFNiWYhI5qLuWm8fBJ8PLy/Hzxn5b7qnEafoBe+cpoqTPsOHzzxZJGasV+jjUqgyB+r57yzzzzzzzzxqFIAobBOXJbhGmLzzzzzzzzzzzDf3w4J9lpNrunzzzzzzzzzzzzzxjfSdgwQhb3zzzzzzzzzzzzzzzzwB8VbPPfXzzzzzzzzzzzzzzzzzzzzzHDzzzzzzzzzzzzzzzzzzzzzzzz` &&
|
||||
`zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz/8QAKhEBAAICAAQFBAMBAQAAAAAAAQARITEQQVFhMIGR4fBxobHRIEDBYPH/2gAIAQMBAT8Q8PsRChEF7QbDPUVZ/pu6IihDOs3E7DLuVLEDOqF1llsyoSvHqIqB9TKtuoEYDMOswspO3rK24RW38bjejwCrzAZNQfKWNRhjRglSy50JtMxQtJjDH8` &&
|
||||
`MgOJTz4DCOcJrb1YATcqb3KJzonSJMEcN661GscKYhvN+8214GUKmJiEscpcbjA/aoUcjv2lh1QHLWr6sAwXByRBdxhTGY0dY4xru79OUAm1fBbN4IfGEq1LLjiIXhAxOEBhEjiN1/H1i9pfQgfVE5RKaM5+coBrbro8vadAfT9somfV395glFsRElyNMMFbuGBKvrKDUVBwfs/Tv2nLS5V6oKMxJykabJqEUyhCcQFD/YkrtyZf5MwU` &&
|
||||
`MZhb5zVqjCxDB6f5Fdq+1SkrA7YjZUIF2ixmC20jls1BRjitLfrGLjwqqIGMEx3CpeMwG6ZhMhakpC61wCKPtNcAohH8nzv34OSDTAWouKnnJelyiWDDUE2lsGCAc4lBLUyztByztBLcIcRzgGbeFSuk0z581CynThpVBMGoGkzbamF6GGYuiIJFrMSEAdkolBiIYO8RE3wMkQYm4sMRQJy9oBOCopg5bjSiok7thlGBYdxsvw/wDIiY` &&
|
||||
`R9SWTN+pMjHy5ecbSNdsXpiAOo84AuAUjJtceQfm+AC2W0PK/KBIRQz1OfDUGJSI5wcGWvRqDoh9RGMtToOO8EajQqUS8vKUaqWo8OcYuRlt9OsWUxfSJdcBpfbGHUpxLhTLBg1HOZ+JbuAMTU7lxlL2IrolLkcqnNYgBjibg5x+4q5eDRPclkdh8/MBxo+3twzwyi0xiG4nSJ1ItAjURxAhBh5KwirF07+/AZZUzsY6y94gu2HwY79m` &&
|
||||
`mHZDKBMnzl78EZUsJfBZS41qU5yy5lKplhAxTrnXo7ju7Okpry6cyX6Prj9zAL/AgDoaf3LNGj6MAc7ZAIlwCM1wM7hKlQOAxigC1+EfOV9ayteGQKWQYHXbjWMSgmpcuEGPEY+3tCvvL82+IrcA1lAbVxcS5ympngGITCfT8xH8craqUy57/uZqAtg3XCuFRBtVCAcsYx1f6VoI0uCfPODMFsCOPnfrzgxY4ifu+pMrFRV3/WAwMshn` &&
|
||||
`/l/wD/xAAqEQEAAgECBAYDAQEBAQAAAAABABEhMUFRYXHwEIGRobHBMNHx4SBAYP/aAAgBAgEBPxD8Yhd8obbgwr5IIXCDJHSHiP8A41KYlo7RXmmAzM4AadfSPQ5QTbBK1oOf+RgJbazfzAGPzgdJROsbcxFJliNmGWI4mCIFYqDgs7N1UE5V+dJfWuv+cQLVo/A0Saw1eH0P3Ni36/P9iO2IYXLI9xHGoIaliK+cOwohsa9f+ClVXT` &&
|
||||
`GPWWKLNLzX1fOr/ASGxcYNAdg7tj0S0vUoFkqXUslVLnMZLzmYMTClepxPrusQKJXgK8MYD8mhfevlEv8ABv8AHe8CjhB7y8LTz3leiNR8x775xB3Dh+nv7hqnHDfpyg54jXAN1+pkIQpYji4dou+9XTn+5b1r4RfdwH3wIhnfJp5u/lAygBMHfzKfgu0FuiWQLx/sA/v/AHENHLFleV/kWcwyDwEFG6Pnrxg45R1t+OHvFZnNlYmCNO` &&
|
||||
`jVXMRXnAdq0YM/1jNI8NXz4vVmAVc/0fuWPDQDTXXBy485YQbQX09ZoTKys1s66VLyA4xc1jYy+hKRbxyY68POPDM0xT1cTgnnUOpGvS+PkaHrmyKi+CtNNM6Y9JndoVq2nfFS7Es2hkqKZjW4tjmWa9w0YUDrvvf3Kayt9O84hKdDL3xi9CvPPzAaoUYDGM+7Mq71fADWGMm3PLbw266DZRm7Gn4fbpxtmAqBbN16RUzPOteZSHTaIU` &&
|
||||
`AcLWn1iGH38Rbd31jNyV3UQLhI07w4ECYzylTVlU9eP09I3cRWxNqYhQYl2nMDWjQcId7u/SGsBKW8Vx9fAlpRrgq+fU0/sqVAYsExMkZO2H6PBAF0iY2rfXp075uLX7/3vE7NqHIFW+JmjS33ho2JpQU4v6YsCW8va4QfUTDVa6QzRLyd/uG9KuFOj3rBTcYfPeUodYWg1c8tLg4hb8RHoGY+pRbR1+3dly4ZiEi8p0MJ9xSGj32+BE` &&
|
||||
`6jB8/eIhpC4GsVC8vfMp0aypqWeUoYJsk7eUEu54CwMQLBqH3q6QGjrEWzR7P6gHQz8Yq/7AxGBtqs3aBQ6ptH6Wu/gBcwuEkdedbOefQ4xB1HwRDj9f2KOssRX1O8d6xQnOIc/wAe/iHjpiKbVxJpl6eZp/sXheAoe9noRyWj0f1L9I3wsaAvV38tjzhp4tf3129ZX9TGOp9jH3FcetY4aabw8GLe/WMEFIgMmd105ge3huOmGgvqvp` &&
|
||||
`EikNImeEe7NlHQxr884QjFB0gER6d33wgVGp7/ANxXnKzQ6J8S2AZibDD4hvt997RHE5SmbHfesLLqXRpRuw2Nlf58SwS6zcYxMCUGYoVM6DHlnzeUDDoUX3rzh4jWAuiPQV8m694mNCbJs949oIwnx3w/sQvaKAc7Qvl1gPQ3F5/ao7e29yoNTlEOdYBtZgDSEdHONtJUNpAqy1jPMwxCaCvBKT5YGjwCnOaNVhx7YZSX3sKJnHKuEX` &&
|
||||
`o7XStHz1F5nnBpR4uXJYpt/IITAXKOXbpAVlGceesv2pcySEFLfTzmKBbXvnDYWrE4Ot9KrznBl3WXZKAOSsb06Uaryrcb4HS1R33x8VWLXb26zYhqPfDRjvmUxEaEQusJWuv+TYeNbLr03iSlPgNShu4OiiXVNdnT1gjYr/NJsTV8U+utf7LwNewSqvemUkVxH3xloqGruztjUKxv8rBt5vV6ae0RQLdWsv8Aw7UW9fsc5WUJ6nls8d` &&
|
||||
`ma8g0e+EZYOnt1OUFHJ6ezn0lVFqGiR2JwPiBB4WRKYljCiJBQV6b97Q7iGzYaAviG/wB34I1fhorKYeENFQdbM8+MsVBOIqWossZYlQLgUzJMG5YzLJsy6v6Q2VB+QChc1NuG3fn5S2KaNOKJWJR1mCU1mo8AoWrxTqF/qAQOu2d9PzkUWSnq+lVZ5NfMTNDv085VLA5LgKxKlmJpUeBuBwFGTngc6z0+/wDxOFLiFdLPJHZ/lVBOAv` &&
|
||||
`U8jF+cSoRxKvo5H1GBbVmpWYQpxzH2z6PnNeQuuIae+a0gNB/5l1TKVe/rrCuIf/L/AP/EACsQAQEAAwACAgECBgMBAQEAAAERACExQVFhcYEQkSAwUKGx8EDB0eHxgP/aAAgBAQABPxD/AJH4/R/U5+jn1/R1hXEfwF45oSvnq+riwAdXAZFIBs1rKy3y+fOHTxUdr/bBfUQikBpE4ncsinSeP9MKk/SNmWKevmT/APTCvsQvUhgmhc` &&
|
||||
`f6K4wSsDuRSYKufTg6nekytMdZbUQMUk93lIiGkT1msU6featvqO56+stDMCKzWeINzwTeLuKME2AeL6InqTBzqhZmwWxvVIDxjinVABTaKg8/TyythmQXlV0GJZo1lUSAKKoNCIojmkwi8CCfS79nvJQQUzFBPNwdX+hjde5GWHpEbTWOiBXOQtVkZoUWIYAKybiFhNCdP23hKyir6JFY9t/AFBnO29HAGbaeXBoUE9UT6bmiwUlpCn` &&
|
||||
`uKA3s1G6KQGgSTDzoNjcl4JGUNhRgFVa25O0cFPAONOfWcTCoLYdkNhPTpLiCY2jJqjZgKHBPBnv8ASHeRzHJKFd52HnpXs0kfvK/w8gAKz/fOGneoeP8AnT9NYNrpgBVroA2rrWRIrGommNodAo7ozXtSqnBWFhFQNGwX+6G5xVrIpFaJ3kCFHu8H134cK/vcq6dyVHU3M2u7jrk4iqD8b0TwT++aNgb+MA4RChRKhHYP2Y11hGt4R4` &&
|
||||
`xGIlbQEuBNurpwmS/bmnTUChNpfJhLLQG1p4xCLuxjPDn4x/lACVIQodf7n7n/AAUYJ8QuX5weqBsTT/u8bbVb0E2tahqaEddhcAAZYolBRGCxwUL0hlcLvBq0/wAYty7xsnmJ84bxn25jNxrv1iSUjrJGypCMXG6UWp4wAoH/AEwE/L1wjOk/tnsDhmzy8NifIAXgG6qAirTQwklzxyFXrV9VJfbiJNFlw/kut+sawcd0pXQEUugrr+` &&
|
||||
`fNYrSAq4EUpB2T9+5NuAlsylL0UrKPWA9MLy0IcMZa9BcH4O3i+UD4L64I28AvxR1+8jKjEJO4BaZI6ZJ10zb5GdIUzYG+JhqeHWJLUlHBGgenH2/gYA3rHhp7ca3dzxyCev8As9jpNImVi4EMqSSnV2lZ2ShECjYEriSOeNfxv1jB0lxny/484bXHb37OFjpWpHgPU24dOFtZBQ7Agfz1aRbLy4PZ69ppUApEgKwDEdoe6qhdEeBFKS` &&
|
||||
`9JtMJoW166kMV9tvbiFtLmnmA6T+cS/wB2QFL5MUjH4zcinl8YLwnUzQhq7Mra1/jFTrfgxSR63gRIC8+XHXA6zlvHcLdk3XnGkIb1W37yVAlixRNZiLTTzAjDVCoOtFmUhBGwSAmyMMvmWfY/xo5wneRuRdOWhEDAacie2WTbwR8YhkVyNo6T+eodcesDgA6GfVq3ruAS+pRLRp1UXmrkQE8XSiAKKWFTTWIMRzeVe/I9wj8YHrFrYM` &&
|
||||
`/9M1g9WvB/1kxbzZhmwxN9mNAtXZ794IGhtfLjkSZsXmKjV/OCok8vnHAYO/vAlOg5hiPF0HnAp6c5jsc+nMVegdVhizKay77GUoC3CTDU+gFaCxDnlt9E84fH8KXgsJNpLIABuvgY4lDFXzQSCQwTBaT2eMhML5ZSt/nmccGeIJWpFJRfePA6qhZUpAQRHaEDEwjXRAAEvtNhh4ZS4zpPxlxu5DH2TEM1O4UNJuHkxEdmkxjSq49ZKb` &&
|
||||
`qbmKOKPJ/vcuk+9f73GU6u8gg7Z+2O+g2+8frPjJ21vCIEDrN+UsyaT3HnIFUcHlwcoKV+MTWTvr6wr5JLUFAIUcFDZBbNAk9GKqsikqVVVzYlBR28fwc6pvJI+AFx2HQQX0CCwupSc1On1UgwFXrVWvVs6BIBZp3jUXNQpQaCnfmfjx3mLeCgPg/n8wArkQm4a2QBQtBwKLchpBcaoTwMRKNPTQAjZUuXUX2Dl8BIhTiacip/+oMkFt` &&
|
||||
`pJjoSXjwnvNSdM6wgHu4RS0tEH57MWFgD0o07CoJvDV89Np0iZLw2LrL1GpKcWSrvlducNq/3/APmQ5YjZZC4MoVOjGcNIE03RpTms6tAZl3WuHy5OlfM/xjPMF6dYzAOPrVbTy/GAgQcBtzduzSgej/fGdEAQIRdlCyWh4KskkAVJvoeHX3MWlx5y5eXwMwvsbhUClFzRX6WSGniShOPOxNGol9KXlRbF1KYvlqKvAMKhHcIAzSNxx1` &&
|
||||
`XadzoAEAMjoDP7ZCCw/nKAqwMVxGtDhRu4iLeS/wBKAQ7hKIqq2iiyKX+zDwDQfa1JXVepMTKqaTrC0s2r8YWOg0Md+vOGctjciIeUs+zNi/wh7V8SbU5gVw0s+y4NKQeOpeQcqw2WPmihGjFT+sFOhFaDmKHu514PuqMUoOhsQstHOhKoYlWYKjO2meYZQVEGjSgIjaFMn61Ra1IE2UXETSQSQouol1FDNY1lZoJsxbV3+gVBtQ/7yI` &&
|
||||
`Ww18sYsV8DkSh5nuVb791wLIpoV2uAah43MHb5GSoAEmwKeEilbtoSiQCeygojC5GmwbDy76yO2JEm0OmNCECjaCNIiHibSaBLKJHAQgUiahhjpqhdEXH8Md0ll6pUUoMxqQQbtiwYMgchEabK4I6mj0S2iWAkBUAkqb/GBFF/nPMLVSs3sruRQmUY1vjgmGmNkqMayqIFFQ1rVKtbVxSs2SwI8Hyy8ccAv8TL5lU+wywj4SW3UtiHkV` &&
|
||||
`aMbcjECALxR+XlC2EnefT2aN66eT4+MM6aIt0KNR+TfzlEGQOmgXVNwXVZm3UCIoeUdZp/S3SYYUlLVeH3hs4jtL4pSnUWXDmqV4BUBkIKlfNdoB+7I50PrBQRb7SlQxdmrKuFtnqiiPaugcfdPz2Be1QUEQiF+MTxeY7E0HhJQ6Ku0VrSykniwtk8sDTCZAyHyNpqTBqntFmUjvILZjYNcqI8I7hA83g5Wn2360dYeHSezJ/XE7ognQ` &&
|
||||
`qtn9sOhhvlKABIyaWzggdCGwUBHFEJg2uP+y6qK75VW2FYGPWRUlCmg0HEYUeHBiEAQvRpsmXCKZGCGg05rmna4xLe4IN7dVUaIBYKOvPMAFjyuj+cIk3WJsKCWLCyNFEMQU3mjTSIUAmxCqIUkgDQAABzDAK6wiUeXernMS2KQW3dBS1Bi4BoCrdgNgCqeAV5jEpWqIIQVDaSHTrmOdk4xg00AaPO+NFGPxlMv9xX5ucMG1cFxI2thH` &&
|
||||
`QVAwnGjqg6bhAEdCbIbNjjecWP4wPFxW5vCuI8TCPC4x8zoCrm0tETbJ31MaIvo/FkT558/jCDjO8FKbdYJA0ZYvIQI9uAAXbBoYKKk0awc1j1wzZgfEIg+wKF4XCSuMAro9A6ZMA1V4bFFkEa4aAIQ4XG45gYkSpJVm14StALAW84Wwf2hu1UKtiak68DO+8RtyJm+qBgENjUUoVAU5ECpjN6UIkjrL5IqCgsNCgsFrb7/wB+sfVFW5` &&
|
||||
`45nj9d4TL4z2s/Q+MWbUDC7y4jTBbhCjNXaTlF14rh8nCjiiti2bZNNw28iEWIKdDQVfGaWCjcUNPkjhWAKttREQDTaAkGbY1NEqkTcBtpalIVuARI2IKhzVIIXWHAgxnSiij5M0WDFJ0J6mzFAgXOFFsBp48nvIyUFrD0AXQuEoFk2xSJAlGjYN0oCgxA8tAeNqgx2WNKASvP0uhwXG4UPGDY/bOt6wmhRFSp/wCYWz8F5N6X/fObMb` &&
|
||||
`Utnwue5uVmWBew/YxxCpsoBIIFERRTwYxbUCyS99mFpXaCOEFZjGlKX1pHfvDuxzte4k+02gbQZC46YBhm6qwUDGHAsGrsUPdGqrTHvWzpgTtUc1oAADDOjDCfMg/D6yepA2bsleNx3AhPJjeJSUVtLhC6RwIBNQ1NZrATcJACABwDx+uvLiw7TrXQ7rHguCnXwLp9jXpzjjRmUEIaUIgWG2CoET2OQ6Z9U0G9aTe+4xhNX6chOVR3qM` &&
|
||||
`9iCJABE+F8fOrkjYVePTr9/SYobbD0SUQC9ukY6raKBLRN5ND5cWOd8eQhfsGxAMxcFsa010IocdvXZGsuW61i0TdNDpDn5FaqCDcBiIhwPcZAFYAjEINF5gi0rpuSTcsVHW3piGkWCW2foLs8wFUqljumgaFJF1RbxokBD4DuQQlAtdMIbKoU2W+MN4kgskIkGWr7843hZ0kwGUy7Pyy9UhqktWhLoKb3tzSiQgCaTZA61b6KglEGw0` &&
|
||||
`CYb0tBU8Z7GFY4bkz/AFG8vnEemz5cE1r095LFjJ2nNQvBOpBSc8N6oiHYfAi1xkrFwzsaTISimLhRHeq0IQ2uiCjgihUojTFAaVTE24FQrHrLhT2RNAbsixx3cbcOwzb0PFPnw4HIywSczXAOoUU3et+snCbOU7CJ5fnHBcXUKw5RFPHKBKmDz6N0SoPuqagbDlho5DziYNJG/vjzAVmPoJBW4UkU/QQ7MqVi4wSPANt5RaggiopbTB` &&
|
||||
`2vZO4VXqnYSReqhAFDQrOBGL0aiEltOmMm3Uz2a36lQa6MUoDDIKbDfATBYXT4XYGo7Fg9TKvnA3njY7Q21Tmk4ZSKPEiNtNCQkDmEViSh9v3C5zACWoAZEWBfD0wtcw1moFc+N0jvAwOJAmQJCBKoRWtr3JU1EN2IjgFB3EXUCxCF6qoAKIRovzfyBNDQLBQLVVJWHeoRRbwum0pudbenGqMSkrFLDyHkx4oA2kDoDQfO3lXC4o4mzc` &&
|
||||
`/uv9cqD90JNLNSUCu24+XiiOgCIJAjsJhjCe5OgDj00EqkCRG8PBjaCsL4rPbgPHKOAU9mbYJ4yS/s4RDXHBsr59YiqQgSjZdkfCmazLXqFgnbujmzCopAfTMJuIyLiExWqkkJaPbRJAwZPxJIEgdIjvD72VIn3hTCzbKmBTOw0AkaK8HLDxgklo3J1QDINRXRTxeE/Ls2GmXYHyv0eYo3ziiEIeOHArZEwweAKATEE/OOB+2fMBDGpi` &&
|
||||
`rrDm0bm8knZQoghjdAveNBEADgHjKZshlWsDRty3znQc9XLh4yZMTGmrwblaO90QAotZmWKgWDiexwSAXziCXfgxztxSsDRh+4un0Q8eFrABVAUAxRWQD4QNdpUKCAAMyGC4SlFtlsBGDshmUqooj5ExBmimzaziLp101emQoORo0bsgrQotARimgDEHTHLJORkOLqpdjPk7cq+djr+2+ksPfrBxRgHqK6MI6C+QKJCChgravTQCvge8` &&
|
||||
`yiSvZxxAeXLPg49sJSl3cmIAo9YdV6M8JGCHWWvg6/BoXWBDTgbha8Mk6pWu8CXh0nneHNhiMCZjuYCNihKbPcWiXTaK+fJpzYaFCg+EKwEjerHKDSI+THWIuqgD7FSqXgfFv7yalCBYgUDBC76EK4FFTcA40O03JoFNQAgEUVi8Rf0ssJdiiOo1Ca0GC/PnfX3kSI+DANnXEBfdwGeecHWWJgi2JlIrIMLCzW9YOJAZ4oLBPZ2shAln` &&
|
||||
`k/RcH++KraUAFR5+sT7KJ4NIci+FOsEXgKqAHVcQRkHW4iaT5xXQ7jwr3FFXphCAnylrvwCJk5ZpdwPs1Q8opqKoWMj4p9/b9sWrl81bsh8DxZuXLg7EZmDsVTdGDrHCLJTHVL3aXX0HVBDLtevGPuFDgfyaHzcHVSXDodov8AJHH5Pxk2XA61qB8ZZGsRuko6Ztq63FPlxYxbCHBigKgpYau5l+AB/kIqUTohASCJUsgQMegYD0azZE` &&
|
||||
`iuADQpk4rW2nfN8Z3KD+4BQ+XXzhFJFNmbdgarncsQLl8ESCFKbaTAAARRIog2dKBvtpS4AQa07PzzHzGNN2UE7VehLOmJ4YiFMfiujIoCzYHRMvpiq5hPm+sCSEh2GB+vL8Y4tfR2IIu4APDBtukIMTcdQgKEjdWScKL2+f0W4YgEVVdAG7hDLzLI2HSC6VVogHS+W8OwxUp4csfL3ATutZfqb3gzs64CInkRmCIZcUAWULsK8AsHG9` &&
|
||||
`TcCavUW/Pxg0uKWRRGI+8po1e4LMSKVaghWJU8sh5mPEQ2VU8BWFBIKFbDsIiADYOhCFC6O8D/AOSIvELvzWunWk4HjdyrAsCV2QzAoiTVaa/Bd8I7MhoLSyCD3x/vhF5OKycVVZZX1hF6BKQk0ER+RMbm+cM0cmxPZ7xeZ7k2wKJ0jWdoLM2XMArUNIUqyuj8YNt7eDwWJpggaCxmfnz6dGvJILNaHBRy74QgWoAWqoAK8x0lEEq06U` &&
|
||||
`RBUOwhUD+BjUKzFNPhV9e/8Oh6GDXVIc+LvXl3hoGIt5PPk+c6CQ7HgVh3gKqbXEPEdFTpOwSgXps2oCA0jVK6qLPtwx1ckTkrYEaIIfJippYKSISaS+HWvgwWCtb2Fi7DnDvujg1vqMyDfkBP7q/sZfJGuEFDwcA9HS2hjPSm1tiEavVmu5crjZg0VldpQgQtGDv4aCNAGgDxnCYwYp3KPdZ4PWMLtiNCfeSNO3hFnoPycLAcDsbTUN` &&
|
||||
`O7oTeApEtUFEfInnD9RLJGrdPsQvsPTGcJJlAonwmMoLDFK0BQHSI4w2ZsB127QWbqDwxgw+O4IILKWERVFCaQAbMBvAzbPPcYlgvLbsN4tkC0EHgHMBFSrWZi8CgzQxoIoQV3BoTjNawYQXd94YHcmA/u7hE3QnUGlKb5T7M83kzxEvnY4mXUU8T3P4GTDhARFJbS8EMtYOxqiY6lKVCslLpF2mjOCGlGyUH7PeHnqOa1dHgXzfvJU1` &&
|
||||
`6SX5UfpJlOneg3Pj4PR4MQWCDh3JWqQG2x84oxNZGZjyQL4H5yVwbm12NBG0JNpkP0hACKqLpUBCgKSYkhkoPxooQ2AJE+E/TdML7A4kKgUVVgi1CFCJth9s8DgNB8qtTFU/TTFri4UaUN5syhS9MJ2E7mII70+MtpiWh7dPhPCcTwiYj1+xULfIImhsBBM8mH6MWCPJdjZNx4+cMGwkEIAGgPWJGfNH/mOPl6wJ17RTVJS+BfOBPkcw` &&
|
||||
`IhIXB/kFiEqVddtBZbV1dejFLkG140+n9zDCMwnhJT8mb/AA1/AVdNNLLMTVDzDQw+H5y4GuPx84UOhcQLoXfAiqFcBv2nAe/+e0CKru1rSIFIoOv4l4/oUEHvb8HzkRkzc+fgx2dvYKaRTi26TrZmnP4Nhb+h/D1hpQSzIRvAUIGbAJciHUMNi6e4Lr04LRrztMNpxPqWDy+jKj0GFVTwF6cToxeuKhGRT7YFfAHjEMI0FKMntHy184` &&
|
||||
`EmPaiuR1fB+cV2mxkF1/vR/BD+4BaPhVrwOjCMqIwr8sh+xjl1o/tj+jqgSkqSH2dwU2GtuH1iYSvE6ZcgKVB0/Dr98BMiKCwO8wAD5LyZbUo6Umw0B9ZBdr85c3grhgQQggItEeugXOgqbQ+cJ3G+jBaa+0nwOgnSKRIcb7HeSqQVR0is/tP2x/DdBhrSFDSb8PmEzOg4kSkRilEcYafgCC3REDaszj5ZyeKBRSIiJTmEnZQUeYpQgH` &&
|
||||
`KoyyPDhcWdkDxu8UiheLKjBpCZpbRV4t87EUJr1qjWsjLM/eRtQfbz0Zmm7AEA21BuTyFTVEhQwg/Iof7ZvIQCD49cUx4CEnhQB9sMODKzybQ0UOWCyu7hAU75qiGCJNujyxDg45AmxPJmsOcqRAhqIUfDO4xaIG76mqgfESEIYpW8oRX0AFWmIufPRKh0igUh1DpGQ/s5AQkFRwelp7EwehkO0GsVcFSUBguVFoNdvbmn4qZa9GWBUo` &&
|
||||
`XpJBBsTBd4gH9G7F+Ty+mV1kbp9hiztshXhWtP0B+jsPj9POSUeYHeKIBQ/wAZvlQ2qmmefrNfVBShQJu4aVttyAQACML1zZqtFGVRs1P0hNsyz7ViJNArBVA+UyJ6DvbmyxThgbej1kJ3JoSiE6CfYdQTmqtC8kV84+t2Q0sUGukEVFDDDNplorRzSn2wDwRCQoeGi+smityiiWbgpEUlLcgIpxSGEFFIRKlGBr6D2AvSJKLX78qUJK` &&
|
||||
`kU6bADgVUeAFDB+nFIUsRooiIoWEHRgmBxAmcIgECrniCDxH14xSJgwS/ebWtLR/KZxg0s/IQr8Z5RGUT4DGNibsiunZGz2J8ORF7vDjoJIRTiNi72AfC17nnEgMgAwGqAW7BQBEcxHVNZ+4aV4DiBY2AEAGGtilEbDm2rmoKI1XhIhSG77AwTalSEB24ADr8t5f5mAmJN6ROPnEdgpkMHEKEFWvGMxr1McQAResbtjf1Y6TXqeWiiAM` &&
|
||||
`azgS1LtR0WBKG74em9mu+dEKrNuBl/SGoQqTRuvGnCeLsPEguP0BQogGk3Y4X0RJQXsVpDb43gpVJmigPxxxDpen4wagxPgEpag34wbCwBahgoYJRYOPQvX60N0gl3b+Xp8XCIfQGWxj7cIa0GArfPM9pqQQ8XYjHyMrScKbTWfLaU+gjO5o0INy1srYRE2vca8QtddFoEkEkOY3a7FLlEvNN3jQilqjLVhLSUV4AalifbNAH3miSRBt` &&
|
||||
`SMEqCCxg418slIl1mQEHUMD5TAAABoKqCmqDhytkKGBKLWaJuAXHiNDFfKaqvpThZhxCiXvR0moeTxfHDcF0FBKPKI79nvCfNsVvQalUACqgZ5cELgFGQW5EC4IdCgQFGICFSg2PQ+Qe4CGgCCLwEEMDJdwwWrRQEFPBUGjzjRKHjCOjWUH8DOxMAGsHlS4BGqmrjgXEm+0FYKTgaQoHniHaJ2DTN3n6MRZXfKz5+cAJdt1goKh84Aim` &&
|
||||
`McoEH6aSfUNYO7VlAD6C5p3ToAqVoD0BgQNBhfQFS3oImZqV6FwFlEEtahnBcBu6waWo3hIaDjDYp67kWl1EEVeHesouTFAig02gfSCVgCmzxcf0ABBbQIa/OgfbkwwV/e2MVPpMuI+i5vXlHDKhePHBXXE8QRXYjRgYhEKaGLiE0KkRFIgb1JkKnJEiCao2G4vBAVRTBAIE1QBYzeHsxahBFQ2gi7HDBP0FkPI6T5MpqD7DjCarVyHS` &&
|
||||
`wwnhG15qHOmMm8QLeNgaIu5hkgswKBNIiI4BsbsAOkTIkZUwYLFiAXZ8jFmiCkLNoCJyQ8jwSABbRMDwAQEBh7FWrG8oKKhUF0aIGCAh5zyjwsw4cwCi0Ljjp5bFVOuh5hKxmoAVapZisA8THf2VlTd86Pxk3XITjcJQ2FWvz/AHx3UJoXCOx2GF8DxlmzNu5DpqQMmD2xJ6H1gtHe7ZARUSuzN0RQbQPAVKznv9Hm8B0YfPjCNEF3XN` &&
|
||||
`gIEd/okTwVtdUEALqqlRsTi9GAK1Vm3DYJgiUbmzp6TPagU/A7n2NWmYpAWIkRDErvD3r+GQDxJrJQvGMAq9JHlfOO+tFODFlAZpfOsTe+v4wCSJe5qyieYvjXj434ehh9BE9jlXyft5NTCaBSlS1UCatftXq5USC4RzRfY2/+4pHAUm8uETFAWALg5oWO7PHmSHDLhwBfYBGlEQKhdMh0g9ydEXSy8cDCQJMoNjaXBbLcU0Ngb4vzk8` &&
|
||||
`gsjbgGhSBAs8tkiNfjBjrHcdBmlQQAKqsM0lBKwp8MU/ZchyB58ZFqp7c0BYGjsOzEoZK3eUmwJsEbCDXvYwwdheH10i4XOx4J6fdxKUKXbd+8L1nRDZgsVdxxo/EOO0z0txesd4wul2SCI0Cqkg2GGAHBsC5DQQypL8fqUBOhQUSKuk+fTGCdSjaf+nMVVvc+DFyqqw1BkCdNdzlBdYLal99yfaziFfeUzZI7tgbdu33gEtNFAQPYtD` &&
|
||||
`4esWgFG1+yEsU5S0RiPD2j0C3eENLTxTChqIFEfCOx9jE85YTncepxP3xGxcKyesdQOr7N8p3x3EA9ieYPK10EZ5iCINhvRGR6T2qeqzWsaE/CZUPRbdHlYjnXtHsG7zyeV1A84AgIE+xroYLsIoKEpspgPaFGOqLQxcVfh4ICCg1a1ABbDNK2qKGIW0ehS2PTAuaAbtw0J9naw0OdTqwewM3FDW26wuks9vtrVEhaDw3NkbCuL4vWj8` &&
|
||||
`wAioy2jGmoFw8iaHYygR8gcTEWUJjhUobmjmngjgPa4wENA5THgScoD0Mh1yV3JX370ZRR0ut/8zVViHjByoHeCEXnXtwEZTAGqYXD+MWOXGh8YqyvDx88KXuS8hMCEuxCoO57ueP12GJmXYu3Qi1MmjHyNm6YZssE3Y0jmus4drGxoq7utXWSmU5dAdNBnSgaMBAvUfQAhvErA19YI2DeQzKPMULMeBgW9PS4aJDlNGI+YcmGiFx8CB` &&
|
||||
`KMF+RYTPhQxQe30HV4G3KqOh/Bc7n1NuNgdk6iHkT8nyKNFMrJa1KGgYEfspfExIQBBJ09P75RjdQob0U0QykDXAyEi5sIiCfOzZvR4MOCy99wfrEYssonlnrf752gNrBigIpNydA1KntgzpRllUSTZCx6u4rDFBFISjGpWFlixm8KUoIfJQbPr6e8q8VULUqktqTwUN8ixwohI7UKYFLQqQylAZPXnRWUOLUfeDAjtqIpKZBEgZjhgu` &&
|
||||
`uni34xEDbey4NAF06c8GwnvJQFZEI8he5pfYVkHQX1htwAUgG74MNXrbdmYmq4NmUcPedUQeVIEAroCB/AZsfSuhkI4CxgXWoO0lATFpsoRslIopesBskfOnHYWQzHJZ2Ka06XEHRbGkRPhJ3uQey5LCgZvso68QSVU6I4vofeb+h8OdF+2StWHALjBYyEFjUYJoMnAilCV1dlpoBANVhuYwbNOMqRrcCSLq4sXneHpWKH4fpyYYD5ZE` &&
|
||||
`I4tUDxUwYwFkAHgDRhBQJKEt05RXWmt8ON32L5UFEElIjFpRJ+zw1sD5Ix+EYAOTBKAVjRH5E3N4A8hAFnoaNSTSIlEcbSoQonA6Ud7w6aZhGSwFicduS2LmoAYsWCMCGwQYjyiCCipI7NGnAEBdCoxfdcVFK6rCcbiwgz5UDY0nwY5q7w2ABEd1PMPFEMMUqCeGSzLM0pTWnneFDB8mGmEPPnD6BPOblVMQmaXHtXcBYbKF6marT6hA` &&
|
||||
`EhBp4mCxK0aRpAsOGgDwAeM3/C40DjJppDYgqgB3cSI3ZErodWIC1qGHleR0FBFgElKdm8kwSpCUAlW3WbxQxb6MZxBZCqb1pdZUWuo0FCsB2BdUrsBUgeac/OSITfMJIAeDHcVH5wYJ/nOL+LDDVfXn/3BlJfWIVpwpirLhbrjWIdZfukaA3m9H4wNKrcHd8ZV9tuae+JguAeHIwLIeseGHl977Jdz3hLEiIi02KJ0GIjCiaxlC8+QC` &&
|
||||
`hqV9gRfAjWfCmxsnN8YzftEGgGEhAU/DFDxSEFC0abmuU81ahbDkEUUpugAZ3s7HnBogXFKoB3TwFYRxYo7XUzwm9R5IlTA49A1OU4CkR01CUBx7c6hmsaH7mV5w1ugoqTVpsuBa6wBBQkVaDVdnuUG0BBhtfIadqogxoWWWti3QeK9x0xYG7OX47/AITuQeQqQSFEE6oz8ZJg1Xr0oKgp1SYOz6Xp1pQbNakADnAYJfg1/GUi4nSjIB` &&
|
||||
`jVWU03M5JAIA/ZB+kcA78TfFF4FTdXQ/oVYgYTRYe9mjUX45WFHhB0fIYDQP4htVVRRCTrcOs0ODRNC0CGlqxBbFzWCGLrznwWNb2uVJhxheneVbjopBNr0g+veUYpUWitq3tJbAgPC4N4kVzcMypvUz5OsuC4gnjNBujGVB7gBPlmkgp8frEijXHI6fVxYwoEgpYwuM1o6lS1Vdoqq7VVw0XnnLB3gxpAAUCwXzK/u4qNpA8pt1sWE9` &&
|
||||
`Lg1fXyO6nABcnHXfYkCfgp9ndx/bAKEchEg2bjVTQhkPWa1myCiMV0nG6XUzvY30Zw0aAws1ehIOjhAKLpSql+KCMNykahA1qe1uP3/HaLWI4jgFEYRooLArqJmqbfh7ngKaDHI7glh8IK/Yo6Uw4PY1lgjgob9BrAa49Chbl2IBY3BySwM0pUp4TiOxEcEMwnwcS8cEafGDT1Zqm3kDG6nb4yW4GiSoLOD5PTiHiZr9e8RdCYyKEzlI` &&
|
||||
`jFwR8nC/UfX2W+b+zcOSI8h3HnCrsyxhkJ89yicUT1h0n3nkMWSgyUrcYi9O5VVpM9cMKEX1hKiJdayCXXwYvWrg2QDe1TR5p7yzpAmMondTyoIDaMF+FBsF4nH2+dfo8yBrESliccCE/lLocinwvVXqgnEAJWuRWw2KCrpUCzMDWFbqyHwcyCUcr0/wBQNTjLpsCERGUnPJdZAhJttFQmAxr1Jyn5g/Tt/wAn4AKIgWtoIhBCWul0it` &&
|
||||
`ENkG7hR6pomg9iilLBWMVC/DLTD1zAqxplIMiOOAgr++Xh6Aocj69HzfOR+IaYNL0mIImGjNTKHznWYKQwg03hIYxJ5H+cWrgHCO6o+MBSlM3IC5ZecxUCwvn1ghaPLszFgQgke8IOBLD4IWG0XzrCLJTNUvl+XpZ7/nhB4maiGkRRHpkkIDAQmgv4wCM+AYBEKgCcNsqrLyU0HopH2n5w2kUDhCtYbnAoAq4TMkR3A2J4w5sIAy2BeF` &&
|
||||
`Z8q7rd2cRyw1RsTFVPMODebg8YUVQfWn4yigJaVUCs0e2OrB4wgtWm3zO7+DwQNBkGPTuUHmbG+M1oeMRhX0wUMIjObwt/O8CL4zU+n+c1PxgAutt4J1UubD7ueNG/Eu/2H98nuQiRiH0U8/HnGSisCg3qp9ut63yfH/FpgQFM8rZEkJLQ2j484U7KlmiF7JvSUAmYROn8YwIH4wj/AFD3j0thk65AYNpo5uaesPdK/LjkRo4aTFRG/O` &&
|
||||
`SW6ExMPxif3YzaG8kp5cHRrIYojAn0Y60YYiOJrFkVvX1klkcgCcv5/vxbst8agdhBCvDyXCZAIBwM8f8AH8YJBIUPWFlBuInkopn0Nk6cKjabwEBrK/HiTMYGOxPxinRe/GaTPBRc2NK2uv4yKA5cTeIF5M9Dvxl0cOvG81h8ayyDy4ts0Z23zmQN+cNFG+Y9NoONy6wD7ZyBu4QMExGIAlB2JPaYZLdGlTBtUMQIrP8Ak+P0D6+5lR` &&
|
||||
`E/bDMypppEhE07DWMEoVVAs7VsMngBgCMuxWk+Jkca9TmMA5kRGjH0ObPrJJ+cYhJMQrgFMb4yPWGFFCuEj35jXcXRjIq2Y5Lm4F4ZQHowSOBY2Yu5ZnDDKbcafkmHnK0BlB9nXf8AndMK2ptcvjPMbbd0Ij9XkaNQRGY4SxCwNI6sgQKcFgmgqTeWLPSZsDS+caNeyZR8C37zShvIoZCtzFEc8TPbENSVnb0Bphp086wgE2fGM7bBJ7` &&
|
||||
`wkdDJ2IOG2Ca1iMEiEBQIpyCmT+gyz4BEB8NXrY6x82/sSdFUjIJppRbXQBiuwaICo2DQudzgWwBQ6FKtnkM1QVGEYVLJNKLT2Yo2HPjGmLTWsO1KccEuy1PH3ir9GdtDG3tr3/nLNsimH7OtPM8SJ9Du3K8WW6y03lYVAear6GuhcA4PSJsPLbXf9DZiQiJpwl7IcpuBLGHC6zxQ43Io708Ajlz5aHJv3y+waaA4CvQ4CUROkwLSzBl` &&
|
||||
`ASyTIPIuBFAvMG2PYaP/uVCA6esFvIe3ajSevOulGVZeLCANDWlAEREcMm/ZcGlNRo1IeUpoARwkfk8iD5OZ+P6G4CAIkR84viu+H1ss+mHHzSUnnSb++AKOdct2+Csm+Soh6D4IE1AHSEXAl2JWMNCzy5dbywRSFE3xMD1TA2q6V7VSJs1xBkeJj1SSDUu+Q84TuRykbe1ZtxRwABQqD7hSKosgCpBzm4aeEfADxGo0cAmv0/P9KmTp` &&
|
||||
`hQiAUN5gggIGT3KHnvRQVoIReBgABKJYTpV03o3zVwkAwoGokR161hoQCAGg/qHj/+RP/Z`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_17</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>layout - object page</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,220 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_18 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA quantity TYPE string.
|
||||
DATA mv_textarea TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
|
||||
METHODS z2ui5_render_view_main
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
METHODS z2ui5_render_view_second
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
METHODS z2ui5_render_popup_input
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_18 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
" there are no restrictions how you structure your app
|
||||
" you can use this class as a template or find a better way
|
||||
|
||||
me->client = client.
|
||||
"we collect all app infos in the structure app
|
||||
app-get = client->get( ).
|
||||
"we display popups only once so clear it after every roundtrip
|
||||
app-view_popup = ``.
|
||||
|
||||
"do this only at the first start of the app, set init values
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
"user commands are handler here
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
"view rendering
|
||||
CASE app-view_main.
|
||||
WHEN 'VIEW_MAIN'.
|
||||
app-next-xml_main = z2ui5_render_view_main( ).
|
||||
WHEN 'VIEW_SECOND'.
|
||||
app-next-xml_main = z2ui5_render_view_second( ).
|
||||
ENDCASE.
|
||||
|
||||
"popup rendering
|
||||
CASE app-view_popup.
|
||||
WHEN 'POPUP_INPUT'.
|
||||
app-next-xml_popup = z2ui5_render_popup_input( ).
|
||||
ENDCASE.
|
||||
|
||||
"set the data for the frontend
|
||||
client->set_next( app-next ).
|
||||
|
||||
"the app will be serialized and persisted, we delete all data which is not needed in the future before
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'SHOW_POPUP'.
|
||||
app-view_popup = 'POPUP_INPUT'.
|
||||
|
||||
WHEN 'POPUP_CONFIRM'.
|
||||
client->popup_message_toast( |confirm| ).
|
||||
|
||||
WHEN 'POPUP_CANCEL'.
|
||||
CLEAR mv_textarea.
|
||||
client->popup_message_toast( |cancel| ).
|
||||
|
||||
WHEN 'SHOW_VIEW_MAIN'.
|
||||
app-view_main = 'VIEW_MAIN'.
|
||||
WHEN 'SHOW_VIEW_SECOND'.
|
||||
app-view_main = 'VIEW_SECOND'.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
quantity = '500'.
|
||||
app-view_main = 'VIEW_MAIN'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_render_popup_input.
|
||||
|
||||
result = z2ui5_cl_xml_view=>factory_popup( )->dialog(
|
||||
title = 'Title'
|
||||
icon = 'sap-icon://edit'
|
||||
)->content(
|
||||
)->text_area(
|
||||
height = '100%'
|
||||
width = '100%'
|
||||
value = client->_bind( mv_textarea )
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'POPUP_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = client->_event( 'POPUP_CONFIRM' )
|
||||
type = 'Emphasized' )->get_root( )->xml_get( ).
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_render_view_main.
|
||||
|
||||
result = z2ui5_cl_xml_view=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Template'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->simple_form( title = 'VIEW_MAIN' editable = abap_true
|
||||
)->content( 'form'
|
||||
)->title( 'Input'
|
||||
)->label( 'quantity'
|
||||
)->input( client->_bind( quantity )
|
||||
)->label( 'text'
|
||||
)->input(
|
||||
value = client->_bind( mv_textarea )
|
||||
enabled = abap_false
|
||||
)->button(
|
||||
text = 'show popup input'
|
||||
press = client->_event( 'SHOW_POPUP' )
|
||||
)->get_parent( )->get_parent( )->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->overflow_toolbar_button(
|
||||
text = 'Clear'
|
||||
press = client->_event( 'BUTTON_CLEAR' )
|
||||
type = 'Reject'
|
||||
icon = 'sap-icon://delete'
|
||||
)->button(
|
||||
text = 'Go to View Second'
|
||||
press = client->_event( 'SHOW_VIEW_SECOND' )
|
||||
)->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_render_view_second.
|
||||
|
||||
result = z2ui5_cl_xml_view=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Template'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->simple_form( 'VIEW_SECOND'
|
||||
)->content( 'form'
|
||||
|
||||
)->get_parent( )->get_parent( )->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->overflow_toolbar_button(
|
||||
text = 'Clear'
|
||||
press = client->_event( 'BUTTON_CLEAR' )
|
||||
type = 'Reject'
|
||||
icon = 'sap-icon://delete'
|
||||
)->button(
|
||||
text = 'Go to View Main'
|
||||
press = client->_event( 'SHOW_VIEW_MAIN' )
|
||||
)->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_18</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo - template</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,129 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_19 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
selkz TYPE abap_bool,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
END OF ty_row.
|
||||
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
DATA t_tab_sel TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
DATA mv_sel_mode TYPE string.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_19 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
mv_sel_mode = 'None'.
|
||||
t_tab = VALUE #( descr = 'this is a description'
|
||||
( title = 'title_01' value = 'value_01' )
|
||||
( title = 'title_02' value = 'value_02' )
|
||||
( title = 'title_03' value = 'value_03' )
|
||||
( title = 'title_04' value = 'value_04' )
|
||||
( title = 'title_05' value = 'value_05' ) ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
WHEN 'BUTTON_SEGMENT_CHANGE'.
|
||||
client->popup_message_toast( `Selection Mode changed` ).
|
||||
|
||||
WHEN 'BUTTON_READ_SEL'.
|
||||
t_tab_sel = t_tab.
|
||||
DELETE t_tab_sel WHERE selkz <> abap_true.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Table with different Selection Modes'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = 'https://twitter.com/OblomovDev/status/1637852441671528448'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->segmented_button(
|
||||
selected_key = client->_bind( mv_sel_mode )
|
||||
selection_change = client->_event( 'BUTTON_SEGMENT_CHANGE' ) )->get(
|
||||
)->items( )->get(
|
||||
)->segmented_button_item(
|
||||
key = 'None'
|
||||
text = 'None'
|
||||
)->segmented_button_item(
|
||||
key = 'SingleSelect'
|
||||
text = 'SingleSelect'
|
||||
)->segmented_button_item(
|
||||
key = 'SingleSelectLeft'
|
||||
text = 'SingleSelectLeft'
|
||||
)->segmented_button_item(
|
||||
key = 'SingleSelectMaster'
|
||||
text = 'SingleSelectMaster'
|
||||
)->segmented_button_item(
|
||||
key = 'MultiSelect'
|
||||
text = 'MultiSelect' ).
|
||||
|
||||
page->table(
|
||||
headertext = 'Table'
|
||||
mode = mv_sel_mode
|
||||
items = client->_bind( t_tab )
|
||||
)->columns(
|
||||
)->column( )->text( 'Title' )->get_parent(
|
||||
)->column( )->text( 'Value' )->get_parent(
|
||||
)->column( )->text( 'Description'
|
||||
)->get_parent( )->get_parent(
|
||||
)->items(
|
||||
)->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{TITLE}'
|
||||
)->text( '{VALUE}'
|
||||
)->text( '{DESCR}' ).
|
||||
|
||||
page->table( client->_bind_one( t_tab_sel )
|
||||
)->header_toolbar(
|
||||
)->overflow_toolbar(
|
||||
)->title( 'Selected Entries'
|
||||
)->button(
|
||||
icon = 'sap-icon://pull-down'
|
||||
text = 'copy selected entries'
|
||||
press = client->_event( 'BUTTON_READ_SEL' )
|
||||
)->get_parent( )->get_parent(
|
||||
)->columns(
|
||||
)->column( )->text( 'Title' )->get_parent(
|
||||
)->column( )->text( 'Value' )->get_parent(
|
||||
)->column( )->text( 'Description'
|
||||
)->get_parent( )->get_parent(
|
||||
)->items( )->column_list_item( )->cells(
|
||||
)->text( '{TITLE}'
|
||||
)->text( '{VALUE}'
|
||||
)->text( '{DESCR}' ).
|
||||
|
||||
client->set_next( value #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_19</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>tab - selection modes</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,79 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_20 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
CLASS-METHODS factory
|
||||
IMPORTING
|
||||
i_text TYPE string
|
||||
i_cancel_text TYPE string
|
||||
i_cancel_event TYPE string
|
||||
i_confirm_text TYPE string
|
||||
i_confirm_event TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_app_demo_20.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
DATA mv_text TYPE string.
|
||||
DATA mv_cancel_text TYPE string.
|
||||
DATA mv_cancel_event TYPE string.
|
||||
DATA mv_confirm_text TYPE string.
|
||||
DATA mv_confirm_event TYPE string.
|
||||
data mv_event type string.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_20 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
|
||||
result = NEW #( ).
|
||||
|
||||
result->mv_text = i_text.
|
||||
result->mv_cancel_text = i_cancel_text.
|
||||
result->mv_cancel_event = i_cancel_event.
|
||||
result->mv_confirm_text = i_confirm_text.
|
||||
result->mv_confirm_event = i_confirm_event.
|
||||
" result->mv_check_show_previous_view = i_check_show_previous_view.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN mv_cancel_event OR mv_confirm_event.
|
||||
mv_event = client->get( )-event.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( VALUE #(
|
||||
xml_popup = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog( 'abap2UI5 - Popup to decide'
|
||||
)->vbox(
|
||||
)->text( mv_text )->get_parent(
|
||||
)->footer(
|
||||
)->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = mv_cancel_text
|
||||
press = client->_event( mv_cancel_event )
|
||||
)->button(
|
||||
text = mv_confirm_text
|
||||
press = client->_event( mv_confirm_event )
|
||||
type = 'Emphasized'
|
||||
)->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_20</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>popup - decide</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,361 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_21 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
selkz TYPE abap_bool,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
|
||||
DATA mv_textarea TYPE string.
|
||||
DATA mv_stretch_active TYPE abap_bool.
|
||||
|
||||
DATA:
|
||||
BEGIN OF ms_popup_input,
|
||||
value1 TYPE string,
|
||||
value2 TYPE string,
|
||||
check_is_active TYPE abap_bool,
|
||||
combo_key TYPE string,
|
||||
END OF ms_popup_input.
|
||||
|
||||
DATA t_bapiret TYPE bapirettab.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA mv_popup_name TYPE string.
|
||||
DATA mv_main_xml TYPE string.
|
||||
DATA mv_popup_xml TYPE string.
|
||||
METHODS view_main
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS view_popup_decide
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS view_popup_textarea_size
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS view_popup_textarea
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS view_popup_input
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS view_popup_table
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_21 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD view_main.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Popups'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = 'https://twitter.com/OblomovDev/status/1637163852264624139'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L8 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( 'Decide' )->content( 'form'
|
||||
)->label( '01'
|
||||
)->button(
|
||||
text = 'Popup to decide'
|
||||
press = client->_event( 'POPUP_TO_DECIDE' ) ).
|
||||
|
||||
grid->simple_form( 'TextArea' )->content( 'form'
|
||||
)->label( '01'
|
||||
)->button(
|
||||
text = 'Popup with textarea input'
|
||||
press = client->_event( 'POPUP_TO_TEXTAREA' )
|
||||
)->label( '02'
|
||||
)->button(
|
||||
text = 'Popup with textarea input (size)'
|
||||
press = client->_event( 'POPUP_TO_TEXTAREA_SIZE' )
|
||||
)->label( '03'
|
||||
)->button(
|
||||
text = 'Popup with textarea input (stretched)'
|
||||
press = client->_event( 'POPUP_TO_TEXTAREA_STRETCH' ) ).
|
||||
|
||||
grid->simple_form( 'Inputs' )->content( 'form'
|
||||
)->label( '01'
|
||||
)->button(
|
||||
text = 'Popup Get Input Values'
|
||||
press = client->_event( 'POPUP_TO_INPUT' ) ).
|
||||
|
||||
grid->simple_form( 'Tables' )->content( 'form'
|
||||
)->label( '02'
|
||||
)->button(
|
||||
text = 'Popup to select'
|
||||
press = client->_event( 'POPUP_TABLE' ) ).
|
||||
|
||||
mv_main_xml = page->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_decide.
|
||||
|
||||
DATA(popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog(
|
||||
title = 'Title'
|
||||
icon = 'sap-icon://question-mark'
|
||||
)->content(
|
||||
)->vbox( 'sapUiMediumMargin'
|
||||
)->text( 'This is a question, you have to make a decision now, cancel or confirm?'
|
||||
)->get_parent( )->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'BUTTON_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = client->_event( 'BUTTON_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_input.
|
||||
|
||||
DATA(popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog(
|
||||
contentheight = '500px'
|
||||
contentwidth = '500px'
|
||||
title = 'Title'
|
||||
)->content(
|
||||
)->simple_form(
|
||||
)->label( 'Input1'
|
||||
)->input( client->_bind( ms_popup_input-value1 )
|
||||
)->label( 'Input2'
|
||||
)->input( client->_bind( ms_popup_input-value2 )
|
||||
)->label( 'Checkbox'
|
||||
)->checkbox(
|
||||
selected = client->_bind( ms_popup_input-check_is_active )
|
||||
text = 'this is a checkbox'
|
||||
enabled = abap_true
|
||||
)->get_parent( )->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = client->_event( 'BUTTON_TEXTAREA_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_table.
|
||||
|
||||
DATA(popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog( 'abap2UI5 - Popup to select entry'
|
||||
)->table(
|
||||
mode = 'SingleSelectLeft'
|
||||
items = client->_bind( t_tab )
|
||||
)->columns(
|
||||
)->column( )->text( 'Title' )->get_parent(
|
||||
)->column( )->text( 'Color' )->get_parent(
|
||||
)->column( )->text( 'Info' )->get_parent(
|
||||
)->column( )->text( 'Description' )->get_parent(
|
||||
)->get_parent(
|
||||
)->items( )->column_list_item( selected = '{SELKZ}'
|
||||
)->cells(
|
||||
)->text( '{TITLE}'
|
||||
)->text( '{VALUE}'
|
||||
)->text( '{INFO}'
|
||||
)->text( '{DESCR}'
|
||||
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'continue'
|
||||
press = client->_event( 'POPUP_TABLE_CONTINUE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_textarea.
|
||||
|
||||
DATA(popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog(
|
||||
stretch = mv_stretch_active
|
||||
title = 'Title'
|
||||
icon = 'sap-icon://edit'
|
||||
)->content(
|
||||
)->text_area(
|
||||
height = '100%'
|
||||
width = '100%'
|
||||
value = client->_bind( mv_textarea )
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = client->_event( 'BUTTON_TEXTAREA_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_textarea_size.
|
||||
|
||||
DATA(popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog(
|
||||
contentheight = '100px'
|
||||
contentwidth = '1200px'
|
||||
title = 'Title'
|
||||
icon = 'sap-icon://edit'
|
||||
)->content(
|
||||
)->text_area(
|
||||
height = '95%'
|
||||
width = '99%'
|
||||
value = client->_bind( mv_textarea )
|
||||
)->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'BUTTON_TEXTAREA_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = client->_event( 'BUTTON_TEXTAREA_CONFIRM' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
t_bapiret = VALUE #(
|
||||
( message = 'An empty Report field causes an empty XML Message to be sent' type = 'E' id = 'MSG1' number = '001' )
|
||||
( message = 'Check was executed for wrong Scenario' type = 'E' id = 'MSG1' number = '002' )
|
||||
( message = 'Request was handled without errors' type = 'S' id = 'MSG1' number = '003' )
|
||||
( message = 'product activated' type = 'S' id = 'MSG4' number = '375' )
|
||||
( message = 'check the input values' type = 'W' id = 'MSG2' number = '375' )
|
||||
( message = 'product already in use' type = 'I' id = 'MSG2' number = '375' )
|
||||
).
|
||||
|
||||
ENDIF.
|
||||
|
||||
mv_popup_name = ''.
|
||||
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'POPUP_TO_DECIDE'.
|
||||
mv_popup_name = 'POPUP_TO_DECIDE'.
|
||||
|
||||
WHEN 'BUTTON_CONFIRM'.
|
||||
client->popup_message_toast( 'confirm pressed' ).
|
||||
|
||||
WHEN 'BUTTON_CANCEL'.
|
||||
client->popup_message_toast( 'cancel pressed' ).
|
||||
|
||||
WHEN 'POPUP_TO_TEXTAREA'.
|
||||
mv_popup_name = 'POPUP_TO_TEXTAREA'.
|
||||
mv_stretch_active = abap_false.
|
||||
|
||||
WHEN 'POPUP_TO_TEXTAREA_STRETCH'.
|
||||
mv_popup_name = 'POPUP_TO_TEXTAREA'.
|
||||
mv_stretch_active = abap_true.
|
||||
|
||||
WHEN 'POPUP_TO_TEXTAREA_SIZE'.
|
||||
mv_popup_name = 'POPUP_TO_TEXTAREA_SIZE'.
|
||||
|
||||
WHEN 'BUTTON_TEXTAREA_CANCEL'.
|
||||
client->popup_message_toast( 'textarea deleted' ).
|
||||
CLEAR mv_textarea.
|
||||
|
||||
WHEN 'POPUP_TO_INPUT'.
|
||||
ms_popup_input-value1 = 'value1'.
|
||||
mv_popup_name = 'POPUP_TO_INPUT'.
|
||||
|
||||
WHEN 'POPUP_BAL'.
|
||||
mv_popup_name = 'POPUP_BAL'.
|
||||
|
||||
WHEN 'POPUP_TABLE'.
|
||||
CLEAR t_tab.
|
||||
DO 10 TIMES.
|
||||
DATA(ls_row) = VALUE ty_row( title = 'entry_' && sy-index value = 'red' info = 'completed' descr = 'this is a description' ).
|
||||
INSERT ls_row INTO TABLE t_tab.
|
||||
ENDDO.
|
||||
mv_popup_name = 'POPUP_TABLE'.
|
||||
|
||||
WHEN 'POPUP_TABLE_CONTINUE'.
|
||||
DELETE t_tab WHERE selkz = abap_false.
|
||||
client->popup_message_toast( `Entry selected: ` && VALUE #( t_tab[ 1 ]-title DEFAULT `no entry selected` ) ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
view_main( client ).
|
||||
|
||||
CASE mv_popup_name.
|
||||
|
||||
WHEN 'POPUP_TO_DECIDE'.
|
||||
view_popup_decide( client ).
|
||||
WHEN 'POPUP_TO_TEXTAREA'.
|
||||
view_popup_textarea( client ).
|
||||
WHEN 'POPUP_TO_TEXTAREA_SIZE'.
|
||||
view_popup_textarea_size( client ).
|
||||
WHEN 'POPUP_TO_INPUT'.
|
||||
view_popup_input( client ).
|
||||
WHEN 'POPUP_TABLE'.
|
||||
view_popup_table( client ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( VALUE #( xml_main = mv_main_xml xml_popup = mv_popup_xml ) ).
|
||||
CLEAR: mv_main_xml, mv_popup_xml.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_21</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - popups</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,170 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_22 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
info TYPE string,
|
||||
END OF ty_row.
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
|
||||
DATA mv_value1 TYPE string.
|
||||
DATA mv_value2 TYPE string.
|
||||
DATA mv_value3 TYPE string.
|
||||
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
client TYPE REF TO z2ui5_if_client,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
s_get TYPE z2ui5_if_client=>ty_s_get,
|
||||
s_next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_22 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
app-client = client.
|
||||
app-s_get = client->get( ).
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
|
||||
mv_value1 = 'value1'.
|
||||
mv_value2 = 'this is a long text this is a long text this is a long text tis is a long text.'.
|
||||
DO 4 TIMES.
|
||||
mv_value2 = mv_value2 && mv_value2.
|
||||
ENDDO.
|
||||
mv_value3 = mv_value2.
|
||||
|
||||
DATA(ls_row) = VALUE ty_row( title = 'Hans' value = 'red' info = 'completed' descr = 'this is a description' ).
|
||||
DO 100 TIMES.
|
||||
INSERT ls_row INTO TABLE t_tab.
|
||||
ENDDO.
|
||||
|
||||
ENDIF.
|
||||
|
||||
app-s_next-t_scroll = VALUE #(
|
||||
( name = 'id_page' )
|
||||
( name = 'id_text3' )
|
||||
).
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_SCROLL_TOP'.
|
||||
"nothing to do, default mode
|
||||
|
||||
WHEN 'BUTTON_SCROLL_BOTTOM'.
|
||||
app-s_next-t_scroll = VALUE #( ( name = 'id_page' value = '99999' ) ).
|
||||
|
||||
WHEN 'BUTTON_SCROLL_UP'.
|
||||
DATA(lv_pos) = CONV i( app-s_get-t_scroll_pos[ name = `id_page` ]-value ) - 500.
|
||||
app-s_next-t_scroll = VALUE #( ( name = 'id_page' value = lv_pos ) ).
|
||||
|
||||
WHEN 'BUTTON_SCROLL_DOWN'.
|
||||
lv_pos = CONV i( value #( app-s_get-t_scroll_pos[ name = `id_page` ]-value optional ) ) + 500.
|
||||
app-s_next-t_scroll = VALUE #( ( name = 'id_page' value = lv_pos ) ).
|
||||
|
||||
WHEN 'BUTTON_SCROLL_HOLD'.
|
||||
app-s_next-t_scroll = app-s_get-t_scroll_pos.
|
||||
|
||||
WHEN 'BUTTON_FOCUS_FIRST'.
|
||||
app-s_next-s_cursor = VALUE #( id = 'id_text1' cursorpos = '3' selectionstart = '3' selectionend = '3' ).
|
||||
|
||||
WHEN 'BUTTON_FOCUS_SECOND'.
|
||||
app-s_next-s_cursor = VALUE #( id = 'id_text2' cursorpos = '5' selectionstart = '5' selectionend = '10' ).
|
||||
|
||||
WHEN 'BUTTON_FOCUS_END'.
|
||||
app-s_next-s_cursor = VALUE #( id = 'id_text3' cursorpos = '99999' selectionstart = '99999' selectionend = '999999' ).
|
||||
|
||||
app-s_next-t_scroll = VALUE #(
|
||||
( name = 'id_page' value = '99999' )
|
||||
( name = 'id_text3' value = '99999' )
|
||||
).
|
||||
|
||||
|
||||
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
|
||||
DATA(view) = z2ui5_cl_xml_view=>factory( )->shell( ).
|
||||
DATA(page) = view->page(
|
||||
id = 'id_page'
|
||||
title = 'abap2ui5 - Scrolling and Cursor (use the browser Chrome to avoid incompatibilities)'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
).
|
||||
|
||||
page->header_content( )->link( text = 'Source_Code' target = '_blank' href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) ) ).
|
||||
|
||||
|
||||
page->input(
|
||||
id = 'id_text1'
|
||||
value = client->_bind( mv_value1 )
|
||||
).
|
||||
page->text_area(
|
||||
width = '100%'
|
||||
height = '10%'
|
||||
id = 'id_text2'
|
||||
value = client->_bind( mv_value2 ) ).
|
||||
|
||||
page->button( text = 'cursor input pos 3' press = client->_event( 'BUTTON_FOCUS_FIRST' ) ).
|
||||
page->button( text = 'cursor text area pos 5 to 10' press = client->_event( 'BUTTON_FOCUS_SECOND' ) ).
|
||||
page->button( text = 'scroll end + focus end' press = client->_event( 'BUTTON_FOCUS_END' ) ).
|
||||
|
||||
DATA(tab) = page->table( sticky = 'ColumnHeaders,HeaderToolbar' headertext = 'Table with some entries' items = client->_bind_one( t_tab ) ).
|
||||
|
||||
tab->columns(
|
||||
)->column( )->text( 'Title' )->get_parent(
|
||||
)->column( )->text( 'Color' )->get_parent(
|
||||
)->column( )->text( 'Info' )->get_parent(
|
||||
)->column( )->text( 'Description' ).
|
||||
|
||||
tab->items( )->column_list_item( )->cells(
|
||||
)->text( '{TITLE}'
|
||||
)->text( '{VALUE}'
|
||||
)->text( '{INFO}'
|
||||
)->text( '{DESCR}' ).
|
||||
|
||||
page->text_area(
|
||||
id = 'id_text3'
|
||||
width = '100%'
|
||||
height = '10%'
|
||||
value = client->_bind( mv_value3 ) ).
|
||||
|
||||
page->footer( )->overflow_toolbar(
|
||||
)->button( text = 'Scroll Top' press = client->_event( 'BUTTON_SCROLL_TOP' )
|
||||
)->button( text = 'Scroll 500 up' press = client->_event( 'BUTTON_SCROLL_UP' )
|
||||
)->button( text = 'Scroll 500 down' press = client->_event( 'BUTTON_SCROLL_DOWN' )
|
||||
)->button( text = 'Scroll Bottom' press = client->_event( 'BUTTON_SCROLL_BOTTOM' )
|
||||
)->toolbar_spacer(
|
||||
)->button( text = 'Server Event and hold position' press = client->_event( 'BUTTON_SCROLL_HOLD' )
|
||||
).
|
||||
|
||||
app-s_next-xml_main = page->get_root( )->xml_get( ).
|
||||
client->set_next( app-s_next ).
|
||||
|
||||
app-view_popup = ``.
|
||||
CLEAR app-s_next.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_22</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - scrolling and focus</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,199 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_23 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA product TYPE string.
|
||||
DATA quantity TYPE string.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
s_get TYPE z2ui5_if_client=>ty_s_get,
|
||||
s_next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render_main.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_23 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-s_get = client->get( ).
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-s_get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render_main( ).
|
||||
|
||||
client->set_next( app-s_next ).
|
||||
CLEAR app-s_get.
|
||||
CLEAR app-s_next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-s_get-event.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-s_get-id_prev_app_stack ) ).
|
||||
|
||||
WHEN OTHERS.
|
||||
app-view_main = app-s_get-event.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
product = 'tomato'.
|
||||
quantity = '500'.
|
||||
app-view_main = 'NORMAL'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_main.
|
||||
|
||||
DATA(lo_view) = z2ui5_cl_xml_view=>factory( ).
|
||||
|
||||
CASE app-view_main.
|
||||
|
||||
WHEN 'XML'.
|
||||
|
||||
DATA(lv_xml) = `<mvc:View controllerName="zzdummy" displayBlock="true" height="100%" xmlns:core="sap.ui.core" xmlns:l="sap.ui.layout" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:f="sap.ui.layout.form" xmlns:mvc="sap.ui.co` &&
|
||||
`re.mvc" xmlns:editor="sap.ui.codeeditor" xmlns:ui="sap.ui.table" xmlns="sap.m" xmlns:uxap="sap.uxap" xmlns:mchart="sap.suite.ui.microchart" xmlns:z2ui5="z2ui5" xmlns:webc="sap.ui.webc.main" xmlns:text="sap.ui.richtexteditor" > <Shell> <Page ` && |\n|
|
||||
&&
|
||||
` title="abap2UI5 - XML XML XML" ` && |\n| &&
|
||||
` showNavButton="true" ` && |\n| &&
|
||||
` navButtonPress="` && client->_event( 'BACK' ) && `" ` && |\n| &&
|
||||
` > <headerContent ` && |\n| &&
|
||||
` > <Link ` && |\n| &&
|
||||
` text="Source_Code" ` && |\n| &&
|
||||
` target="_blank" ` && |\n| &&
|
||||
` href="<system>sap/bc/adt/oo/classes/Z2UI5_CL_APP_DEMO_23/source/main" ` && |\n| &&
|
||||
` /></headerContent> <f:SimpleForm ` && |\n| &&
|
||||
` title="Form Title" ` && |\n| &&
|
||||
` > <f:content ` && |\n| &&
|
||||
` > <Title ` && |\n| &&
|
||||
` text="Input" ` && |\n| &&
|
||||
` /> <Label ` && |\n| &&
|
||||
` text="quantity" ` && |\n| &&
|
||||
` /> <Input ` && |\n| &&
|
||||
` value="` && client->_bind( quantity ) && `" ` && |\n| &&
|
||||
` /> <Button ` && |\n| &&
|
||||
` press="` && client->_event( 'NORMAL' ) && `"` && |\n| &&
|
||||
` text="NORMAL" ` && |\n| &&
|
||||
` /> <Button ` && |\n| &&
|
||||
` press="` && client->_event( 'GENERIC' ) && `"` && |\n| &&
|
||||
` text="GENERIC" ` && |\n| &&
|
||||
` /> <Button ` && |\n| &&
|
||||
` press="` && client->_event( 'XML' ) && `"` && |\n| &&
|
||||
` text="XML" ` && |\n| &&
|
||||
` /></f:content></f:SimpleForm></Page></Shell></mvc:View>`.
|
||||
|
||||
app-s_next-xml_main = z2ui5_cl_xml_view=>hlp_replace_controller_name( lv_xml ).
|
||||
|
||||
WHEN 'NORMAL'.
|
||||
|
||||
lo_view->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - NORMAL NORMAL NORMAL'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
target = '_blank'
|
||||
)->get_parent(
|
||||
)->simple_form( 'Form Title'
|
||||
)->content( 'form'
|
||||
)->title( 'Input'
|
||||
)->label( 'quantity'
|
||||
)->input( client->_bind( quantity )
|
||||
)->button(
|
||||
text = 'NORMAL'
|
||||
press = client->_event( 'NORMAL' )
|
||||
)->button(
|
||||
text = 'GENERIC'
|
||||
press = client->_event( 'GENERIC' )
|
||||
)->button(
|
||||
text = 'XML'
|
||||
press = client->_event( 'XML' ) ).
|
||||
|
||||
app-s_next-xml_main = lo_view->get_root( )->xml_get( ).
|
||||
|
||||
WHEN 'GENERIC'.
|
||||
|
||||
lo_view->_generic( 'Shell' )->_generic(
|
||||
name = `Page`
|
||||
t_prop = VALUE #(
|
||||
( n = `title` v = 'abap2UI5 - GENERIC GENERIC GENERIC' )
|
||||
( n = `showNavButton` v = `true` )
|
||||
( n = `navButtonPress` v = client->_event( 'BACK' ) ) )
|
||||
)->_generic(
|
||||
name = `SimpleForm`
|
||||
ns = `form`
|
||||
t_prop = VALUE #(
|
||||
( n = `title` v = 'title' )
|
||||
) )->_generic(
|
||||
name = `content`
|
||||
ns = `form`
|
||||
)->_generic(
|
||||
name = `Label`
|
||||
t_prop = VALUE #(
|
||||
( n = `text` v = 'quantity' )
|
||||
) )->get_parent( )->_generic(
|
||||
name = `Input`
|
||||
t_prop = VALUE #(
|
||||
( n = `value` v = client->_bind( quantity ) )
|
||||
) )->get_parent(
|
||||
)->_generic(
|
||||
name = `Button`
|
||||
t_prop = VALUE #(
|
||||
( n = `text` v = `NORMAL` )
|
||||
( n = `press` v = client->_event( 'NORMAL' ) ) )
|
||||
)->get_parent(
|
||||
)->_generic(
|
||||
name = `Button`
|
||||
t_prop = VALUE #(
|
||||
( n = `text` v = `GENERIC` )
|
||||
( n = `press` v = client->_event( 'GENERIC' ) ) )
|
||||
)->get_parent(
|
||||
)->_generic(
|
||||
name = `Button`
|
||||
t_prop = VALUE #(
|
||||
( n = `text` v = `XML` )
|
||||
( n = `press` v = client->_event( 'XML' ) ) ) ).
|
||||
|
||||
app-s_next-xml_main = lo_view->get_root( )->xml_get( ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_23</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>extension - normal gen xml</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,87 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_24 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_input TYPE string.
|
||||
DATA mv_input2 TYPE string.
|
||||
DATA mv_backend_event TYPE string.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_24 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'CALL_NEW_APP'.
|
||||
client->nav_app_call( NEW z2ui5_cl_app_demo_25( ) ).
|
||||
|
||||
WHEN 'CALL_NEW_APP_VIEW'.
|
||||
DATA(lo_app) = NEW z2ui5_cl_app_demo_25( ).
|
||||
lo_app->mv_show_view = 'SECOND'.
|
||||
client->nav_app_call( lo_app ).
|
||||
|
||||
WHEN 'CALL_NEW_APP_READ'.
|
||||
DATA(lo_app_next) = NEW z2ui5_cl_app_demo_25( ).
|
||||
lo_app_next->mv_input_previous_set = mv_input.
|
||||
client->nav_app_call( lo_app_next ).
|
||||
|
||||
WHEN 'CALL_NEW_APP_EVENT'.
|
||||
lo_app_next = NEW z2ui5_cl_app_demo_25( ).
|
||||
lo_app_next->mv_event_backend = 'NEW_APP_EVENT'.
|
||||
client->nav_app_call( lo_app_next ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
data(lo_prev_stack_app) = client->get_app( client->get( )-id_prev_app_stack ).
|
||||
client->nav_app_leave( lo_prev_stack_app ).
|
||||
|
||||
WHEN OTHERS.
|
||||
CASE mv_backend_event.
|
||||
|
||||
WHEN 'CALL_PREVIOUS_APP_INPUT_RETURN'.
|
||||
DATA(lo_called_app) = CAST z2ui5_cl_app_demo_25( client->get_app( client->get( )-id_prev_app ) ).
|
||||
client->popup_message_box( `Input made in the previous app:` && lo_called_app->mv_input ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
|
||||
DATA(view) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page( title = 'abap2UI5 - flow logic - APP 01' navbuttonpress = client->_event( 'BACK' ) shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/OblomovDev/status/1640743794206228480`
|
||||
)->link( text = 'Source_Code' target = '_blank' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
|
||||
)->grid( 'L6 M12 S12' )->content( 'layout'
|
||||
|
||||
)->simple_form( 'Controller' )->content( 'form'
|
||||
|
||||
)->label( 'Demo'
|
||||
)->button( text = 'call new app (first View)' press = client->_event( 'CALL_NEW_APP' )
|
||||
)->label( 'Demo'
|
||||
)->button( text = 'call new app (second View)' press = client->_event( 'CALL_NEW_APP_VIEW' )
|
||||
)->label( 'Demo'
|
||||
)->button( text = 'call new app (set Event)' press = client->_event( 'CALL_NEW_APP_EVENT' )
|
||||
)->label( 'Demo'
|
||||
)->input( client->_bind( mv_input )
|
||||
)->button( text = 'call new app (set data)' press = client->_event( 'CALL_NEW_APP_READ' )
|
||||
)->label( 'some data, you can read it in the next app'
|
||||
)->input( client->_bind( mv_input2 )
|
||||
).
|
||||
|
||||
client->set_next( VALUE #(
|
||||
xml_main = view->get_root( )->xml_get( )
|
||||
" event = mv_event
|
||||
) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_24</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - flow logic</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,117 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_25 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_input TYPE string.
|
||||
DATA mv_input_previous TYPE string.
|
||||
DATA mv_input_previous_set TYPE string.
|
||||
DATA mv_show_view TYPE string.
|
||||
|
||||
DATA mv_event_backend TYPE string.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_25 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_ROUNDTRIP'.
|
||||
client->popup_message_box( 'server-client roundtrip, method on_event of the abap controller was called' ).
|
||||
|
||||
WHEN 'BUTTON_RESTART'.
|
||||
client->nav_app_call( NEW z2ui5_cl_app_demo_25( ) ).
|
||||
|
||||
WHEN 'BUTTON_CHANGE_APP'.
|
||||
client->nav_app_call( NEW z2ui5_cl_app_demo_01( ) ).
|
||||
|
||||
WHEN 'BUTTON_READ_PREVIOUS'.
|
||||
DATA(lo_previous_app) = CAST z2ui5_cl_app_demo_24( client->get_app( client->get( )-id_prev_app ) ).
|
||||
mv_input_previous = lo_previous_app->mv_input2.
|
||||
client->popup_message_toast( `data of previous app read` ).
|
||||
|
||||
WHEN 'SHOW_VIEW_MAIN'.
|
||||
mv_show_view = 'MAIN'.
|
||||
|
||||
WHEN 'BACK_WITH_EVENT'.
|
||||
lo_previous_app = CAST z2ui5_cl_app_demo_24( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
lo_previous_app->mv_backend_event = 'CALL_PREVIOUS_APP_INPUT_RETURN'.
|
||||
client->nav_app_leave( lo_previous_app ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
WHEN OTHERS.
|
||||
|
||||
CASE mv_event_backend.
|
||||
|
||||
WHEN 'NEW_APP_EVENT'.
|
||||
client->popup_message_box( 'new app called and event NEW_APP_EVENT raised' ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
|
||||
CASE mv_show_view.
|
||||
|
||||
WHEN 'MAIN' OR ''.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - flow logic - APP 02'
|
||||
navbuttonpress = client->_event( 'BACK' ) shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/OblomovDev/status/1640743794206228480`
|
||||
)->link( text = 'Source_Code' target = '_blank' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->grid( 'L6 M12 S12' )->content( 'layout'
|
||||
|
||||
)->simple_form( 'View: FIRST' )->content( 'form'
|
||||
|
||||
)->label( 'Input set by previous app'
|
||||
)->input( mv_input_previous_set
|
||||
|
||||
)->label( 'Data of previous app'
|
||||
)->input( mv_input_previous
|
||||
)->button( text = 'read' press = client->_event( 'BUTTON_READ_PREVIOUS' )
|
||||
|
||||
)->label( 'Call previous app and show data of this app'
|
||||
)->input( client->_bind( mv_input )
|
||||
)->button( text = 'back' press = client->_event( 'BACK_WITH_EVENT' ) ).
|
||||
|
||||
WHEN 'SECOND'.
|
||||
|
||||
page = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - flow logic - APP 02'
|
||||
navbuttonpress = client->_event( 'BACK' ) shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' href = `https://twitter.com/OblomovDev/status/1640743794206228480`
|
||||
)->link( text = 'Source_Code' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->grid( 'L6 M12 S12' )->content( 'layout'
|
||||
)->simple_form( 'View: SECOND' )->content( 'form'
|
||||
)->label( 'Demo'
|
||||
)->button( text = 'leave to previous app' press = client->_event( 'BACK' )
|
||||
)->label( 'Demo'
|
||||
)->button( text = 'show view main' press = client->_event( 'SHOW_VIEW_MAIN' ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( VALUE #(
|
||||
xml_main = page->get_root( )->xml_get( )
|
||||
" event = mv_next_event
|
||||
) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_25</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - flow logic (called)</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,186 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_26 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA product TYPE string.
|
||||
DATA quantity TYPE string.
|
||||
data mv_placement type string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
data client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
s_get TYPE z2ui5_if_client=>ty_s_get,
|
||||
s_next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render_main.
|
||||
METHODS z2ui5_on_render_popup.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_26 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-s_get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-s_get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render_main( ).
|
||||
z2ui5_on_render_popup( ).
|
||||
|
||||
client->set_next( app-s_next ).
|
||||
CLEAR app-s_get.
|
||||
CLEAR app-s_next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-s_get-event.
|
||||
|
||||
WHEN 'POPOVER'.
|
||||
app-view_popup = 'POPOVER'.
|
||||
app-s_next-popover_open_by_id = 'TEST'.
|
||||
|
||||
WHEN 'BUTTON_CONFIRM'.
|
||||
client->popup_message_toast( |confirm| ).
|
||||
app-view_popup = ''.
|
||||
|
||||
WHEN 'BUTTON_CANCEL'.
|
||||
client->popup_message_toast( |cancel| ).
|
||||
app-view_popup = ''.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-s_get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
mv_placement = 'Left'.
|
||||
product = 'tomato'.
|
||||
quantity = '500'.
|
||||
app-view_main = 'VIEW_MAIN'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_main.
|
||||
|
||||
CASE app-view_main.
|
||||
|
||||
WHEN 'VIEW_MAIN'.
|
||||
|
||||
app-s_next-xml_main = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Popover Examples'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/OblomovDev/status/1643899059839672321`
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->simple_form( 'Popover'
|
||||
)->content( 'form'
|
||||
)->title( 'Input'
|
||||
)->label( 'Link'
|
||||
)->link( text = 'Documentation UI5 Popover Control' href = 'https://openui5.hana.ondemand.com/entity/sap.m.Popover'
|
||||
)->label( 'placement'
|
||||
)->segmented_button( client->_bind( mv_placement )
|
||||
)->items(
|
||||
)->segmented_button_item(
|
||||
key = 'Left'
|
||||
icon = 'sap-icon://add-favorite'
|
||||
text = 'Left'
|
||||
)->segmented_button_item(
|
||||
key = 'Top'
|
||||
icon = 'sap-icon://accept'
|
||||
text = 'Top'
|
||||
)->segmented_button_item(
|
||||
key = 'Bottom'
|
||||
icon = 'sap-icon://accept'
|
||||
text = 'Bottom'
|
||||
)->segmented_button_item(
|
||||
key = 'Right'
|
||||
icon = 'sap-icon://attachment'
|
||||
text = 'Right'
|
||||
)->get_parent( )->get_parent(
|
||||
)->label( 'popover'
|
||||
)->button(
|
||||
text = 'show'
|
||||
press = client->_event( 'POPOVER' )
|
||||
id = 'TEST'
|
||||
)->button(
|
||||
text = 'cancel'
|
||||
press = client->_event( 'POPOVER' )
|
||||
)->button(
|
||||
text = 'post'
|
||||
press = client->_event( 'POPOVER' )
|
||||
)->get_root( )->xml_get( ).
|
||||
|
||||
|
||||
WHEN 'VIEW_SECOND'.
|
||||
|
||||
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_popup.
|
||||
|
||||
CASE app-view_popup.
|
||||
|
||||
WHEN 'POPOVER'.
|
||||
|
||||
app-s_next-xml_popup = Z2UI5_CL_XML_VIEW=>factory_popup( )->popover(
|
||||
title = 'Popover Title'
|
||||
placement = mv_placement
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Cancel'
|
||||
press = client->_event( 'BUTTON_CANCEL' )
|
||||
)->button(
|
||||
text = 'Confirm'
|
||||
press = client->_event( 'BUTTON_CONFIRM' )
|
||||
type = 'Emphasized'
|
||||
)->get_parent( )->get_parent(
|
||||
)->text( 'make an input here:'
|
||||
)->input( value = 'abcd'
|
||||
)->get_root( )->xml_get( ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_26</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>popups - popover</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,151 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_27 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA product TYPE string.
|
||||
DATA quantity TYPE i.
|
||||
DATA input2 TYPE string.
|
||||
DATA input31 TYPE i.
|
||||
DATA input32 TYPE i.
|
||||
DATA input41 TYPE string.
|
||||
DATA input51 TYPE string.
|
||||
DATA input52 TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
data client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
s_get TYPE z2ui5_if_client=>ty_s_get,
|
||||
s_next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_27 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-s_get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-s_get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-s_next ).
|
||||
CLEAR app-s_get.
|
||||
CLEAR app-s_next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-s_get-event.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-s_get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
product = 'tomato'.
|
||||
quantity = '500'.
|
||||
app-view_main = 'VIEW_MAIN'.
|
||||
input41 = 'faasdfdfsaVIp'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
app-s_next-xml_main = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Binding Syntax'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = `Demo` target = `_blank` href = `https://twitter.com/OblomovDev/status/1647889242545111043`
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->simple_form( title = 'Binding Syntax' editable = abap_true
|
||||
)->content( 'form'
|
||||
)->title( 'Expression Binding'
|
||||
|
||||
)->label( 'Documentation'
|
||||
)->link(
|
||||
text = 'Expression Binding'
|
||||
href = 'https://sapui5.hana.ondemand.com/sdk/#/topic/daf6852a04b44d118963968a1239d2c0'
|
||||
)->label( 'input in uppercase'
|
||||
)->input( client->_bind( input2 )
|
||||
)->input(
|
||||
value = '{= $' && client->_bind( input2 ) && '.toUpperCase() }'
|
||||
enabled = abap_false
|
||||
|
||||
|
||||
)->label( 'max value of the first two inputs'
|
||||
)->input( '{ type : "sap.ui.model.type.Integer",' &&
|
||||
' path:"' && client->_bind( val = input31 path = abap_true ) && '" }'
|
||||
)->input( '{ type : "sap.ui.model.type.Integer",' && |\n| &&
|
||||
' path:"' && client->_bind( val = input32 path = abap_true ) && '" }'
|
||||
)->input(
|
||||
value = '{= Math.max($' && client->_bind( input31 ) &&', $' && client->_bind( input32 ) && ') }'
|
||||
enabled = abap_false
|
||||
|
||||
|
||||
)->label( 'only enabled when the quantity equals 500'
|
||||
)->input( '{ type : "sap.ui.model.type.Integer",' &&
|
||||
' path:"' && client->_bind( val = quantity path = abap_true ) && `" }`
|
||||
)->input(
|
||||
value = product
|
||||
enabled = '{= 500===$' && client->_bind( quantity ) && ' }'
|
||||
|
||||
)->label( 'RegExp Set to enabled if the input contains VIP, ignoring the case.'
|
||||
)->input( client->_bind( val = input41 )
|
||||
)->button(
|
||||
text = 'VIP'
|
||||
enabled = '{= RegExp(''vip'', ''i'').test($' && client->_bind( input41 ) && ') }'
|
||||
|
||||
|
||||
)->label( 'concatenate both inputs'
|
||||
)->input( client->_bind( val = input51 )
|
||||
)->input( client->_bind( val = input52 )
|
||||
)->input(
|
||||
value = '{ parts: [' && |\n| &&
|
||||
' "' && client->_bind( val = input51 path = abap_true ) && '",' && |\n| &&
|
||||
' "' && client->_bind( val = input52 path = abap_true ) && '"' && |\n| &&
|
||||
' ] }'
|
||||
enabled = abap_false
|
||||
|
||||
)->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_27</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>more - side effects</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,126 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_28 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
DATA mv_Counter TYPE i.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_28 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'TIMER_FINISHED'.
|
||||
mv_counter = mv_counter + 1.
|
||||
INSERT VALUE #( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
INTO TABLE t_tab.
|
||||
|
||||
app-next-s_timer-interval_ms = '2000'.
|
||||
app-next-s_timer-event_finished = 'TIMER_FINISHED'.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
mv_counter = 1.
|
||||
|
||||
t_tab = VALUE #(
|
||||
( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) ).
|
||||
|
||||
app-next-s_timer-interval_ms = '2000'.
|
||||
app-next-s_timer-event_finished = 'TIMER_FINISHED'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
DATA(lo_view) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
|
||||
title = 'abap2UI5 - CL_GUI_TIMER - Monitor'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/OblomovDev/status/1645816100813152256`
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
).
|
||||
|
||||
lo_view->list(
|
||||
headertext = 'Data auto refresh (2 sec)'
|
||||
items = client->_bind_one( t_tab )
|
||||
)->standard_list_item(
|
||||
title = '{TITLE}'
|
||||
description = '{DESCR}'
|
||||
icon = '{ICON}'
|
||||
info = '{INFO}' ).
|
||||
|
||||
app-next-xml_main = lo_view->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_28</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic- cl_gui_timer</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,153 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_30 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_30 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
t_tab = VALUE #(
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'incompleted' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
).
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_ROUNDTRIP'.
|
||||
DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'.
|
||||
|
||||
WHEN 'BUTTON_MSG_BOX'.
|
||||
client->popup_message_box(
|
||||
text = 'this is a message box with a custom text'
|
||||
type = 'success' ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(view) = Z2UI5_CL_XML_VIEW=>factory( ).
|
||||
|
||||
|
||||
DATA(page) = view->dynamic_page(
|
||||
" headerExpanded = abap_true
|
||||
" toggleHeaderOnTitleClick = client->_event( 'ON_TITLE' )
|
||||
).
|
||||
|
||||
|
||||
DATA(header_title) = page->title( ns = 'f' )->get( )->dynamic_page_title( ).
|
||||
|
||||
header_title->heading( ns = 'f' )->title( 'Header Title' ).
|
||||
|
||||
header_title->expanded_content( 'f'
|
||||
)->label( text = 'this is a subheading' ).
|
||||
|
||||
header_title->snapped_content( ns = 'f'
|
||||
)->label( text = 'this is a subheading' ).
|
||||
|
||||
header_title->actions( ns = 'f' )->overflow_toolbar(
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://edit`
|
||||
text = 'edit header'
|
||||
type = 'Emphasized'
|
||||
tooltip = 'edit'
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://pull-down`
|
||||
text = 'show section'
|
||||
type = 'Emphasized'
|
||||
tooltip = 'pull-down'
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://show`
|
||||
text = 'show state'
|
||||
tooltip = 'show'
|
||||
)->button(
|
||||
" icon = `sap-icon://edit`
|
||||
text = 'Go Back'
|
||||
press = client->_event( 'BACK' )
|
||||
).
|
||||
|
||||
header_title->navigation_actions(
|
||||
)->button( icon = 'sap-icon://full-screen' type = 'Transparent'
|
||||
)->button( icon = 'sap-icon://exit-full-screen' type = 'Transparent'
|
||||
)->button( icon = 'sap-icon://decline' type = 'Transparent'
|
||||
).
|
||||
|
||||
page->header( )->dynamic_page_header( pinnable = abap_true
|
||||
)->horizontal_layout(
|
||||
)->vertical_layout(
|
||||
)->object_attribute( title = 'Location' text = 'Warehouse A'
|
||||
)->object_attribute( title = 'Halway' text = '23L'
|
||||
)->object_attribute( title = 'Rack' text = '34'
|
||||
)->get_parent(
|
||||
)->vertical_layout(
|
||||
)->object_attribute( title = 'Location' text = 'Warehouse A'
|
||||
)->object_attribute( title = 'Halway' text = '23L'
|
||||
)->object_attribute( title = 'Rack' text = '34'
|
||||
)->get_parent(
|
||||
)->vertical_layout(
|
||||
)->object_attribute( title = 'Location' text = 'Warehouse A'
|
||||
)->object_attribute( title = 'Halway' text = '23L'
|
||||
)->object_attribute( title = 'Rack' text = '34'
|
||||
).
|
||||
|
||||
|
||||
DATA(cont) = page->content( ns = 'f' ).
|
||||
|
||||
cont->list(
|
||||
headertext = 'List Ouput'
|
||||
items = client->_bind_one( t_tab )
|
||||
)->standard_list_item(
|
||||
title = '{TITLE}'
|
||||
description = '{DESCR}'
|
||||
icon = '{ICON}'
|
||||
info = '{INFO}' ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,207 +0,0 @@
|
|||
CLASS lcl_help DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-METHODS get_avatar
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_help IMPLEMENTATION.
|
||||
|
||||
METHOD get_avatar.
|
||||
|
||||
result = `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA` &&
|
||||
`AAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQ` &&
|
||||
`BsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAAC` &&
|
||||
`SdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBw` &&
|
||||
`cHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIAZABkAMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAAAwQCBQYBBwj/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQ` &&
|
||||
`IDBAUG/9oADAMBAAIQAxAAAAH7KAAAAAAAAAAAh9pMrGnC8gxLKqhaUMqzdVLV49GkAAAAAAAAAAAAAAAAAPPdbSYqcNfyerdabSYcu3R5czFlfc2ebnlurvP0bO1t8Rntn3trmLvZhvWGfpcwSAAAAAAAAAAAAAMM4K0eu5tNfE1vi980FPDj0yj8xytIjzJfPYLxgVehsElmsZ+SR3bzoOO2vbz9Or2PZ4AuAAARScpjbrBtUAAAAA` &&
|
||||
`B57FVqdLY0Hid+z91Dn0nrV/ODaeHzCEiWWZqxzpmKK1nrFKTH3Jbs1F624/ICxH7BeO+3PE9d73nWB34gAK3Bcxx62tHu8/B9D7CPqvKAAAAAAUZtLlbU6qnJ816dijlBy6ye1/azP5h5MJ447Tc8reSueU1mGeGFJt2tZetEvtf1W3Jh7ZR63m9hvn9AazZ/R+YGtXFdh+eKTJ2dL35n1dlRvR8G/wBTH3HhAAAAAAY8hd5vyurRyy` &&
|
||||
`YeF3+4yyVVlvV9lbdvXrryhBpS/jprWldn5TgxvssNLZynYYWIuTVNBEi5nBPaJovdVpX6R0PzzvPb4Z9HyXO9mO4rS7/z+vl8Ot0vJpnJQx8nr+tD7fwgAAAABWNNxvY814vZQ11uTi6KM/VY2c9a2dKWdG9elQuzZZ2p1dz5aNXcnzrPP6ft/dI+eU/o9fSnD3Nro4bCbCzxbR+PYiTmuv5D1+Ta9Xy6bbfU9Bscr8hFuufovySa/w` &&
|
||||
`ATr+xtVovr/H7JpNz0Z+udg5tOoy+WfRqWu+cfR3p3ul4mrxb9V1HxW6bfUe7ettL1kN3i3rayzyFdL3nL4d0d7d4jd8c9XZ1myxiT3DOSSPyJ9jeZ3z5nfc70Z7v3UbFEEfQULRrItbsazsPiX2nqvW4vmu2+rurL4/yH2LivI7Ndeml8frqjGd7y2F/vxpWM/YXuX3fhBjZrpqbpbTQi3HktdBt9VaNpHhrN6drnPFS3O8T3HE630W` &&
|
||||
`p38HrccvT6q5wdHZ7fR7jztJZIJZrDPTix0v049LtXDTU4exsN5xW1i3eXud6vDLk61yLWnvS8/wBRpn1o9zh4Pn9nV+Z9OKKxW83pxymyMNfcytGvz5m/3ZbvF75uoWiLZa2z0Vnx9hi3mo3FA22Me17MZNlrN9tTT8j3XP8ALtxljfXbW5ybfV6sNVyUfrc24l0Tqz7ff/Kuw8fo6rltzz7Tk69jD2eLa2oZOTr6D6B83+i8cc6wmr` &&
|
||||
`S39A0299fhRyfN9q83egk+S9aaBjz6zZw+F+v7alo4po+nObPW7DNI8957VtnQ2fTWeLKpW1OGbyYz6fk9x2Uw67ien6MtXtaewpMbyHm0wp+3aW+Ow9Fy30vHYMNYzv6nocZ6Sj1ev8Ls5Kj2cOluT22yu6xPsr2hrhFvIOp2x3vp7PF58u+o/F+XWrf8fKer6eZz74xlZsQZzMHD97y3o87b6+5nrdHBZnDf2iSJ5FqcFmprWG/pLP` &&
|
||||
`bHYVfK+uXa6mXYMtdVzpcm9XX7CjM6vlur86o4qx01Psz1H0LjM8XV7rm+l8veDX7HYXrr5b9u9cefvQ9GfO7TWaHen2roPh212y+j/HMbnFtZHh9npSvF1rJda9Bhfp5a16GxoTXVbCpf3rI8clvNhR2W0Rxz1kx4zZROns7eG8avY0ZOim16/wCc7joy7LVT2dcdDq+112WvznTd5pNdtBPPY0vX30+9xyoS7u5XLU3L+N60Mdhps9` &&
|
||||
`Kmgv67orUgylx0bbS7Xg6LdaSDmiHz3GIo7jSfbvb4vkPa9l57HH85r+VfkPbVfY84193TX+7O3nq9xy6RRX8L1t1868xJ7VnytZu66WLWef2GOjTbjXw9FNphD50Z9jtOC28U6rnsq3Tlhv8AR+0t1cuh3SMlWG9dhHrb2do+P8qxenYqZZaSwRXOXbK0wwnPCTyiHn91vvS5er6I+m8wJfnbcdBxPi93R8v12rl7B9O+U47WthrveP` &&
|
||||
`p3GVSbjT51/YeeT+zEC5qJWpq9qFGls8rofJsbRW9wq3jaT6yakbDV2o9Ir2ZKu1bF3UY613NShZq10/mFLLXsvFqvUs85u1ocjBrJOvGx9ayv/T+YG9APn+gw7PxfQg1nNfQ6zlrtP9G9fg+JQdXzfzvrSbHGfi1zmr+5xNHH4WdVnV6WxlxmxV5sPaT7Yj8R5NhOVa1+OYizmwu8pzwWQZZQ2UJ7WOlfes4H6Z6nLzGi+7aXs5fk1n` &&
|
||||
`caDxe3XXfqe07sNTv5XqcoaQAB8o0v0/5zxdHU8po+q59cfqX5+7zu5vpny76tpqPm3ul3Hz3pZy2IOLbGPHGEUE1Ppm5s9LuJqg9x55m8wyqzkhxlJhjnLCT2K0z1LtG0V/fZU4UL3FdePV9hwf1b0OfqR7HAxyQCQAAACKUcjF2Y+bdhuQ1ezZz8mg7T598z6m5i1t3i6GM0UK1K1F2MdvWzwjzLGzkwZRyPJDLySOzOKxHZLrNtq7` &&
|
||||
`R7DYp1mpn59Z9blqdT577PnhpUAAAAAAAAABzvRKz8kqfY+Y8nq4irutN5Pdrc85NdLtnzziiKaH2izhHJePJI5peeY+Js4QSWjyPH2Jg1l2Pam8+qVrP1HkhtQAAAAAAAAAAAABqdsrPzLR/VdV4nfxvtuj5nTPDHLnaOK3jSayWOqXDDKU+FddlHc0+ij23NfT/W4uiHt8AAAAAAAAAAAAAAAAHnJdd5nb41qvpdDwO7msukmlzGG6` &&
|
||||
`53O932jd8/eOhdw6I0fV9L2PucGi3x6PKEgAAAAAAAAAAAAAAAAAAAOUo9ypPPbqdSfPTaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//xAAwEAACAgEDAwMDBAICAwEAAAABAgMEAAUREhATIQYiMRQgMBUjMkFAUCQzBzRggP/aAAgBAQABBQL/AOIEik815E` &&
|
||||
`7CWbYQtyRJOTM6tDC3tEx3eX2xv7R5/wBOfDNOFaWcGrPIdorXbxrsUciT9qb611bkeZsIuLMjCKwi5C7MxYD/AEk9qKOJ7QaF7TdqIwFecgl5eJCzytEjIQOfc82P+w2XVh9TKy2yhhkM0oI3/wBBO4jiM0vOZmZZGVkd9wzHpv0/oHH9rO27cUdYqtYMEXnBqamzDOUlgmWb8jMq/wCDyG+TOQ07M0bSxvkjYxzl9gOb5v7n8sm+6D` &&
|
||||
`x/S+Mn5SLC1ZVrzxwy90b/AIrMiyWvznJ/cWuBJHuTugcNj8FY4cObdTn9HfB8rifAOb5y2wszLVT6eao6zL+CeaKCKW/aOpXktWo/zyDdb8ipHZ7xDRyYzYzed85YTkZ3wqMPgkZthTww2O+Jm/n+unafuU5oUWBw8f3ep9eNKcwq7Yw2H51swvlt4GeNRG7EYW3+zxnlT3MDA5yGK45SyhRy3KnOWKMkPgMNgvT+B0m6WP2+otfTSH` &&
|
||||
`gqW7EyRjOIGEcm/M0cbPrUwSqqnYsc84VzcjNzgPIec23GxGbHouOubdY29r+SrbZv0kZRlJzEK5LfZK6xR9yXVdbeCxFPBaEq/EcKbfnPgao8Bd+TMvnCM85tixtm2xC4hj71vaFIZgZbHKO9GuXGWCsiMRxzbouclXEYnNzvtuK8pSbTnCjpqup09NhNrVtZwWtN0tZ4NZuRpHHGE/iPzyG1PjRhW4cW2GecVdsbY4qXIMhuwyOLgF` &&
|
||||
`qftWEne0a4r9qJ7H1GnQ2y0HNXe+0l5xaginOwXbNs+MUk5vxC8jl32PptgFI/Ed/XZ7U6wVNPnapqGoZUqVqiWTKEb3VmkIxZD+ezZiSabeRpO0mSTESmeUH96XIqzoIlkYzU45h+mRQiOojJ9PHstZRkmn13apWCQNGrY2mDuT6RxSW7HBkNi5CrXZmyt3zEPGKyjJJG4x7yYWmU6prKai2nC5chqVK9RbOs6bXz9Xu3M/S9RtiMwB` &&
|
||||
`FUvioB+aeITJZijUS8VEvGVdOeGdpOOJtkpULJIZBAeGI/L7Dg6+MfYZskmTVpt5I5pZGWlVdos2zf3WohYg0+tQkw6tbuv+jWreVdNo1clljiSxqcfb09u5QMqJH+PfNTuTVY6uvVrBlmjjr6hqUggBsyzpp9iSSvEteuXbjPOVw2lV/1FWyOyDjMpSvIZI/tY9FC5KX7tMSLHPWr2MkpKK9ebuY3tMs6RrHEl7TJl7kunnWIqwq+q7` &&
|
||||
`Iv6VqMIp6Xsy1YxGAAOmpTtXr1NWO7XuwoII1S7LVl1K/tAbM/KpMJ4LOuLBbteoavCXUbCkak0jypHLPJekk03TUMVeqO0tDuu8/8ZmLPdlOGZBO86bUZA2CVxlUA/Z8Zv0OSS7LuWaNYFyNjHEMuV6thI4IKGpN7cjtj6PQipq9PUJZ68AVkC7koAvSC0ZIDYeZe+e3pl2TTkt6oLNQz6kSJvadYv0ZK917WRhmJoQb/AECM8lFXX6` &&
|
||||
`AZDwVmnHerR9uM+TqBKJZX2S/+1YmmY0NzOCA1ItwHRfgndtsLAY7ZbtIJZboZorQfKs2UXSNZduOowrJHDyReRhT0/Mtmbp6ktJiqwRcPksu2KufRKcAChQFH2GJchcMgYYXGKwySQKJpxtpvLaWQ1dRQqyv82w0j213MsbSKIpCa9E4xBer4A6DHfge4zYx2yzORg/cTtgmeFlytIdqs6CJwNrDSMxAORycF0CuE6+oQsOrowZW+B/` &&
|
||||
`I4vgL4N0vHVRHWIH7GcJHGTFFt4GzLknwxMktCUSrqiiKh6fl72jWPa7qvdtQbSGBkf9zi6WNq0DAtZSul3WSMbU7UuR6paRotXVxFMr43xb5MZ7vFIH7iVCWWIf8AGpuFLYg9z7Sw6T3ZrKqFXGIVdQnGr3IzthbpvjHPdngibTVL1qvBMHjD0klWLKhKQmIMeTKW840cTGGWOJbsPeTQuK0m85OVGScp8jjbII2lEsBDWX7MMhdpOo` &&
|
||||
`+dNk/aaQkSv7rVcDIgu1U9kJuTUQyVz8RbfVceNnS67Rr09WTtNYAAH2E4Vw/N0BM5e5CCvWXkrxbMvxjlWUboZAcqI6zFv2dP71eMEY8kImX/AKv6PjJPcbNfmkoZZNxv1rWRHKOJaxHs8gZcPMhVytEDlCJkuz3qql+5XWrStPYHx09YRxF6VZKsP2q5xkHG6haFCsizuI2HWX/qi2CNjHJv4OcqN7q7ho527KJKHFqKSK0cPwG2M0` &&
|
||||
`0cMjuM1qDt2JU5dGYKsTlxpUMk06xIuWIC2SRAEx7Yw4oqFo40VM0w86FkJ2dMjjjPX1CbMuv/AGsOSo2w32xxm/bnqx9nIz9lRdovGFcn8ZIMDlRSkLp2YJ404VraqstcM8chGS7ZX3ZZoe1kkth45+KZ3ot+BICnfSwtara1WrFKSNmYrKieYoQFpQuJW+KBP6dYkkLaLqcl2LR9Ug1Kpl65FVWxNJJr/wB3Bh0cbpPFKIySzxDrJ/` &&
|
||||
`ADx4zlhV/qLhdWIJOnxyfStMEhuDuNpk/PJIuUzwyxksj4u0KzuJF5EZzxoYmMtKu2GnJxFGc5ptatVCjcHj9QI/PZ3YZqjt9P3U+mDcLmnqDIaoeDu360bnULUkFZKw6zySxtYtxJUrzFqvkBvOKdstxCaKM96xGNj08cuPgr42w5aj7qtA+5T3HkM9vANwkgbnGVByairtbhsqLdEvk8bQgd9yJHRlkDKjxbwRExIqAdt5hXqurcPC` &&
|
||||
`rv0MIDF1xuTGuu2JvvEcY4V3w9GtIskNSxwm9K25pqmgww2eI228zLtki80UtHi9QGJ2bCG23Occj6e04++RO4DSK8dG1ImRS8o45Q2P5yWJmW3GUyeFcaLK1KOQR0bPOPT25JWC4EAzbxtn8VtyiGGtcLSVi8mE7tHyXPPOJ1wsMLdN80erNqWsV07UHSTwTk536Ozzug4Jy6MWAq2ZpGLq+c9pGPmP8Ak5xG2ycLJkvKNmHEV3R1Mk` &&
|
||||
`aYthomq3BNGrjjH8NocDW49IfKkNeNQV6Myqu+E5vvjyZavHt3e3OzlTntUdxsXNxh2w9NU+oNnQNPGm6b1lsQDJG2bGOwoN7CTi78lXPGIiIfbvPEtiLyrRHfJP5E+xmOSDupscQCM9/bDDs/1EmLqMG0mrVIIV1STc6nu0traux5FW3yWQCQluctjkxZY4bWoYZHmwqBm+FeeRrnHYYHyQ75JKiN6Zi7+qfZrtUzw1p0kr3eVTNOjF` &&
|
||||
`xUiCqcXYFH3weegAwuNs24tIds38YnxKu+cX34lMVuEcrIX2jbIo66YGj37cThYJfp5Z27kN2QYl/6ZX1NXr92btSzSSL7e9yO4PIquIo3ATbYZKNuhzT9Os6pNp9SKjT+yvo8Ea1tOKapZr3reRJ+k6/f0arZS5Un013AXIzitgJ6hc3GMAUQgOMXGGxCjkxJXtOymPgFj4ZuSVbfGH7KkbGDuKI1xj73i/bhfGbi+tR/8epMtrOPXk` &&
|
||||
`dt8Zick2sWKFG5bWjWSrX+3Srf1tP1JBLG1OxHbq6/T+t0v0ve/UNG9ThpCzxSn4xB4iB2AwADDnLOfiYBZcXP7TEHvObbkRqceFebx75CrMJ4jyh/jttkLMJ3yPl9VZf9hrEdjTadClrFK16YtVhBZPftWoqxkHOIR6lXVINUmFHSKVaBEVF+67y0nVAUliqN+h6rnptxQ1+1CLEGpadCqmFYrSoM22Azlm/RyQflot9/ktiYvQYpxz` &&
|
||||
`gxXAzcg2AJMUBVJzlg2yQK6inG170o2+m5qmm09Sik9NTo5qTR5WoqYoa8UR/BVss8gab0/atwVtTpULk2k2PUivWkqzx2a7KrZPBIJ99sjlEgzjmwxskG422yFt25+1vjB8YM3zfP7YYDhHg/P9qmcfHfTt1OfP0XIWqdSAfx65pNbVa1ie3pyV7n6Szaho2rVdN1C1Uq/wDju13NNzWIzLp89WVJqCTBmTyTh6SfxL5AT3mXN+m/3H` &&
|
||||
`p/TEHF+cncRxdt2kSvaYena7VqP53VXSf03oszr6Y0UQt6M0ovpmm09NjzUp3r1bM8liVH4FZd8Yqehxjk65CvHOftwfaB0Of2w9oHlVx/B1BlMMarNe03S0rS/wCPe0oyyuWWRG6AKcchQZUAB5FFGEdFGHDgxeg+WwD3N8EeVOwk+WhabKWnQwf5Wp6TWvZd0+1QxGVl3GOw3lILJkfwfIxW2zflm2AYBhxcbBjPh+GyYuZtH0y3LY` &&
|
||||
`/y2UMtjQ6MmWdNuV8Oxx/mIe5V8Hx1U7ZzGKw3LjiMLYCSPgA+WOWG4QNGfrIIkhT/ADpqFaWTUoYDLGnHEbYJ7maIKWGbYevL2jydxjHOWM+XGsCv6cgsWbP+gtUYLBn0iKTLNGaqIQJFlu1o5kIzkoxvdgDYegGH5Q+9osszwRSsjSJolZq8P+j1jShYL0xAm70sBBG+cm6ADGI2PxZjkdIrlmNNB0uSzXqaTp9WT/S3NJeSUaNZ3X` &&
|
||||
`Qmq42lpap6h6YqcXq6tUEE0cyMWijgtO4cO+aJE8h/1uqaJVuSSaLZsQ6dpwrHtx//AJ1//8QAKREAAgIBAwMDBAMBAAAAAAAAAAECEQMSITEQIEEEMFETMkBhFCJxYP/aAAgBAwEBPwH26ZGLlwaWVtZoY1X4aViiY4aSWNMWOPB9NcDwpk8DW/j8GON8mPGluutdkkZowkrXJVdsY6vZhxRHGihIvq0V00ozRad9mLC8hHAkq9iMdT` &&
|
||||
`ohjUe6l1aEZIa1RKOl10irZhUI7L2cEKdsRY5mtDma35Hk+BZdyxj2JSo9RCnq+SONyIQrghGpl+xgWobfg3KP9KKsqhwRUvkUmuRS1DRmbk1Ei/jcqT5ZBLWq6RxSkrXRYpOjJheMWOTZ/G+WTwqtiEWtkRVbiNUT+r60KkNWbeRqt0KVozKX3M+pIw41JLUKCXHT6b/weO+RYv2Tx6lQov5NK+DQiWzvpHcy422YoNLca6bsoXTjYS` &&
|
||||
`M7Th09LWnqyLlxXX9Iv5GiW6FwQZsfsnkci2YsjezORqWrcxp1uPk8GSepkVqdGKGldnkvp5EIcdjHG9iD8dOdiacekN3sb9JMkyb0x6YuRKlS7M6sgklt089Wfa7RLaVohKxUSxavJ9CRCMoPghKXkctx7j5Gm9vkfpZmLD8dG6Nauhj4IcdnJQ1ZONKjdEXa3E09jdE8h9QUxSsZjXZP1Gkc2yxkN9yhoqu1414HEdtlPySjRFWaaV` &&
|
||||
`lfBHH89nqJVHrqlGWquTJkfNbEPURfY+5UOCY8ZpYoXyJqMqfY8lE5anfX7lpYv7KmVUqZDJa7GuxdKKNJo2M7encx5pQIZdY8yWyHJvsjlvnk1p7+TK1J2jHkcHZDLr9zJNx4M/2+2nTMWSD49pdMuVQJScnb9xNrgxeqa+4hkjLj2cjpGSep376bXBj9StNMjNS4L7Xtyeoez3/CjJxYssK5H6tEPUprc1I1J7GbI09Kf4+pkpuTt/` &&
|
||||
`8AL//EADURAAICAQMDAgQDBwQDAAAAAAECAAMRBBIhEBMxIkEFMDJRIGGRFCNAQnGBoRUzYLHB0fD/2gAIAQIBAT8B+XvWPYqeZ3F4/OFwG2zvpiK4b+DdgoyYzgTUXb/eJqSowTDqG85neY8xNQynMq1q/SPMBz8/Mt1AXIl+oY8NN/tM9dwKwMRwDK255mltsqbax4gYN4/Dbb2wPkHxLGOcy3UGM+ZmbYBPaZmeiMfGZo7ARt9/wa` &&
|
||||
`rWLpxzH+IOz7sfIts7aFpbqmsP2h5m2bZzMkTuQGDoRKbTW4fMqs7i56O20Zmsa6z1P4+TrLsjaI5yZiVUBhP2ZsxdOMifs6+0TTYPqj6QgceYVIgbMJlI3HbPh9uRs+0e0Lx7y24N9X6TUuWpMz8jWN2v7yupT6mmUHgTvcQWH2M3mdxl5ELk8wXvN6eNsamtxheI6duK4M0QRFLxwf5jiBqx9IzNSz9k7ulmrrrfYxgYGPq60zn2mm` &&
|
||||
`1q6gkAYj3qFyOZ/qBIyFleqYNzyP8AqXWBuTLW3cSpd5nZ+wltZV4fPQECHJlb7BNxzlTNwcbXj0BCPtNG9eNg8zspnJE1mosrLds8Sy2yz6j0a5Bg/VBqgowBDqxnO3P9Zp70R8kR7F9lxBe494NQ/gSob/QYRKm28Sq1dvMvtV39MzBAwB5iA2TZWP7S2pWGVhU+YWO3BmkDC7IHT4kW7uOtbAMCZfTV9W//AB0XzPI3mFR/LKWAbm` &&
|
||||
`Veh/ylmNxj7hyJ3HP1CG0n0CUaFE5bkzsp9prtKtfrWU8CIU25EbBY4lnEb6hNNVsXMscIu4zUXm18/gH+2CZZXgbugOU5jGZz6pk7pqGxhpao4MMAK+oyhxYgPTUbdh3TuLmLqlHmDVBvEQBjuMqUWPg9NV9Mscu25ug6aB9uRNSS3LdEOF6BPGIAoXMr/eJgxeV2mWrt8Qbs5HiU3dvwINYv2mpZbVxuxLq1H0QV+nmIAg4ir6Jwo3` &&
|
||||
`H2xB8RqJmq1Z5Dfp0rrLnAh07hdxH5dEOGBl5/ToviGKxQ5m9m8SqxhEbcd04PmMNrZWI20ciFkxmbc8zt5hSbIuRndLm9paoHQDMr+HB+PH/uLSBj3xGUjzPMuXB7Y8COm2V2KoORA6scGMpEErYTdBccYMBPtEyohsOeBEfMZsTcWMU45eW6jIwszt5MZs9PhtLNcDjiAY6dmu2vYW8TT6ZFUqp5M/Y7F+qOm4ZhGOgOIFyIOYlm3z` &&
|
||||
`E++YPyMbf5Jiah1WLqhjOIbUOCRLLyDtUQq1lYsEdpnoml3e/MoTtoB1PoYOvj/wC4jjtuGWE5TKwgKdsd93WsY5hXH4Nxm6ZUDidw+07wLgkTSIgcbP6zU6Ou8c+ZdpBSQPf/ABK9K78kD9ItajnH4Hox9Pj7TtlPSRlZQpRdpmo063JtMu0nZXk9a8kS0YhOeoHTEJxNLpxaCzTRt+846Yz8mxSykAy7SXglmjDExK/QJY5aAfgIjQ` &&
|
||||
`HM0VHcA+3P/iIioML8xlDeZqvhgc5TiGlqWw4juNsMHEzBiZgbMJzKF5/WU17Ex88qG4M1GhsJOBxLaHr+oRqyvkQ9MwGJWzHiaHJZfT9/4J0DjEbT6jeQVyIPhNhPniW/DWU4Q5hrbOMREao7jNLUtibyuMzGP4YoDK6ErGFH/F//xABGEAACAQIDBAUJBwIFAwMFAAABAhEAAxIhMQQiQVEQEzJhcQUgQoGRobHB8BQjMDNS0eFAYi` &&
|
||||
`RQU3LxgpKyFTRDYGOAwvL/2gAIAQEABj8C/wDoiKiak0INTURWNGDBhkQdaM1nQit4/wCUZV94rJrvEZZcZ4eupDAzp39ArDMNhxaZctawoGKXjiMnsN+x+PjRRVnKrTMReuZjEMlUE1LnCAMyayPGNKKznrUGsz/knWF0wnjOVddYw3l/tarZwA4+KPIA512MGIySsozRz40Zus68jGXsFZ60r4hC6CM/bWDNVOoGlSZ5ZmhnSNk2Hg` &&
|
||||
`aWQsTGpn2RX5vUriywgY45cRW4FPjQDVH+Qs7MFAEyeFOOt2hwVOsIAfUMVBt2eKzkKwOAycjWfn5dBV1VlOoIkViGz2QRxwClaAxTsltR66Fm0tw3PThOx4zUnMUY/EzMf0MSOjKssJOoxaVxVxqp1HTn581nr0R0YVYgTvDLeHEZ0lpQbWiqr5cNBz9VKhbt1H4bq90W1WTJMRA/ocs66tTcYgwcPCvzFLYTK2xJB/3HL2ikduu6wL` &&
|
||||
`Ha+IGVGAATrA/oIJpWGQyG7p4Rw9VC4Du8+f4LXbzqiLqTW1bXsDP9mv4d05Yt2MQ5Vd1APosRLd8/0EUyszjhudr1Rn7KVbFnq1R9CYBXuisK31S3wC2sx7491a+dPRPm9w812V3340PZ8JyqVuOwMDDGh+RzoEeeNj2e4qPH3jkYsHKBzoPeZ77j0rrYj79Ojv8A6BerfrA2QKDEPaNKxLsyC5mfvGxdW/AwMvfTObl1y36nJA8BXH` &&
|
||||
`8Pd87IVn0ODkWOTTr3d1LszLEDXzrdoWOvuuMRXHhgULm2MBvF2UemxM58OXsrn0H8dXZFLIZUkaeFNa35fSBQxxzjo1rWs6y6J/Cz6R0BWQMj5GdPCgpbHHE0COz5jXLhwqoknkKubXcd3Ut91bjew+iI4DTXKsTq+HBuIilpPfGh0/etzI8QdRUnebhUnj+PNKxA6z0cpPD+KxsoEZgcRWvTmakZipFTRt4hjGq/OusKyg7UcBzrDk` &&
|
||||
`bbibbjjzHj9cKSfyrqwO5h/Hw6Lu0NoqzUlYJ4eZn5hBzFG1cgDMqT6Q+UVxhu7p6zarsfpQdpvAVKk+TthPL824Pl9a19k2O2b1//AE7QxMTnqaNx7v2X/Ts2ng66s1fdtbMsSSvHvP17NB/Qb7Cxb/SmbHxPy99FbYkyMRn4njlTSZY6nzIOQoGy67UnJjDe3Q1hMo/FGyamtC3cOEYpGYj40cEu6+iuVxP2pkg3Z7FxWwsDwn+Ku9` &&
|
||||
`W2LenDp4eB93CriNubRaGPCRmGHyrHZtFyRIxbopLu07TbbC26vZVT4c/GjsqFrdpfzWKkE9wq1sCAzgy7ujPo0no760q0VFovilS1yI/fjWL2jlWs99NsfkJBddTFzaG7CeH1w411u1vc8o+UnzC9pvZ8zyo/br32Wwf/AILJ3jr2mrBs1lbY7uNAWhqYLZbo50k2jbYN2SMx486gf0Bt9q5+hBJ/jxOVFOsu2rZJxYIkZzqNDMjLFQ` &&
|
||||
`CaUEtqjEic2j5V/wC1uHww/vX5eBY55msSq57i5PxqCMPjQF63buj+5dK/wy4Txzr70T3GtIo4s6DMqsR+pZBFBbqJj4xnUUzptN23iaSFC/MVOzE9erYsdwyW7iaw3LF1No06oqZPgdK/xOzPcnjaEx3RWGz5P2jF/wDc3K+/6sPOidGZodWuLxMUcaoOEq0++iRbuRzMQPfTbMt97Hk+1qE/Mv8A8UF2W2PJmw8IH3jj640epSCe05` &&
|
||||
`zZvE1vbUrGJhN74UP/AEzyc5U59beyX69dR5R8ptgzm3YEAjxpbWyB1s7OWtZzm2RP13mian8bAzOB/Y5U+0UNj2VFtCMT9Xu4V/n96gAKq5ADQUyMMiI1pCtkHLM/o7vGsRXTuo7mHP21hZ29Rj4Vhlo/3UBifLm0/GsJyaJ7vwc6zEU2AW49Fjn7q6r7RctxBuFcvZx99JZQb9wiY3jnxY+J6QBaZjzBim2a5cuhbgzwfCYyFPtlwL` &&
|
||||
`Z8m2m+6R//AJSPSbn4ePrNvyRsmNQYN+7kv1oflU+VfKNy6P8ATtZL9eqh1Oy21IMhok+01ju3FRebGKf7Ev2y4nBOz/3aUhN1Hxsz7qwEk5r35zWBRJ/FW5Z2VtqGL7xUbeC8wONYkB6o6Nx9dNfZvu1XESM8q+x7PP23at+4wbKyP4yHfrR8n7AEVNnRQ925n4QKuLeu9fhIEO+FTxnCB9RSoSNxczoK31wzw5VCtR6y4MS+iMzW6f` &&
|
||||
`aI6MzhjMN+nvoElSea6Hv/AAMxTJbJr73Oh1tm25GmJQaaxaVUU/oUCDzr7PewrtS9pOfeO7o3vZI+dbRbt7UEZhh3fvSoPcKTZtnuXtpC5Ll/4ihY8neQWsga9edTzzisWLY9ij0dZ/8AKlvbR5avsx1W1ufXspbz3pbiCgOfrmrdt2uXlt9kXHLAerSgAIA0HTjQZzFYb4/6v3pW2xUtK3ppcxKPHQ+6KkGRVvCowGk6g/mCZqLlx2` &&
|
||||
`E6E0tz21csnY7zqujIy5+qaQWy1t2EkXlKRQu2la5bjMK1FrFzrXB3kJhvYaN3ZG+z7Qc3tsO14j5iruxFXW4sXMHHIzlzEisd5XXEROf3l5vkO7+ZDQOtYKHfXEQOPOr1+8hQu0KCR2Rp86gYczGYkd9HgBRwmM+dFG0Czl8K/LaKCgyDkD8qIOHD30LhSLkYSTr+BCLib3Vj61G4HATr4g/KgAkrixQd7P8AVnWKSyYdJxMv7/HxrK` &&
|
||||
`o2m2jDQYu+msomBL9uUz4rqPYake7jUJblTkhttMcJHL1USLaBiZZ1t4cfee/p6q2DMgzRCoyYDhhv36D03Nn2m7lhlGPA0UsYQon74jTuHOlxYzCjGUXER4CiiNdKnQdU5HwqHtbQ91WnKydKlLUqOyGgeqpvHC0DETkJ8aazZwXlIkW1BxeNMtzYb4fU/wDJiirpukan4ViRMB/sJX4UjXXe7g4OF/aagXHjWG3s/XnS9Zfe5hbFDR` &&
|
||||
`88/fTFQDdYZE7x/wCKxYTmYUDUnkK3u22beNTThIxsMgTRDGZq53wRQtvccrbJwKTkvhVtTO/kw9U0MTb3OhiM/gdSExGN/wAKO+s8c6yYHwNa0NmkZDcz17vdUMJU5GuquMcJO43FG4Z1DtjGQYxxqLnZHpnl399XHV8QtoFEaGf/AOR0jY7M/aHObDLCvH676CgBVUZDzcCO6Wz2kByI+XqqAIA4VCgAch5pKBVfWY+NBsxI0PDzZP` &&
|
||||
`8AzRuXNTw5Ck2u5ae5YW2RuLOA8T7KDKZBzFRUBwuUxh19dMp8KDLk61+VveIrrLjDTdwns0Ms8VDzO/pOETRZjixNiPI1hAHgKBAzoNRl5ZnAXFwb0Rlnr0NYtwAmTPy4wO+s5GPLLhRTaWVYGbcI591XLwaQclOLUa9KXrmQvWgiGOIJke8ee9xJxDumgxu9cGzDxHmsx0Aml6zxduR/ap0oMpDA6EdIt8NT30YG7oG/VV4TJNp/hW` &&
|
||||
`yvEQmH2ZfKkMNnu65D6j31J1iBREViQa6ihhtEk8zpQAdFnhE1jYbxrez7hXV2Lbf7q32NfmMR3mpu24aeGdZUaZAwTnzintrbyZdyDGHPXv4+2sxTWsQgCRi4UTm2eId9NcxG2wGHF+mePRfB7XWmfl7oprY3T9Z0pe0VQAq/JmkacY1qB0FmIAGpNPeVn+yAwnDrI4+HnlXEqciKNtdpuSpkYt6QeNRcvXbmeuMj5+aMRzOgAkmgrC` &&
|
||||
`MzA5CchWISjHUrx8edYbgg/qGh6PvLaMP7hNW2A/NcQO9jUESujeFG0ghLd11Ud2KuPqrNoMSBRNu2Y4M2Qamx2d4cFz95ApisKvotrPfWJgJ4d1FiCY5UWu9vj5mpFfmBiuta1nbIJ1YGR9eqsxucG+VYbefhTnFvERA4UFGlXVtziNtkC98cejaR6XWgx3YFHypAGRce7BWcXHXhxp7ly2iO7Tuti9ED5dNryWpZVKdbeM9pZiKgCA` &&
|
||||
`OHn50l0cGA9Ry+vCtDUjMeYt1RMAgjuoODIIkdBDCQawHNT2SdfDotktz0XLDy+H/bRo3LlwYTejAB+pvjLeys6utcbAouYQh3iWgH2+3KNKEggxx6MuhkPpLFMriGBg1E5+YoLLyg6/WlFZhgJjurC3Ec86hT7ahj7KgCsR7hNOZbCLa5cNT+1dX1ouPPYt7zewVtG1Om/m2A8IGQ91W3W+rIhneXM+P/AAPMXrLK3br7toHU/wAVgX` &&
|
||||
`M+kefnZ1OtMiZk8zx4e+g66GlwkYmYDD+rzGzIy4a0FUAAcK16NSIzy7ui6xEaKDzH0TRz1yrXJXVz4Ag0HRgwPI0m2LhuIxFuDl1YMaZ8+6emGpcb4QxyPD29Bcdls/XxoMphh0SanDApcEYR2zROESdT9eFFlJnUDvoAjWsgvspmImM8hWAai4uviDRga5mtlRMgEiIjMa++aKu3bGGfGrhVjv8ADl5hW08Mq4WJzFtZ+PnESRI1FR` &&
|
||||
`HR3ULU3jIgqHbtHjw1nnRm0inmNfr1+bphBzA/SOVa9AVe02n79EUDhhSAw76i8JBGE+FdSgw2rglB3jX5e+jbbQiNaNq+cWcLcyz5SOHKeY8OiGq4XOJXbKc8tPfr66/w102h+jVfZw9VdVtGzdYp9K0+ntqSr2wT6Sn6+NRjn1VmjEf7DUYXnlhpVYy8ZmhbxF3JjCgmoImaTsC22Q8avPilMZjOfH3zRe6cKgTJqbjq2C2qkaw/H3` &&
|
||||
`H31NW9oKFQ7M4HczEj41fukqTbshk5Kc8vhRSwyWdsKygfst/HCuvT7tkyuo2ts9G8ZfgtXHVvzlxXl5RkPPnoyNbOtxVCpcWWRs555jnTIwh117+/zD5mMBWUrGbRH18qAVR7a7XsyopcLWid2Z0yjKgcxMe+reAw4O6e+iCMJBwkcjWLDbKMmG5Izbl8Wp8LKV1UnXwP7/RlZkag6ijCtgAGEATzqVxetY6ZNq2x71FEm2Ae7Kgtva` &&
|
||||
`7ygc2mobyheK8Rn+9PgXNRm5/epiktsgvelhy3e/4+ysOFQmvfNSzuwmQp0H139H2a1+be3RHoji3q/ajYtrCWSLcf9I/er1thlhHr1q/s1wnFbfHbad4d45V1Y2i8HgqXntKTJB56msGx7S/VRAXIlPCco7qW3dW5YOHFcua4u4HhRCatmzHMnzAVt9YkZga/XdRvrcUysp30Lt1cLZ4h3jpzp7R9Ieyrl1exART+qJ/fzBMd1a+YuH` &&
|
||||
`gc6yEZ0DP80QuGdVnn/wA0t1TlrVu8NG3GPw+f/dQPRjQ4XiPGslDNM5cO7w1z8Mqm05t5NppiPH65197AH6sWtEjCqzlK5mouHwIFYsQivzFnlOdY7n3KasSc4+VAQEXtAHXxpcPWWxj17s8/CusvOrvEDCuEAUem68sSdSfhW02tHu3N2NYwAT7j7KxGYPZkaUzRnz8+5ag41AgH0poRZutOeLCc6S51qInW4mttw5mhdN53QN1nVx` &&
|
||||
`lj5/OOdZdE0yEkSIypbd0AcAwG6f28wYYmeNadEeZgOFbnLn4VGHC65waykpqeP8/XhRSRhbNW1g8DRLIcPHCZ9fOhcQhlOhBkGstejcfBHdRu3tnZgNXUyo4TB09VYk0OhHGoOdG4AN3KQOVfdi2qxq2fu/mgz3ccZiV7Phw90561p5rXTook1cs3yugIjlH7zTHGGGZU8xOXupqJPHzMugSddKuOyr1SSqP4f8mktzOFQPMmhHQ9u1` &&
|
||||
`gCDddmE59woKCYAjPp3BJ8YoAlbciVnexDnWAnC4E7prC3Hsnn0iprMb3A1lWLhrUDXjWFbNxBxwXXSfGDXW2Gxc0dyZ9Z0qc+8HVTyNTXdT30vXLRuahVWPhQ666IDf7pHqC/A0MCtIGr6/WVQOgs7BVGZJ4Vy6MqiurO7dL9n+2f299B81IEZNFBbZhFUVlUVNdmsunZRsttrl3ewqok6VasHO5G+e/zGxXkXCYOIxnE1APRNXSNGv` &&
|
||||
`MZHHzTgRVLZmBrUxnzoowgc6wwSOFAjzOVREHlW5lQnTQnke+sSrINDfCxwI1rCcjy4ipLEngOJorC4weWRFb6xzq5fRlOFCwzoCWjFmVOkZ+zL39ASHnURx+v2rEzaaAfWdAKGcEwWXODRd2AUDMmvuw0N6v5FGch0ZdEHzVVmguYWr21a29nTqhl6ZzPsEe3zftqS2ERqIjWrFxRlcOARwaNKTrFO+wRSM8zV5dpd71y0/ZJgeMe2o` &&
|
||||
`CgDkB529WQ6MXPWsR0FEdPgahcJPM1nRVVnkOVawTUMisORFHBaVD3VvJX6vGriswLsCO6KxscJ0+vrhWbtEQQDFFLVswTOKSxnvpurxddoN33511YdVABGIHEx75ojfAxYgrPiilQkYzoJ1o1p0Z9GXmfbLF4WVtHDbLpMggy1W9lsTgQcTme/wA23iLyINxEaLbtzw1tOwpfe1etsL2yydwxz5/80m1bTs4XqWVrezK8ntCSTpoK2T` &&
|
||||
`aryhLW2YlvrkQpJ08Bu+yisYARmOFYmxCwDDBs8I0kdGta+e1oRuxpw8yagVDhVH9pmahRAGgFSmQ/TWT+qPb8qI0I1FM+cAZxWQiMo5VrHfyqShU8jwogJigS3P8Amsdth/u4RzoWyN7iRoaTMZmM6+02t27aOJTy50Vw4L6/mWjkQfDzs66mJtW837zwHzpNlK4UXdaD2h8hS2UGnnC6VwXAcNxY7LDWrPlXZRN3Zu0OafXxpNotHc` &&
|
||||
`cSKu2gJdd9PEfUVZusZur93cz9IfU+urVq/ab7B2rjomIluC5Zgd/wom0yuO4z52fSLizOIA+vL8DMVigTETXI8COFNbuJiBHDjWJNfjR8YI5GpQ4hLSJ7+FFjZZQVgliPVofGioANt+0p+Iq8iSIgjlJzPxouUIa3J0yBwmr9y3IKo0htQRVu5ttgO5RSGGRGXOsfkzb3bDpZvcfXR2XabZsbSnaRvlSdbO/x5UwD4JHaHCsKNZvqMh` &&
|
||||
`iEGsJexbB9JASR7fGkQWcTAbzEziPE1hRQo5Dz/wD1BF/wm0ZbR/a36vrvqRhdHHiCKbZLpjYtoOK0x9E8vru6Ns8lndt3vvrA0HeB9ejRtMSAeVBynWLOHfQUqIoWVLFRlyz/AAADzmjOnA1l+DhHRmM9JBg+2oXTpmsLaSDVwNjC3Fx7pjFzB93tpVk7gC9HV7VamOy4yZfA0Ln2w7UEnAjpBz7+NHZhItnLCw3l8KwXrSiIKsuvrq` &&
|
||||
`UEEkn8G55I8sIq7QBH9t0cxWBsVzydcOR16s1gaHtvmrDh3il8neU2+6P5N/h4H6yrZvK9gb+zPvcJX6y9dJfstit3FxKa3lBir9y/ct/aCxLKTDROUf2/Ws9G4yv4Hp1rLpIxZDKO+o/FPS930VkH1V11475EBZyUcqfWCZHt/H6u8MNwfl3QM1NHYvLuznaNlbdXaFEg+Pf78qx7FtVvbdicn7rFDr6taNi9dVJzi5ulfXzp7W27Jt` &&
|
||||
`F3YGGHMdn11e2Ukk2XkeDfyD0XEWwL5MbpAPHWDrGtfdWbpCnX7MU//Qx7acPZ6s8SXxHz25Ze36ipH47XDoomjauF1uXLgaA2QGuXsoqu15Hjg3hWArA9HnH9AyOoZWEEHjRdthVSf0MVHsFC0dkxZziLmfbWIXNqUfpDiPhTJsdnqw2bGZJ6GuoASOdG5cOfwrLzshnWsnj+Nl0KhzDOo99JZjenIkV1jEv+nu/qLl1HAnRcNGzdQp` &&
|
||||
`cUSR+3TrHRn/RW1H+qn/kBSnCrMOJX+q38SNzSi9z76xwuIMx/uX9vdWJGDDmD0Z6Vuj+hS2hw4pJPcP8AmrT37hFhGFycEF4Mga+HDh/WFToaLWlaxd/Wh+POjK9db/UmvsrSa06Y87LzT0PdicIJrZ8GZYm3Hjn8qCooGX9f1nVgPMkj0vGuqCmzdGu97xzFRikjXKCOnOp87Pzb/wB2jJhOjQRlS7RfwWksHEtsbxLEEZn9v8hxOC` &&
|
||||
`G/UDQzzGh4j10S4a6n6lG8PEcfV7Kx2riuvdX2e7fUXeVZ6fgCpmhba6oY8zXUAb149WPXlTFwQzHQ/wCSC9sw6u/Obpukjv51c2e6Q5ZpuA8SawmW2bgeNv8AipBkdEdOVTQ6m4bbgyCKxbXs910/1LQkGnv7VbKddcJKOmfcD3V1lnZLaPM4gP8AJmu27yyx0Iis3tR4mp2bBfWc7NwlB/0kafWlfZLmxG2pO/cuMMX/AE4Sff79KV` &&
|
||||
`vJ9s7OwmStxpqb2zNtVoenbXfHqrHacOKF1skMmTTEbE5QrunEsn1TW+mBP08T411ziEHZ7/8ALvtCTs20/wCrb4+I41b2fbNvR7FvMIljDiPNs/dRd2xsRHdXYX2f/jr/AP/EACwQAQACAgIBAwMEAgMBAQAAAAEAESExQVFhcYGREKGxIMHR8DDhQFDxYID/2gAIAQEAAT8h/wDiKjczzKFcUQUbt3KflOOPeCBkb4DyMVs3WbZqFn` &&
|
||||
`iItirN/NcQLHH/AEzqZnliNau6aEWoWD2SzYpYcDsjwGOZusnUyJAWUUWnS14u5bo7kDn+4/0HKvyVAP3+zAypMTcDR3gOdcWw+naIoJckq2SNNc+m+YM+EB5uz9paCzcbAC/+kDIFYyI7uJBJvJjxQ36b6tw2CtaXGWas9CIwt8cGdV74d8yyNxqlfxRZ/HNxfb2MRYASByb9GseCUA0WFh1SIe0CkRgWpV43zfO5ncivvLJQGt7tTN` &&
|
||||
`+K1q66mc35pegV8/Eur2l9hcryXTZdnBAwhp2g0Gd1qLQcn/QvhEkoHcakshWjVWAfOT7SiGmh+Smv2iVK2dnxHzb8zQuXZCxUOpn6LFPXKMLxHm3Rj2hjXgXH2jafkzbOlk5+Y11lFD7Fr0IJd5IdlE4f8ihXbt/4O0u6v6U/Aj4BkA3YR9vXjdMvNQPPf65LMMtVGJdwwqHMMMcNkG4irmFIYgWZQvumqJzQCorUL0Qn81Vl3PVOKn` &&
|
||||
`sqnZlSRVBPLf4wMmhwMntz/wABAW6mashcIvD726x1vxElilSHWqrUjUDlaI4PqLvmpeX22GfWPN3ZMj6LbJuViWJa2J2+0ahuDLHdniHXmNzE6I6ZSVKGoUHrGnDJml84IVR2OHo/wkxa30EtECw2qFb4Fav4rA5YFwXb1cc8Pd/8C3G4dZW+auyhtV9gtxVhFBAiA9WuMY11iXa9Kqj4BVCp4RGLy/U5YYiMIeCWlIa1LIwc6TM6gt` &&
|
||||
`wi1jMrpSGrfiA6J+Xhho51e94IcCKUG5VKLNr6IGaFG/T9eR1V6tp4Gc4Ct3CLNQ4s3j9ioDMA/wDAbARTWm7we5l48zWtFkv2DN10j1CHH3fMdkbS79dcRF4YOHFOpyGEgWoi3FTUUvbLHxB6vE0yiGCxlmfjM8QXtYpCuM3S9azjaFxhgBh/VdYnwDFadt16Qtou1tiRpda8H1le3KFlD3j0eP8AOqtAlWlL0xNZmHruX+8wGaBBxH` &&
|
||||
`/2Ii0hlsozkKiecpSJOjXM4f0DTZAbllSJfpmOGIXdRWzqchmOqnBLur8TLAgi0sZtIfu0iuc79OSNbduyuPtjOY8tV8foG6u7gLWFFWcpFui0dq0W52wo2thJyIUAbYy8JQCBjabTPuPxMMq+BxKief8AOQi4jB5E4mw+2bcF5iPeHKwZz78fLGaxZ4ZXBuLqkgSrsCHVIP7pX1Behr9nmNe5Xty05rnxfpDlLgeKGT7vS+0RtLtJzl` &&
|
||||
`45/JFsudZDdvB7uPeEVELea8TNuPwI45m2/pEFlTfaivMOojMQpO5TjjIqc2t+Bs67mR5o5Vnt8f0+tCTR3F6/c15lZmYX2O/T43wm/fjTb7Km+TqpwV+CGx6Ebo3XDG+Z8ja+DFvR4xaGIXczf86jkGGqXizBZhA1xJekJrOttlYedcZibgzJ+Dx/d3LtYYGqHr3OZuVt5i4HRvGJ0BXqHIerEggyOr259SDsMMPJq8rsoFjUodilzk` &&
|
||||
`un3xK0N81gyCrq1HpM6NJARxY4BL1bhVUVx8zK67JV9MBlmKAwNK5zewTzLVXNVT9spznS9EduRehsJ+fj3dV3OoYH2H7dxeZomJfwjfawFVo5i1FEfIgFwhb4+yc87t2FGsUQwFpwu0esxFIq8uJXBBXivtznnQgdidBuOThRXwOp72MQ4fBgw+JcZ90z6nbvmZxHzpZ/73dNVEZdyxSl5W2XN73dNzREBi/84SW41G9KcGuDygG1rK` &&
|
||||
`48EABBeSTLXyX8xZARfq50uz5jQDG1I+4l17ep7bGD2fiW2qFq/ux7RmxconQAFmmyWbao2avu5gqt85CZQZuoVQZYTGI6lCwuoR9WnZ6KKuHYTvGXLiUlEDgaJuLbAWg5OAlC4I2CFcikxRBLguzLrAWL0kf2zs2zn4d5jvl1AfL+JfJ0CKB5vncsm8ekY5YXJVptAVvTK9gRu1XJgJKHpTmkb4MeIbRXI91VDnBzeApu3O7SsXVnru` &&
|
||||
`m2GA5bLPaZeZjsfNvxeA+sFAUp21PNPGrbxGgDBaR3Qv3GUyiFTchHpf2AqxeAg1m/82SD22D4H4YZBo0Wl0Gl3qtMbC602UFBwEo1VY03FYmR5PK/ge/FgjerxZ+DcDCVGCh7v/Y9yDe16XlH/V4Q/JmVDowzXM7t536cEFUYKN+x5z+3Z9Bh9SsWQFys3iS4yL0TAxyTf1x/MMktAhpWjFGt2PXNasFShajYyBb3KnSTF2ygixVZBd` &&
|
||||
`1djxEoKwImtKMDdjd7mMfNjyp9ddkdw7jSg90e/ZH5wFGnVavg53LpfYU33GVZfij5ZY6xa7hVuA2ri7ZeUC2XByZpsfuRKpDfUVdv61Ayh+gCWJUJWAVHOpfH+j1GoLR5pxMu58UF2VuPbStsTQ5N1BShHJpyhFZAh5DWc4w+LteWUHoGKS8U3tKSOinQfY8cSvTWZbI6fP8Ac7m3HiciIcSehmCC2lqrz8wu6LlqDXWldH0v2scXKD` &&
|
||||
`23+2/j87hBjDcArM4ItesUKMtLF8MU22wy+WDal+ZmBv7SPOs+CZShf0+V9tMN40psWFk3bRQv3QS8AcVtV2q5uvaFZa59N5TaF2+eiZh1JR5ly4lpoVWbeWh94vgaMj2RqBRmzWfIcDnmo8Kbry1n+yE2BQGA+uWhexhzK4SOiVX9dSwOMUNilIG92AWpAQE0kBFjau2nJOem2yHXrMNhZewiYUw6YTXcpWVeQaL/ANR3t1QTnC+ixV` &&
|
||||
`ZsMtVYg7+b9ZfxYrYN6PvXrNn/APg/aX8juU34iicG9JQfxmohAobr7Bzi4vozRSLwErDhWTmMxLWKI4dqveuJamYVLw4fF+8FHZWfPdh7XL03Id1/9RuFHSZv2/3Fn2Kuza5sO4nb54Dz28Ht8Q4rRBrfZ80YhB+im0ymb1DXOYubI0LWBy/Bp3C9lpIJlkwMOLyxLPb7Xa2re96eYKYeRSDeas1nPDtRVLQwxbggLFAU8K0Y8QEIy9` &&
|
||||
`p8mhzL93pYhqY3ARrIvWvRxmJl0CttMIGY3Xri6PoEALBsLpr2Vz1zLLc2BuvBb63djcvRajk/XK45C0usF5iPhPNED7t50fJA3vozZNI5c6vBnoVCBfAJnJ5F0brUM5Cxy/qd1MeB6LfC3t5JZhtCIrpY+7NFUE444Jj19oxdDBQHmyj6RKOQUe6D8nnXI9T1dz63LhwpJC94XJu97hyrtHCdruPZJgeL9wG7whrDRagFBZe3VpoT5q` &&
|
||||
`KaQoc8I/vbQRdBS81hx4AD2hpzwIZ/b2lgnXj1fSBa+a9d6gSwoHxK/aXeaByOacXiaGD5CIPhE3xmZStMwed/3fBDACrKFZi+iha6hTbNZPPKfmvbQroe7zj198gQeG4prPJFuvdGQCHQM0L5BYzr2LEfDUsp7iksrZ5Y8v8AV5CVhgAKX2rzOeNF1PO3A84caujMFQRZNtm2h8B5+rsb0OjK+XIHm3FSt8QOAgxcvVEi79ojfUX4we` &&
|
||||
`p6YxDBAUAoCDSvQUfS2qv67qrCMv5H93mEYoHk8HzBOoI+iUUZgMwvAG1LPHdHxGfnQ/Eo6p7ttr0U3DeDsNJEXA4L1j5jiodgc8sV4MmM5iWGkVHXLxkw9kDmrvF6ZzDq4mB8s51l195sEhVf33l+FHZCxzNah0hcO5j0lK1g9l9DKXd0NJRXqVXiYZa0GohTbnF95lBaYBUw1QuzCmHe84uMpUuWG25sA9AjeizeQEzN5c2y+OOcN1` &&
|
||||
`m4SA3W0+HqdPmrC4BpOgiVbHrR4+tDOssu2cKVd09ZelZmGkWEZKWMNlQVUBVYLauvG4fsASpExR95d+gAVVgWlZxMYG7Bpm19y+mPKFUkptZSqVosSai0mg9EL4cen95nNd6HZPHmWCfkGeLM3fn98pR9LNzYzb7gP5TGN24NGL/b4JW2HEUWtr9+TzAv4SoD3b+0CC+R5etl/E05mbDHgrj3ZeXhxW/BM7bstXGPTPd6cNzWMvNNfb` &&
|
||||
`+/vMe9RPtCdmpm381WIDfOG2WojFYsOfKuvXzMP2fyFW3kAr9ksUrGnzKLPV1PwV/eyqA0pw5XBUxuuRoMPNdG71FAsqKLvBBiYKN4Xhp07pdJdMzVbFYAPQrNrZCF1Hb9DwtaKAlFBBbX3BfR7talF8y6XmP0DlqUUi2DCMPjYWJVg65HyXiyNd3TBnVH0JQjSTa/plhzd6IMywnNDuaMYKMR7vLCfQ1hjOuJQGQx/THx92mYtQnUtU` &&
|
||||
`0+YiShesn4tfaYk10drc+Rn6H95jqwJWVPzCkO1tLW8basgwLF7i65+0sht9iH2CcXlC0euP571uh48AzTq+/9bq4Rb7Fb35xN0Hx37foVBxeT/wAl1L9yLPUmdgmoEFBhNcP/AKjyuBxaCMYJ5pfzOCPfkDnhbDHiLB4RS6nGPqb4i/3zMoNg2ULmg/KFyR5FKkFOhk3vUI2Oqj1QV7Pz9ajSJTSGu0b9u4TMCgFAfS4QfoVanBFjC9` &&
|
||||
`5tRHpkfZGiMHDW/wB4aQQsTSfoCZrNu1ZPJWvXxCeikORhjcKGDI5uZUdhfJ36/OctiITawAp2+bVf2ZstnEbxY/JWNvdA8ZYvMqMGm2QEFAu8yjQU2u66QKVv3rEADiOTqlTikdlmSWkIC7pJwDwvP6FcjGA+g6z9kTutJVtzjjfxNftlGHDUs7At4a8YqWHoUVUdYKyylwMZ1nnfHcrJ0XOuX1wm3ZDx+zIk2GacqaUTfLHK+sAAx0` &&
|
||||
`XeRjnR6m4KB19XIZyFnOb021RnzBGVzTv/AB4l/W/otDSJ0QYABCwqmX2RmrGyIgsgaWC12DvxmO/rgu1zqxx5iI60AoJr26iu5knKne2GveqgF2xEchttBf5haKS/orH8wrqe+jX7Tn4VcMvSFPamVNKoYyXvAGkypf0goeokN+nQ99y1nmVjBaZ5Z/l89R1wAfoyegjJdBvcOgrLFwdVq9e0ZEGujK0H7PiVprljH2OHn53D18S++p` &&
|
||||
`xH6woDS0zNcQENl0KukVe8ZxAEBfRt1+xCoIK8C99ITSyuvZ+WO3KM+n/v6LwT5CAlHcLrkfeBQCrXL+mt7och5nIOdy+Dkl4i2pbGRoywyLoUYQi5hZza2TkbX8pa7+pENtkO79R+ONcQNKk5VjbIMXh37PzRzObiAb8syD2b0fxF2yQ3VqOvwSaCoe5YPDlzKhUh9k1NMVoDLhcsjAUKNmGJ6n1gvJAFkQ6Bo4FfdEd2bY53S8uQSu` &&
|
||||
`YCtRXgpT7xUVxFKvXH2GHBeoLP2iGrPP8AtKC2tBl/M4FmirY69qBM1n+N+JjABSJuA7Qa8lXHx+POHdpj0AAPhjB+XxKCuXxDNBhTDVdjRpyKYPpGOkya+1gmzfw5Vx4xZxdcYA7LDLUeO1VqyZ6IlsyGoOx8ef8AYS33RZuX+CC1UaGKcP2x/T9VQpZPWIhQ1hrUzudHsx7wLuXILVdDgeH7ZJXR9UHnKC6t4PoLHMszHyDGVVyYd2` &&
|
||||
`daR0u8t1x8QtasbDBz/faDGABW0h933j2qRpM2gL+YmKI8AH8Onwso7ZndHn0pNYTBL60IW5MPTg8zlYAtnBpzjveDDmOdxW89P98mJSQ3p1zYAt68GKjIRmkZj6MdhhZ3G7hyiLq7l4exiN4DFD21KtwxzDqGwM4uQ5t4MZrrM34WaeJlQYtUu6K1g2tehlj2sOSOVslVVPfl9YCnIuAp6Bfy46+hNh33u/JgPyjmYA8ytLj+tQLGsD` &&
|
||||
`WLP8ZjfTaq5sNrBx3Lv0qupdOVPDmCoHwpud5Kxp0R1donqOw32lQKFaxt9r+jMGnH+Th+6W4sFd/Te9xuBAp0iNHqQMCUEBVpEswgNXbh9twneAFxYlPGnsy0V+qLt9u649rhfakMxJpcVRk0wbOT2/vHMUFD269oLZFVZRpq8XhzGjlVN45evBvzAViqDyS9GE84tb0XTyjxO2eYXkjW1XpZTppFrZkT3bFlSZSsMpau2Ap7M2ddBK` &&
|
||||
`SJLEa3eKbhCszlW6Xor0Ikke2o8l4/MampQqR97fvUr7zVqCQuOFvhuVcAKFUXeTA1m9Xrceygh0qco9U92FGAQhBoDsK/cZUgFfKIuFbcGb4KrNhwS24wRCbC7VmjQ8Fte7tVK5yKoqlZ9RX63WlSKr7794TY3Kwz6QG0xZlmAjq2bfTNVzANBT6oX5icIeCvzLFLYtWqku7rUBzO0W8m6uvceDT2iZrUgCAyVSX1MZhpXAHl4111L1` &&
|
||||
`9eAE04vP2uFOIurGFFoulaxORCrBBmlqDrTXaMqfPmHNqlpp8fnMRu3uLU5bPkb5KIsNgagaS77j7R3TF3p7MF794Ii90A8MSyocRAzGw6V3RHw3x6U+SGVWNPewt0q0ccsfTCdowHmIjgOEeYAFbkMjGN5A+0TXQF2X5fCAbWUhlY/YS1UUNPbatr7vrCKCOysSlVxGkolLox+g3LJQSwy8vCWryS9WP2I+BhxKGX1hS14gNiTcGPyj` &&
|
||||
`ECAFVbl3+zDKcADS6xz9j4lp75qror6jITHa5Ss+i/W+aaZPBZv4gPgQVa0cyt19LoHDdHzHieCIByGzs45PQuVkdW7L8l3s41NDPgeHh8cnvXWiip9UGqhxTSCzrnf8REpk28Pf8AM3erVdxqmVao+wQvF7o8S2cOnvkK+27OSiaU0Guof3vUtBTDbeXEbVl1Vq6t1dW+ZYtWWLautgPRgCYsqLYB9LpYUXLnIfQkg21A5VhhkfBmDL` &&
|
||||
`ghIV9OZRmWii6zWnTUvVq3Kn2qiR9I7XgAKNQweU5IJcIoiFNIgtgkFfQsTOZDyrxuKNVe6y+UPFr+i/VbWgVBnxLu4EWXHSaSQejLcYblhzCrcAxpULTLdscTCRCmQd/g+I/xeAY+ZZbTvuvD/P71YZqnOSo8J3dBMNvU8i7rmO1Q3a/jsmUFX8ePSFGW60uK/ZXMS4dA0wy7jxgDp61x43klbZSK/wCn7QwgUabGuYhTOzbmFe1X/a` &&
|
||||
`YRRWjz/EdfuIMGPmDT6ODybeVCCOI4+AMzBa8GNtF0tuok0rWvBjl8r+2LLgUMiAXVSGd4wYpuqlnJSKCH6Avau6v7Fw/AubdjCCgw7igvaPRd/TN4l5uUbICK6gaqG7YmEtFLalL4A/pXOImlHIN/Pye49Q5nFh/GviAKysFOK/iULxCqbejN8uKJSqtUAm9VHdagjH5+lTN6MZLbbDD6wFvs1/5j0gWWtj1M+w/TeQN+wrhlp7hgr2` &&
|
||||
`5+08pjcPBfLa6feNcOrhZRUTdoZcmG6Vc0anZuWtIlKMKLz9pewipBZhRxiZUMUEMXx7tfD3WDvDXkdnzKhd5YVtWVfPtiiFZOGoC+kNbq4FlUMDWLOd3hu9zf0EttBz81wrXEugoKmXsjm4zFsefoYDSUmKSCbD4lvj6LlifBziAI71XoQIMcNyLantVf0tJrHB6babBooxriZ2AdXrKplSGDiX6SKWRsQm6jz3GA+sEm2XAjl5wbYF` &&
|
||||
`Ra9phEl7Yo261iOUsE0ItaRxPWVbOyBOrjGtzXSquBuj7fFRZ+nAy0OIyIXi+5gV20Xw20UeOfSxoOAhQREDRw0+nT/fQFDGrOSuXPMG0FdJ+fJ/djDvIW2U1URTklfhAtLEQBnymEyF8/gy5qDQ0FQo9DZ8W4g0oWnIcuemrZeh4vXsNPrxxXpdspMd1amPXJrzHCyELyMvFRbgbkJdLKYfTmFNQKPopRghsfoI2XKJj7729oCUY19R` &&
|
||||
`teX5dQOQDKFW/qN8SejhM/3MukrEL3X4M34XUaZthk7HyNkBJFhLeoPJfulqpctnsfKVDCGlUZldnVoy67QH45CnrEtEdj5+g2uyeQY6/ZLHBNUuFIK9iKeAw+z2yrcRJiPaZ3LPAihsajFwFT1xmurgd6OxGIgi6X2Vxz48xWBxzodRPIVYb6n7e1JhlL3O7yGzl9qca1Td89gC06Wd/ZAbvb1Gd+pye/djYo5ybPZbY+5hKKGXsGhv` &&
|
||||
`k/1plNmgqM0kUrlDetVM1nWosMnnnYpjPoesThfcrz2OfTvcM6RIAspWX5JdvbD7yYp3wmB4x92DvQKSxwNMw0GQJLsvasLBnDR+u6sUkHpUP977ELPbR2X5JSq1dVrs/A+7Gfo5vDGTgemJr33bt3CCA73LOTsgDUyUq6U9/f2lHBBwwiu/ouIC8QTKSnuGycF1/g/vcSwGoIqZgL3Fz9GT6OmY+7HmaNxKtYplq+qZqCioed/wAspI` &&
|
||||
`nDHZIC7e5tZ9gR/aJNetxBjvFq42mfRyBqisfH0N2t7ll5/Y1gslE7kQjBu/HuphEd2Uv3eB+eIAy6GkXryx998xXzwO/Hsf4bVNFuX9z+4pAX5fzo/u/W5bca/wBuE7l1TE3Ds6/rFMs2GCOW6Xq35ZRcDwGV+TWWXTMsIHDFS7AgJ71RBQkwBbU1/aYrDG1ncZS48dKUeYueU4NUv8JBcIQFW/o4HMyY1wRsxbpxOQlk2pjRmUJ2xB` &&
|
||||
`FLLFs7ySMJl8+X+5wW+MS7yxZ6VXpv9G0B/wAfIYf9hjs/DTCygMuj8HjZnc5aEPVbYetU5wYYIsHL3CLHsXfrE7DupVxRqlcY8Vy+fpujiPc+/wBKXlAaYXqUXTF1Qk19eV1+Bbg7bjdbqaTrLmsuOOsxreIpibfS+UwHEUllTlna/tFnkzOkZpCDRFlwKgmb95p3NRxMlBCrm6kOvEvXa00Ckdii/SIOQaRR9RPmbI8LcAGfj/gOgA` &&
|
||||
`NYHYk/3MqsB9pVRC3G+DrxqJURvAvGb/eBUTkE+V/Hl7+ioiApjcuKPFcDoioqoeTuO2YYwYuVV0ysM/Aup84LthWvMW2ZxMxwS7lW/Q5g1Kv3zIgD8wRWHRA4s4fTKxe5KvdS6wAXot47/wCOlmYFXFj4S3ywonquT+tRu4U5mks6Y4vMpqV4KhM/mcCVQ3CrUKMymkBcaqZqDBPvJviQsHcVltrLe/3kD5JmtpsTqABRgP8Akh3UNj` &&
|
||||
`U336/yytFTwlX9GxywaXdWh95iziCo44Jdy8wDARNx/KZLqcpwTNNIZTGZW7jLUEKomRUULKNXzY+8IhBoQDnhdu3/ADBA2FJ4hqC5trxRx6GX6m0emd76DV5ZTsmKVUl1EhawOScxM/RibgLsxSjW11KtQAvtLhkJonSBt7ouJ0Du1P6+sGoAMG67/wCfYeOBWler/RKsXxNj+Az+GyUHpx2CZPZ8PEDLCVywLE40bECOZTUJoOpToQ` &&
|
||||
`P9p0MpU5qgyJ1KA2UqmACndLXacALjZc6/6H0nCn+IVldsV3UKqFS1V74+6c8lTkAlWtPT0+JjyWVdGLy6ILBuHUhIVjiGvrcUsDzDVFIEXLD8nUztAPm3l7FvtMsrwar/AKNBKSyBBrWDoFwwYbIpIhGXWrRXWvEGHu58D31eISIhYjYwRGizBvcRuoCp9WG6i4DB8q9cJyQiFl+KbejzzxGJLYtDFjgauLa1bA9Ojx/0qWUzLoDGHu` &&
|
||||
`fxFULypP2hNzEkjHa34ROoxZSxJd2LDxkBhrYLYra9Ba+YvBGafqc8vHBbPRxvHqbILNaiwhuFG0l7whR734mj27WPVMV4N90pEeqcdry/t7/9dbnqtPXiN1vLVXFILWuvkWbwoYWJRAaX/qbuTDhmABRg/wDzp//aAAwDAQACAAMAAAAQ88888888884ARDDrK8888888888888888880l3isemBc88888888888888YEoHAl0dmE+D` &&
|
||||
`8888d8888888PB1yRAXh1lwOj888Z88888888ar7wfQUk2OHdPc8HEK8888884knBHIEl6AFnQYIbS5l8888888bRBVmcz7gIxM0BJYrDAh/kZHim5zdpaN98q/wBvMMOMD+NfBn8fZHBL+BHCY74KX+/A/wCSfhpE/JaV7lpSiMuvrihglLLaLDV0o5LutM4RowRmdqbpx7redMzsyb8KNWDawmdLc4Ae96L14MmXi4iMOgLJZUPBiI` &&
|
||||
`9OCrJIWKKUm4x5ZdfAYe4/oL7TN3JpzazTyFNiWYhI5qLuWm8fBJ8PLy/Hzxn5b7qnEafoBe+cpoqTPsOHzzxZJGasV+jjUqgyB+r57yzzzzzzzzxqFIAobBOXJbhGmLzzzzzzzzzzzDf3w4J9lpNrunzzzzzzzzzzzzzxjfSdgwQhb3zzzzzzzzzzzzzzzzwB8VbPPfXzzzzzzzzzzzzzzzzzzzzzHDzzzzzzzzzzzzzzzzzzzzzzzz` &&
|
||||
`zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz/8QAKhEBAAICAAQFBAMBAQAAAAAAAQARITEQQVFhMIGR4fBxobHRIEDBYPH/2gAIAQMBAT8Q8PsRChEF7QbDPUVZ/pu6IihDOs3E7DLuVLEDOqF1llsyoSvHqIqB9TKtuoEYDMOswspO3rK24RW38bjejwCrzAZNQfKWNRhjRglSy50JtMxQtJjDH8` &&
|
||||
`MgOJTz4DCOcJrb1YATcqb3KJzonSJMEcN661GscKYhvN+8214GUKmJiEscpcbjA/aoUcjv2lh1QHLWr6sAwXByRBdxhTGY0dY4xru79OUAm1fBbN4IfGEq1LLjiIXhAxOEBhEjiN1/H1i9pfQgfVE5RKaM5+coBrbro8vadAfT9somfV395glFsRElyNMMFbuGBKvrKDUVBwfs/Tv2nLS5V6oKMxJykabJqEUyhCcQFD/YkrtyZf5MwU` &&
|
||||
`MZhb5zVqjCxDB6f5Fdq+1SkrA7YjZUIF2ixmC20jls1BRjitLfrGLjwqqIGMEx3CpeMwG6ZhMhakpC61wCKPtNcAohH8nzv34OSDTAWouKnnJelyiWDDUE2lsGCAc4lBLUyztByztBLcIcRzgGbeFSuk0z581CynThpVBMGoGkzbamF6GGYuiIJFrMSEAdkolBiIYO8RE3wMkQYm4sMRQJy9oBOCopg5bjSiok7thlGBYdxsvw/wDIiY` &&
|
||||
`R9SWTN+pMjHy5ecbSNdsXpiAOo84AuAUjJtceQfm+AC2W0PK/KBIRQz1OfDUGJSI5wcGWvRqDoh9RGMtToOO8EajQqUS8vKUaqWo8OcYuRlt9OsWUxfSJdcBpfbGHUpxLhTLBg1HOZ+JbuAMTU7lxlL2IrolLkcqnNYgBjibg5x+4q5eDRPclkdh8/MBxo+3twzwyi0xiG4nSJ1ItAjURxAhBh5KwirF07+/AZZUzsY6y94gu2HwY79m` &&
|
||||
`mHZDKBMnzl78EZUsJfBZS41qU5yy5lKplhAxTrnXo7ju7Okpry6cyX6Prj9zAL/AgDoaf3LNGj6MAc7ZAIlwCM1wM7hKlQOAxigC1+EfOV9ayteGQKWQYHXbjWMSgmpcuEGPEY+3tCvvL82+IrcA1lAbVxcS5ympngGITCfT8xH8craqUy57/uZqAtg3XCuFRBtVCAcsYx1f6VoI0uCfPODMFsCOPnfrzgxY4ifu+pMrFRV3/WAwMshn` &&
|
||||
`/l/wD/xAAqEQEAAgECBAYDAQEBAQAAAAABABEhMUFRYXHwEIGRobHBMNHx4SBAYP/aAAgBAgEBPxD8Yhd8obbgwr5IIXCDJHSHiP8A41KYlo7RXmmAzM4AadfSPQ5QTbBK1oOf+RgJbazfzAGPzgdJROsbcxFJliNmGWI4mCIFYqDgs7N1UE5V+dJfWuv+cQLVo/A0Saw1eH0P3Ni36/P9iO2IYXLI9xHGoIaliK+cOwohsa9f+ClVXT` &&
|
||||
`GPWWKLNLzX1fOr/ASGxcYNAdg7tj0S0vUoFkqXUslVLnMZLzmYMTClepxPrusQKJXgK8MYD8mhfevlEv8ABv8AHe8CjhB7y8LTz3leiNR8x775xB3Dh+nv7hqnHDfpyg54jXAN1+pkIQpYji4dou+9XTn+5b1r4RfdwH3wIhnfJp5u/lAygBMHfzKfgu0FuiWQLx/sA/v/AHENHLFleV/kWcwyDwEFG6Pnrxg45R1t+OHvFZnNlYmCNO` &&
|
||||
`jVXMRXnAdq0YM/1jNI8NXz4vVmAVc/0fuWPDQDTXXBy485YQbQX09ZoTKys1s66VLyA4xc1jYy+hKRbxyY68POPDM0xT1cTgnnUOpGvS+PkaHrmyKi+CtNNM6Y9JndoVq2nfFS7Es2hkqKZjW4tjmWa9w0YUDrvvf3Kayt9O84hKdDL3xi9CvPPzAaoUYDGM+7Mq71fADWGMm3PLbw266DZRm7Gn4fbpxtmAqBbN16RUzPOteZSHTaIU` &&
|
||||
`AcLWn1iGH38Rbd31jNyV3UQLhI07w4ECYzylTVlU9eP09I3cRWxNqYhQYl2nMDWjQcId7u/SGsBKW8Vx9fAlpRrgq+fU0/sqVAYsExMkZO2H6PBAF0iY2rfXp075uLX7/3vE7NqHIFW+JmjS33ho2JpQU4v6YsCW8va4QfUTDVa6QzRLyd/uG9KuFOj3rBTcYfPeUodYWg1c8tLg4hb8RHoGY+pRbR1+3dly4ZiEi8p0MJ9xSGj32+BE` &&
|
||||
`6jB8/eIhpC4GsVC8vfMp0aypqWeUoYJsk7eUEu54CwMQLBqH3q6QGjrEWzR7P6gHQz8Yq/7AxGBtqs3aBQ6ptH6Wu/gBcwuEkdedbOefQ4xB1HwRDj9f2KOssRX1O8d6xQnOIc/wAe/iHjpiKbVxJpl6eZp/sXheAoe9noRyWj0f1L9I3wsaAvV38tjzhp4tf3129ZX9TGOp9jH3FcetY4aabw8GLe/WMEFIgMmd105ge3huOmGgvqvp` &&
|
||||
`EikNImeEe7NlHQxr884QjFB0gER6d33wgVGp7/ANxXnKzQ6J8S2AZibDD4hvt997RHE5SmbHfesLLqXRpRuw2Nlf58SwS6zcYxMCUGYoVM6DHlnzeUDDoUX3rzh4jWAuiPQV8m694mNCbJs949oIwnx3w/sQvaKAc7Qvl1gPQ3F5/ao7e29yoNTlEOdYBtZgDSEdHONtJUNpAqy1jPMwxCaCvBKT5YGjwCnOaNVhx7YZSX3sKJnHKuEX` &&
|
||||
`o7XStHz1F5nnBpR4uXJYpt/IITAXKOXbpAVlGceesv2pcySEFLfTzmKBbXvnDYWrE4Ot9KrznBl3WXZKAOSsb06Uaryrcb4HS1R33x8VWLXb26zYhqPfDRjvmUxEaEQusJWuv+TYeNbLr03iSlPgNShu4OiiXVNdnT1gjYr/NJsTV8U+utf7LwNewSqvemUkVxH3xloqGruztjUKxv8rBt5vV6ae0RQLdWsv8Aw7UW9fsc5WUJ6nls8d` &&
|
||||
`ma8g0e+EZYOnt1OUFHJ6ezn0lVFqGiR2JwPiBB4WRKYljCiJBQV6b97Q7iGzYaAviG/wB34I1fhorKYeENFQdbM8+MsVBOIqWossZYlQLgUzJMG5YzLJsy6v6Q2VB+QChc1NuG3fn5S2KaNOKJWJR1mCU1mo8AoWrxTqF/qAQOu2d9PzkUWSnq+lVZ5NfMTNDv085VLA5LgKxKlmJpUeBuBwFGTngc6z0+/wDxOFLiFdLPJHZ/lVBOAv` &&
|
||||
`U8jF+cSoRxKvo5H1GBbVmpWYQpxzH2z6PnNeQuuIae+a0gNB/5l1TKVe/rrCuIf/L/AP/EACsQAQEAAwACAgECBgMBAQEAAAERACExQVFhcYEQkSAwUKGx8EDB0eHxgP/aAAgBAQABPxD/AJH4/R/U5+jn1/R1hXEfwF45oSvnq+riwAdXAZFIBs1rKy3y+fOHTxUdr/bBfUQikBpE4ncsinSeP9MKk/SNmWKevmT/APTCvsQvUhgmhc` &&
|
||||
`f6K4wSsDuRSYKufTg6nekytMdZbUQMUk93lIiGkT1msU6featvqO56+stDMCKzWeINzwTeLuKME2AeL6InqTBzqhZmwWxvVIDxjinVABTaKg8/TyythmQXlV0GJZo1lUSAKKoNCIojmkwi8CCfS79nvJQQUzFBPNwdX+hjde5GWHpEbTWOiBXOQtVkZoUWIYAKybiFhNCdP23hKyir6JFY9t/AFBnO29HAGbaeXBoUE9UT6bmiwUlpCn` &&
|
||||
`uKA3s1G6KQGgSTDzoNjcl4JGUNhRgFVa25O0cFPAONOfWcTCoLYdkNhPTpLiCY2jJqjZgKHBPBnv8ASHeRzHJKFd52HnpXs0kfvK/w8gAKz/fOGneoeP8AnT9NYNrpgBVroA2rrWRIrGommNodAo7ozXtSqnBWFhFQNGwX+6G5xVrIpFaJ3kCFHu8H134cK/vcq6dyVHU3M2u7jrk4iqD8b0TwT++aNgb+MA4RChRKhHYP2Y11hGt4R4` &&
|
||||
`xGIlbQEuBNurpwmS/bmnTUChNpfJhLLQG1p4xCLuxjPDn4x/lACVIQodf7n7n/AAUYJ8QuX5weqBsTT/u8bbVb0E2tahqaEddhcAAZYolBRGCxwUL0hlcLvBq0/wAYty7xsnmJ84bxn25jNxrv1iSUjrJGypCMXG6UWp4wAoH/AEwE/L1wjOk/tnsDhmzy8NifIAXgG6qAirTQwklzxyFXrV9VJfbiJNFlw/kut+sawcd0pXQEUugrr+` &&
|
||||
`fNYrSAq4EUpB2T9+5NuAlsylL0UrKPWA9MLy0IcMZa9BcH4O3i+UD4L64I28AvxR1+8jKjEJO4BaZI6ZJ10zb5GdIUzYG+JhqeHWJLUlHBGgenH2/gYA3rHhp7ca3dzxyCev8As9jpNImVi4EMqSSnV2lZ2ShECjYEriSOeNfxv1jB0lxny/484bXHb37OFjpWpHgPU24dOFtZBQ7Agfz1aRbLy4PZ69ppUApEgKwDEdoe6qhdEeBFKS` &&
|
||||
`9JtMJoW166kMV9tvbiFtLmnmA6T+cS/wB2QFL5MUjH4zcinl8YLwnUzQhq7Mra1/jFTrfgxSR63gRIC8+XHXA6zlvHcLdk3XnGkIb1W37yVAlixRNZiLTTzAjDVCoOtFmUhBGwSAmyMMvmWfY/xo5wneRuRdOWhEDAacie2WTbwR8YhkVyNo6T+eodcesDgA6GfVq3ruAS+pRLRp1UXmrkQE8XSiAKKWFTTWIMRzeVe/I9wj8YHrFrYM` &&
|
||||
`/9M1g9WvB/1kxbzZhmwxN9mNAtXZ794IGhtfLjkSZsXmKjV/OCok8vnHAYO/vAlOg5hiPF0HnAp6c5jsc+nMVegdVhizKay77GUoC3CTDU+gFaCxDnlt9E84fH8KXgsJNpLIABuvgY4lDFXzQSCQwTBaT2eMhML5ZSt/nmccGeIJWpFJRfePA6qhZUpAQRHaEDEwjXRAAEvtNhh4ZS4zpPxlxu5DH2TEM1O4UNJuHkxEdmkxjSq49ZKb` &&
|
||||
`qbmKOKPJ/vcuk+9f73GU6u8gg7Z+2O+g2+8frPjJ21vCIEDrN+UsyaT3HnIFUcHlwcoKV+MTWTvr6wr5JLUFAIUcFDZBbNAk9GKqsikqVVVzYlBR28fwc6pvJI+AFx2HQQX0CCwupSc1On1UgwFXrVWvVs6BIBZp3jUXNQpQaCnfmfjx3mLeCgPg/n8wArkQm4a2QBQtBwKLchpBcaoTwMRKNPTQAjZUuXUX2Dl8BIhTiacip/+oMkFt` &&
|
||||
`pJjoSXjwnvNSdM6wgHu4RS0tEH57MWFgD0o07CoJvDV89Np0iZLw2LrL1GpKcWSrvlducNq/3/APmQ5YjZZC4MoVOjGcNIE03RpTms6tAZl3WuHy5OlfM/xjPMF6dYzAOPrVbTy/GAgQcBtzduzSgej/fGdEAQIRdlCyWh4KskkAVJvoeHX3MWlx5y5eXwMwvsbhUClFzRX6WSGniShOPOxNGol9KXlRbF1KYvlqKvAMKhHcIAzSNxx1` &&
|
||||
`XadzoAEAMjoDP7ZCCw/nKAqwMVxGtDhRu4iLeS/wBKAQ7hKIqq2iiyKX+zDwDQfa1JXVepMTKqaTrC0s2r8YWOg0Md+vOGctjciIeUs+zNi/wh7V8SbU5gVw0s+y4NKQeOpeQcqw2WPmihGjFT+sFOhFaDmKHu514PuqMUoOhsQstHOhKoYlWYKjO2meYZQVEGjSgIjaFMn61Ra1IE2UXETSQSQouol1FDNY1lZoJsxbV3+gVBtQ/7yI` &&
|
||||
`Ww18sYsV8DkSh5nuVb791wLIpoV2uAah43MHb5GSoAEmwKeEilbtoSiQCeygojC5GmwbDy76yO2JEm0OmNCECjaCNIiHibSaBLKJHAQgUiahhjpqhdEXH8Md0ll6pUUoMxqQQbtiwYMgchEabK4I6mj0S2iWAkBUAkqb/GBFF/nPMLVSs3sruRQmUY1vjgmGmNkqMayqIFFQ1rVKtbVxSs2SwI8Hyy8ccAv8TL5lU+wywj4SW3UtiHkV` &&
|
||||
`aMbcjECALxR+XlC2EnefT2aN66eT4+MM6aIt0KNR+TfzlEGQOmgXVNwXVZm3UCIoeUdZp/S3SYYUlLVeH3hs4jtL4pSnUWXDmqV4BUBkIKlfNdoB+7I50PrBQRb7SlQxdmrKuFtnqiiPaugcfdPz2Be1QUEQiF+MTxeY7E0HhJQ6Ku0VrSykniwtk8sDTCZAyHyNpqTBqntFmUjvILZjYNcqI8I7hA83g5Wn2360dYeHSezJ/XE7ognQ` &&
|
||||
`qtn9sOhhvlKABIyaWzggdCGwUBHFEJg2uP+y6qK75VW2FYGPWRUlCmg0HEYUeHBiEAQvRpsmXCKZGCGg05rmna4xLe4IN7dVUaIBYKOvPMAFjyuj+cIk3WJsKCWLCyNFEMQU3mjTSIUAmxCqIUkgDQAABzDAK6wiUeXernMS2KQW3dBS1Bi4BoCrdgNgCqeAV5jEpWqIIQVDaSHTrmOdk4xg00AaPO+NFGPxlMv9xX5ucMG1cFxI2thH` &&
|
||||
`QVAwnGjqg6bhAEdCbIbNjjecWP4wPFxW5vCuI8TCPC4x8zoCrm0tETbJ31MaIvo/FkT558/jCDjO8FKbdYJA0ZYvIQI9uAAXbBoYKKk0awc1j1wzZgfEIg+wKF4XCSuMAro9A6ZMA1V4bFFkEa4aAIQ4XG45gYkSpJVm14StALAW84Wwf2hu1UKtiak68DO+8RtyJm+qBgENjUUoVAU5ECpjN6UIkjrL5IqCgsNCgsFrb7/wB+sfVFW5` &&
|
||||
`45nj9d4TL4z2s/Q+MWbUDC7y4jTBbhCjNXaTlF14rh8nCjiiti2bZNNw28iEWIKdDQVfGaWCjcUNPkjhWAKttREQDTaAkGbY1NEqkTcBtpalIVuARI2IKhzVIIXWHAgxnSiij5M0WDFJ0J6mzFAgXOFFsBp48nvIyUFrD0AXQuEoFk2xSJAlGjYN0oCgxA8tAeNqgx2WNKASvP0uhwXG4UPGDY/bOt6wmhRFSp/wCYWz8F5N6X/fObMb` &&
|
||||
`Utnwue5uVmWBew/YxxCpsoBIIFERRTwYxbUCyS99mFpXaCOEFZjGlKX1pHfvDuxzte4k+02gbQZC46YBhm6qwUDGHAsGrsUPdGqrTHvWzpgTtUc1oAADDOjDCfMg/D6yepA2bsleNx3AhPJjeJSUVtLhC6RwIBNQ1NZrATcJACABwDx+uvLiw7TrXQ7rHguCnXwLp9jXpzjjRmUEIaUIgWG2CoET2OQ6Z9U0G9aTe+4xhNX6chOVR3qM` &&
|
||||
`9iCJABE+F8fOrkjYVePTr9/SYobbD0SUQC9ukY6raKBLRN5ND5cWOd8eQhfsGxAMxcFsa010IocdvXZGsuW61i0TdNDpDn5FaqCDcBiIhwPcZAFYAjEINF5gi0rpuSTcsVHW3piGkWCW2foLs8wFUqljumgaFJF1RbxokBD4DuQQlAtdMIbKoU2W+MN4kgskIkGWr7843hZ0kwGUy7Pyy9UhqktWhLoKb3tzSiQgCaTZA61b6KglEGw0` &&
|
||||
`CYb0tBU8Z7GFY4bkz/AFG8vnEemz5cE1r095LFjJ2nNQvBOpBSc8N6oiHYfAi1xkrFwzsaTISimLhRHeq0IQ2uiCjgihUojTFAaVTE24FQrHrLhT2RNAbsixx3cbcOwzb0PFPnw4HIywSczXAOoUU3et+snCbOU7CJ5fnHBcXUKw5RFPHKBKmDz6N0SoPuqagbDlho5DziYNJG/vjzAVmPoJBW4UkU/QQ7MqVi4wSPANt5RaggiopbTB` &&
|
||||
`2vZO4VXqnYSReqhAFDQrOBGL0aiEltOmMm3Uz2a36lQa6MUoDDIKbDfATBYXT4XYGo7Fg9TKvnA3njY7Q21Tmk4ZSKPEiNtNCQkDmEViSh9v3C5zACWoAZEWBfD0wtcw1moFc+N0jvAwOJAmQJCBKoRWtr3JU1EN2IjgFB3EXUCxCF6qoAKIRovzfyBNDQLBQLVVJWHeoRRbwum0pudbenGqMSkrFLDyHkx4oA2kDoDQfO3lXC4o4mzc` &&
|
||||
`/uv9cqD90JNLNSUCu24+XiiOgCIJAjsJhjCe5OgDj00EqkCRG8PBjaCsL4rPbgPHKOAU9mbYJ4yS/s4RDXHBsr59YiqQgSjZdkfCmazLXqFgnbujmzCopAfTMJuIyLiExWqkkJaPbRJAwZPxJIEgdIjvD72VIn3hTCzbKmBTOw0AkaK8HLDxgklo3J1QDINRXRTxeE/Ls2GmXYHyv0eYo3ziiEIeOHArZEwweAKATEE/OOB+2fMBDGpi` &&
|
||||
`rrDm0bm8knZQoghjdAveNBEADgHjKZshlWsDRty3znQc9XLh4yZMTGmrwblaO90QAotZmWKgWDiexwSAXziCXfgxztxSsDRh+4un0Q8eFrABVAUAxRWQD4QNdpUKCAAMyGC4SlFtlsBGDshmUqooj5ExBmimzaziLp101emQoORo0bsgrQotARimgDEHTHLJORkOLqpdjPk7cq+djr+2+ksPfrBxRgHqK6MI6C+QKJCChgravTQCvge8` &&
|
||||
`yiSvZxxAeXLPg49sJSl3cmIAo9YdV6M8JGCHWWvg6/BoXWBDTgbha8Mk6pWu8CXh0nneHNhiMCZjuYCNihKbPcWiXTaK+fJpzYaFCg+EKwEjerHKDSI+THWIuqgD7FSqXgfFv7yalCBYgUDBC76EK4FFTcA40O03JoFNQAgEUVi8Rf0ssJdiiOo1Ca0GC/PnfX3kSI+DANnXEBfdwGeecHWWJgi2JlIrIMLCzW9YOJAZ4oLBPZ2shAln` &&
|
||||
`k/RcH++KraUAFR5+sT7KJ4NIci+FOsEXgKqAHVcQRkHW4iaT5xXQ7jwr3FFXphCAnylrvwCJk5ZpdwPs1Q8opqKoWMj4p9/b9sWrl81bsh8DxZuXLg7EZmDsVTdGDrHCLJTHVL3aXX0HVBDLtevGPuFDgfyaHzcHVSXDodov8AJHH5Pxk2XA61qB8ZZGsRuko6Ztq63FPlxYxbCHBigKgpYau5l+AB/kIqUTohASCJUsgQMegYD0azZE` &&
|
||||
`iuADQpk4rW2nfN8Z3KD+4BQ+XXzhFJFNmbdgarncsQLl8ESCFKbaTAAARRIog2dKBvtpS4AQa07PzzHzGNN2UE7VehLOmJ4YiFMfiujIoCzYHRMvpiq5hPm+sCSEh2GB+vL8Y4tfR2IIu4APDBtukIMTcdQgKEjdWScKL2+f0W4YgEVVdAG7hDLzLI2HSC6VVogHS+W8OwxUp4csfL3ATutZfqb3gzs64CInkRmCIZcUAWULsK8AsHG9` &&
|
||||
`TcCavUW/Pxg0uKWRRGI+8po1e4LMSKVaghWJU8sh5mPEQ2VU8BWFBIKFbDsIiADYOhCFC6O8D/AOSIvELvzWunWk4HjdyrAsCV2QzAoiTVaa/Bd8I7MhoLSyCD3x/vhF5OKycVVZZX1hF6BKQk0ER+RMbm+cM0cmxPZ7xeZ7k2wKJ0jWdoLM2XMArUNIUqyuj8YNt7eDwWJpggaCxmfnz6dGvJILNaHBRy74QgWoAWqoAK8x0lEEq06U` &&
|
||||
`RBUOwhUD+BjUKzFNPhV9e/8Oh6GDXVIc+LvXl3hoGIt5PPk+c6CQ7HgVh3gKqbXEPEdFTpOwSgXps2oCA0jVK6qLPtwx1ckTkrYEaIIfJippYKSISaS+HWvgwWCtb2Fi7DnDvujg1vqMyDfkBP7q/sZfJGuEFDwcA9HS2hjPSm1tiEavVmu5crjZg0VldpQgQtGDv4aCNAGgDxnCYwYp3KPdZ4PWMLtiNCfeSNO3hFnoPycLAcDsbTUN` &&
|
||||
`O7oTeApEtUFEfInnD9RLJGrdPsQvsPTGcJJlAonwmMoLDFK0BQHSI4w2ZsB127QWbqDwxgw+O4IILKWERVFCaQAbMBvAzbPPcYlgvLbsN4tkC0EHgHMBFSrWZi8CgzQxoIoQV3BoTjNawYQXd94YHcmA/u7hE3QnUGlKb5T7M83kzxEvnY4mXUU8T3P4GTDhARFJbS8EMtYOxqiY6lKVCslLpF2mjOCGlGyUH7PeHnqOa1dHgXzfvJU1` &&
|
||||
`6SX5UfpJlOneg3Pj4PR4MQWCDh3JWqQG2x84oxNZGZjyQL4H5yVwbm12NBG0JNpkP0hACKqLpUBCgKSYkhkoPxooQ2AJE+E/TdML7A4kKgUVVgi1CFCJth9s8DgNB8qtTFU/TTFri4UaUN5syhS9MJ2E7mII70+MtpiWh7dPhPCcTwiYj1+xULfIImhsBBM8mH6MWCPJdjZNx4+cMGwkEIAGgPWJGfNH/mOPl6wJ17RTVJS+BfOBPkcw` &&
|
||||
`IhIXB/kFiEqVddtBZbV1dejFLkG140+n9zDCMwnhJT8mb/AA1/AVdNNLLMTVDzDQw+H5y4GuPx84UOhcQLoXfAiqFcBv2nAe/+e0CKru1rSIFIoOv4l4/oUEHvb8HzkRkzc+fgx2dvYKaRTi26TrZmnP4Nhb+h/D1hpQSzIRvAUIGbAJciHUMNi6e4Lr04LRrztMNpxPqWDy+jKj0GFVTwF6cToxeuKhGRT7YFfAHjEMI0FKMntHy184` &&
|
||||
`EmPaiuR1fB+cV2mxkF1/vR/BD+4BaPhVrwOjCMqIwr8sh+xjl1o/tj+jqgSkqSH2dwU2GtuH1iYSvE6ZcgKVB0/Dr98BMiKCwO8wAD5LyZbUo6Umw0B9ZBdr85c3grhgQQggItEeugXOgqbQ+cJ3G+jBaa+0nwOgnSKRIcb7HeSqQVR0is/tP2x/DdBhrSFDSb8PmEzOg4kSkRilEcYafgCC3REDaszj5ZyeKBRSIiJTmEnZQUeYpQgH` &&
|
||||
`KoyyPDhcWdkDxu8UiheLKjBpCZpbRV4t87EUJr1qjWsjLM/eRtQfbz0Zmm7AEA21BuTyFTVEhQwg/Iof7ZvIQCD49cUx4CEnhQB9sMODKzybQ0UOWCyu7hAU75qiGCJNujyxDg45AmxPJmsOcqRAhqIUfDO4xaIG76mqgfESEIYpW8oRX0AFWmIufPRKh0igUh1DpGQ/s5AQkFRwelp7EwehkO0GsVcFSUBguVFoNdvbmn4qZa9GWBUo` &&
|
||||
`XpJBBsTBd4gH9G7F+Ty+mV1kbp9hiztshXhWtP0B+jsPj9POSUeYHeKIBQ/wAZvlQ2qmmefrNfVBShQJu4aVttyAQACML1zZqtFGVRs1P0hNsyz7ViJNArBVA+UyJ6DvbmyxThgbej1kJ3JoSiE6CfYdQTmqtC8kV84+t2Q0sUGukEVFDDDNplorRzSn2wDwRCQoeGi+smityiiWbgpEUlLcgIpxSGEFFIRKlGBr6D2AvSJKLX78qUJK` &&
|
||||
`kU6bADgVUeAFDB+nFIUsRooiIoWEHRgmBxAmcIgECrniCDxH14xSJgwS/ebWtLR/KZxg0s/IQr8Z5RGUT4DGNibsiunZGz2J8ORF7vDjoJIRTiNi72AfC17nnEgMgAwGqAW7BQBEcxHVNZ+4aV4DiBY2AEAGGtilEbDm2rmoKI1XhIhSG77AwTalSEB24ADr8t5f5mAmJN6ROPnEdgpkMHEKEFWvGMxr1McQAResbtjf1Y6TXqeWiiAM` &&
|
||||
`azgS1LtR0WBKG74em9mu+dEKrNuBl/SGoQqTRuvGnCeLsPEguP0BQogGk3Y4X0RJQXsVpDb43gpVJmigPxxxDpen4wagxPgEpag34wbCwBahgoYJRYOPQvX60N0gl3b+Xp8XCIfQGWxj7cIa0GArfPM9pqQQ8XYjHyMrScKbTWfLaU+gjO5o0INy1srYRE2vca8QtddFoEkEkOY3a7FLlEvNN3jQilqjLVhLSUV4AalifbNAH3miSRBt` &&
|
||||
`SMEqCCxg418slIl1mQEHUMD5TAAABoKqCmqDhytkKGBKLWaJuAXHiNDFfKaqvpThZhxCiXvR0moeTxfHDcF0FBKPKI79nvCfNsVvQalUACqgZ5cELgFGQW5EC4IdCgQFGICFSg2PQ+Qe4CGgCCLwEEMDJdwwWrRQEFPBUGjzjRKHjCOjWUH8DOxMAGsHlS4BGqmrjgXEm+0FYKTgaQoHniHaJ2DTN3n6MRZXfKz5+cAJdt1goKh84Aim` &&
|
||||
`McoEH6aSfUNYO7VlAD6C5p3ToAqVoD0BgQNBhfQFS3oImZqV6FwFlEEtahnBcBu6waWo3hIaDjDYp67kWl1EEVeHesouTFAig02gfSCVgCmzxcf0ABBbQIa/OgfbkwwV/e2MVPpMuI+i5vXlHDKhePHBXXE8QRXYjRgYhEKaGLiE0KkRFIgb1JkKnJEiCao2G4vBAVRTBAIE1QBYzeHsxahBFQ2gi7HDBP0FkPI6T5MpqD7DjCarVyHS` &&
|
||||
`wwnhG15qHOmMm8QLeNgaIu5hkgswKBNIiI4BsbsAOkTIkZUwYLFiAXZ8jFmiCkLNoCJyQ8jwSABbRMDwAQEBh7FWrG8oKKhUF0aIGCAh5zyjwsw4cwCi0Ljjp5bFVOuh5hKxmoAVapZisA8THf2VlTd86Pxk3XITjcJQ2FWvz/AHx3UJoXCOx2GF8DxlmzNu5DpqQMmD2xJ6H1gtHe7ZARUSuzN0RQbQPAVKznv9Hm8B0YfPjCNEF3XN` &&
|
||||
`gIEd/okTwVtdUEALqqlRsTi9GAK1Vm3DYJgiUbmzp6TPagU/A7n2NWmYpAWIkRDErvD3r+GQDxJrJQvGMAq9JHlfOO+tFODFlAZpfOsTe+v4wCSJe5qyieYvjXj434ehh9BE9jlXyft5NTCaBSlS1UCatftXq5USC4RzRfY2/+4pHAUm8uETFAWALg5oWO7PHmSHDLhwBfYBGlEQKhdMh0g9ydEXSy8cDCQJMoNjaXBbLcU0Ngb4vzk8` &&
|
||||
`gsjbgGhSBAs8tkiNfjBjrHcdBmlQQAKqsM0lBKwp8MU/ZchyB58ZFqp7c0BYGjsOzEoZK3eUmwJsEbCDXvYwwdheH10i4XOx4J6fdxKUKXbd+8L1nRDZgsVdxxo/EOO0z0txesd4wul2SCI0Cqkg2GGAHBsC5DQQypL8fqUBOhQUSKuk+fTGCdSjaf+nMVVvc+DFyqqw1BkCdNdzlBdYLal99yfaziFfeUzZI7tgbdu33gEtNFAQPYtD` &&
|
||||
`4esWgFG1+yEsU5S0RiPD2j0C3eENLTxTChqIFEfCOx9jE85YTncepxP3xGxcKyesdQOr7N8p3x3EA9ieYPK10EZ5iCINhvRGR6T2qeqzWsaE/CZUPRbdHlYjnXtHsG7zyeV1A84AgIE+xroYLsIoKEpspgPaFGOqLQxcVfh4ICCg1a1ABbDNK2qKGIW0ehS2PTAuaAbtw0J9naw0OdTqwewM3FDW26wuks9vtrVEhaDw3NkbCuL4vWj8` &&
|
||||
`wAioy2jGmoFw8iaHYygR8gcTEWUJjhUobmjmngjgPa4wENA5THgScoD0Mh1yV3JX370ZRR0ut/8zVViHjByoHeCEXnXtwEZTAGqYXD+MWOXGh8YqyvDx88KXuS8hMCEuxCoO57ueP12GJmXYu3Qi1MmjHyNm6YZssE3Y0jmus4drGxoq7utXWSmU5dAdNBnSgaMBAvUfQAhvErA19YI2DeQzKPMULMeBgW9PS4aJDlNGI+YcmGiFx8CB` &&
|
||||
`KMF+RYTPhQxQe30HV4G3KqOh/Bc7n1NuNgdk6iHkT8nyKNFMrJa1KGgYEfspfExIQBBJ09P75RjdQob0U0QykDXAyEi5sIiCfOzZvR4MOCy99wfrEYssonlnrf752gNrBigIpNydA1KntgzpRllUSTZCx6u4rDFBFISjGpWFlixm8KUoIfJQbPr6e8q8VULUqktqTwUN8ixwohI7UKYFLQqQylAZPXnRWUOLUfeDAjtqIpKZBEgZjhgu` &&
|
||||
`uni34xEDbey4NAF06c8GwnvJQFZEI8he5pfYVkHQX1htwAUgG74MNXrbdmYmq4NmUcPedUQeVIEAroCB/AZsfSuhkI4CxgXWoO0lATFpsoRslIopesBskfOnHYWQzHJZ2Ka06XEHRbGkRPhJ3uQey5LCgZvso68QSVU6I4vofeb+h8OdF+2StWHALjBYyEFjUYJoMnAilCV1dlpoBANVhuYwbNOMqRrcCSLq4sXneHpWKH4fpyYYD5ZE` &&
|
||||
`I4tUDxUwYwFkAHgDRhBQJKEt05RXWmt8ON32L5UFEElIjFpRJ+zw1sD5Ix+EYAOTBKAVjRH5E3N4A8hAFnoaNSTSIlEcbSoQonA6Ud7w6aZhGSwFicduS2LmoAYsWCMCGwQYjyiCCipI7NGnAEBdCoxfdcVFK6rCcbiwgz5UDY0nwY5q7w2ABEd1PMPFEMMUqCeGSzLM0pTWnneFDB8mGmEPPnD6BPOblVMQmaXHtXcBYbKF6marT6hA` &&
|
||||
`EhBp4mCxK0aRpAsOGgDwAeM3/C40DjJppDYgqgB3cSI3ZErodWIC1qGHleR0FBFgElKdm8kwSpCUAlW3WbxQxb6MZxBZCqb1pdZUWuo0FCsB2BdUrsBUgeac/OSITfMJIAeDHcVH5wYJ/nOL+LDDVfXn/3BlJfWIVpwpirLhbrjWIdZfukaA3m9H4wNKrcHd8ZV9tuae+JguAeHIwLIeseGHl977Jdz3hLEiIi02KJ0GIjCiaxlC8+QC` &&
|
||||
`hqV9gRfAjWfCmxsnN8YzftEGgGEhAU/DFDxSEFC0abmuU81ahbDkEUUpugAZ3s7HnBogXFKoB3TwFYRxYo7XUzwm9R5IlTA49A1OU4CkR01CUBx7c6hmsaH7mV5w1ugoqTVpsuBa6wBBQkVaDVdnuUG0BBhtfIadqogxoWWWti3QeK9x0xYG7OX47/AITuQeQqQSFEE6oz8ZJg1Xr0oKgp1SYOz6Xp1pQbNakADnAYJfg1/GUi4nSjIB` &&
|
||||
`jVWU03M5JAIA/ZB+kcA78TfFF4FTdXQ/oVYgYTRYe9mjUX45WFHhB0fIYDQP4htVVRRCTrcOs0ODRNC0CGlqxBbFzWCGLrznwWNb2uVJhxheneVbjopBNr0g+veUYpUWitq3tJbAgPC4N4kVzcMypvUz5OsuC4gnjNBujGVB7gBPlmkgp8frEijXHI6fVxYwoEgpYwuM1o6lS1Vdoqq7VVw0XnnLB3gxpAAUCwXzK/u4qNpA8pt1sWE9` &&
|
||||
`Lg1fXyO6nABcnHXfYkCfgp9ndx/bAKEchEg2bjVTQhkPWa1myCiMV0nG6XUzvY30Zw0aAws1ehIOjhAKLpSql+KCMNykahA1qe1uP3/HaLWI4jgFEYRooLArqJmqbfh7ngKaDHI7glh8IK/Yo6Uw4PY1lgjgob9BrAa49Chbl2IBY3BySwM0pUp4TiOxEcEMwnwcS8cEafGDT1Zqm3kDG6nb4yW4GiSoLOD5PTiHiZr9e8RdCYyKEzlI` &&
|
||||
`jFwR8nC/UfX2W+b+zcOSI8h3HnCrsyxhkJ89yicUT1h0n3nkMWSgyUrcYi9O5VVpM9cMKEX1hKiJdayCXXwYvWrg2QDe1TR5p7yzpAmMondTyoIDaMF+FBsF4nH2+dfo8yBrESliccCE/lLocinwvVXqgnEAJWuRWw2KCrpUCzMDWFbqyHwcyCUcr0/wBQNTjLpsCERGUnPJdZAhJttFQmAxr1Jyn5g/Tt/wAn4AKIgWtoIhBCWul0it` &&
|
||||
`ENkG7hR6pomg9iilLBWMVC/DLTD1zAqxplIMiOOAgr++Xh6Aocj69HzfOR+IaYNL0mIImGjNTKHznWYKQwg03hIYxJ5H+cWrgHCO6o+MBSlM3IC5ZecxUCwvn1ghaPLszFgQgke8IOBLD4IWG0XzrCLJTNUvl+XpZ7/nhB4maiGkRRHpkkIDAQmgv4wCM+AYBEKgCcNsqrLyU0HopH2n5w2kUDhCtYbnAoAq4TMkR3A2J4w5sIAy2BeF` &&
|
||||
`Z8q7rd2cRyw1RsTFVPMODebg8YUVQfWn4yigJaVUCs0e2OrB4wgtWm3zO7+DwQNBkGPTuUHmbG+M1oeMRhX0wUMIjObwt/O8CL4zU+n+c1PxgAutt4J1UubD7ueNG/Eu/2H98nuQiRiH0U8/HnGSisCg3qp9ut63yfH/FpgQFM8rZEkJLQ2j484U7KlmiF7JvSUAmYROn8YwIH4wj/AFD3j0thk65AYNpo5uaesPdK/LjkRo4aTFRG/O` &&
|
||||
`SW6ExMPxif3YzaG8kp5cHRrIYojAn0Y60YYiOJrFkVvX1klkcgCcv5/vxbst8agdhBCvDyXCZAIBwM8f8AH8YJBIUPWFlBuInkopn0Nk6cKjabwEBrK/HiTMYGOxPxinRe/GaTPBRc2NK2uv4yKA5cTeIF5M9Dvxl0cOvG81h8ayyDy4ts0Z23zmQN+cNFG+Y9NoONy6wD7ZyBu4QMExGIAlB2JPaYZLdGlTBtUMQIrP8Ak+P0D6+5lR` &&
|
||||
`E/bDMypppEhE07DWMEoVVAs7VsMngBgCMuxWk+Jkca9TmMA5kRGjH0ObPrJJ+cYhJMQrgFMb4yPWGFFCuEj35jXcXRjIq2Y5Lm4F4ZQHowSOBY2Yu5ZnDDKbcafkmHnK0BlB9nXf8AndMK2ptcvjPMbbd0Ij9XkaNQRGY4SxCwNI6sgQKcFgmgqTeWLPSZsDS+caNeyZR8C37zShvIoZCtzFEc8TPbENSVnb0Bphp086wgE2fGM7bBJ7` &&
|
||||
`wkdDJ2IOG2Ca1iMEiEBQIpyCmT+gyz4BEB8NXrY6x82/sSdFUjIJppRbXQBiuwaICo2DQudzgWwBQ6FKtnkM1QVGEYVLJNKLT2Yo2HPjGmLTWsO1KccEuy1PH3ir9GdtDG3tr3/nLNsimH7OtPM8SJ9Du3K8WW6y03lYVAear6GuhcA4PSJsPLbXf9DZiQiJpwl7IcpuBLGHC6zxQ43Io708Ajlz5aHJv3y+waaA4CvQ4CUROkwLSzBl` &&
|
||||
`ASyTIPIuBFAvMG2PYaP/uVCA6esFvIe3ajSevOulGVZeLCANDWlAEREcMm/ZcGlNRo1IeUpoARwkfk8iD5OZ+P6G4CAIkR84viu+H1ss+mHHzSUnnSb++AKOdct2+Csm+Soh6D4IE1AHSEXAl2JWMNCzy5dbywRSFE3xMD1TA2q6V7VSJs1xBkeJj1SSDUu+Q84TuRykbe1ZtxRwABQqD7hSKosgCpBzm4aeEfADxGo0cAmv0/P9KmTp` &&
|
||||
`hQiAUN5gggIGT3KHnvRQVoIReBgABKJYTpV03o3zVwkAwoGokR161hoQCAGg/qHj/+RP/Z`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_30</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>layout - dynamic page</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,215 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_31 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_value TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
popup type string,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render_main.
|
||||
METHODS z2ui5_on_render_popup.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_31 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
app-get = client->get( ).
|
||||
me->client = client.
|
||||
app-popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render_main( ).
|
||||
z2ui5_on_render_popup( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
WHEN 'POPUP'.
|
||||
app-popup = 'TEST'.
|
||||
WHEN 'DATA'.
|
||||
client->popup_message_box( 'Event raised value:' && mv_value ).
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
mv_value = '200'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_main.
|
||||
|
||||
app-next-xml_main = `<mvc:View controllerName="sap.m.sample.GenericTileAsLaunchTile.Page"` && |\n| &&
|
||||
`xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc"` && |\n| &&
|
||||
` xmlns:form="sap.ui.layout.form">` && |\n| &&
|
||||
` <form:SimpleForm editable="true" width="40rem">` && |\n| &&
|
||||
` <Label text="Loading time" />` && |\n| &&
|
||||
` <Input id="loadingMinSeconds" width="8rem" type="Number" description="seconds" value="` && client->_bind( mv_value ) && `"/>` && |\n| &&
|
||||
` <Button text="BACK" type="Emphasized" press="` && client->_event( 'BACK') && `"/>` && |\n| &&
|
||||
` <Link target="_blank" text="Demo" href="https://twitter.com/OblomovDev/status/1645104539387691008"/>` && |\n| &&
|
||||
` <Link target="_blank" text="Source_Code" href="` && Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) ) && `"/>` && |\n| &&
|
||||
` </form:SimpleForm> ` && |\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Country-Specific Profit Margin" press="` && client->_event( 'POPUP' ) && `"` && |\n| &&
|
||||
` frameType="OneByHalf" subheader="Subtitle">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/SAPLogoLargeTile_28px_height.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title" press="` && client->_event( 'DATA' ) && `"` && |\n| &&
|
||||
` subheader="Subtitle" frameType= "TwoByHalf">` && |\n| &&
|
||||
` <TileContent />` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Manage Activity Master Data Type"` && |\n| &&
|
||||
` subheader="Subtitle" press="press" frameType= "TwoByHalf">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` <ImageContent src="sap-icon://home-share" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Right click to open in new tab"` && |\n| &&
|
||||
` subheader="Link tile" press="press" url="https://www.sap.com/">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/SAPLogoLargeTile_28px_height.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title"` && |\n| &&
|
||||
` subheader="Subtitle" press="press">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` <ImageContent src="sap-icon://home-share" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Manage Activity Master Data Type"` && |\n| &&
|
||||
` subheader="Subtitle" press="press">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/SAPLogoLargeTile_28px_height.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Manage Activity Master Data Type With a Long Title Without an Icon"` && |\n| &&
|
||||
` subheader="Subtitle Launch Tile" mode="HeaderMode" press="press">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter" />` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Jessica D. Prince Senior Consultant"` && |\n| &&
|
||||
` subheader="Department" press="press" appShortcut = "shortcut" systemInfo = "systeminfo">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/ProfileImage_LargeGenTile.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title"` && |\n| &&
|
||||
` press="press" frameType= "OneByHalf">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title"` && |\n| &&
|
||||
` press="press" frameType= "TwoByHalf">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Jessica D. Prince Senior Consultant"` && |\n| &&
|
||||
` subheader="Department" press="press" frameType="TwoByHalf">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/ProfileImage_LargeGenTile.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
`</mvc:View>`.
|
||||
|
||||
app-next-xml_main = z2ui5_cl_xml_view=>hlp_replace_controller_name( app-next-xml_main ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_popup.
|
||||
|
||||
if app-popup = `TEST`.
|
||||
app-next-xml_popup = `<core:FragmentDefinition` && |\n| &&
|
||||
` xmlns="sap.m"` && |\n| &&
|
||||
` xmlns:core="sap.ui.core">` && |\n| &&
|
||||
` <ViewSettingsDialog` && |\n| &&
|
||||
` confirm="` && client->_event_close_popup( ) && `">` && |\n| &&
|
||||
` <sortItems>` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 1" key="1" selected="true" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 2" key="2" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 3" key="3" />` && |\n| &&
|
||||
` </sortItems>` && |\n| &&
|
||||
` <groupItems>` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 1" key="1" selected="true" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 2" key="2" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 3" key="3" />` && |\n| &&
|
||||
` </groupItems>` && |\n| &&
|
||||
` <filterItems>` && |\n| &&
|
||||
` <ViewSettingsFilterItem text="Field1" key="1">` && |\n| &&
|
||||
` <items>` && |\n| &&
|
||||
` <ViewSettingsItem text="Value A" key="1a" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value B" key="1b" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value C" key="1c" />` && |\n| &&
|
||||
` </items>` && |\n| &&
|
||||
` </ViewSettingsFilterItem>` && |\n| &&
|
||||
` <ViewSettingsFilterItem text="Field2" key="2">` && |\n| &&
|
||||
` <items>` && |\n| &&
|
||||
` <ViewSettingsItem text="Value A" key="2a" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value B" key="2b" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value C" key="2c" />` && |\n| &&
|
||||
` </items>` && |\n| &&
|
||||
` </ViewSettingsFilterItem>` && |\n| &&
|
||||
` <ViewSettingsFilterItem text="Field3" key="3">` && |\n| &&
|
||||
` <items>` && |\n| &&
|
||||
` <ViewSettingsItem text="Value A" key="3a" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value B" key="3b" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value C" key="3c" />` && |\n| &&
|
||||
` </items>` && |\n| &&
|
||||
` </ViewSettingsFilterItem>` && |\n| &&
|
||||
` </filterItems>` && |\n| &&
|
||||
` </ViewSettingsDialog>` && |\n| &&
|
||||
`</core:FragmentDefinition>`.
|
||||
|
||||
endif.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_31</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>extension - import xml view</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,113 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_32 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_value TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_32 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'POST'.
|
||||
client->popup_message_toast( app-get-event_data ).
|
||||
|
||||
WHEN 'MYCC'.
|
||||
client->popup_message_toast( 'MYCC event ' && mv_value ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
app-view_main = 'VIEW_MAIN'.
|
||||
mv_value = 'test'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
app-next-xml_main = `<mvc:View controllerName="project1.controller.View1"` && |\n| &&
|
||||
` xmlns:mvc="sap.ui.core.mvc" displayBlock="true"` && |\n| &&
|
||||
` xmlns:z2ui5="z2ui5" xmlns:m="sap.m" xmlns="http://www.w3.org/1999/xhtml"` && |\n| &&
|
||||
` ><m:Button ` && |\n| &&
|
||||
` text="back" ` && |\n| &&
|
||||
` press="` && client->_event( 'BACK' ) && `" ` && |\n| &&
|
||||
` class="sapUiContentPadding sapUiResponsivePadding--content"/> ` && |\n| &&
|
||||
` <m:Link target="_blank" text="Source_Code" href="` && z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) ) && `"/>` && |\n| &&
|
||||
`<html><head><style>` && |\n| &&
|
||||
`body {background-color: powderblue;}` && |\n| &&
|
||||
`h1 {color: blue;}` && |\n| &&
|
||||
`p {color: red;}` && |\n| &&
|
||||
`</style>` &&
|
||||
`</head>` && |\n| &&
|
||||
`<body>` && |\n| &&
|
||||
`<h1>This is a heading with css</h1>` && |\n| &&
|
||||
`<p>This is a paragraph with css.</p>` && |\n| &&
|
||||
`<h1>My First JavaScript</h1>` && |\n| &&
|
||||
`<button onclick="myFunction()" type="button">send</button>` && |\n| &&
|
||||
`<Input id='input' value='frontend data' /> ` &&
|
||||
`<script> function myFunction( ) { sap.z2ui5.oView.getController().onEvent({ 'EVENT' : 'POST', 'METHOD' : 'UPDATE' }, document.getElementById(sap.z2ui5.oView.createId( "input" )).value ) } </script>` && |\n| &&
|
||||
`</body>` && |\n| &&
|
||||
`</html> ` && |\n| &&
|
||||
`</mvc:View>`.
|
||||
|
||||
app-next-xml_main = z2ui5_cl_xml_view=>hlp_replace_controller_name( app-next-xml_main ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,136 +0,0 @@
|
|||
*"* use this source file for the definition and implementation of
|
||||
*"* local helper classes, interface definitions and type
|
||||
*"* declarations
|
||||
class lcl_repository DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-METHODS get_js_barcode_lib
|
||||
returning
|
||||
value(result) type string.
|
||||
|
||||
|
||||
endclass.
|
||||
|
||||
CLASS lcl_repository IMPLEMENTATION.
|
||||
|
||||
METHOD get_js_barcode_lib.
|
||||
|
||||
result = `` && |\n| &&
|
||||
`!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable` &&
|
||||
`:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"obj` &&
|
||||
`ect"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){` &&
|
||||
`var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(t,e,n){"use strict";var r;function o(t,e,n){return e in t?` &&
|
||||
`Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var i=e.SET_A=0,a=e.SET_B=1,u=e.SET_C=2,s=(e.SHIFT=98,e.START_A=103),f=e.START_B=104,c=e.START_C=105;e.MODULO=1` &&
|
||||
`03,e.STOP=106,e.FNC1=207,e.SET_BY_CODE=(o(r={},s,i),o(r,f,a),o(r,c,u),r),e.SWAP={101:i,100:a,99:u},e.A_START_CHAR=String.fromCharCode(208),e.B_START_CHAR=String.fromCharCode(209),e.C_START_CHAR=String.fromCharCode(210),e.A_CHARS="[\0-_È-Ï]",e.B_CHA` &&
|
||||
`RS="[ -È-Ï]",e.C_CHARS="(Ï*[0-9]{2}Ï*)",e.BARS=[11011001100,11001101100,11001100110,10010011e3,10010001100,10001001100,10011001e3,10011000100,10001100100,11001001e3,11001000100,11000100100,10110011100,10011011100,10011001110,10111001100,1001110110` &&
|
||||
`0,10011100110,11001110010,11001011100,11001001110,11011100100,11001110100,11101101110,11101001100,11100101100,11100100110,11101100100,11100110100,11100110010,11011011e3,11011000110,11000110110,10100011e3,10001011e3,10001000110,10110001e3,10001101e3` &&
|
||||
`,10001100010,11010001e3,11000101e3,11000100010,10110111e3,10110001110,10001101110,10111011e3,10111000110,10001110110,11101110110,11010001110,11000101110,11011101e3,11011100010,11011101110,11101011e3,11101000110,11100010110,11101101e3,11101100010,11` &&
|
||||
`100011010,11101111010,11001000010,11110001010,1010011e4,10100001100,1001011e4,10010000110,10000101100,10000100110,1011001e4,10110000100,1001101e4,10011000010,10000110100,10000110010,11000010010,1100101e4,11110111010,11000010100,10001111010,10100111` &&
|
||||
`100,10010111100,10010011110,10111100100,10011110100,10011110010,11110100100,11110010100,11110010010,11011011110,11011110110,11110110110,10101111e3,10100011110,10001011110,10111101e3,10111100010,11110101e3,11110100010,10111011110,10111101110,1110101` &&
|
||||
`1110,11110101110,11010000100,1101001e4,11010011100,1100011101011]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1` &&
|
||||
`,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(11),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){!function(t,e){` &&
|
||||
`if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof ` &&
|
||||
`e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t.substring(1),n));return r.bytes=t.split("").map((function(t){return t.charCodeAt(0)})),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression mu` &&
|
||||
`st either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid"` &&
|
||||
`,value:function(){return/^[\x00-\x7F\xC8-\xD3]+$/.test(this.data)}},{key:"encode",value:function(){var t=this.bytes,n=t.shift()-105,r=u.SET_BY_CODE[n];if(void 0===r)throw new RangeError("The encoding does not start with a start character.");!0===th` &&
|
||||
`is.shouldEncodeAsEan128()&&t.unshift(u.FNC1);var o=e.next(t,1,r);return{text:this.text===this.data?this.text.replace(/[^\x20-\x7E]/g,""):this.text,data:e.getBar(n)+o.result+e.getBar((o.checksum+n)%u.MODULO)+e.getBar(u.STOP)}}},{key:"shouldEncodeAsE` &&
|
||||
`an128",value:function(){var t=this.options.ean128||!1;return"string"==typeof t&&(t="true"===t.toLowerCase()),t}}],[{key:"getBar",value:function(t){return u.BARS[t]?u.BARS[t].toString():""}},{key:"correctIndex",value:function(t,e){if(e===u.SET_A){va` &&
|
||||
`r n=t.shift();return n<32?n+64:n-32}return e===u.SET_B?t.shift()-32:10*(t.shift()-48)+t.shift()-48}},{key:"next",value:function(t,n,r){if(!t.length)return{result:"",checksum:0};var o=void 0,i=void 0;if(t[0]>=200){i=t.shift()-105;var a=u.SWAP[i];voi` &&
|
||||
`d 0!==a?o=e.next(t,n+1,a):(r!==u.SET_A&&r!==u.SET_B||i!==u.SHIFT||(t[0]=r===u.SET_A?t[0]>95?t[0]-96:t[0]:t[0]<32?t[0]+96:t[0]),o=e.next(t,n+1,r))}else i=e.correctIndex(t,r),o=e.next(t,n+1,r);var s=i*n;return{result:e.getBar(i)+o.result,checksum:s+o` &&
|
||||
`.checksum}}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnPr` &&
|
||||
`operty.call(n,r)&&(t[r]=n[r])}return t};e.default=function(t,e){return r({},t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=["width","height","textMargin","fontSize","margin","marginT` &&
|
||||
`op","marginBottom","marginLeft","marginRight"];for(var n in e)e.hasOwnProperty(n)&&(n=e[n],"string"==typeof t[n]&&(t[n]=parseInt(t[n],10)));"string"==typeof t.displayValue&&(t.displayValue="false"!=t.displayValue);return t}},function(t,e,n){"use st` &&
|
||||
`rict";Object.defineProperty(e,"__esModule",{value:!0});var r={width:2,height:100,format:"auto",displayValue:!0,fontOptions:"",font:"monospace",text:void 0,textAlign:"center",textPosition:"bottom",textMargin:2,fontSize:20,background:"#ffffff",lineCo` &&
|
||||
`lor:"#000000",margin:10,marginTop:void 0,marginBottom:void 0,marginLeft:void 0,marginRight:void 0,valid:function(){}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTotalWidthOfEncodings=e.calculateE` &&
|
||||
`ncodingAttributes=e.getBarcodePadding=e.getEncodingHeight=e.getMaximumHeightOfEncodings=void 0;var r,o=n(2),i=(r=o)&&r.__esModule?r:{default:r};function a(t,e){return e.height+(e.displayValue&&t.text.length>0?e.fontSize+e.textMargin:0)+e.marginTop+` &&
|
||||
`e.marginBottom}function u(t,e,n){if(n.displayValue&&e<t){if("center"==n.textAlign)return Math.floor((t-e)/2);if("left"==n.textAlign)return 0;if("right"==n.textAlign)return Math.floor(t-e)}return 0}function s(t,e,n){var r;if(n)r=n;else{if("undefined` &&
|
||||
`"==typeof document)return 0;r=document.createElement("canvas").getContext("2d")}r.font=e.fontOptions+" "+e.fontSize+"px "+e.font;var o=r.measureText(t);return o?o.width:0}e.getMaximumHeightOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)t[n]` &&
|
||||
`.height>e&&(e=t[n].height);return e},e.getEncodingHeight=a,e.getBarcodePadding=u,e.calculateEncodingAttributes=function(t,e,n){for(var r=0;r<t.length;r++){var o,f=t[r],c=(0,i.default)(e,f.options);o=c.displayValue?s(f.text,c,n):0;var l=f.data.lengt` &&
|
||||
`h*c.width;f.width=Math.ceil(Math.max(o,l)),f.height=a(f,c),f.barcodePadding=u(o,l,c)}},e.getTotalWidthOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)e+=t[n].width;return e}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))` &&
|
||||
`throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function` &&
|
||||
`"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Obj` &&
|
||||
`ect.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(t,n){r(this,e);var i=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return i.name="InvalidInputException",i.symbology=t` &&
|
||||
`,i.input=n,i.message='"'+i.input+'" is not a valid input for '+i.symbology,i}return i(e,Error),e}(),u=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="InvalidElementException",t.mess` &&
|
||||
`age="Not supported type to render on",t}return i(e,Error),e}(),s=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="NoElementException",t.message="No element to render on.",t}return i(` &&
|
||||
`e,Error),e}();e.InvalidInputException=a,e.InvalidElementException=u,e.NoElementException=s},function(t,e,n){"use strict";var r=d(n(8)),o=d(n(2)),i=d(n(16)),a=d(n(17)),u=d(n(18)),s=d(n(3)),f=d(n(24)),c=n(6),l=d(n(4));function d(t){return t&&t.__esMo` &&
|
||||
`dule?t:{default:t}}var p=function(){},h=function(t,e,n){var r=new p;if(void 0===t)throw Error("No element to render on was provided.");return r._renderProperties=(0,u.default)(t),r._encodings=[],r._options=l.default,r._errorHandler=new f.default(r)` &&
|
||||
`,void 0!==e&&((n=n||{}).format||(n.format=b()),r.options(n)[n.format](e,n).render()),r};for(var v in h.getModule=function(t){return r.default[t]},r.default)r.default.hasOwnProperty(v)&&g(r.default,v);function g(t,e){p.prototype[e]=p.prototype[e.toU` &&
|
||||
`pperCase()]=p.prototype[e.toLowerCase()]=function(n,r){var i=this;return i._errorHandler.wrapBarcodeCall((function(){r.text=void 0===r.text?void 0:""+r.text;var a=(0,o.default)(i._options,r);a=(0,s.default)(a);var u=t[e],f=y(n,u,a);return i._encodi` &&
|
||||
`ngs.push(f),i}))}}function y(t,e,n){var r=new e(t=""+t,n);if(!r.valid())throw new c.InvalidInputException(r.constructor.name,t);var a=r.encode();a=(0,i.default)(a);for(var u=0;u<a.length;u++)a[u].options=(0,o.default)(n,a[u].options);return a}funct` &&
|
||||
`ion b(){return r.default.CODE128?"CODE128":Object.keys(r.default)[0]}function _(t,e,n){e=(0,i.default)(e);for(var r=0;r<e.length;r++)e[r].options=(0,o.default)(n,e[r].options),(0,a.default)(e[r].options);(0,a.default)(n),new(0,t.renderer)(t.element` &&
|
||||
`,e,n).render(),t.afterRender&&t.afterRender()}p.prototype.options=function(t){return this._options=(0,o.default)(this._options,t),this},p.prototype.blank=function(t){var e=new Array(t+1).join("0");return this._encodings.push({data:e}),this},p.proto` &&
|
||||
`type.init=function(){var t;if(this._renderProperties)for(var e in Array.isArray(this._renderProperties)||(this._renderProperties=[this._renderProperties]),this._renderProperties){t=this._renderProperties[e];var n=(0,o.default)(this._options,t.optio` &&
|
||||
`ns);"auto"==n.format&&(n.format=b()),this._errorHandler.wrapBarcodeCall((function(){var e=y(n.value,r.default[n.format.toUpperCase()],n);_(t,e,n)}))}},p.prototype.render=function(){if(!this._renderProperties)throw new c.NoElementException;if(Array.` &&
|
||||
`isArray(this._renderProperties))for(var t=0;t<this._renderProperties.length;t++)_(this._renderProperties[t],this._encodings,this._options);else _(this._renderProperties,this._encodings,this._options);return this},p.prototype._defaults=l.default,"un` &&
|
||||
`defined"!=typeof window&&(window.JsBarcode=h),"undefined"!=typeof jQuery&&(jQuery.fn.JsBarcode=function(t,e){var n=[];return jQuery(this).each((function(){n.push(this)})),h(n,t,e)}),t.exports=h},function(t,e,n){"use strict";Object.defineProperty(e,` &&
|
||||
`"__esModule",{value:!0});var r=n(9);e.default={CODE128:r.CODE128,CODE128A:r.CODE128A,CODE128B:r.CODE128B,CODE128C:r.CODE128C}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CODE128C=e.CODE128B=e.CODE128A=e.CODE128=` &&
|
||||
`void 0;var r=u(n(10)),o=u(n(13)),i=u(n(14)),a=u(n(15));function u(t){return t&&t.__esModule?t:{default:t}}e.CODE128=r.default,e.CODE128A=o.default,e.CODE128B=i.default,e.CODE128C=a.default},function(t,e,n){"use strict";Object.defineProperty(e,"__es` &&
|
||||
`Module",{value:!0});var r=i(n(1)),o=i(n(12));function i(t){return t&&t.__esModule?t:{default:t}}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=ty` &&
|
||||
`peof e?t:e}var u=function(t){function e(t,n){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),/^[\x00-\x7F\xC8-\xD3]+$/.test(t))var r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,(0` &&
|
||||
`,o.default)(t),n));else r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));return a(r)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.p` &&
|
||||
`rototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(r.default);e.default=u},function(t,e,n){"use strict";Object.define` &&
|
||||
`Property(e,"__esModule",{value:!0});e.default=function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.text=n.text||e,this.options=n}},function(t,e,n){"use strict";Object` &&
|
||||
`.defineProperty(e,"__esModule",{value:!0});var r=n(0),o=function(t){return t.match(new RegExp("^"+r.A_CHARS+"*"))[0].length},i=function(t){return t.match(new RegExp("^"+r.B_CHARS+"*"))[0].length},a=function(t){return t.match(new RegExp("^"+r.C_CHAR` &&
|
||||
`S+"*"))[0]};function u(t,e){var n=e?r.A_CHARS:r.B_CHARS,o=t.match(new RegExp("^("+n+"+?)(([0-9]{2}){2,})([^0-9]|$)"));if(o)return o[1]+String.fromCharCode(204)+s(t.substring(o[1].length));var i=t.match(new RegExp("^"+n+"+"))[0];return i.length===t.` &&
|
||||
`length?t:i+String.fromCharCode(e?205:206)+u(t.substring(i.length),!e)}function s(t){var e=a(t),n=e.length;if(n===t.length)return t;t=t.substring(n);var r=o(t)>=i(t);return e+String.fromCharCode(r?206:205)+u(t,r)}e.default=function(t){var e=void 0;i` &&
|
||||
`f(a(t).length>=2)e=r.C_START_CHAR+s(t);else{var n=o(t)>i(t);e=(n?r.A_START_CHAR:r.B_START_CHAR)+u(t,n)}return e.replace(/[\xCD\xCE]([^])[\xCD\xCE]/,(function(t,e){return String.fromCharCode(203)+e}))}},function(t,e,n){"use strict";Object.defineProp` &&
|
||||
`erty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n` &&
|
||||
`&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)t` &&
|
||||
`hrow new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.A_START_CHAR+t,n))}return function(t,e){if("functi` &&
|
||||
`on"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?O` &&
|
||||
`bject.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.A_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var` &&
|
||||
` r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),` &&
|
||||
`i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn'` &&
|
||||
`t been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.B_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new T` &&
|
||||
`ypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto` &&
|
||||
`__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.B_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for` &&
|
||||
`(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{def` &&
|
||||
`ault:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't` &&
|
||||
` been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.C_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must eit` &&
|
||||
`her be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value` &&
|
||||
`:function(){return new RegExp("^"+u.C_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=[];return function t(n){if(Array.isArray(n))f` &&
|
||||
`or(var r=0;r<n.length;r++)t(n[r]);else n.text=n.text||"",n.data=n.data||"",e.push(n)}(t),e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t.marginTop=t.marginTop||t.margin,t.marginBottom` &&
|
||||
`=t.marginBottom||t.margin,t.marginRight=t.marginRight||t.margin,t.marginLeft=t.marginLeft||t.margin,t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?` &&
|
||||
`function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=u(n(19)),i=u(n(20)),a=n(6);function u(t){return t&&t.__esModule?t:{default:t}}function s(t){if("string"=` &&
|
||||
`=typeof t)return function(t){var e=document.querySelectorAll(t);if(0===e.length)return;for(var n=[],r=0;r<e.length;r++)n.push(s(e[r]));return n}(t);if(Array.isArray(t)){for(var e=[],n=0;n<t.length;n++)e.push(s(t[n]));return e}if("undefined"!=typeof` &&
|
||||
` HTMLCanvasElement&&t instanceof HTMLImageElement)return u=t,{element:f=document.createElement("canvas"),options:(0,o.default)(u),renderer:i.default.CanvasRenderer,afterRender:function(){u.setAttribute("src",f.toDataURL())}};if(t&&t.nodeName&&"svg"` &&
|
||||
`===t.nodeName.toLowerCase()||"undefined"!=typeof SVGElement&&t instanceof SVGElement)return{element:t,options:(0,o.default)(t),renderer:i.default.SVGRenderer};if("undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement)return{element:t` &&
|
||||
`,options:(0,o.default)(t),renderer:i.default.CanvasRenderer};if(t&&t.getContext)return{element:t,renderer:i.default.CanvasRenderer};if(t&&"object"===(void 0===t?"undefined":r(t))&&!t.nodeName)return{element:t,renderer:i.default.ObjectRenderer};thro` &&
|
||||
`w new a.InvalidElementException;var u,f}e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(n(3)),o=i(n(4));function i(t){return t&&t.__esModule?t:{default:t}}e.default=function(t){var e={};for(var n i` &&
|
||||
`n o.default)o.default.hasOwnProperty(n)&&(t.hasAttribute("jsbarcode-"+n.toLowerCase())&&(e[n]=t.getAttribute("jsbarcode-"+n.toLowerCase())),t.hasAttribute("data-"+n.toLowerCase())&&(e[n]=t.getAttribute("data-"+n.toLowerCase())));return e.value=t.ge` &&
|
||||
`tAttribute("jsbarcode-value")||t.getAttribute("data-value"),e=(0,r.default)(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(21)),o=a(n(22)),i=a(n(23));function a(t){return t&&t.__esModule?t:{default:t}}e` &&
|
||||
`.default={CanvasRenderer:r.default,SVGRenderer:o.default,ObjectRenderer:i.default}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable` &&
|
||||
`=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s=function(){function t(e,n,r` &&
|
||||
`){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.canvas=e,this.encodings=n,this.options=r}return o(t,[{key:"render",value:function(){if(!this.canvas.getContext)throw new Error("The browser` &&
|
||||
` does not support canvas.");this.prepareCanvas();for(var t=0;t<this.encodings.length;t++){var e=(0,a.default)(this.options,this.encodings[t].options);this.drawCanvasBarcode(e,this.encodings[t]),this.drawCanvasText(e,this.encodings[t]),this.moveCanv` &&
|
||||
`asDrawing(this.encodings[t])}this.restoreCanvas()}},{key:"prepareCanvas",value:function(){var t=this.canvas.getContext("2d");t.save(),(0,u.calculateEncodingAttributes)(this.encodings,this.options,t);var e=(0,u.getTotalWidthOfEncodings)(this.encodin` &&
|
||||
`gs),n=(0,u.getMaximumHeightOfEncodings)(this.encodings);this.canvas.width=e+this.options.marginLeft+this.options.marginRight,this.canvas.height=n,t.clearRect(0,0,this.canvas.width,this.canvas.height),this.options.background&&(t.fillStyle=this.optio` &&
|
||||
`ns.background,t.fillRect(0,0,this.canvas.width,this.canvas.height)),t.translate(this.options.marginLeft,0)}},{key:"drawCanvasBarcode",value:function(t,e){var n,r=this.canvas.getContext("2d"),o=e.data;n="top"==t.textPosition?t.marginTop+t.fontSize+t` &&
|
||||
`.textMargin:t.marginTop,r.fillStyle=t.lineColor;for(var i=0;i<o.length;i++){var a=i*t.width+e.barcodePadding;"1"===o[i]?r.fillRect(a,n,t.width,t.height):o[i]&&r.fillRect(a,n,t.width,t.height*o[i])}}},{key:"drawCanvasText",value:function(t,e){var n,` &&
|
||||
`r,o=this.canvas.getContext("2d"),i=t.fontOptions+" "+t.fontSize+"px "+t.font;t.displayValue&&(r="top"==t.textPosition?t.marginTop+t.fontSize-t.textMargin:t.height+t.textMargin+t.marginTop+t.fontSize,o.font=i,"left"==t.textAlign||e.barcodePadding>0?` &&
|
||||
`(n=0,o.textAlign="left"):"right"==t.textAlign?(n=e.width-1,o.textAlign="right"):(n=e.width/2,o.textAlign="center"),o.fillText(e.text,n,r))}},{key:"moveCanvasDrawing",value:function(t){this.canvas.getContext("2d").translate(t.width,0)}},{key:"restor` &&
|
||||
`eCanvas",value:function(){this.canvas.getContext("2d").restore()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumera` &&
|
||||
`ble=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s="http://www.w3.org/2000/` &&
|
||||
`svg",f=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.svg=e,this.encodings=n,this.options=r,this.document=r.xmlDocument||document}return o(t,[{key:"render",val` &&
|
||||
`ue:function(){var t=this.options.marginLeft;this.prepareSVG();for(var e=0;e<this.encodings.length;e++){var n=this.encodings[e],r=(0,a.default)(this.options,n.options),o=this.createGroup(t,r.marginTop,this.svg);this.setGroupOptions(o,r),this.drawSvg` &&
|
||||
`Barcode(o,r,n),this.drawSVGText(o,r,n),t+=n.width}}},{key:"prepareSVG",value:function(){for(;this.svg.firstChild;)this.svg.removeChild(this.svg.firstChild);(0,u.calculateEncodingAttributes)(this.encodings,this.options);var t=(0,u.getTotalWidthOfEnc` &&
|
||||
`odings)(this.encodings),e=(0,u.getMaximumHeightOfEncodings)(this.encodings),n=t+this.options.marginLeft+this.options.marginRight;this.setSvgAttributes(n,e),this.options.background&&this.drawRect(0,0,n,e,this.svg).setAttribute("style","fill:"+this.o` &&
|
||||
`ptions.background+";")}},{key:"drawSvgBarcode",value:function(t,e,n){var r,o=n.data;r="top"==e.textPosition?e.fontSize+e.textMargin:0;for(var i=0,a=0,u=0;u<o.length;u++)a=u*e.width+n.barcodePadding,"1"===o[u]?i++:i>0&&(this.drawRect(a-e.width*i,r,e` &&
|
||||
`.width*i,e.height,t),i=0);i>0&&this.drawRect(a-e.width*(i-1),r,e.width*i,e.height,t)}},{key:"drawSVGText",value:function(t,e,n){var r,o,i=this.document.createElementNS(s,"text");e.displayValue&&(i.setAttribute("style","font:"+e.fontOptions+" "+e.fo` &&
|
||||
`ntSize+"px "+e.font),o="top"==e.textPosition?e.fontSize-e.textMargin:e.height+e.textMargin+e.fontSize,"left"==e.textAlign||n.barcodePadding>0?(r=0,i.setAttribute("text-anchor","start")):"right"==e.textAlign?(r=n.width-1,i.setAttribute("text-anchor"` &&
|
||||
`,"end")):(r=n.width/2,i.setAttribute("text-anchor","middle")),i.setAttribute("x",r),i.setAttribute("y",o),i.appendChild(this.document.createTextNode(n.text)),t.appendChild(i))}},{key:"setSvgAttributes",value:function(t,e){var n=this.svg;n.setAttrib` &&
|
||||
`ute("width",t+"px"),n.setAttribute("height",e+"px"),n.setAttribute("x","0px"),n.setAttribute("y","0px"),n.setAttribute("viewBox","0 0 "+t+" "+e),n.setAttribute("xmlns",s),n.setAttribute("version","1.1"),n.setAttribute("style","transform: translate(` &&
|
||||
`0,0)")}},{key:"createGroup",value:function(t,e,n){var r=this.document.createElementNS(s,"g");return r.setAttribute("transform","translate("+t+", "+e+")"),n.appendChild(r),r}},{key:"setGroupOptions",value:function(t,e){t.setAttribute("style","fill:"` &&
|
||||
`+e.lineColor+";")}},{key:"drawRect",value:function(t,e,n,r,o){var i=this.document.createElementNS(s,"rect");return i.setAttribute("x",t),i.setAttribute("y",e),i.setAttribute("width",n),i.setAttribute("height",r),o.appendChild(i),i}}]),t}();e.defaul` &&
|
||||
`t=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.definePro` &&
|
||||
`perty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.object=e,this.encoding` &&
|
||||
`s=n,this.options=r}return r(t,[{key:"render",value:function(){this.object.encodings=this.encodings}}]),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.` &&
|
||||
`length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e){!function(t,e){if` &&
|
||||
`(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.api=e}return r(t,[{key:"handleCatch",value:function(t){if("InvalidInputException"!==t.name)throw t;if(this.api._options.valid===this.api._defaults.valid)throw` &&
|
||||
` t.message;this.api._options.valid(!1),this.api.render=function(){}}},{key:"wrapBarcodeCall",value:function(t){try{var e=t.apply(void 0,arguments);return this.api._options.valid(!0),e}catch(t){return this.handleCatch(t),this.api}}}]),t}();e.default` &&
|
||||
`=o}]);`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_32</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>extension - html css js</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,58 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_33 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
DATA mv_type TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_33 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
CASE client->get( )-event.
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
WHEN 'BUTTON_MESSAGE_BOX'.
|
||||
client->popup_message_box( 'Action of illustrated message' ).
|
||||
|
||||
WHEN OTHERS.
|
||||
mv_type = client->get( )-event.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Illustrated Messages'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = `https://twitter.com/OblomovDev/status/1647175810917318657`
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
page->link( text = 'Documentation' target = '_blank' href = `https://openui5.hana.ondemand.com/api/sap.m.IllustratedMessageType#properties` ).
|
||||
page->button( text = 'NoActivities' press = client->_event( 'sapIllus-NoActivities' ) ).
|
||||
page->button( text = 'AddPeople' press = client->_event( 'sapIllus-AddPeople' ) ).
|
||||
page->button( text = 'Connection' press = client->_event( 'sapIllus-Connection' ) ).
|
||||
page->button( text = 'NoDimensionsSet' press = client->_event( 'sapIllus-NoDimensionsSet' ) ).
|
||||
page->button( text = 'NoEntries' press = client->_event( 'sapIllus-NoEntries' ) ).
|
||||
page->illustrated_message( illustrationtype = mv_type
|
||||
)->additional_content( )->button(
|
||||
text = 'information'
|
||||
press = client->_event( 'BUTTON_MESSAGE_BOX' ) ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_33</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>messages - illustrated</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,131 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_34 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA t_bapiret TYPE bapirettab.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA mv_popup_name TYPE string.
|
||||
DATA mv_main_xml TYPE string.
|
||||
DATA mv_popup_xml TYPE string.
|
||||
|
||||
METHODS view_main
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
METHODS view_popup_bal
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_34 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD view_main.
|
||||
|
||||
DATA(page) = Z2UI5_CL_XML_VIEW=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Popups'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
" )->link(
|
||||
" text = 'Demo' target = '_blank'
|
||||
" href = 'https://twitter.com/OblomovDev/status/1637163852264624139'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L8 M12 S12' )->content( 'layout' ).
|
||||
|
||||
grid->simple_form( 'Tables' )->content( 'form'
|
||||
)->label( '01'
|
||||
)->button(
|
||||
text = 'Show bapiret tab'
|
||||
press = client->_event( 'POPUP_BAL' )
|
||||
).
|
||||
|
||||
mv_main_xml = page->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_bal.
|
||||
|
||||
DATA(popup) = Z2UI5_CL_XML_VIEW=>factory_popup(
|
||||
)->dialog( 'abap2ui5 - Popup Message Log'
|
||||
)->table( client->_bind( t_bapiret )
|
||||
)->columns(
|
||||
)->column( '5rem'
|
||||
)->text( 'Type' )->get_parent(
|
||||
)->column( '5rem'
|
||||
)->text( 'Number' )->get_parent(
|
||||
)->column( '5rem'
|
||||
)->text( 'ID' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Message' )->get_parent(
|
||||
)->get_parent(
|
||||
)->items(
|
||||
)->column_list_item(
|
||||
)->cells(
|
||||
)->text( '{TYPE}'
|
||||
)->text( '{NUMBER}'
|
||||
)->text( '{ID}'
|
||||
)->text( '{MESSAGE}'
|
||||
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'close'
|
||||
press = client->_event( 'POPUP_BAL_CLOSE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
t_bapiret = VALUE #(
|
||||
( message = 'An empty Report field causes an empty XML Message to be sent' type = 'E' id = 'MSG1' number = '001' )
|
||||
( message = 'Check was executed for wrong Scenario' type = 'E' id = 'MSG1' number = '002' )
|
||||
( message = 'Request was handled without errors' type = 'S' id = 'MSG1' number = '003' )
|
||||
( message = 'product activated' type = 'S' id = 'MSG4' number = '375' )
|
||||
( message = 'check the input values' type = 'W' id = 'MSG2' number = '375' )
|
||||
( message = 'product already in use' type = 'I' id = 'MSG2' number = '375' )
|
||||
).
|
||||
|
||||
ENDIF.
|
||||
|
||||
mv_popup_name = ''.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'POPUP_BAL'.
|
||||
mv_popup_name = 'POPUP_BAL'.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
view_main( client ).
|
||||
|
||||
CASE mv_popup_name.
|
||||
WHEN 'POPUP_BAL'.
|
||||
view_popup_bal( client ).
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( VALUE #( xml_main = mv_main_xml xml_popup = mv_popup_xml ) ).
|
||||
CLEAR: mv_main_xml, mv_popup_xml.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_34</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>messages - t100 bapiret</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,158 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_35 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mt_table TYPE REF TO data.
|
||||
DATA mt_cols TYPE string_table.
|
||||
DATA mv_name TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_app_demo_35 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'BUTTON_TABLE'.
|
||||
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
||||
CREATE DATA mt_table TYPE STANDARD TABLE OF (mv_name).
|
||||
ASSIGN mt_table->* TO <tab>.
|
||||
mt_cols = lcl_db=>get_fieldlist_by_table( <tab> ).
|
||||
|
||||
|
||||
WHEN 'BUTTON_POST'.
|
||||
|
||||
CREATE DATA mt_table TYPE STANDARD TABLE OF (mv_name).
|
||||
"FIELD-SYMBOLS <tab> TYPE table.
|
||||
ASSIGN mt_table->* TO <tab>.
|
||||
|
||||
SELECT FROM (mv_name)
|
||||
FIELDS *
|
||||
INTO CORRESPONDING FIELDS OF TABLE @<tab>
|
||||
UP TO 100 ROWS.
|
||||
|
||||
|
||||
WHEN 'BUTTON_CONFIRM'.
|
||||
client->popup_message_toast( |confirm| ).
|
||||
app-view_popup = ''.
|
||||
|
||||
WHEN 'BUTTON_CANCEL'.
|
||||
client->popup_message_toast( |cancel| ).
|
||||
app-view_popup = ''.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
app-view_main = 'VIEW_MAIN'.
|
||||
mv_name = `Z2UI5_T_DRAFT`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
DATA(lo_view) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
|
||||
title = 'abap2UI5 - Change the table type with RTTI'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = 'https://twitter.com/OblomovDev/status/1656904560953237508'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
)->simple_form( editable = abap_true
|
||||
)->content( `form`
|
||||
)->title( 'Table'
|
||||
)->label( 'Name' ).
|
||||
|
||||
lo_view->input( client->_bind( mv_name ) ).
|
||||
|
||||
lo_view->button(
|
||||
text = 'read'
|
||||
press = client->_event( 'BUTTON_POST' )
|
||||
).
|
||||
|
||||
IF mt_table IS BOUND.
|
||||
|
||||
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
||||
ASSIGN mt_table->* TO <tab>.
|
||||
DATA(tab) = lo_view->get_parent( )->get_parent( )->simple_form( editable = abap_true
|
||||
)->content( 'form' )->table(
|
||||
items = client->_bind( val = <tab> check_gen_data = abap_true )
|
||||
).
|
||||
|
||||
DATA(lo_columns) = tab->columns( ).
|
||||
mt_cols = lcl_db=>get_fieldlist_by_table( <tab> ).
|
||||
|
||||
LOOP AT mt_cols INTO DATA(lv_field) FROM 2.
|
||||
lo_columns->column( )->text( lv_field ).
|
||||
ENDLOOP.
|
||||
|
||||
DATA(lo_cells) = tab->items( )->column_list_item( selected = '{SELKZ}' )->cells( ).
|
||||
LOOP AT mt_cols INTO lv_field FROM 2.
|
||||
lo_cells->input( `{` && lv_field && `}` ).
|
||||
ENDLOOP.
|
||||
|
||||
ENDIF.
|
||||
|
||||
app-next-xml_main = lo_view->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,312 +0,0 @@
|
|||
CLASS lcl_db DEFINITION.
|
||||
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
|
||||
TYPES ty_t_table TYPE z2ui5_cl_app_demo_13=>ty_t_table.
|
||||
|
||||
CLASS-DATA app TYPE REF TO z2ui5_cl_app_demo_13.
|
||||
"CLASS-DATA st_table TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS generate_test_data.
|
||||
|
||||
CLASS-METHODS get_table_by_json
|
||||
IMPORTING
|
||||
val TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS get_table_by_xml
|
||||
IMPORTING
|
||||
val TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS get_table_by_csv
|
||||
IMPORTING
|
||||
val TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS get_csv_by_table
|
||||
IMPORTING
|
||||
val TYPE ty_t_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
CLASS-METHODS get_xml_by_table
|
||||
IMPORTING
|
||||
val TYPE ty_t_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
CLASS-METHODS get_json_by_table
|
||||
IMPORTING
|
||||
val TYPE ty_t_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
CLASS-METHODS get_fieldlist_by_table
|
||||
IMPORTING
|
||||
it_table TYPE table
|
||||
RETURNING
|
||||
VALUE(result) TYPE string_table.
|
||||
|
||||
CLASS-METHODS db_save
|
||||
IMPORTING
|
||||
value TYPE ty_t_table.
|
||||
|
||||
CLASS-METHODS db_read
|
||||
RETURNING
|
||||
VALUE(result) TYPE ty_t_table.
|
||||
CLASS-METHODS get_test_data_json
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_db IMPLEMENTATION.
|
||||
|
||||
METHOD generate_test_data.
|
||||
|
||||
app->st_db = VALUE #(
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
( carrid = 'DL' connid = '0106' countryfr = 'US' cityfrom = 'NEW YORK' airpfrom = 'JFK' countryto = 'DE' cityto = 'FRANKFURT' airpto = 'FR' )
|
||||
).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_table_by_json.
|
||||
|
||||
DATA lt_tab TYPE ty_t_table.
|
||||
|
||||
/ui2/cl_json=>deserialize(
|
||||
EXPORTING
|
||||
json = val
|
||||
* jsonx =
|
||||
* pretty_name =
|
||||
* assoc_arrays =
|
||||
* assoc_arrays_opt =
|
||||
* name_mappings =
|
||||
* conversion_exits =
|
||||
* hex_as_base64 =
|
||||
CHANGING
|
||||
data = lt_tab
|
||||
).
|
||||
|
||||
result = lt_tab.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_table_by_xml.
|
||||
|
||||
DATA lt_tab TYPE ty_t_table.
|
||||
|
||||
CALL TRANSFORMATION id SOURCE xml = val RESULT data = lt_tab.
|
||||
|
||||
result = lt_tab.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_table_by_csv.
|
||||
|
||||
SPLIT val AT ';' INTO TABLE DATA(lt_cols).
|
||||
|
||||
LOOP AT lt_cols INTO DATA(lv_field).
|
||||
|
||||
DATA(ls_row) = VALUE z2ui5_cl_app_demo_13=>ty_s_spfli( ).
|
||||
DATA(lv_index) = 1.
|
||||
DO.
|
||||
ASSIGN COMPONENT lv_index OF STRUCTURE ls_row TO FIELD-SYMBOL(<field>).
|
||||
IF sy-subrc <> 0.
|
||||
EXIT.
|
||||
ENDIF.
|
||||
<field> = lv_field.
|
||||
lv_index = lv_index + 1.
|
||||
ENDDO.
|
||||
INSERT ls_row INTO TABLE result.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD db_save.
|
||||
|
||||
"normally modify database here
|
||||
|
||||
"test scenario, therefore write internal table instead
|
||||
app->st_db = value.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD db_read.
|
||||
|
||||
"normally read database here
|
||||
|
||||
"test scenario, therefore read internal table instead
|
||||
|
||||
result = app->st_db.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_csv_by_table.
|
||||
|
||||
LOOP AT val INTO DATA(ls_row).
|
||||
|
||||
DATA(lv_index) = 1.
|
||||
DO.
|
||||
ASSIGN COMPONENT lv_index OF STRUCTURE ls_row TO FIELD-SYMBOL(<field>).
|
||||
IF sy-subrc <> 0.
|
||||
EXIT.
|
||||
ENDIF.
|
||||
lv_index = lv_index + 1.
|
||||
result = result && <field> && ';'.
|
||||
ENDDO.
|
||||
result = result && cl_abap_char_utilities=>cr_lf.
|
||||
ENDLOOP.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_json_by_table.
|
||||
|
||||
result = /ui2/cl_json=>serialize(
|
||||
val
|
||||
* compress =
|
||||
* name =
|
||||
* pretty_name =
|
||||
* type_descr =
|
||||
* assoc_arrays =
|
||||
* ts_as_iso8601 =
|
||||
* expand_includes =
|
||||
* assoc_arrays_opt =
|
||||
* numc_as_string =
|
||||
* name_mappings =
|
||||
* conversion_exits =
|
||||
" format_output = abap_true
|
||||
* hex_as_base64 =
|
||||
).
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_xml_by_table.
|
||||
|
||||
CALL TRANSFORMATION id SOURCE values = val RESULT XML result.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_fieldlist_by_table.
|
||||
|
||||
DATA(lo_tab) = CAST cl_abap_tabledescr( cl_abap_datadescr=>describe_by_data( it_table ) ).
|
||||
DATA(lo_struc) = CAST cl_abap_structdescr( lo_tab->get_table_line_type( ) ).
|
||||
|
||||
DATA(lt_comp) = lo_struc->get_components( ).
|
||||
|
||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||
INSERT ls_comp-name INTO TABLE result.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_test_data_json.
|
||||
|
||||
result = `[` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` {` && |\n| &&
|
||||
` "CARRID": "DL",` && |\n| &&
|
||||
` "CONNID": 106,` && |\n| &&
|
||||
` "COUNTRYFR": "US",` && |\n| &&
|
||||
` "CITYFROM": "NEW YORK",` && |\n| &&
|
||||
` "AIRPFROM": "JFK",` && |\n| &&
|
||||
` "COUNTRYTO": "DE",` && |\n| &&
|
||||
` "CITYTO": "FRANKFURT",` && |\n| &&
|
||||
` "AIRPTO": "FR"` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
`]`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_35</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>more - dynamic model</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,143 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_36 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_value TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_36 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'POST'.
|
||||
client->popup_message_toast( app-get-event_data ).
|
||||
|
||||
WHEN 'MYCC'.
|
||||
client->popup_message_toast( 'MYCC event ' && mv_value ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
app-view_main = 'VIEW_MAIN'.
|
||||
mv_value = 'test'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
app-next-xml_main = `<mvc:View controllerName="project1.controller.View1"` && |\n| &&
|
||||
` xmlns:mvc="sap.ui.core.mvc" displayBlock="true"` && |\n| &&
|
||||
` xmlns:z2ui5="z2ui5" xmlns:m="sap.m" xmlns="http://www.w3.org/1999/xhtml"` && |\n| &&
|
||||
` ><m:Button ` && |\n| &&
|
||||
` text="back" ` && |\n| &&
|
||||
` press="` && client->_event( 'BACK' ) && `" ` && |\n| &&
|
||||
` class="sapUiContentPadding sapUiResponsivePadding--content"/> ` && |\n| &&
|
||||
` <m:Link target="_blank" text="Source_Code" href="` && z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) ) && `"/>` && |\n| &&
|
||||
`<html><head><style>` && |\n| &&
|
||||
`body {background-color: powderblue;}` && |\n| &&
|
||||
`h1 {color: blue;}` && |\n| &&
|
||||
`p {color: red;}` && |\n| &&
|
||||
`</style>` &&
|
||||
`</head>` && |\n| &&
|
||||
`<body>` && |\n| &&
|
||||
`<h1>This is a heading with css</h1>` && |\n| &&
|
||||
`<p>This is a paragraph with css.</p>` && |\n| &&
|
||||
`<h1>My First JavaScript</h1>` && |\n| &&
|
||||
`<button type="button" onclick="myFunction()">` && |\n| &&
|
||||
`run javascript code sent from the backend.</button>` && |\n| &&
|
||||
`<button type="button" onclick="myFunction2()">sent data to backend and come back</button>` && |\n| &&
|
||||
`<Input id='input' value='frontend data' /><h1>This is SVG</h1><p id="demo"></p><svg id="svg" version="1.1"` && |\n| &&
|
||||
` baseProfile="full"` && |\n| &&
|
||||
` width="500" height="500"` && |\n| &&
|
||||
` xmlns="http://www.w3.org/2000/svg">` && |\n| &&
|
||||
` <rect width="100%" height="100%" />` && |\n| &&
|
||||
` <circle id="circle" cx="100" cy="100" r="80" />` && |\n| &&
|
||||
` </svg>` && |\n| &&
|
||||
`<div>X: <input id="sliderX" type="range" min="1" max="500" value="100" /></div><h1>This is canvas</h1><canvas id="canvas" width="500" height="300"></canvas>` && |\n| &&
|
||||
`<script> debugger; var canvas = document.getElementById(sap.z2ui5.oView.createId( 'canvas' ));` && |\n| &&
|
||||
` if (canvas.getContext){` && |\n| &&
|
||||
`let context = canvas.getContext('2d');` && |\n| &&
|
||||
`context.fillStyle = 'rgb(200,0,0)';` && |\n| &&
|
||||
`context.fillRect (10, 10, 80, 80);` && |\n| &&
|
||||
`context.fillStyle = 'rgba(0, 0, 200, 0.5)';` && |\n| &&
|
||||
`context.fillRect (100, 10, 80, 80);` && |\n| &&
|
||||
`context.strokeStyle = 'rgb(200,0,0)';` && |\n| &&
|
||||
`context.strokeRect (190, 10, 80, 80);` && |\n| &&
|
||||
`context.strokeStyle = 'rgba(0, 0, 200, 0.5)';` && |\n| &&
|
||||
` context.strokeRect (280, 10, 80, 80);` && |\n| &&
|
||||
` context.fillStyle = 'rgb(200,0,0)';` && |\n| &&
|
||||
` context.fillRect (370, 10, 80, 80);` && |\n| &&
|
||||
` context.clearRect (380, 20, 60, 20);` && |\n| &&
|
||||
` context.fillRect (390, 25, 10, 10);` && |\n| &&
|
||||
` context.fillRect (420, 25, 10, 10);` && |\n| &&
|
||||
` context.clearRect (385, 60, 50, 10); } ` && |\n| &&
|
||||
` function myFunction( ) { alert( 'button pressed' ) }` && |\n| &&
|
||||
` function myFunction2( ) { sap.z2ui5.oView.getController().onEvent({ 'EVENT' : 'POST', 'METHOD' : 'UPDATE' }, ` && ' document.getElementById(sap.z2ui5.oView.createId( "input" )).value ' && ` ) }` && |\n| &&
|
||||
`</script> <script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/barcodes/JsBarcode.code128.min.js"> </script>` &&
|
||||
* ` <z2ui5:MyCC change=" ` && client->_event( 'MYCC' ) && `" value="` && client->_bind( mv_value ) && `"/>` && |\n| &&
|
||||
|
||||
`</body>` && |\n| &&
|
||||
`</html> ` && |\n| &&
|
||||
`</mvc:View>`.
|
||||
|
||||
app-next-xml_main = z2ui5_cl_xml_view=>hlp_replace_controller_name( app-next-xml_main ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,136 +0,0 @@
|
|||
*"* use this source file for the definition and implementation of
|
||||
*"* local helper classes, interface definitions and type
|
||||
*"* declarations
|
||||
class lcl_repository DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-METHODS get_js_barcode_lib
|
||||
returning
|
||||
value(result) type string.
|
||||
|
||||
|
||||
endclass.
|
||||
|
||||
CLASS lcl_repository IMPLEMENTATION.
|
||||
|
||||
METHOD get_js_barcode_lib.
|
||||
|
||||
result = `` && |\n| &&
|
||||
`!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable` &&
|
||||
`:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"obj` &&
|
||||
`ect"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){` &&
|
||||
`var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(t,e,n){"use strict";var r;function o(t,e,n){return e in t?` &&
|
||||
`Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var i=e.SET_A=0,a=e.SET_B=1,u=e.SET_C=2,s=(e.SHIFT=98,e.START_A=103),f=e.START_B=104,c=e.START_C=105;e.MODULO=1` &&
|
||||
`03,e.STOP=106,e.FNC1=207,e.SET_BY_CODE=(o(r={},s,i),o(r,f,a),o(r,c,u),r),e.SWAP={101:i,100:a,99:u},e.A_START_CHAR=String.fromCharCode(208),e.B_START_CHAR=String.fromCharCode(209),e.C_START_CHAR=String.fromCharCode(210),e.A_CHARS="[\0-_È-Ï]",e.B_CHA` &&
|
||||
`RS="[ -È-Ï]",e.C_CHARS="(Ï*[0-9]{2}Ï*)",e.BARS=[11011001100,11001101100,11001100110,10010011e3,10010001100,10001001100,10011001e3,10011000100,10001100100,11001001e3,11001000100,11000100100,10110011100,10011011100,10011001110,10111001100,1001110110` &&
|
||||
`0,10011100110,11001110010,11001011100,11001001110,11011100100,11001110100,11101101110,11101001100,11100101100,11100100110,11101100100,11100110100,11100110010,11011011e3,11011000110,11000110110,10100011e3,10001011e3,10001000110,10110001e3,10001101e3` &&
|
||||
`,10001100010,11010001e3,11000101e3,11000100010,10110111e3,10110001110,10001101110,10111011e3,10111000110,10001110110,11101110110,11010001110,11000101110,11011101e3,11011100010,11011101110,11101011e3,11101000110,11100010110,11101101e3,11101100010,11` &&
|
||||
`100011010,11101111010,11001000010,11110001010,1010011e4,10100001100,1001011e4,10010000110,10000101100,10000100110,1011001e4,10110000100,1001101e4,10011000010,10000110100,10000110010,11000010010,1100101e4,11110111010,11000010100,10001111010,10100111` &&
|
||||
`100,10010111100,10010011110,10111100100,10011110100,10011110010,11110100100,11110010100,11110010010,11011011110,11011110110,11110110110,10101111e3,10100011110,10001011110,10111101e3,10111100010,11110101e3,11110100010,10111011110,10111101110,1110101` &&
|
||||
`1110,11110101110,11010000100,1101001e4,11010011100,1100011101011]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1` &&
|
||||
`,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(11),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){!function(t,e){` &&
|
||||
`if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof ` &&
|
||||
`e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t.substring(1),n));return r.bytes=t.split("").map((function(t){return t.charCodeAt(0)})),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression mu` &&
|
||||
`st either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid"` &&
|
||||
`,value:function(){return/^[\x00-\x7F\xC8-\xD3]+$/.test(this.data)}},{key:"encode",value:function(){var t=this.bytes,n=t.shift()-105,r=u.SET_BY_CODE[n];if(void 0===r)throw new RangeError("The encoding does not start with a start character.");!0===th` &&
|
||||
`is.shouldEncodeAsEan128()&&t.unshift(u.FNC1);var o=e.next(t,1,r);return{text:this.text===this.data?this.text.replace(/[^\x20-\x7E]/g,""):this.text,data:e.getBar(n)+o.result+e.getBar((o.checksum+n)%u.MODULO)+e.getBar(u.STOP)}}},{key:"shouldEncodeAsE` &&
|
||||
`an128",value:function(){var t=this.options.ean128||!1;return"string"==typeof t&&(t="true"===t.toLowerCase()),t}}],[{key:"getBar",value:function(t){return u.BARS[t]?u.BARS[t].toString():""}},{key:"correctIndex",value:function(t,e){if(e===u.SET_A){va` &&
|
||||
`r n=t.shift();return n<32?n+64:n-32}return e===u.SET_B?t.shift()-32:10*(t.shift()-48)+t.shift()-48}},{key:"next",value:function(t,n,r){if(!t.length)return{result:"",checksum:0};var o=void 0,i=void 0;if(t[0]>=200){i=t.shift()-105;var a=u.SWAP[i];voi` &&
|
||||
`d 0!==a?o=e.next(t,n+1,a):(r!==u.SET_A&&r!==u.SET_B||i!==u.SHIFT||(t[0]=r===u.SET_A?t[0]>95?t[0]-96:t[0]:t[0]<32?t[0]+96:t[0]),o=e.next(t,n+1,r))}else i=e.correctIndex(t,r),o=e.next(t,n+1,r);var s=i*n;return{result:e.getBar(i)+o.result,checksum:s+o` &&
|
||||
`.checksum}}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnPr` &&
|
||||
`operty.call(n,r)&&(t[r]=n[r])}return t};e.default=function(t,e){return r({},t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=["width","height","textMargin","fontSize","margin","marginT` &&
|
||||
`op","marginBottom","marginLeft","marginRight"];for(var n in e)e.hasOwnProperty(n)&&(n=e[n],"string"==typeof t[n]&&(t[n]=parseInt(t[n],10)));"string"==typeof t.displayValue&&(t.displayValue="false"!=t.displayValue);return t}},function(t,e,n){"use st` &&
|
||||
`rict";Object.defineProperty(e,"__esModule",{value:!0});var r={width:2,height:100,format:"auto",displayValue:!0,fontOptions:"",font:"monospace",text:void 0,textAlign:"center",textPosition:"bottom",textMargin:2,fontSize:20,background:"#ffffff",lineCo` &&
|
||||
`lor:"#000000",margin:10,marginTop:void 0,marginBottom:void 0,marginLeft:void 0,marginRight:void 0,valid:function(){}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTotalWidthOfEncodings=e.calculateE` &&
|
||||
`ncodingAttributes=e.getBarcodePadding=e.getEncodingHeight=e.getMaximumHeightOfEncodings=void 0;var r,o=n(2),i=(r=o)&&r.__esModule?r:{default:r};function a(t,e){return e.height+(e.displayValue&&t.text.length>0?e.fontSize+e.textMargin:0)+e.marginTop+` &&
|
||||
`e.marginBottom}function u(t,e,n){if(n.displayValue&&e<t){if("center"==n.textAlign)return Math.floor((t-e)/2);if("left"==n.textAlign)return 0;if("right"==n.textAlign)return Math.floor(t-e)}return 0}function s(t,e,n){var r;if(n)r=n;else{if("undefined` &&
|
||||
`"==typeof document)return 0;r=document.createElement("canvas").getContext("2d")}r.font=e.fontOptions+" "+e.fontSize+"px "+e.font;var o=r.measureText(t);return o?o.width:0}e.getMaximumHeightOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)t[n]` &&
|
||||
`.height>e&&(e=t[n].height);return e},e.getEncodingHeight=a,e.getBarcodePadding=u,e.calculateEncodingAttributes=function(t,e,n){for(var r=0;r<t.length;r++){var o,f=t[r],c=(0,i.default)(e,f.options);o=c.displayValue?s(f.text,c,n):0;var l=f.data.lengt` &&
|
||||
`h*c.width;f.width=Math.ceil(Math.max(o,l)),f.height=a(f,c),f.barcodePadding=u(o,l,c)}},e.getTotalWidthOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)e+=t[n].width;return e}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))` &&
|
||||
`throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function` &&
|
||||
`"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Obj` &&
|
||||
`ect.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(t,n){r(this,e);var i=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return i.name="InvalidInputException",i.symbology=t` &&
|
||||
`,i.input=n,i.message='"'+i.input+'" is not a valid input for '+i.symbology,i}return i(e,Error),e}(),u=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="InvalidElementException",t.mess` &&
|
||||
`age="Not supported type to render on",t}return i(e,Error),e}(),s=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="NoElementException",t.message="No element to render on.",t}return i(` &&
|
||||
`e,Error),e}();e.InvalidInputException=a,e.InvalidElementException=u,e.NoElementException=s},function(t,e,n){"use strict";var r=d(n(8)),o=d(n(2)),i=d(n(16)),a=d(n(17)),u=d(n(18)),s=d(n(3)),f=d(n(24)),c=n(6),l=d(n(4));function d(t){return t&&t.__esMo` &&
|
||||
`dule?t:{default:t}}var p=function(){},h=function(t,e,n){var r=new p;if(void 0===t)throw Error("No element to render on was provided.");return r._renderProperties=(0,u.default)(t),r._encodings=[],r._options=l.default,r._errorHandler=new f.default(r)` &&
|
||||
`,void 0!==e&&((n=n||{}).format||(n.format=b()),r.options(n)[n.format](e,n).render()),r};for(var v in h.getModule=function(t){return r.default[t]},r.default)r.default.hasOwnProperty(v)&&g(r.default,v);function g(t,e){p.prototype[e]=p.prototype[e.toU` &&
|
||||
`pperCase()]=p.prototype[e.toLowerCase()]=function(n,r){var i=this;return i._errorHandler.wrapBarcodeCall((function(){r.text=void 0===r.text?void 0:""+r.text;var a=(0,o.default)(i._options,r);a=(0,s.default)(a);var u=t[e],f=y(n,u,a);return i._encodi` &&
|
||||
`ngs.push(f),i}))}}function y(t,e,n){var r=new e(t=""+t,n);if(!r.valid())throw new c.InvalidInputException(r.constructor.name,t);var a=r.encode();a=(0,i.default)(a);for(var u=0;u<a.length;u++)a[u].options=(0,o.default)(n,a[u].options);return a}funct` &&
|
||||
`ion b(){return r.default.CODE128?"CODE128":Object.keys(r.default)[0]}function _(t,e,n){e=(0,i.default)(e);for(var r=0;r<e.length;r++)e[r].options=(0,o.default)(n,e[r].options),(0,a.default)(e[r].options);(0,a.default)(n),new(0,t.renderer)(t.element` &&
|
||||
`,e,n).render(),t.afterRender&&t.afterRender()}p.prototype.options=function(t){return this._options=(0,o.default)(this._options,t),this},p.prototype.blank=function(t){var e=new Array(t+1).join("0");return this._encodings.push({data:e}),this},p.proto` &&
|
||||
`type.init=function(){var t;if(this._renderProperties)for(var e in Array.isArray(this._renderProperties)||(this._renderProperties=[this._renderProperties]),this._renderProperties){t=this._renderProperties[e];var n=(0,o.default)(this._options,t.optio` &&
|
||||
`ns);"auto"==n.format&&(n.format=b()),this._errorHandler.wrapBarcodeCall((function(){var e=y(n.value,r.default[n.format.toUpperCase()],n);_(t,e,n)}))}},p.prototype.render=function(){if(!this._renderProperties)throw new c.NoElementException;if(Array.` &&
|
||||
`isArray(this._renderProperties))for(var t=0;t<this._renderProperties.length;t++)_(this._renderProperties[t],this._encodings,this._options);else _(this._renderProperties,this._encodings,this._options);return this},p.prototype._defaults=l.default,"un` &&
|
||||
`defined"!=typeof window&&(window.JsBarcode=h),"undefined"!=typeof jQuery&&(jQuery.fn.JsBarcode=function(t,e){var n=[];return jQuery(this).each((function(){n.push(this)})),h(n,t,e)}),t.exports=h},function(t,e,n){"use strict";Object.defineProperty(e,` &&
|
||||
`"__esModule",{value:!0});var r=n(9);e.default={CODE128:r.CODE128,CODE128A:r.CODE128A,CODE128B:r.CODE128B,CODE128C:r.CODE128C}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CODE128C=e.CODE128B=e.CODE128A=e.CODE128=` &&
|
||||
`void 0;var r=u(n(10)),o=u(n(13)),i=u(n(14)),a=u(n(15));function u(t){return t&&t.__esModule?t:{default:t}}e.CODE128=r.default,e.CODE128A=o.default,e.CODE128B=i.default,e.CODE128C=a.default},function(t,e,n){"use strict";Object.defineProperty(e,"__es` &&
|
||||
`Module",{value:!0});var r=i(n(1)),o=i(n(12));function i(t){return t&&t.__esModule?t:{default:t}}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=ty` &&
|
||||
`peof e?t:e}var u=function(t){function e(t,n){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),/^[\x00-\x7F\xC8-\xD3]+$/.test(t))var r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,(0` &&
|
||||
`,o.default)(t),n));else r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));return a(r)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.p` &&
|
||||
`rototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(r.default);e.default=u},function(t,e,n){"use strict";Object.define` &&
|
||||
`Property(e,"__esModule",{value:!0});e.default=function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.text=n.text||e,this.options=n}},function(t,e,n){"use strict";Object` &&
|
||||
`.defineProperty(e,"__esModule",{value:!0});var r=n(0),o=function(t){return t.match(new RegExp("^"+r.A_CHARS+"*"))[0].length},i=function(t){return t.match(new RegExp("^"+r.B_CHARS+"*"))[0].length},a=function(t){return t.match(new RegExp("^"+r.C_CHAR` &&
|
||||
`S+"*"))[0]};function u(t,e){var n=e?r.A_CHARS:r.B_CHARS,o=t.match(new RegExp("^("+n+"+?)(([0-9]{2}){2,})([^0-9]|$)"));if(o)return o[1]+String.fromCharCode(204)+s(t.substring(o[1].length));var i=t.match(new RegExp("^"+n+"+"))[0];return i.length===t.` &&
|
||||
`length?t:i+String.fromCharCode(e?205:206)+u(t.substring(i.length),!e)}function s(t){var e=a(t),n=e.length;if(n===t.length)return t;t=t.substring(n);var r=o(t)>=i(t);return e+String.fromCharCode(r?206:205)+u(t,r)}e.default=function(t){var e=void 0;i` &&
|
||||
`f(a(t).length>=2)e=r.C_START_CHAR+s(t);else{var n=o(t)>i(t);e=(n?r.A_START_CHAR:r.B_START_CHAR)+u(t,n)}return e.replace(/[\xCD\xCE]([^])[\xCD\xCE]/,(function(t,e){return String.fromCharCode(203)+e}))}},function(t,e,n){"use strict";Object.defineProp` &&
|
||||
`erty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n` &&
|
||||
`&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)t` &&
|
||||
`hrow new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.A_START_CHAR+t,n))}return function(t,e){if("functi` &&
|
||||
`on"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?O` &&
|
||||
`bject.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.A_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var` &&
|
||||
` r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),` &&
|
||||
`i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn'` &&
|
||||
`t been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.B_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new T` &&
|
||||
`ypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto` &&
|
||||
`__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.B_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for` &&
|
||||
`(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{def` &&
|
||||
`ault:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't` &&
|
||||
` been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.C_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must eit` &&
|
||||
`her be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value` &&
|
||||
`:function(){return new RegExp("^"+u.C_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=[];return function t(n){if(Array.isArray(n))f` &&
|
||||
`or(var r=0;r<n.length;r++)t(n[r]);else n.text=n.text||"",n.data=n.data||"",e.push(n)}(t),e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t.marginTop=t.marginTop||t.margin,t.marginBottom` &&
|
||||
`=t.marginBottom||t.margin,t.marginRight=t.marginRight||t.margin,t.marginLeft=t.marginLeft||t.margin,t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?` &&
|
||||
`function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=u(n(19)),i=u(n(20)),a=n(6);function u(t){return t&&t.__esModule?t:{default:t}}function s(t){if("string"=` &&
|
||||
`=typeof t)return function(t){var e=document.querySelectorAll(t);if(0===e.length)return;for(var n=[],r=0;r<e.length;r++)n.push(s(e[r]));return n}(t);if(Array.isArray(t)){for(var e=[],n=0;n<t.length;n++)e.push(s(t[n]));return e}if("undefined"!=typeof` &&
|
||||
` HTMLCanvasElement&&t instanceof HTMLImageElement)return u=t,{element:f=document.createElement("canvas"),options:(0,o.default)(u),renderer:i.default.CanvasRenderer,afterRender:function(){u.setAttribute("src",f.toDataURL())}};if(t&&t.nodeName&&"svg"` &&
|
||||
`===t.nodeName.toLowerCase()||"undefined"!=typeof SVGElement&&t instanceof SVGElement)return{element:t,options:(0,o.default)(t),renderer:i.default.SVGRenderer};if("undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement)return{element:t` &&
|
||||
`,options:(0,o.default)(t),renderer:i.default.CanvasRenderer};if(t&&t.getContext)return{element:t,renderer:i.default.CanvasRenderer};if(t&&"object"===(void 0===t?"undefined":r(t))&&!t.nodeName)return{element:t,renderer:i.default.ObjectRenderer};thro` &&
|
||||
`w new a.InvalidElementException;var u,f}e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(n(3)),o=i(n(4));function i(t){return t&&t.__esModule?t:{default:t}}e.default=function(t){var e={};for(var n i` &&
|
||||
`n o.default)o.default.hasOwnProperty(n)&&(t.hasAttribute("jsbarcode-"+n.toLowerCase())&&(e[n]=t.getAttribute("jsbarcode-"+n.toLowerCase())),t.hasAttribute("data-"+n.toLowerCase())&&(e[n]=t.getAttribute("data-"+n.toLowerCase())));return e.value=t.ge` &&
|
||||
`tAttribute("jsbarcode-value")||t.getAttribute("data-value"),e=(0,r.default)(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(21)),o=a(n(22)),i=a(n(23));function a(t){return t&&t.__esModule?t:{default:t}}e` &&
|
||||
`.default={CanvasRenderer:r.default,SVGRenderer:o.default,ObjectRenderer:i.default}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable` &&
|
||||
`=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s=function(){function t(e,n,r` &&
|
||||
`){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.canvas=e,this.encodings=n,this.options=r}return o(t,[{key:"render",value:function(){if(!this.canvas.getContext)throw new Error("The browser` &&
|
||||
` does not support canvas.");this.prepareCanvas();for(var t=0;t<this.encodings.length;t++){var e=(0,a.default)(this.options,this.encodings[t].options);this.drawCanvasBarcode(e,this.encodings[t]),this.drawCanvasText(e,this.encodings[t]),this.moveCanv` &&
|
||||
`asDrawing(this.encodings[t])}this.restoreCanvas()}},{key:"prepareCanvas",value:function(){var t=this.canvas.getContext("2d");t.save(),(0,u.calculateEncodingAttributes)(this.encodings,this.options,t);var e=(0,u.getTotalWidthOfEncodings)(this.encodin` &&
|
||||
`gs),n=(0,u.getMaximumHeightOfEncodings)(this.encodings);this.canvas.width=e+this.options.marginLeft+this.options.marginRight,this.canvas.height=n,t.clearRect(0,0,this.canvas.width,this.canvas.height),this.options.background&&(t.fillStyle=this.optio` &&
|
||||
`ns.background,t.fillRect(0,0,this.canvas.width,this.canvas.height)),t.translate(this.options.marginLeft,0)}},{key:"drawCanvasBarcode",value:function(t,e){var n,r=this.canvas.getContext("2d"),o=e.data;n="top"==t.textPosition?t.marginTop+t.fontSize+t` &&
|
||||
`.textMargin:t.marginTop,r.fillStyle=t.lineColor;for(var i=0;i<o.length;i++){var a=i*t.width+e.barcodePadding;"1"===o[i]?r.fillRect(a,n,t.width,t.height):o[i]&&r.fillRect(a,n,t.width,t.height*o[i])}}},{key:"drawCanvasText",value:function(t,e){var n,` &&
|
||||
`r,o=this.canvas.getContext("2d"),i=t.fontOptions+" "+t.fontSize+"px "+t.font;t.displayValue&&(r="top"==t.textPosition?t.marginTop+t.fontSize-t.textMargin:t.height+t.textMargin+t.marginTop+t.fontSize,o.font=i,"left"==t.textAlign||e.barcodePadding>0?` &&
|
||||
`(n=0,o.textAlign="left"):"right"==t.textAlign?(n=e.width-1,o.textAlign="right"):(n=e.width/2,o.textAlign="center"),o.fillText(e.text,n,r))}},{key:"moveCanvasDrawing",value:function(t){this.canvas.getContext("2d").translate(t.width,0)}},{key:"restor` &&
|
||||
`eCanvas",value:function(){this.canvas.getContext("2d").restore()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumera` &&
|
||||
`ble=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s="http://www.w3.org/2000/` &&
|
||||
`svg",f=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.svg=e,this.encodings=n,this.options=r,this.document=r.xmlDocument||document}return o(t,[{key:"render",val` &&
|
||||
`ue:function(){var t=this.options.marginLeft;this.prepareSVG();for(var e=0;e<this.encodings.length;e++){var n=this.encodings[e],r=(0,a.default)(this.options,n.options),o=this.createGroup(t,r.marginTop,this.svg);this.setGroupOptions(o,r),this.drawSvg` &&
|
||||
`Barcode(o,r,n),this.drawSVGText(o,r,n),t+=n.width}}},{key:"prepareSVG",value:function(){for(;this.svg.firstChild;)this.svg.removeChild(this.svg.firstChild);(0,u.calculateEncodingAttributes)(this.encodings,this.options);var t=(0,u.getTotalWidthOfEnc` &&
|
||||
`odings)(this.encodings),e=(0,u.getMaximumHeightOfEncodings)(this.encodings),n=t+this.options.marginLeft+this.options.marginRight;this.setSvgAttributes(n,e),this.options.background&&this.drawRect(0,0,n,e,this.svg).setAttribute("style","fill:"+this.o` &&
|
||||
`ptions.background+";")}},{key:"drawSvgBarcode",value:function(t,e,n){var r,o=n.data;r="top"==e.textPosition?e.fontSize+e.textMargin:0;for(var i=0,a=0,u=0;u<o.length;u++)a=u*e.width+n.barcodePadding,"1"===o[u]?i++:i>0&&(this.drawRect(a-e.width*i,r,e` &&
|
||||
`.width*i,e.height,t),i=0);i>0&&this.drawRect(a-e.width*(i-1),r,e.width*i,e.height,t)}},{key:"drawSVGText",value:function(t,e,n){var r,o,i=this.document.createElementNS(s,"text");e.displayValue&&(i.setAttribute("style","font:"+e.fontOptions+" "+e.fo` &&
|
||||
`ntSize+"px "+e.font),o="top"==e.textPosition?e.fontSize-e.textMargin:e.height+e.textMargin+e.fontSize,"left"==e.textAlign||n.barcodePadding>0?(r=0,i.setAttribute("text-anchor","start")):"right"==e.textAlign?(r=n.width-1,i.setAttribute("text-anchor"` &&
|
||||
`,"end")):(r=n.width/2,i.setAttribute("text-anchor","middle")),i.setAttribute("x",r),i.setAttribute("y",o),i.appendChild(this.document.createTextNode(n.text)),t.appendChild(i))}},{key:"setSvgAttributes",value:function(t,e){var n=this.svg;n.setAttrib` &&
|
||||
`ute("width",t+"px"),n.setAttribute("height",e+"px"),n.setAttribute("x","0px"),n.setAttribute("y","0px"),n.setAttribute("viewBox","0 0 "+t+" "+e),n.setAttribute("xmlns",s),n.setAttribute("version","1.1"),n.setAttribute("style","transform: translate(` &&
|
||||
`0,0)")}},{key:"createGroup",value:function(t,e,n){var r=this.document.createElementNS(s,"g");return r.setAttribute("transform","translate("+t+", "+e+")"),n.appendChild(r),r}},{key:"setGroupOptions",value:function(t,e){t.setAttribute("style","fill:"` &&
|
||||
`+e.lineColor+";")}},{key:"drawRect",value:function(t,e,n,r,o){var i=this.document.createElementNS(s,"rect");return i.setAttribute("x",t),i.setAttribute("y",e),i.setAttribute("width",n),i.setAttribute("height",r),o.appendChild(i),i}}]),t}();e.defaul` &&
|
||||
`t=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.definePro` &&
|
||||
`perty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.object=e,this.encoding` &&
|
||||
`s=n,this.options=r}return r(t,[{key:"render",value:function(){this.object.encodings=this.encodings}}]),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.` &&
|
||||
`length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e){!function(t,e){if` &&
|
||||
`(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.api=e}return r(t,[{key:"handleCatch",value:function(t){if("InvalidInputException"!==t.name)throw t;if(this.api._options.valid===this.api._defaults.valid)throw` &&
|
||||
` t.message;this.api._options.valid(!1),this.api.render=function(){}}},{key:"wrapBarcodeCall",value:function(t){try{var e=t.apply(void 0,arguments);return this.api._options.valid(!0),e}catch(t){return this.handleCatch(t),this.api}}}]),t}();e.default` &&
|
||||
`=o}]);`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_36</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>extension - canvas and svg</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,169 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_37 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_value TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
DATA mv_load_cc TYPE abap_bool.
|
||||
DATA mv_display_cc TYPE abap_bool.
|
||||
|
||||
METHODS get_js_custom_control
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_37 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD get_js_custom_control.
|
||||
|
||||
result = `<script>if(!z2ui5.MyCC){ jQuery.sap.declare("z2ui5.MyCC");` && |\n| &&
|
||||
` sap.ui.define( [` && |\n| &&
|
||||
` "sap/ui/core/Control",` && |\n| &&
|
||||
` ], function (Control) {` && |\n| &&
|
||||
` "use strict";` && |\n| &&
|
||||
` return Control.extend("z2ui5.MyCC", {` && |\n| &&
|
||||
` metadata: {` && |\n| &&
|
||||
` properties: {` && |\n| &&
|
||||
` value: { type: "string" }` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` events: {` && |\n| &&
|
||||
` "change": {` && |\n| &&
|
||||
` allowPreventDefault: true,` && |\n| &&
|
||||
` parameters: {}` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` renderer: function (oRm, oControl) {` && |\n| &&
|
||||
` oControl.oInput = new sap.m.Input({` && |\n| &&
|
||||
` value: oControl.getProperty("value")` && |\n| &&
|
||||
` });` && |\n| &&
|
||||
` oControl.oButton = new sap.m.Button({` && |\n| &&
|
||||
` text: 'button text',` && |\n| &&
|
||||
` press: function (oEvent) {` && |\n| &&
|
||||
` debugger;` && |\n| &&
|
||||
* ` this.setProperty("value", this.oInput._sTypedInValue )` && |\n| &&
|
||||
` this.setProperty("value", this.oInput.getProperty( 'value') )` && |\n| &&
|
||||
` this.fireChange();` && |\n| &&
|
||||
` }.bind(oControl)` && |\n| &&
|
||||
` });` && |\n| &&
|
||||
` oRm.renderControl(oControl.oInput);` && |\n| &&
|
||||
` oRm.renderControl(oControl.oButton);` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` });` && |\n| &&
|
||||
`}); } </script>`.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'POST'.
|
||||
client->popup_message_toast( app-get-event_data ).
|
||||
|
||||
WHEN 'LOAD_CC'.
|
||||
mv_load_cc = abap_true.
|
||||
client->popup_message_box( 'Custom Control loaded ' ).
|
||||
|
||||
WHEN 'DISPLAY_CC'.
|
||||
mv_display_cc = abap_true.
|
||||
client->popup_message_box( 'Custom Control displayed ' ).
|
||||
|
||||
WHEN 'MYCC'.
|
||||
client->popup_message_toast( `Custom Control input: ` && mv_value ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
app-next-xml_main = `<mvc:View controllerName="project1.controller.View1"` && |\n| &&
|
||||
` xmlns:mvc="sap.ui.core.mvc" displayBlock="true"` && |\n| &&
|
||||
` xmlns:z2ui5="z2ui5" xmlns:m="sap.m" xmlns="http://www.w3.org/1999/xhtml"` && |\n| &&
|
||||
` ><m:Button ` && |\n| &&
|
||||
` text="back" ` && |\n| &&
|
||||
` press="` && client->_event( 'BACK' ) && `" ` && |\n| &&
|
||||
` class="sapUiContentPadding sapUiResponsivePadding--content"/> ` && |\n| &&
|
||||
` <m:Link target="_blank" text="Source_Code" href="` && z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) ) && `"/>` && |\n| &&
|
||||
`<m:Button text="Load Custom Control" press="` && client->_event( 'LOAD_CC' ) && `" />` && |\n| &&
|
||||
`<m:Button text="Display Custom Control" press="` && client->_event( 'DISPLAY_CC' ) && `" />` && |\n| &&
|
||||
`<html><head> ` &&
|
||||
`</head>` && |\n| &&
|
||||
`<body>`.
|
||||
|
||||
IF mv_load_cc = abap_true.
|
||||
mv_load_cc = abap_false.
|
||||
app-next-xml_main = app-next-xml_main && get_js_custom_control( ).
|
||||
ENDIF.
|
||||
|
||||
IF mv_display_cc = abap_true.
|
||||
app-next-xml_main = app-next-xml_main && ` <z2ui5:MyCC change=" ` && client->_event( 'MYCC' ) && `" value="` && client->_bind( mv_value ) && `"/>`.
|
||||
ENDIF.
|
||||
|
||||
app-next-xml_main = app-next-xml_main && `</body>` && |\n| &&
|
||||
`</html> ` && |\n| &&
|
||||
`</mvc:View>`.
|
||||
|
||||
app-next-xml_main = z2ui5_cl_xml_view=>hlp_replace_controller_name( app-next-xml_main ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,136 +0,0 @@
|
|||
*"* use this source file for the definition and implementation of
|
||||
*"* local helper classes, interface definitions and type
|
||||
*"* declarations
|
||||
class lcl_repository DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-METHODS get_js_barcode_lib
|
||||
returning
|
||||
value(result) type string.
|
||||
|
||||
|
||||
endclass.
|
||||
|
||||
CLASS lcl_repository IMPLEMENTATION.
|
||||
|
||||
METHOD get_js_barcode_lib.
|
||||
|
||||
result = `` && |\n| &&
|
||||
`!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable` &&
|
||||
`:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"obj` &&
|
||||
`ect"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){` &&
|
||||
`var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(t,e,n){"use strict";var r;function o(t,e,n){return e in t?` &&
|
||||
`Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var i=e.SET_A=0,a=e.SET_B=1,u=e.SET_C=2,s=(e.SHIFT=98,e.START_A=103),f=e.START_B=104,c=e.START_C=105;e.MODULO=1` &&
|
||||
`03,e.STOP=106,e.FNC1=207,e.SET_BY_CODE=(o(r={},s,i),o(r,f,a),o(r,c,u),r),e.SWAP={101:i,100:a,99:u},e.A_START_CHAR=String.fromCharCode(208),e.B_START_CHAR=String.fromCharCode(209),e.C_START_CHAR=String.fromCharCode(210),e.A_CHARS="[\0-_È-Ï]",e.B_CHA` &&
|
||||
`RS="[ -È-Ï]",e.C_CHARS="(Ï*[0-9]{2}Ï*)",e.BARS=[11011001100,11001101100,11001100110,10010011e3,10010001100,10001001100,10011001e3,10011000100,10001100100,11001001e3,11001000100,11000100100,10110011100,10011011100,10011001110,10111001100,1001110110` &&
|
||||
`0,10011100110,11001110010,11001011100,11001001110,11011100100,11001110100,11101101110,11101001100,11100101100,11100100110,11101100100,11100110100,11100110010,11011011e3,11011000110,11000110110,10100011e3,10001011e3,10001000110,10110001e3,10001101e3` &&
|
||||
`,10001100010,11010001e3,11000101e3,11000100010,10110111e3,10110001110,10001101110,10111011e3,10111000110,10001110110,11101110110,11010001110,11000101110,11011101e3,11011100010,11011101110,11101011e3,11101000110,11100010110,11101101e3,11101100010,11` &&
|
||||
`100011010,11101111010,11001000010,11110001010,1010011e4,10100001100,1001011e4,10010000110,10000101100,10000100110,1011001e4,10110000100,1001101e4,10011000010,10000110100,10000110010,11000010010,1100101e4,11110111010,11000010100,10001111010,10100111` &&
|
||||
`100,10010111100,10010011110,10111100100,10011110100,10011110010,11110100100,11110010100,11110010010,11011011110,11011110110,11110110110,10101111e3,10100011110,10001011110,10111101e3,10111100010,11110101e3,11110100010,10111011110,10111101110,1110101` &&
|
||||
`1110,11110101110,11010000100,1101001e4,11010011100,1100011101011]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1` &&
|
||||
`,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(11),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){!function(t,e){` &&
|
||||
`if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof ` &&
|
||||
`e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t.substring(1),n));return r.bytes=t.split("").map((function(t){return t.charCodeAt(0)})),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression mu` &&
|
||||
`st either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid"` &&
|
||||
`,value:function(){return/^[\x00-\x7F\xC8-\xD3]+$/.test(this.data)}},{key:"encode",value:function(){var t=this.bytes,n=t.shift()-105,r=u.SET_BY_CODE[n];if(void 0===r)throw new RangeError("The encoding does not start with a start character.");!0===th` &&
|
||||
`is.shouldEncodeAsEan128()&&t.unshift(u.FNC1);var o=e.next(t,1,r);return{text:this.text===this.data?this.text.replace(/[^\x20-\x7E]/g,""):this.text,data:e.getBar(n)+o.result+e.getBar((o.checksum+n)%u.MODULO)+e.getBar(u.STOP)}}},{key:"shouldEncodeAsE` &&
|
||||
`an128",value:function(){var t=this.options.ean128||!1;return"string"==typeof t&&(t="true"===t.toLowerCase()),t}}],[{key:"getBar",value:function(t){return u.BARS[t]?u.BARS[t].toString():""}},{key:"correctIndex",value:function(t,e){if(e===u.SET_A){va` &&
|
||||
`r n=t.shift();return n<32?n+64:n-32}return e===u.SET_B?t.shift()-32:10*(t.shift()-48)+t.shift()-48}},{key:"next",value:function(t,n,r){if(!t.length)return{result:"",checksum:0};var o=void 0,i=void 0;if(t[0]>=200){i=t.shift()-105;var a=u.SWAP[i];voi` &&
|
||||
`d 0!==a?o=e.next(t,n+1,a):(r!==u.SET_A&&r!==u.SET_B||i!==u.SHIFT||(t[0]=r===u.SET_A?t[0]>95?t[0]-96:t[0]:t[0]<32?t[0]+96:t[0]),o=e.next(t,n+1,r))}else i=e.correctIndex(t,r),o=e.next(t,n+1,r);var s=i*n;return{result:e.getBar(i)+o.result,checksum:s+o` &&
|
||||
`.checksum}}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnPr` &&
|
||||
`operty.call(n,r)&&(t[r]=n[r])}return t};e.default=function(t,e){return r({},t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=["width","height","textMargin","fontSize","margin","marginT` &&
|
||||
`op","marginBottom","marginLeft","marginRight"];for(var n in e)e.hasOwnProperty(n)&&(n=e[n],"string"==typeof t[n]&&(t[n]=parseInt(t[n],10)));"string"==typeof t.displayValue&&(t.displayValue="false"!=t.displayValue);return t}},function(t,e,n){"use st` &&
|
||||
`rict";Object.defineProperty(e,"__esModule",{value:!0});var r={width:2,height:100,format:"auto",displayValue:!0,fontOptions:"",font:"monospace",text:void 0,textAlign:"center",textPosition:"bottom",textMargin:2,fontSize:20,background:"#ffffff",lineCo` &&
|
||||
`lor:"#000000",margin:10,marginTop:void 0,marginBottom:void 0,marginLeft:void 0,marginRight:void 0,valid:function(){}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTotalWidthOfEncodings=e.calculateE` &&
|
||||
`ncodingAttributes=e.getBarcodePadding=e.getEncodingHeight=e.getMaximumHeightOfEncodings=void 0;var r,o=n(2),i=(r=o)&&r.__esModule?r:{default:r};function a(t,e){return e.height+(e.displayValue&&t.text.length>0?e.fontSize+e.textMargin:0)+e.marginTop+` &&
|
||||
`e.marginBottom}function u(t,e,n){if(n.displayValue&&e<t){if("center"==n.textAlign)return Math.floor((t-e)/2);if("left"==n.textAlign)return 0;if("right"==n.textAlign)return Math.floor(t-e)}return 0}function s(t,e,n){var r;if(n)r=n;else{if("undefined` &&
|
||||
`"==typeof document)return 0;r=document.createElement("canvas").getContext("2d")}r.font=e.fontOptions+" "+e.fontSize+"px "+e.font;var o=r.measureText(t);return o?o.width:0}e.getMaximumHeightOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)t[n]` &&
|
||||
`.height>e&&(e=t[n].height);return e},e.getEncodingHeight=a,e.getBarcodePadding=u,e.calculateEncodingAttributes=function(t,e,n){for(var r=0;r<t.length;r++){var o,f=t[r],c=(0,i.default)(e,f.options);o=c.displayValue?s(f.text,c,n):0;var l=f.data.lengt` &&
|
||||
`h*c.width;f.width=Math.ceil(Math.max(o,l)),f.height=a(f,c),f.barcodePadding=u(o,l,c)}},e.getTotalWidthOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)e+=t[n].width;return e}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))` &&
|
||||
`throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function` &&
|
||||
`"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Obj` &&
|
||||
`ect.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(t,n){r(this,e);var i=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return i.name="InvalidInputException",i.symbology=t` &&
|
||||
`,i.input=n,i.message='"'+i.input+'" is not a valid input for '+i.symbology,i}return i(e,Error),e}(),u=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="InvalidElementException",t.mess` &&
|
||||
`age="Not supported type to render on",t}return i(e,Error),e}(),s=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="NoElementException",t.message="No element to render on.",t}return i(` &&
|
||||
`e,Error),e}();e.InvalidInputException=a,e.InvalidElementException=u,e.NoElementException=s},function(t,e,n){"use strict";var r=d(n(8)),o=d(n(2)),i=d(n(16)),a=d(n(17)),u=d(n(18)),s=d(n(3)),f=d(n(24)),c=n(6),l=d(n(4));function d(t){return t&&t.__esMo` &&
|
||||
`dule?t:{default:t}}var p=function(){},h=function(t,e,n){var r=new p;if(void 0===t)throw Error("No element to render on was provided.");return r._renderProperties=(0,u.default)(t),r._encodings=[],r._options=l.default,r._errorHandler=new f.default(r)` &&
|
||||
`,void 0!==e&&((n=n||{}).format||(n.format=b()),r.options(n)[n.format](e,n).render()),r};for(var v in h.getModule=function(t){return r.default[t]},r.default)r.default.hasOwnProperty(v)&&g(r.default,v);function g(t,e){p.prototype[e]=p.prototype[e.toU` &&
|
||||
`pperCase()]=p.prototype[e.toLowerCase()]=function(n,r){var i=this;return i._errorHandler.wrapBarcodeCall((function(){r.text=void 0===r.text?void 0:""+r.text;var a=(0,o.default)(i._options,r);a=(0,s.default)(a);var u=t[e],f=y(n,u,a);return i._encodi` &&
|
||||
`ngs.push(f),i}))}}function y(t,e,n){var r=new e(t=""+t,n);if(!r.valid())throw new c.InvalidInputException(r.constructor.name,t);var a=r.encode();a=(0,i.default)(a);for(var u=0;u<a.length;u++)a[u].options=(0,o.default)(n,a[u].options);return a}funct` &&
|
||||
`ion b(){return r.default.CODE128?"CODE128":Object.keys(r.default)[0]}function _(t,e,n){e=(0,i.default)(e);for(var r=0;r<e.length;r++)e[r].options=(0,o.default)(n,e[r].options),(0,a.default)(e[r].options);(0,a.default)(n),new(0,t.renderer)(t.element` &&
|
||||
`,e,n).render(),t.afterRender&&t.afterRender()}p.prototype.options=function(t){return this._options=(0,o.default)(this._options,t),this},p.prototype.blank=function(t){var e=new Array(t+1).join("0");return this._encodings.push({data:e}),this},p.proto` &&
|
||||
`type.init=function(){var t;if(this._renderProperties)for(var e in Array.isArray(this._renderProperties)||(this._renderProperties=[this._renderProperties]),this._renderProperties){t=this._renderProperties[e];var n=(0,o.default)(this._options,t.optio` &&
|
||||
`ns);"auto"==n.format&&(n.format=b()),this._errorHandler.wrapBarcodeCall((function(){var e=y(n.value,r.default[n.format.toUpperCase()],n);_(t,e,n)}))}},p.prototype.render=function(){if(!this._renderProperties)throw new c.NoElementException;if(Array.` &&
|
||||
`isArray(this._renderProperties))for(var t=0;t<this._renderProperties.length;t++)_(this._renderProperties[t],this._encodings,this._options);else _(this._renderProperties,this._encodings,this._options);return this},p.prototype._defaults=l.default,"un` &&
|
||||
`defined"!=typeof window&&(window.JsBarcode=h),"undefined"!=typeof jQuery&&(jQuery.fn.JsBarcode=function(t,e){var n=[];return jQuery(this).each((function(){n.push(this)})),h(n,t,e)}),t.exports=h},function(t,e,n){"use strict";Object.defineProperty(e,` &&
|
||||
`"__esModule",{value:!0});var r=n(9);e.default={CODE128:r.CODE128,CODE128A:r.CODE128A,CODE128B:r.CODE128B,CODE128C:r.CODE128C}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CODE128C=e.CODE128B=e.CODE128A=e.CODE128=` &&
|
||||
`void 0;var r=u(n(10)),o=u(n(13)),i=u(n(14)),a=u(n(15));function u(t){return t&&t.__esModule?t:{default:t}}e.CODE128=r.default,e.CODE128A=o.default,e.CODE128B=i.default,e.CODE128C=a.default},function(t,e,n){"use strict";Object.defineProperty(e,"__es` &&
|
||||
`Module",{value:!0});var r=i(n(1)),o=i(n(12));function i(t){return t&&t.__esModule?t:{default:t}}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=ty` &&
|
||||
`peof e?t:e}var u=function(t){function e(t,n){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),/^[\x00-\x7F\xC8-\xD3]+$/.test(t))var r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,(0` &&
|
||||
`,o.default)(t),n));else r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));return a(r)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.p` &&
|
||||
`rototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(r.default);e.default=u},function(t,e,n){"use strict";Object.define` &&
|
||||
`Property(e,"__esModule",{value:!0});e.default=function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.text=n.text||e,this.options=n}},function(t,e,n){"use strict";Object` &&
|
||||
`.defineProperty(e,"__esModule",{value:!0});var r=n(0),o=function(t){return t.match(new RegExp("^"+r.A_CHARS+"*"))[0].length},i=function(t){return t.match(new RegExp("^"+r.B_CHARS+"*"))[0].length},a=function(t){return t.match(new RegExp("^"+r.C_CHAR` &&
|
||||
`S+"*"))[0]};function u(t,e){var n=e?r.A_CHARS:r.B_CHARS,o=t.match(new RegExp("^("+n+"+?)(([0-9]{2}){2,})([^0-9]|$)"));if(o)return o[1]+String.fromCharCode(204)+s(t.substring(o[1].length));var i=t.match(new RegExp("^"+n+"+"))[0];return i.length===t.` &&
|
||||
`length?t:i+String.fromCharCode(e?205:206)+u(t.substring(i.length),!e)}function s(t){var e=a(t),n=e.length;if(n===t.length)return t;t=t.substring(n);var r=o(t)>=i(t);return e+String.fromCharCode(r?206:205)+u(t,r)}e.default=function(t){var e=void 0;i` &&
|
||||
`f(a(t).length>=2)e=r.C_START_CHAR+s(t);else{var n=o(t)>i(t);e=(n?r.A_START_CHAR:r.B_START_CHAR)+u(t,n)}return e.replace(/[\xCD\xCE]([^])[\xCD\xCE]/,(function(t,e){return String.fromCharCode(203)+e}))}},function(t,e,n){"use strict";Object.defineProp` &&
|
||||
`erty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n` &&
|
||||
`&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)t` &&
|
||||
`hrow new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.A_START_CHAR+t,n))}return function(t,e){if("functi` &&
|
||||
`on"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?O` &&
|
||||
`bject.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.A_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var` &&
|
||||
` r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),` &&
|
||||
`i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn'` &&
|
||||
`t been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.B_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new T` &&
|
||||
`ypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto` &&
|
||||
`__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.B_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for` &&
|
||||
`(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{def` &&
|
||||
`ault:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't` &&
|
||||
` been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.C_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must eit` &&
|
||||
`her be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value` &&
|
||||
`:function(){return new RegExp("^"+u.C_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=[];return function t(n){if(Array.isArray(n))f` &&
|
||||
`or(var r=0;r<n.length;r++)t(n[r]);else n.text=n.text||"",n.data=n.data||"",e.push(n)}(t),e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t.marginTop=t.marginTop||t.margin,t.marginBottom` &&
|
||||
`=t.marginBottom||t.margin,t.marginRight=t.marginRight||t.margin,t.marginLeft=t.marginLeft||t.margin,t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?` &&
|
||||
`function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=u(n(19)),i=u(n(20)),a=n(6);function u(t){return t&&t.__esModule?t:{default:t}}function s(t){if("string"=` &&
|
||||
`=typeof t)return function(t){var e=document.querySelectorAll(t);if(0===e.length)return;for(var n=[],r=0;r<e.length;r++)n.push(s(e[r]));return n}(t);if(Array.isArray(t)){for(var e=[],n=0;n<t.length;n++)e.push(s(t[n]));return e}if("undefined"!=typeof` &&
|
||||
` HTMLCanvasElement&&t instanceof HTMLImageElement)return u=t,{element:f=document.createElement("canvas"),options:(0,o.default)(u),renderer:i.default.CanvasRenderer,afterRender:function(){u.setAttribute("src",f.toDataURL())}};if(t&&t.nodeName&&"svg"` &&
|
||||
`===t.nodeName.toLowerCase()||"undefined"!=typeof SVGElement&&t instanceof SVGElement)return{element:t,options:(0,o.default)(t),renderer:i.default.SVGRenderer};if("undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement)return{element:t` &&
|
||||
`,options:(0,o.default)(t),renderer:i.default.CanvasRenderer};if(t&&t.getContext)return{element:t,renderer:i.default.CanvasRenderer};if(t&&"object"===(void 0===t?"undefined":r(t))&&!t.nodeName)return{element:t,renderer:i.default.ObjectRenderer};thro` &&
|
||||
`w new a.InvalidElementException;var u,f}e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(n(3)),o=i(n(4));function i(t){return t&&t.__esModule?t:{default:t}}e.default=function(t){var e={};for(var n i` &&
|
||||
`n o.default)o.default.hasOwnProperty(n)&&(t.hasAttribute("jsbarcode-"+n.toLowerCase())&&(e[n]=t.getAttribute("jsbarcode-"+n.toLowerCase())),t.hasAttribute("data-"+n.toLowerCase())&&(e[n]=t.getAttribute("data-"+n.toLowerCase())));return e.value=t.ge` &&
|
||||
`tAttribute("jsbarcode-value")||t.getAttribute("data-value"),e=(0,r.default)(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(21)),o=a(n(22)),i=a(n(23));function a(t){return t&&t.__esModule?t:{default:t}}e` &&
|
||||
`.default={CanvasRenderer:r.default,SVGRenderer:o.default,ObjectRenderer:i.default}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable` &&
|
||||
`=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s=function(){function t(e,n,r` &&
|
||||
`){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.canvas=e,this.encodings=n,this.options=r}return o(t,[{key:"render",value:function(){if(!this.canvas.getContext)throw new Error("The browser` &&
|
||||
` does not support canvas.");this.prepareCanvas();for(var t=0;t<this.encodings.length;t++){var e=(0,a.default)(this.options,this.encodings[t].options);this.drawCanvasBarcode(e,this.encodings[t]),this.drawCanvasText(e,this.encodings[t]),this.moveCanv` &&
|
||||
`asDrawing(this.encodings[t])}this.restoreCanvas()}},{key:"prepareCanvas",value:function(){var t=this.canvas.getContext("2d");t.save(),(0,u.calculateEncodingAttributes)(this.encodings,this.options,t);var e=(0,u.getTotalWidthOfEncodings)(this.encodin` &&
|
||||
`gs),n=(0,u.getMaximumHeightOfEncodings)(this.encodings);this.canvas.width=e+this.options.marginLeft+this.options.marginRight,this.canvas.height=n,t.clearRect(0,0,this.canvas.width,this.canvas.height),this.options.background&&(t.fillStyle=this.optio` &&
|
||||
`ns.background,t.fillRect(0,0,this.canvas.width,this.canvas.height)),t.translate(this.options.marginLeft,0)}},{key:"drawCanvasBarcode",value:function(t,e){var n,r=this.canvas.getContext("2d"),o=e.data;n="top"==t.textPosition?t.marginTop+t.fontSize+t` &&
|
||||
`.textMargin:t.marginTop,r.fillStyle=t.lineColor;for(var i=0;i<o.length;i++){var a=i*t.width+e.barcodePadding;"1"===o[i]?r.fillRect(a,n,t.width,t.height):o[i]&&r.fillRect(a,n,t.width,t.height*o[i])}}},{key:"drawCanvasText",value:function(t,e){var n,` &&
|
||||
`r,o=this.canvas.getContext("2d"),i=t.fontOptions+" "+t.fontSize+"px "+t.font;t.displayValue&&(r="top"==t.textPosition?t.marginTop+t.fontSize-t.textMargin:t.height+t.textMargin+t.marginTop+t.fontSize,o.font=i,"left"==t.textAlign||e.barcodePadding>0?` &&
|
||||
`(n=0,o.textAlign="left"):"right"==t.textAlign?(n=e.width-1,o.textAlign="right"):(n=e.width/2,o.textAlign="center"),o.fillText(e.text,n,r))}},{key:"moveCanvasDrawing",value:function(t){this.canvas.getContext("2d").translate(t.width,0)}},{key:"restor` &&
|
||||
`eCanvas",value:function(){this.canvas.getContext("2d").restore()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumera` &&
|
||||
`ble=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s="http://www.w3.org/2000/` &&
|
||||
`svg",f=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.svg=e,this.encodings=n,this.options=r,this.document=r.xmlDocument||document}return o(t,[{key:"render",val` &&
|
||||
`ue:function(){var t=this.options.marginLeft;this.prepareSVG();for(var e=0;e<this.encodings.length;e++){var n=this.encodings[e],r=(0,a.default)(this.options,n.options),o=this.createGroup(t,r.marginTop,this.svg);this.setGroupOptions(o,r),this.drawSvg` &&
|
||||
`Barcode(o,r,n),this.drawSVGText(o,r,n),t+=n.width}}},{key:"prepareSVG",value:function(){for(;this.svg.firstChild;)this.svg.removeChild(this.svg.firstChild);(0,u.calculateEncodingAttributes)(this.encodings,this.options);var t=(0,u.getTotalWidthOfEnc` &&
|
||||
`odings)(this.encodings),e=(0,u.getMaximumHeightOfEncodings)(this.encodings),n=t+this.options.marginLeft+this.options.marginRight;this.setSvgAttributes(n,e),this.options.background&&this.drawRect(0,0,n,e,this.svg).setAttribute("style","fill:"+this.o` &&
|
||||
`ptions.background+";")}},{key:"drawSvgBarcode",value:function(t,e,n){var r,o=n.data;r="top"==e.textPosition?e.fontSize+e.textMargin:0;for(var i=0,a=0,u=0;u<o.length;u++)a=u*e.width+n.barcodePadding,"1"===o[u]?i++:i>0&&(this.drawRect(a-e.width*i,r,e` &&
|
||||
`.width*i,e.height,t),i=0);i>0&&this.drawRect(a-e.width*(i-1),r,e.width*i,e.height,t)}},{key:"drawSVGText",value:function(t,e,n){var r,o,i=this.document.createElementNS(s,"text");e.displayValue&&(i.setAttribute("style","font:"+e.fontOptions+" "+e.fo` &&
|
||||
`ntSize+"px "+e.font),o="top"==e.textPosition?e.fontSize-e.textMargin:e.height+e.textMargin+e.fontSize,"left"==e.textAlign||n.barcodePadding>0?(r=0,i.setAttribute("text-anchor","start")):"right"==e.textAlign?(r=n.width-1,i.setAttribute("text-anchor"` &&
|
||||
`,"end")):(r=n.width/2,i.setAttribute("text-anchor","middle")),i.setAttribute("x",r),i.setAttribute("y",o),i.appendChild(this.document.createTextNode(n.text)),t.appendChild(i))}},{key:"setSvgAttributes",value:function(t,e){var n=this.svg;n.setAttrib` &&
|
||||
`ute("width",t+"px"),n.setAttribute("height",e+"px"),n.setAttribute("x","0px"),n.setAttribute("y","0px"),n.setAttribute("viewBox","0 0 "+t+" "+e),n.setAttribute("xmlns",s),n.setAttribute("version","1.1"),n.setAttribute("style","transform: translate(` &&
|
||||
`0,0)")}},{key:"createGroup",value:function(t,e,n){var r=this.document.createElementNS(s,"g");return r.setAttribute("transform","translate("+t+", "+e+")"),n.appendChild(r),r}},{key:"setGroupOptions",value:function(t,e){t.setAttribute("style","fill:"` &&
|
||||
`+e.lineColor+";")}},{key:"drawRect",value:function(t,e,n,r,o){var i=this.document.createElementNS(s,"rect");return i.setAttribute("x",t),i.setAttribute("y",e),i.setAttribute("width",n),i.setAttribute("height",r),o.appendChild(i),i}}]),t}();e.defaul` &&
|
||||
`t=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.definePro` &&
|
||||
`perty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.object=e,this.encoding` &&
|
||||
`s=n,this.options=r}return r(t,[{key:"render",value:function(){this.object.encodings=this.encodings}}]),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.` &&
|
||||
`length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e){!function(t,e){if` &&
|
||||
`(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.api=e}return r(t,[{key:"handleCatch",value:function(t){if("InvalidInputException"!==t.name)throw t;if(this.api._options.valid===this.api._defaults.valid)throw` &&
|
||||
` t.message;this.api._options.valid(!1),this.api.render=function(){}}},{key:"wrapBarcodeCall",value:function(t){try{var e=t.apply(void 0,arguments);return this.api._options.valid(!0),e}catch(t){return this.handleCatch(t),this.api}}}]),t}();e.default` &&
|
||||
`=o}]);`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_37</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>extension - custom control</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,157 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_38 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_msg,
|
||||
type TYPE string,
|
||||
title TYPE string,
|
||||
subtitle TYPE string,
|
||||
description TYPE string,
|
||||
group TYPE string,
|
||||
END OF ty_msg.
|
||||
|
||||
DATA t_msg TYPE STANDARD TABLE OF ty_msg WITH EMPTY KEY.
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_38 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
t_msg = VALUE #(
|
||||
( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Error' group = 'group 01' )
|
||||
( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Information' group = 'group 01' )
|
||||
( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Information' group = 'group 02' )
|
||||
( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Success' group = 'group 03' ) ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE client->get( )-event.
|
||||
WHEN 'POPUP'.
|
||||
app-view_popup = 'POPUP'.
|
||||
WHEN 'POPOVER'.
|
||||
app-view_popup = 'POPOVER'.
|
||||
app-next-popover_open_by_id = 'test'.
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - List'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Demo' target = '_blank'
|
||||
href = `https://twitter.com/OblomovDev/status/1647246029828268032`
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
page->button( text = 'Messages' press = client->_event( 'POPUP' ) ).
|
||||
page->message_view(
|
||||
items = client->_bind( t_msg )
|
||||
groupitems = abap_true
|
||||
)->message_item(
|
||||
type = `{TYPE}`
|
||||
title = `{TITLE}`
|
||||
subtitle = `{SUBTITLE}`
|
||||
description = `{DESCRIPTION}`
|
||||
groupname = `{GROUP}` ).
|
||||
|
||||
page->footer( )->overflow_toolbar(
|
||||
)->button(
|
||||
id = 'test'
|
||||
text = 'Messages (6)'
|
||||
press = client->_event( 'POPOVER' )
|
||||
type = 'Emphasized'
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'Send to Server'
|
||||
press = client->_event( 'BUTTON_SEND' )
|
||||
type = 'Success' ).
|
||||
|
||||
app-next-xml_main = page->get_root( )->xml_get( ).
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||
CASE app-view_popup.
|
||||
|
||||
WHEN 'POPOVER'.
|
||||
|
||||
popup = popup->popover(
|
||||
placement = `Top`
|
||||
title = `Messages`
|
||||
contentheight = '50%'
|
||||
contentwidth = '50%' ).
|
||||
|
||||
popup->message_view(
|
||||
items = client->_bind( t_msg )
|
||||
groupitems = abap_true
|
||||
)->message_item(
|
||||
type = `{TYPE}`
|
||||
title = `{TITLE}`
|
||||
subtitle = `{SUBTITLE}`
|
||||
description = `{DESCRIPTION}`
|
||||
groupname = `{GROUP}` ).
|
||||
|
||||
WHEN 'POPUP'.
|
||||
|
||||
popup = popup->dialog(
|
||||
title = `Messages`
|
||||
contentheight = '50%'
|
||||
contentwidth = '50%' ).
|
||||
|
||||
popup->message_view(
|
||||
items = client->_bind( t_msg )
|
||||
groupitems = abap_true
|
||||
)->message_item(
|
||||
type = `{TYPE}`
|
||||
title = `{TITLE}`
|
||||
subtitle = `{SUBTITLE}`
|
||||
description = `{DESCRIPTION}`
|
||||
groupname = `{GROUP}` ).
|
||||
|
||||
popup->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'close'
|
||||
press = client->_event_close_popup( ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
app-next-xml_popup = popup->get_root( )->xml_get( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_38</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>messages - message manager</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,208 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_39 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_value TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render_main.
|
||||
METHODS z2ui5_on_render_popup.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_39 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
app-get = client->get( ).
|
||||
me->client = client.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render_main( ).
|
||||
z2ui5_on_render_popup( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
WHEN 'POPUP'.
|
||||
client->popup_message_box( 'Event raised value:' && mv_value ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
mv_value = '200'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_main.
|
||||
|
||||
app-next-xml_main = `<mvc:View controllerName="sap.m.sample.GenericTileAsLaunchTile.Page"` && |\n| &&
|
||||
`xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc"` && |\n| &&
|
||||
` xmlns:form="sap.ui.layout.form">` && |\n| &&
|
||||
` <form:SimpleForm editable="true" width="40rem">` && |\n| &&
|
||||
` <Label text="Loading time" />` && |\n| &&
|
||||
` <Input id="loadingMinSeconds" width="8rem" type="Number" description="seconds" value="-1"/>` && |\n| &&
|
||||
` <Button text="Start loading" type="Emphasized" press="onFormSubmit"/>` && |\n| &&
|
||||
` </form:SimpleForm> ` && |\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Country-Specific Profit Margin" press="onPress"` && |\n| &&
|
||||
` frameType="OneByHalf" subheader="Subtitle">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/SAPLogoLargeTile_28px_height.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title"` && |\n| &&
|
||||
` subheader="Subtitle" press="press" frameType= "TwoByHalf">` && |\n| &&
|
||||
` <TileContent />` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Manage Activity Master Data Type"` && |\n| &&
|
||||
` subheader="Subtitle" press="press" frameType= "TwoByHalf">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` <ImageContent src="sap-icon://home-share" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Right click to open in new tab"` && |\n| &&
|
||||
` subheader="Link tile" press="press" url="https://www.sap.com/">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/SAPLogoLargeTile_28px_height.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title"` && |\n| &&
|
||||
` subheader="Subtitle" press="press">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` <ImageContent src="sap-icon://home-share" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Manage Activity Master Data Type"` && |\n| &&
|
||||
` subheader="Subtitle" press="press">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/SAPLogoLargeTile_28px_height.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Manage Activity Master Data Type With a Long Title Without an Icon"` && |\n| &&
|
||||
` subheader="Subtitle Launch Tile" mode="HeaderMode" press="press">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter" />` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Jessica D. Prince Senior Consultant"` && |\n| &&
|
||||
` subheader="Department" press="press" appShortcut = "shortcut" systemInfo = "systeminfo">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/ProfileImage_LargeGenTile.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title"` && |\n| &&
|
||||
` press="press" frameType= "OneByHalf">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Sales Fulfillment Application Title"` && |\n| &&
|
||||
` press="press" frameType= "TwoByHalf">` && |\n| &&
|
||||
` <TileContent unit="EUR" footer="Current Quarter">` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
|\n| &&
|
||||
` <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Jessica D. Prince Senior Consultant"` && |\n| &&
|
||||
` subheader="Department" press="press" frameType="TwoByHalf">` && |\n| &&
|
||||
` <TileContent>` && |\n| &&
|
||||
` <ImageContent src="test-resources/sap/m/demokit/sample/GenericTileAsLaunchTile/images/ProfileImage_LargeGenTile.png" />` && |\n| &&
|
||||
` </TileContent>` && |\n| &&
|
||||
` </GenericTile>` && |\n| &&
|
||||
`</mvc:View>`.
|
||||
|
||||
app-next-xml_main = z2ui5_cl_xml_view=>hlp_replace_controller_name( app-next-xml_main ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render_popup.
|
||||
|
||||
app-next-xml_popup = `<core:FragmentDefinition` && |\n| &&
|
||||
` xmlns="sap.m"` && |\n| &&
|
||||
` xmlns:core="sap.ui.core">` && |\n| &&
|
||||
` <ViewSettingsDialog` && |\n| &&
|
||||
` confirm="handleConfirm">` && |\n| &&
|
||||
` <sortItems>` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 1" key="1" selected="true" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 2" key="2" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 3" key="3" />` && |\n| &&
|
||||
` </sortItems>` && |\n| &&
|
||||
` <groupItems>` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 1" key="1" selected="true" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 2" key="2" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Field 3" key="3" />` && |\n| &&
|
||||
` </groupItems>` && |\n| &&
|
||||
` <filterItems>` && |\n| &&
|
||||
` <ViewSettingsFilterItem text="Field1" key="1">` && |\n| &&
|
||||
` <items>` && |\n| &&
|
||||
` <ViewSettingsItem text="Value A" key="1a" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value B" key="1b" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value C" key="1c" />` && |\n| &&
|
||||
` </items>` && |\n| &&
|
||||
` </ViewSettingsFilterItem>` && |\n| &&
|
||||
` <ViewSettingsFilterItem text="Field2" key="2">` && |\n| &&
|
||||
` <items>` && |\n| &&
|
||||
` <ViewSettingsItem text="Value A" key="2a" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value B" key="2b" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value C" key="2c" />` && |\n| &&
|
||||
` </items>` && |\n| &&
|
||||
` </ViewSettingsFilterItem>` && |\n| &&
|
||||
` <ViewSettingsFilterItem text="Field3" key="3">` && |\n| &&
|
||||
` <items>` && |\n| &&
|
||||
` <ViewSettingsItem text="Value A" key="3a" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value B" key="3b" />` && |\n| &&
|
||||
` <ViewSettingsItem text="Value C" key="3c" />` && |\n| &&
|
||||
` </items>` && |\n| &&
|
||||
` </ViewSettingsFilterItem>` && |\n| &&
|
||||
` </filterItems>` && |\n| &&
|
||||
` </ViewSettingsDialog>` && |\n| &&
|
||||
`</core:FragmentDefinition>`.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_39</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>extension - import xml view 2</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,105 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_40 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA mv_barcode TYPE string.
|
||||
DATA mv_load_lib TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_40 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'LOAD_BC'.
|
||||
client->popup_message_box( 'JSBarcode Library loaded').
|
||||
mv_load_lib = abap_true.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
app-next-xml_main = `<mvc:View controllerName="project1.controller.View1"` && |\n| &&
|
||||
` xmlns:mvc="sap.ui.core.mvc" displayBlock="true"` && |\n| &&
|
||||
` xmlns:z2ui5="z2ui5" xmlns:m="sap.m" xmlns="http://www.w3.org/1999/xhtml"` && |\n| &&
|
||||
` ><m:Button ` && |\n| &&
|
||||
` text="back" ` && |\n| &&
|
||||
` press="` && client->_event( 'BACK' ) && `" ` && |\n| &&
|
||||
` class="sapUiContentPadding sapUiResponsivePadding--content"/> ` && |\n| &&
|
||||
` <m:Link target="_blank" text="Source_Code" href="` && z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) ) && `"/>` && |\n| &&
|
||||
|
||||
`<html><head>` && |\n| &&
|
||||
`</head>` && |\n| &&
|
||||
`<body>` && |\n| &&
|
||||
`<m:Button text="LoadJSBarcode" press="` && client->_event( 'LOAD_BC' ) && `" />` && |\n| &&
|
||||
`<m:Input value="` && client->_bind( mv_barcode ) && `" />` && |\n| &&
|
||||
`<m:Button text="Display Barcode" press="` && client->_event( 'DISPLAY_BC' ) && `" />` && |\n| &&
|
||||
`<h1>JSBarcode Library</h1>` && |\n| &&
|
||||
` <svg class="barcode"` && |\n| &&
|
||||
` jsbarcode-format="upc"` && |\n| &&
|
||||
` jsbarcode-value="` && mv_barcode && `"` && |\n| &&
|
||||
` jsbarcode-textmargin="0"` && |\n| &&
|
||||
` jsbarcode-fontoptions="bold">` && |\n| &&
|
||||
`</svg>` && |\n|.
|
||||
IF mv_load_lib = abap_true.
|
||||
mv_load_lib = abap_false.
|
||||
app-next-xml_main = app-next-xml_main && `<script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/JsBarcode.all.min.js"> </script>`.
|
||||
ENDIF.
|
||||
|
||||
app-next-xml_main = app-next-xml_main && `<script> JsBarcode(".barcode").init(); </script>` &&
|
||||
`</body>` && |\n| &&
|
||||
`</html> ` && |\n| &&
|
||||
`</mvc:View>`.
|
||||
|
||||
app-next-xml_main = z2ui5_cl_xml_view=>hlp_replace_controller_name( app-next-xml_main ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,136 +0,0 @@
|
|||
*"* use this source file for the definition and implementation of
|
||||
*"* local helper classes, interface definitions and type
|
||||
*"* declarations
|
||||
class lcl_repository DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-METHODS get_js_barcode_lib
|
||||
returning
|
||||
value(result) type string.
|
||||
|
||||
|
||||
endclass.
|
||||
|
||||
CLASS lcl_repository IMPLEMENTATION.
|
||||
|
||||
METHOD get_js_barcode_lib.
|
||||
|
||||
result = `` && |\n| &&
|
||||
`!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable` &&
|
||||
`:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"obj` &&
|
||||
`ect"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){` &&
|
||||
`var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}([function(t,e,n){"use strict";var r;function o(t,e,n){return e in t?` &&
|
||||
`Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var i=e.SET_A=0,a=e.SET_B=1,u=e.SET_C=2,s=(e.SHIFT=98,e.START_A=103),f=e.START_B=104,c=e.START_C=105;e.MODULO=1` &&
|
||||
`03,e.STOP=106,e.FNC1=207,e.SET_BY_CODE=(o(r={},s,i),o(r,f,a),o(r,c,u),r),e.SWAP={101:i,100:a,99:u},e.A_START_CHAR=String.fromCharCode(208),e.B_START_CHAR=String.fromCharCode(209),e.C_START_CHAR=String.fromCharCode(210),e.A_CHARS="[\0-_È-Ï]",e.B_CHA` &&
|
||||
`RS="[ -È-Ï]",e.C_CHARS="(Ï*[0-9]{2}Ï*)",e.BARS=[11011001100,11001101100,11001100110,10010011e3,10010001100,10001001100,10011001e3,10011000100,10001100100,11001001e3,11001000100,11000100100,10110011100,10011011100,10011001110,10111001100,1001110110` &&
|
||||
`0,10011100110,11001110010,11001011100,11001001110,11011100100,11001110100,11101101110,11101001100,11100101100,11100100110,11101100100,11100110100,11100110010,11011011e3,11011000110,11000110110,10100011e3,10001011e3,10001000110,10110001e3,10001101e3` &&
|
||||
`,10001100010,11010001e3,11000101e3,11000100010,10110111e3,10110001110,10001101110,10111011e3,10111000110,10001110110,11101110110,11010001110,11000101110,11011101e3,11011100010,11011101110,11101011e3,11101000110,11100010110,11101101e3,11101100010,11` &&
|
||||
`100011010,11101111010,11001000010,11110001010,1010011e4,10100001100,1001011e4,10010000110,10000101100,10000100110,1011001e4,10110000100,1001101e4,10011000010,10000110100,10000110010,11000010010,1100101e4,11110111010,11000010100,10001111010,10100111` &&
|
||||
`100,10010111100,10010011110,10111100100,10011110100,10011110010,11110100100,11110010100,11110010010,11011011110,11011110110,11110110110,10101111e3,10100011110,10001011110,10111101e3,10111100010,11110101e3,11110100010,10111011110,10111101110,1110101` &&
|
||||
`1110,11110101110,11010000100,1101001e4,11010011100,1100011101011]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1` &&
|
||||
`,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(11),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){!function(t,e){` &&
|
||||
`if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof ` &&
|
||||
`e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t.substring(1),n));return r.bytes=t.split("").map((function(t){return t.charCodeAt(0)})),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression mu` &&
|
||||
`st either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid"` &&
|
||||
`,value:function(){return/^[\x00-\x7F\xC8-\xD3]+$/.test(this.data)}},{key:"encode",value:function(){var t=this.bytes,n=t.shift()-105,r=u.SET_BY_CODE[n];if(void 0===r)throw new RangeError("The encoding does not start with a start character.");!0===th` &&
|
||||
`is.shouldEncodeAsEan128()&&t.unshift(u.FNC1);var o=e.next(t,1,r);return{text:this.text===this.data?this.text.replace(/[^\x20-\x7E]/g,""):this.text,data:e.getBar(n)+o.result+e.getBar((o.checksum+n)%u.MODULO)+e.getBar(u.STOP)}}},{key:"shouldEncodeAsE` &&
|
||||
`an128",value:function(){var t=this.options.ean128||!1;return"string"==typeof t&&(t="true"===t.toLowerCase()),t}}],[{key:"getBar",value:function(t){return u.BARS[t]?u.BARS[t].toString():""}},{key:"correctIndex",value:function(t,e){if(e===u.SET_A){va` &&
|
||||
`r n=t.shift();return n<32?n+64:n-32}return e===u.SET_B?t.shift()-32:10*(t.shift()-48)+t.shift()-48}},{key:"next",value:function(t,n,r){if(!t.length)return{result:"",checksum:0};var o=void 0,i=void 0;if(t[0]>=200){i=t.shift()-105;var a=u.SWAP[i];voi` &&
|
||||
`d 0!==a?o=e.next(t,n+1,a):(r!==u.SET_A&&r!==u.SET_B||i!==u.SHIFT||(t[0]=r===u.SET_A?t[0]>95?t[0]-96:t[0]:t[0]<32?t[0]+96:t[0]),o=e.next(t,n+1,r))}else i=e.correctIndex(t,r),o=e.next(t,n+1,r);var s=i*n;return{result:e.getBar(i)+o.result,checksum:s+o` &&
|
||||
`.checksum}}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnPr` &&
|
||||
`operty.call(n,r)&&(t[r]=n[r])}return t};e.default=function(t,e){return r({},t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=["width","height","textMargin","fontSize","margin","marginT` &&
|
||||
`op","marginBottom","marginLeft","marginRight"];for(var n in e)e.hasOwnProperty(n)&&(n=e[n],"string"==typeof t[n]&&(t[n]=parseInt(t[n],10)));"string"==typeof t.displayValue&&(t.displayValue="false"!=t.displayValue);return t}},function(t,e,n){"use st` &&
|
||||
`rict";Object.defineProperty(e,"__esModule",{value:!0});var r={width:2,height:100,format:"auto",displayValue:!0,fontOptions:"",font:"monospace",text:void 0,textAlign:"center",textPosition:"bottom",textMargin:2,fontSize:20,background:"#ffffff",lineCo` &&
|
||||
`lor:"#000000",margin:10,marginTop:void 0,marginBottom:void 0,marginLeft:void 0,marginRight:void 0,valid:function(){}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTotalWidthOfEncodings=e.calculateE` &&
|
||||
`ncodingAttributes=e.getBarcodePadding=e.getEncodingHeight=e.getMaximumHeightOfEncodings=void 0;var r,o=n(2),i=(r=o)&&r.__esModule?r:{default:r};function a(t,e){return e.height+(e.displayValue&&t.text.length>0?e.fontSize+e.textMargin:0)+e.marginTop+` &&
|
||||
`e.marginBottom}function u(t,e,n){if(n.displayValue&&e<t){if("center"==n.textAlign)return Math.floor((t-e)/2);if("left"==n.textAlign)return 0;if("right"==n.textAlign)return Math.floor(t-e)}return 0}function s(t,e,n){var r;if(n)r=n;else{if("undefined` &&
|
||||
`"==typeof document)return 0;r=document.createElement("canvas").getContext("2d")}r.font=e.fontOptions+" "+e.fontSize+"px "+e.font;var o=r.measureText(t);return o?o.width:0}e.getMaximumHeightOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)t[n]` &&
|
||||
`.height>e&&(e=t[n].height);return e},e.getEncodingHeight=a,e.getBarcodePadding=u,e.calculateEncodingAttributes=function(t,e,n){for(var r=0;r<t.length;r++){var o,f=t[r],c=(0,i.default)(e,f.options);o=c.displayValue?s(f.text,c,n):0;var l=f.data.lengt` &&
|
||||
`h*c.width;f.width=Math.ceil(Math.max(o,l)),f.height=a(f,c),f.barcodePadding=u(o,l,c)}},e.getTotalWidthOfEncodings=function(t){for(var e=0,n=0;n<t.length;n++)e+=t[n].width;return e}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))` &&
|
||||
`throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function` &&
|
||||
`"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Obj` &&
|
||||
`ect.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(t,n){r(this,e);var i=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return i.name="InvalidInputException",i.symbology=t` &&
|
||||
`,i.input=n,i.message='"'+i.input+'" is not a valid input for '+i.symbology,i}return i(e,Error),e}(),u=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="InvalidElementException",t.mess` &&
|
||||
`age="Not supported type to render on",t}return i(e,Error),e}(),s=function(t){function e(){r(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.name="NoElementException",t.message="No element to render on.",t}return i(` &&
|
||||
`e,Error),e}();e.InvalidInputException=a,e.InvalidElementException=u,e.NoElementException=s},function(t,e,n){"use strict";var r=d(n(8)),o=d(n(2)),i=d(n(16)),a=d(n(17)),u=d(n(18)),s=d(n(3)),f=d(n(24)),c=n(6),l=d(n(4));function d(t){return t&&t.__esMo` &&
|
||||
`dule?t:{default:t}}var p=function(){},h=function(t,e,n){var r=new p;if(void 0===t)throw Error("No element to render on was provided.");return r._renderProperties=(0,u.default)(t),r._encodings=[],r._options=l.default,r._errorHandler=new f.default(r)` &&
|
||||
`,void 0!==e&&((n=n||{}).format||(n.format=b()),r.options(n)[n.format](e,n).render()),r};for(var v in h.getModule=function(t){return r.default[t]},r.default)r.default.hasOwnProperty(v)&&g(r.default,v);function g(t,e){p.prototype[e]=p.prototype[e.toU` &&
|
||||
`pperCase()]=p.prototype[e.toLowerCase()]=function(n,r){var i=this;return i._errorHandler.wrapBarcodeCall((function(){r.text=void 0===r.text?void 0:""+r.text;var a=(0,o.default)(i._options,r);a=(0,s.default)(a);var u=t[e],f=y(n,u,a);return i._encodi` &&
|
||||
`ngs.push(f),i}))}}function y(t,e,n){var r=new e(t=""+t,n);if(!r.valid())throw new c.InvalidInputException(r.constructor.name,t);var a=r.encode();a=(0,i.default)(a);for(var u=0;u<a.length;u++)a[u].options=(0,o.default)(n,a[u].options);return a}funct` &&
|
||||
`ion b(){return r.default.CODE128?"CODE128":Object.keys(r.default)[0]}function _(t,e,n){e=(0,i.default)(e);for(var r=0;r<e.length;r++)e[r].options=(0,o.default)(n,e[r].options),(0,a.default)(e[r].options);(0,a.default)(n),new(0,t.renderer)(t.element` &&
|
||||
`,e,n).render(),t.afterRender&&t.afterRender()}p.prototype.options=function(t){return this._options=(0,o.default)(this._options,t),this},p.prototype.blank=function(t){var e=new Array(t+1).join("0");return this._encodings.push({data:e}),this},p.proto` &&
|
||||
`type.init=function(){var t;if(this._renderProperties)for(var e in Array.isArray(this._renderProperties)||(this._renderProperties=[this._renderProperties]),this._renderProperties){t=this._renderProperties[e];var n=(0,o.default)(this._options,t.optio` &&
|
||||
`ns);"auto"==n.format&&(n.format=b()),this._errorHandler.wrapBarcodeCall((function(){var e=y(n.value,r.default[n.format.toUpperCase()],n);_(t,e,n)}))}},p.prototype.render=function(){if(!this._renderProperties)throw new c.NoElementException;if(Array.` &&
|
||||
`isArray(this._renderProperties))for(var t=0;t<this._renderProperties.length;t++)_(this._renderProperties[t],this._encodings,this._options);else _(this._renderProperties,this._encodings,this._options);return this},p.prototype._defaults=l.default,"un` &&
|
||||
`defined"!=typeof window&&(window.JsBarcode=h),"undefined"!=typeof jQuery&&(jQuery.fn.JsBarcode=function(t,e){var n=[];return jQuery(this).each((function(){n.push(this)})),h(n,t,e)}),t.exports=h},function(t,e,n){"use strict";Object.defineProperty(e,` &&
|
||||
`"__esModule",{value:!0});var r=n(9);e.default={CODE128:r.CODE128,CODE128A:r.CODE128A,CODE128B:r.CODE128B,CODE128C:r.CODE128C}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CODE128C=e.CODE128B=e.CODE128A=e.CODE128=` &&
|
||||
`void 0;var r=u(n(10)),o=u(n(13)),i=u(n(14)),a=u(n(15));function u(t){return t&&t.__esModule?t:{default:t}}e.CODE128=r.default,e.CODE128A=o.default,e.CODE128B=i.default,e.CODE128C=a.default},function(t,e,n){"use strict";Object.defineProperty(e,"__es` &&
|
||||
`Module",{value:!0});var r=i(n(1)),o=i(n(12));function i(t){return t&&t.__esModule?t:{default:t}}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=ty` &&
|
||||
`peof e?t:e}var u=function(t){function e(t,n){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),/^[\x00-\x7F\xC8-\xD3]+$/.test(t))var r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,(0` &&
|
||||
`,o.default)(t),n));else r=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));return a(r)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.p` &&
|
||||
`rototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(r.default);e.default=u},function(t,e,n){"use strict";Object.define` &&
|
||||
`Property(e,"__esModule",{value:!0});e.default=function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.text=n.text||e,this.options=n}},function(t,e,n){"use strict";Object` &&
|
||||
`.defineProperty(e,"__esModule",{value:!0});var r=n(0),o=function(t){return t.match(new RegExp("^"+r.A_CHARS+"*"))[0].length},i=function(t){return t.match(new RegExp("^"+r.B_CHARS+"*"))[0].length},a=function(t){return t.match(new RegExp("^"+r.C_CHAR` &&
|
||||
`S+"*"))[0]};function u(t,e){var n=e?r.A_CHARS:r.B_CHARS,o=t.match(new RegExp("^("+n+"+?)(([0-9]{2}){2,})([^0-9]|$)"));if(o)return o[1]+String.fromCharCode(204)+s(t.substring(o[1].length));var i=t.match(new RegExp("^"+n+"+"))[0];return i.length===t.` &&
|
||||
`length?t:i+String.fromCharCode(e?205:206)+u(t.substring(i.length),!e)}function s(t){var e=a(t),n=e.length;if(n===t.length)return t;t=t.substring(n);var r=o(t)>=i(t);return e+String.fromCharCode(r?206:205)+u(t,r)}e.default=function(t){var e=void 0;i` &&
|
||||
`f(a(t).length>=2)e=r.C_START_CHAR+s(t);else{var n=o(t)>i(t);e=(n?r.A_START_CHAR:r.B_START_CHAR)+u(t,n)}return e.replace(/[\xCD\xCE]([^])[\xCD\xCE]/,(function(t,e){return String.fromCharCode(203)+e}))}},function(t,e,n){"use strict";Object.defineProp` &&
|
||||
`erty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n` &&
|
||||
`&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)t` &&
|
||||
`hrow new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.A_START_CHAR+t,n))}return function(t,e){if("functi` &&
|
||||
`on"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?O` &&
|
||||
`bject.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.A_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var` &&
|
||||
` r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),` &&
|
||||
`i=n(1),a=(r=i)&&r.__esModule?r:{default:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn'` &&
|
||||
`t been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.B_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new T` &&
|
||||
`ypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto` &&
|
||||
`__=e)}(e,t),o(e,[{key:"valid",value:function(){return new RegExp("^"+u.B_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for` &&
|
||||
`(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(1),a=(r=i)&&r.__esModule?r:{def` &&
|
||||
`ault:r},u=n(0);var s=function(t){function e(t,n){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't` &&
|
||||
` been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,u.C_START_CHAR+t,n))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must eit` &&
|
||||
`her be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{key:"valid",value` &&
|
||||
`:function(){return new RegExp("^"+u.C_CHARS+"+$").test(this.data)}}]),e}(a.default);e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=[];return function t(n){if(Array.isArray(n))f` &&
|
||||
`or(var r=0;r<n.length;r++)t(n[r]);else n.text=n.text||"",n.data=n.data||"",e.push(n)}(t),e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t.marginTop=t.marginTop||t.margin,t.marginBottom` &&
|
||||
`=t.marginBottom||t.margin,t.marginRight=t.marginRight||t.margin,t.marginLeft=t.marginLeft||t.margin,t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?` &&
|
||||
`function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=u(n(19)),i=u(n(20)),a=n(6);function u(t){return t&&t.__esModule?t:{default:t}}function s(t){if("string"=` &&
|
||||
`=typeof t)return function(t){var e=document.querySelectorAll(t);if(0===e.length)return;for(var n=[],r=0;r<e.length;r++)n.push(s(e[r]));return n}(t);if(Array.isArray(t)){for(var e=[],n=0;n<t.length;n++)e.push(s(t[n]));return e}if("undefined"!=typeof` &&
|
||||
` HTMLCanvasElement&&t instanceof HTMLImageElement)return u=t,{element:f=document.createElement("canvas"),options:(0,o.default)(u),renderer:i.default.CanvasRenderer,afterRender:function(){u.setAttribute("src",f.toDataURL())}};if(t&&t.nodeName&&"svg"` &&
|
||||
`===t.nodeName.toLowerCase()||"undefined"!=typeof SVGElement&&t instanceof SVGElement)return{element:t,options:(0,o.default)(t),renderer:i.default.SVGRenderer};if("undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement)return{element:t` &&
|
||||
`,options:(0,o.default)(t),renderer:i.default.CanvasRenderer};if(t&&t.getContext)return{element:t,renderer:i.default.CanvasRenderer};if(t&&"object"===(void 0===t?"undefined":r(t))&&!t.nodeName)return{element:t,renderer:i.default.ObjectRenderer};thro` &&
|
||||
`w new a.InvalidElementException;var u,f}e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(n(3)),o=i(n(4));function i(t){return t&&t.__esModule?t:{default:t}}e.default=function(t){var e={};for(var n i` &&
|
||||
`n o.default)o.default.hasOwnProperty(n)&&(t.hasAttribute("jsbarcode-"+n.toLowerCase())&&(e[n]=t.getAttribute("jsbarcode-"+n.toLowerCase())),t.hasAttribute("data-"+n.toLowerCase())&&(e[n]=t.getAttribute("data-"+n.toLowerCase())));return e.value=t.ge` &&
|
||||
`tAttribute("jsbarcode-value")||t.getAttribute("data-value"),e=(0,r.default)(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(21)),o=a(n(22)),i=a(n(23));function a(t){return t&&t.__esModule?t:{default:t}}e` &&
|
||||
`.default={CanvasRenderer:r.default,SVGRenderer:o.default,ObjectRenderer:i.default}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable` &&
|
||||
`=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s=function(){function t(e,n,r` &&
|
||||
`){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.canvas=e,this.encodings=n,this.options=r}return o(t,[{key:"render",value:function(){if(!this.canvas.getContext)throw new Error("The browser` &&
|
||||
` does not support canvas.");this.prepareCanvas();for(var t=0;t<this.encodings.length;t++){var e=(0,a.default)(this.options,this.encodings[t].options);this.drawCanvasBarcode(e,this.encodings[t]),this.drawCanvasText(e,this.encodings[t]),this.moveCanv` &&
|
||||
`asDrawing(this.encodings[t])}this.restoreCanvas()}},{key:"prepareCanvas",value:function(){var t=this.canvas.getContext("2d");t.save(),(0,u.calculateEncodingAttributes)(this.encodings,this.options,t);var e=(0,u.getTotalWidthOfEncodings)(this.encodin` &&
|
||||
`gs),n=(0,u.getMaximumHeightOfEncodings)(this.encodings);this.canvas.width=e+this.options.marginLeft+this.options.marginRight,this.canvas.height=n,t.clearRect(0,0,this.canvas.width,this.canvas.height),this.options.background&&(t.fillStyle=this.optio` &&
|
||||
`ns.background,t.fillRect(0,0,this.canvas.width,this.canvas.height)),t.translate(this.options.marginLeft,0)}},{key:"drawCanvasBarcode",value:function(t,e){var n,r=this.canvas.getContext("2d"),o=e.data;n="top"==t.textPosition?t.marginTop+t.fontSize+t` &&
|
||||
`.textMargin:t.marginTop,r.fillStyle=t.lineColor;for(var i=0;i<o.length;i++){var a=i*t.width+e.barcodePadding;"1"===o[i]?r.fillRect(a,n,t.width,t.height):o[i]&&r.fillRect(a,n,t.width,t.height*o[i])}}},{key:"drawCanvasText",value:function(t,e){var n,` &&
|
||||
`r,o=this.canvas.getContext("2d"),i=t.fontOptions+" "+t.fontSize+"px "+t.font;t.displayValue&&(r="top"==t.textPosition?t.marginTop+t.fontSize-t.textMargin:t.height+t.textMargin+t.marginTop+t.fontSize,o.font=i,"left"==t.textAlign||e.barcodePadding>0?` &&
|
||||
`(n=0,o.textAlign="left"):"right"==t.textAlign?(n=e.width-1,o.textAlign="right"):(n=e.width/2,o.textAlign="center"),o.fillText(e.text,n,r))}},{key:"moveCanvasDrawing",value:function(t){this.canvas.getContext("2d").translate(t.width,0)}},{key:"restor` &&
|
||||
`eCanvas",value:function(){this.canvas.getContext("2d").restore()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumera` &&
|
||||
`ble=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(2),a=(r=i)&&r.__esModule?r:{default:r},u=n(5);var s="http://www.w3.org/2000/` &&
|
||||
`svg",f=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.svg=e,this.encodings=n,this.options=r,this.document=r.xmlDocument||document}return o(t,[{key:"render",val` &&
|
||||
`ue:function(){var t=this.options.marginLeft;this.prepareSVG();for(var e=0;e<this.encodings.length;e++){var n=this.encodings[e],r=(0,a.default)(this.options,n.options),o=this.createGroup(t,r.marginTop,this.svg);this.setGroupOptions(o,r),this.drawSvg` &&
|
||||
`Barcode(o,r,n),this.drawSVGText(o,r,n),t+=n.width}}},{key:"prepareSVG",value:function(){for(;this.svg.firstChild;)this.svg.removeChild(this.svg.firstChild);(0,u.calculateEncodingAttributes)(this.encodings,this.options);var t=(0,u.getTotalWidthOfEnc` &&
|
||||
`odings)(this.encodings),e=(0,u.getMaximumHeightOfEncodings)(this.encodings),n=t+this.options.marginLeft+this.options.marginRight;this.setSvgAttributes(n,e),this.options.background&&this.drawRect(0,0,n,e,this.svg).setAttribute("style","fill:"+this.o` &&
|
||||
`ptions.background+";")}},{key:"drawSvgBarcode",value:function(t,e,n){var r,o=n.data;r="top"==e.textPosition?e.fontSize+e.textMargin:0;for(var i=0,a=0,u=0;u<o.length;u++)a=u*e.width+n.barcodePadding,"1"===o[u]?i++:i>0&&(this.drawRect(a-e.width*i,r,e` &&
|
||||
`.width*i,e.height,t),i=0);i>0&&this.drawRect(a-e.width*(i-1),r,e.width*i,e.height,t)}},{key:"drawSVGText",value:function(t,e,n){var r,o,i=this.document.createElementNS(s,"text");e.displayValue&&(i.setAttribute("style","font:"+e.fontOptions+" "+e.fo` &&
|
||||
`ntSize+"px "+e.font),o="top"==e.textPosition?e.fontSize-e.textMargin:e.height+e.textMargin+e.fontSize,"left"==e.textAlign||n.barcodePadding>0?(r=0,i.setAttribute("text-anchor","start")):"right"==e.textAlign?(r=n.width-1,i.setAttribute("text-anchor"` &&
|
||||
`,"end")):(r=n.width/2,i.setAttribute("text-anchor","middle")),i.setAttribute("x",r),i.setAttribute("y",o),i.appendChild(this.document.createTextNode(n.text)),t.appendChild(i))}},{key:"setSvgAttributes",value:function(t,e){var n=this.svg;n.setAttrib` &&
|
||||
`ute("width",t+"px"),n.setAttribute("height",e+"px"),n.setAttribute("x","0px"),n.setAttribute("y","0px"),n.setAttribute("viewBox","0 0 "+t+" "+e),n.setAttribute("xmlns",s),n.setAttribute("version","1.1"),n.setAttribute("style","transform: translate(` &&
|
||||
`0,0)")}},{key:"createGroup",value:function(t,e,n){var r=this.document.createElementNS(s,"g");return r.setAttribute("transform","translate("+t+", "+e+")"),n.appendChild(r),r}},{key:"setGroupOptions",value:function(t,e){t.setAttribute("style","fill:"` &&
|
||||
`+e.lineColor+";")}},{key:"drawRect",value:function(t,e,n,r,o){var i=this.document.createElementNS(s,"rect");return i.setAttribute("x",t),i.setAttribute("y",e),i.setAttribute("width",n),i.setAttribute("height",r),o.appendChild(i),i}}]),t}();e.defaul` &&
|
||||
`t=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.definePro` &&
|
||||
`perty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e,n,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.object=e,this.encoding` &&
|
||||
`s=n,this.options=r}return r(t,[{key:"render",value:function(){this.object.encodings=this.encodings}}]),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.` &&
|
||||
`length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}();var o=function(){function t(e){!function(t,e){if` &&
|
||||
`(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.api=e}return r(t,[{key:"handleCatch",value:function(t){if("InvalidInputException"!==t.name)throw t;if(this.api._options.valid===this.api._defaults.valid)throw` &&
|
||||
` t.message;this.api._options.valid(!1),this.api.render=function(){}}},{key:"wrapBarcodeCall",value:function(t){try{var e=t.apply(void 0,arguments);return this.api._options.valid(!0),e}catch(t){return this.handleCatch(t),this.api}}}]),t}();e.default` &&
|
||||
`=o}]);`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_40</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>extension - ext library</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,140 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_41 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
DATA mv_Counter TYPE i.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA client TYPE REF TO z2ui5_if_client.
|
||||
DATA:
|
||||
BEGIN OF app,
|
||||
check_initialized TYPE abap_bool,
|
||||
view_main TYPE string,
|
||||
view_popup TYPE string,
|
||||
get TYPE z2ui5_if_client=>ty_s_get,
|
||||
next TYPE z2ui5_if_client=>ty_s_next,
|
||||
END OF app.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS z2ui5_on_render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_41 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
me->client = client.
|
||||
app-get = client->get( ).
|
||||
app-view_popup = ``.
|
||||
|
||||
IF app-check_initialized = abap_false.
|
||||
app-check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
ENDIF.
|
||||
|
||||
IF app-get-event IS NOT INITIAL.
|
||||
z2ui5_on_event( ).
|
||||
ENDIF.
|
||||
|
||||
z2ui5_on_render( ).
|
||||
|
||||
client->set_next( app-next ).
|
||||
CLEAR app-get.
|
||||
CLEAR app-next.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_event.
|
||||
|
||||
CASE app-get-event.
|
||||
|
||||
WHEN 'TIMER_FINISHED'.
|
||||
mv_counter = mv_counter + 1.
|
||||
INSERT VALUE #( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
|
||||
INTO TABLE t_tab.
|
||||
|
||||
app-next-s_timer-interval_ms = '2000'.
|
||||
app-next-s_timer-event_finished = 'TIMER_FINISHED'.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
mv_counter = 1.
|
||||
|
||||
t_tab = VALUE #(
|
||||
( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) ).
|
||||
|
||||
app-next-s_timer-interval_ms = '2000'.
|
||||
app-next-s_timer-event_finished = 'TIMER_FINISHED'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_render.
|
||||
|
||||
DATA(lo_view) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
|
||||
title = 'abap2UI5 - CL_GUI_TIMER - Monitor'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/OblomovDev/status/1645816100813152256`
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent(
|
||||
).
|
||||
|
||||
DATA(point) = lo_View->flex_box(
|
||||
width = '22rem'
|
||||
height = '13rem'
|
||||
alignitems = 'Center'
|
||||
class = 'sapUiSmallMargin'
|
||||
)->items( )->interact_line_chart(
|
||||
selectionchanged = client->_event( 'LINE_CHANGED' )
|
||||
precedingpoint = '15'
|
||||
succeddingpoint = '89'
|
||||
)->points( ).
|
||||
LOOP AT t_tab REFERENCE INTO DATA(lr_line).
|
||||
point->interact_line_chart_point( label = lr_line->title value = CONV string( sy-tabix ) ).
|
||||
ENDLOOP.
|
||||
|
||||
lo_view->list(
|
||||
headertext = 'Data auto refresh (2 sec)'
|
||||
items = client->_bind_one( t_tab )
|
||||
)->standard_list_item(
|
||||
title = '{TITLE}'
|
||||
description = '{DESCR}'
|
||||
icon = '{ICON}'
|
||||
info = '{INFO}' ).
|
||||
|
||||
app-next-xml_main = lo_view->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_41</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo - monitor</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,189 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_42 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_42 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'BUTTON_ROUNDTRIP'.
|
||||
DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'.
|
||||
|
||||
WHEN 'BUTTON_MSG_BOX'.
|
||||
client->popup_message_box(
|
||||
text = 'this is a message box with a custom text'
|
||||
type = 'success' ).
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
DATA(view) = Z2UI5_CL_XML_VIEW=>factory( ).
|
||||
|
||||
|
||||
DATA(page) = view->object_page_layout(
|
||||
showtitleinheadercontent = abap_true
|
||||
showeditheaderbutton = abap_true
|
||||
editheaderbuttonpress = client->_event( 'EDIT_HEADER_PRESS' )
|
||||
uppercaseanchorbar = abap_false
|
||||
).
|
||||
|
||||
DATA(header_title) = page->header_title( )->object_page_dyn_header_title( ).
|
||||
|
||||
header_title->expanded_heading(
|
||||
)->hbox(
|
||||
)->title( text = 'Oblomov Dev' wrapping = abap_true ).
|
||||
|
||||
header_title->snapped_heading(
|
||||
)->flex_box( alignitems = `Center`
|
||||
)->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiTinyMarginEnd'
|
||||
)->title( text = 'Oblomov Dev' wrapping = abap_true ).
|
||||
|
||||
header_title->expanded_content( ns = `uxap` )->text( `abap2UI5 Developer` ).
|
||||
header_title->snapped_Content( ns = `uxap` )->text( `abap2UI5 Developer` ).
|
||||
header_title->snapped_Title_On_Mobile( )->title( `abap2UI5 Developer` ).
|
||||
|
||||
header_title->actions( ns = `uxap` )->overflow_toolbar(
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://edit`
|
||||
text = 'edit header'
|
||||
type = 'Emphasized'
|
||||
tooltip = 'edit'
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://pull-down`
|
||||
text = 'show section'
|
||||
type = 'Emphasized'
|
||||
tooltip = 'pull-down'
|
||||
)->overflow_toolbar_button(
|
||||
icon = `sap-icon://show`
|
||||
text = 'show state'
|
||||
tooltip = 'show'
|
||||
)->button(
|
||||
" icon = `sap-icon://edit`
|
||||
text = 'Go Back'
|
||||
press = client->_event( 'BACK' )
|
||||
).
|
||||
|
||||
DATA(header_content) = page->header_Content( ns = 'uxap' ).
|
||||
|
||||
header_content->flex_box( wrap = 'Wrap'
|
||||
)->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiSmallMarginEnd' displaySize = 'layout'
|
||||
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->link( text = '+33 6 4512 5158'
|
||||
)->link( text = 'email@email.com'
|
||||
)->get_parent(
|
||||
)->horizontal_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->label( text = 'Hello! I an abap2UI5 developer'
|
||||
)->label( text = 'San Jose, USA'
|
||||
)->get_parent(
|
||||
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->label( text = 'Hello! I an abap2UI5 developer'
|
||||
)->vbox(
|
||||
)->label( 'Achived goals'
|
||||
)->progress_indicator( percentvalue = '30%' displayvalue = '30%'
|
||||
)->get_parent( )->get_parent(
|
||||
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||
)->label( text = 'San Jose, USA'
|
||||
)->get_parent(
|
||||
).
|
||||
|
||||
|
||||
data(sections) = page->sections( ).
|
||||
|
||||
sections->object_page_section( titleuppercase = abap_false id = 'goalsSectionSS1' title = '2014 Goals Plan'
|
||||
)->heading( ns = `uxap`
|
||||
)->message_strip( text = 'this is a message strip'
|
||||
)->get_parent(
|
||||
)->sub_sections(
|
||||
)->object_page_sub_section( id = 'goalssubSectionSS1' title = 'goals1'
|
||||
)->blocks(
|
||||
)->vbox(
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
)->label( text = 'goals1'
|
||||
|
||||
)->get_parent( )->get_parent( )->get_parent(
|
||||
)->object_page_sub_section( id = 'goalsSectionWS1' title = 'goals2'
|
||||
)->blocks(
|
||||
)->vbox(
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2'
|
||||
)->label( text = 'goals2').
|
||||
|
||||
sections->object_page_section( titleuppercase = abap_false id = 'PersonalSection' title = 'Personal'
|
||||
)->heading( ns = `uxap`
|
||||
" )->message_strip( text = 'this is a message strip'
|
||||
)->get_parent(
|
||||
)->sub_sections(
|
||||
)->object_page_sub_section( id = 'personalSectionSS1' title = 'Connect'
|
||||
)->blocks(
|
||||
)->label( text = 'telefon'
|
||||
)->label( text = 'email'
|
||||
)->get_parent( )->get_parent(
|
||||
)->object_page_sub_section( id = 'personalSectionWS2' title = 'Payment information '
|
||||
)->blocks(
|
||||
)->label( text = 'Hello! I an abap2UI5 developer'
|
||||
)->label( text = 'San Jose, USA' ).
|
||||
|
||||
|
||||
sections->object_page_section( titleuppercase = abap_false id = 'employmentSection' title = 'Employment'
|
||||
)->heading( ns = `uxap`
|
||||
" )->message_strip( text = 'this is a message strip'
|
||||
)->get_parent(
|
||||
)->sub_sections(
|
||||
)->object_page_sub_section( id = 'empSectionSS1' title = 'Job information'
|
||||
)->blocks(
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->label( text = 'info'
|
||||
)->get_parent( )->get_parent(
|
||||
)->object_page_sub_section( id = 'empSectionWS2' title = 'Employee Details '
|
||||
)->blocks(
|
||||
)->vbox(
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details'
|
||||
)->label( text = 'details' ).
|
||||
|
||||
client->set_next( value #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,207 +0,0 @@
|
|||
CLASS lcl_help DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
class-METHODS get_avatar
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_help IMPLEMENTATION.
|
||||
|
||||
METHOD get_avatar.
|
||||
|
||||
result = `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA` &&
|
||||
`AAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQ` &&
|
||||
`BsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAAC` &&
|
||||
`SdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBw` &&
|
||||
`cHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIAZABkAMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAAAwQCBQYBBwj/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQ` &&
|
||||
`IDBAUG/9oADAMBAAIQAxAAAAH7KAAAAAAAAAAAh9pMrGnC8gxLKqhaUMqzdVLV49GkAAAAAAAAAAAAAAAAAPPdbSYqcNfyerdabSYcu3R5czFlfc2ebnlurvP0bO1t8Rntn3trmLvZhvWGfpcwSAAAAAAAAAAAAAMM4K0eu5tNfE1vi980FPDj0yj8xytIjzJfPYLxgVehsElmsZ+SR3bzoOO2vbz9Or2PZ4AuAAARScpjbrBtUAAAAA` &&
|
||||
`B57FVqdLY0Hid+z91Dn0nrV/ODaeHzCEiWWZqxzpmKK1nrFKTH3Jbs1F624/ICxH7BeO+3PE9d73nWB34gAK3Bcxx62tHu8/B9D7CPqvKAAAAAAUZtLlbU6qnJ816dijlBy6ye1/azP5h5MJ447Tc8reSueU1mGeGFJt2tZetEvtf1W3Jh7ZR63m9hvn9AazZ/R+YGtXFdh+eKTJ2dL35n1dlRvR8G/wBTH3HhAAAAAAY8hd5vyurRyy` &&
|
||||
`YeF3+4yyVVlvV9lbdvXrryhBpS/jprWldn5TgxvssNLZynYYWIuTVNBEi5nBPaJovdVpX6R0PzzvPb4Z9HyXO9mO4rS7/z+vl8Ot0vJpnJQx8nr+tD7fwgAAAABWNNxvY814vZQ11uTi6KM/VY2c9a2dKWdG9elQuzZZ2p1dz5aNXcnzrPP6ft/dI+eU/o9fSnD3Nro4bCbCzxbR+PYiTmuv5D1+Ta9Xy6bbfU9Bscr8hFuufovySa/w` &&
|
||||
`ATr+xtVovr/H7JpNz0Z+udg5tOoy+WfRqWu+cfR3p3ul4mrxb9V1HxW6bfUe7ettL1kN3i3rayzyFdL3nL4d0d7d4jd8c9XZ1myxiT3DOSSPyJ9jeZ3z5nfc70Z7v3UbFEEfQULRrItbsazsPiX2nqvW4vmu2+rurL4/yH2LivI7Ndeml8frqjGd7y2F/vxpWM/YXuX3fhBjZrpqbpbTQi3HktdBt9VaNpHhrN6drnPFS3O8T3HE630W` &&
|
||||
`p38HrccvT6q5wdHZ7fR7jztJZIJZrDPTix0v049LtXDTU4exsN5xW1i3eXud6vDLk61yLWnvS8/wBRpn1o9zh4Pn9nV+Z9OKKxW83pxymyMNfcytGvz5m/3ZbvF75uoWiLZa2z0Vnx9hi3mo3FA22Me17MZNlrN9tTT8j3XP8ALtxljfXbW5ybfV6sNVyUfrc24l0Tqz7ff/Kuw8fo6rltzz7Tk69jD2eLa2oZOTr6D6B83+i8cc6wmr` &&
|
||||
`S39A0299fhRyfN9q83egk+S9aaBjz6zZw+F+v7alo4po+nObPW7DNI8957VtnQ2fTWeLKpW1OGbyYz6fk9x2Uw67ien6MtXtaewpMbyHm0wp+3aW+Ow9Fy30vHYMNYzv6nocZ6Sj1ev8Ls5Kj2cOluT22yu6xPsr2hrhFvIOp2x3vp7PF58u+o/F+XWrf8fKer6eZz74xlZsQZzMHD97y3o87b6+5nrdHBZnDf2iSJ5FqcFmprWG/pLP` &&
|
||||
`bHYVfK+uXa6mXYMtdVzpcm9XX7CjM6vlur86o4qx01Psz1H0LjM8XV7rm+l8veDX7HYXrr5b9u9cefvQ9GfO7TWaHen2roPh212y+j/HMbnFtZHh9npSvF1rJda9Bhfp5a16GxoTXVbCpf3rI8clvNhR2W0Rxz1kx4zZROns7eG8avY0ZOim16/wCc7joy7LVT2dcdDq+112WvznTd5pNdtBPPY0vX30+9xyoS7u5XLU3L+N60Mdhps9` &&
|
||||
`Kmgv67orUgylx0bbS7Xg6LdaSDmiHz3GIo7jSfbvb4vkPa9l57HH85r+VfkPbVfY84193TX+7O3nq9xy6RRX8L1t1868xJ7VnytZu66WLWef2GOjTbjXw9FNphD50Z9jtOC28U6rnsq3Tlhv8AR+0t1cuh3SMlWG9dhHrb2do+P8qxenYqZZaSwRXOXbK0wwnPCTyiHn91vvS5er6I+m8wJfnbcdBxPi93R8v12rl7B9O+U47WthrveP` &&
|
||||
`p3GVSbjT51/YeeT+zEC5qJWpq9qFGls8rofJsbRW9wq3jaT6yakbDV2o9Ir2ZKu1bF3UY613NShZq10/mFLLXsvFqvUs85u1ocjBrJOvGx9ayv/T+YG9APn+gw7PxfQg1nNfQ6zlrtP9G9fg+JQdXzfzvrSbHGfi1zmr+5xNHH4WdVnV6WxlxmxV5sPaT7Yj8R5NhOVa1+OYizmwu8pzwWQZZQ2UJ7WOlfes4H6Z6nLzGi+7aXs5fk1n` &&
|
||||
`caDxe3XXfqe07sNTv5XqcoaQAB8o0v0/5zxdHU8po+q59cfqX5+7zu5vpny76tpqPm3ul3Hz3pZy2IOLbGPHGEUE1Ppm5s9LuJqg9x55m8wyqzkhxlJhjnLCT2K0z1LtG0V/fZU4UL3FdePV9hwf1b0OfqR7HAxyQCQAAACKUcjF2Y+bdhuQ1ezZz8mg7T598z6m5i1t3i6GM0UK1K1F2MdvWzwjzLGzkwZRyPJDLySOzOKxHZLrNtq7` &&
|
||||
`R7DYp1mpn59Z9blqdT577PnhpUAAAAAAAAABzvRKz8kqfY+Y8nq4irutN5Pdrc85NdLtnzziiKaH2izhHJePJI5peeY+Js4QSWjyPH2Jg1l2Pam8+qVrP1HkhtQAAAAAAAAAAAABqdsrPzLR/VdV4nfxvtuj5nTPDHLnaOK3jSayWOqXDDKU+FddlHc0+ij23NfT/W4uiHt8AAAAAAAAAAAAAAAAHnJdd5nb41qvpdDwO7msukmlzGG6` &&
|
||||
`53O932jd8/eOhdw6I0fV9L2PucGi3x6PKEgAAAAAAAAAAAAAAAAAAAOUo9ypPPbqdSfPTaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//xAAwEAACAgEDAwMDBAICAwEAAAABAgMEAAUREhATIQYiMRQgMBUjMkFAUCQzBzRggP/aAAgBAQABBQL/AOIEik815E` &&
|
||||
`7CWbYQtyRJOTM6tDC3tEx3eX2xv7R5/wBOfDNOFaWcGrPIdorXbxrsUciT9qb611bkeZsIuLMjCKwi5C7MxYD/AEk9qKOJ7QaF7TdqIwFecgl5eJCzytEjIQOfc82P+w2XVh9TKy2yhhkM0oI3/wBBO4jiM0vOZmZZGVkd9wzHpv0/oHH9rO27cUdYqtYMEXnBqamzDOUlgmWb8jMq/wCDyG+TOQ07M0bSxvkjYxzl9gOb5v7n8sm+6D` &&
|
||||
`x/S+Mn5SLC1ZVrzxwy90b/AIrMiyWvznJ/cWuBJHuTugcNj8FY4cObdTn9HfB8rifAOb5y2wszLVT6eao6zL+CeaKCKW/aOpXktWo/zyDdb8ipHZ7xDRyYzYzed85YTkZ3wqMPgkZthTww2O+Jm/n+unafuU5oUWBw8f3ep9eNKcwq7Yw2H51swvlt4GeNRG7EYW3+zxnlT3MDA5yGK45SyhRy3KnOWKMkPgMNgvT+B0m6WP2+otfTSH` &&
|
||||
`gqW7EyRjOIGEcm/M0cbPrUwSqqnYsc84VzcjNzgPIec23GxGbHouOubdY29r+SrbZv0kZRlJzEK5LfZK6xR9yXVdbeCxFPBaEq/EcKbfnPgao8Bd+TMvnCM85tixtm2xC4hj71vaFIZgZbHKO9GuXGWCsiMRxzbouclXEYnNzvtuK8pSbTnCjpqup09NhNrVtZwWtN0tZ4NZuRpHHGE/iPzyG1PjRhW4cW2GecVdsbY4qXIMhuwyOLgF` &&
|
||||
`qftWEne0a4r9qJ7H1GnQ2y0HNXe+0l5xaginOwXbNs+MUk5vxC8jl32PptgFI/Ed/XZ7U6wVNPnapqGoZUqVqiWTKEb3VmkIxZD+ezZiSabeRpO0mSTESmeUH96XIqzoIlkYzU45h+mRQiOojJ9PHstZRkmn13apWCQNGrY2mDuT6RxSW7HBkNi5CrXZmyt3zEPGKyjJJG4x7yYWmU6prKai2nC5chqVK9RbOs6bXz9Xu3M/S9RtiMwB` &&
|
||||
`FUvioB+aeITJZijUS8VEvGVdOeGdpOOJtkpULJIZBAeGI/L7Dg6+MfYZskmTVpt5I5pZGWlVdos2zf3WohYg0+tQkw6tbuv+jWreVdNo1clljiSxqcfb09u5QMqJH+PfNTuTVY6uvVrBlmjjr6hqUggBsyzpp9iSSvEteuXbjPOVw2lV/1FWyOyDjMpSvIZI/tY9FC5KX7tMSLHPWr2MkpKK9ebuY3tMs6RrHEl7TJl7kunnWIqwq+q7` &&
|
||||
`Iv6VqMIp6Xsy1YxGAAOmpTtXr1NWO7XuwoII1S7LVl1K/tAbM/KpMJ4LOuLBbteoavCXUbCkak0jypHLPJekk03TUMVeqO0tDuu8/8ZmLPdlOGZBO86bUZA2CVxlUA/Z8Zv0OSS7LuWaNYFyNjHEMuV6thI4IKGpN7cjtj6PQipq9PUJZ68AVkC7koAvSC0ZIDYeZe+e3pl2TTkt6oLNQz6kSJvadYv0ZK917WRhmJoQb/AECM8lFXX6` &&
|
||||
`AZDwVmnHerR9uM+TqBKJZX2S/+1YmmY0NzOCA1ItwHRfgndtsLAY7ZbtIJZboZorQfKs2UXSNZduOowrJHDyReRhT0/Mtmbp6ktJiqwRcPksu2KufRKcAChQFH2GJchcMgYYXGKwySQKJpxtpvLaWQ1dRQqyv82w0j213MsbSKIpCa9E4xBer4A6DHfge4zYx2yzORg/cTtgmeFlytIdqs6CJwNrDSMxAORycF0CuE6+oQsOrowZW+B/` &&
|
||||
`I4vgL4N0vHVRHWIH7GcJHGTFFt4GzLknwxMktCUSrqiiKh6fl72jWPa7qvdtQbSGBkf9zi6WNq0DAtZSul3WSMbU7UuR6paRotXVxFMr43xb5MZ7vFIH7iVCWWIf8AGpuFLYg9z7Sw6T3ZrKqFXGIVdQnGr3IzthbpvjHPdngibTVL1qvBMHjD0klWLKhKQmIMeTKW840cTGGWOJbsPeTQuK0m85OVGScp8jjbII2lEsBDWX7MMhdpOo` &&
|
||||
`+dNk/aaQkSv7rVcDIgu1U9kJuTUQyVz8RbfVceNnS67Rr09WTtNYAAH2E4Vw/N0BM5e5CCvWXkrxbMvxjlWUboZAcqI6zFv2dP71eMEY8kImX/AKv6PjJPcbNfmkoZZNxv1rWRHKOJaxHs8gZcPMhVytEDlCJkuz3qql+5XWrStPYHx09YRxF6VZKsP2q5xkHG6haFCsizuI2HWX/qi2CNjHJv4OcqN7q7ho527KJKHFqKSK0cPwG2M0` &&
|
||||
`0cMjuM1qDt2JU5dGYKsTlxpUMk06xIuWIC2SRAEx7Yw4oqFo40VM0w86FkJ2dMjjjPX1CbMuv/AGsOSo2w32xxm/bnqx9nIz9lRdovGFcn8ZIMDlRSkLp2YJ404VraqstcM8chGS7ZX3ZZoe1kkth45+KZ3ot+BICnfSwtara1WrFKSNmYrKieYoQFpQuJW+KBP6dYkkLaLqcl2LR9Ug1Kpl65FVWxNJJr/wB3Bh0cbpPFKIySzxDrJ/` &&
|
||||
`ADx4zlhV/qLhdWIJOnxyfStMEhuDuNpk/PJIuUzwyxksj4u0KzuJF5EZzxoYmMtKu2GnJxFGc5ptatVCjcHj9QI/PZ3YZqjt9P3U+mDcLmnqDIaoeDu360bnULUkFZKw6zySxtYtxJUrzFqvkBvOKdstxCaKM96xGNj08cuPgr42w5aj7qtA+5T3HkM9vANwkgbnGVByairtbhsqLdEvk8bQgd9yJHRlkDKjxbwRExIqAdt5hXqurcPC` &&
|
||||
`rv0MIDF1xuTGuu2JvvEcY4V3w9GtIskNSxwm9K25pqmgww2eI228zLtki80UtHi9QGJ2bCG23Occj6e04++RO4DSK8dG1ImRS8o45Q2P5yWJmW3GUyeFcaLK1KOQR0bPOPT25JWC4EAzbxtn8VtyiGGtcLSVi8mE7tHyXPPOJ1wsMLdN80erNqWsV07UHSTwTk536Ozzug4Jy6MWAq2ZpGLq+c9pGPmP8Ak5xG2ycLJkvKNmHEV3R1Mk` &&
|
||||
`aYthomq3BNGrjjH8NocDW49IfKkNeNQV6Myqu+E5vvjyZavHt3e3OzlTntUdxsXNxh2w9NU+oNnQNPGm6b1lsQDJG2bGOwoN7CTi78lXPGIiIfbvPEtiLyrRHfJP5E+xmOSDupscQCM9/bDDs/1EmLqMG0mrVIIV1STc6nu0traux5FW3yWQCQluctjkxZY4bWoYZHmwqBm+FeeRrnHYYHyQ75JKiN6Zi7+qfZrtUzw1p0kr3eVTNOjF` &&
|
||||
`xUiCqcXYFH3weegAwuNs24tIds38YnxKu+cX34lMVuEcrIX2jbIo66YGj37cThYJfp5Z27kN2QYl/6ZX1NXr92btSzSSL7e9yO4PIquIo3ATbYZKNuhzT9Os6pNp9SKjT+yvo8Ea1tOKapZr3reRJ+k6/f0arZS5Un013AXIzitgJ6hc3GMAUQgOMXGGxCjkxJXtOymPgFj4ZuSVbfGH7KkbGDuKI1xj73i/bhfGbi+tR/8epMtrOPXk` &&
|
||||
`dt8Zick2sWKFG5bWjWSrX+3Srf1tP1JBLG1OxHbq6/T+t0v0ve/UNG9ThpCzxSn4xB4iB2AwADDnLOfiYBZcXP7TEHvObbkRqceFebx75CrMJ4jyh/jttkLMJ3yPl9VZf9hrEdjTadClrFK16YtVhBZPftWoqxkHOIR6lXVINUmFHSKVaBEVF+67y0nVAUliqN+h6rnptxQ1+1CLEGpadCqmFYrSoM22Azlm/RyQflot9/ktiYvQYpxz` &&
|
||||
`gxXAzcg2AJMUBVJzlg2yQK6inG170o2+m5qmm09Sik9NTo5qTR5WoqYoa8UR/BVss8gab0/atwVtTpULk2k2PUivWkqzx2a7KrZPBIJ99sjlEgzjmwxskG422yFt25+1vjB8YM3zfP7YYDhHg/P9qmcfHfTt1OfP0XIWqdSAfx65pNbVa1ie3pyV7n6Szaho2rVdN1C1Uq/wDju13NNzWIzLp89WVJqCTBmTyTh6SfxL5AT3mXN+m/3H` &&
|
||||
`p/TEHF+cncRxdt2kSvaYena7VqP53VXSf03oszr6Y0UQt6M0ovpmm09NjzUp3r1bM8liVH4FZd8Yqehxjk65CvHOftwfaB0Of2w9oHlVx/B1BlMMarNe03S0rS/wCPe0oyyuWWRG6AKcchQZUAB5FFGEdFGHDgxeg+WwD3N8EeVOwk+WhabKWnQwf5Wp6TWvZd0+1QxGVl3GOw3lILJkfwfIxW2zflm2AYBhxcbBjPh+GyYuZtH0y3LY` &&
|
||||
`/y2UMtjQ6MmWdNuV8Oxx/mIe5V8Hx1U7ZzGKw3LjiMLYCSPgA+WOWG4QNGfrIIkhT/ADpqFaWTUoYDLGnHEbYJ7maIKWGbYevL2jydxjHOWM+XGsCv6cgsWbP+gtUYLBn0iKTLNGaqIQJFlu1o5kIzkoxvdgDYegGH5Q+9osszwRSsjSJolZq8P+j1jShYL0xAm70sBBG+cm6ADGI2PxZjkdIrlmNNB0uSzXqaTp9WT/S3NJeSUaNZ3X` &&
|
||||
`Qmq42lpap6h6YqcXq6tUEE0cyMWijgtO4cO+aJE8h/1uqaJVuSSaLZsQ6dpwrHtx//AJ1//8QAKREAAgIBAwMDBAMBAAAAAAAAAAECEQMSITEQIEEEMFETMkBhFCJxYP/aAAgBAwEBPwH26ZGLlwaWVtZoY1X4aViiY4aSWNMWOPB9NcDwpk8DW/j8GON8mPGluutdkkZowkrXJVdsY6vZhxRHGihIvq0V00ozRad9mLC8hHAkq9iMdT` &&
|
||||
`ohjUe6l1aEZIa1RKOl10irZhUI7L2cEKdsRY5mtDma35Hk+BZdyxj2JSo9RCnq+SONyIQrghGpl+xgWobfg3KP9KKsqhwRUvkUmuRS1DRmbk1Ei/jcqT5ZBLWq6RxSkrXRYpOjJheMWOTZ/G+WTwqtiEWtkRVbiNUT+r60KkNWbeRqt0KVozKX3M+pIw41JLUKCXHT6b/weO+RYv2Tx6lQov5NK+DQiWzvpHcy422YoNLca6bsoXTjYS` &&
|
||||
`M7Th09LWnqyLlxXX9Iv5GiW6FwQZsfsnkci2YsjezORqWrcxp1uPk8GSepkVqdGKGldnkvp5EIcdjHG9iD8dOdiacekN3sb9JMkyb0x6YuRKlS7M6sgklt089Wfa7RLaVohKxUSxavJ9CRCMoPghKXkctx7j5Gm9vkfpZmLD8dG6Nauhj4IcdnJQ1ZONKjdEXa3E09jdE8h9QUxSsZjXZP1Gkc2yxkN9yhoqu1414HEdtlPySjRFWaaV` &&
|
||||
`lfBHH89nqJVHrqlGWquTJkfNbEPURfY+5UOCY8ZpYoXyJqMqfY8lE5anfX7lpYv7KmVUqZDJa7GuxdKKNJo2M7encx5pQIZdY8yWyHJvsjlvnk1p7+TK1J2jHkcHZDLr9zJNx4M/2+2nTMWSD49pdMuVQJScnb9xNrgxeqa+4hkjLj2cjpGSep376bXBj9StNMjNS4L7Xtyeoez3/CjJxYssK5H6tEPUprc1I1J7GbI09Kf4+pkpuTt/` &&
|
||||
`8AL//EADURAAICAQMDAgQDBwQDAAAAAAECAAMRBBIhEBMxIkEFMDJRIGGRFCNAQnGBoRUzYLHB0fD/2gAIAQIBAT8B+XvWPYqeZ3F4/OFwG2zvpiK4b+DdgoyYzgTUXb/eJqSowTDqG85neY8xNQynMq1q/SPMBz8/Mt1AXIl+oY8NN/tM9dwKwMRwDK255mltsqbax4gYN4/Dbb2wPkHxLGOcy3UGM+ZmbYBPaZmeiMfGZo7ARt9/wa` &&
|
||||
`rWLpxzH+IOz7sfIts7aFpbqmsP2h5m2bZzMkTuQGDoRKbTW4fMqs7i56O20Zmsa6z1P4+TrLsjaI5yZiVUBhP2ZsxdOMifs6+0TTYPqj6QgceYVIgbMJlI3HbPh9uRs+0e0Lx7y24N9X6TUuWpMz8jWN2v7yupT6mmUHgTvcQWH2M3mdxl5ELk8wXvN6eNsamtxheI6duK4M0QRFLxwf5jiBqx9IzNSz9k7ulmrrrfYxgYGPq60zn2mm` &&
|
||||
`1q6gkAYj3qFyOZ/qBIyFleqYNzyP8AqXWBuTLW3cSpd5nZ+wltZV4fPQECHJlb7BNxzlTNwcbXj0BCPtNG9eNg8zspnJE1mosrLds8Sy2yz6j0a5Bg/VBqgowBDqxnO3P9Zp70R8kR7F9lxBe494NQ/gSob/QYRKm28Sq1dvMvtV39MzBAwB5iA2TZWP7S2pWGVhU+YWO3BmkDC7IHT4kW7uOtbAMCZfTV9W//AB0XzPI3mFR/LKWAbm` &&
|
||||
`Veh/ylmNxj7hyJ3HP1CG0n0CUaFE5bkzsp9prtKtfrWU8CIU25EbBY4lnEb6hNNVsXMscIu4zUXm18/gH+2CZZXgbugOU5jGZz6pk7pqGxhpao4MMAK+oyhxYgPTUbdh3TuLmLqlHmDVBvEQBjuMqUWPg9NV9Mscu25ug6aB9uRNSS3LdEOF6BPGIAoXMr/eJgxeV2mWrt8Qbs5HiU3dvwINYv2mpZbVxuxLq1H0QV+nmIAg4ir6Jwo3` &&
|
||||
`H2xB8RqJmq1Z5Dfp0rrLnAh07hdxH5dEOGBl5/ToviGKxQ5m9m8SqxhEbcd04PmMNrZWI20ciFkxmbc8zt5hSbIuRndLm9paoHQDMr+HB+PH/uLSBj3xGUjzPMuXB7Y8COm2V2KoORA6scGMpEErYTdBccYMBPtEyohsOeBEfMZsTcWMU45eW6jIwszt5MZs9PhtLNcDjiAY6dmu2vYW8TT6ZFUqp5M/Y7F+qOm4ZhGOgOIFyIOYlm3z` &&
|
||||
`E++YPyMbf5Jiah1WLqhjOIbUOCRLLyDtUQq1lYsEdpnoml3e/MoTtoB1PoYOvj/wC4jjtuGWE5TKwgKdsd93WsY5hXH4Nxm6ZUDidw+07wLgkTSIgcbP6zU6Ou8c+ZdpBSQPf/ABK9K78kD9ItajnH4Hox9Pj7TtlPSRlZQpRdpmo063JtMu0nZXk9a8kS0YhOeoHTEJxNLpxaCzTRt+846Yz8mxSykAy7SXglmjDExK/QJY5aAfgIjQ` &&
|
||||
`HM0VHcA+3P/iIioML8xlDeZqvhgc5TiGlqWw4juNsMHEzBiZgbMJzKF5/WU17Ex88qG4M1GhsJOBxLaHr+oRqyvkQ9MwGJWzHiaHJZfT9/4J0DjEbT6jeQVyIPhNhPniW/DWU4Q5hrbOMREao7jNLUtibyuMzGP4YoDK6ErGFH/F//xABGEAACAQIDBAUJBwIFAwMFAAABAhEAAxIhMQQiQVEQEzJhcQUgQoGRobHB8BQjMDNS0eFAYi` &&
|
||||
`RQU3LxgpKyFTRDYGOAwvL/2gAIAQEABj8C/wDoiKiak0INTURWNGDBhkQdaM1nQit4/wCUZV94rJrvEZZcZ4eupDAzp39ArDMNhxaZctawoGKXjiMnsN+x+PjRRVnKrTMReuZjEMlUE1LnCAMyayPGNKKznrUGsz/knWF0wnjOVddYw3l/tarZwA4+KPIA512MGIySsozRz40Zus68jGXsFZ60r4hC6CM/bWDNVOoGlSZ5ZmhnSNk2Hg` &&
|
||||
`aWQsTGpn2RX5vUriywgY45cRW4FPjQDVH+Qs7MFAEyeFOOt2hwVOsIAfUMVBt2eKzkKwOAycjWfn5dBV1VlOoIkViGz2QRxwClaAxTsltR66Fm0tw3PThOx4zUnMUY/EzMf0MSOjKssJOoxaVxVxqp1HTn581nr0R0YVYgTvDLeHEZ0lpQbWiqr5cNBz9VKhbt1H4bq90W1WTJMRA/ocs66tTcYgwcPCvzFLYTK2xJB/3HL2ikduu6wL` &&
|
||||
`Ha+IGVGAATrA/oIJpWGQyG7p4Rw9VC4Du8+f4LXbzqiLqTW1bXsDP9mv4d05Yt2MQ5Vd1APosRLd8/0EUyszjhudr1Rn7KVbFnq1R9CYBXuisK31S3wC2sx7491a+dPRPm9w812V3340PZ8JyqVuOwMDDGh+RzoEeeNj2e4qPH3jkYsHKBzoPeZ77j0rrYj79Ojv8A6BerfrA2QKDEPaNKxLsyC5mfvGxdW/AwMvfTObl1y36nJA8BXH` &&
|
||||
`8Pd87IVn0ODkWOTTr3d1LszLEDXzrdoWOvuuMRXHhgULm2MBvF2UemxM58OXsrn0H8dXZFLIZUkaeFNa35fSBQxxzjo1rWs6y6J/Cz6R0BWQMj5GdPCgpbHHE0COz5jXLhwqoknkKubXcd3Ut91bjew+iI4DTXKsTq+HBuIilpPfGh0/etzI8QdRUnebhUnj+PNKxA6z0cpPD+KxsoEZgcRWvTmakZipFTRt4hjGq/OusKyg7UcBzrDk` &&
|
||||
`bbibbjjzHj9cKSfyrqwO5h/Hw6Lu0NoqzUlYJ4eZn5hBzFG1cgDMqT6Q+UVxhu7p6zarsfpQdpvAVKk+TthPL824Pl9a19k2O2b1//AE7QxMTnqaNx7v2X/Ts2ng66s1fdtbMsSSvHvP17NB/Qb7Cxb/SmbHxPy99FbYkyMRn4njlTSZY6nzIOQoGy67UnJjDe3Q1hMo/FGyamtC3cOEYpGYj40cEu6+iuVxP2pkg3Z7FxWwsDwn+Ku9` &&
|
||||
`W2LenDp4eB93CriNubRaGPCRmGHyrHZtFyRIxbopLu07TbbC26vZVT4c/GjsqFrdpfzWKkE9wq1sCAzgy7ujPo0no760q0VFovilS1yI/fjWL2jlWs99NsfkJBddTFzaG7CeH1w411u1vc8o+UnzC9pvZ8zyo/br32Wwf/AILJ3jr2mrBs1lbY7uNAWhqYLZbo50k2jbYN2SMx486gf0Bt9q5+hBJ/jxOVFOsu2rZJxYIkZzqNDMjLFQ` &&
|
||||
`CaUEtqjEic2j5V/wC1uHww/vX5eBY55msSq57i5PxqCMPjQF63buj+5dK/wy4Txzr70T3GtIo4s6DMqsR+pZBFBbqJj4xnUUzptN23iaSFC/MVOzE9erYsdwyW7iaw3LF1No06oqZPgdK/xOzPcnjaEx3RWGz5P2jF/wDc3K+/6sPOidGZodWuLxMUcaoOEq0++iRbuRzMQPfTbMt97Hk+1qE/Mv8A8UF2W2PJmw8IH3jj640epSCe05` &&
|
||||
`zZvE1vbUrGJhN74UP/AEzyc5U59beyX69dR5R8ptgzm3YEAjxpbWyB1s7OWtZzm2RP13mian8bAzOB/Y5U+0UNj2VFtCMT9Xu4V/n96gAKq5ADQUyMMiI1pCtkHLM/o7vGsRXTuo7mHP21hZ29Rj4Vhlo/3UBifLm0/GsJyaJ7vwc6zEU2AW49Fjn7q6r7RctxBuFcvZx99JZQb9wiY3jnxY+J6QBaZjzBim2a5cuhbgzwfCYyFPtlwL` &&
|
||||
`Z8m2m+6R//AJSPSbn4ePrNvyRsmNQYN+7kv1oflU+VfKNy6P8ATtZL9eqh1Oy21IMhok+01ju3FRebGKf7Ev2y4nBOz/3aUhN1Hxsz7qwEk5r35zWBRJ/FW5Z2VtqGL7xUbeC8wONYkB6o6Nx9dNfZvu1XESM8q+x7PP23at+4wbKyP4yHfrR8n7AEVNnRQ925n4QKuLeu9fhIEO+FTxnCB9RSoSNxczoK31wzw5VCtR6y4MS+iMzW6f` &&
|
||||
`aI6MzhjMN+nvoElSea6Hv/AAMxTJbJr73Oh1tm25GmJQaaxaVUU/oUCDzr7PewrtS9pOfeO7o3vZI+dbRbt7UEZhh3fvSoPcKTZtnuXtpC5Ll/4ihY8neQWsga9edTzzisWLY9ij0dZ/8AKlvbR5avsx1W1ufXspbz3pbiCgOfrmrdt2uXlt9kXHLAerSgAIA0HTjQZzFYb4/6v3pW2xUtK3ppcxKPHQ+6KkGRVvCowGk6g/mCZqLlx2` &&
|
||||
`E6E0tz21csnY7zqujIy5+qaQWy1t2EkXlKRQu2la5bjMK1FrFzrXB3kJhvYaN3ZG+z7Qc3tsO14j5iruxFXW4sXMHHIzlzEisd5XXEROf3l5vkO7+ZDQOtYKHfXEQOPOr1+8hQu0KCR2Rp86gYczGYkd9HgBRwmM+dFG0Czl8K/LaKCgyDkD8qIOHD30LhSLkYSTr+BCLib3Vj61G4HATr4g/KgAkrixQd7P8AVnWKSyYdJxMv7/HxrK` &&
|
||||
`o2m2jDQYu+msomBL9uUz4rqPYake7jUJblTkhttMcJHL1USLaBiZZ1t4cfee/p6q2DMgzRCoyYDhhv36D03Nn2m7lhlGPA0UsYQon74jTuHOlxYzCjGUXER4CiiNdKnQdU5HwqHtbQ91WnKydKlLUqOyGgeqpvHC0DETkJ8aazZwXlIkW1BxeNMtzYb4fU/wDJiirpukan4ViRMB/sJX4UjXXe7g4OF/aagXHjWG3s/XnS9Zfe5hbFDR` &&
|
||||
`88/fTFQDdYZE7x/wCKxYTmYUDUnkK3u22beNTThIxsMgTRDGZq53wRQtvccrbJwKTkvhVtTO/kw9U0MTb3OhiM/gdSExGN/wAKO+s8c6yYHwNa0NmkZDcz17vdUMJU5GuquMcJO43FG4Z1DtjGQYxxqLnZHpnl399XHV8QtoFEaGf/AOR0jY7M/aHObDLCvH676CgBVUZDzcCO6Wz2kByI+XqqAIA4VCgAch5pKBVfWY+NBsxI0PDzZP` &&
|
||||
`8AzRuXNTw5Ck2u5ae5YW2RuLOA8T7KDKZBzFRUBwuUxh19dMp8KDLk61+VveIrrLjDTdwns0Ms8VDzO/pOETRZjixNiPI1hAHgKBAzoNRl5ZnAXFwb0Rlnr0NYtwAmTPy4wO+s5GPLLhRTaWVYGbcI591XLwaQclOLUa9KXrmQvWgiGOIJke8ee9xJxDumgxu9cGzDxHmsx0Aml6zxduR/ap0oMpDA6EdIt8NT30YG7oG/VV4TJNp/hW` &&
|
||||
`yvEQmH2ZfKkMNnu65D6j31J1iBREViQa6ihhtEk8zpQAdFnhE1jYbxrez7hXV2Lbf7q32NfmMR3mpu24aeGdZUaZAwTnzintrbyZdyDGHPXv4+2sxTWsQgCRi4UTm2eId9NcxG2wGHF+mePRfB7XWmfl7oprY3T9Z0pe0VQAq/JmkacY1qB0FmIAGpNPeVn+yAwnDrI4+HnlXEqciKNtdpuSpkYt6QeNRcvXbmeuMj5+aMRzOgAkmgrC` &&
|
||||
`MzA5CchWISjHUrx8edYbgg/qGh6PvLaMP7hNW2A/NcQO9jUESujeFG0ghLd11Ud2KuPqrNoMSBRNu2Y4M2Qamx2d4cFz95ApisKvotrPfWJgJ4d1FiCY5UWu9vj5mpFfmBiuta1nbIJ1YGR9eqsxucG+VYbefhTnFvERA4UFGlXVtziNtkC98cejaR6XWgx3YFHypAGRce7BWcXHXhxp7ly2iO7Tuti9ED5dNryWpZVKdbeM9pZiKgCA` &&
|
||||
`OHn50l0cGA9Ry+vCtDUjMeYt1RMAgjuoODIIkdBDCQawHNT2SdfDotktz0XLDy+H/bRo3LlwYTejAB+pvjLeys6utcbAouYQh3iWgH2+3KNKEggxx6MuhkPpLFMriGBg1E5+YoLLyg6/WlFZhgJjurC3Ec86hT7ahj7KgCsR7hNOZbCLa5cNT+1dX1ouPPYt7zewVtG1Om/m2A8IGQ91W3W+rIhneXM+P/AAPMXrLK3br7toHU/wAVgX` &&
|
||||
`M+kefnZ1OtMiZk8zx4e+g66GlwkYmYDD+rzGzIy4a0FUAAcK16NSIzy7ui6xEaKDzH0TRz1yrXJXVz4Ag0HRgwPI0m2LhuIxFuDl1YMaZ8+6emGpcb4QxyPD29Bcdls/XxoMphh0SanDApcEYR2zROESdT9eFFlJnUDvoAjWsgvspmImM8hWAai4uviDRga5mtlRMgEiIjMa++aKu3bGGfGrhVjv8ADl5hW08Mq4WJzFtZ+PnESRI1FR` &&
|
||||
`HR3ULU3jIgqHbtHjw1nnRm0inmNfr1+bphBzA/SOVa9AVe02n79EUDhhSAw76i8JBGE+FdSgw2rglB3jX5e+jbbQiNaNq+cWcLcyz5SOHKeY8OiGq4XOJXbKc8tPfr66/w102h+jVfZw9VdVtGzdYp9K0+ntqSr2wT6Sn6+NRjn1VmjEf7DUYXnlhpVYy8ZmhbxF3JjCgmoImaTsC22Q8avPilMZjOfH3zRe6cKgTJqbjq2C2qkaw/H3` &&
|
||||
`H31NW9oKFQ7M4HczEj41fukqTbshk5Kc8vhRSwyWdsKygfst/HCuvT7tkyuo2ts9G8ZfgtXHVvzlxXl5RkPPnoyNbOtxVCpcWWRs555jnTIwh117+/zD5mMBWUrGbRH18qAVR7a7XsyopcLWid2Z0yjKgcxMe+reAw4O6e+iCMJBwkcjWLDbKMmG5Izbl8Wp8LKV1UnXwP7/RlZkag6ijCtgAGEATzqVxetY6ZNq2x71FEm2Ae7Kgtva` &&
|
||||
`7ygc2mobyheK8Rn+9PgXNRm5/epiktsgvelhy3e/4+ysOFQmvfNSzuwmQp0H139H2a1+be3RHoji3q/ajYtrCWSLcf9I/er1thlhHr1q/s1wnFbfHbad4d45V1Y2i8HgqXntKTJB56msGx7S/VRAXIlPCco7qW3dW5YOHFcua4u4HhRCatmzHMnzAVt9YkZga/XdRvrcUysp30Lt1cLZ4h3jpzp7R9Ieyrl1exART+qJ/fzBMd1a+YuH` &&
|
||||
`gc6yEZ0DP80QuGdVnn/wA0t1TlrVu8NG3GPw+f/dQPRjQ4XiPGslDNM5cO7w1z8Mqm05t5NppiPH65197AH6sWtEjCqzlK5mouHwIFYsQivzFnlOdY7n3KasSc4+VAQEXtAHXxpcPWWxj17s8/CusvOrvEDCuEAUem68sSdSfhW02tHu3N2NYwAT7j7KxGYPZkaUzRnz8+5ag41AgH0poRZutOeLCc6S51qInW4mttw5mhdN53QN1nVx` &&
|
||||
`lj5/OOdZdE0yEkSIypbd0AcAwG6f28wYYmeNadEeZgOFbnLn4VGHC65waykpqeP8/XhRSRhbNW1g8DRLIcPHCZ9fOhcQhlOhBkGstejcfBHdRu3tnZgNXUyo4TB09VYk0OhHGoOdG4AN3KQOVfdi2qxq2fu/mgz3ccZiV7Phw90561p5rXTook1cs3yugIjlH7zTHGGGZU8xOXupqJPHzMugSddKuOyr1SSqP4f8mktzOFQPMmhHQ9u1` &&
|
||||
`gCDddmE59woKCYAjPp3BJ8YoAlbciVnexDnWAnC4E7prC3Hsnn0iprMb3A1lWLhrUDXjWFbNxBxwXXSfGDXW2Gxc0dyZ9Z0qc+8HVTyNTXdT30vXLRuahVWPhQ666IDf7pHqC/A0MCtIGr6/WVQOgs7BVGZJ4Vy6MqiurO7dL9n+2f299B81IEZNFBbZhFUVlUVNdmsunZRsttrl3ewqok6VasHO5G+e/zGxXkXCYOIxnE1APRNXSNGv` &&
|
||||
`MZHHzTgRVLZmBrUxnzoowgc6wwSOFAjzOVREHlW5lQnTQnke+sSrINDfCxwI1rCcjy4ipLEngOJorC4weWRFb6xzq5fRlOFCwzoCWjFmVOkZ+zL39ASHnURx+v2rEzaaAfWdAKGcEwWXODRd2AUDMmvuw0N6v5FGch0ZdEHzVVmguYWr21a29nTqhl6ZzPsEe3zftqS2ERqIjWrFxRlcOARwaNKTrFO+wRSM8zV5dpd71y0/ZJgeMe2o` &&
|
||||
`CgDkB529WQ6MXPWsR0FEdPgahcJPM1nRVVnkOVawTUMisORFHBaVD3VvJX6vGriswLsCO6KxscJ0+vrhWbtEQQDFFLVswTOKSxnvpurxddoN33511YdVABGIHEx75ojfAxYgrPiilQkYzoJ1o1p0Z9GXmfbLF4WVtHDbLpMggy1W9lsTgQcTme/wA23iLyINxEaLbtzw1tOwpfe1etsL2yydwxz5/80m1bTs4XqWVrezK8ntCSTpoK2T` &&
|
||||
`aryhLW2YlvrkQpJ08Bu+yisYARmOFYmxCwDDBs8I0kdGta+e1oRuxpw8yagVDhVH9pmahRAGgFSmQ/TWT+qPb8qI0I1FM+cAZxWQiMo5VrHfyqShU8jwogJigS3P8Amsdth/u4RzoWyN7iRoaTMZmM6+02t27aOJTy50Vw4L6/mWjkQfDzs66mJtW837zwHzpNlK4UXdaD2h8hS2UGnnC6VwXAcNxY7LDWrPlXZRN3Zu0OafXxpNotHc` &&
|
||||
`cSKu2gJdd9PEfUVZusZur93cz9IfU+urVq/ab7B2rjomIluC5Zgd/wom0yuO4z52fSLizOIA+vL8DMVigTETXI8COFNbuJiBHDjWJNfjR8YI5GpQ4hLSJ7+FFjZZQVgliPVofGioANt+0p+Iq8iSIgjlJzPxouUIa3J0yBwmr9y3IKo0htQRVu5ttgO5RSGGRGXOsfkzb3bDpZvcfXR2XabZsbSnaRvlSdbO/x5UwD4JHaHCsKNZvqMh` &&
|
||||
`iEGsJexbB9JASR7fGkQWcTAbzEziPE1hRQo5Dz/wD1BF/wm0ZbR/a36vrvqRhdHHiCKbZLpjYtoOK0x9E8vru6Ns8lndt3vvrA0HeB9ejRtMSAeVBynWLOHfQUqIoWVLFRlyz/AAADzmjOnA1l+DhHRmM9JBg+2oXTpmsLaSDVwNjC3Fx7pjFzB93tpVk7gC9HV7VamOy4yZfA0Ln2w7UEnAjpBz7+NHZhItnLCw3l8KwXrSiIKsuvrq` &&
|
||||
`UEEkn8G55I8sIq7QBH9t0cxWBsVzydcOR16s1gaHtvmrDh3il8neU2+6P5N/h4H6yrZvK9gb+zPvcJX6y9dJfstit3FxKa3lBir9y/ct/aCxLKTDROUf2/Ws9G4yv4Hp1rLpIxZDKO+o/FPS930VkH1V11475EBZyUcqfWCZHt/H6u8MNwfl3QM1NHYvLuznaNlbdXaFEg+Pf78qx7FtVvbdicn7rFDr6taNi9dVJzi5ulfXzp7W27Jt` &&
|
||||
`F3YGGHMdn11e2Ukk2XkeDfyD0XEWwL5MbpAPHWDrGtfdWbpCnX7MU//Qx7acPZ6s8SXxHz25Ze36ipH47XDoomjauF1uXLgaA2QGuXsoqu15Hjg3hWArA9HnH9AyOoZWEEHjRdthVSf0MVHsFC0dkxZziLmfbWIXNqUfpDiPhTJsdnqw2bGZJ6GuoASOdG5cOfwrLzshnWsnj+Nl0KhzDOo99JZjenIkV1jEv+nu/qLl1HAnRcNGzdQp` &&
|
||||
`cUSR+3TrHRn/RW1H+qn/kBSnCrMOJX+q38SNzSi9z76xwuIMx/uX9vdWJGDDmD0Z6Vuj+hS2hw4pJPcP8AmrT37hFhGFycEF4Mga+HDh/WFToaLWlaxd/Wh+POjK9db/UmvsrSa06Y87LzT0PdicIJrZ8GZYm3Hjn8qCooGX9f1nVgPMkj0vGuqCmzdGu97xzFRikjXKCOnOp87Pzb/wB2jJhOjQRlS7RfwWksHEtsbxLEEZn9v8hxOC` &&
|
||||
`G/UDQzzGh4j10S4a6n6lG8PEcfV7Kx2riuvdX2e7fUXeVZ6fgCpmhba6oY8zXUAb149WPXlTFwQzHQ/wCSC9sw6u/Obpukjv51c2e6Q5ZpuA8SawmW2bgeNv8AipBkdEdOVTQ6m4bbgyCKxbXs910/1LQkGnv7VbKddcJKOmfcD3V1lnZLaPM4gP8AJmu27yyx0Iis3tR4mp2bBfWc7NwlB/0kafWlfZLmxG2pO/cuMMX/AE4Sff79KV` &&
|
||||
`vJ9s7OwmStxpqb2zNtVoenbXfHqrHacOKF1skMmTTEbE5QrunEsn1TW+mBP08T411ziEHZ7/8ALvtCTs20/wCrb4+I41b2fbNvR7FvMIljDiPNs/dRd2xsRHdXYX2f/jr/AP/EACwQAQACAgIBAwMEAgMBAQAAAAEAESExQVFhcYGREKGxIMHR8DDhQFDxYID/2gAIAQEAAT8h/wDiKjczzKFcUQUbt3KflOOPeCBkb4DyMVs3WbZqFn` &&
|
||||
`iItirN/NcQLHH/AEzqZnliNau6aEWoWD2SzYpYcDsjwGOZusnUyJAWUUWnS14u5bo7kDn+4/0HKvyVAP3+zAypMTcDR3gOdcWw+naIoJckq2SNNc+m+YM+EB5uz9paCzcbAC/+kDIFYyI7uJBJvJjxQ36b6tw2CtaXGWas9CIwt8cGdV74d8yyNxqlfxRZ/HNxfb2MRYASByb9GseCUA0WFh1SIe0CkRgWpV43zfO5ncivvLJQGt7tTN` &&
|
||||
`+K1q66mc35pegV8/Eur2l9hcryXTZdnBAwhp2g0Gd1qLQcn/QvhEkoHcakshWjVWAfOT7SiGmh+Smv2iVK2dnxHzb8zQuXZCxUOpn6LFPXKMLxHm3Rj2hjXgXH2jafkzbOlk5+Y11lFD7Fr0IJd5IdlE4f8ihXbt/4O0u6v6U/Aj4BkA3YR9vXjdMvNQPPf65LMMtVGJdwwqHMMMcNkG4irmFIYgWZQvumqJzQCorUL0Qn81Vl3PVOKn` &&
|
||||
`sqnZlSRVBPLf4wMmhwMntz/wABAW6mashcIvD726x1vxElilSHWqrUjUDlaI4PqLvmpeX22GfWPN3ZMj6LbJuViWJa2J2+0ahuDLHdniHXmNzE6I6ZSVKGoUHrGnDJml84IVR2OHo/wkxa30EtECw2qFb4Fav4rA5YFwXb1cc8Pd/8C3G4dZW+auyhtV9gtxVhFBAiA9WuMY11iXa9Kqj4BVCp4RGLy/U5YYiMIeCWlIa1LIwc6TM6gt` &&
|
||||
`wi1jMrpSGrfiA6J+Xhho51e94IcCKUG5VKLNr6IGaFG/T9eR1V6tp4Gc4Ct3CLNQ4s3j9ioDMA/wDAbARTWm7we5l48zWtFkv2DN10j1CHH3fMdkbS79dcRF4YOHFOpyGEgWoi3FTUUvbLHxB6vE0yiGCxlmfjM8QXtYpCuM3S9azjaFxhgBh/VdYnwDFadt16Qtou1tiRpda8H1le3KFlD3j0eP8AOqtAlWlL0xNZmHruX+8wGaBBxH` &&
|
||||
`/2Ii0hlsozkKiecpSJOjXM4f0DTZAbllSJfpmOGIXdRWzqchmOqnBLur8TLAgi0sZtIfu0iuc79OSNbduyuPtjOY8tV8foG6u7gLWFFWcpFui0dq0W52wo2thJyIUAbYy8JQCBjabTPuPxMMq+BxKief8AOQi4jB5E4mw+2bcF5iPeHKwZz78fLGaxZ4ZXBuLqkgSrsCHVIP7pX1Behr9nmNe5Xty05rnxfpDlLgeKGT7vS+0RtLtJzl` &&
|
||||
`45/JFsudZDdvB7uPeEVELea8TNuPwI45m2/pEFlTfaivMOojMQpO5TjjIqc2t+Bs67mR5o5Vnt8f0+tCTR3F6/c15lZmYX2O/T43wm/fjTb7Km+TqpwV+CGx6Ebo3XDG+Z8ja+DFvR4xaGIXczf86jkGGqXizBZhA1xJekJrOttlYedcZibgzJ+Dx/d3LtYYGqHr3OZuVt5i4HRvGJ0BXqHIerEggyOr259SDsMMPJq8rsoFjUodilzk` &&
|
||||
`un3xK0N81gyCrq1HpM6NJARxY4BL1bhVUVx8zK67JV9MBlmKAwNK5zewTzLVXNVT9spznS9EduRehsJ+fj3dV3OoYH2H7dxeZomJfwjfawFVo5i1FEfIgFwhb4+yc87t2FGsUQwFpwu0esxFIq8uJXBBXivtznnQgdidBuOThRXwOp72MQ4fBgw+JcZ90z6nbvmZxHzpZ/73dNVEZdyxSl5W2XN73dNzREBi/84SW41G9KcGuDygG1rK` &&
|
||||
`48EABBeSTLXyX8xZARfq50uz5jQDG1I+4l17ep7bGD2fiW2qFq/ux7RmxconQAFmmyWbao2avu5gqt85CZQZuoVQZYTGI6lCwuoR9WnZ6KKuHYTvGXLiUlEDgaJuLbAWg5OAlC4I2CFcikxRBLguzLrAWL0kf2zs2zn4d5jvl1AfL+JfJ0CKB5vncsm8ekY5YXJVptAVvTK9gRu1XJgJKHpTmkb4MeIbRXI91VDnBzeApu3O7SsXVnru` &&
|
||||
`m2GA5bLPaZeZjsfNvxeA+sFAUp21PNPGrbxGgDBaR3Qv3GUyiFTchHpf2AqxeAg1m/82SD22D4H4YZBo0Wl0Gl3qtMbC602UFBwEo1VY03FYmR5PK/ge/FgjerxZ+DcDCVGCh7v/Y9yDe16XlH/V4Q/JmVDowzXM7t536cEFUYKN+x5z+3Z9Bh9SsWQFys3iS4yL0TAxyTf1x/MMktAhpWjFGt2PXNasFShajYyBb3KnSTF2ygixVZBd` &&
|
||||
`1djxEoKwImtKMDdjd7mMfNjyp9ddkdw7jSg90e/ZH5wFGnVavg53LpfYU33GVZfij5ZY6xa7hVuA2ri7ZeUC2XByZpsfuRKpDfUVdv61Ayh+gCWJUJWAVHOpfH+j1GoLR5pxMu58UF2VuPbStsTQ5N1BShHJpyhFZAh5DWc4w+LteWUHoGKS8U3tKSOinQfY8cSvTWZbI6fP8Ac7m3HiciIcSehmCC2lqrz8wu6LlqDXWldH0v2scXKD` &&
|
||||
`23+2/j87hBjDcArM4ItesUKMtLF8MU22wy+WDal+ZmBv7SPOs+CZShf0+V9tMN40psWFk3bRQv3QS8AcVtV2q5uvaFZa59N5TaF2+eiZh1JR5ly4lpoVWbeWh94vgaMj2RqBRmzWfIcDnmo8Kbry1n+yE2BQGA+uWhexhzK4SOiVX9dSwOMUNilIG92AWpAQE0kBFjau2nJOem2yHXrMNhZewiYUw6YTXcpWVeQaL/ANR3t1QTnC+ixV` &&
|
||||
`ZsMtVYg7+b9ZfxYrYN6PvXrNn/APg/aX8juU34iicG9JQfxmohAobr7Bzi4vozRSLwErDhWTmMxLWKI4dqveuJamYVLw4fF+8FHZWfPdh7XL03Id1/9RuFHSZv2/3Fn2Kuza5sO4nb54Dz28Ht8Q4rRBrfZ80YhB+im0ymb1DXOYubI0LWBy/Bp3C9lpIJlkwMOLyxLPb7Xa2re96eYKYeRSDeas1nPDtRVLQwxbggLFAU8K0Y8QEIy9` &&
|
||||
`p8mhzL93pYhqY3ARrIvWvRxmJl0CttMIGY3Xri6PoEALBsLpr2Vz1zLLc2BuvBb63djcvRajk/XK45C0usF5iPhPNED7t50fJA3vozZNI5c6vBnoVCBfAJnJ5F0brUM5Cxy/qd1MeB6LfC3t5JZhtCIrpY+7NFUE444Jj19oxdDBQHmyj6RKOQUe6D8nnXI9T1dz63LhwpJC94XJu97hyrtHCdruPZJgeL9wG7whrDRagFBZe3VpoT5q` &&
|
||||
`KaQoc8I/vbQRdBS81hx4AD2hpzwIZ/b2lgnXj1fSBa+a9d6gSwoHxK/aXeaByOacXiaGD5CIPhE3xmZStMwed/3fBDACrKFZi+iha6hTbNZPPKfmvbQroe7zj198gQeG4prPJFuvdGQCHQM0L5BYzr2LEfDUsp7iksrZ5Y8v8AV5CVhgAKX2rzOeNF1PO3A84caujMFQRZNtm2h8B5+rsb0OjK+XIHm3FSt8QOAgxcvVEi79ojfUX4we` &&
|
||||
`p6YxDBAUAoCDSvQUfS2qv67qrCMv5H93mEYoHk8HzBOoI+iUUZgMwvAG1LPHdHxGfnQ/Eo6p7ttr0U3DeDsNJEXA4L1j5jiodgc8sV4MmM5iWGkVHXLxkw9kDmrvF6ZzDq4mB8s51l195sEhVf33l+FHZCxzNah0hcO5j0lK1g9l9DKXd0NJRXqVXiYZa0GohTbnF95lBaYBUw1QuzCmHe84uMpUuWG25sA9AjeizeQEzN5c2y+OOcN1` &&
|
||||
`m4SA3W0+HqdPmrC4BpOgiVbHrR4+tDOssu2cKVd09ZelZmGkWEZKWMNlQVUBVYLauvG4fsASpExR95d+gAVVgWlZxMYG7Bpm19y+mPKFUkptZSqVosSai0mg9EL4cen95nNd6HZPHmWCfkGeLM3fn98pR9LNzYzb7gP5TGN24NGL/b4JW2HEUWtr9+TzAv4SoD3b+0CC+R5etl/E05mbDHgrj3ZeXhxW/BM7bstXGPTPd6cNzWMvNNfb` &&
|
||||
`+/vMe9RPtCdmpm381WIDfOG2WojFYsOfKuvXzMP2fyFW3kAr9ksUrGnzKLPV1PwV/eyqA0pw5XBUxuuRoMPNdG71FAsqKLvBBiYKN4Xhp07pdJdMzVbFYAPQrNrZCF1Hb9DwtaKAlFBBbX3BfR7talF8y6XmP0DlqUUi2DCMPjYWJVg65HyXiyNd3TBnVH0JQjSTa/plhzd6IMywnNDuaMYKMR7vLCfQ1hjOuJQGQx/THx92mYtQnUtU` &&
|
||||
`0+YiShesn4tfaYk10drc+Rn6H95jqwJWVPzCkO1tLW8basgwLF7i65+0sht9iH2CcXlC0euP571uh48AzTq+/9bq4Rb7Fb35xN0Hx37foVBxeT/wAl1L9yLPUmdgmoEFBhNcP/AKjyuBxaCMYJ5pfzOCPfkDnhbDHiLB4RS6nGPqb4i/3zMoNg2ULmg/KFyR5FKkFOhk3vUI2Oqj1QV7Pz9ajSJTSGu0b9u4TMCgFAfS4QfoVanBFjC9` &&
|
||||
`5tRHpkfZGiMHDW/wB4aQQsTSfoCZrNu1ZPJWvXxCeikORhjcKGDI5uZUdhfJ36/OctiITawAp2+bVf2ZstnEbxY/JWNvdA8ZYvMqMGm2QEFAu8yjQU2u66QKVv3rEADiOTqlTikdlmSWkIC7pJwDwvP6FcjGA+g6z9kTutJVtzjjfxNftlGHDUs7At4a8YqWHoUVUdYKyylwMZ1nnfHcrJ0XOuX1wm3ZDx+zIk2GacqaUTfLHK+sAAx0` &&
|
||||
`XeRjnR6m4KB19XIZyFnOb021RnzBGVzTv/AB4l/W/otDSJ0QYABCwqmX2RmrGyIgsgaWC12DvxmO/rgu1zqxx5iI60AoJr26iu5knKne2GveqgF2xEchttBf5haKS/orH8wrqe+jX7Tn4VcMvSFPamVNKoYyXvAGkypf0goeokN+nQ99y1nmVjBaZ5Z/l89R1wAfoyegjJdBvcOgrLFwdVq9e0ZEGujK0H7PiVprljH2OHn53D18S++p` &&
|
||||
`xH6woDS0zNcQENl0KukVe8ZxAEBfRt1+xCoIK8C99ITSyuvZ+WO3KM+n/v6LwT5CAlHcLrkfeBQCrXL+mt7och5nIOdy+Dkl4i2pbGRoywyLoUYQi5hZza2TkbX8pa7+pENtkO79R+ONcQNKk5VjbIMXh37PzRzObiAb8syD2b0fxF2yQ3VqOvwSaCoe5YPDlzKhUh9k1NMVoDLhcsjAUKNmGJ6n1gvJAFkQ6Bo4FfdEd2bY53S8uQSu` &&
|
||||
`YCtRXgpT7xUVxFKvXH2GHBeoLP2iGrPP8AtKC2tBl/M4FmirY69qBM1n+N+JjABSJuA7Qa8lXHx+POHdpj0AAPhjB+XxKCuXxDNBhTDVdjRpyKYPpGOkya+1gmzfw5Vx4xZxdcYA7LDLUeO1VqyZ6IlsyGoOx8ef8AYS33RZuX+CC1UaGKcP2x/T9VQpZPWIhQ1hrUzudHsx7wLuXILVdDgeH7ZJXR9UHnKC6t4PoLHMszHyDGVVyYd2` &&
|
||||
`daR0u8t1x8QtasbDBz/faDGABW0h933j2qRpM2gL+YmKI8AH8Onwso7ZndHn0pNYTBL60IW5MPTg8zlYAtnBpzjveDDmOdxW89P98mJSQ3p1zYAt68GKjIRmkZj6MdhhZ3G7hyiLq7l4exiN4DFD21KtwxzDqGwM4uQ5t4MZrrM34WaeJlQYtUu6K1g2tehlj2sOSOVslVVPfl9YCnIuAp6Bfy46+hNh33u/JgPyjmYA8ytLj+tQLGsD` &&
|
||||
`WLP8ZjfTaq5sNrBx3Lv0qupdOVPDmCoHwpud5Kxp0R1donqOw32lQKFaxt9r+jMGnH+Th+6W4sFd/Te9xuBAp0iNHqQMCUEBVpEswgNXbh9twneAFxYlPGnsy0V+qLt9u649rhfakMxJpcVRk0wbOT2/vHMUFD269oLZFVZRpq8XhzGjlVN45evBvzAViqDyS9GE84tb0XTyjxO2eYXkjW1XpZTppFrZkT3bFlSZSsMpau2Ap7M2ddBK` &&
|
||||
`SJLEa3eKbhCszlW6Xor0Ikke2o8l4/MampQqR97fvUr7zVqCQuOFvhuVcAKFUXeTA1m9Xrceygh0qco9U92FGAQhBoDsK/cZUgFfKIuFbcGb4KrNhwS24wRCbC7VmjQ8Fte7tVK5yKoqlZ9RX63WlSKr7794TY3Kwz6QG0xZlmAjq2bfTNVzANBT6oX5icIeCvzLFLYtWqku7rUBzO0W8m6uvceDT2iZrUgCAyVSX1MZhpXAHl4111L1` &&
|
||||
`9eAE04vP2uFOIurGFFoulaxORCrBBmlqDrTXaMqfPmHNqlpp8fnMRu3uLU5bPkb5KIsNgagaS77j7R3TF3p7MF794Ii90A8MSyocRAzGw6V3RHw3x6U+SGVWNPewt0q0ccsfTCdowHmIjgOEeYAFbkMjGN5A+0TXQF2X5fCAbWUhlY/YS1UUNPbatr7vrCKCOysSlVxGkolLox+g3LJQSwy8vCWryS9WP2I+BhxKGX1hS14gNiTcGPyj` &&
|
||||
`ECAFVbl3+zDKcADS6xz9j4lp75qror6jITHa5Ss+i/W+aaZPBZv4gPgQVa0cyt19LoHDdHzHieCIByGzs45PQuVkdW7L8l3s41NDPgeHh8cnvXWiip9UGqhxTSCzrnf8REpk28Pf8AM3erVdxqmVao+wQvF7o8S2cOnvkK+27OSiaU0Guof3vUtBTDbeXEbVl1Vq6t1dW+ZYtWWLautgPRgCYsqLYB9LpYUXLnIfQkg21A5VhhkfBmDL` &&
|
||||
`ghIV9OZRmWii6zWnTUvVq3Kn2qiR9I7XgAKNQweU5IJcIoiFNIgtgkFfQsTOZDyrxuKNVe6y+UPFr+i/VbWgVBnxLu4EWXHSaSQejLcYblhzCrcAxpULTLdscTCRCmQd/g+I/xeAY+ZZbTvuvD/P71YZqnOSo8J3dBMNvU8i7rmO1Q3a/jsmUFX8ePSFGW60uK/ZXMS4dA0wy7jxgDp61x43klbZSK/wCn7QwgUabGuYhTOzbmFe1X/a` &&
|
||||
`YRRWjz/EdfuIMGPmDT6ODybeVCCOI4+AMzBa8GNtF0tuok0rWvBjl8r+2LLgUMiAXVSGd4wYpuqlnJSKCH6Avau6v7Fw/AubdjCCgw7igvaPRd/TN4l5uUbICK6gaqG7YmEtFLalL4A/pXOImlHIN/Pye49Q5nFh/GviAKysFOK/iULxCqbejN8uKJSqtUAm9VHdagjH5+lTN6MZLbbDD6wFvs1/5j0gWWtj1M+w/TeQN+wrhlp7hgr2` &&
|
||||
`5+08pjcPBfLa6feNcOrhZRUTdoZcmG6Vc0anZuWtIlKMKLz9pewipBZhRxiZUMUEMXx7tfD3WDvDXkdnzKhd5YVtWVfPtiiFZOGoC+kNbq4FlUMDWLOd3hu9zf0EttBz81wrXEugoKmXsjm4zFsefoYDSUmKSCbD4lvj6LlifBziAI71XoQIMcNyLantVf0tJrHB6babBooxriZ2AdXrKplSGDiX6SKWRsQm6jz3GA+sEm2XAjl5wbYF` &&
|
||||
`Ra9phEl7Yo261iOUsE0ItaRxPWVbOyBOrjGtzXSquBuj7fFRZ+nAy0OIyIXi+5gV20Xw20UeOfSxoOAhQREDRw0+nT/fQFDGrOSuXPMG0FdJ+fJ/djDvIW2U1URTklfhAtLEQBnymEyF8/gy5qDQ0FQo9DZ8W4g0oWnIcuemrZeh4vXsNPrxxXpdspMd1amPXJrzHCyELyMvFRbgbkJdLKYfTmFNQKPopRghsfoI2XKJj7729oCUY19R` &&
|
||||
`teX5dQOQDKFW/qN8SejhM/3MukrEL3X4M34XUaZthk7HyNkBJFhLeoPJfulqpctnsfKVDCGlUZldnVoy67QH45CnrEtEdj5+g2uyeQY6/ZLHBNUuFIK9iKeAw+z2yrcRJiPaZ3LPAihsajFwFT1xmurgd6OxGIgi6X2Vxz48xWBxzodRPIVYb6n7e1JhlL3O7yGzl9qca1Td89gC06Wd/ZAbvb1Gd+pye/djYo5ybPZbY+5hKKGXsGhv` &&
|
||||
`k/1plNmgqM0kUrlDetVM1nWosMnnnYpjPoesThfcrz2OfTvcM6RIAspWX5JdvbD7yYp3wmB4x92DvQKSxwNMw0GQJLsvasLBnDR+u6sUkHpUP977ELPbR2X5JSq1dVrs/A+7Gfo5vDGTgemJr33bt3CCA73LOTsgDUyUq6U9/f2lHBBwwiu/ouIC8QTKSnuGycF1/g/vcSwGoIqZgL3Fz9GT6OmY+7HmaNxKtYplq+qZqCioed/wAspI` &&
|
||||
`nDHZIC7e5tZ9gR/aJNetxBjvFq42mfRyBqisfH0N2t7ll5/Y1gslE7kQjBu/HuphEd2Uv3eB+eIAy6GkXryx998xXzwO/Hsf4bVNFuX9z+4pAX5fzo/u/W5bca/wBuE7l1TE3Ds6/rFMs2GCOW6Xq35ZRcDwGV+TWWXTMsIHDFS7AgJ71RBQkwBbU1/aYrDG1ncZS48dKUeYueU4NUv8JBcIQFW/o4HMyY1wRsxbpxOQlk2pjRmUJ2xB` &&
|
||||
`FLLFs7ySMJl8+X+5wW+MS7yxZ6VXpv9G0B/wAfIYf9hjs/DTCygMuj8HjZnc5aEPVbYetU5wYYIsHL3CLHsXfrE7DupVxRqlcY8Vy+fpujiPc+/wBKXlAaYXqUXTF1Qk19eV1+Bbg7bjdbqaTrLmsuOOsxreIpibfS+UwHEUllTlna/tFnkzOkZpCDRFlwKgmb95p3NRxMlBCrm6kOvEvXa00Ckdii/SIOQaRR9RPmbI8LcAGfj/gOgA` &&
|
||||
`NYHYk/3MqsB9pVRC3G+DrxqJURvAvGb/eBUTkE+V/Hl7+ioiApjcuKPFcDoioqoeTuO2YYwYuVV0ysM/Aup84LthWvMW2ZxMxwS7lW/Q5g1Kv3zIgD8wRWHRA4s4fTKxe5KvdS6wAXot47/wCOlmYFXFj4S3ywonquT+tRu4U5mks6Y4vMpqV4KhM/mcCVQ3CrUKMymkBcaqZqDBPvJviQsHcVltrLe/3kD5JmtpsTqABRgP8Akh3UNj` &&
|
||||
`U336/yytFTwlX9GxywaXdWh95iziCo44Jdy8wDARNx/KZLqcpwTNNIZTGZW7jLUEKomRUULKNXzY+8IhBoQDnhdu3/ADBA2FJ4hqC5trxRx6GX6m0emd76DV5ZTsmKVUl1EhawOScxM/RibgLsxSjW11KtQAvtLhkJonSBt7ouJ0Du1P6+sGoAMG67/wCfYeOBWler/RKsXxNj+Az+GyUHpx2CZPZ8PEDLCVywLE40bECOZTUJoOpToQ` &&
|
||||
`P9p0MpU5qgyJ1KA2UqmACndLXacALjZc6/6H0nCn+IVldsV3UKqFS1V74+6c8lTkAlWtPT0+JjyWVdGLy6ILBuHUhIVjiGvrcUsDzDVFIEXLD8nUztAPm3l7FvtMsrwar/AKNBKSyBBrWDoFwwYbIpIhGXWrRXWvEGHu58D31eISIhYjYwRGizBvcRuoCp9WG6i4DB8q9cJyQiFl+KbejzzxGJLYtDFjgauLa1bA9Ojx/0qWUzLoDGHu` &&
|
||||
`fxFULypP2hNzEkjHa34ROoxZSxJd2LDxkBhrYLYra9Ba+YvBGafqc8vHBbPRxvHqbILNaiwhuFG0l7whR734mj27WPVMV4N90pEeqcdry/t7/9dbnqtPXiN1vLVXFILWuvkWbwoYWJRAaX/qbuTDhmABRg/wDzp//aAAwDAQACAAMAAAAQ88888888884ARDDrK8888888888888888880l3isemBc88888888888888YEoHAl0dmE+D` &&
|
||||
`8888d8888888PB1yRAXh1lwOj888Z88888888ar7wfQUk2OHdPc8HEK8888884knBHIEl6AFnQYIbS5l8888888bRBVmcz7gIxM0BJYrDAh/kZHim5zdpaN98q/wBvMMOMD+NfBn8fZHBL+BHCY74KX+/A/wCSfhpE/JaV7lpSiMuvrihglLLaLDV0o5LutM4RowRmdqbpx7redMzsyb8KNWDawmdLc4Ae96L14MmXi4iMOgLJZUPBiI` &&
|
||||
`9OCrJIWKKUm4x5ZdfAYe4/oL7TN3JpzazTyFNiWYhI5qLuWm8fBJ8PLy/Hzxn5b7qnEafoBe+cpoqTPsOHzzxZJGasV+jjUqgyB+r57yzzzzzzzzxqFIAobBOXJbhGmLzzzzzzzzzzzDf3w4J9lpNrunzzzzzzzzzzzzzxjfSdgwQhb3zzzzzzzzzzzzzzzzwB8VbPPfXzzzzzzzzzzzzzzzzzzzzzHDzzzzzzzzzzzzzzzzzzzzzzzz` &&
|
||||
`zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz/8QAKhEBAAICAAQFBAMBAQAAAAAAAQARITEQQVFhMIGR4fBxobHRIEDBYPH/2gAIAQMBAT8Q8PsRChEF7QbDPUVZ/pu6IihDOs3E7DLuVLEDOqF1llsyoSvHqIqB9TKtuoEYDMOswspO3rK24RW38bjejwCrzAZNQfKWNRhjRglSy50JtMxQtJjDH8` &&
|
||||
`MgOJTz4DCOcJrb1YATcqb3KJzonSJMEcN661GscKYhvN+8214GUKmJiEscpcbjA/aoUcjv2lh1QHLWr6sAwXByRBdxhTGY0dY4xru79OUAm1fBbN4IfGEq1LLjiIXhAxOEBhEjiN1/H1i9pfQgfVE5RKaM5+coBrbro8vadAfT9somfV395glFsRElyNMMFbuGBKvrKDUVBwfs/Tv2nLS5V6oKMxJykabJqEUyhCcQFD/YkrtyZf5MwU` &&
|
||||
`MZhb5zVqjCxDB6f5Fdq+1SkrA7YjZUIF2ixmC20jls1BRjitLfrGLjwqqIGMEx3CpeMwG6ZhMhakpC61wCKPtNcAohH8nzv34OSDTAWouKnnJelyiWDDUE2lsGCAc4lBLUyztByztBLcIcRzgGbeFSuk0z581CynThpVBMGoGkzbamF6GGYuiIJFrMSEAdkolBiIYO8RE3wMkQYm4sMRQJy9oBOCopg5bjSiok7thlGBYdxsvw/wDIiY` &&
|
||||
`R9SWTN+pMjHy5ecbSNdsXpiAOo84AuAUjJtceQfm+AC2W0PK/KBIRQz1OfDUGJSI5wcGWvRqDoh9RGMtToOO8EajQqUS8vKUaqWo8OcYuRlt9OsWUxfSJdcBpfbGHUpxLhTLBg1HOZ+JbuAMTU7lxlL2IrolLkcqnNYgBjibg5x+4q5eDRPclkdh8/MBxo+3twzwyi0xiG4nSJ1ItAjURxAhBh5KwirF07+/AZZUzsY6y94gu2HwY79m` &&
|
||||
`mHZDKBMnzl78EZUsJfBZS41qU5yy5lKplhAxTrnXo7ju7Okpry6cyX6Prj9zAL/AgDoaf3LNGj6MAc7ZAIlwCM1wM7hKlQOAxigC1+EfOV9ayteGQKWQYHXbjWMSgmpcuEGPEY+3tCvvL82+IrcA1lAbVxcS5ympngGITCfT8xH8craqUy57/uZqAtg3XCuFRBtVCAcsYx1f6VoI0uCfPODMFsCOPnfrzgxY4ifu+pMrFRV3/WAwMshn` &&
|
||||
`/l/wD/xAAqEQEAAgECBAYDAQEBAQAAAAABABEhMUFRYXHwEIGRobHBMNHx4SBAYP/aAAgBAgEBPxD8Yhd8obbgwr5IIXCDJHSHiP8A41KYlo7RXmmAzM4AadfSPQ5QTbBK1oOf+RgJbazfzAGPzgdJROsbcxFJliNmGWI4mCIFYqDgs7N1UE5V+dJfWuv+cQLVo/A0Saw1eH0P3Ni36/P9iO2IYXLI9xHGoIaliK+cOwohsa9f+ClVXT` &&
|
||||
`GPWWKLNLzX1fOr/ASGxcYNAdg7tj0S0vUoFkqXUslVLnMZLzmYMTClepxPrusQKJXgK8MYD8mhfevlEv8ABv8AHe8CjhB7y8LTz3leiNR8x775xB3Dh+nv7hqnHDfpyg54jXAN1+pkIQpYji4dou+9XTn+5b1r4RfdwH3wIhnfJp5u/lAygBMHfzKfgu0FuiWQLx/sA/v/AHENHLFleV/kWcwyDwEFG6Pnrxg45R1t+OHvFZnNlYmCNO` &&
|
||||
`jVXMRXnAdq0YM/1jNI8NXz4vVmAVc/0fuWPDQDTXXBy485YQbQX09ZoTKys1s66VLyA4xc1jYy+hKRbxyY68POPDM0xT1cTgnnUOpGvS+PkaHrmyKi+CtNNM6Y9JndoVq2nfFS7Es2hkqKZjW4tjmWa9w0YUDrvvf3Kayt9O84hKdDL3xi9CvPPzAaoUYDGM+7Mq71fADWGMm3PLbw266DZRm7Gn4fbpxtmAqBbN16RUzPOteZSHTaIU` &&
|
||||
`AcLWn1iGH38Rbd31jNyV3UQLhI07w4ECYzylTVlU9eP09I3cRWxNqYhQYl2nMDWjQcId7u/SGsBKW8Vx9fAlpRrgq+fU0/sqVAYsExMkZO2H6PBAF0iY2rfXp075uLX7/3vE7NqHIFW+JmjS33ho2JpQU4v6YsCW8va4QfUTDVa6QzRLyd/uG9KuFOj3rBTcYfPeUodYWg1c8tLg4hb8RHoGY+pRbR1+3dly4ZiEi8p0MJ9xSGj32+BE` &&
|
||||
`6jB8/eIhpC4GsVC8vfMp0aypqWeUoYJsk7eUEu54CwMQLBqH3q6QGjrEWzR7P6gHQz8Yq/7AxGBtqs3aBQ6ptH6Wu/gBcwuEkdedbOefQ4xB1HwRDj9f2KOssRX1O8d6xQnOIc/wAe/iHjpiKbVxJpl6eZp/sXheAoe9noRyWj0f1L9I3wsaAvV38tjzhp4tf3129ZX9TGOp9jH3FcetY4aabw8GLe/WMEFIgMmd105ge3huOmGgvqvp` &&
|
||||
`EikNImeEe7NlHQxr884QjFB0gER6d33wgVGp7/ANxXnKzQ6J8S2AZibDD4hvt997RHE5SmbHfesLLqXRpRuw2Nlf58SwS6zcYxMCUGYoVM6DHlnzeUDDoUX3rzh4jWAuiPQV8m694mNCbJs949oIwnx3w/sQvaKAc7Qvl1gPQ3F5/ao7e29yoNTlEOdYBtZgDSEdHONtJUNpAqy1jPMwxCaCvBKT5YGjwCnOaNVhx7YZSX3sKJnHKuEX` &&
|
||||
`o7XStHz1F5nnBpR4uXJYpt/IITAXKOXbpAVlGceesv2pcySEFLfTzmKBbXvnDYWrE4Ot9KrznBl3WXZKAOSsb06Uaryrcb4HS1R33x8VWLXb26zYhqPfDRjvmUxEaEQusJWuv+TYeNbLr03iSlPgNShu4OiiXVNdnT1gjYr/NJsTV8U+utf7LwNewSqvemUkVxH3xloqGruztjUKxv8rBt5vV6ae0RQLdWsv8Aw7UW9fsc5WUJ6nls8d` &&
|
||||
`ma8g0e+EZYOnt1OUFHJ6ezn0lVFqGiR2JwPiBB4WRKYljCiJBQV6b97Q7iGzYaAviG/wB34I1fhorKYeENFQdbM8+MsVBOIqWossZYlQLgUzJMG5YzLJsy6v6Q2VB+QChc1NuG3fn5S2KaNOKJWJR1mCU1mo8AoWrxTqF/qAQOu2d9PzkUWSnq+lVZ5NfMTNDv085VLA5LgKxKlmJpUeBuBwFGTngc6z0+/wDxOFLiFdLPJHZ/lVBOAv` &&
|
||||
`U8jF+cSoRxKvo5H1GBbVmpWYQpxzH2z6PnNeQuuIae+a0gNB/5l1TKVe/rrCuIf/L/AP/EACsQAQEAAwACAgECBgMBAQEAAAERACExQVFhcYEQkSAwUKGx8EDB0eHxgP/aAAgBAQABPxD/AJH4/R/U5+jn1/R1hXEfwF45oSvnq+riwAdXAZFIBs1rKy3y+fOHTxUdr/bBfUQikBpE4ncsinSeP9MKk/SNmWKevmT/APTCvsQvUhgmhc` &&
|
||||
`f6K4wSsDuRSYKufTg6nekytMdZbUQMUk93lIiGkT1msU6featvqO56+stDMCKzWeINzwTeLuKME2AeL6InqTBzqhZmwWxvVIDxjinVABTaKg8/TyythmQXlV0GJZo1lUSAKKoNCIojmkwi8CCfS79nvJQQUzFBPNwdX+hjde5GWHpEbTWOiBXOQtVkZoUWIYAKybiFhNCdP23hKyir6JFY9t/AFBnO29HAGbaeXBoUE9UT6bmiwUlpCn` &&
|
||||
`uKA3s1G6KQGgSTDzoNjcl4JGUNhRgFVa25O0cFPAONOfWcTCoLYdkNhPTpLiCY2jJqjZgKHBPBnv8ASHeRzHJKFd52HnpXs0kfvK/w8gAKz/fOGneoeP8AnT9NYNrpgBVroA2rrWRIrGommNodAo7ozXtSqnBWFhFQNGwX+6G5xVrIpFaJ3kCFHu8H134cK/vcq6dyVHU3M2u7jrk4iqD8b0TwT++aNgb+MA4RChRKhHYP2Y11hGt4R4` &&
|
||||
`xGIlbQEuBNurpwmS/bmnTUChNpfJhLLQG1p4xCLuxjPDn4x/lACVIQodf7n7n/AAUYJ8QuX5weqBsTT/u8bbVb0E2tahqaEddhcAAZYolBRGCxwUL0hlcLvBq0/wAYty7xsnmJ84bxn25jNxrv1iSUjrJGypCMXG6UWp4wAoH/AEwE/L1wjOk/tnsDhmzy8NifIAXgG6qAirTQwklzxyFXrV9VJfbiJNFlw/kut+sawcd0pXQEUugrr+` &&
|
||||
`fNYrSAq4EUpB2T9+5NuAlsylL0UrKPWA9MLy0IcMZa9BcH4O3i+UD4L64I28AvxR1+8jKjEJO4BaZI6ZJ10zb5GdIUzYG+JhqeHWJLUlHBGgenH2/gYA3rHhp7ca3dzxyCev8As9jpNImVi4EMqSSnV2lZ2ShECjYEriSOeNfxv1jB0lxny/484bXHb37OFjpWpHgPU24dOFtZBQ7Agfz1aRbLy4PZ69ppUApEgKwDEdoe6qhdEeBFKS` &&
|
||||
`9JtMJoW166kMV9tvbiFtLmnmA6T+cS/wB2QFL5MUjH4zcinl8YLwnUzQhq7Mra1/jFTrfgxSR63gRIC8+XHXA6zlvHcLdk3XnGkIb1W37yVAlixRNZiLTTzAjDVCoOtFmUhBGwSAmyMMvmWfY/xo5wneRuRdOWhEDAacie2WTbwR8YhkVyNo6T+eodcesDgA6GfVq3ruAS+pRLRp1UXmrkQE8XSiAKKWFTTWIMRzeVe/I9wj8YHrFrYM` &&
|
||||
`/9M1g9WvB/1kxbzZhmwxN9mNAtXZ794IGhtfLjkSZsXmKjV/OCok8vnHAYO/vAlOg5hiPF0HnAp6c5jsc+nMVegdVhizKay77GUoC3CTDU+gFaCxDnlt9E84fH8KXgsJNpLIABuvgY4lDFXzQSCQwTBaT2eMhML5ZSt/nmccGeIJWpFJRfePA6qhZUpAQRHaEDEwjXRAAEvtNhh4ZS4zpPxlxu5DH2TEM1O4UNJuHkxEdmkxjSq49ZKb` &&
|
||||
`qbmKOKPJ/vcuk+9f73GU6u8gg7Z+2O+g2+8frPjJ21vCIEDrN+UsyaT3HnIFUcHlwcoKV+MTWTvr6wr5JLUFAIUcFDZBbNAk9GKqsikqVVVzYlBR28fwc6pvJI+AFx2HQQX0CCwupSc1On1UgwFXrVWvVs6BIBZp3jUXNQpQaCnfmfjx3mLeCgPg/n8wArkQm4a2QBQtBwKLchpBcaoTwMRKNPTQAjZUuXUX2Dl8BIhTiacip/+oMkFt` &&
|
||||
`pJjoSXjwnvNSdM6wgHu4RS0tEH57MWFgD0o07CoJvDV89Np0iZLw2LrL1GpKcWSrvlducNq/3/APmQ5YjZZC4MoVOjGcNIE03RpTms6tAZl3WuHy5OlfM/xjPMF6dYzAOPrVbTy/GAgQcBtzduzSgej/fGdEAQIRdlCyWh4KskkAVJvoeHX3MWlx5y5eXwMwvsbhUClFzRX6WSGniShOPOxNGol9KXlRbF1KYvlqKvAMKhHcIAzSNxx1` &&
|
||||
`XadzoAEAMjoDP7ZCCw/nKAqwMVxGtDhRu4iLeS/wBKAQ7hKIqq2iiyKX+zDwDQfa1JXVepMTKqaTrC0s2r8YWOg0Md+vOGctjciIeUs+zNi/wh7V8SbU5gVw0s+y4NKQeOpeQcqw2WPmihGjFT+sFOhFaDmKHu514PuqMUoOhsQstHOhKoYlWYKjO2meYZQVEGjSgIjaFMn61Ra1IE2UXETSQSQouol1FDNY1lZoJsxbV3+gVBtQ/7yI` &&
|
||||
`Ww18sYsV8DkSh5nuVb791wLIpoV2uAah43MHb5GSoAEmwKeEilbtoSiQCeygojC5GmwbDy76yO2JEm0OmNCECjaCNIiHibSaBLKJHAQgUiahhjpqhdEXH8Md0ll6pUUoMxqQQbtiwYMgchEabK4I6mj0S2iWAkBUAkqb/GBFF/nPMLVSs3sruRQmUY1vjgmGmNkqMayqIFFQ1rVKtbVxSs2SwI8Hyy8ccAv8TL5lU+wywj4SW3UtiHkV` &&
|
||||
`aMbcjECALxR+XlC2EnefT2aN66eT4+MM6aIt0KNR+TfzlEGQOmgXVNwXVZm3UCIoeUdZp/S3SYYUlLVeH3hs4jtL4pSnUWXDmqV4BUBkIKlfNdoB+7I50PrBQRb7SlQxdmrKuFtnqiiPaugcfdPz2Be1QUEQiF+MTxeY7E0HhJQ6Ku0VrSykniwtk8sDTCZAyHyNpqTBqntFmUjvILZjYNcqI8I7hA83g5Wn2360dYeHSezJ/XE7ognQ` &&
|
||||
`qtn9sOhhvlKABIyaWzggdCGwUBHFEJg2uP+y6qK75VW2FYGPWRUlCmg0HEYUeHBiEAQvRpsmXCKZGCGg05rmna4xLe4IN7dVUaIBYKOvPMAFjyuj+cIk3WJsKCWLCyNFEMQU3mjTSIUAmxCqIUkgDQAABzDAK6wiUeXernMS2KQW3dBS1Bi4BoCrdgNgCqeAV5jEpWqIIQVDaSHTrmOdk4xg00AaPO+NFGPxlMv9xX5ucMG1cFxI2thH` &&
|
||||
`QVAwnGjqg6bhAEdCbIbNjjecWP4wPFxW5vCuI8TCPC4x8zoCrm0tETbJ31MaIvo/FkT558/jCDjO8FKbdYJA0ZYvIQI9uAAXbBoYKKk0awc1j1wzZgfEIg+wKF4XCSuMAro9A6ZMA1V4bFFkEa4aAIQ4XG45gYkSpJVm14StALAW84Wwf2hu1UKtiak68DO+8RtyJm+qBgENjUUoVAU5ECpjN6UIkjrL5IqCgsNCgsFrb7/wB+sfVFW5` &&
|
||||
`45nj9d4TL4z2s/Q+MWbUDC7y4jTBbhCjNXaTlF14rh8nCjiiti2bZNNw28iEWIKdDQVfGaWCjcUNPkjhWAKttREQDTaAkGbY1NEqkTcBtpalIVuARI2IKhzVIIXWHAgxnSiij5M0WDFJ0J6mzFAgXOFFsBp48nvIyUFrD0AXQuEoFk2xSJAlGjYN0oCgxA8tAeNqgx2WNKASvP0uhwXG4UPGDY/bOt6wmhRFSp/wCYWz8F5N6X/fObMb` &&
|
||||
`Utnwue5uVmWBew/YxxCpsoBIIFERRTwYxbUCyS99mFpXaCOEFZjGlKX1pHfvDuxzte4k+02gbQZC46YBhm6qwUDGHAsGrsUPdGqrTHvWzpgTtUc1oAADDOjDCfMg/D6yepA2bsleNx3AhPJjeJSUVtLhC6RwIBNQ1NZrATcJACABwDx+uvLiw7TrXQ7rHguCnXwLp9jXpzjjRmUEIaUIgWG2CoET2OQ6Z9U0G9aTe+4xhNX6chOVR3qM` &&
|
||||
`9iCJABE+F8fOrkjYVePTr9/SYobbD0SUQC9ukY6raKBLRN5ND5cWOd8eQhfsGxAMxcFsa010IocdvXZGsuW61i0TdNDpDn5FaqCDcBiIhwPcZAFYAjEINF5gi0rpuSTcsVHW3piGkWCW2foLs8wFUqljumgaFJF1RbxokBD4DuQQlAtdMIbKoU2W+MN4kgskIkGWr7843hZ0kwGUy7Pyy9UhqktWhLoKb3tzSiQgCaTZA61b6KglEGw0` &&
|
||||
`CYb0tBU8Z7GFY4bkz/AFG8vnEemz5cE1r095LFjJ2nNQvBOpBSc8N6oiHYfAi1xkrFwzsaTISimLhRHeq0IQ2uiCjgihUojTFAaVTE24FQrHrLhT2RNAbsixx3cbcOwzb0PFPnw4HIywSczXAOoUU3et+snCbOU7CJ5fnHBcXUKw5RFPHKBKmDz6N0SoPuqagbDlho5DziYNJG/vjzAVmPoJBW4UkU/QQ7MqVi4wSPANt5RaggiopbTB` &&
|
||||
`2vZO4VXqnYSReqhAFDQrOBGL0aiEltOmMm3Uz2a36lQa6MUoDDIKbDfATBYXT4XYGo7Fg9TKvnA3njY7Q21Tmk4ZSKPEiNtNCQkDmEViSh9v3C5zACWoAZEWBfD0wtcw1moFc+N0jvAwOJAmQJCBKoRWtr3JU1EN2IjgFB3EXUCxCF6qoAKIRovzfyBNDQLBQLVVJWHeoRRbwum0pudbenGqMSkrFLDyHkx4oA2kDoDQfO3lXC4o4mzc` &&
|
||||
`/uv9cqD90JNLNSUCu24+XiiOgCIJAjsJhjCe5OgDj00EqkCRG8PBjaCsL4rPbgPHKOAU9mbYJ4yS/s4RDXHBsr59YiqQgSjZdkfCmazLXqFgnbujmzCopAfTMJuIyLiExWqkkJaPbRJAwZPxJIEgdIjvD72VIn3hTCzbKmBTOw0AkaK8HLDxgklo3J1QDINRXRTxeE/Ls2GmXYHyv0eYo3ziiEIeOHArZEwweAKATEE/OOB+2fMBDGpi` &&
|
||||
`rrDm0bm8knZQoghjdAveNBEADgHjKZshlWsDRty3znQc9XLh4yZMTGmrwblaO90QAotZmWKgWDiexwSAXziCXfgxztxSsDRh+4un0Q8eFrABVAUAxRWQD4QNdpUKCAAMyGC4SlFtlsBGDshmUqooj5ExBmimzaziLp101emQoORo0bsgrQotARimgDEHTHLJORkOLqpdjPk7cq+djr+2+ksPfrBxRgHqK6MI6C+QKJCChgravTQCvge8` &&
|
||||
`yiSvZxxAeXLPg49sJSl3cmIAo9YdV6M8JGCHWWvg6/BoXWBDTgbha8Mk6pWu8CXh0nneHNhiMCZjuYCNihKbPcWiXTaK+fJpzYaFCg+EKwEjerHKDSI+THWIuqgD7FSqXgfFv7yalCBYgUDBC76EK4FFTcA40O03JoFNQAgEUVi8Rf0ssJdiiOo1Ca0GC/PnfX3kSI+DANnXEBfdwGeecHWWJgi2JlIrIMLCzW9YOJAZ4oLBPZ2shAln` &&
|
||||
`k/RcH++KraUAFR5+sT7KJ4NIci+FOsEXgKqAHVcQRkHW4iaT5xXQ7jwr3FFXphCAnylrvwCJk5ZpdwPs1Q8opqKoWMj4p9/b9sWrl81bsh8DxZuXLg7EZmDsVTdGDrHCLJTHVL3aXX0HVBDLtevGPuFDgfyaHzcHVSXDodov8AJHH5Pxk2XA61qB8ZZGsRuko6Ztq63FPlxYxbCHBigKgpYau5l+AB/kIqUTohASCJUsgQMegYD0azZE` &&
|
||||
`iuADQpk4rW2nfN8Z3KD+4BQ+XXzhFJFNmbdgarncsQLl8ESCFKbaTAAARRIog2dKBvtpS4AQa07PzzHzGNN2UE7VehLOmJ4YiFMfiujIoCzYHRMvpiq5hPm+sCSEh2GB+vL8Y4tfR2IIu4APDBtukIMTcdQgKEjdWScKL2+f0W4YgEVVdAG7hDLzLI2HSC6VVogHS+W8OwxUp4csfL3ATutZfqb3gzs64CInkRmCIZcUAWULsK8AsHG9` &&
|
||||
`TcCavUW/Pxg0uKWRRGI+8po1e4LMSKVaghWJU8sh5mPEQ2VU8BWFBIKFbDsIiADYOhCFC6O8D/AOSIvELvzWunWk4HjdyrAsCV2QzAoiTVaa/Bd8I7MhoLSyCD3x/vhF5OKycVVZZX1hF6BKQk0ER+RMbm+cM0cmxPZ7xeZ7k2wKJ0jWdoLM2XMArUNIUqyuj8YNt7eDwWJpggaCxmfnz6dGvJILNaHBRy74QgWoAWqoAK8x0lEEq06U` &&
|
||||
`RBUOwhUD+BjUKzFNPhV9e/8Oh6GDXVIc+LvXl3hoGIt5PPk+c6CQ7HgVh3gKqbXEPEdFTpOwSgXps2oCA0jVK6qLPtwx1ckTkrYEaIIfJippYKSISaS+HWvgwWCtb2Fi7DnDvujg1vqMyDfkBP7q/sZfJGuEFDwcA9HS2hjPSm1tiEavVmu5crjZg0VldpQgQtGDv4aCNAGgDxnCYwYp3KPdZ4PWMLtiNCfeSNO3hFnoPycLAcDsbTUN` &&
|
||||
`O7oTeApEtUFEfInnD9RLJGrdPsQvsPTGcJJlAonwmMoLDFK0BQHSI4w2ZsB127QWbqDwxgw+O4IILKWERVFCaQAbMBvAzbPPcYlgvLbsN4tkC0EHgHMBFSrWZi8CgzQxoIoQV3BoTjNawYQXd94YHcmA/u7hE3QnUGlKb5T7M83kzxEvnY4mXUU8T3P4GTDhARFJbS8EMtYOxqiY6lKVCslLpF2mjOCGlGyUH7PeHnqOa1dHgXzfvJU1` &&
|
||||
`6SX5UfpJlOneg3Pj4PR4MQWCDh3JWqQG2x84oxNZGZjyQL4H5yVwbm12NBG0JNpkP0hACKqLpUBCgKSYkhkoPxooQ2AJE+E/TdML7A4kKgUVVgi1CFCJth9s8DgNB8qtTFU/TTFri4UaUN5syhS9MJ2E7mII70+MtpiWh7dPhPCcTwiYj1+xULfIImhsBBM8mH6MWCPJdjZNx4+cMGwkEIAGgPWJGfNH/mOPl6wJ17RTVJS+BfOBPkcw` &&
|
||||
`IhIXB/kFiEqVddtBZbV1dejFLkG140+n9zDCMwnhJT8mb/AA1/AVdNNLLMTVDzDQw+H5y4GuPx84UOhcQLoXfAiqFcBv2nAe/+e0CKru1rSIFIoOv4l4/oUEHvb8HzkRkzc+fgx2dvYKaRTi26TrZmnP4Nhb+h/D1hpQSzIRvAUIGbAJciHUMNi6e4Lr04LRrztMNpxPqWDy+jKj0GFVTwF6cToxeuKhGRT7YFfAHjEMI0FKMntHy184` &&
|
||||
`EmPaiuR1fB+cV2mxkF1/vR/BD+4BaPhVrwOjCMqIwr8sh+xjl1o/tj+jqgSkqSH2dwU2GtuH1iYSvE6ZcgKVB0/Dr98BMiKCwO8wAD5LyZbUo6Umw0B9ZBdr85c3grhgQQggItEeugXOgqbQ+cJ3G+jBaa+0nwOgnSKRIcb7HeSqQVR0is/tP2x/DdBhrSFDSb8PmEzOg4kSkRilEcYafgCC3REDaszj5ZyeKBRSIiJTmEnZQUeYpQgH` &&
|
||||
`KoyyPDhcWdkDxu8UiheLKjBpCZpbRV4t87EUJr1qjWsjLM/eRtQfbz0Zmm7AEA21BuTyFTVEhQwg/Iof7ZvIQCD49cUx4CEnhQB9sMODKzybQ0UOWCyu7hAU75qiGCJNujyxDg45AmxPJmsOcqRAhqIUfDO4xaIG76mqgfESEIYpW8oRX0AFWmIufPRKh0igUh1DpGQ/s5AQkFRwelp7EwehkO0GsVcFSUBguVFoNdvbmn4qZa9GWBUo` &&
|
||||
`XpJBBsTBd4gH9G7F+Ty+mV1kbp9hiztshXhWtP0B+jsPj9POSUeYHeKIBQ/wAZvlQ2qmmefrNfVBShQJu4aVttyAQACML1zZqtFGVRs1P0hNsyz7ViJNArBVA+UyJ6DvbmyxThgbej1kJ3JoSiE6CfYdQTmqtC8kV84+t2Q0sUGukEVFDDDNplorRzSn2wDwRCQoeGi+smityiiWbgpEUlLcgIpxSGEFFIRKlGBr6D2AvSJKLX78qUJK` &&
|
||||
`kU6bADgVUeAFDB+nFIUsRooiIoWEHRgmBxAmcIgECrniCDxH14xSJgwS/ebWtLR/KZxg0s/IQr8Z5RGUT4DGNibsiunZGz2J8ORF7vDjoJIRTiNi72AfC17nnEgMgAwGqAW7BQBEcxHVNZ+4aV4DiBY2AEAGGtilEbDm2rmoKI1XhIhSG77AwTalSEB24ADr8t5f5mAmJN6ROPnEdgpkMHEKEFWvGMxr1McQAResbtjf1Y6TXqeWiiAM` &&
|
||||
`azgS1LtR0WBKG74em9mu+dEKrNuBl/SGoQqTRuvGnCeLsPEguP0BQogGk3Y4X0RJQXsVpDb43gpVJmigPxxxDpen4wagxPgEpag34wbCwBahgoYJRYOPQvX60N0gl3b+Xp8XCIfQGWxj7cIa0GArfPM9pqQQ8XYjHyMrScKbTWfLaU+gjO5o0INy1srYRE2vca8QtddFoEkEkOY3a7FLlEvNN3jQilqjLVhLSUV4AalifbNAH3miSRBt` &&
|
||||
`SMEqCCxg418slIl1mQEHUMD5TAAABoKqCmqDhytkKGBKLWaJuAXHiNDFfKaqvpThZhxCiXvR0moeTxfHDcF0FBKPKI79nvCfNsVvQalUACqgZ5cELgFGQW5EC4IdCgQFGICFSg2PQ+Qe4CGgCCLwEEMDJdwwWrRQEFPBUGjzjRKHjCOjWUH8DOxMAGsHlS4BGqmrjgXEm+0FYKTgaQoHniHaJ2DTN3n6MRZXfKz5+cAJdt1goKh84Aim` &&
|
||||
`McoEH6aSfUNYO7VlAD6C5p3ToAqVoD0BgQNBhfQFS3oImZqV6FwFlEEtahnBcBu6waWo3hIaDjDYp67kWl1EEVeHesouTFAig02gfSCVgCmzxcf0ABBbQIa/OgfbkwwV/e2MVPpMuI+i5vXlHDKhePHBXXE8QRXYjRgYhEKaGLiE0KkRFIgb1JkKnJEiCao2G4vBAVRTBAIE1QBYzeHsxahBFQ2gi7HDBP0FkPI6T5MpqD7DjCarVyHS` &&
|
||||
`wwnhG15qHOmMm8QLeNgaIu5hkgswKBNIiI4BsbsAOkTIkZUwYLFiAXZ8jFmiCkLNoCJyQ8jwSABbRMDwAQEBh7FWrG8oKKhUF0aIGCAh5zyjwsw4cwCi0Ljjp5bFVOuh5hKxmoAVapZisA8THf2VlTd86Pxk3XITjcJQ2FWvz/AHx3UJoXCOx2GF8DxlmzNu5DpqQMmD2xJ6H1gtHe7ZARUSuzN0RQbQPAVKznv9Hm8B0YfPjCNEF3XN` &&
|
||||
`gIEd/okTwVtdUEALqqlRsTi9GAK1Vm3DYJgiUbmzp6TPagU/A7n2NWmYpAWIkRDErvD3r+GQDxJrJQvGMAq9JHlfOO+tFODFlAZpfOsTe+v4wCSJe5qyieYvjXj434ehh9BE9jlXyft5NTCaBSlS1UCatftXq5USC4RzRfY2/+4pHAUm8uETFAWALg5oWO7PHmSHDLhwBfYBGlEQKhdMh0g9ydEXSy8cDCQJMoNjaXBbLcU0Ngb4vzk8` &&
|
||||
`gsjbgGhSBAs8tkiNfjBjrHcdBmlQQAKqsM0lBKwp8MU/ZchyB58ZFqp7c0BYGjsOzEoZK3eUmwJsEbCDXvYwwdheH10i4XOx4J6fdxKUKXbd+8L1nRDZgsVdxxo/EOO0z0txesd4wul2SCI0Cqkg2GGAHBsC5DQQypL8fqUBOhQUSKuk+fTGCdSjaf+nMVVvc+DFyqqw1BkCdNdzlBdYLal99yfaziFfeUzZI7tgbdu33gEtNFAQPYtD` &&
|
||||
`4esWgFG1+yEsU5S0RiPD2j0C3eENLTxTChqIFEfCOx9jE85YTncepxP3xGxcKyesdQOr7N8p3x3EA9ieYPK10EZ5iCINhvRGR6T2qeqzWsaE/CZUPRbdHlYjnXtHsG7zyeV1A84AgIE+xroYLsIoKEpspgPaFGOqLQxcVfh4ICCg1a1ABbDNK2qKGIW0ehS2PTAuaAbtw0J9naw0OdTqwewM3FDW26wuks9vtrVEhaDw3NkbCuL4vWj8` &&
|
||||
`wAioy2jGmoFw8iaHYygR8gcTEWUJjhUobmjmngjgPa4wENA5THgScoD0Mh1yV3JX370ZRR0ut/8zVViHjByoHeCEXnXtwEZTAGqYXD+MWOXGh8YqyvDx88KXuS8hMCEuxCoO57ueP12GJmXYu3Qi1MmjHyNm6YZssE3Y0jmus4drGxoq7utXWSmU5dAdNBnSgaMBAvUfQAhvErA19YI2DeQzKPMULMeBgW9PS4aJDlNGI+YcmGiFx8CB` &&
|
||||
`KMF+RYTPhQxQe30HV4G3KqOh/Bc7n1NuNgdk6iHkT8nyKNFMrJa1KGgYEfspfExIQBBJ09P75RjdQob0U0QykDXAyEi5sIiCfOzZvR4MOCy99wfrEYssonlnrf752gNrBigIpNydA1KntgzpRllUSTZCx6u4rDFBFISjGpWFlixm8KUoIfJQbPr6e8q8VULUqktqTwUN8ixwohI7UKYFLQqQylAZPXnRWUOLUfeDAjtqIpKZBEgZjhgu` &&
|
||||
`uni34xEDbey4NAF06c8GwnvJQFZEI8he5pfYVkHQX1htwAUgG74MNXrbdmYmq4NmUcPedUQeVIEAroCB/AZsfSuhkI4CxgXWoO0lATFpsoRslIopesBskfOnHYWQzHJZ2Ka06XEHRbGkRPhJ3uQey5LCgZvso68QSVU6I4vofeb+h8OdF+2StWHALjBYyEFjUYJoMnAilCV1dlpoBANVhuYwbNOMqRrcCSLq4sXneHpWKH4fpyYYD5ZE` &&
|
||||
`I4tUDxUwYwFkAHgDRhBQJKEt05RXWmt8ON32L5UFEElIjFpRJ+zw1sD5Ix+EYAOTBKAVjRH5E3N4A8hAFnoaNSTSIlEcbSoQonA6Ud7w6aZhGSwFicduS2LmoAYsWCMCGwQYjyiCCipI7NGnAEBdCoxfdcVFK6rCcbiwgz5UDY0nwY5q7w2ABEd1PMPFEMMUqCeGSzLM0pTWnneFDB8mGmEPPnD6BPOblVMQmaXHtXcBYbKF6marT6hA` &&
|
||||
`EhBp4mCxK0aRpAsOGgDwAeM3/C40DjJppDYgqgB3cSI3ZErodWIC1qGHleR0FBFgElKdm8kwSpCUAlW3WbxQxb6MZxBZCqb1pdZUWuo0FCsB2BdUrsBUgeac/OSITfMJIAeDHcVH5wYJ/nOL+LDDVfXn/3BlJfWIVpwpirLhbrjWIdZfukaA3m9H4wNKrcHd8ZV9tuae+JguAeHIwLIeseGHl977Jdz3hLEiIi02KJ0GIjCiaxlC8+QC` &&
|
||||
`hqV9gRfAjWfCmxsnN8YzftEGgGEhAU/DFDxSEFC0abmuU81ahbDkEUUpugAZ3s7HnBogXFKoB3TwFYRxYo7XUzwm9R5IlTA49A1OU4CkR01CUBx7c6hmsaH7mV5w1ugoqTVpsuBa6wBBQkVaDVdnuUG0BBhtfIadqogxoWWWti3QeK9x0xYG7OX47/AITuQeQqQSFEE6oz8ZJg1Xr0oKgp1SYOz6Xp1pQbNakADnAYJfg1/GUi4nSjIB` &&
|
||||
`jVWU03M5JAIA/ZB+kcA78TfFF4FTdXQ/oVYgYTRYe9mjUX45WFHhB0fIYDQP4htVVRRCTrcOs0ODRNC0CGlqxBbFzWCGLrznwWNb2uVJhxheneVbjopBNr0g+veUYpUWitq3tJbAgPC4N4kVzcMypvUz5OsuC4gnjNBujGVB7gBPlmkgp8frEijXHI6fVxYwoEgpYwuM1o6lS1Vdoqq7VVw0XnnLB3gxpAAUCwXzK/u4qNpA8pt1sWE9` &&
|
||||
`Lg1fXyO6nABcnHXfYkCfgp9ndx/bAKEchEg2bjVTQhkPWa1myCiMV0nG6XUzvY30Zw0aAws1ehIOjhAKLpSql+KCMNykahA1qe1uP3/HaLWI4jgFEYRooLArqJmqbfh7ngKaDHI7glh8IK/Yo6Uw4PY1lgjgob9BrAa49Chbl2IBY3BySwM0pUp4TiOxEcEMwnwcS8cEafGDT1Zqm3kDG6nb4yW4GiSoLOD5PTiHiZr9e8RdCYyKEzlI` &&
|
||||
`jFwR8nC/UfX2W+b+zcOSI8h3HnCrsyxhkJ89yicUT1h0n3nkMWSgyUrcYi9O5VVpM9cMKEX1hKiJdayCXXwYvWrg2QDe1TR5p7yzpAmMondTyoIDaMF+FBsF4nH2+dfo8yBrESliccCE/lLocinwvVXqgnEAJWuRWw2KCrpUCzMDWFbqyHwcyCUcr0/wBQNTjLpsCERGUnPJdZAhJttFQmAxr1Jyn5g/Tt/wAn4AKIgWtoIhBCWul0it` &&
|
||||
`ENkG7hR6pomg9iilLBWMVC/DLTD1zAqxplIMiOOAgr++Xh6Aocj69HzfOR+IaYNL0mIImGjNTKHznWYKQwg03hIYxJ5H+cWrgHCO6o+MBSlM3IC5ZecxUCwvn1ghaPLszFgQgke8IOBLD4IWG0XzrCLJTNUvl+XpZ7/nhB4maiGkRRHpkkIDAQmgv4wCM+AYBEKgCcNsqrLyU0HopH2n5w2kUDhCtYbnAoAq4TMkR3A2J4w5sIAy2BeF` &&
|
||||
`Z8q7rd2cRyw1RsTFVPMODebg8YUVQfWn4yigJaVUCs0e2OrB4wgtWm3zO7+DwQNBkGPTuUHmbG+M1oeMRhX0wUMIjObwt/O8CL4zU+n+c1PxgAutt4J1UubD7ueNG/Eu/2H98nuQiRiH0U8/HnGSisCg3qp9ut63yfH/FpgQFM8rZEkJLQ2j484U7KlmiF7JvSUAmYROn8YwIH4wj/AFD3j0thk65AYNpo5uaesPdK/LjkRo4aTFRG/O` &&
|
||||
`SW6ExMPxif3YzaG8kp5cHRrIYojAn0Y60YYiOJrFkVvX1klkcgCcv5/vxbst8agdhBCvDyXCZAIBwM8f8AH8YJBIUPWFlBuInkopn0Nk6cKjabwEBrK/HiTMYGOxPxinRe/GaTPBRc2NK2uv4yKA5cTeIF5M9Dvxl0cOvG81h8ayyDy4ts0Z23zmQN+cNFG+Y9NoONy6wD7ZyBu4QMExGIAlB2JPaYZLdGlTBtUMQIrP8Ak+P0D6+5lR` &&
|
||||
`E/bDMypppEhE07DWMEoVVAs7VsMngBgCMuxWk+Jkca9TmMA5kRGjH0ObPrJJ+cYhJMQrgFMb4yPWGFFCuEj35jXcXRjIq2Y5Lm4F4ZQHowSOBY2Yu5ZnDDKbcafkmHnK0BlB9nXf8AndMK2ptcvjPMbbd0Ij9XkaNQRGY4SxCwNI6sgQKcFgmgqTeWLPSZsDS+caNeyZR8C37zShvIoZCtzFEc8TPbENSVnb0Bphp086wgE2fGM7bBJ7` &&
|
||||
`wkdDJ2IOG2Ca1iMEiEBQIpyCmT+gyz4BEB8NXrY6x82/sSdFUjIJppRbXQBiuwaICo2DQudzgWwBQ6FKtnkM1QVGEYVLJNKLT2Yo2HPjGmLTWsO1KccEuy1PH3ir9GdtDG3tr3/nLNsimH7OtPM8SJ9Du3K8WW6y03lYVAear6GuhcA4PSJsPLbXf9DZiQiJpwl7IcpuBLGHC6zxQ43Io708Ajlz5aHJv3y+waaA4CvQ4CUROkwLSzBl` &&
|
||||
`ASyTIPIuBFAvMG2PYaP/uVCA6esFvIe3ajSevOulGVZeLCANDWlAEREcMm/ZcGlNRo1IeUpoARwkfk8iD5OZ+P6G4CAIkR84viu+H1ss+mHHzSUnnSb++AKOdct2+Csm+Soh6D4IE1AHSEXAl2JWMNCzy5dbywRSFE3xMD1TA2q6V7VSJs1xBkeJj1SSDUu+Q84TuRykbe1ZtxRwABQqD7hSKosgCpBzm4aeEfADxGo0cAmv0/P9KmTp` &&
|
||||
`hQiAUN5gggIGT3KHnvRQVoIReBgABKJYTpV03o3zVwkAwoGokR161hoQCAGg/qHj/+RP/Z`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_42</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>demo - object page</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,47 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_43 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
* TYPES:
|
||||
* BEGIN OF t_flight,
|
||||
* carrid TYPE string,
|
||||
* connid TYPE string,
|
||||
* fldate TYPE string,
|
||||
* price TYPE string,
|
||||
* END OF t_flight.
|
||||
* DATA: mt_flight TYPE STANDARD TABLE OF t_flight.
|
||||
|
||||
protected section.
|
||||
private section.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_43 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
* SELECT carrid connid fldate price FROM sflight INTO TABLE mt_flight.
|
||||
*
|
||||
* DATA(page) = z2ui5_cl_xml_view=>factory( )->page(
|
||||
* )->scroll_container( height = '70%' vertical = abap_true
|
||||
* )->table( items = client->_bind_one( mt_flight )
|
||||
* )->columns(
|
||||
* )->column( )->text( 'Carrid' )->get_parent(
|
||||
* )->column( )->text( 'Connid' )->get_parent(
|
||||
* )->column( )->text( 'Fldate' )->get_parent(
|
||||
* )->column( )->text( 'Price' )->get_parent(
|
||||
* )->get_parent(
|
||||
* )->items( )->column_list_item( )->cells(
|
||||
* )->text( '{CARRID}'
|
||||
* )->text( '{CONNID}'
|
||||
* )->text( '{FLDATE}'
|
||||
* )->text( '{PRICE}' ).
|
||||
*
|
||||
* client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_43</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>test - documentation</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,16 +0,0 @@
|
|||
CLASS z2ui5_cl_app_demo_44 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_44 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
client->set_next( VALUE #( xml_main = z2ui5_cl_xml_view=>factory( )->label( `Hello World!` )->get_root( )->xml_get( ) ) ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_44</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>test - Hello World</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user