@@ -8,7 +8,15 @@ CLASS z2ui5_cl_demo_app_147 DEFINITION
8
8
INTERFACES z2ui5_if_app .
9
9
10
10
DATA check_initialized TYPE abap_bool .
11
- DATA ms_chartjs_config TYPE z2ui5_cl_cc_chartjs=>ty_chart .
11
+ DATA ms_chartjs_config_bar TYPE z2ui5_cl_cc_chartjs=>ty_chart .
12
+ DATA ms_chartjs_config_bar2 TYPE z2ui5_cl_cc_chartjs=>ty_chart .
13
+ DATA ms_chartjs_config_hbar TYPE z2ui5_cl_cc_chartjs=>ty_chart .
14
+ DATA ms_chartjs_config_line TYPE z2ui5_cl_cc_chartjs=>ty_chart .
15
+ DATA ms_chartjs_config_area TYPE z2ui5_cl_cc_chartjs=>ty_chart .
16
+ DATA ms_chartjs_config_pie TYPE z2ui5_cl_cc_chartjs=>ty_chart .
17
+ DATA ms_chartjs_config_bubble TYPE z2ui5_cl_cc_chartjs=>ty_chart .
18
+ DATA ms_chartjs_config_polar TYPE z2ui5_cl_cc_chartjs=>ty_chart .
19
+ DATA ms_chartjs_config_doughnut TYPE z2ui5_cl_cc_chartjs=>ty_chart.
12
20
PROTECTED SECTION .
13
21
14
22
METHODS z2ui5_on_rendering.
@@ -63,18 +71,192 @@ CLASS Z2UI5_CL_DEMO_APP_147 IMPLEMENTATION.
63
71
64
72
DATA ls_dataset TYPE z2ui5_cl_cc_chartjs=>ty_dataset.
65
73
66
- ms_chartjs_config -type = 'bar' .
67
- ms_chartjs_config -data-labels = VALUE #( ( `Red` ) ( `Blue` ) ( `Yellow` ) ( `Green` ) ( `Purple` ) ( `Orange` ) ).
74
+ ms_chartjs_config_bar -type = 'bar' .
75
+ ms_chartjs_config_bar -data-labels = VALUE #( ( `Red` ) ( `Blue` ) ( `Yellow` ) ( `Green` ) ( `Purple` ) ( `Orange` ) ).
68
76
69
77
ls_dataset-border_width = 1 .
70
78
ls_dataset-label = `# of Votes` .
71
79
ls_dataset-rtl = abap_true .
72
80
ls_dataset-data = VALUE #( ( `1` ) ( `12` ) ( `19` ) ( `3` ) ( `5` ) ( `2` ) ( `3` ) ).
73
- APPEND ls_dataset TO ms_chartjs_config-data-datasets.
74
-
75
- ms_chartjs_config-options-plugins-autocolors-mode = 'data' .
76
-
77
- ms_chartjs_config-options-scales-y-begin_at_zero = abap_true .
81
+ APPEND ls_dataset TO ms_chartjs_config_bar-data-datasets.
82
+
83
+ ms_chartjs_config_bar-options-plugins-autocolors-mode = 'data' .
84
+ ms_chartjs_config_bar-options-plugins-datalabels-text_align = `center` .
85
+ ms_chartjs_config_bar-options-scales-y-begin_at_zero = abap_true .
86
+
87
+ ms_chartjs_config_bar2-type = 'bar' .
88
+ ms_chartjs_config_bar2-data-labels = VALUE #( ( `Jan` ) ( `Feb` ) ( `Mar` ) ( `Apr` ) ( `May` ) ( `Jun` ) ).
89
+
90
+ CLEAR ls_dataset.
91
+ ls_dataset-label = 'Fully Rounded' .
92
+ ls_dataset-border_width = 2 .
93
+ ls_dataset-border_radius = 200 .
94
+ ls_dataset-border_skipped = abap_false .
95
+ ls_dataset-data = VALUE #( ( `1` ) ( `-12` ) ( `19` ) ( `3` ) ( `5` ) ( `-2` ) ( `3` ) ).
96
+ APPEND ls_dataset TO ms_chartjs_config_bar2-data-datasets.
97
+
98
+ CLEAR ls_dataset.
99
+ ls_dataset-label = 'Small Radius' .
100
+ ls_dataset-border_width = 2 .
101
+ ls_dataset-border_radius = 5 .
102
+ ls_dataset-border_skipped = abap_false .
103
+ ls_dataset-data = VALUE #( ( `11` ) ( `2` ) ( `-3` ) ( `13` ) ( `-9` ) ( `7` ) ( `-4` ) ).
104
+ APPEND ls_dataset TO ms_chartjs_config_bar2-data-datasets.
105
+
106
+ ms_chartjs_config_bar2-options-responsive = abap_true .
107
+ ms_chartjs_config_bar2-options-plugins-legend-position = `top` .
108
+ ms_chartjs_config_bar2-options-plugins-title-display = abap_true .
109
+ ms_chartjs_config_bar2-options-plugins-title-text = `Bar Chart` .
110
+
111
+ ms_chartjs_config_bar2-options-plugins-autocolors-offset = 11 .
112
+ ms_chartjs_config_bar2-options-plugins-autocolors-mode = 'dataset' .
113
+ ms_chartjs_config_bar2-options-plugins-datalabels-text_align = `center` .
114
+ ms_chartjs_config_bar2-options-plugins-datalabels-color = `white` .
115
+
116
+
117
+
118
+ ms_chartjs_config_hbar-type = 'bar' .
119
+ ms_chartjs_config_hbar-data-labels = VALUE #( ( `Jan` ) ( `Feb` ) ( `Mar` ) ( `Apr` ) ( `May` ) ( `Jun` ) ).
120
+
121
+ CLEAR ls_dataset.
122
+ ls_dataset-label = 'Dataset 1' .
123
+ ls_dataset-background_color = `#ffb1c1` .
124
+ ls_dataset-border_color = `#ff7894` .
125
+ ls_dataset-data = VALUE #( ( `5` ) ( `-12` ) ( `19` ) ( `3` ) ( `5` ) ( `-2` ) ( `3` ) ).
126
+ APPEND ls_dataset TO ms_chartjs_config_hbar-data-datasets.
127
+
128
+ CLEAR ls_dataset.
129
+ ls_dataset-label = 'Dataset 2' .
130
+ ls_dataset-background_color = `#9ad0f5` .
131
+ ls_dataset-border_color = `#40a6ec` .
132
+ ls_dataset-data = VALUE #( ( `11` ) ( `2` ) ( `-3` ) ( `13` ) ( `-9` ) ( `7` ) ( `-4` ) ).
133
+ APPEND ls_dataset TO ms_chartjs_config_hbar-data-datasets.
134
+
135
+ ms_chartjs_config_hbar-options-responsive = abap_true .
136
+ ms_chartjs_config_hbar-options-index_axis = `y` .
137
+ ms_chartjs_config_hbar-options-elements-bar-border_width = 2 .
138
+ ms_chartjs_config_hbar-options-plugins-legend-position = `right` .
139
+ ms_chartjs_config_hbar-options-plugins-title-display = abap_true .
140
+ ms_chartjs_config_hbar-options-plugins-title-text = `Horizontal Bar Chart` .
141
+
142
+
143
+ ms_chartjs_config_hbar-options-plugins-datalabels-text_align = `center` .
144
+ ms_chartjs_config_hbar-options-plugins-datalabels-color = `white` .
145
+
146
+
147
+ ms_chartjs_config_line-type = 'line' .
148
+ ms_chartjs_config_line-data-labels = VALUE #( ( `Jan` ) ( `Feb` ) ( `Mar` ) ( `Apr` ) ( `May` ) ( `Jun` ) ).
149
+
150
+ CLEAR ls_dataset.
151
+ ls_dataset-label = 'Dataset 1' .
152
+ ls_dataset-background_color = `#ffb1c1` .
153
+ ls_dataset-border_color = `#ff7894` .
154
+ ls_dataset-data = VALUE #( ( `5` ) ( `-12` ) ( `19` ) ( `3` ) ( `5` ) ( `-2` ) ( `3` ) ).
155
+ APPEND ls_dataset TO ms_chartjs_config_line-data-datasets.
156
+
157
+ CLEAR ls_dataset.
158
+ ls_dataset-label = 'Dataset 2' .
159
+ ls_dataset-point_style = 'circle' .
160
+ ls_dataset-point_hover_radius = 10 .
161
+ ls_dataset-background_color = `#9ad0f5` .
162
+ ls_dataset-border_color = `#40a6ec` .
163
+ ls_dataset-data = VALUE #( ( `11` ) ( `2` ) ( `-3` ) ( `13` ) ( `-9` ) ( `7` ) ( `-4` ) ).
164
+ APPEND ls_dataset TO ms_chartjs_config_line-data-datasets.
165
+
166
+ ms_chartjs_config_line-options-responsive = abap_true .
167
+ ms_chartjs_config_line-options-plugins-legend-position = `top` .
168
+ ms_chartjs_config_line-options-plugins-title-display = abap_true .
169
+ ms_chartjs_config_line-options-plugins-title-text = `Line Chart` .
170
+ ms_chartjs_config_line-options-plugins-datalabels-font-size = `15` .
171
+ ms_chartjs_config_line-options-plugins-datalabels-text_align = `end` .
172
+
173
+
174
+ ms_chartjs_config_bubble-type = 'bubble' .
175
+
176
+ CLEAR ls_dataset.
177
+ ls_dataset-label = 'Dataset 1' .
178
+ ls_dataset-data_x_y_r = VALUE #( ( x = `100` y = `0` r = `8` )
179
+ ( x = `60` y = `30` r = `15` )
180
+ ( x = `40` y = `60` r = `8` )
181
+ ( x = `80` y = `80` r = `23` )
182
+ ( x = `20` y = `30` r = `8` )
183
+ ( x = `0` y = `100` r = `9` )
184
+ ).
185
+ ls_dataset-background_color = `#ffb1c1` .
186
+ ls_dataset-border_color = `#ff7894` .
187
+ APPEND ls_dataset TO ms_chartjs_config_bubble-data-datasets.
188
+
189
+ CLEAR ls_dataset.
190
+ ls_dataset-label = 'Dataset 2' .
191
+ ls_dataset-background_color = `#9ad0f5` .
192
+ ls_dataset-border_color = `#40a6ec` .
193
+ ls_dataset-data_x_y_r = VALUE #( ( x = `0` y = `0` r = `8` )
194
+ ( x = `20` y = `15` r = `15` )
195
+ ( x = `80` y = `40` r = `8` )
196
+ ( x = `20` y = `66` r = `23` )
197
+ ( x = `10` y = `15` r = `8` )
198
+ ( x = `80` y = `5` r = `9` )
199
+ ).
200
+ APPEND ls_dataset TO ms_chartjs_config_bubble-data-datasets.
201
+
202
+ ms_chartjs_config_bubble-options-responsive = abap_true .
203
+ ms_chartjs_config_bubble-options-plugins-legend-position = `top` .
204
+ ms_chartjs_config_bubble-options-plugins-title-display = '-' .
205
+ ms_chartjs_config_bubble-options-plugins-title-text = `Bubble Chart` .
206
+ ms_chartjs_config_bubble-options-plugins-datalabels-display = '-' .
207
+
208
+
209
+ ms_chartjs_config_doughnut-type = 'doughnut' .
210
+ ms_chartjs_config_doughnut-data-labels = VALUE #( ( `Red` ) ( `Blue` ) ( `Yellow` ) ( `Green` ) ( `Purple` ) ( `Orange` ) ).
211
+
212
+ CLEAR ls_dataset.
213
+ ls_dataset-label = `Dataset 1` .
214
+ ls_dataset-background_color_t = VALUE #( ( `red` ) ( `blue` ) ( `yellow` ) ( `green` ) ( `purple` ) ( `orange` ) ).
215
+ ls_dataset-data = VALUE #( ( `1` ) ( `12` ) ( `19` ) ( `3` ) ( `5` ) ( `2` ) ).
216
+ ls_dataset-hover_offset = 5 .
217
+ APPEND ls_dataset TO ms_chartjs_config_doughnut-data-datasets.
218
+
219
+ ms_chartjs_config_doughnut-options-plugins-autocolors-enabled = '-' .
220
+ ms_chartjs_config_doughnut-options-plugins-datalabels-text_align = 'center' .
221
+ ms_chartjs_config_doughnut-options-plugins-datalabels-color = 'white' .
222
+ ms_chartjs_config_doughnut-options-plugins-title-text = `Doughnut Chart` .
223
+ ms_chartjs_config_doughnut-options-plugins-title-display = abap_true .
224
+ ms_chartjs_config_doughnut-options-plugins-legend-position = 'right' .
225
+
226
+
227
+ ms_chartjs_config_pie-type = 'pie' .
228
+ ms_chartjs_config_pie-data-labels = VALUE #( ( `Red` ) ( `Blue` ) ( `Yellow` ) ( `Green` ) ( `Purple` ) ( `Orange` ) ).
229
+
230
+ CLEAR ls_dataset.
231
+ ls_dataset-label = `# of Votes` .
232
+ ls_dataset-background_color_t = VALUE #( ( `red` ) ( `blue` ) ( `yellow` ) ( `green` ) ( `purple` ) ( `orange` ) ).
233
+ ls_dataset-data = VALUE #( ( `1` ) ( `12` ) ( `19` ) ( `3` ) ( `5` ) ( `2` ) ).
234
+ ls_dataset-hover_offset = 5 .
235
+ APPEND ls_dataset TO ms_chartjs_config_pie-data-datasets.
236
+
237
+ ms_chartjs_config_pie-options-plugins-autocolors-enabled = '-' .
238
+ ms_chartjs_config_pie-options-plugins-datalabels-text_align = 'center' .
239
+ ms_chartjs_config_pie-options-plugins-datalabels-color = 'white' .
240
+ ms_chartjs_config_pie-options-plugins-title-text = `Pie Chart` .
241
+ ms_chartjs_config_pie-options-plugins-title-display = abap_true .
242
+ ms_chartjs_config_pie-options-plugins-legend-position = 'left' .
243
+
244
+
245
+ ms_chartjs_config_polar-type = 'polarArea' .
246
+ ms_chartjs_config_polar-data-labels = VALUE #( ( `Red` ) ( `Blue` ) ( `Yellow` ) ( `Green` ) ( `Purple` ) ( `Orange` ) ).
247
+
248
+ CLEAR ls_dataset.
249
+ ls_dataset-label = `Dataset 1` .
250
+ ls_dataset-background_color_t = VALUE #( ( `red` ) ( `blue` ) ( `yellow` ) ( `green` ) ( `purple` ) ( `orange` ) ).
251
+ ls_dataset-data = VALUE #( ( `10` ) ( `12` ) ( `19` ) ( `8` ) ( `5` ) ( `9` ) ).
252
+ APPEND ls_dataset TO ms_chartjs_config_polar-data-datasets.
253
+
254
+ ms_chartjs_config_polar-options-plugins-autocolors-enabled = '-' .
255
+ ms_chartjs_config_polar-options-plugins-datalabels-text_align = 'center' .
256
+ ms_chartjs_config_polar-options-plugins-datalabels-color = 'white' .
257
+ ms_chartjs_config_polar-options-plugins-title-text = `Polar Area Chart` .
258
+ ms_chartjs_config_polar-options-plugins-title-display = abap_true .
259
+ ms_chartjs_config_polar-options-plugins-legend-position = 'left' .
78
260
79
261
ENDMETHOD .
80
262
@@ -97,13 +279,49 @@ CLASS Z2UI5_CL_DEMO_APP_147 IMPLEMENTATION.
97
279
)->get_parent( ).
98
280
99
281
100
- DATA (vbox ) = page->vbox( justifycontent = `Center` ).
101
- vbox->html_canvas( id = `myChart` ).
282
+ * DATA(vbox) = page->vbox( justifycontent = `Center` ).
283
+ DATA (car ) = page->carousel( class = `sapUiContentPadding` ).
284
+ DATA (vl1 ) = car->vertical_layout( width = `100%` ).
285
+ DATA (fb1 ) = vl1->flex_box( width = `100%` height = `50%` justifycontent = `SpaceAround` ).
286
+ DATA (fb2 ) = vl1->flex_box( width = `100%` height = `50%` justifycontent = `SpaceAround` ).
287
+ fb1->vbox( justifycontent = `Center` )->html_canvas( id = `bar` height = `300` width = `400` ).
288
+ fb1->vbox( justifycontent = `Center` )->html_canvas( id = `bar2` height = `300` width = `400` ).
289
+ fb2->vbox( justifycontent = `Center` )->html_canvas( id = `hbar` height = `300` width = `400` ).
290
+ fb2->vbox( justifycontent = `Center` )->html_canvas( id = `line` height = `300` width = `400` ).
102
291
103
- vbox->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'myChart'
104
- is_config = ms_chartjs_config
105
- view = client->cs_view-main ) ).
292
+ DATA (vl2 ) = car->vertical_layout( width = `100%` ).
293
+ DATA (fb3 ) = vl2->flex_box( width = `100%` height = `50%` justifycontent = `SpaceAround` ).
294
+ DATA (fb4 ) = vl2->flex_box( width = `100%` height = `50%` justifycontent = `SpaceAround` ).
295
+ fb3->vbox( justifycontent = `Center` )->html_canvas( id = `bubble` height = `300` width = `315 ` ).
296
+ fb3->vbox( justifycontent = `Center` )->html_canvas( id = `doughnut` height = `300` width = `315` ).
297
+ fb4->vbox( justifycontent = `Center` )->html_canvas( id = `pie` height = `300` width = `315` ).
298
+ fb4->vbox( justifycontent = `Center` )->html_canvas( id = `polar` height = `300` width = `315` ).
106
299
300
+
301
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'bar'
302
+ is_config = ms_chartjs_config_bar
303
+ view = client->cs_view-main ) ).
304
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'bar2'
305
+ is_config = ms_chartjs_config_bar2
306
+ view = client->cs_view-main ) ).
307
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'hbar'
308
+ is_config = ms_chartjs_config_hbar
309
+ view = client->cs_view-main ) ).
310
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'line'
311
+ is_config = ms_chartjs_config_line
312
+ view = client->cs_view-main ) ).
313
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'bubble'
314
+ is_config = ms_chartjs_config_bubble
315
+ view = client->cs_view-main ) ).
316
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'doughnut'
317
+ is_config = ms_chartjs_config_doughnut
318
+ view = client->cs_view-main ) ).
319
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'pie'
320
+ is_config = ms_chartjs_config_pie
321
+ view = client->cs_view-main ) ).
322
+ view->_generic( name = `script` ns = `html` )->_cc_plain_xml( z2ui5_cl_cc_chartjs=>set_js_config( canvas_id = 'polar'
323
+ is_config = ms_chartjs_config_polar
324
+ view = client->cs_view-main ) ).
107
325
client->view_display( page->stringify( ) ).
108
326
109
327
ENDMETHOD .
0 commit comments