update-view (#647)

* update-view

* abaplint fixes

* update abaplint fixes

* abaplint fix

* abaplint fixes

* update abaplint downport fix

* update project structure

* downport fix

* abaplint fix

* abaplint fixes

* abaplint fixes

* transpiler fix

* update names

* description update

* update description

* small adjustments

* small corrections

* timer functionality

* timer update

* Update src/03/z2ui5_cl_cc_timer.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* update view logic

* added controls new view

* abaplint fixes

* abaplint fixes

* update dev dependencies

* update view

* update view

* abaplint fix

* update view controls

---------

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
This commit is contained in:
oblomov 2023-11-16 17:21:16 +01:00 committed by GitHub
parent f1ec72f506
commit b0bb5e9a9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 1318 additions and 666 deletions

14
package-lock.json generated
View File

@ -9,16 +9,16 @@
"version": "1.0.0",
"license": "MIT",
"devDependencies": {
"@abaplint/cli": "^2.103.6",
"@abaplint/cli": "^2.103.7",
"@abaplint/database-sqlite": "^2.7.119",
"@abaplint/runtime": "^2.7.135",
"@abaplint/transpiler-cli": "^2.7.135"
}
},
"node_modules/@abaplint/cli": {
"version": "2.103.6",
"resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.103.6.tgz",
"integrity": "sha512-htiMy5bLmN4f1+3jgmVeUFYZcjD3/qC381xl+8TuRapcFwKHCRY/uxF+6f1d+0NpWjW23uZSYs1aFz54n0Taig==",
"version": "2.103.7",
"resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.103.7.tgz",
"integrity": "sha512-cIf4PBrvk85SZ+EZnKQOEVXe9G0SWKT03K2pp/+P6mCO08bw4sRi0aNeJsMaSp9/iwuWqno6J7s01c0Ua6uUGg==",
"dev": true,
"bin": {
"abaplint": "abaplint"
@ -87,9 +87,9 @@
},
"dependencies": {
"@abaplint/cli": {
"version": "2.103.6",
"resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.103.6.tgz",
"integrity": "sha512-htiMy5bLmN4f1+3jgmVeUFYZcjD3/qC381xl+8TuRapcFwKHCRY/uxF+6f1d+0NpWjW23uZSYs1aFz54n0Taig==",
"version": "2.103.7",
"resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.103.7.tgz",
"integrity": "sha512-cIf4PBrvk85SZ+EZnKQOEVXe9G0SWKT03K2pp/+P6mCO08bw4sRi0aNeJsMaSp9/iwuWqno6J7s01c0Ua6uUGg==",
"dev": true
},
"@abaplint/database-sqlite": {

View File

@ -19,7 +19,7 @@
},
"homepage": "https://github.com/abap2UI5/abap2UI5#readme",
"devDependencies": {
"@abaplint/cli": "^2.103.6",
"@abaplint/cli": "^2.103.7",
"@abaplint/database-sqlite": "^2.7.119",
"@abaplint/runtime": "^2.7.135",
"@abaplint/transpiler-cli": "^2.7.135"

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DEVC>
<CTEXT>abap2UI5 - framework</CTEXT>
<CTEXT>abap2UI5 - obsolet</CTEXT>
</DEVC>
</asx:values>
</asx:abap>

View File

@ -1,19 +0,0 @@
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
DURATION short
RISK LEVEL dangerous.
PRIVATE SECTION.
METHODS first_test FOR TESTING RAISING cx_static_check.
ENDCLASS.
CLASS ltcl_unit_test IMPLEMENTATION.
METHOD first_test.
DATA(lo_app) = NEW z2ui5_cl_app_hello_world_test( ) ##NEEDED.
ENDMETHOD.
ENDCLASS.

View File

@ -1,17 +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_HELLO_WORLD_TEST</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abap2UI5 - hello world demo test</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,144 +0,0 @@
CLASS z2ui5_cl_view DEFINITION
PUBLIC
CREATE PUBLIC .
PUBLIC SECTION.
METHODS to_parent
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view.
METHODS to_root
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view.
METHODS to_previous
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view.
METHODS stringify
RETURNING
VALUE(result) TYPE string.
METHODS add_property
IMPORTING
val TYPE z2ui5_if_client=>ty_s_name_value OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view.
METHODS add
IMPORTING
name TYPE clike
ns TYPE clike OPTIONAL
t_prop TYPE z2ui5_if_client=>ty_t_name_value OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view.
METHODS ns_m
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_m.
METHODS ns_ui
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_ui.
METHODS ns_zcc
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_ui.
PROTECTED SECTION.
DATA mt_prop TYPE z2ui5_if_client=>ty_t_name_value.
DATA mv_name TYPE string.
DATA mv_ns TYPE string.
DATA mo_root TYPE REF TO z2ui5_cl_view.
DATA mo_previous TYPE REF TO z2ui5_cl_view.
DATA mo_parent TYPE REF TO z2ui5_cl_view.
DATA mt_child TYPE STANDARD TABLE OF REF TO z2ui5_cl_view WITH EMPTY KEY.
CLASS-METHODS b2json
IMPORTING
val TYPE any
RETURNING
VALUE(result) TYPE string.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_view IMPLEMENTATION.
METHOD b2json.
* IF val.
result = COND #( WHEN val = abap_true THEN `true` ELSE `false` ).
* ELSE.
result = val.
* ENDIF.
ENDMETHOD.
METHOD add_property.
INSERT val INTO TABLE mt_prop.
result = me.
ENDMETHOD.
METHOD add.
DATA(result2) = NEW z2ui5_cl_view( ).
result2->mv_name = name.
result2->mv_ns = ns.
result2->mt_prop = t_prop.
result2->mo_parent = me.
result2->mo_root = mo_root.
INSERT result2 INTO TABLE mt_child.
mo_root->mo_previous = result2.
result = result2.
ENDMETHOD.
METHOD ns_m.
result = NEW #( ).
ENDMETHOD.
METHOD ns_ui.
result = NEW #( ).
ENDMETHOD.
METHOD ns_zcc.
result = NEW #( ).
ENDMETHOD.
METHOD stringify.
result = ``.
ENDMETHOD.
METHOD to_parent.
result = mo_parent.
ENDMETHOD.
METHOD to_previous.
result = mo_previous.
ENDMETHOD.
METHOD to_root.
result = mo_root.
ENDMETHOD.
ENDCLASS.

View File

@ -1,243 +0,0 @@
CLASS z2ui5_cl_view_m DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_view.
PUBLIC SECTION.
METHODS input
IMPORTING
id TYPE clike OPTIONAL
value TYPE clike OPTIONAL
placeholder TYPE clike OPTIONAL
type TYPE clike OPTIONAL
showclearicon TYPE clike OPTIONAL
valuestate TYPE clike OPTIONAL
valuestatetext TYPE clike OPTIONAL
showtablesuggestionvaluehelp TYPE clike OPTIONAL
description TYPE clike OPTIONAL
editable TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
suggestionitems TYPE clike OPTIONAL
suggestionrows TYPE clike OPTIONAL
showsuggestion TYPE clike OPTIONAL
showvaluehelp TYPE clike OPTIONAL
valuehelprequest TYPE clike OPTIONAL
required TYPE clike OPTIONAL
suggest TYPE clike OPTIONAL
class TYPE clike OPTIONAL
visible TYPE clike OPTIONAL
submit TYPE clike OPTIONAL
valueliveupdate TYPE clike OPTIONAL
autocomplete TYPE clike OPTIONAL
maxsuggestionwidth TYPE clike OPTIONAL
fieldwidth TYPE clike OPTIONAL
valuehelponly TYPE clike OPTIONAL
width TYPE clike OPTIONAL
change TYPE clike OPTIONAL
valuehelpiconsrc TYPE clike OPTIONAL
textformatter TYPE clike OPTIONAL
textformatmode TYPE clike OPTIONAL
maxlength TYPE clike OPTIONAL
startsuggestion TYPE clike OPTIONAL
enablesuggestionshighlighting TYPE clike OPTIONAL
enabletableautopopinmode TYPE clike OPTIONAL
PREFERRED PARAMETER value
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_m.
METHODS page
IMPORTING
title TYPE clike OPTIONAL
navbuttonpress TYPE clike OPTIONAL
shownavbutton TYPE clike OPTIONAL
showheader TYPE clike OPTIONAL
id TYPE clike OPTIONAL
class TYPE clike OPTIONAL
backgrounddesign TYPE clike OPTIONAL
contentonlybusy TYPE clike OPTIONAL
enablescrolling TYPE clike OPTIONAL
navbuttontooltip TYPE clike OPTIONAL
floatingfooter TYPE clike OPTIONAL
showfooter TYPE clike OPTIONAL
showsubheader TYPE clike OPTIONAL
titlealignment TYPE clike OPTIONAL
titlelevel TYPE clike OPTIONAL
PREFERRED PARAMETER title
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_m.
METHODS shell
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_m.
METHODS title
IMPORTING
text TYPE clike OPTIONAL
wrapping TYPE clike OPTIONAL
level TYPE clike OPTIONAL
PREFERRED PARAMETER text
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_m.
METHODS button
IMPORTING
text TYPE clike OPTIONAL
icon TYPE clike OPTIONAL
type TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
visible TYPE clike OPTIONAL
press TYPE clike OPTIONAL
class TYPE clike OPTIONAL
id TYPE clike OPTIONAL
tooltip TYPE clike OPTIONAL
width TYPE clike OPTIONAL
iconfirst TYPE clike OPTIONAL
icondensityaware TYPE clike OPTIONAL
ariahaspopup TYPE clike OPTIONAL
activeicon TYPE clike OPTIONAL
accessiblerole TYPE clike OPTIONAL
textdirection TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_m.
METHODS label
IMPORTING
text TYPE clike OPTIONAL
labelfor TYPE clike OPTIONAL
design TYPE clike OPTIONAL
displayonly TYPE clike OPTIONAL
required TYPE clike OPTIONAL
showcolon TYPE clike OPTIONAL
textalign TYPE clike OPTIONAL
textdirection TYPE clike OPTIONAL
valign TYPE clike OPTIONAL
width TYPE clike OPTIONAL
wrapping TYPE clike OPTIONAL
wrappingtype TYPE clike OPTIONAL
id TYPE clike OPTIONAL
class TYPE clike OPTIONAL
PREFERRED PARAMETER text
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_m.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_view_m IMPLEMENTATION.
METHOD button.
result = me.
add( name = `Button`
t_prop = VALUE #( ( n = `press` v = press )
( n = `text` v = text )
( n = `enabled` v = b2json( enabled ) )
( n = `visible` v = b2json( visible ) )
( n = `iconDensityAware` v = b2json( icondensityaware ) )
( n = `iconFirst` v = b2json( iconfirst ) )
( n = `icon` v = icon )
( n = `type` v = type )
( n = `id` v = id )
( n = `width` v = width )
( n = `tooltip` v = tooltip )
( n = `textDirection` v = textdirection )
( n = `accessibleRole` v = accessiblerole )
( n = `activeIcon` v = activeicon )
( n = `ariaHasPopup` v = ariahaspopup )
( n = `class` v = class ) ) ).
ENDMETHOD.
METHOD label.
result = me.
add( name = `Label`
t_prop = VALUE #( ( n = `text` v = text )
( n = `displayOnly` v = b2json( displayonly ) )
( n = `required` v = b2json( required ) )
( n = `showColon` v = b2json( showcolon ) )
( n = `textAlign` v = textalign )
( n = `textDirection` v = textdirection )
( n = `vAlign` v = valign )
( n = `width` v = width )
( n = `wrapping` v = b2json( wrapping ) )
( n = `wrappingType` v = wrappingtype )
( n = `design` v = design )
( n = `id` v = id )
( n = `class` v = class )
( n = `labelFor` v = labelfor ) ) ).
ENDMETHOD.
METHOD title.
result = me.
add( name = `Title`
t_prop = VALUE #( ( n = `text` v = text )
( n = `wrapping` v = b2json( wrapping ) )
( n = `level` v = level ) ) ).
ENDMETHOD.
METHOD page.
result = add( name = `Page`
t_prop = VALUE #( ( n = `title` v = title )
( n = `showNavButton` v = b2json( shownavbutton ) )
( n = `navButtonPress` v = navbuttonpress )
( n = `showHeader` v = b2json( showheader ) )
( n = `class` v = class )
( n = `backgroundDesign` v = backgrounddesign )
( n = `navButtonTooltip` v = navbuttontooltip )
( n = `titleAlignment` v = titlealignment )
( n = `titleLevel` v = titlelevel )
( n = `contentOnlyBusy` v = b2json( contentonlybusy ) )
( n = `enableScrolling` v = b2json( enablescrolling ) )
( n = `floatingFooter` v = b2json( floatingfooter ) )
( n = `showFooter` v = b2json( showfooter ) )
( n = `showSubHeader` v = b2json( showsubheader ) )
( n = `id` v = id ) ) )->ns_m( ).
ENDMETHOD.
METHOD shell.
result = add( `Shell` )->ns_m( ).
ENDMETHOD.
METHOD input.
result = me.
add( name = `Input`
t_prop = VALUE #( ( n = `id` v = id )
( n = `placeholder` v = placeholder )
( n = `type` v = type )
( n = `maxLength` v = maxlength )
( n = `showClearIcon` v = b2json( showclearicon ) )
( n = `description` v = description )
( n = `editable` v = b2json( editable ) )
( n = `enabled` v = b2json( enabled ) )
( n = `visible` v = b2json( visible ) )
( n = `enableTableAutoPopinMode` v = b2json( enabletableautopopinmode ) )
( n = `enableSuggestionsHighlighting` v = b2json( enablesuggestionshighlighting ) )
( n = `showTableSuggestionValueHelp` v = b2json( showtablesuggestionvaluehelp ) )
( n = `valueState` v = valuestate )
( n = `valueStateText` v = valuestatetext )
( n = `value` v = value )
( n = `required` v = b2json( required ) )
( n = `suggest` v = suggest )
( n = `suggestionItems` v = suggestionitems )
( n = `suggestionRows` v = suggestionrows )
( n = `showSuggestion` v = b2json( showsuggestion ) )
( n = `valueHelpRequest` v = valuehelprequest )
( n = `autocomplete` v = b2json( autocomplete ) )
( n = `valueLiveUpdate` v = b2json( valueliveupdate ) )
( n = `submit` v = b2json( submit ) )
( n = `showValueHelp` v = b2json( showvaluehelp ) )
( n = `valueHelpOnly` v = b2json( valuehelponly ) )
( n = `class` v = class )
( n = `change` v = change )
( n = `maxSuggestionWidth` v = maxsuggestionwidth )
( n = `width` v = width )
( n = `textFormatter` v = textformatter )
( n = `startSuggestion` v = startsuggestion )
( n = `valueHelpIconSrc` v = valuehelpiconsrc )
( n = `textFormatMode` v = textformatmode )
( n = `fieldWidth` v = fieldwidth ) ) ).
ENDMETHOD.
ENDCLASS.

View File

@ -1,17 +0,0 @@
CLASS z2ui5_cl_view_suite DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_view.
PUBLIC SECTION.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_view_suite IMPLEMENTATION.
ENDCLASS.

View File

@ -1,58 +0,0 @@
CLASS z2ui5_cl_view_ui DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_view.
PUBLIC SECTION.
METHODS simpleform
IMPORTING
!title TYPE clike OPTIONAL
!layout TYPE clike OPTIONAL
!editable TYPE clike OPTIONAL
!columnsxl TYPE clike OPTIONAL
!columnsl TYPE clike OPTIONAL
!columnsm TYPE clike OPTIONAL
!id TYPE clike OPTIONAL
PREFERRED PARAMETER title
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_ui.
METHODS content
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view_ui.
DATA _view TYPE REF TO z2ui5_cl_view.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_view_ui IMPLEMENTATION.
METHOD content.
result = _view->add(
ns = `form`
name = `content` )->ns_ui( ).
ENDMETHOD.
METHOD simpleform.
result = add(
name = `SimpleForm`
ns = `form`
t_prop = VALUE #( ( n = `title` v = title )
( n = `layout` v = layout )
( n = `id` v = id )
( n = `columnsXL` v = columnsxl )
( n = `columnsL` v = columnsl )
( n = `columnsM` v = columnsm )
( n = `editable` v = b2json( editable ) ) ) )->ns_ui( ).
ENDMETHOD.
ENDCLASS.

View File

@ -1,18 +0,0 @@
CLASS z2ui5_cl_view_zcc DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_view.
PUBLIC SECTION.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_view_zcc IMPLEMENTATION.
ENDCLASS.

View File

@ -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_VIEW_ZCC</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>namespace z2ui5.zcc (custom)</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DEVC>
<CTEXT>abap2UI5 - custom controls</CTEXT>
<CTEXT>abap2UI5 - framework (fw)</CTEXT>
</DEVC>
</asx:values>
</asx:abap>

View File

@ -1,14 +1,14 @@
class Z2UI5_CL_FW_APP definition
public
final
create protected .
CLASS z2ui5_cl_fw_app DEFINITION
PUBLIC
FINAL
CREATE PROTECTED .
public section.
PUBLIC SECTION.
interfaces Z2UI5_IF_APP .
interfaces IF_SERIALIZABLE_OBJECT .
INTERFACES z2ui5_if_app .
INTERFACES if_serializable_object .
data:
DATA:
BEGIN OF ms_home,
btn_text TYPE string,
btn_event_id TYPE string,
@ -18,30 +18,30 @@ public section.
class_value_state_text TYPE string,
class_editable TYPE abap_bool VALUE abap_true,
END OF ms_home .
data CLIENT type ref to Z2UI5_IF_CLIENT .
data MV_CHECK_INITIALIZED type ABAP_BOOL .
data MV_CHECK_DEMO type ABAP_BOOL .
data MX_ERROR type ref to CX_ROOT .
DATA client TYPE REF TO z2ui5_if_client .
DATA mv_check_initialized TYPE abap_bool .
DATA mv_check_demo TYPE abap_bool .
DATA mx_error TYPE REF TO cx_root .
class-methods FACTORY_START
returning
value(RESULT) type ref to Z2UI5_CL_FW_APP .
class-methods FACTORY_ERROR
importing
!ERROR type ref to CX_ROOT
returning
value(RESULT) type ref to Z2UI5_CL_FW_APP .
methods Z2UI5_ON_INIT .
methods Z2UI5_ON_EVENT .
methods VIEW_DISPLAY_ERROR .
methods VIEW_DISPLAY_START .
CLASS-METHODS factory_start
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_fw_app .
CLASS-METHODS factory_error
IMPORTING
!error TYPE REF TO cx_root
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_fw_app .
METHODS z2ui5_on_init .
METHODS z2ui5_on_event .
METHODS view_display_error .
METHODS view_display_start .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS Z2UI5_CL_FW_APP IMPLEMENTATION.
CLASS z2ui5_cl_fw_app IMPLEMENTATION.
METHOD factory_error.
@ -104,7 +104,7 @@ CLASS Z2UI5_CL_FW_APP IMPLEMENTATION.
)->page( shownavbutton = abap_false ).
page->header_content(
)->title( `abap2UI5 - Developing UI5 Apps in pure ABAP`
)->title( `abap2UI5 - Developing UI5 Apps in Pure ABAP`
)->toolbar_spacer(
)->link( text = `SCN`
target = `_blank`
@ -124,7 +124,7 @@ CLASS Z2UI5_CL_FW_APP IMPLEMENTATION.
)->content( `form` ).
content->label( `Step 1`
)->text( `Create a global class in your abap system`
)->text( `Create a new class in your abap system`
)->label( `Step 2`
)->text( `Add the interface: Z2UI5_IF_APP`
)->label( `Step 3`
@ -162,7 +162,7 @@ CLASS Z2UI5_CL_FW_APP IMPLEMENTATION.
type = `Warning`
)->get( )->_generic( `link` )->link( text = `(HERE)`
target = `_blank`
href = `https://github.com/oblomov-dev/abap2UI5-demos` ).
href = `https://github.com/abap2UI5/abap2UI5-samples` ).
ENDIF.
DATA(cont) = form->content( `form` ).

View File

@ -274,7 +274,7 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
METHOD z2ui5_if_client~factory_view.
result = NEW #( ).
result = z2ui5_cl_ui5=>_factory( check_popup ).
ENDMETHOD.

View File

@ -65,7 +65,7 @@ CLASS z2ui5_cl_fw_handler DEFINITION
t_message TYPE z2ui5_if_client=>ty_t_message_manager,
check_clear TYPE abap_bool,
END OF s_message_manager,
_viewmodel TYPE string,
* _viewmodel TYPE string,
END OF ty_s_next2.
TYPES:

View File

@ -83,26 +83,26 @@ CLASS Z2UI5_CL_FW_INTEGRATION_TEST IMPLEMENTATION.
press = client->_event( 'BUTTON_POST' )
)->get_root( )->xml_get( ) ).
WHEN 'TEST_TIMER'.
client->timer_set( event_finished = 'TIMER_FINISHED'
interval_ms = `500` ).
client->view_display( z2ui5_cl_xml_view=>factory( client )->shell(
)->page( title = 'abap2UI5 - First Example'
navbuttonpress = client->_event( 'BACK' )
shownavbutton = abap_true
)->simple_form( title = 'Form Title'
editable = abap_true
)->content( 'form'
)->title( 'Input'
)->label( 'quantity'
)->input( client->_bind( quantity )
)->label( 'product'
)->input( value = product
enabled = abap_false
)->button( text = 'post'
press = client->_event( 'BUTTON_POST' )
)->get_root( )->xml_get( ) ).
* WHEN 'TEST_TIMER'.
* client->timer_set( event_finished = 'TIMER_FINISHED'
* interval_ms = `500` ).
*
* client->view_display( z2ui5_cl_xml_view=>factory( client )->shell(
* )->page( title = 'abap2UI5 - First Example'
* navbuttonpress = client->_event( 'BACK' )
* shownavbutton = abap_true
* )->simple_form( title = 'Form Title'
* editable = abap_true
* )->content( 'form'
* )->title( 'Input'
* )->label( 'quantity'
* )->input( client->_bind( quantity )
* )->label( 'product'
* )->input( value = product
* enabled = abap_false
* )->button( text = 'post'
* press = client->_event( 'BUTTON_POST' )
* )->get_root( )->xml_get( ) ).
WHEN OTHERS.
client->view_display( z2ui5_cl_xml_view=>factory( client )->shell(

View File

@ -176,31 +176,31 @@ CLASS ltcl_integration_test IMPLEMENTATION.
METHOD test_timer.
z2ui5_cl_fw_integration_test=>sv_state = `TEST_TIMER`.
DATA(lv_response) = z2ui5_cl_fw_http_handler=>http_post(
`{ "OLOCATION" : { "SEARCH" : "app_start=z2ui5_cl_fw_integration_test"}}` ).
DATA lo_data TYPE REF TO data.
/ui2/cl_json=>deserialize( EXPORTING json = lv_response
CHANGING data = lo_data ).
FIELD-SYMBOLS <val> TYPE any.
UNASSIGN <val>.
DATA(lv_assign) = `PARAMS->S_TIMER->EVENT_FINISHED->*`.
ASSIGN lo_data->(lv_assign) TO <val>.
IF <val> <> `TIMER_FINISHED`.
cl_abap_unit_assert=>fail( msg = 'timer - event wrong'
quit = 5 ).
ENDIF.
UNASSIGN <val>.
lv_assign = `PARAMS->S_TIMER->INTERVAL_MS->*`.
ASSIGN lo_data->(lv_assign) TO <val>.
IF <val> <> `500`.
cl_abap_unit_assert=>fail( msg = 'timer - ms wrong'
quit = 5 ).
ENDIF.
* z2ui5_cl_fw_integration_test=>sv_state = `TEST_TIMER`.
* DATA(lv_response) = z2ui5_cl_fw_http_handler=>http_post(
* `{ "OLOCATION" : { "SEARCH" : "app_start=z2ui5_cl_fw_integration_test"}}` ).
*
* DATA lo_data TYPE REF TO data.
* /ui2/cl_json=>deserialize( EXPORTING json = lv_response
* CHANGING data = lo_data ).
*
* FIELD-SYMBOLS <val> TYPE any.
*
* UNASSIGN <val>.
* DATA(lv_assign) = `PARAMS->S_TIMER->EVENT_FINISHED->*`.
* ASSIGN lo_data->(lv_assign) TO <val>.
* IF <val> <> `TIMER_FINISHED`.
* cl_abap_unit_assert=>fail( msg = 'timer - event wrong'
* quit = 5 ).
* ENDIF.
*
* UNASSIGN <val>.
* lv_assign = `PARAMS->S_TIMER->INTERVAL_MS->*`.
* ASSIGN lo_data->(lv_assign) TO <val>.
* IF <val> <> `500`.
* cl_abap_unit_assert=>fail( msg = 'timer - ms wrong'
* quit = 5 ).
* ENDIF.
ENDMETHOD.
METHOD test_xml_popup.

View File

@ -0,0 +1,19 @@
CLASS z2ui5_cl_fw_utility_xml DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
DATA mt_prop TYPE z2ui5_if_client=>ty_t_name_value.
DATA mt_ns TYPE SORTED TABLE OF string WITH UNIQUE KEY table_line.
DATA mv_name TYPE string.
DATA mv_ns TYPE string.
DATA mo_root TYPE REF TO z2ui5_cl_fw_utility_xml.
DATA mo_previous TYPE REF TO z2ui5_cl_fw_utility_xml.
DATA mo_parent TYPE REF TO z2ui5_cl_fw_utility_xml.
DATA mt_child TYPE STANDARD TABLE OF REF TO z2ui5_cl_fw_utility_xml WITH EMPTY KEY.
ENDCLASS.
CLASS z2ui5_cl_fw_utility_xml IMPLEMENTATION.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?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_FW_UTILITY_XML</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abap2UI5 - utility xml</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DEVC>
<CTEXT>test</CTEXT>
<CTEXT>abap2UI5 - ui5 api (ui5)</CTEXT>
</DEVC>
</asx:values>
</asx:abap>

View File

@ -0,0 +1,250 @@
CLASS z2ui5_cl_ui5 DEFINITION
PUBLIC
CREATE PUBLIC.
PUBLIC SECTION.
CLASS-METHODS _factory
IMPORTING check_popup TYPE abap_bool DEFAULT abap_false
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5.
METHODS _go_up
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5.
METHODS _go_root
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5.
METHODS _go_new
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5.
METHODS _add
IMPORTING n TYPE clike
ns TYPE clike OPTIONAL
t_p TYPE z2ui5_if_client=>ty_t_name_value OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5.
METHODS _add_p
IMPORTING n TYPE clike
v TYPE clike
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5.
METHODS _ns_ndc
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ndc.
METHODS _ns_m
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS _ns_ui
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS _ns_suite
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_suite.
METHODS _ns_zcc
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS constructor
IMPORTING node TYPE REF TO z2ui5_cl_fw_utility_xml OPTIONAL.
METHODS _stringify
RETURNING VALUE(result) TYPE string.
PROTECTED SECTION.
DATA _node TYPE REF TO z2ui5_cl_fw_utility_xml.
CLASS-METHODS _2xml
IMPORTING obj TYPE REF TO z2ui5_cl_ui5
RETURNING VALUE(result) TYPE string.
CLASS-METHODS _2bool
IMPORTING val TYPE any
RETURNING VALUE(result) TYPE string.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_ui5 IMPLEMENTATION.
METHOD constructor.
IF node IS NOT BOUND.
_node = NEW #( ).
_node->mo_root = _node.
ELSE.
_node = node.
ENDIF.
ENDMETHOD.
METHOD _2bool.
result = z2ui5_cl_fw_utility=>boolean_abap_2_json( val ).
ENDMETHOD.
METHOD _2xml.
IF obj->_node->mv_name = `ZZPLAIN`.
result = obj->_node->mt_prop[ n = `VALUE` ]-v.
RETURN.
ENDIF.
DATA lt_prop TYPE z2ui5_if_client=>ty_t_name_value.
lt_prop = VALUE #( ( n = `` v = `sap.m` )
( n = `f` v = `sap.f` )
( n = `ndc` v = `sap.ndc` )
( n = `tnt` v = `sap.tnt` )
( n = `mvc` v = `sap.ui.core.mvc` )
( n = `core` v = `sap.ui.core` )
( n = `form` v = `sap.ui.layout.form` )
( n = `l` v = `sap.ui.layout` )
( n = `t` v = `sap.ui.table` )
( n = `webc` v = `sap.ui.webc.main` )
( n = `fl` v = `sap.ui.fl` )
( n = `vk` v = `sap.ui.vk` )
( n = `vbm` v = `sap.ui.vbm` )
( n = `z2ui5` v = `z2ui5` )
( n = `mchart` v = `sap.suite.ui.microchart` )
( n = `editor` v = `sap.ui.codeeditor` )
* ( n = `core:require` v = `{ MessageToast: 'sap/m/MessageToast' }` )
* ( n = `core:require` v = `{ URLHelper: 'sap/m/library/URLHelper' }` )
( n = `xmlns:webc` v = `sap.ui.webc.main` )
( n = `xmlns:uxap` v = `sap.uxap` )
( n = `xmlns:text` v = `sap.ui.richtexteditor` )
( n = `xmlns:html` v = `http://www.w3.org/1999/xhtml` )
( n = `xmlns:fb` v = `sap.ui.comp.filterbar` )
( n = `xmlns:u` v = `sap.ui.unified` )
( n = `xmlns:gantt` v = `sap.gantt.simple` )
( n = `xmlns:axistime` v = `sap.gantt.axistime` )
( n = `xmlns:config` v = `sap.gantt.config` )
( n = `xmlns:shapes` v = `sap.gantt.simple.shapes` )
( n = `xmlns:commons` v = `sap.suite.ui.commons` )
( n = `xmlns:vm` v = `sap.ui.comp.variants` )
( n = `xmlns:viz` v = `sap.viz.ui5.controls` )
( n = `xmlns:svm` v = `sap.ui.comp.smartvariants` )
( n = `xmlns:flvm` v = `sap.ui.fl.variants` )
( n = `xmlns:p13n` v = `sap.m.p13n` )
( n = `xmlns:upload` v = `sap.m.upload` ) ).
IF obj->_node = obj->_node->mo_root.
LOOP AT obj->_node->mt_ns INTO DATA(lv_ns_tmp).
TRY.
DATA(ls_prop) = lt_prop[ v = lv_ns_tmp ].
ls_prop-n = `xmlns` && COND #( WHEN ls_prop-n IS NOT INITIAL THEN `:` && ls_prop-n ).
INSERT ls_prop INTO TABLE obj->_node->mt_prop.
CATCH cx_root.
data(lv_text) = cond #( when lv_ns_tmp is initial then `XML_VIEW_NOT_VALID_NAMESPACE_EMPTY`
else `XML_VIEW_NOT_VALID_NAMESPACE_NOT_FOUND failure: ` && lv_ns_tmp ).
RAISE EXCEPTION TYPE z2ui5_cx_fw_error
EXPORTING
val = lv_text.
ENDTRY.
ENDLOOP.
ENDIF.
DATA(lv_ns) = lt_prop[ v = obj->_node->mv_ns ]-n.
lv_ns = COND #( WHEN lv_ns <> `` THEN |{ lv_ns }:| ).
DATA(lv_element) = obj->_node->mv_name.
DATA(lv_prop) = REDUCE #( INIT val = `` FOR row IN obj->_node->mt_prop
NEXT val = |{ val } { row-n }="{ escape(
val = COND #( WHEN row-v = abap_true
THEN `true`
ELSE row-v )
format = cl_abap_format=>e_xml_attr ) }"| ).
result = |{ result }<{ lv_ns }{ lv_element }{ lv_prop }|.
IF obj->_node->mt_child IS INITIAL.
result = |{ result }/>|.
RETURN.
ENDIF.
result = |{ result }>|.
LOOP AT obj->_node->mt_child INTO DATA(lr_child).
DATA(lo_child) = NEW z2ui5_cl_ui5( lr_child ).
result = result && _2xml( lo_child ).
ENDLOOP.
result = |{ result }</{ lv_ns }{ lv_element }>|.
ENDMETHOD.
METHOD _add.
TRY.
INSERT CONV #( ns ) INTO TABLE _node->mo_root->mt_ns.
CATCH cx_root.
ENDTRY.
DATA(lo_node) = NEW z2ui5_cl_fw_utility_xml( ).
DATA(result2) = NEW z2ui5_cl_ui5( lo_node ).
result2->_node->mv_name = n.
result2->_node->mv_ns = ns.
result2->_node->mt_prop = t_p.
DELETE result2->_node->mt_prop WHERE v = ``.
result2->_node->mo_parent = _node.
result2->_node->mo_root = _node->mo_root.
INSERT result2->_node INTO TABLE _node->mt_child.
_node->mo_root->mo_previous = result2->_node.
result = result2.
ENDMETHOD.
METHOD _add_p.
INSERT VALUE #( n = n v = v ) INTO TABLE _node->mt_prop.
result = me.
ENDMETHOD.
METHOD _factory.
result = NEW #( ).
DATA(lv_n) = COND #( WHEN check_popup = abap_true THEN `FragmentDefinition` ELSE `View` ).
DATA(lv_ns) = COND #( WHEN check_popup = abap_true THEN `sap.ui.core` ELSE `sap.ui.core.mvc` ).
result = result->_add( n = lv_n ns = lv_ns ).
IF check_popup = abap_false.
result->_add_p( n = `displayBlock` v = `true` ).
result->_add_p( n = `height` v = `100%` ).
ENDIF.
result->_node->mt_ns = result->_node->mo_root->mt_ns.
result->_node->mo_root = result->_node.
ENDMETHOD.
METHOD _go_new.
result = NEW #( _node->mo_root->mo_previous ).
ENDMETHOD.
METHOD _go_root.
result = NEW #( _node->mo_root ).
ENDMETHOD.
METHOD _go_up.
result = NEW #( _node->mo_parent ).
ENDMETHOD.
METHOD _ns_ndc.
result = NEW #( _node ).
ENDMETHOD.
METHOD _ns_m.
result = NEW #( _node ).
ENDMETHOD.
METHOD _ns_ui.
result = NEW #( _node ).
ENDMETHOD.
METHOD _ns_zcc.
result = NEW #( _node ).
ENDMETHOD.
METHOD _stringify.
DATA(lo_node) = NEW z2ui5_cl_ui5( _node->mo_root ).
result = _2xml( lo_node ).
ENDMETHOD.
METHOD _ns_suite.
result = NEW #( _node ).
ENDMETHOD.
ENDCLASS.

View File

@ -3,9 +3,9 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>Z2UI5_CL_VIEW</CLSNAME>
<CLSNAME>Z2UI5_CL_UI5</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>sap ui5 library</DESCRIPT>
<DESCRIPT>ui5 api</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -0,0 +1,462 @@
CLASS z2ui5_cl_ui5_m DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_ui5.
PUBLIC SECTION.
METHODS suggestionitems
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS toolbarspacer
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS input
IMPORTING id TYPE clike OPTIONAL
value TYPE clike OPTIONAL
placeholder TYPE clike OPTIONAL
type TYPE clike OPTIONAL
showclearicon TYPE clike OPTIONAL
valuestate TYPE clike OPTIONAL
valuestatetext TYPE clike OPTIONAL
showtablesuggestionvaluehelp TYPE clike OPTIONAL
description TYPE clike OPTIONAL
editable TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
suggestionitems TYPE clike OPTIONAL
suggestionrows TYPE clike OPTIONAL
showsuggestion TYPE clike OPTIONAL
showvaluehelp TYPE clike OPTIONAL
valuehelprequest TYPE clike OPTIONAL
required TYPE clike OPTIONAL
suggest TYPE clike OPTIONAL
class TYPE clike OPTIONAL
visible TYPE clike OPTIONAL
submit TYPE clike OPTIONAL
valueliveupdate TYPE clike OPTIONAL
autocomplete TYPE clike OPTIONAL
maxsuggestionwidth TYPE clike OPTIONAL
fieldwidth TYPE clike OPTIONAL
valuehelponly TYPE clike OPTIONAL
width TYPE clike OPTIONAL
change TYPE clike OPTIONAL
valuehelpiconsrc TYPE clike OPTIONAL
textformatter TYPE clike OPTIONAL
textformatmode TYPE clike OPTIONAL
maxlength TYPE clike OPTIONAL
startsuggestion TYPE clike OPTIONAL
enablesuggestionshighlighting TYPE clike OPTIONAL
enabletableautopopinmode TYPE clike OPTIONAL
PREFERRED PARAMETER value
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS page
IMPORTING title TYPE clike OPTIONAL
navbuttonpress TYPE clike OPTIONAL
shownavbutton TYPE clike OPTIONAL
showheader TYPE clike OPTIONAL
id TYPE clike OPTIONAL
class TYPE clike OPTIONAL
backgrounddesign TYPE clike OPTIONAL
contentonlybusy TYPE clike OPTIONAL
enablescrolling TYPE clike OPTIONAL
navbuttontooltip TYPE clike OPTIONAL
floatingfooter TYPE clike OPTIONAL
showfooter TYPE clike OPTIONAL
showsubheader TYPE clike OPTIONAL
titlealignment TYPE clike OPTIONAL
titlelevel TYPE clike OPTIONAL
PREFERRED PARAMETER title
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS shell
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS title
IMPORTING text TYPE clike OPTIONAL
wrapping TYPE clike OPTIONAL
level TYPE clike OPTIONAL
PREFERRED PARAMETER text
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS button
IMPORTING text TYPE clike OPTIONAL
icon TYPE clike OPTIONAL
type TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
visible TYPE clike OPTIONAL
press TYPE clike OPTIONAL
class TYPE clike OPTIONAL
id TYPE clike OPTIONAL
tooltip TYPE clike OPTIONAL
width TYPE clike OPTIONAL
iconfirst TYPE clike OPTIONAL
icondensityaware TYPE clike OPTIONAL
ariahaspopup TYPE clike OPTIONAL
activeicon TYPE clike OPTIONAL
accessiblerole TYPE clike OPTIONAL
textdirection TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS label
IMPORTING text TYPE clike OPTIONAL
labelfor TYPE clike OPTIONAL
design TYPE clike OPTIONAL
displayonly TYPE clike OPTIONAL
required TYPE clike OPTIONAL
showcolon TYPE clike OPTIONAL
textalign TYPE clike OPTIONAL
textdirection TYPE clike OPTIONAL
valign TYPE clike OPTIONAL
width TYPE clike OPTIONAL
wrapping TYPE clike OPTIONAL
wrappingtype TYPE clike OPTIONAL
id TYPE clike OPTIONAL
class TYPE clike OPTIONAL
PREFERRED PARAMETER text
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS link
IMPORTING text TYPE clike OPTIONAL
href TYPE clike OPTIONAL
target TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
press TYPE clike OPTIONAL
id TYPE clike OPTIONAL
wrapping TYPE clike OPTIONAL
width TYPE clike OPTIONAL
validateurl TYPE clike OPTIONAL
textdirection TYPE clike OPTIONAL
textalign TYPE clike OPTIONAL
subtle TYPE clike OPTIONAL
rel TYPE clike OPTIONAL
emptyindicatormode TYPE clike OPTIONAL
emphasized TYPE clike OPTIONAL
ariahaspopup TYPE clike OPTIONAL
accessiblerole TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS headercontent
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS text
IMPORTING text TYPE clike OPTIONAL
class TYPE clike OPTIONAL
emptyindicatormode TYPE clike OPTIONAL
maxlines TYPE clike OPTIONAL
renderwhitespace TYPE clike OPTIONAL
textalign TYPE clike OPTIONAL
textdirection TYPE clike OPTIONAL
width TYPE clike OPTIONAL
wrapping TYPE clike OPTIONAL
wrappingtype TYPE clike OPTIONAL
id TYPE clike OPTIONAL
PREFERRED PARAMETER text
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS layoutdata
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS items
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS flexbox
IMPORTING class TYPE clike OPTIONAL
rendertype TYPE clike OPTIONAL
width TYPE clike OPTIONAL
fitcontainer TYPE clike OPTIONAL
height TYPE clike OPTIONAL
alignitems TYPE clike OPTIONAL
justifycontent TYPE clike OPTIONAL
wrap TYPE clike OPTIONAL
visible TYPE clike OPTIONAL
direction TYPE clike OPTIONAL
displayinline TYPE clike OPTIONAL
backgrounddesign TYPE clike OPTIONAL
aligncontent TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS footer
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS overflowtoolbar
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS overflowtoolbartogglebutton
IMPORTING text TYPE clike OPTIONAL
icon TYPE clike OPTIONAL
type TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
press TYPE clike OPTIONAL
tooltip TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS overflowtoolbarbutton
IMPORTING text TYPE clike OPTIONAL
icon TYPE clike OPTIONAL
type TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
press TYPE clike OPTIONAL
tooltip TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
METHODS overflowtoolbarmenubutton
IMPORTING text TYPE clike OPTIONAL
icon TYPE clike OPTIONAL
buttonmode TYPE clike OPTIONAL
type TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
tooltip TYPE clike OPTIONAL
defaultaction TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_m.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_ui5_m IMPLEMENTATION.
METHOD toolbarspacer.
result = me.
_add( n = `ToolbarSpacer`
ns = `sap.m` )->_ns_m( ).
ENDMETHOD.
METHOD overflowtoolbar.
result = _add( n = `OverflowToolbar` ns = `sap.m` )->_ns_m( ).
ENDMETHOD.
METHOD overflowtoolbarbutton.
result = me.
_add( n = `OverflowToolbarButton`
ns = `sap.m`
t_p = VALUE #( ( n = `press` v = press )
( n = `text` v = text )
( n = `enabled` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( enabled ) )
( n = `icon` v = icon )
( n = `type` v = type )
( n = `tooltip` v = tooltip ) ) ).
ENDMETHOD.
METHOD overflowtoolbarmenubutton.
result = _add( n = `OverflowToolbarMenuButton`
ns = `sap.m`
t_p = VALUE #( ( n = `buttonMode` v = buttonmode )
( n = `defaultAction` v = defaultaction )
( n = `text` v = text )
( n = `enabled` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( enabled ) )
( n = `icon` v = icon )
( n = `type` v = type )
( n = `tooltip` v = tooltip ) ) )->_ns_m( ).
ENDMETHOD.
METHOD overflowtoolbartogglebutton.
result = me.
_add( n = `OverflowToolbarToggleButton`
ns = `sap.m`
t_p = VALUE #( ( n = `press` v = press )
( n = `text` v = text )
( n = `enabled` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( enabled ) )
( n = `icon` v = icon )
( n = `type` v = type )
( n = `tooltip` v = tooltip ) ) ).
ENDMETHOD.
METHOD footer.
result = _add( ns = `sap.m`
n = `footer` )->_ns_m( ).
ENDMETHOD.
METHOD suggestionitems.
result = _add( ns = `sap.m` n = `suggestionItems` )->_ns_m( ).
ENDMETHOD.
METHOD items.
result = _add( n = `items` ns = `sap.m` )->_ns_m( ).
ENDMETHOD.
METHOD flexbox.
result = _add( n = `FlexBox`
ns = `sap.m`
t_p = VALUE #( ( n = `class` v = class )
( n = `renderType` v = rendertype )
( n = `width` v = width )
( n = `height` v = height )
( n = `alignItems` v = alignitems )
( n = `fitContainer` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( fitcontainer ) )
( n = `justifyContent` v = justifycontent )
( n = `wrap` v = wrap )
( n = `direction` v = direction )
( n = `alignContent` v = aligncontent )
( n = `backgroundDesign` v = backgrounddesign )
( n = `displayInline` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( displayinline ) )
( n = `visible` v = visible ) ) )->_ns_m( ).
ENDMETHOD.
METHOD text.
result = me.
_add( n = `Text`
ns = `sap.m`
t_p = VALUE #( ( n = `text` v = text )
( n = `emptyIndicatorMode` v = emptyindicatormode )
( n = `maxLines` v = maxlines )
( n = `renderWhitespace` v = renderwhitespace )
( n = `textAlign` v = textalign )
( n = `textDirection` v = textdirection )
( n = `width` v = width )
( n = `id` v = id )
( n = `wrapping` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( wrapping ) )
( n = `wrappingType` v = wrappingtype )
( n = `class` v = class ) ) ).
ENDMETHOD.
METHOD headercontent.
result = _add( n = `headerContent`
ns = `sap.m` )->_ns_m( ).
ENDMETHOD.
METHOD link.
result = me.
_add( n = `Link`
ns = `sap.m`
t_p = VALUE #( ( n = `text` v = text )
( n = `target` v = target )
( n = `href` v = href )
( n = `press` v = press )
( n = `id` v = id )
( n = `accessibleRole` v = accessiblerole )
( n = `ariaHasPopup` v = ariahaspopup )
( n = `emptyIndicatorMode` v = emptyindicatormode )
( n = `rel` v = rel )
( n = `subtle` v = _2bool( subtle ) )
( n = `textAlign` v = textalign )
( n = `textDirection` v = textdirection )
( n = `validateUrl` v = _2bool( validateurl ) )
( n = `width` v = width )
( n = `wrapping` v = _2bool( wrapping ) )
( n = `emphasized` v = _2bool( emphasized ) )
( n = `enabled` v = _2bool( enabled ) ) ) ).
ENDMETHOD.
METHOD button.
result = me.
_add( n = `Button`
ns = `sap.m`
t_p = VALUE #( ( n = `press` v = press )
( n = `text` v = text )
( n = `enabled` v = _2bool( enabled ) )
( n = `visible` v = _2bool( visible ) )
( n = `iconDensityAware` v = _2bool( icondensityaware ) )
( n = `iconFirst` v = _2bool( iconfirst ) )
( n = `icon` v = icon )
( n = `type` v = type )
( n = `id` v = id )
( n = `width` v = width )
( n = `tooltip` v = tooltip )
( n = `textDirection` v = textdirection )
( n = `accessibleRole` v = accessiblerole )
( n = `activeIcon` v = activeicon )
( n = `ariaHasPopup` v = ariahaspopup )
( n = `class` v = class ) ) ).
ENDMETHOD.
METHOD layoutdata.
result = _add( n = `layoutData` ns = `sap.m`
)->_ns_m( ).
ENDMETHOD.
METHOD label.
result = me.
_add( n = `Label`
ns = `sap.m`
t_p = VALUE #( ( n = `text` v = text )
( n = `displayOnly` v = _2bool( displayonly ) )
( n = `required` v = _2bool( required ) )
( n = `showColon` v = _2bool( showcolon ) )
( n = `textAlign` v = textalign )
( n = `textDirection` v = textdirection )
( n = `vAlign` v = valign )
( n = `width` v = width )
( n = `wrapping` v = _2bool( wrapping ) )
( n = `wrappingType` v = wrappingtype )
( n = `design` v = design )
( n = `id` v = id )
( n = `class` v = class )
( n = `labelFor` v = labelfor ) ) ).
ENDMETHOD.
METHOD title.
result = me.
_add( n = `Title`
ns = `sap.m`
t_p = VALUE #( ( n = `text` v = text )
( n = `wrapping` v = _2bool( wrapping ) )
( n = `level` v = level ) ) ).
ENDMETHOD.
METHOD page.
result = _add( n = `Page`
ns = `sap.m`
t_p = VALUE #( ( n = `title` v = title )
( n = `showNavButton` v = _2bool( shownavbutton ) )
( n = `navButtonPress` v = navbuttonpress )
( n = `showHeader` v = _2bool( showheader ) )
( n = `class` v = class )
( n = `backgroundDesign` v = backgrounddesign )
( n = `navButtonTooltip` v = navbuttontooltip )
( n = `titleAlignment` v = titlealignment )
( n = `titleLevel` v = titlelevel )
( n = `contentOnlyBusy` v = _2bool( contentonlybusy ) )
( n = `enableScrolling` v = _2bool( enablescrolling ) )
( n = `floatingFooter` v = _2bool( floatingfooter ) )
( n = `showFooter` v = _2bool( showfooter ) )
( n = `showSubHeader` v = _2bool( showsubheader ) )
( n = `id` v = id ) ) )->_ns_m( ).
ENDMETHOD.
METHOD shell.
result = _add( n = `Shell` ns = `sap.m` )->_ns_m( ).
ENDMETHOD.
METHOD input.
result = me.
_add( n = `Input`
ns = `sap.m`
t_p = VALUE #( ( n = `id` v = id )
( n = `placeholder` v = placeholder )
( n = `type` v = type )
( n = `maxLength` v = maxlength )
( n = `showClearIcon` v = _2bool( showclearicon ) )
( n = `description` v = description )
( n = `editable` v = _2bool( editable ) )
( n = `enabled` v = _2bool( enabled ) )
( n = `visible` v = _2bool( visible ) )
( n = `enableTableAutoPopinMode` v = _2bool( enabletableautopopinmode ) )
( n = `enableSuggestionsHighlighting` v = _2bool( enablesuggestionshighlighting ) )
( n = `showTableSuggestionValueHelp` v = _2bool( showtablesuggestionvaluehelp ) )
( n = `valueState` v = valuestate )
( n = `valueStateText` v = valuestatetext )
( n = `value` v = value )
( n = `required` v = _2bool( required ) )
( n = `suggest` v = suggest )
( n = `suggestionItems` v = suggestionitems )
( n = `suggestionRows` v = suggestionrows )
( n = `showSuggestion` v = _2bool( showsuggestion ) )
( n = `valueHelpRequest` v = valuehelprequest )
( n = `autocomplete` v = _2bool( autocomplete ) )
( n = `valueLiveUpdate` v = _2bool( valueliveupdate ) )
( n = `submit` v = _2bool( submit ) )
( n = `showValueHelp` v = _2bool( showvaluehelp ) )
( n = `valueHelpOnly` v = _2bool( valuehelponly ) )
( n = `class` v = class )
( n = `change` v = change )
( n = `maxSuggestionWidth` v = maxsuggestionwidth )
( n = `width` v = width )
( n = `textFormatter` v = textformatter )
( n = `startSuggestion` v = startsuggestion )
( n = `valueHelpIconSrc` v = valuehelpiconsrc )
( n = `textFormatMode` v = textformatmode )
( n = `fieldWidth` v = fieldwidth ) ) ).
ENDMETHOD.
ENDCLASS.

View File

@ -3,9 +3,9 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>Z2UI5_CL_VIEW_M</CLSNAME>
<CLSNAME>Z2UI5_CL_UI5_M</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>namespace sap.m</DESCRIPT>
<DESCRIPT>ns - sap.m</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -0,0 +1,31 @@
CLASS z2ui5_cl_ui5_ndc DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_ui5.
PUBLIC SECTION.
METHODS barcodescannerbutton
IMPORTING id TYPE clike OPTIONAL
scansuccess TYPE clike OPTIONAL
scanfail TYPE clike OPTIONAL
inputliveupdate TYPE clike OPTIONAL
dialogtitle TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ndc.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_ui5_ndc IMPLEMENTATION.
METHOD barcodescannerbutton.
result = _add( n = `BarcodeScannerButton`
ns = 'sap.ndc'
t_p = VALUE #( ( n = `id` v = id )
( n = `scanSuccess` v = scansuccess )
( n = `scanFail` v = scanfail )
( n = `inputLiveUpdate` v = inputliveupdate )
( n = `dialogTitle` v = dialogtitle ) ) )->_ns_ndc( ).
ENDMETHOD.
ENDCLASS.

View File

@ -3,9 +3,9 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>Z2UI5_CL_VIEW_UI</CLSNAME>
<CLSNAME>Z2UI5_CL_UI5_NDC</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>namespace sap.ui</DESCRIPT>
<DESCRIPT>ns - sap.ndc</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -0,0 +1,56 @@
CLASS z2ui5_cl_ui5_suite DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_ui5.
PUBLIC SECTION.
METHODS interactdonutchart
IMPORTING selectionchanged TYPE clike OPTIONAL
errormessage TYPE clike OPTIONAL
errormessagetitle TYPE clike OPTIONAL
showerror TYPE clike OPTIONAL
displayedsegments TYPE clike OPTIONAL
press TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_suite.
METHODS segments
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_suite.
METHODS interactdonutchartsegment
IMPORTING label TYPE clike OPTIONAL
value TYPE clike OPTIONAL
displayedvalue TYPE clike OPTIONAL
selected TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_suite.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_ui5_suite IMPLEMENTATION.
METHOD interactdonutchartsegment.
result = _add( n = `InteractiveDonutChartSegment`
ns = `sap.suite.ui.microchart`
t_p = VALUE #( ( n = `label` v = label )
( n = `displayedValue` v = displayedvalue )
( n = `value` v = value )
( n = `selected` v = selected ) ) )->_ns_suite( ).
ENDMETHOD.
METHOD segments.
result = _add( n = `segments` ns = `sap.suite.ui.microchart` )->_ns_suite( ).
ENDMETHOD.
METHOD interactdonutchart.
result = _add( n = `InteractiveDonutChart`
ns = `sap.suite.ui.microchart`
t_p = VALUE #( ( n = `selectionChanged` v = selectionchanged )
( n = `showError` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( showerror ) )
( n = `errorMessageTitle` v = errormessagetitle )
( n = `errorMessage` v = errormessage )
( n = `displayedSegments` v = displayedsegments )
( n = `press` v = press ) ) )->_ns_suite( ).
ENDMETHOD.
ENDCLASS.

View File

@ -3,9 +3,9 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>Z2UI5_CL_VIEW_SUITE</CLSNAME>
<CLSNAME>Z2UI5_CL_UI5_SUITE</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>namespace sap.suite</DESCRIPT>
<DESCRIPT>ns - sap.suite</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -0,0 +1,134 @@
CLASS z2ui5_cl_ui5_ui DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_ui5.
PUBLIC SECTION.
METHODS simpleform
IMPORTING title TYPE clike OPTIONAL
layout TYPE clike OPTIONAL
editable TYPE clike OPTIONAL
columnsxl TYPE clike OPTIONAL
columnsl TYPE clike OPTIONAL
columnsm TYPE clike OPTIONAL
id TYPE clike OPTIONAL
PREFERRED PARAMETER title
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS content
IMPORTING
ns TYPE clike DEFAULT `sap.ui.layout.form`
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS tabcontainer
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS tab
IMPORTING text TYPE clike OPTIONAL
selected TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS grid
IMPORTING class TYPE clike OPTIONAL
default_span TYPE clike OPTIONAL
PREFERRED PARAMETER default_span
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS griddata
IMPORTING span TYPE clike OPTIONAL
PREFERRED PARAMETER span
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
METHODS codeeditor
IMPORTING
!value TYPE clike OPTIONAL
!type TYPE clike OPTIONAL
!height TYPE clike OPTIONAL
!width TYPE clike OPTIONAL
!editable TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui .
METHODS listitem
IMPORTING
!text TYPE clike OPTIONAL
!additionaltext TYPE clike OPTIONAL
!key TYPE clike OPTIONAL
!icon TYPE clike OPTIONAL
!enabled TYPE clike OPTIONAL
!textdirection TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_ui5_ui IMPLEMENTATION.
METHOD listitem.
result = me.
_add( n = `ListItem`
ns = `sap.ui.core`
t_p = VALUE #( ( n = `text` v = text )
( n = `icon` v = icon )
( n = `key` v = key )
( n = `textDirection` v = textdirection )
( n = `enabled` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( enabled ) )
( n = `additionalText` v = additionaltext ) ) ).
ENDMETHOD.
METHOD codeeditor.
result = me.
_add( n = `CodeEditor`
ns = `sap.ui.codeeditor`
t_p = VALUE #( ( n = `value` v = value )
( n = `type` v = type )
( n = `editable` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( editable ) )
( n = `height` v = height )
( n = `width` v = width ) ) )->_ns_ui( ).
ENDMETHOD.
METHOD griddata.
result = me.
_add( n = `GridData`
ns = `sap.ui.layout`
t_p = VALUE #( ( n = `span` v = span ) ) ).
ENDMETHOD.
METHOD grid.
result = _add( n = `Grid`
ns = `sap.ui.layout`
t_p = VALUE #( ( n = `defaultSpan` v = default_span )
( n = `class` v = class ) ) )->_ns_ui( ).
ENDMETHOD.
METHOD tab.
result = _add( n = `Tab`
ns = `sap.ui.webc.main`
t_p = VALUE #( ( n = `text` v = text )
( n = `selected` v = selected ) ) )->_ns_ui( ).
ENDMETHOD.
METHOD tabcontainer.
result = _add( n = `TabContainer` ns = `sap.ui.webc.main` )->_ns_ui( ).
ENDMETHOD.
METHOD content.
result = _add( ns = ns
n = `content` )->_ns_ui( ).
ENDMETHOD.
METHOD simpleform.
result = _add( n = `SimpleForm`
ns = `sap.ui.layout.form`
t_p = VALUE #( ( n = `title` v = title )
( n = `layout` v = layout )
( n = `id` v = id )
( n = `columnsXL` v = columnsxl )
( n = `columnsL` v = columnsl )
( n = `columnsM` v = columnsm )
( n = `editable` v = _2bool( editable ) ) ) )->_ns_ui( ).
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?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_UI5_UI</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>ns - sap.ui</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -0,0 +1,16 @@
CLASS z2ui5_cl_ui5_zcc DEFINITION
PUBLIC
FINAL
CREATE PUBLIC INHERITING FROM z2ui5_cl_ui5.
PUBLIC SECTION.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS Z2UI5_CL_UI5_ZCC IMPLEMENTATION.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?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_UI5_ZCC</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>ns - z2ui5 (custom)</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

10
src/03/package.devc.xml Normal file
View File

@ -0,0 +1,10 @@
<?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 - custom controls (cc)</CTEXT>
</DEVC>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -17,7 +17,7 @@ CLASS z2ui5_cl_cc_factory DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_demo_output.
METHODS load_font_awesome
METHODS font_awesome
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_font_awesome_icons.
@ -37,6 +37,10 @@ CLASS z2ui5_cl_cc_factory DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_timer.
METHODS title
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_title.
METHODS info
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_info.
@ -67,6 +71,12 @@ CLASS Z2UI5_CL_CC_FACTORY IMPLEMENTATION.
ENDMETHOD.
METHOD title.
result = NEW #( mo_view ).
ENDMETHOD.
METHOD bwip_js.
result = NEW #( mo_view ).
@ -95,7 +105,7 @@ CLASS Z2UI5_CL_CC_FACTORY IMPLEMENTATION.
ENDMETHOD.
METHOD load_font_awesome.
METHOD font_awesome.
result = NEW #( mo_view ).

View File

@ -215,8 +215,7 @@ CLASS Z2UI5_CL_CC_FILE_UPLOADER IMPLEMENTATION.
` });` && |\n| &&
` });`.
* result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js )->get_parent( ).
ENDMETHOD.
ENDCLASS.

View File

@ -40,7 +40,7 @@ CLASS Z2UI5_CL_CC_FONT_AWESOME_ICONS IMPLEMENTATION.
METHOD LOAD_ANIMATION_JS.
* result = mo_view->_cc_plain_xml( `<html:script src="` && faw_js_url && `" ></html:script>` ).
result = mo_view->_generic( ns = `html` name = `script` t_prop = value #( ( n = `src` v = faw_js_url ) ) ).
result = mo_view->_generic( ns = `html` name = `script` t_prop = value #( ( n = `src` v = faw_js_url ) ) )->get_parent( ).
enDMETHOD.
@ -125,7 +125,8 @@ CLASS Z2UI5_CL_CC_FONT_AWESOME_ICONS IMPLEMENTATION.
` }))` && |\n| &&
`})`.
result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
* result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` )->get_parent( ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js )->get_parent( ).
ENDMETHOD.
ENDCLASS.

View File

@ -158,7 +158,7 @@ CLASS z2ui5_cl_cc_geolocation IMPLEMENTATION.
`});`.
* result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js )->get_parent( ).
ENDMETHOD.
ENDCLASS.

View File

@ -118,7 +118,7 @@ ENDMETHOD.
`});`.
* result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js )->get_parent( ).
ENDMETHOD.
ENDCLASS.

View File

@ -12,7 +12,9 @@ CLASS z2ui5_cl_cc_timer DEFINITION
METHODS control
IMPORTING
finished TYPE clike OPTIONAL
delayMS TYPE clike OPTIONAL
delayms TYPE clike OPTIONAL
checkrepeat TYPE clike OPTIONAL
PREFERRED PARAMETER finished
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
@ -20,6 +22,10 @@ CLASS z2ui5_cl_cc_timer DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
class-METHODS get_js
RETURNING
VALUE(result) TYPE string.
PROTECTED SECTION.
DATA mo_view TYPE REF TO z2ui5_cl_xml_view.
@ -36,20 +42,27 @@ CLASS z2ui5_cl_cc_timer IMPLEMENTATION.
ENDMETHOD.
method control.
METHOD control.
result = mo_view.
mo_view->_generic( name = `CCTimer`
ns = `z2ui5`
t_prop = VALUE #( ( n = `delayMS` v = delayMS )
t_prop = VALUE #( ( n = `delayMS` v = delayms )
( n = `finished` v = finished )
( n = `checkRepeat` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( checkrepeat ) )
) ).
ENDMETHOD.
ENDMETHOD.
METHOD load_cc.
DATA(js) = ` jQuery.sap.declare("z2ui5.CCTimer");` && |\n| &&
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( get_js( ) )->get_parent( ).
ENDMETHOD.
METHOD get_js.
result = ` jQuery.sap.declare("z2ui5.CCTimer");` && |\n| &&
`sap.ui.require([` && |\n| &&
` "sap/ui/core/Control"` && |\n| &&
`], (Control) => {` && |\n| &&
@ -62,6 +75,10 @@ ENDMETHOD.
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` checkRepeat: {` && |\n| &&
` type: "boolean",` && |\n| &&
` defaultValue: false` && |\n| &&
` },` && |\n| &&
` },` && |\n| &&
` events: {` && |\n| &&
` "finished": { ` && |\n| &&
@ -78,18 +95,20 @@ ENDMETHOD.
` onAfterRendering() {` && |\n| &&
|\n| &&
` },` && |\n| &&
` delayedCall( oControl){` && |\n| &&
` ` && |\n| &&
` renderer(oRm, oControl) {` && |\n| &&
|\n| &&
` setTimeout((oControl) => {` && |\n| &&
` oControl.fireFinished();` && |\n| &&
` if ( oControl.getProperty( "checkRepeat" ) ) { oControl.delayedCall( oControl ); } ` && |\n| &&
` }, parseInt( oControl.getProperty("delayMS") ), oControl );` && |\n| &&
` },` && |\n| &&
` renderer(oRm, oControl) {` && |\n| &&
|\n| &&
` oControl.delayedCall( oControl );` && |\n| &&
` }` && |\n| &&
` });` && |\n| &&
`});`.
* result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js ).
ENDMETHOD.
ENDCLASS.

View File

@ -5,7 +5,7 @@
<VSEOCLASS>
<CLSNAME>Z2UI5_CL_CC_TIMER</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>sap gui - cl_gui_timer</DESCRIPT>
<DESCRIPT>cc - setTimeout</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -0,0 +1,91 @@
CLASS z2ui5_cl_cc_title DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
METHODS constructor
IMPORTING
view TYPE REF TO z2ui5_cl_xml_view.
METHODS control
IMPORTING
title TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS load_cc
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
CLASS-METHODS get_js
RETURNING
VALUE(result) TYPE string.
PROTECTED SECTION.
DATA mo_view TYPE REF TO z2ui5_cl_xml_view.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_cc_title IMPLEMENTATION.
METHOD constructor.
me->mo_view = view.
ENDMETHOD.
METHOD control.
result = mo_view.
mo_view->_generic( name = `CCTitle`
ns = `z2ui5`
t_prop = VALUE #( ( n = `title` v = title ) ) ).
ENDMETHOD.
METHOD load_cc.
result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( get_js( ) )->get_parent( ).
ENDMETHOD.
METHOD get_js.
result = `debugger; jQuery.sap.declare("z2ui5.CCTitle");` && |\n| &&
`sap.ui.require([` && |\n| &&
` "sap/ui/core/Control"` && |\n| &&
`], (Control) => {` && |\n| &&
` "use strict";` && |\n| &&
|\n| &&
` return Control.extend("z2ui5.CCTitle", {` && |\n| &&
` metadata : {` && |\n| &&
` properties: {` && |\n| &&
` title: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` }` && |\n| &&
` },` && |\n| &&
|\n| &&
` init () {` && |\n| &&
|\n| &&
` },` && |\n| &&
|\n| &&
` onAfterRendering() {` && |\n| &&
|\n| &&
` },` && |\n| &&
` renderer(oRm, oControl) {` && |\n| &&
|\n| &&
` debugger; document.title = oControl.getProperty( "title" );` && |\n| &&
` }` && |\n| &&
` });` && |\n| &&
`});`.
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?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_CC_TITLE</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>cc - document.title</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DEVC>
<CTEXT>test</CTEXT>
<CTEXT>abap2UI5 - test (test)</CTEXT>
</DEVC>
</asx:values>
</asx:abap>

View File

@ -1,4 +1,4 @@
CLASS z2ui5_cl_app_hello_world_test DEFINITION PUBLIC.
CLASS z2ui5_cl_test_app_hello_world DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
@ -13,7 +13,7 @@ ENDCLASS.
CLASS z2ui5_cl_app_hello_world_test IMPLEMENTATION.
CLASS z2ui5_cl_test_app_hello_world IMPLEMENTATION.
METHOD z2ui5_if_app~main.
@ -29,18 +29,18 @@ CLASS z2ui5_cl_app_hello_world_test IMPLEMENTATION.
client->message_toast_display( |{ product } { quantity } - send to the server| ).
ENDCASE.
client->view_display( client->factory_view( )->ns_m(
client->view_display( client->factory_view( )->_ns_m(
)->shell(
)->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world' )->ns_ui(
)->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world' )->_ns_ui(
)->simpleform( title = 'Hello World' editable = abap_true
)->content( )->ns_m(
)->content( )->_ns_m(
)->title( 'Make an input here and send it to the server...'
)->label( 'quantity'
)->input( client->_bind_edit( quantity )
)->label( 'product'
)->input( value = product enabled = abap_false
)->button( text = 'post' press = client->_event( 'BUTTON_POST' )
)->stringify( ) ).
)->_stringify( ) ).
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?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_TEST_APP_HELLO_WORLD</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>test app</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -30,20 +30,17 @@ CLASS z2ui5_cl_fw_app_hello_world IMPLEMENTATION.
client->message_toast_display( |{ product } { quantity } - send to the server| ).
ENDCASE.
client->view_display( z2ui5_cl_xml_view=>factory( client
client->view_display( z2ui5_cl_xml_view=>factory(
)->shell(
)->page( title = 'abap2UI5 - z2ui5_cl_app_hello_world'
)->simple_form( title = 'Hello World'
editable = abap_true
)->simple_form( title = 'Hello World' editable = abap_true
)->content( ns = `form`
)->title( 'Make an input here and send it to the server...'
)->label( 'quantity'
)->input( value = client->_bind_edit( quantity )
)->input( client->_bind_edit( quantity )
)->label( 'product'
)->input( value = product
enabled = abap_false
)->button( text = 'post'
press = client->_event( 'BUTTON_POST' )
)->input( value = product enabled = abap_false
)->button( text = 'post' press = client->_event( 'BUTTON_POST' )
)->stringify( ) ).
ENDMETHOD.

View File

@ -545,7 +545,8 @@ CLASS Z2UI5_CL_FW_HTTP_HANDLER IMPLEMENTATION.
`sap.z2ui5.Helper.DateAbapTimestampToDate = (sTimestamp => new sap.gantt.misc.Format.abapTimestampToDate(sTimestamp));` && |\n| &&
`sap.z2ui5.Helper.DateAbapDateToDateObject = (d => new Date(d.slice(0,4), (d[4]+d[5])-1, d[6]+d[7]));` && |\n| &&
`sap.z2ui5.Helper.DateAbapDateTimeToDateObject = ((d,t = '000000') => new Date(d.slice(0,4), (d[4]+d[5])-1, d[6]+d[7],t.slice(0,2),t.slice(2,4),t.slice(4,6)));` && |\n| &&
custom_js &&
custom_js && |\n| &&
z2ui5_cl_cc_timer=>get_js( ) && |\n| &&
` });` && |\n| &&
`</script>` && |\n| &&
`<abc/></body></html>`.

View File

@ -4200,19 +4200,25 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
METHOD header_content.
result = _generic( name = `headerContent`
ns = ns ).
ENDMETHOD.
METHOD header_title.
result = _generic( name = `headerTitle`
ns = `uxap` ).
ENDMETHOD.
METHOD header_toolbar.
result = _generic( `headerToolbar` ).
ENDMETHOD.

View File

@ -236,7 +236,9 @@ INTERFACE z2ui5_if_client
val TYPE data.
METHODS factory_view
IMPORTING
check_popup type abap_bool default abap_false
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_view.
VALUE(result) TYPE REF TO z2ui5_cl_ui5.
ENDINTERFACE.