mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 16:36:11 +08:00
Demos (#217)
* demos * demos * demos * demos * demos * demos * demos * demos * demos
This commit is contained in:
parent
12493b53fd
commit
8309642e55
|
@ -113,12 +113,13 @@ CLASS Z2UI5_CL_APP_DEMO_00 IMPLEMENTATION.
|
||||||
|
|
||||||
grid->simple_form( title = 'HowTo - More I' layout = 'ResponsiveGridLayout' )->content( 'form'
|
grid->simple_form( title = 'HowTo - More I' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||||
)->button( text = 'Side Effects' press = client->_event( 'z2ui5_cl_app_demo_27' )
|
)->button( text = 'Side Effects' press = client->_event( 'z2ui5_cl_app_demo_27' )
|
||||||
)->button( text = 'Integer and Decimals' press = client->_event( 'z2ui5_cl_app_demo_47' )
|
)->button( text = 'Integer, Decimals, Dates, Time' press = client->_event( 'z2ui5_cl_app_demo_47' )
|
||||||
)->button( text = 'FE Table' press = client->_event( 'z2ui5_cl_app_demo_49' )
|
" )->button( text = 'FE Table' press = client->_event( 'z2ui5_cl_app_demo_49' )
|
||||||
).
|
).
|
||||||
|
|
||||||
grid->simple_form( title = 'HowTo - More II' layout = 'ResponsiveGridLayout' )->content( 'form'
|
grid->simple_form( title = 'HowTo - More II' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||||
)->button( text = 'Change CSS' press = client->_event( 'z2ui5_cl_app_demo_50' )
|
)->button( text = 'Change CSS' press = client->_event( 'z2ui5_cl_app_demo_50' )
|
||||||
|
)->button( text = 'Change Model at Runtime' press = client->_event( 'z2ui5_cl_app_demo_35' )
|
||||||
).
|
).
|
||||||
|
|
||||||
DATA(form) = page->grid( 'L9 M12 S12'
|
DATA(form) = page->grid( 'L9 M12 S12'
|
||||||
|
@ -201,7 +202,22 @@ CLASS Z2UI5_CL_APP_DEMO_00 IMPLEMENTATION.
|
||||||
growfactor = '1'
|
growfactor = '1'
|
||||||
styleclass = 'sapUiTinyMargin'
|
styleclass = 'sapUiTinyMargin'
|
||||||
)->get_parent( )->get_parent(
|
)->get_parent( )->get_parent(
|
||||||
)->text( `Use the sap.uxap.ObjectPageLayout to easily display information related to a business object. It is composed of a header and content wrapping in sections and subestions.` )->get(
|
)->text( `Use the sap.uxap.ObjectPageLayout to easily display information related to a business object. It is composed of a header and content wrapping in sections and subestions` )->get(
|
||||||
|
)->layout_data(
|
||||||
|
)->flex_item_data(
|
||||||
|
growfactor = '3'
|
||||||
|
styleclass = 'sapUiTinyMargin' ).
|
||||||
|
|
||||||
|
form->flex_box( class = 'columns'
|
||||||
|
)->button(
|
||||||
|
text = 'List Report'
|
||||||
|
press = client->_event( 'z2ui5_cl_app_demo_49' ) )->get(
|
||||||
|
)->layout_data(
|
||||||
|
)->flex_item_data(
|
||||||
|
growfactor = '1'
|
||||||
|
styleclass = 'sapUiTinyMargin'
|
||||||
|
)->get_parent( )->get_parent(
|
||||||
|
)->text( `Similar functionality to a Fiori Elements List Report - Display Table with Sorting, Filtering, Navigation, Layouts and Custom Functions` )->get(
|
||||||
)->layout_data(
|
)->layout_data(
|
||||||
)->flex_item_data(
|
)->flex_item_data(
|
||||||
growfactor = '3'
|
growfactor = '3'
|
||||||
|
|
|
@ -51,10 +51,6 @@ CLASS z2ui5_cl_app_demo_07 DEFINITION PUBLIC.
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE string.
|
VALUE(r_result) TYPE string.
|
||||||
|
|
||||||
METHODS ui5_get_ccontrol_file_upload
|
|
||||||
RETURNING
|
|
||||||
VALUE(result) TYPE string.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -62,118 +58,6 @@ ENDCLASS.
|
||||||
|
|
||||||
CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION.
|
CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD ui5_get_ccontrol_file_upload.
|
|
||||||
|
|
||||||
result = ` jQuery.sap.declare("z2ui5.FileUploader");` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` sap.ui.define([` && |\n| &&
|
|
||||||
` "sap/ui/core/Control",` && |\n| &&
|
|
||||||
` "sap/m/Button",` && |\n| &&
|
|
||||||
` "sap/ui/unified/FileUploader"` && |\n| &&
|
|
||||||
` ], function (Control, Button, FileUploader) {` && |\n| &&
|
|
||||||
` "use strict";` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` return Control.extend("z2ui5.FileUploader", {` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` metadata: {` && |\n| &&
|
|
||||||
` properties: {` && |\n| &&
|
|
||||||
` value: {` && |\n| &&
|
|
||||||
` type: "string",` && |\n| &&
|
|
||||||
` defaultValue: ""` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` path: {` && |\n| &&
|
|
||||||
` type: "string",` && |\n| &&
|
|
||||||
` defaultValue: ""` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` tooltip: {` && |\n| &&
|
|
||||||
` type: "string",` && |\n| &&
|
|
||||||
` defaultValue: ""` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` fileType: {` && |\n| &&
|
|
||||||
` type: "string",` && |\n| &&
|
|
||||||
` defaultValue: ""` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` placeholder: {` && |\n| &&
|
|
||||||
` type: "string",` && |\n| &&
|
|
||||||
` defaultValue: ""` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` buttonText: {` && |\n| &&
|
|
||||||
` type: "string",` && |\n| &&
|
|
||||||
` defaultValue: "Upload"` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` enabled: {` && |\n| &&
|
|
||||||
` type: "boolean",` && |\n| &&
|
|
||||||
` defaultValue: true` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` multiple: {` && |\n| &&
|
|
||||||
` type: "boolean",` && |\n| &&
|
|
||||||
` defaultValue: false` && |\n| &&
|
|
||||||
` }` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` aggregations: {` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` events: {` && |\n| &&
|
|
||||||
` "upload": {` && |\n| &&
|
|
||||||
` allowPreventDefault: true,` && |\n| &&
|
|
||||||
` parameters: {}` && |\n| &&
|
|
||||||
` }` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
` renderer: null` && |\n| &&
|
|
||||||
` },` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` renderer: function (oRm, oControl) {` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` oControl.oUploadButton = new Button({` && |\n| &&
|
|
||||||
` text: oControl.getProperty("buttonText"),` && |\n| &&
|
|
||||||
` enabled: oControl.getProperty("path") !== "",` && |\n| &&
|
|
||||||
` press: function (oEvent) {` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` this.setProperty("path", this.oFileUploader.getProperty("value"));` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` var file = this.oFileUploader.oFileUpload.files[0];` && |\n| &&
|
|
||||||
` var reader = new FileReader();` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` reader.onload = function (evt) {` && |\n| &&
|
|
||||||
` var vContent = evt.currentTarget.result;` && |\n| &&
|
|
||||||
` this.setProperty("value", vContent);` && |\n| &&
|
|
||||||
` this.fireUpload();` && |\n| &&
|
|
||||||
` //this.getView().byId('picture' ).getDomRef().src = vContent;` && |\n| &&
|
|
||||||
` }.bind(this)` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` reader.readAsDataURL(file);` && |\n| &&
|
|
||||||
` }.bind(oControl)` && |\n| &&
|
|
||||||
` });` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` oControl.oFileUploader = new FileUploader({` && |\n| &&
|
|
||||||
` icon: "sap-icon://browse-folder",` && |\n| &&
|
|
||||||
` iconOnly: true,` && |\n| &&
|
|
||||||
` value: oControl.getProperty("path"),` && |\n| &&
|
|
||||||
` placeholder: oControl.getProperty("placeholder"),` && |\n| &&
|
|
||||||
` change: function (oEvent) {` && |\n| &&
|
|
||||||
` var value = oEvent.getSource().getProperty("value");` && |\n| &&
|
|
||||||
` this.setProperty("path", value);` && |\n| &&
|
|
||||||
` if (value) {` && |\n| &&
|
|
||||||
` this.oUploadButton.setEnabled();` && |\n| &&
|
|
||||||
` } else {` && |\n| &&
|
|
||||||
` this.oUploadButton.setEnabled(false);` && |\n| &&
|
|
||||||
` }` && |\n| &&
|
|
||||||
` this.oUploadButton.rerender();` && |\n| &&
|
|
||||||
` }.bind(oControl)` && |\n| &&
|
|
||||||
` });` && |\n| &&
|
|
||||||
|\n| &&
|
|
||||||
` var hbox = new sap.m.HBox();` && |\n| &&
|
|
||||||
` hbox.addItem(oControl.oFileUploader);` && |\n| &&
|
|
||||||
` hbox.addItem(oControl.oUploadButton);` && |\n| &&
|
|
||||||
` oRm.renderControl(hbox);` && |\n| &&
|
|
||||||
` }` && |\n| &&
|
|
||||||
` });` && |\n| &&
|
|
||||||
` });`.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD ui5_on_event.
|
METHOD ui5_on_event.
|
||||||
|
|
||||||
CASE client->get( )-event.
|
CASE client->get( )-event.
|
||||||
|
@ -299,7 +183,7 @@ CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION.
|
||||||
|
|
||||||
page->text( ns = 'm' text = 'Custom Control for File Upload is now loaded.'
|
page->text( ns = 'm' text = 'Custom Control for File Upload is now loaded.'
|
||||||
)->button( ns = 'm' text = 'continue' press = client->_event( 'START' )
|
)->button( ns = 'm' text = 'continue' press = client->_event( 'START' )
|
||||||
)->zz_plain( ` <script> ` && ui5_get_ccontrol_file_upload( ) && ` </script>`
|
)->zz_plain( ` <script> ` && z2ui5_cl_xml_view=>cc_file_uploader_get_js( ) && ` </script>`
|
||||||
).
|
).
|
||||||
|
|
||||||
r_result = lo_view->get_root( )->xml_get( ).
|
r_result = lo_view->get_root( )->xml_get( ).
|
||||||
|
@ -319,7 +203,7 @@ CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION.
|
||||||
)->link( text = 'Source_Code' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
)->link( text = 'Source_Code' href = Z2UI5_CL_XML_VIEW=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||||
)->get_parent( ).
|
)->get_parent( ).
|
||||||
|
|
||||||
page->zz_file_uploader(
|
page->cc_file_uploader(
|
||||||
value = client->_bind( mv_value )
|
value = client->_bind( mv_value )
|
||||||
path = client->_bind( mv_path )
|
path = client->_bind( mv_path )
|
||||||
placeholder = 'filepath here...'
|
placeholder = 'filepath here...'
|
||||||
|
|
|
@ -7,7 +7,6 @@ CLASS z2ui5_cl_app_demo_35 DEFINITION PUBLIC.
|
||||||
DATA mt_table TYPE REF TO data.
|
DATA mt_table TYPE REF TO data.
|
||||||
DATA mt_cols TYPE string_table.
|
DATA mt_cols TYPE string_table.
|
||||||
DATA mv_name TYPE string.
|
DATA mv_name TYPE string.
|
||||||
DATA mv_input TYPE string.
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
|
@ -21,7 +20,6 @@ CLASS z2ui5_cl_app_demo_35 DEFINITION PUBLIC.
|
||||||
next TYPE z2ui5_if_client=>ty_s_next,
|
next TYPE z2ui5_if_client=>ty_s_next,
|
||||||
END OF app.
|
END OF app.
|
||||||
|
|
||||||
|
|
||||||
METHODS z2ui5_on_init.
|
METHODS z2ui5_on_init.
|
||||||
METHODS z2ui5_on_event.
|
METHODS z2ui5_on_event.
|
||||||
METHODS z2ui5_on_render.
|
METHODS z2ui5_on_render.
|
||||||
|
@ -116,7 +114,7 @@ CLASS z2ui5_cl_app_demo_35 IMPLEMENTATION.
|
||||||
text = 'Source_Code' target = '_blank'
|
text = 'Source_Code' target = '_blank'
|
||||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||||
)->get_parent(
|
)->get_parent(
|
||||||
)->simple_form( title = 'SE16' editable = abap_true
|
)->simple_form( editable = abap_true
|
||||||
)->content( `form`
|
)->content( `form`
|
||||||
)->title( 'Table'
|
)->title( 'Table'
|
||||||
)->label( 'Name' ).
|
)->label( 'Name' ).
|
||||||
|
@ -124,19 +122,7 @@ CLASS z2ui5_cl_app_demo_35 IMPLEMENTATION.
|
||||||
lo_view->input( client->_bind( mv_name ) ).
|
lo_view->input( client->_bind( mv_name ) ).
|
||||||
|
|
||||||
lo_view->button(
|
lo_view->button(
|
||||||
text = 'search'
|
text = 'read'
|
||||||
press = client->_event( 'BUTTON_TABLE' )
|
|
||||||
).
|
|
||||||
lo_view = lo_view->get_parent( )->get_parent( )->simple_form( title = 'cols' editable = abap_true
|
|
||||||
)->content( 'form' ).
|
|
||||||
|
|
||||||
LOOP AT mt_cols REFERENCE INTO DATA(lr_col).
|
|
||||||
lo_view->label( lr_col->* ).
|
|
||||||
lo_view->input( value = mv_input ).
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
lo_view->button(
|
|
||||||
text = 'search'
|
|
||||||
press = client->_event( 'BUTTON_POST' )
|
press = client->_event( 'BUTTON_POST' )
|
||||||
).
|
).
|
||||||
|
|
||||||
|
@ -144,14 +130,14 @@ CLASS z2ui5_cl_app_demo_35 IMPLEMENTATION.
|
||||||
|
|
||||||
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
||||||
ASSIGN mt_table->* TO <tab>.
|
ASSIGN mt_table->* TO <tab>.
|
||||||
DATA(tab) = lo_view->get_parent( )->get_parent( )->simple_form( title = 'Table' editable = abap_true
|
DATA(tab) = lo_view->get_parent( )->get_parent( )->simple_form( editable = abap_true
|
||||||
)->content( 'form' )->table(
|
)->content( 'form' )->table(
|
||||||
items = client->_bind( val = <tab> check_gen_data = abap_true )
|
items = client->_bind( val = <tab> check_gen_data = abap_true )
|
||||||
).
|
).
|
||||||
|
|
||||||
" DATA(lt_fields) = lcl_db=>get_fieldlist_by_table( <tab> ).
|
|
||||||
|
|
||||||
DATA(lo_columns) = tab->columns( ).
|
DATA(lo_columns) = tab->columns( ).
|
||||||
|
mt_cols = lcl_db=>get_fieldlist_by_table( <tab> ).
|
||||||
|
|
||||||
LOOP AT mt_cols INTO DATA(lv_field) FROM 2.
|
LOOP AT mt_cols INTO DATA(lv_field) FROM 2.
|
||||||
lo_columns->column( )->text( lv_field ).
|
lo_columns->column( )->text( lv_field ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_APP_DEMO_35</CLSNAME>
|
<CLSNAME>Z2UI5_CL_APP_DEMO_35</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>test - table maintenance 2</DESCRIPT>
|
<DESCRIPT>more - dynamic model</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
|
|
|
@ -12,7 +12,6 @@ CLASS z2ui5_cl_app_demo_47 DEFINITION PUBLIC.
|
||||||
DATA dec2 TYPE p LENGTH 10 DECIMALS 4.
|
DATA dec2 TYPE p LENGTH 10 DECIMALS 4.
|
||||||
DATA dec_sum TYPE p LENGTH 10 DECIMALS 4.
|
DATA dec_sum TYPE p LENGTH 10 DECIMALS 4.
|
||||||
|
|
||||||
DATA boolean TYPE abap_bool.
|
|
||||||
DATA date TYPE d.
|
DATA date TYPE d.
|
||||||
DATA time TYPE t.
|
DATA time TYPE t.
|
||||||
|
|
||||||
|
@ -74,8 +73,6 @@ CLASS z2ui5_cl_app_demo_47 IMPLEMENTATION.
|
||||||
)->input( client->_bind( date )
|
)->input( client->_bind( date )
|
||||||
)->label( 'time'
|
)->label( 'time'
|
||||||
)->input( client->_bind( time )
|
)->input( client->_bind( time )
|
||||||
)->label( 'boolean'
|
|
||||||
)->input( client->_bind( boolean )
|
|
||||||
)->get_root( )->xml_get( ) ) ).
|
)->get_root( )->xml_get( ) ) ).
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,47 @@ CLASS z2ui5_cl_app_demo_49 DEFINITION PUBLIC.
|
||||||
|
|
||||||
INTERFACES z2ui5_if_app.
|
INTERFACES z2ui5_if_app.
|
||||||
|
|
||||||
" DATA mt_table TYPE REF TO data.
|
|
||||||
DATA mt_table TYPE STANDARD TABLE OF z2ui5_t_draft.
|
DATA mt_table TYPE STANDARD TABLE OF z2ui5_t_draft.
|
||||||
" DATA mt_cols TYPE string_table.
|
DATA ms_detail TYPE z2ui5_t_draft.
|
||||||
data mv_check_columns type abap_bool.
|
DATA mv_check_columns TYPE abap_bool.
|
||||||
data mv_check_sort type abap_bool.
|
DATA mv_check_sort TYPE abap_bool.
|
||||||
data mv_check_group type abap_bool.
|
DATA mv_check_table TYPE abap_bool.
|
||||||
|
|
||||||
|
DATA mv_contentheight TYPE string VALUE `70%`.
|
||||||
|
DATA mv_contentwidth TYPE string VALUE `70%`.
|
||||||
|
|
||||||
|
DATA mv_check_download_csv TYPE abap_bool.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_S_out,
|
||||||
|
selkz TYPE abap_bool,
|
||||||
|
uuid TYPE string,
|
||||||
|
uuid_prev TYPE string,
|
||||||
|
uuid_prev_app TYPE string,
|
||||||
|
uuid_prev_app_stack TYPE string,
|
||||||
|
timestampl TYPE string,
|
||||||
|
uname TYPE string,
|
||||||
|
data TYPE string,
|
||||||
|
END OF ty_s_out.
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
BEGIN OF ms_view,
|
||||||
|
headerpinned TYPE abap_bool,
|
||||||
|
headerexpanded TYPE abap_bool,
|
||||||
|
search_val TYPE string,
|
||||||
|
t_tab TYPE STANDARD TABLE OF ty_S_out WITH EMPTY KEY,
|
||||||
|
END OF ms_view.
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_S_cols,
|
||||||
|
visible TYPE abap_bool,
|
||||||
|
name TYPE string,
|
||||||
|
length TYPE string,
|
||||||
|
title TYPE string,
|
||||||
|
editable TYPE abap_bool,
|
||||||
|
END OF ty_S_cols.
|
||||||
|
|
||||||
|
DATA mt_cols TYPE STANDARD TABLE OF ty_S_cols.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_S_filter,
|
BEGIN OF ty_S_filter,
|
||||||
selkz TYPE abap_bool,
|
selkz TYPE abap_bool,
|
||||||
|
@ -17,19 +52,46 @@ CLASS z2ui5_cl_app_demo_49 DEFINITION PUBLIC.
|
||||||
value TYPE string,
|
value TYPE string,
|
||||||
END OF ty_S_filter.
|
END OF ty_S_filter.
|
||||||
|
|
||||||
DATA mt_filter TYPE STANDARD TABLE OF ty_S_filter.
|
* DATA mt_filter TYPE STANDARD TABLE OF ty_S_filter.
|
||||||
|
|
||||||
|
|
||||||
|
* DATA:
|
||||||
|
* BEGIN OF ms_table,
|
||||||
|
* check_zebra TYPE abap_bool,
|
||||||
|
* title TYPE string,
|
||||||
|
* sticky_header TYPE string,
|
||||||
|
* selmode TYPE string,
|
||||||
|
* END OF ms_table.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_S_cols,
|
BEGIN OF ty_S_sort,
|
||||||
selkz TYPE abap_bool,
|
" selkz TYPE abap_bool,
|
||||||
name TYPE string,
|
name TYPE string,
|
||||||
length TYPE string,
|
type TYPE string,
|
||||||
END OF ty_S_cols.
|
" descr TYPE string,
|
||||||
|
" check_descending TYPE string,
|
||||||
|
END OF ty_S_sort.
|
||||||
|
|
||||||
DATA mt_cols TYPE STANDARD TABLE OF ty_S_cols.
|
DATA mt_sort TYPE STANDARD TABLE OF ty_S_sort.
|
||||||
|
|
||||||
" DATA mv_name TYPE string.
|
data:
|
||||||
* DATA mv_input TYPE string.
|
begin of ms_layout,
|
||||||
|
BEGIN OF s_table,
|
||||||
|
check_zebra TYPE abap_bool,
|
||||||
|
title TYPE string,
|
||||||
|
sticky_header TYPE string,
|
||||||
|
selmode TYPE string,
|
||||||
|
END OF s_table,
|
||||||
|
t_filter TYPE STANDARD TABLE OF ty_S_filter,
|
||||||
|
end of ms_layout.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF s_combobox,
|
||||||
|
key TYPE string,
|
||||||
|
text TYPE string,
|
||||||
|
END OF s_combobox.
|
||||||
|
|
||||||
|
TYPES ty_t_combo TYPE STANDARD TABLE OF s_combobox WITH EMPTY KEY.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
|
@ -47,8 +109,15 @@ CLASS z2ui5_cl_app_demo_49 DEFINITION PUBLIC.
|
||||||
METHODS z2ui5_on_init.
|
METHODS z2ui5_on_init.
|
||||||
METHODS z2ui5_on_event.
|
METHODS z2ui5_on_event.
|
||||||
METHODS z2ui5_on_render.
|
METHODS z2ui5_on_render.
|
||||||
|
METHODS init_table_output.
|
||||||
|
METHODS z2ui5_on_render_main.
|
||||||
|
METHODS z2ui5_on_render_detail.
|
||||||
|
METHODS z2ui5_on_render_pop_setup.
|
||||||
|
METHODS z2ui5_on_render_pop_filter.
|
||||||
|
METHODS z2ui5_download_csv
|
||||||
|
IMPORTING
|
||||||
|
i_view TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -85,19 +154,65 @@ CLASS z2ui5_cl_app_demo_49 IMPLEMENTATION.
|
||||||
|
|
||||||
CASE app-get-event.
|
CASE app-get-event.
|
||||||
|
|
||||||
WHEN 'BUTTON_TABLE'.
|
WHEN 'BUTTON_DELETE'.
|
||||||
* FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
DELETE ms_view-t_tab WHERE selkz = abap_true.
|
||||||
* CREATE DATA mt_table TYPE STANDARD TABLE OF (mv_name).
|
|
||||||
* ASSIGN mt_table->* TO <tab>.
|
|
||||||
|
|
||||||
|
WHEN 'BUTTON_CUSTOM'.
|
||||||
|
client->popup_message_box( `custom action called` ).
|
||||||
|
|
||||||
|
when 'BUTTON_START'.
|
||||||
|
|
||||||
|
SELECT FROM z2ui5_t_draft
|
||||||
|
FIELDS uuid, uuid_prev, timestampl, uname
|
||||||
|
INTO CORRESPONDING FIELDS OF TABLE @mt_table
|
||||||
|
UP TO 50 ROWS.
|
||||||
|
ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
|
|
||||||
|
WHEN 'BUTTON_DOWNLOAD'.
|
||||||
|
mv_check_download_csv = abap_true.
|
||||||
|
|
||||||
|
WHEN 'BUTTON_SEARCH'.
|
||||||
|
app-next-s_cursor_pos-id = 'SEARCH'.
|
||||||
|
app-next-s_cursor_pos-cursorpos = '99'.
|
||||||
|
app-next-s_cursor_pos-selectionend = '99'.
|
||||||
|
app-next-s_cursor_pos-selectionstart = '99'.
|
||||||
|
ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
|
IF ms_view-search_val IS NOT INITIAL.
|
||||||
|
LOOP AT ms_view-t_tab REFERENCE INTO DATA(lr_row).
|
||||||
|
DATA(lv_row) = ``.
|
||||||
|
DATA(lv_index) = 1.
|
||||||
|
DO.
|
||||||
|
ASSIGN COMPONENT lv_index OF STRUCTURE lr_row->* TO FIELD-SYMBOL(<field>).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
EXIT.
|
||||||
|
ENDIF.
|
||||||
|
lv_row = lv_row && <field>.
|
||||||
|
lv_index = lv_index + 1.
|
||||||
|
ENDDO.
|
||||||
|
|
||||||
|
IF lv_row NS ms_view-search_val.
|
||||||
|
DELETE ms_view-t_tab.
|
||||||
|
ENDIF.
|
||||||
|
ENDLOOP.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
WHEN 'MAIN'.
|
||||||
|
app-view_main = 'MAIN'.
|
||||||
|
|
||||||
|
WHEN 'DETAIL'.
|
||||||
|
|
||||||
|
ms_detail = mt_table[ uuid = client->get( )-event_data ].
|
||||||
|
|
||||||
|
SELECT SINGLE FROM z2ui5_t_draft
|
||||||
|
FIELDS *
|
||||||
|
WHERE uuid = @ms_detail-uuid
|
||||||
|
INTO CORRESPONDING FIELDS OF @ms_detail
|
||||||
|
.
|
||||||
|
|
||||||
|
app-view_main = 'DETAIL'.
|
||||||
|
|
||||||
WHEN 'BUTTON_POST'.
|
WHEN 'BUTTON_POST'.
|
||||||
|
|
||||||
* CREATE DATA mt_table TYPE STANDARD TABLE OF (mv_name).
|
|
||||||
* "FIELD-SYMBOLS <tab> TYPE table.
|
|
||||||
* ASSIGN mt_table->* TO <tab>.
|
|
||||||
|
|
||||||
SELECT FROM z2ui5_t_draft
|
SELECT FROM z2ui5_t_draft
|
||||||
FIELDS *
|
FIELDS *
|
||||||
INTO CORRESPONDING FIELDS OF TABLE @mt_table
|
INTO CORRESPONDING FIELDS OF TABLE @mt_table
|
||||||
|
@ -113,6 +228,9 @@ CLASS z2ui5_cl_app_demo_49 IMPLEMENTATION.
|
||||||
WHEN 'POPUP_FILTER_CONTINUE'.
|
WHEN 'POPUP_FILTER_CONTINUE'.
|
||||||
" app-view_popup = 'POPUP_FILTER'.
|
" app-view_popup = 'POPUP_FILTER'.
|
||||||
|
|
||||||
|
WHEN 'BUTTON_INIT'.
|
||||||
|
init_table_output( ).
|
||||||
|
|
||||||
WHEN 'BUTTON_CANCEL'.
|
WHEN 'BUTTON_CANCEL'.
|
||||||
client->popup_message_toast( |cancel| ).
|
client->popup_message_toast( |cancel| ).
|
||||||
app-view_popup = ''.
|
app-view_popup = ''.
|
||||||
|
@ -127,204 +245,469 @@ CLASS z2ui5_cl_app_demo_49 IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD z2ui5_on_init.
|
METHOD z2ui5_on_init.
|
||||||
|
|
||||||
app-view_main = 'VIEW_MAIN'.
|
app-view_main = 'MAIN'.
|
||||||
" mv_name = `Z2UI5_T_DRAFT`.
|
init_table_output( ).
|
||||||
|
|
||||||
DATA(lt_cols) = lcl_db=>get_fieldlist_by_table( mt_table ).
|
ms_layout-s_table-selmode = 'MultiSelect'.
|
||||||
LOOP AT lt_cols REFERENCE INTO DATA(lr_col) FROM 2.
|
ms_layout-s_table-check_zebra = abap_true.
|
||||||
|
ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
INSERT VALUE #(
|
ms_layout-s_table-sticky_header = `HeaderToolbar,InfoToolbar,ColumnHeaders`.
|
||||||
name = lr_col->*
|
ms_layout-s_table-title = `Drafts`.
|
||||||
) INTO TABLE mt_filter.
|
|
||||||
|
|
||||||
INSERT VALUE #(
|
|
||||||
selkz = abap_true
|
|
||||||
name = lr_col->*
|
|
||||||
length = `10px`
|
|
||||||
) INTO TABLE mt_cols.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_on_render.
|
METHOD z2ui5_on_render.
|
||||||
|
|
||||||
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
|
||||||
|
|
||||||
CASE app-view_popup.
|
CASE app-view_popup.
|
||||||
|
|
||||||
WHEN `POPUP_FILTER`.
|
WHEN `POPUP_FILTER`.
|
||||||
|
z2ui5_on_render_pop_filter( ).
|
||||||
lo_popup->dialog( 'abap2UI5 - Popup to select entry'
|
|
||||||
)->table(
|
|
||||||
mode = 'MultiSelect'
|
|
||||||
items = client->_bind( mt_filter )
|
|
||||||
)->columns(
|
|
||||||
)->column( )->text( 'Title' )->get_parent(
|
|
||||||
)->column( )->text( 'Color' )->get_parent(
|
|
||||||
)->column( )->text( 'Info' )->get_parent(
|
|
||||||
)->column( )->text( 'Description' )->get_parent(
|
|
||||||
)->get_parent(
|
|
||||||
)->items( )->column_list_item( selected = '{SELKZ}'
|
|
||||||
)->cells(
|
|
||||||
" )->checkbox( '{SELKZ}'
|
|
||||||
)->text( '{NAME}'
|
|
||||||
)->text( '{VALUE}'
|
|
||||||
" )->text( '{DESCR}'
|
|
||||||
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
|
||||||
)->footer( )->overflow_toolbar(
|
|
||||||
)->toolbar_spacer(
|
|
||||||
)->button(
|
|
||||||
text = 'continue'
|
|
||||||
press = client->_event( 'POPUP_FILTER_CONTINUE' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
WHEN `POPUP_SETUP`.
|
WHEN `POPUP_SETUP`.
|
||||||
|
z2ui5_on_render_pop_setup( ).
|
||||||
lo_popup->dialog( title = 'View Setup' contentheight = `70%` contentwidth = `70%`
|
|
||||||
)->tab_container(
|
|
||||||
)->tab(
|
|
||||||
text = 'Columns'
|
|
||||||
selected = client->_bind( mv_check_columns )
|
|
||||||
)->table(
|
|
||||||
mode = 'MultiSelect'
|
|
||||||
items = client->_bind( mt_cols )
|
|
||||||
)->columns(
|
|
||||||
)->column( )->text( 'Title' )->get_parent(
|
|
||||||
)->column( )->text( 'Color' )->get_parent(
|
|
||||||
)->column( )->text( 'Info' )->get_parent(
|
|
||||||
)->column( )->text( 'Description' )->get_parent(
|
|
||||||
)->get_parent(
|
|
||||||
)->items( )->column_list_item( selected = '{SELKZ}'
|
|
||||||
)->cells(
|
|
||||||
" )->checkbox( '{SELKZ}'
|
|
||||||
)->text( '{NAME}'
|
|
||||||
)->text( '{VALUE}'
|
|
||||||
" )->text( '{DESCR}'
|
|
||||||
)->get_parent( )->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
|
||||||
)->tab(
|
|
||||||
text = 'Sort'
|
|
||||||
selected = client->_bind( mv_check_sort )
|
|
||||||
)->button(
|
|
||||||
text = 'counter descending'
|
|
||||||
icon = 'sap-icon://sort-descending'
|
|
||||||
press = client->_event( 'SORT_DESCENDING' )
|
|
||||||
)->button(
|
|
||||||
text = 'counter ascending'
|
|
||||||
icon = 'sap-icon://sort-ascending'
|
|
||||||
press = client->_event( 'SORT_ASCENDING' )
|
|
||||||
)->get_parent(
|
|
||||||
)->tab(
|
|
||||||
text = 'Group'
|
|
||||||
selected = client->_bind( mv_check_group )
|
|
||||||
)->get_parent( )->get_parent(
|
|
||||||
)->footer( )->overflow_toolbar(
|
|
||||||
)->toolbar_spacer(
|
|
||||||
)->button(
|
|
||||||
text = 'continue'
|
|
||||||
press = client->_event( 'POPUP_FILTER_CONTINUE' )
|
|
||||||
type = 'Emphasized' ).
|
|
||||||
|
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
DATA(lo_view) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
|
CASE app-view_main.
|
||||||
title = 'abap2UI5 - Change the table type with RTTI'
|
WHEN 'MAIN'.
|
||||||
navbuttonpress = client->_event( 'BACK' )
|
z2ui5_on_render_main( ).
|
||||||
shownavbutton = abap_true
|
WHEN 'DETAIL'.
|
||||||
)->header_content(
|
z2ui5_on_render_detail( ).
|
||||||
)->link(
|
ENDCASE.
|
||||||
text = 'Source_Code' target = '_blank'
|
|
||||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
|
||||||
)->get_parent(
|
|
||||||
)->simple_form(
|
|
||||||
title = 'SE16'
|
|
||||||
editable = abap_true
|
|
||||||
columnsm = `1`
|
|
||||||
columnsl = `1`
|
|
||||||
columnsxl = `1`
|
|
||||||
layout = `ResponsiveGridLayout`
|
|
||||||
)->content( `form` ).
|
|
||||||
* )->title( ns = `core` text = `Table`
|
|
||||||
* )->label( 'Name' ).
|
|
||||||
|
|
||||||
" lo_view->input( client->_bind( mv_name ) ).
|
ENDMETHOD.
|
||||||
|
|
||||||
* lo_view->button(
|
METHOD init_table_output.
|
||||||
* text = 'search'
|
|
||||||
* press = client->_event( 'BUTTON_TABLE' )
|
|
||||||
* ).
|
|
||||||
|
|
||||||
|
" CLEAR ms_layout-s_table.
|
||||||
|
CLEAR mt_cols.
|
||||||
|
CLEAR mt_sort.
|
||||||
|
|
||||||
|
ms_view-headerexpanded = abap_true.
|
||||||
|
ms_view-headerpinned = abap_true.
|
||||||
|
|
||||||
|
DATA(lt_cols) = lcl_db=>get_fieldlist_by_table( mt_table ).
|
||||||
|
LOOP AT lt_cols REFERENCE INTO DATA(lr_col) FROM 2.
|
||||||
|
|
||||||
|
INSERT VALUE #(
|
||||||
|
name = lr_col->*
|
||||||
|
) INTO TABLE ms_layout-t_filter.
|
||||||
|
|
||||||
* lo_view = lo_view->get_parent( )->get_parent( )->simple_form( title = 'cols' editable = abap_true
|
INSERT VALUE #(
|
||||||
* )->content( 'form' ).
|
visible = abap_true
|
||||||
|
name = lr_col->*
|
||||||
|
" length = `10px`
|
||||||
|
title = lr_col->*
|
||||||
|
) INTO TABLE mt_cols.
|
||||||
|
|
||||||
lo_view->title( ns = `core` text = 'Filter' ).
|
INSERT VALUE #(
|
||||||
|
" selkz = abap_true
|
||||||
|
name = lr_col->*
|
||||||
|
" length = `10px`
|
||||||
|
) INTO TABLE mt_sort.
|
||||||
|
|
||||||
lo_view->button(
|
|
||||||
text = 'filter'
|
|
||||||
press = client->_event( 'POPUP_FILTER' )
|
|
||||||
).
|
|
||||||
|
|
||||||
LOOP AT mt_filter REFERENCE INTO DATA(lr_col)
|
|
||||||
WHERE selkz = abap_true.
|
|
||||||
lo_view->label( lr_col->name ).
|
|
||||||
lo_view->input( lr_col->value ).
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
* lo_view->button(
|
ENDMETHOD.
|
||||||
* text = 'search'
|
|
||||||
* press = client->_event( 'BUTTON_POST' )
|
|
||||||
* ).
|
|
||||||
|
|
||||||
* IF mt_table IS not INITIAL.
|
|
||||||
|
|
||||||
|
|
||||||
SELECT FROM z2ui5_t_draft
|
METHOD z2ui5_on_render_main.
|
||||||
FIELDS *
|
|
||||||
INTO CORRESPONDING FIELDS OF TABLE @mt_table
|
|
||||||
UP TO 5 ROWS.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <tab> TYPE STANDARD TABLE.
|
" DATA(view) = z2ui5_cl_xml_view=>factory( )->shell( ).
|
||||||
ASSIGN mt_table TO <tab>.
|
|
||||||
* DATA(tab) = lo_view->get_parent( )->get_parent( )->simple_form( title = 'Table' editable = abap_true
|
|
||||||
* )->content( 'form' )->table(
|
|
||||||
* items = client->_bind( val = <tab> ) " check_gen_data = abap_true )
|
|
||||||
* ).
|
|
||||||
|
|
||||||
data(tab) = lo_view->title( ns = `core` text = 'Content - Tablename' )->table(
|
DATA(view) = z2ui5_cl_xml_view=>factory(
|
||||||
items = client->_bind( val = <tab> )
|
)->page(
|
||||||
|
title = 'abap2UI5 - List Report'
|
||||||
|
navbuttonpress = client->_event( 'BACK' )
|
||||||
|
shownavbutton = abap_true
|
||||||
|
)->header_content(
|
||||||
|
)->link(
|
||||||
|
text = 'Demo' target = '_blank'
|
||||||
|
href = 'https://twitter.com/OblomovDev/status/1637163852264624139'
|
||||||
|
)->link(
|
||||||
|
text = 'Source_Code' target = '_blank' href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||||
|
)->get_parent( ).
|
||||||
|
|
||||||
|
IF mv_check_download_csv = abap_true.
|
||||||
|
z2ui5_download_csv( view ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
DATA(page) = view->dynamic_page(
|
||||||
|
headerexpanded = client->_bind( ms_view-headerexpanded )
|
||||||
|
headerpinned = client->_bind( ms_view-headerpinned ) ).
|
||||||
|
|
||||||
|
DATA(header_title) = page->title( ns = 'f'
|
||||||
|
)->get( )->dynamic_page_title( ).
|
||||||
|
|
||||||
|
header_title->heading( ns = 'f' )->title( 'Standart' ).
|
||||||
|
|
||||||
|
header_title->expanded_content( 'f'
|
||||||
|
)->label( text = 'Drafts of abap2UI5' ).
|
||||||
|
|
||||||
|
header_title->snapped_content( ns = 'f'
|
||||||
|
)->label( text = 'Drafts of abap2UI5' ).
|
||||||
|
|
||||||
|
header_title->actions( ns = 'f' )->overflow_toolbar(
|
||||||
|
)->button( text = `Layout` type = `Emphasized`
|
||||||
|
)->button( text = `Start` press = client->_event( `BUTTON_START` ) type = `Emphasized`
|
||||||
|
).
|
||||||
|
|
||||||
|
data(lo_box) = page->header( )->dynamic_page_header( pinnable = abap_true
|
||||||
|
)->flex_box( alignItems = `Start` justifyContent = `SpaceBetween` ).
|
||||||
|
|
||||||
|
|
||||||
|
data(lt_filter) = ms_layout-t_filter.
|
||||||
|
DELETE lt_filter where selkz = abap_false.
|
||||||
|
|
||||||
|
loop at lt_filter REFERENCE INTO data(lr_filter)
|
||||||
|
where selkz = abap_true.
|
||||||
|
lo_box->input( description = lr_filter->name ).
|
||||||
|
endloop.
|
||||||
|
|
||||||
|
|
||||||
|
lo_box->button( text = `Change Filter (` && shift_right( conv string( lines( lt_filter ) ) ) && `)` press = client->_event( `POPUP_FILTER` ) ).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DATA(cont) = page->content( ns = 'f' ).
|
||||||
|
|
||||||
|
DATA(tab) = cont->table(
|
||||||
|
items = client->_bind( val = ms_view-t_tab )
|
||||||
|
alternaterowcolors = ms_layout-s_table-check_zebra
|
||||||
|
sticky = ms_layout-s_table-sticky_header
|
||||||
|
mode = ms_layout-s_table-selmode ).
|
||||||
|
|
||||||
|
tab->header_toolbar(
|
||||||
|
)->toolbar(
|
||||||
|
)->title( text = ms_layout-s_table-title && ` (` && shift_right( CONV string( lines( ms_view-t_tab ) ) ) && `)` level = `H2`
|
||||||
|
)->toolbar_spacer(
|
||||||
|
)->button(
|
||||||
|
icon = 'sap-icon://refresh'
|
||||||
|
press = client->_event( 'BUTTON_REFRESH' )
|
||||||
|
)->search_field(
|
||||||
|
value = client->_bind( ms_view-search_val )
|
||||||
|
search = client->_event( 'BUTTON_SEARCH' )
|
||||||
|
change = client->_event( 'BUTTON_SEARCH' )
|
||||||
|
* liveChange = client->_event( 'BUTTON_SEARCH' )
|
||||||
|
width = `17.5rem`
|
||||||
|
id = `SEARCH`
|
||||||
|
|
||||||
|
)->toolbar_spacer(
|
||||||
|
)->button(
|
||||||
|
text = `Custom Action`
|
||||||
|
press = client->_event( 'BUTTON_CUSTOM' )
|
||||||
|
|
||||||
|
)->button(
|
||||||
|
text = `Anlegen`
|
||||||
|
enabled = abap_false
|
||||||
|
press = client->_event( 'BUTTON_CREATE' )
|
||||||
|
)->button(
|
||||||
|
text = `Löschen`
|
||||||
|
press = client->_event( 'BUTTON_DELETE' )
|
||||||
|
)->button(
|
||||||
|
icon = 'sap-icon://action-settings'
|
||||||
|
press = client->_event( 'BUTTON_SETUP' )
|
||||||
|
)->button(
|
||||||
|
icon = 'sap-icon://download'
|
||||||
|
press = client->_event( 'BUTTON_DOWNLOAD' )
|
||||||
).
|
).
|
||||||
|
|
||||||
tab->header_toolbar(
|
|
||||||
)->overflow_toolbar(
|
DATA(lo_columns) = tab->columns( ).
|
||||||
" )->title( 'title of the table'
|
LOOP AT mt_cols REFERENCE INTO DATA(lr_field)
|
||||||
|
WHERE visible = abap_true.
|
||||||
|
lo_columns->column( width = lr_field->length )->text( text = CONV char10( lr_field->title )
|
||||||
|
)->footer(
|
||||||
|
)->object_number( number = `10` unit = 'ST' state = `Warning` ).
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
DATA(lo_cells) = tab->items( )->column_list_item(
|
||||||
|
press = client->_event( val = 'DETAIL' data = `${UUID}` )
|
||||||
|
selected = `{SELKZ}`
|
||||||
|
type = `Navigation` )->cells( ).
|
||||||
|
LOOP AT mt_cols REFERENCE INTO lr_field
|
||||||
|
WHERE visible = abap_true.
|
||||||
|
IF lr_field->editable = abap_true.
|
||||||
|
lo_cells->input( `{` && lr_field->name && `}` ).
|
||||||
|
ELSE.
|
||||||
|
lo_cells->text( `{` && lr_field->name && `}` ).
|
||||||
|
ENDIF.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
app-next-xml_main = page->get_root( )->xml_get( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD z2ui5_on_render_detail.
|
||||||
|
|
||||||
|
DATA(view) = z2ui5_cl_xml_view=>factory(
|
||||||
|
)->page(
|
||||||
|
title = 'abap2UI5 - List Report'
|
||||||
|
navbuttonpress = client->_event( 'MAIN' )
|
||||||
|
shownavbutton = abap_true
|
||||||
|
)->header_content(
|
||||||
|
)->link(
|
||||||
|
text = 'Demo' target = '_blank'
|
||||||
|
href = 'https://twitter.com/OblomovDev/status/1637163852264624139'
|
||||||
|
)->link(
|
||||||
|
text = 'Source_Code' target = '_blank' href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||||
|
)->get_parent( ).
|
||||||
|
|
||||||
|
DATA(page) = view->object_page_layout(
|
||||||
|
showtitleinheadercontent = abap_true
|
||||||
|
showeditheaderbutton = abap_true
|
||||||
|
editheaderbuttonpress = client->_event( 'EDIT_HEADER_PRESS' )
|
||||||
|
uppercaseanchorbar = abap_false
|
||||||
|
).
|
||||||
|
|
||||||
|
DATA(header_title) = page->header_title( )->object_page_dyn_header_title( ).
|
||||||
|
|
||||||
|
header_title->expanded_heading(
|
||||||
|
)->hbox(
|
||||||
|
)->title( text = 'Draft' wrapping = abap_true ).
|
||||||
|
|
||||||
|
header_title->snapped_heading(
|
||||||
|
)->flex_box( alignitems = `Center`
|
||||||
|
)->avatar( src = `` class = 'sapUiTinyMarginEnd'
|
||||||
|
)->title( text = 'Draft' wrapping = abap_true ).
|
||||||
|
|
||||||
|
header_title->expanded_content( ns = `uxap` )->text( `Details` ).
|
||||||
|
header_title->snapped_Content( ns = `uxap` )->text( `Details` ).
|
||||||
|
header_title->snapped_Title_On_Mobile( )->title( `Details` ).
|
||||||
|
|
||||||
|
DATA(header_content) = page->header_Content( ns = 'uxap' ).
|
||||||
|
|
||||||
|
header_content->flex_box( wrap = 'Wrap'
|
||||||
|
)->avatar( src = `` class = 'sapUiSmallMarginEnd' displaySize = 'layout'
|
||||||
|
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||||
|
)->label( text = `UUID`
|
||||||
|
)->label( text = ms_detail-uuid
|
||||||
|
)->get_parent(
|
||||||
|
)->horizontal_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||||
|
)->vertical_layout(
|
||||||
|
)->label( text = 'UUID PRevious'
|
||||||
|
)->label( text = ms_detail-uuid_prev
|
||||||
|
)->get_parent(
|
||||||
|
)->get_parent(
|
||||||
|
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||||
|
)->label( text = 'Info'
|
||||||
|
)->vbox(
|
||||||
|
)->label( 'Timestampl'
|
||||||
|
)->label( CONV #( ms_detail-timestampl )
|
||||||
|
)->get_parent( )->get_parent(
|
||||||
|
)->vertical_layout( class = 'sapUiSmallMarginBeginEnd'
|
||||||
|
)->label( text = 'User'
|
||||||
|
)->label( text = ms_detail-uname
|
||||||
|
)->get_parent(
|
||||||
|
).
|
||||||
|
|
||||||
|
DATA(sections) = page->sections( ).
|
||||||
|
|
||||||
|
sections->object_page_section( titleuppercase = abap_false id = 'goalsSectionSS1' title = '2014 Goals Plan'
|
||||||
|
)->heading( ns = `uxap`
|
||||||
|
)->get_parent(
|
||||||
|
)->sub_sections(
|
||||||
|
)->object_page_sub_section( id = 'goalssubSectionSS1' title = 'XML'
|
||||||
|
)->blocks(
|
||||||
|
)->code_editor(
|
||||||
|
type = `XML`
|
||||||
|
" editable = mv_check_editable
|
||||||
|
value = client->_bind_one( ms_detail-data ) ).
|
||||||
|
|
||||||
|
app-next-xml_main = view->get_root( )->xml_get( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD z2ui5_on_render_pop_setup.
|
||||||
|
|
||||||
|
DATA(ro_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||||
|
|
||||||
|
ro_popup = ro_popup->dialog( title = 'View Setup' resizable = abap_true
|
||||||
|
contentheight = client->_bind( mv_contentheight ) contentwidth = client->_bind( mv_contentwidth ) ).
|
||||||
|
|
||||||
|
ro_popup->custom_header(
|
||||||
|
)->bar(
|
||||||
|
)->content_right(
|
||||||
|
)->button( text = `zurücksetzten` press = client->_event( 'BUTTON_INIT' ) ).
|
||||||
|
|
||||||
|
|
||||||
|
DATA(lo_tab) = ro_popup->tab_container( ).
|
||||||
|
|
||||||
|
lo_tab->tab( text = 'Table' selected = client->_bind( mv_check_table )
|
||||||
|
)->simple_form( editable = abap_true
|
||||||
|
)->content( 'form'
|
||||||
|
)->label( 'zebra mode'
|
||||||
|
)->checkbox( client->_bind( ms_layout-s_table-check_zebra )
|
||||||
|
)->label( 'sticky header'
|
||||||
|
)->input( client->_bind( ms_layout-s_table-sticky_header )
|
||||||
|
)->label( text = `Title`
|
||||||
|
)->Input( value = client->_bind( ms_layout-s_table-title )
|
||||||
|
)->label( 'sel mode'
|
||||||
|
)->combobox(
|
||||||
|
selectedkey = client->_bind( ms_layout-s_table-selmode )
|
||||||
|
items = client->_bind_one( VALUE ty_t_combo(
|
||||||
|
( key = 'None' text = 'None' )
|
||||||
|
( key = 'SingleSelect' text = 'SingleSelect' )
|
||||||
|
( key = 'SingleSelectLeft' text = 'SingleSelectLeft' )
|
||||||
|
( key = 'MultiSelect' text = 'MultiSelect' ) ) )
|
||||||
|
)->item(
|
||||||
|
key = '{KEY}'
|
||||||
|
text = '{TEXT}' ).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lo_tab->tab(
|
||||||
|
text = 'Columns'
|
||||||
|
selected = client->_bind( mv_check_columns )
|
||||||
|
)->table(
|
||||||
|
" mode = 'MultiSelect'
|
||||||
|
items = client->_bind( mt_cols )
|
||||||
|
)->columns(
|
||||||
|
)->column( )->text( 'Visible' )->get_parent(
|
||||||
|
)->column( )->text( 'Name' )->get_parent(
|
||||||
|
)->column( )->text( 'Title' )->get_parent(
|
||||||
|
)->column( )->text( 'Editable' )->get_parent(
|
||||||
|
)->column( )->text( 'Length' )->get_parent(
|
||||||
|
)->get_parent(
|
||||||
|
)->items( )->column_list_item(
|
||||||
|
)->cells(
|
||||||
|
)->checkbox( '{VISIBLE}'
|
||||||
|
)->text( '{NAME}'
|
||||||
|
)->Input( '{TITLE}'
|
||||||
|
)->checkbox( '{EDITABLE}'
|
||||||
|
)->Input( '{LENGTH}'
|
||||||
|
" )->text( '{DESCR}'
|
||||||
|
)->get_parent( )->get_parent( )->get_parent( )->get_parent( )->get_parent( ).
|
||||||
|
|
||||||
|
DATA(lo_hbox) = lo_tab->tab(
|
||||||
|
text = 'Sort'
|
||||||
|
selected = client->_bind( mv_check_sort )
|
||||||
|
|
||||||
|
)->list(
|
||||||
|
items = client->_bind( mt_sort )
|
||||||
|
selectionchange = client->_event( 'SELCHANGE' )
|
||||||
|
)->custom_list_item(
|
||||||
|
)->hbox( ).
|
||||||
|
|
||||||
|
lo_hbox->combobox(
|
||||||
|
selectedkey = `{NAME}`
|
||||||
|
items = client->_bind( mt_cols )
|
||||||
|
* ( key = 'BLUE' text = 'green' )
|
||||||
|
* ( key = 'GREEN' text = 'blue' )
|
||||||
|
* ( key = 'BLACK' text = 'red' )
|
||||||
|
* ( key = 'GRAY' text = 'gray' ) ) )
|
||||||
|
)->item(
|
||||||
|
key = '{NAME}'
|
||||||
|
text = '{NAME}'
|
||||||
|
)->get_parent(
|
||||||
|
)->segmented_button( `{TYPE}`
|
||||||
|
)->items(
|
||||||
|
)->segmented_button_item(
|
||||||
|
key = 'DESCENDING'
|
||||||
|
icon = 'sap-icon://sort-descending'
|
||||||
|
)->segmented_button_item(
|
||||||
|
key = 'ASCENDING'
|
||||||
|
icon = 'sap-icon://sort-ascending'
|
||||||
|
)->get_parent( )->get_parent(
|
||||||
|
)->text( text = `{TYPE}`
|
||||||
|
)->button( text = 'close' ).
|
||||||
|
* )->get_parent( )->get_parent( )->get_parent(
|
||||||
|
|
||||||
|
* )->button(
|
||||||
|
* text = 'counter descending'
|
||||||
|
* icon = 'sap-icon://sort-descending'
|
||||||
|
* press = client->_event( 'SORT_DESCENDING' )
|
||||||
|
* )->button(
|
||||||
|
* text = 'counter ascending'
|
||||||
|
* icon = 'sap-icon://sort-ascending'
|
||||||
|
* press = client->_event( 'SORT_ASCENDING' )
|
||||||
|
* )->get_parent( ).
|
||||||
|
|
||||||
|
|
||||||
|
* lo_tab->tab(
|
||||||
|
* text = 'Group'
|
||||||
|
* selected = client->_bind( mv_check_group )
|
||||||
|
* )->get_parent( )->get_parent( ).
|
||||||
|
|
||||||
|
ro_popup->footer( )->overflow_toolbar(
|
||||||
|
)->toolbar_spacer(
|
||||||
|
)->button(
|
||||||
|
text = 'continue'
|
||||||
|
press = client->_event( 'POPUP_FILTER_CONTINUE' )
|
||||||
|
type = 'Emphasized' ).
|
||||||
|
|
||||||
|
app-next-xml_popup = ro_popup->get_root( )->xml_get( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD z2ui5_on_render_pop_filter.
|
||||||
|
|
||||||
|
DATA(lo_popup) = z2ui5_cl_xml_view=>factory_popup( ).
|
||||||
|
|
||||||
|
lo_popup->dialog( 'abap2UI5 - Popup to select entry'
|
||||||
|
)->table(
|
||||||
|
mode = 'MultiSelect'
|
||||||
|
items = client->_bind( ms_layout-t_filter )
|
||||||
|
)->columns(
|
||||||
|
)->column( )->text( 'Title' )->get_parent(
|
||||||
|
)->column( )->text( 'Color' )->get_parent(
|
||||||
|
)->column( )->text( 'Info' )->get_parent(
|
||||||
|
)->column( )->text( 'Description' )->get_parent(
|
||||||
|
)->get_parent(
|
||||||
|
)->items( )->column_list_item( selected = '{SELKZ}'
|
||||||
|
)->cells(
|
||||||
|
" )->checkbox( '{SELKZ}'
|
||||||
|
)->text( '{NAME}'
|
||||||
|
)->text( '{VALUE}'
|
||||||
|
" )->text( '{DESCR}'
|
||||||
|
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
||||||
|
)->footer( )->overflow_toolbar(
|
||||||
)->toolbar_spacer(
|
)->toolbar_spacer(
|
||||||
)->button(
|
)->button(
|
||||||
icon = 'sap-icon://action-settings'
|
text = 'continue'
|
||||||
press = client->_event( 'BUTTON_SETUP' )
|
press = client->_event( 'POPUP_FILTER_CONTINUE' )
|
||||||
).
|
type = 'Emphasized' ).
|
||||||
|
|
||||||
|
|
||||||
DATA(lo_columns) = tab->columns( ).
|
|
||||||
LOOP AT mt_cols REFERENCE INTO DATA(lr_field)
|
|
||||||
where selkz = abap_true.
|
|
||||||
lo_columns->column( width = lr_field->length )->button( text = lr_field->name ).
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
DATA(lo_cells) = tab->items( )->column_list_item( )->cells( ).
|
|
||||||
LOOP AT mt_cols REFERENCE INTO lr_field
|
|
||||||
where selkz = abap_true.
|
|
||||||
lo_cells->input( `{` && lr_field->name && `}` ).
|
|
||||||
ENDLOOP.
|
|
||||||
*
|
|
||||||
* ENDIF.
|
|
||||||
|
|
||||||
app-next-xml_main = lo_view->get_root( )->xml_get( ).
|
|
||||||
app-next-xml_popup = lo_popup->get_root( )->xml_get( ).
|
app-next-xml_popup = lo_popup->get_root( )->xml_get( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD z2ui5_download_csv.
|
||||||
|
|
||||||
|
DATA(lo_struc) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_data( ms_view-t_tab[ 1 ] ) ).
|
||||||
|
DATA(lt_components) = lo_struc->get_components( ).
|
||||||
|
|
||||||
|
DATA(lv_row) = ``.
|
||||||
|
LOOP AT lt_components INTO DATA(lv_name).
|
||||||
|
lv_row = lv_row && lv_name-name && `;`.
|
||||||
|
ENDLOOP.
|
||||||
|
lv_row = lv_row && cl_abap_char_utilities=>cr_lf.
|
||||||
|
|
||||||
|
|
||||||
|
LOOP AT ms_view-t_tab REFERENCE INTO DATA(lr_row).
|
||||||
|
|
||||||
|
DATA(lv_index) = 1.
|
||||||
|
DO.
|
||||||
|
ASSIGN COMPONENT lv_index OF STRUCTURE lr_row->* TO FIELD-SYMBOL(<field>).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
EXIT.
|
||||||
|
ENDIF.
|
||||||
|
lv_row = lv_row && <field>.
|
||||||
|
lv_index = lv_index + 1.
|
||||||
|
lv_row = lv_row && `;`.
|
||||||
|
ENDDO.
|
||||||
|
|
||||||
|
lv_row = lv_row && cl_abap_char_utilities=>cr_lf.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
data(lv_bas64enc) = cl_web_http_utility=>encode_base64( lv_row ).
|
||||||
|
|
||||||
|
i_view->zz_plain( `<html:iframe src="data:text/csv;base64,` && lv_bas64enc && `" hidden="hidden" />`).
|
||||||
|
|
||||||
|
mv_check_download_csv = abap_false.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_APP_DEMO_49</CLSNAME>
|
<CLSNAME>Z2UI5_CL_APP_DEMO_49</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>more - FE table</DESCRIPT>
|
<DESCRIPT>demo - list report</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
|
|
|
@ -58,6 +58,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
METHODS Dynamic_Page
|
METHODS Dynamic_Page
|
||||||
IMPORTING
|
IMPORTING
|
||||||
headerExpanded TYPE clike OPTIONAL
|
headerExpanded TYPE clike OPTIONAL
|
||||||
|
headerPinned TYPE clike OPTIONAL
|
||||||
toggleHeaderOnTitleClick TYPE clike OPTIONAL
|
toggleHeaderOnTitleClick TYPE clike OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
@ -125,6 +126,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
mode TYPE clike OPTIONAL
|
mode TYPE clike OPTIONAL
|
||||||
width TYPE clike OPTIONAL
|
width TYPE clike OPTIONAL
|
||||||
selectionchange TYPE clike OPTIONAL
|
selectionchange TYPE clike OPTIONAL
|
||||||
|
alternateRowColors TYPE clike OPTIONAL
|
||||||
PREFERRED PARAMETER items
|
PREFERRED PARAMETER items
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
@ -203,6 +205,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
METHODS header
|
METHODS header
|
||||||
|
importing
|
||||||
|
ns type clike default `f`
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
@ -343,6 +347,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
stretch TYPE clike OPTIONAL
|
stretch TYPE clike OPTIONAL
|
||||||
contentheight TYPE clike OPTIONAL
|
contentheight TYPE clike OPTIONAL
|
||||||
contentwidth TYPE clike OPTIONAL
|
contentwidth TYPE clike OPTIONAL
|
||||||
|
resizable TYPE clike OPTIONAL
|
||||||
PREFERRED PARAMETER title
|
PREFERRED PARAMETER title
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
@ -470,6 +475,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
valign TYPE clike OPTIONAL
|
valign TYPE clike OPTIONAL
|
||||||
selected TYPE clike OPTIONAL
|
selected TYPE clike OPTIONAL
|
||||||
|
type TYPE clike OPTIONAL
|
||||||
|
press TYPE clike OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
@ -477,6 +484,26 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS bar
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS content_left
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS content_middle
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS content_right
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS custom_header
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
METHODS header_content
|
METHODS header_content
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ns TYPE clike OPTIONAL
|
ns TYPE clike OPTIONAL
|
||||||
|
@ -523,6 +550,17 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS search_field
|
||||||
|
IMPORTING
|
||||||
|
search TYPE clike OPTIONAL
|
||||||
|
width TYPE clike OPTIONAL
|
||||||
|
value TYPE clike OPTIONAL
|
||||||
|
id TYPE clike OPTIONAL
|
||||||
|
change TYPE clike OPTIONAL
|
||||||
|
liveChange TYPE clike OPTIONAL
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
METHODS message_view
|
METHODS message_view
|
||||||
IMPORTING
|
IMPORTING
|
||||||
items TYPE clike OPTIONAL
|
items TYPE clike OPTIONAL
|
||||||
|
@ -586,12 +624,12 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
|
|
||||||
METHODS simple_form
|
METHODS simple_form
|
||||||
IMPORTING
|
IMPORTING
|
||||||
title TYPE clike OPTIONAL
|
title TYPE clike OPTIONAL
|
||||||
layout TYPE clike OPTIONAL
|
layout TYPE clike OPTIONAL
|
||||||
editable TYPE clike OPTIONAL
|
editable TYPE clike OPTIONAL
|
||||||
columnsXL TYPE clike OPTIONAL
|
columnsXL TYPE clike OPTIONAL
|
||||||
columnsL TYPE clike OPTIONAL
|
columnsL TYPE clike OPTIONAL
|
||||||
columnsM TYPE clike OPTIONAL
|
columnsM TYPE clike OPTIONAL
|
||||||
PREFERRED PARAMETER title
|
PREFERRED PARAMETER title
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
@ -613,6 +651,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
ns TYPE clike OPTIONAL
|
ns TYPE clike OPTIONAL
|
||||||
text TYPE clike OPTIONAL
|
text TYPE clike OPTIONAL
|
||||||
wrapping TYPE clike OPTIONAL
|
wrapping TYPE clike OPTIONAL
|
||||||
|
level type clike optional
|
||||||
PREFERRED PARAMETER text
|
PREFERRED PARAMETER text
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
@ -652,6 +691,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
METHODS label
|
METHODS label
|
||||||
IMPORTING
|
IMPORTING
|
||||||
text TYPE clike OPTIONAL
|
text TYPE clike OPTIONAL
|
||||||
|
labelfor TYPE clike OPTIONAL
|
||||||
|
PREFERRED PARAMETER text
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
@ -700,9 +741,19 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
headertext TYPE clike OPTIONAL
|
headertext TYPE clike OPTIONAL
|
||||||
items TYPE clike OPTIONAL
|
items TYPE clike OPTIONAL
|
||||||
mode TYPE clike OPTIONAL
|
mode TYPE clike OPTIONAL
|
||||||
selectionChange type clike optional
|
selectionChange TYPE clike OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS custom_list_item
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS input_list_item
|
||||||
|
IMPORTING
|
||||||
|
label TYPE clike OPTIONAL
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
METHODS standard_list_item
|
METHODS standard_list_item
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -859,6 +910,10 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
METHODS toolbar
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
METHODS text
|
METHODS text
|
||||||
IMPORTING
|
IMPORTING
|
||||||
text TYPE clike OPTIONAL
|
text TYPE clike OPTIONAL
|
||||||
|
@ -882,7 +937,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
METHODS zz_file_uploader
|
METHODS cc_file_uploader
|
||||||
IMPORTING
|
IMPORTING
|
||||||
value TYPE clike OPTIONAL
|
value TYPE clike OPTIONAL
|
||||||
path TYPE clike OPTIONAL
|
path TYPE clike OPTIONAL
|
||||||
|
@ -891,6 +946,10 @@ CLASS z2ui5_cl_xml_view DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
|
||||||
|
|
||||||
|
class-METHODS cc_file_uploader_get_js
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS xml_get
|
METHODS xml_get
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
@ -951,7 +1010,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
name = `header`
|
name = `header`
|
||||||
ns = `f`
|
ns = ns
|
||||||
).
|
).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1110,6 +1169,8 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
name = `ColumnListItem`
|
name = `ColumnListItem`
|
||||||
t_prop = VALUE #( ( n = `vAlign` v = valign )
|
t_prop = VALUE #( ( n = `vAlign` v = valign )
|
||||||
( n = `selected` v = selected )
|
( n = `selected` v = selected )
|
||||||
|
( n = `type` v = type )
|
||||||
|
( n = `press` v = press )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1182,6 +1243,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
( n = `showHeader` v = showheader )
|
( n = `showHeader` v = showheader )
|
||||||
( n = `contentWidth` v = contentwidth )
|
( n = `contentWidth` v = contentwidth )
|
||||||
( n = `contentHeight` v = contentheight )
|
( n = `contentHeight` v = contentheight )
|
||||||
|
( n = `resizable` v = lcl_utility=>get_json_boolean( resizable ) )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1338,6 +1400,45 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD bar.
|
||||||
|
|
||||||
|
result = _generic(
|
||||||
|
name = `Bar`
|
||||||
|
).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD content_left.
|
||||||
|
|
||||||
|
result = _generic(
|
||||||
|
name = `contentLeft`
|
||||||
|
).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD content_middle.
|
||||||
|
|
||||||
|
result = _generic(
|
||||||
|
name = `contentMiddle`
|
||||||
|
).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD content_right.
|
||||||
|
|
||||||
|
result = _generic(
|
||||||
|
name = `contentRight`
|
||||||
|
).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD custom_Header.
|
||||||
|
|
||||||
|
result = _generic(
|
||||||
|
name = `customHeader`
|
||||||
|
).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD header_content.
|
METHOD header_content.
|
||||||
|
|
||||||
|
@ -1358,6 +1459,11 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD toolbar.
|
||||||
|
|
||||||
|
result = _generic( `Toolbar` ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD header_toolbar.
|
METHOD header_toolbar.
|
||||||
|
|
||||||
|
@ -1554,6 +1660,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
name = `Label`
|
name = `Label`
|
||||||
t_prop = VALUE #(
|
t_prop = VALUE #(
|
||||||
( n = `text` v = text )
|
( n = `text` v = text )
|
||||||
|
( n = `labelFor` v = labelfor )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1951,6 +2058,25 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD custom_list_item.
|
||||||
|
|
||||||
|
result = _generic(
|
||||||
|
name = `CustomListItem`
|
||||||
|
).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD input_list_item.
|
||||||
|
|
||||||
|
result = _generic(
|
||||||
|
name = `InputListItem`
|
||||||
|
t_prop = VALUE #(
|
||||||
|
( n = `label` v = label )
|
||||||
|
) ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD standard_list_item.
|
METHOD standard_list_item.
|
||||||
|
|
||||||
result = me.
|
result = me.
|
||||||
|
@ -2052,6 +2178,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
( n = `mode` v = mode )
|
( n = `mode` v = mode )
|
||||||
( n = `width` v = width )
|
( n = `width` v = width )
|
||||||
( n = `selectionChange` v = selectionchange )
|
( n = `selectionChange` v = selectionchange )
|
||||||
|
( n = `alternateRowColors` v = lcl_utility=>get_json_boolean( alternateRowColors ) )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -2123,6 +2250,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
t_prop = VALUE #(
|
t_prop = VALUE #(
|
||||||
( n = `text` v = text )
|
( n = `text` v = text )
|
||||||
( n = `wrapping` v = lcl_utility=>get_json_boolean( wrapping ) )
|
( n = `wrapping` v = lcl_utility=>get_json_boolean( wrapping ) )
|
||||||
|
( n = `level` v = level )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -2234,7 +2362,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zz_file_uploader.
|
METHOD cc_file_uploader.
|
||||||
|
|
||||||
result = me.
|
result = me.
|
||||||
_generic(
|
_generic(
|
||||||
|
@ -2271,6 +2399,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
ns = `f`
|
ns = `f`
|
||||||
t_prop = VALUE #(
|
t_prop = VALUE #(
|
||||||
( n = `headerExpanded` v = lcl_utility=>get_json_boolean( headerexpanded ) )
|
( n = `headerExpanded` v = lcl_utility=>get_json_boolean( headerexpanded ) )
|
||||||
|
( n = `headerPinned` v = lcl_utility=>get_json_boolean( headerPinned ) )
|
||||||
( n = `toggleHeaderOnTitleClick` v = toggleHeaderOnTitleClick )
|
( n = `toggleHeaderOnTitleClick` v = toggleHeaderOnTitleClick )
|
||||||
) ).
|
) ).
|
||||||
|
|
||||||
|
@ -2396,6 +2525,22 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD search_field.
|
||||||
|
|
||||||
|
result = me.
|
||||||
|
_generic(
|
||||||
|
name = `SearchField`
|
||||||
|
t_prop = VALUE #(
|
||||||
|
( n = `width` v = width )
|
||||||
|
( n = `search` v = search )
|
||||||
|
( n = `value` v = value )
|
||||||
|
( n = `id` v = id )
|
||||||
|
( n = `change` v = change )
|
||||||
|
( n = `liveChange` v = liveChange )
|
||||||
|
) ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD message_view.
|
METHOD message_view.
|
||||||
|
|
||||||
result = _generic(
|
result = _generic(
|
||||||
|
@ -2414,4 +2559,115 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD cc_file_uploader_get_js.
|
||||||
|
|
||||||
|
result = ` jQuery.sap.declare("z2ui5.FileUploader");` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` sap.ui.define([` && |\n| &&
|
||||||
|
` "sap/ui/core/Control",` && |\n| &&
|
||||||
|
` "sap/m/Button",` && |\n| &&
|
||||||
|
` "sap/ui/unified/FileUploader"` && |\n| &&
|
||||||
|
` ], function (Control, Button, FileUploader) {` && |\n| &&
|
||||||
|
` "use strict";` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` return Control.extend("z2ui5.FileUploader", {` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` metadata: {` && |\n| &&
|
||||||
|
` properties: {` && |\n| &&
|
||||||
|
` value: {` && |\n| &&
|
||||||
|
` type: "string",` && |\n| &&
|
||||||
|
` defaultValue: ""` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` path: {` && |\n| &&
|
||||||
|
` type: "string",` && |\n| &&
|
||||||
|
` defaultValue: ""` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` tooltip: {` && |\n| &&
|
||||||
|
` type: "string",` && |\n| &&
|
||||||
|
` defaultValue: ""` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` fileType: {` && |\n| &&
|
||||||
|
` type: "string",` && |\n| &&
|
||||||
|
` defaultValue: ""` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` placeholder: {` && |\n| &&
|
||||||
|
` type: "string",` && |\n| &&
|
||||||
|
` defaultValue: ""` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` buttonText: {` && |\n| &&
|
||||||
|
` type: "string",` && |\n| &&
|
||||||
|
` defaultValue: "Upload"` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` enabled: {` && |\n| &&
|
||||||
|
` type: "boolean",` && |\n| &&
|
||||||
|
` defaultValue: true` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` multiple: {` && |\n| &&
|
||||||
|
` type: "boolean",` && |\n| &&
|
||||||
|
` defaultValue: false` && |\n| &&
|
||||||
|
` }` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` aggregations: {` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` events: {` && |\n| &&
|
||||||
|
` "upload": {` && |\n| &&
|
||||||
|
` allowPreventDefault: true,` && |\n| &&
|
||||||
|
` parameters: {}` && |\n| &&
|
||||||
|
` }` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
` renderer: null` && |\n| &&
|
||||||
|
` },` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` renderer: function (oRm, oControl) {` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` oControl.oUploadButton = new Button({` && |\n| &&
|
||||||
|
` text: oControl.getProperty("buttonText"),` && |\n| &&
|
||||||
|
` enabled: oControl.getProperty("path") !== "",` && |\n| &&
|
||||||
|
` press: function (oEvent) {` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` this.setProperty("path", this.oFileUploader.getProperty("value"));` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` var file = this.oFileUploader.oFileUpload.files[0];` && |\n| &&
|
||||||
|
` var reader = new FileReader();` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` reader.onload = function (evt) {` && |\n| &&
|
||||||
|
` var vContent = evt.currentTarget.result;` && |\n| &&
|
||||||
|
` this.setProperty("value", vContent);` && |\n| &&
|
||||||
|
` this.fireUpload();` && |\n| &&
|
||||||
|
` //this.getView().byId('picture' ).getDomRef().src = vContent;` && |\n| &&
|
||||||
|
` }.bind(this)` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` reader.readAsDataURL(file);` && |\n| &&
|
||||||
|
` }.bind(oControl)` && |\n| &&
|
||||||
|
` });` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` oControl.oFileUploader = new FileUploader({` && |\n| &&
|
||||||
|
` icon: "sap-icon://browse-folder",` && |\n| &&
|
||||||
|
` iconOnly: true,` && |\n| &&
|
||||||
|
` value: oControl.getProperty("path"),` && |\n| &&
|
||||||
|
` placeholder: oControl.getProperty("placeholder"),` && |\n| &&
|
||||||
|
` change: function (oEvent) {` && |\n| &&
|
||||||
|
` var value = oEvent.getSource().getProperty("value");` && |\n| &&
|
||||||
|
` this.setProperty("path", value);` && |\n| &&
|
||||||
|
` if (value) {` && |\n| &&
|
||||||
|
` this.oUploadButton.setEnabled();` && |\n| &&
|
||||||
|
` } else {` && |\n| &&
|
||||||
|
` this.oUploadButton.setEnabled(false);` && |\n| &&
|
||||||
|
` }` && |\n| &&
|
||||||
|
` this.oUploadButton.rerender();` && |\n| &&
|
||||||
|
` }.bind(oControl)` && |\n| &&
|
||||||
|
` });` && |\n| &&
|
||||||
|
|\n| &&
|
||||||
|
` var hbox = new sap.m.HBox();` && |\n| &&
|
||||||
|
` hbox.addItem(oControl.oFileUploader);` && |\n| &&
|
||||||
|
` hbox.addItem(oControl.oUploadButton);` && |\n| &&
|
||||||
|
` oRm.renderControl(hbox);` && |\n| &&
|
||||||
|
` }` && |\n| &&
|
||||||
|
` });` && |\n| &&
|
||||||
|
` });`.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -1363,14 +1363,14 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
|
||||||
json = `"` && <val> && `"`
|
json = `"` && <val> && `"`
|
||||||
CHANGING
|
CHANGING
|
||||||
data = <attribute> ).
|
data = <attribute> ).
|
||||||
WHEN 'C'.
|
" WHEN 'C'.
|
||||||
CASE lr_attri->type.
|
" CASE lr_attri->type.
|
||||||
WHEN `ABAP_BOOL` OR `ABAP_BOOLEAN` OR `XSDBOOLEAN`.
|
" WHEN `ABAP_BOOL` OR `ABAP_BOOLEAN` OR `XSDBOOLEAN`.
|
||||||
<attribute> = xsdbool( <val> = `true` ).
|
" <attribute> = xsdbool( <val> = `true` ).
|
||||||
WHEN OTHERS.
|
" WHEN OTHERS.
|
||||||
<attribute> = <val>.
|
" <attribute> = <val>.
|
||||||
ENDCASE.
|
"° ENDCASE.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
<attribute> = <val>.
|
<attribute> = <val>.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
@ -1522,7 +1522,7 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
IF type = cs_bind_type-two_way.
|
IF type = cs_bind_type-two_way.
|
||||||
z2ui5_lcl_utility=>raise( `Binding Error - two way binding used but no attribute found (` && lr_attri->name && `)` ).
|
z2ui5_lcl_utility=>raise( `Binding Error - two way binding used but no attribute found` ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
"one time when not global class attribute
|
"one time when not global class attribute
|
||||||
|
|
Loading…
Reference in New Issue
Block a user