diff --git a/package-lock.json b/package-lock.json index 40747b3f..a65f5111 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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": { diff --git a/package.json b/package.json index cde45834..6be4337b 100644 --- a/package.json +++ b/package.json @@ -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" diff --git a/src/00/package.devc.xml b/src/00/package.devc.xml index 99f8635d..301008ed 100644 --- a/src/00/package.devc.xml +++ b/src/00/package.devc.xml @@ -3,7 +3,7 @@ - abap2UI5 - framework + abap2UI5 - obsolet diff --git a/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.testclasses.abap b/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.testclasses.abap deleted file mode 100644 index 5d55af18..00000000 --- a/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.testclasses.abap +++ /dev/null @@ -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. diff --git a/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.xml b/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.xml deleted file mode 100644 index c8ff07fb..00000000 --- a/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Z2UI5_CL_APP_HELLO_WORLD_TEST - E - abap2UI5 - hello world demo test - 1 - X - X - X - X - - - - diff --git a/src/01/00/z2ui5_cl_view.clas.abap b/src/01/00/z2ui5_cl_view.clas.abap deleted file mode 100644 index a7ef7afe..00000000 --- a/src/01/00/z2ui5_cl_view.clas.abap +++ /dev/null @@ -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. diff --git a/src/01/00/z2ui5_cl_view_m.clas.abap b/src/01/00/z2ui5_cl_view_m.clas.abap deleted file mode 100644 index 698482ed..00000000 --- a/src/01/00/z2ui5_cl_view_m.clas.abap +++ /dev/null @@ -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. diff --git a/src/01/00/z2ui5_cl_view_suite.clas.abap b/src/01/00/z2ui5_cl_view_suite.clas.abap deleted file mode 100644 index 74b531ce..00000000 --- a/src/01/00/z2ui5_cl_view_suite.clas.abap +++ /dev/null @@ -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. diff --git a/src/01/00/z2ui5_cl_view_ui.clas.abap b/src/01/00/z2ui5_cl_view_ui.clas.abap deleted file mode 100644 index 014965a9..00000000 --- a/src/01/00/z2ui5_cl_view_ui.clas.abap +++ /dev/null @@ -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. diff --git a/src/01/00/z2ui5_cl_view_zcc.clas.abap b/src/01/00/z2ui5_cl_view_zcc.clas.abap deleted file mode 100644 index 8a9fb61f..00000000 --- a/src/01/00/z2ui5_cl_view_zcc.clas.abap +++ /dev/null @@ -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. diff --git a/src/01/00/z2ui5_cl_view_zcc.clas.xml b/src/01/00/z2ui5_cl_view_zcc.clas.xml deleted file mode 100644 index 531b82d7..00000000 --- a/src/01/00/z2ui5_cl_view_zcc.clas.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Z2UI5_CL_VIEW_ZCC - E - namespace z2ui5.zcc (custom) - 1 - X - X - X - - - - diff --git a/src/01/package.devc.xml b/src/01/package.devc.xml index acd6e686..3a88f215 100644 --- a/src/01/package.devc.xml +++ b/src/01/package.devc.xml @@ -3,7 +3,7 @@ - abap2UI5 - custom controls + abap2UI5 - framework (fw) diff --git a/src/00/z2ui5_cl_fw_app.clas.abap b/src/01/z2ui5_cl_fw_app.clas.abap similarity index 88% rename from src/00/z2ui5_cl_fw_app.clas.abap rename to src/01/z2ui5_cl_fw_app.clas.abap index e7e28d8f..4ae31325 100644 --- a/src/00/z2ui5_cl_fw_app.clas.abap +++ b/src/01/z2ui5_cl_fw_app.clas.abap @@ -1,15 +1,15 @@ -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: - BEGIN OF ms_home, + DATA: + BEGIN OF ms_home, btn_text TYPE string, btn_event_id TYPE string, btn_icon 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` ). diff --git a/src/00/z2ui5_cl_fw_app.clas.testclasses.abap b/src/01/z2ui5_cl_fw_app.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_app.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_app.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_app.clas.xml b/src/01/z2ui5_cl_fw_app.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_app.clas.xml rename to src/01/z2ui5_cl_fw_app.clas.xml diff --git a/src/00/z2ui5_cl_fw_binding.clas.abap b/src/01/z2ui5_cl_fw_binding.clas.abap similarity index 100% rename from src/00/z2ui5_cl_fw_binding.clas.abap rename to src/01/z2ui5_cl_fw_binding.clas.abap diff --git a/src/00/z2ui5_cl_fw_binding.clas.testclasses.abap b/src/01/z2ui5_cl_fw_binding.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_binding.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_binding.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_binding.clas.xml b/src/01/z2ui5_cl_fw_binding.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_binding.clas.xml rename to src/01/z2ui5_cl_fw_binding.clas.xml diff --git a/src/00/z2ui5_cl_fw_client.clas.abap b/src/01/z2ui5_cl_fw_client.clas.abap similarity index 99% rename from src/00/z2ui5_cl_fw_client.clas.abap rename to src/01/z2ui5_cl_fw_client.clas.abap index a3bda126..32dc2371 100644 --- a/src/00/z2ui5_cl_fw_client.clas.abap +++ b/src/01/z2ui5_cl_fw_client.clas.abap @@ -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. diff --git a/src/00/z2ui5_cl_fw_client.clas.testclasses.abap b/src/01/z2ui5_cl_fw_client.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_client.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_client.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_client.clas.xml b/src/01/z2ui5_cl_fw_client.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_client.clas.xml rename to src/01/z2ui5_cl_fw_client.clas.xml diff --git a/src/00/z2ui5_cl_fw_db.clas.abap b/src/01/z2ui5_cl_fw_db.clas.abap similarity index 100% rename from src/00/z2ui5_cl_fw_db.clas.abap rename to src/01/z2ui5_cl_fw_db.clas.abap diff --git a/src/00/z2ui5_cl_fw_db.clas.testclasses.abap b/src/01/z2ui5_cl_fw_db.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_db.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_db.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_db.clas.xml b/src/01/z2ui5_cl_fw_db.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_db.clas.xml rename to src/01/z2ui5_cl_fw_db.clas.xml diff --git a/src/00/z2ui5_cl_fw_handler.clas.abap b/src/01/z2ui5_cl_fw_handler.clas.abap similarity index 99% rename from src/00/z2ui5_cl_fw_handler.clas.abap rename to src/01/z2ui5_cl_fw_handler.clas.abap index 6cd3f4cd..d3f4b62d 100644 --- a/src/00/z2ui5_cl_fw_handler.clas.abap +++ b/src/01/z2ui5_cl_fw_handler.clas.abap @@ -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: diff --git a/src/00/z2ui5_cl_fw_handler.clas.testclasses.abap b/src/01/z2ui5_cl_fw_handler.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_handler.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_handler.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_handler.clas.xml b/src/01/z2ui5_cl_fw_handler.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_handler.clas.xml rename to src/01/z2ui5_cl_fw_handler.clas.xml diff --git a/src/00/z2ui5_cl_fw_integration_test.clas.abap b/src/01/z2ui5_cl_fw_integration_test.clas.abap similarity index 76% rename from src/00/z2ui5_cl_fw_integration_test.clas.abap rename to src/01/z2ui5_cl_fw_integration_test.clas.abap index e353d1f2..5b72e9b7 100644 --- a/src/00/z2ui5_cl_fw_integration_test.clas.abap +++ b/src/01/z2ui5_cl_fw_integration_test.clas.abap @@ -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( diff --git a/src/00/z2ui5_cl_fw_integration_test.clas.testclasses.abap b/src/01/z2ui5_cl_fw_integration_test.clas.testclasses.abap similarity index 92% rename from src/00/z2ui5_cl_fw_integration_test.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_integration_test.clas.testclasses.abap index 2286d41c..a0472df9 100644 --- a/src/00/z2ui5_cl_fw_integration_test.clas.testclasses.abap +++ b/src/01/z2ui5_cl_fw_integration_test.clas.testclasses.abap @@ -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 TYPE any. - - UNASSIGN . - DATA(lv_assign) = `PARAMS->S_TIMER->EVENT_FINISHED->*`. - ASSIGN lo_data->(lv_assign) TO . - IF <> `TIMER_FINISHED`. - cl_abap_unit_assert=>fail( msg = 'timer - event wrong' - quit = 5 ). - ENDIF. - - UNASSIGN . - lv_assign = `PARAMS->S_TIMER->INTERVAL_MS->*`. - ASSIGN lo_data->(lv_assign) TO . - IF <> `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 TYPE any. +* +* UNASSIGN . +* DATA(lv_assign) = `PARAMS->S_TIMER->EVENT_FINISHED->*`. +* ASSIGN lo_data->(lv_assign) TO . +* IF <> `TIMER_FINISHED`. +* cl_abap_unit_assert=>fail( msg = 'timer - event wrong' +* quit = 5 ). +* ENDIF. +* +* UNASSIGN . +* lv_assign = `PARAMS->S_TIMER->INTERVAL_MS->*`. +* ASSIGN lo_data->(lv_assign) TO . +* IF <> `500`. +* cl_abap_unit_assert=>fail( msg = 'timer - ms wrong' +* quit = 5 ). +* ENDIF. ENDMETHOD. METHOD test_xml_popup. diff --git a/src/00/z2ui5_cl_fw_integration_test.clas.xml b/src/01/z2ui5_cl_fw_integration_test.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_integration_test.clas.xml rename to src/01/z2ui5_cl_fw_integration_test.clas.xml diff --git a/src/00/z2ui5_cl_fw_model.clas.abap b/src/01/z2ui5_cl_fw_model.clas.abap similarity index 100% rename from src/00/z2ui5_cl_fw_model.clas.abap rename to src/01/z2ui5_cl_fw_model.clas.abap diff --git a/src/00/z2ui5_cl_fw_model.clas.testclasses.abap b/src/01/z2ui5_cl_fw_model.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_model.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_model.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_model.clas.xml b/src/01/z2ui5_cl_fw_model.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_model.clas.xml rename to src/01/z2ui5_cl_fw_model.clas.xml diff --git a/src/00/z2ui5_cl_fw_utility.clas.abap b/src/01/z2ui5_cl_fw_utility.clas.abap similarity index 100% rename from src/00/z2ui5_cl_fw_utility.clas.abap rename to src/01/z2ui5_cl_fw_utility.clas.abap diff --git a/src/00/z2ui5_cl_fw_utility.clas.testclasses.abap b/src/01/z2ui5_cl_fw_utility.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_utility.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_utility.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_utility.clas.xml b/src/01/z2ui5_cl_fw_utility.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_utility.clas.xml rename to src/01/z2ui5_cl_fw_utility.clas.xml diff --git a/src/00/z2ui5_cl_fw_utility_json.clas.abap b/src/01/z2ui5_cl_fw_utility_json.clas.abap similarity index 100% rename from src/00/z2ui5_cl_fw_utility_json.clas.abap rename to src/01/z2ui5_cl_fw_utility_json.clas.abap diff --git a/src/00/z2ui5_cl_fw_utility_json.clas.testclasses.abap b/src/01/z2ui5_cl_fw_utility_json.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cl_fw_utility_json.clas.testclasses.abap rename to src/01/z2ui5_cl_fw_utility_json.clas.testclasses.abap diff --git a/src/00/z2ui5_cl_fw_utility_json.clas.xml b/src/01/z2ui5_cl_fw_utility_json.clas.xml similarity index 100% rename from src/00/z2ui5_cl_fw_utility_json.clas.xml rename to src/01/z2ui5_cl_fw_utility_json.clas.xml diff --git a/src/01/z2ui5_cl_fw_utility_xml.clas.abap b/src/01/z2ui5_cl_fw_utility_xml.clas.abap new file mode 100644 index 00000000..70b533e5 --- /dev/null +++ b/src/01/z2ui5_cl_fw_utility_xml.clas.abap @@ -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. diff --git a/src/01/z2ui5_cl_fw_utility_xml.clas.xml b/src/01/z2ui5_cl_fw_utility_xml.clas.xml new file mode 100644 index 00000000..41d9419c --- /dev/null +++ b/src/01/z2ui5_cl_fw_utility_xml.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_FW_UTILITY_XML + E + abap2UI5 - utility xml + 1 + X + X + X + + + + diff --git a/src/00/z2ui5_cx_fw_error.clas.abap b/src/01/z2ui5_cx_fw_error.clas.abap similarity index 100% rename from src/00/z2ui5_cx_fw_error.clas.abap rename to src/01/z2ui5_cx_fw_error.clas.abap diff --git a/src/00/z2ui5_cx_fw_error.clas.testclasses.abap b/src/01/z2ui5_cx_fw_error.clas.testclasses.abap similarity index 100% rename from src/00/z2ui5_cx_fw_error.clas.testclasses.abap rename to src/01/z2ui5_cx_fw_error.clas.testclasses.abap diff --git a/src/00/z2ui5_cx_fw_error.clas.xml b/src/01/z2ui5_cx_fw_error.clas.xml similarity index 100% rename from src/00/z2ui5_cx_fw_error.clas.xml rename to src/01/z2ui5_cx_fw_error.clas.xml diff --git a/src/00/z2ui5_t_draft.tabl.xml b/src/01/z2ui5_t_draft.tabl.xml similarity index 100% rename from src/00/z2ui5_t_draft.tabl.xml rename to src/01/z2ui5_t_draft.tabl.xml diff --git a/src/01/00/package.devc.xml b/src/02/package.devc.xml similarity index 85% rename from src/01/00/package.devc.xml rename to src/02/package.devc.xml index 9bd9bf7f..eddb85f6 100644 --- a/src/01/00/package.devc.xml +++ b/src/02/package.devc.xml @@ -3,7 +3,7 @@ - test + abap2UI5 - ui5 api (ui5) diff --git a/src/02/z2ui5_cl_ui5.clas.abap b/src/02/z2ui5_cl_ui5.clas.abap new file mode 100644 index 00000000..f38f1a2c --- /dev/null +++ b/src/02/z2ui5_cl_ui5.clas.abap @@ -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 }|. + 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. diff --git a/src/01/00/z2ui5_cl_view.clas.xml b/src/02/z2ui5_cl_ui5.clas.xml similarity index 83% rename from src/01/00/z2ui5_cl_view.clas.xml rename to src/02/z2ui5_cl_ui5.clas.xml index a05c0021..46e43899 100644 --- a/src/01/00/z2ui5_cl_view.clas.xml +++ b/src/02/z2ui5_cl_ui5.clas.xml @@ -3,9 +3,9 @@ - Z2UI5_CL_VIEW + Z2UI5_CL_UI5 E - sap ui5 library + ui5 api 1 X X diff --git a/src/02/z2ui5_cl_ui5_m.clas.abap b/src/02/z2ui5_cl_ui5_m.clas.abap new file mode 100644 index 00000000..b121df9c --- /dev/null +++ b/src/02/z2ui5_cl_ui5_m.clas.abap @@ -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. diff --git a/src/01/00/z2ui5_cl_view_m.clas.xml b/src/02/z2ui5_cl_ui5_m.clas.xml similarity index 83% rename from src/01/00/z2ui5_cl_view_m.clas.xml rename to src/02/z2ui5_cl_ui5_m.clas.xml index 51c017c2..d9dc1c29 100644 --- a/src/01/00/z2ui5_cl_view_m.clas.xml +++ b/src/02/z2ui5_cl_ui5_m.clas.xml @@ -3,9 +3,9 @@ - Z2UI5_CL_VIEW_M + Z2UI5_CL_UI5_M E - namespace sap.m + ns - sap.m 1 X X diff --git a/src/02/z2ui5_cl_ui5_ndc.clas.abap b/src/02/z2ui5_cl_ui5_ndc.clas.abap new file mode 100644 index 00000000..98ceedb1 --- /dev/null +++ b/src/02/z2ui5_cl_ui5_ndc.clas.abap @@ -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. diff --git a/src/01/00/z2ui5_cl_view_ui.clas.xml b/src/02/z2ui5_cl_ui5_ndc.clas.xml similarity index 82% rename from src/01/00/z2ui5_cl_view_ui.clas.xml rename to src/02/z2ui5_cl_ui5_ndc.clas.xml index 56e052a4..db7b45f1 100644 --- a/src/01/00/z2ui5_cl_view_ui.clas.xml +++ b/src/02/z2ui5_cl_ui5_ndc.clas.xml @@ -3,9 +3,9 @@ - Z2UI5_CL_VIEW_UI + Z2UI5_CL_UI5_NDC E - namespace sap.ui + ns - sap.ndc 1 X X diff --git a/src/02/z2ui5_cl_ui5_suite.clas.abap b/src/02/z2ui5_cl_ui5_suite.clas.abap new file mode 100644 index 00000000..dda96f7b --- /dev/null +++ b/src/02/z2ui5_cl_ui5_suite.clas.abap @@ -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. diff --git a/src/01/00/z2ui5_cl_view_suite.clas.xml b/src/02/z2ui5_cl_ui5_suite.clas.xml similarity index 81% rename from src/01/00/z2ui5_cl_view_suite.clas.xml rename to src/02/z2ui5_cl_ui5_suite.clas.xml index fa5d1921..010da166 100644 --- a/src/01/00/z2ui5_cl_view_suite.clas.xml +++ b/src/02/z2ui5_cl_ui5_suite.clas.xml @@ -3,9 +3,9 @@ - Z2UI5_CL_VIEW_SUITE + Z2UI5_CL_UI5_SUITE E - namespace sap.suite + ns - sap.suite 1 X X diff --git a/src/02/z2ui5_cl_ui5_ui.clas.abap b/src/02/z2ui5_cl_ui5_ui.clas.abap new file mode 100644 index 00000000..314b91f7 --- /dev/null +++ b/src/02/z2ui5_cl_ui5_ui.clas.abap @@ -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. diff --git a/src/02/z2ui5_cl_ui5_ui.clas.xml b/src/02/z2ui5_cl_ui5_ui.clas.xml new file mode 100644 index 00000000..c16f47e0 --- /dev/null +++ b/src/02/z2ui5_cl_ui5_ui.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_UI5_UI + E + ns - sap.ui + 1 + X + X + X + + + + diff --git a/src/02/z2ui5_cl_ui5_zcc.clas.abap b/src/02/z2ui5_cl_ui5_zcc.clas.abap new file mode 100644 index 00000000..ba60e7cc --- /dev/null +++ b/src/02/z2ui5_cl_ui5_zcc.clas.abap @@ -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. diff --git a/src/02/z2ui5_cl_ui5_zcc.clas.xml b/src/02/z2ui5_cl_ui5_zcc.clas.xml new file mode 100644 index 00000000..0e395077 --- /dev/null +++ b/src/02/z2ui5_cl_ui5_zcc.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_UI5_ZCC + E + ns - z2ui5 (custom) + 1 + X + X + X + + + + diff --git a/src/03/package.devc.xml b/src/03/package.devc.xml new file mode 100644 index 00000000..ace9c349 --- /dev/null +++ b/src/03/package.devc.xml @@ -0,0 +1,10 @@ + + + + + + abap2UI5 - custom controls (cc) + + + + diff --git a/src/01/z2ui5_cl_cc_bwipjs.clas.abap b/src/03/z2ui5_cl_cc_bwipjs.clas.abap similarity index 100% rename from src/01/z2ui5_cl_cc_bwipjs.clas.abap rename to src/03/z2ui5_cl_cc_bwipjs.clas.abap diff --git a/src/01/z2ui5_cl_cc_bwipjs.clas.xml b/src/03/z2ui5_cl_cc_bwipjs.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_bwipjs.clas.xml rename to src/03/z2ui5_cl_cc_bwipjs.clas.xml diff --git a/src/01/z2ui5_cl_cc_demo_output.clas.abap b/src/03/z2ui5_cl_cc_demo_output.clas.abap similarity index 100% rename from src/01/z2ui5_cl_cc_demo_output.clas.abap rename to src/03/z2ui5_cl_cc_demo_output.clas.abap diff --git a/src/01/z2ui5_cl_cc_demo_output.clas.xml b/src/03/z2ui5_cl_cc_demo_output.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_demo_output.clas.xml rename to src/03/z2ui5_cl_cc_demo_output.clas.xml diff --git a/src/01/z2ui5_cl_cc_driver_js.clas.abap b/src/03/z2ui5_cl_cc_driver_js.clas.abap similarity index 100% rename from src/01/z2ui5_cl_cc_driver_js.clas.abap rename to src/03/z2ui5_cl_cc_driver_js.clas.abap diff --git a/src/01/z2ui5_cl_cc_driver_js.clas.xml b/src/03/z2ui5_cl_cc_driver_js.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_driver_js.clas.xml rename to src/03/z2ui5_cl_cc_driver_js.clas.xml diff --git a/src/01/z2ui5_cl_cc_factory.clas.abap b/src/03/z2ui5_cl_cc_factory.clas.abap similarity index 90% rename from src/01/z2ui5_cl_cc_factory.clas.abap rename to src/03/z2ui5_cl_cc_factory.clas.abap index 485d93fa..4f41b17c 100644 --- a/src/01/z2ui5_cl_cc_factory.clas.abap +++ b/src/03/z2ui5_cl_cc_factory.clas.abap @@ -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 ). diff --git a/src/01/z2ui5_cl_cc_factory.clas.xml b/src/03/z2ui5_cl_cc_factory.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_factory.clas.xml rename to src/03/z2ui5_cl_cc_factory.clas.xml diff --git a/src/01/z2ui5_cl_cc_file_uploader.clas.abap b/src/03/z2ui5_cl_cc_file_uploader.clas.abap similarity index 99% rename from src/01/z2ui5_cl_cc_file_uploader.clas.abap rename to src/03/z2ui5_cl_cc_file_uploader.clas.abap index 9079c3cb..eebea9ef 100644 --- a/src/01/z2ui5_cl_cc_file_uploader.clas.abap +++ b/src/03/z2ui5_cl_cc_file_uploader.clas.abap @@ -215,8 +215,7 @@ CLASS Z2UI5_CL_CC_FILE_UPLOADER IMPLEMENTATION. ` });` && |\n| && ` });`. -* result = mo_view->_cc_plain_xml( `` && js && `` ). - 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. diff --git a/src/01/z2ui5_cl_cc_file_uploader.clas.xml b/src/03/z2ui5_cl_cc_file_uploader.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_file_uploader.clas.xml rename to src/03/z2ui5_cl_cc_file_uploader.clas.xml diff --git a/src/01/z2ui5_cl_cc_font_awesome_icons.clas.abap b/src/03/z2ui5_cl_cc_font_awesome_icons.clas.abap similarity index 95% rename from src/01/z2ui5_cl_cc_font_awesome_icons.clas.abap rename to src/03/z2ui5_cl_cc_font_awesome_icons.clas.abap index 5247beda..888349f3 100644 --- a/src/01/z2ui5_cl_cc_font_awesome_icons.clas.abap +++ b/src/03/z2ui5_cl_cc_font_awesome_icons.clas.abap @@ -40,7 +40,7 @@ CLASS Z2UI5_CL_CC_FONT_AWESOME_ICONS IMPLEMENTATION. METHOD LOAD_ANIMATION_JS. * result = mo_view->_cc_plain_xml( `` ). - 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( `` && js && `` ). +* result = mo_view->_cc_plain_xml( `` && js && `` )->get_parent( ). + result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js )->get_parent( ). ENDMETHOD. ENDCLASS. diff --git a/src/01/z2ui5_cl_cc_font_awesome_icons.clas.xml b/src/03/z2ui5_cl_cc_font_awesome_icons.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_font_awesome_icons.clas.xml rename to src/03/z2ui5_cl_cc_font_awesome_icons.clas.xml diff --git a/src/01/z2ui5_cl_cc_geolocation.clas.abap b/src/03/z2ui5_cl_cc_geolocation.clas.abap similarity index 99% rename from src/01/z2ui5_cl_cc_geolocation.clas.abap rename to src/03/z2ui5_cl_cc_geolocation.clas.abap index 08595fde..c9a97eb5 100644 --- a/src/01/z2ui5_cl_cc_geolocation.clas.abap +++ b/src/03/z2ui5_cl_cc_geolocation.clas.abap @@ -158,7 +158,7 @@ CLASS z2ui5_cl_cc_geolocation IMPLEMENTATION. `});`. * result = mo_view->_cc_plain_xml( `` && js && `` ). - 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. diff --git a/src/01/z2ui5_cl_cc_geolocation.clas.xml b/src/03/z2ui5_cl_cc_geolocation.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_geolocation.clas.xml rename to src/03/z2ui5_cl_cc_geolocation.clas.xml diff --git a/src/01/z2ui5_cl_cc_info.clas.abap b/src/03/z2ui5_cl_cc_info.clas.abap similarity index 99% rename from src/01/z2ui5_cl_cc_info.clas.abap rename to src/03/z2ui5_cl_cc_info.clas.abap index 7d269ad6..ec830226 100644 --- a/src/01/z2ui5_cl_cc_info.clas.abap +++ b/src/03/z2ui5_cl_cc_info.clas.abap @@ -118,7 +118,7 @@ ENDMETHOD. `});`. * result = mo_view->_cc_plain_xml( `` && js && `` ). - 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. diff --git a/src/01/z2ui5_cl_cc_info.clas.xml b/src/03/z2ui5_cl_cc_info.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_info.clas.xml rename to src/03/z2ui5_cl_cc_info.clas.xml diff --git a/src/01/z2ui5_cl_cc_spreadsheet.clas.abap b/src/03/z2ui5_cl_cc_spreadsheet.clas.abap similarity index 100% rename from src/01/z2ui5_cl_cc_spreadsheet.clas.abap rename to src/03/z2ui5_cl_cc_spreadsheet.clas.abap diff --git a/src/01/z2ui5_cl_cc_spreadsheet.clas.xml b/src/03/z2ui5_cl_cc_spreadsheet.clas.xml similarity index 100% rename from src/01/z2ui5_cl_cc_spreadsheet.clas.xml rename to src/03/z2ui5_cl_cc_spreadsheet.clas.xml diff --git a/src/01/z2ui5_cl_cc_timer.clas.abap b/src/03/z2ui5_cl_cc_timer.clas.abap similarity index 65% rename from src/01/z2ui5_cl_cc_timer.clas.abap rename to src/03/z2ui5_cl_cc_timer.clas.abap index 0754828d..6cda65d2 100644 --- a/src/01/z2ui5_cl_cc_timer.clas.abap +++ b/src/03/z2ui5_cl_cc_timer.clas.abap @@ -11,8 +11,10 @@ CLASS z2ui5_cl_cc_timer DEFINITION METHODS control IMPORTING - finished TYPE clike OPTIONAL - delayMS TYPE clike OPTIONAL + finished 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,8 +22,12 @@ 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. + DATA mo_view TYPE REF TO z2ui5_cl_xml_view. PRIVATE SECTION. ENDCLASS. @@ -36,20 +42,27 @@ CLASS z2ui5_cl_cc_timer IMPLEMENTATION. ENDMETHOD. -method control. + METHOD control. - result = mo_view. + 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| && - ` ` && |\n| && - ` renderer(oRm, oControl) {` && |\n| && - |\n| && + ` delayedCall( 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( `` && js && `` ). - result = mo_view->_generic( ns = `html` name = `script` )->_cc_plain_xml( js ). ENDMETHOD. ENDCLASS. diff --git a/src/01/z2ui5_cl_cc_timer.clas.xml b/src/03/z2ui5_cl_cc_timer.clas.xml similarity index 90% rename from src/01/z2ui5_cl_cc_timer.clas.xml rename to src/03/z2ui5_cl_cc_timer.clas.xml index fbeab7ed..898ee967 100644 --- a/src/01/z2ui5_cl_cc_timer.clas.xml +++ b/src/03/z2ui5_cl_cc_timer.clas.xml @@ -5,7 +5,7 @@ Z2UI5_CL_CC_TIMER E - sap gui - cl_gui_timer + cc - setTimeout 1 X X diff --git a/src/03/z2ui5_cl_cc_title.clas.abap b/src/03/z2ui5_cl_cc_title.clas.abap new file mode 100644 index 00000000..163e5821 --- /dev/null +++ b/src/03/z2ui5_cl_cc_title.clas.abap @@ -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. diff --git a/src/03/z2ui5_cl_cc_title.clas.xml b/src/03/z2ui5_cl_cc_title.clas.xml new file mode 100644 index 00000000..7a6ed449 --- /dev/null +++ b/src/03/z2ui5_cl_cc_title.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_CC_TITLE + E + cc - document.title + 1 + X + X + X + + + + diff --git a/src/01/00/00/package.devc.xml b/src/99/package.devc.xml similarity index 86% rename from src/01/00/00/package.devc.xml rename to src/99/package.devc.xml index 9bd9bf7f..dab01f98 100644 --- a/src/01/00/00/package.devc.xml +++ b/src/99/package.devc.xml @@ -3,7 +3,7 @@ - test + abap2UI5 - test (test) diff --git a/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.abap b/src/99/z2ui5_cl_test_app_hello_world.clas.abap similarity index 82% rename from src/01/00/00/z2ui5_cl_app_hello_world_test.clas.abap rename to src/99/z2ui5_cl_test_app_hello_world.clas.abap index dbecb7a9..f769beb8 100644 --- a/src/01/00/00/z2ui5_cl_app_hello_world_test.clas.abap +++ b/src/99/z2ui5_cl_test_app_hello_world.clas.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. diff --git a/src/99/z2ui5_cl_test_app_hello_world.clas.xml b/src/99/z2ui5_cl_test_app_hello_world.clas.xml new file mode 100644 index 00000000..d029df1a --- /dev/null +++ b/src/99/z2ui5_cl_test_app_hello_world.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_TEST_APP_HELLO_WORLD + E + test app + 1 + X + X + X + + + + diff --git a/src/z2ui5_cl_fw_app_hello_world.clas.abap b/src/z2ui5_cl_fw_app_hello_world.clas.abap index ba4e9874..419ca602 100644 --- a/src/z2ui5_cl_fw_app_hello_world.clas.abap +++ b/src/z2ui5_cl_fw_app_hello_world.clas.abap @@ -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. diff --git a/src/z2ui5_cl_fw_http_handler.clas.abap b/src/z2ui5_cl_fw_http_handler.clas.abap index 86697c0b..528f11f1 100644 --- a/src/z2ui5_cl_fw_http_handler.clas.abap +++ b/src/z2ui5_cl_fw_http_handler.clas.abap @@ -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| && `` && |\n| && ``. diff --git a/src/z2ui5_cl_xml_view.clas.abap b/src/z2ui5_cl_xml_view.clas.abap index 92db02f8..7945c8c8 100644 --- a/src/z2ui5_cl_xml_view.clas.abap +++ b/src/z2ui5_cl_xml_view.clas.abap @@ -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. diff --git a/src/z2ui5_if_client.intf.abap b/src/z2ui5_if_client.intf.abap index ef71345c..aa7b3799 100644 --- a/src/z2ui5_if_client.intf.abap +++ b/src/z2ui5_if_client.intf.abap @@ -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.