mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
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:
parent
f1ec72f506
commit
b0bb5e9a9f
14
package-lock.json
generated
14
package-lock.json
generated
|
@ -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": {
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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.
|
|
@ -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>
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
|
@ -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` ).
|
|
@ -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.
|
||||
|
|
@ -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:
|
|
@ -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(
|
|
@ -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.
|
19
src/01/z2ui5_cl_fw_utility_xml.clas.abap
Normal file
19
src/01/z2ui5_cl_fw_utility_xml.clas.abap
Normal 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.
|
16
src/01/z2ui5_cl_fw_utility_xml.clas.xml
Normal file
16
src/01/z2ui5_cl_fw_utility_xml.clas.xml
Normal 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>
|
|
@ -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>
|
250
src/02/z2ui5_cl_ui5.clas.abap
Normal file
250
src/02/z2ui5_cl_ui5.clas.abap
Normal 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.
|
|
@ -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>
|
462
src/02/z2ui5_cl_ui5_m.clas.abap
Normal file
462
src/02/z2ui5_cl_ui5_m.clas.abap
Normal 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.
|
|
@ -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>
|
31
src/02/z2ui5_cl_ui5_ndc.clas.abap
Normal file
31
src/02/z2ui5_cl_ui5_ndc.clas.abap
Normal 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.
|
|
@ -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>
|
56
src/02/z2ui5_cl_ui5_suite.clas.abap
Normal file
56
src/02/z2ui5_cl_ui5_suite.clas.abap
Normal 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.
|
|
@ -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>
|
134
src/02/z2ui5_cl_ui5_ui.clas.abap
Normal file
134
src/02/z2ui5_cl_ui5_ui.clas.abap
Normal 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.
|
16
src/02/z2ui5_cl_ui5_ui.clas.xml
Normal file
16
src/02/z2ui5_cl_ui5_ui.clas.xml
Normal 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>
|
16
src/02/z2ui5_cl_ui5_zcc.clas.abap
Normal file
16
src/02/z2ui5_cl_ui5_zcc.clas.abap
Normal 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.
|
16
src/02/z2ui5_cl_ui5_zcc.clas.xml
Normal file
16
src/02/z2ui5_cl_ui5_zcc.clas.xml
Normal 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
10
src/03/package.devc.xml
Normal 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>
|
|
@ -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 ).
|
||||
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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>
|
91
src/03/z2ui5_cl_cc_title.clas.abap
Normal file
91
src/03/z2ui5_cl_cc_title.clas.abap
Normal 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.
|
16
src/03/z2ui5_cl_cc_title.clas.xml
Normal file
16
src/03/z2ui5_cl_cc_title.clas.xml
Normal 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>
|
|
@ -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>
|
|
@ -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.
|
16
src/99/z2ui5_cl_test_app_hello_world.clas.xml
Normal file
16
src/99/z2ui5_cl_test_app_hello_world.clas.xml
Normal 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>
|
|
@ -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.
|
||||
|
|
|
@ -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>`.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue
Block a user