Skip to content

Commit aa40e46

Browse files
authored
chartjs demo (#88)
1 parent 1581147 commit aa40e46

File tree

2 files changed

+125
-0
lines changed

2 files changed

+125
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
class Z2UI5_CL_DEMO_APP_147 definition
2+
public
3+
create public .
4+
5+
public section.
6+
7+
interfaces IF_SERIALIZABLE_OBJECT .
8+
interfaces Z2UI5_IF_APP .
9+
10+
data CHECK_INITIALIZED type ABAP_BOOL .
11+
data MS_CHARTJS_CONFIG type Z2UI5_CL_CC_CHARTJS=>TY_CHART .
12+
PROTECTED SECTION.
13+
14+
METHODS z2ui5_on_rendering.
15+
METHODS z2ui5_on_event.
16+
METHODS z2ui5_on_init.
17+
18+
PRIVATE SECTION.
19+
DATA client TYPE REF TO z2ui5_if_client.
20+
ENDCLASS.
21+
22+
23+
24+
CLASS Z2UI5_CL_DEMO_APP_147 IMPLEMENTATION.
25+
26+
27+
METHOD Z2UI5_IF_APP~MAIN.
28+
29+
me->client = client.
30+
31+
IF check_initialized = abap_false.
32+
check_initialized = abap_true.
33+
z2ui5_on_init( ).
34+
35+
client->view_display( z2ui5_cl_xml_view=>factory( client
36+
)->_z2ui5( )->timer( client->_event( `START` )
37+
)->_generic( ns = `html` name = `script` t_prop = VALUE #( ( n = `src` v = z2ui5_cl_cc_chartjs=>get_js_url( ) )
38+
) )->get_parent(
39+
)->stringify( ) ).
40+
41+
ENDIF.
42+
43+
z2ui5_on_event( ).
44+
45+
ENDMETHOD.
46+
47+
48+
METHOD Z2UI5_ON_EVENT.
49+
50+
CASE client->get( )-event.
51+
WHEN 'START'.
52+
z2ui5_on_rendering( ).
53+
WHEN 'BACK'.
54+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
55+
ENDCASE.
56+
57+
ENDMETHOD.
58+
59+
60+
METHOD Z2UI5_ON_INIT.
61+
62+
DATA ls_dataset TYPE z2ui5_cl_cc_chartjs=>ty_dataset.
63+
64+
ms_chartjs_config-type = 'bar'.
65+
ms_chartjs_config-data-labels = VALUE #( ( `Red` ) ( `Blue` ) ( `Yellow` ) ( `Green` ) ( `Purple` ) ( `Orange` ) ).
66+
67+
ls_dataset-border_width = 1.
68+
ls_dataset-label = `# of Votes`.
69+
ls_dataset-data = VALUE #( ( `1` ) ( `12` ) ( `19` ) ( `3` ) ( `5` ) ( `2` ) ( `3` ) ).
70+
APPEND ls_dataset TO ms_chartjs_config-data-datasets.
71+
72+
ms_chartjs_config-options-plugins-colors-force_override = abap_true.
73+
ms_chartjs_config-options-plugins-colors-enabled = abap_true.
74+
75+
76+
ms_chartjs_config-options-scales-y-begin_at_zero = abap_true.
77+
78+
ENDMETHOD.
79+
80+
81+
METHOD Z2UI5_ON_RENDERING.
82+
83+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
84+
85+
DATA(page) = view->shell(
86+
)->page(
87+
showheader = xsdbool( abap_false = client->get( )-check_launchpad_active )
88+
title = 'abap2UI5 - ChartJS demo'
89+
navbuttonpress = client->_event( 'BACK' )
90+
enablescrolling = abap_false
91+
shownavbutton = abap_true ).
92+
93+
page->header_content(
94+
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/abap2UI5/status/1628701535222865922`
95+
)->link( text = 'Source_Code' target = '_blank' href = z2ui5_cl_demo_utility=>factory( client )->app_get_url_source_code( )
96+
)->get_parent( ).
97+
98+
99+
DATA(vbox) = page->vbox( justifycontent = `Center` ).
100+
vbox->html_canvas( id = `myChart` ).
101+
102+
vbox->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'myChart'
103+
is_config = ms_chartjs_config
104+
view = client->cs_view-main ) ).
105+
106+
client->view_display( page->stringify( ) ).
107+
108+
ENDMETHOD.
109+
ENDCLASS.

src/z2ui5_cl_demo_app_147.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_DEMO_APP_147</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>chartjs demo</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

0 commit comments

Comments
 (0)