@sapui5/sap.suite.ui.generic.template 1.145.0 → 1.146.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/generic/template/.library +1 -1
  3. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js +62 -13
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +14 -2
  5. package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_it.properties +2 -2
  6. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  7. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  8. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +13 -9
  9. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +1 -1
  10. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  11. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartChart.fragment.xml +9 -2
  12. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +2 -2
  13. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +52 -1
  14. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +1 -1
  15. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  16. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartChart.fragment.xml +0 -1
  17. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  18. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  19. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +90 -10
  20. package/src/sap/suite/ui/generic/template/fragments/GridTableColumns.fragment.xml +1 -1
  21. package/src/sap/suite/ui/generic/template/genericUtilities/Link.js +26 -26
  22. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +16 -1
  23. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
  24. package/src/sap/suite/ui/generic/template/lib/BaseNoDataHandler.js +108 -0
  25. package/src/sap/suite/ui/generic/template/lib/ChartNoDataHandler.js +37 -0
  26. package/src/sap/suite/ui/generic/template/lib/TableNoDataHandler.js +24 -101
  27. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +26 -2
  28. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +2 -0
  29. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +2 -0
  30. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +2 -0
  31. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +2 -0
  32. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +2 -0
  33. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +2 -0
  34. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +2 -0
  35. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +2 -0
  36. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +2 -0
  37. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +2 -0
  38. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +2 -0
  39. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +2 -0
  40. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +2 -0
  41. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +2 -0
  42. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +2 -0
  43. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +2 -0
  44. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +4 -2
  45. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +2 -0
  46. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +2 -0
  47. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +2 -0
  48. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +3 -1
  49. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +3 -1
  50. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +2 -0
  51. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +6 -4
  52. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +2 -0
  53. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +2 -0
  54. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +2 -0
  55. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +2 -0
  56. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +2 -0
  57. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +2 -0
  58. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +2 -0
  59. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +3 -1
  60. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +2 -0
  61. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +2 -0
  62. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +2 -0
  63. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +2 -0
  64. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +2 -0
  65. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +2 -0
  66. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +2 -0
  67. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +2 -0
  68. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +2 -0
  69. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +2 -0
  70. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +2 -0
  71. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +2 -0
  72. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +4 -2
  73. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +2 -0
  74. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +7 -5
  75. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +6 -4
  76. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +12 -3
  77. package/src/sap/suite/ui/generic/template/library.js +1 -1
  78. package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +11 -2
  79. package/src/sap/suite/ui/generic/template/listTemplates/fragments/SmartChart.fragment.xml +11 -4
  80. package/src/sap/suite/ui/generic/template/themes/base/AnalyticalListPage.less +135 -98
  81. package/src/sap/suite/ui/generic/template/themes/base/ListReport.less +12 -5
  82. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +254 -223
  83. package/src/sap/suite/ui/generic/template/themes/base/QuickCreate.less +31 -9
  84. package/src/sap/suite/ui/generic/template/themes/base/QuickView.less +42 -21
  85. package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ObjectPage.less +0 -1
  86. package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ObjectPage.less +0 -1
  87. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3/ObjectPage.less +15 -11
  88. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_dark/ObjectPage.less +13 -9
  89. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/AnalyticalListPage.less +6 -2
  90. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/ObjectPage.less +2 -2
  91. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/AnalyticalListPage.less +6 -2
  92. package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/ObjectPage.less +2 -2
  93. package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_ObjectPage.less +0 -1
  94. package/src/sap/suite/ui/generic/template/themes/sap_horizon/AnalyticalListPage.less +7 -2
  95. package/src/sap/suite/ui/generic/template/themes/sap_horizon/ObjectPage.less +11 -11
  96. package/src/sap/suite/ui/generic/template/themes/sap_horizon_dark/AnalyticalListPage.less +7 -2
  97. package/src/sap/suite/ui/generic/template/themes/sap_horizon_dark/ObjectPage.less +10 -10
  98. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/AnalyticalListPage.less +4 -4
  99. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/ObjectPage.less +2 -2
  100. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/AnalyticalListPage.less +4 -4
  101. package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/ObjectPage.less +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.suite.ui.generic.template",
3
- "version": "1.145.0",
3
+ "version": "1.146.0",
4
4
  "description": "SAPUI5 Library sap.suite.ui.generic.template",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -7,7 +7,7 @@
7
7
 
8
8
  (c) Copyright 2009-2015 SAP SE. All rights reserved
9
9
  </copyright>
10
- <version>1.145.0</version>
10
+ <version>1.146.0</version>
11
11
 
12
12
  <documentation>Library with generic Suite UI templates.</documentation>
13
13
 
@@ -28,12 +28,15 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
28
28
  "sap/suite/ui/generic/template/genericUtilities/metadataAnalyser",
29
29
  "sap/suite/ui/generic/template/genericUtilities/filterHelper",
30
30
  "sap/suite/ui/generic/template/js/AnnotationHelperHiddenTermSupport",
31
+ "sap/m/IllustratedMessageType",
32
+ "sap/suite/ui/generic/template/lib/TableNoDataHandler",
33
+ "sap/suite/ui/generic/template/lib/ChartNoDataHandler",
31
34
  "sap/suite/ui/generic/template/AnalyticalListPage/controller/CtxMenuHandler"
32
35
  ], function(SelectionVariant, ExtensionAPI,
33
36
  FilterBarController, ToolbarController, VisualFilterBarController, VisualFilterDialogController, AnalyticalTable,
34
37
  ODataAnnotationHelper, Analytics, ContentAreaController, IappStateHandler, Device, SegmentedButtonItem, ALPHelper, controlHelper, FeLogger,
35
38
  ObjectPath, ShareUtils, merge, deepExtend, ListUtils, MultipleViewsHandler, StableIdHelper, MessageStripHelper, JSONModel, PersonalizationControllerUtil,
36
- InsightsHandler, metadataAnalyser, filterHelper, AnnotationHelperHiddenTermSupport, CtxMenuHandler) {
39
+ InsightsHandler, metadataAnalyser, filterHelper, AnnotationHelperHiddenTermSupport, IllustratedMessageType, TableNoDataHandler, ChartNoDataHandler, CtxMenuHandler) {
37
40
 
38
41
  "use strict";
39
42
 
@@ -55,6 +58,28 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
55
58
  var bTableRebindRequired = false; // This boolean value decides whether or not the table has to be rebind.
56
59
  var oContextMenuHandler = new CtxMenuHandler(oController, oTemplateUtils, oState);
57
60
 
61
+ var oTableNoDataConfig = {
62
+ TABLE_WITH_FILTER: {
63
+ i18nKey: "NOITEMS_SMARTTABLE_WITH_FILTER",
64
+ illustrationType: IllustratedMessageType.NoFilterResults
65
+ },
66
+ TABLE_WITHOUT_FILTER: {
67
+ i18nKey: "NOITEMS_SMARTTABLE",
68
+ illustrationType: IllustratedMessageType.NoEntries
69
+ }
70
+ };
71
+
72
+ var oChartNoDataConfig = {
73
+ CHART_WITH_FILTER: {
74
+ i18nKey: "NOITEMS_SMARTCHART_WITH_FILTER",
75
+ illustrationType: IllustratedMessageType.NoFilterResults
76
+ },
77
+ CHART_WITHOUT_FILTER: {
78
+ i18nKey: "NOITEMS_SMARTCHART",
79
+ illustrationType: IllustratedMessageType.NoEntries
80
+ }
81
+ };
82
+
58
83
  function attachRefreshInterval(nRefreshInterval) {
59
84
  oState.oRefreshTimer = setTimeout(function () {
60
85
  var oComponent = oController.getOwnerComponent();
@@ -236,20 +261,40 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
236
261
  return mSmartCtrlConfig;
237
262
  }
238
263
 
239
- function setNoDataChartTextIfRequired(oSmartChart) {
240
- var sSmartChartId = oSmartChart.getId();
241
- var mSmartChartConfig = _getFilters(oSmartChart);
242
- var sNoDataText = "";
264
+ /**
265
+ * When no data message is displayed as illustration, SmartTable overrides the "illustrationType" to "NoEntries".
266
+ * Here, we reset back to "BeforeSearch".
267
+ *
268
+ * TODO: Sync with table colleagues
269
+ */
270
+ function fnSetInitialNoDataMessageForTable (oSmartTable) {
271
+ var sNoDataRepresentation = oController.getOwnerComponent().getAppComponent().getNoDataRepresentation();
272
+
273
+ if (["illustration", "illustrationWithFallback"].includes(sNoDataRepresentation)) {
274
+ oSmartTable.getNoData()?.setIllustrationType(IllustratedMessageType.BeforeSearch);
275
+ }
276
+ }
277
+
278
+ function setNoDataMessageForTable(oSmartTable) {
279
+ var mSmartTableConfig = _getFilters(oSmartTable),
280
+ sScenario = "";
281
+ if (mSmartTableConfig.search || mSmartTableConfig.filter) {
282
+ sScenario = "TABLE_WITH_FILTER";
283
+ } else {
284
+ sScenario = "TABLE_WITHOUT_FILTER";
285
+ }
286
+ oState.oTableNoDataHandler.setNoDataMessage(oSmartTable, sScenario);
287
+ }
288
+
289
+ function setNoDataMessageForChart(oSmartChart) {
290
+ var mSmartChartConfig = _getFilters(oSmartChart),
291
+ sScenario = "";
243
292
  if (mSmartChartConfig.search || mSmartChartConfig.filter) {
244
- sNoDataText = oTemplateUtils.oCommonUtils.getContextText("NOITEMS_SMARTCHART_WITH_FILTER", sSmartChartId);
293
+ sScenario = "CHART_WITH_FILTER";
245
294
  } else {
246
- sNoDataText = oTemplateUtils.oCommonUtils.getContextText("NOITEMS_SMARTCHART", sSmartChartId);
295
+ sScenario = "CHART_WITHOUT_FILTER";
247
296
  }
248
- oSmartChart.getChartAsync().then(function (chart) {
249
- chart.setCustomMessages({
250
- NO_DATA: sNoDataText
251
- });
252
- });
297
+ oState.oChartNoDataHandler.setNoDataMessage(oSmartChart, sScenario);
253
298
  }
254
299
 
255
300
  function onShareListReportActionButtonPressImpl(oButton) {
@@ -434,6 +479,8 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
434
479
  oState.filterBarController.init(oState);
435
480
  oState.oContentArea.createAndSetCustomModel(oState);
436
481
  oState.oInsightsHandler = new InsightsHandler(oState, oController, oTemplateUtils);
482
+ oState.oTableNoDataHandler = new TableNoDataHandler(oController, oTemplateUtils, oTableNoDataConfig);
483
+ oState.oChartNoDataHandler = new ChartNoDataHandler(oController, oTemplateUtils, oChartNoDataConfig);
437
484
 
438
485
  oState.oMultipleViewsHandler.getInitializationPromise().then(function() {
439
486
  oState.oContentArea.setState(oState);
@@ -721,11 +768,13 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
721
768
  oSmartTable.setModel(tableHighlightModel,"_tableHighlight");
722
769
 
723
770
  oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oSmartTable).addCellSelector();
771
+ fnSetInitialNoDataMessageForTable(oSmartTable);
724
772
  },
725
773
  onBeforeRebindTable: function(oEvent) {
726
774
  var oSmartTable = oEvent.getSource();
727
775
  var oBindingParams = oEvent.getParameter("bindingParams");
728
776
 
777
+ setNoDataMessageForTable(oSmartTable);
729
778
  // add handler for change event
730
779
  oState.oMessageStripHelper.onBeforeRebindControl(oEvent);
731
780
  if (oState.chartController && oState.chartController.oChart) {
@@ -939,7 +988,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
939
988
  },
940
989
  onBeforeRebindChart: function(oEvent) {
941
990
  var oSmartChart = oEvent.getSource();
942
- setNoDataChartTextIfRequired(oSmartChart);
991
+ setNoDataMessageForChart(oSmartChart);
943
992
  //oState.oSmartChart.oModels = oState.oSmartChart.getChart().oPropagatedProperties.oModels;
944
993
  var oBindingParams = oEvent.getParameters().bindingParams;
945
994
  oState.oMultipleViewsHandler.aTableFilters = deepExtend({}, oBindingParams.filters);
@@ -314,12 +314,24 @@ NODATA_ADAPTFILTERDIALOG=No Data
314
314
 
315
315
  #---Final block: texts to be redefined by the application ----------------------------------------
316
316
 
317
- # XBUT,80: No data text for on load of smart chart
317
+ # XFLD,80: No data text for on load of smart chart
318
318
  NODATA_SMARTCHART_ALP=To start, set the relevant filters and choose "Go".
319
319
 
320
- # XBUT,80: No data text for on load of smart table
320
+ # XTIT,80: Title for illustrated message no data text for on load of smart chart
321
+ NODATA_SMARTCHART_ALP_ILLUSTRATION_TITLE=Let\u2019s get some results
322
+
323
+ # XTXT,80: Description for illustrated message no data text for on load of smart chart
324
+ NODATA_SMARTCHART_ALP_ILLUSTRATION_DESCRIPTION=Start by providing your search or filter criteria.
325
+
326
+ # XFLD,80: No data text for on load of smart table
321
327
  NODATA_SMARTTABLE_ALP=To start, set the relevant filters and choose "Go".
322
328
 
329
+ # XTIT,80: Title for illustrated message no data text for on load of smart chart
330
+ NODATA_SMARTTABLE_ALP_ILLUSTRATION_TITLE=Let\u2019s get some results
331
+
332
+ # XTXT,80: Description for illustrated message no data text for on load of smart chart
333
+ NODATA_SMARTTABLE_ALP_ILLUSTRATION_DESCRIPTION=Start by providing your search or filter criteria.
334
+
323
335
  # YMSG, 160: used to show unapplied multiple filters in desktop
324
336
  MESSAGE_MULTIPLE_VALUES_L_FORM=Some of the filters aren''t relevant for the tab \"{1}\" ({0}). Settings these filters has no effect on the results.
325
337
 
@@ -206,9 +206,9 @@ NODATA_ADAPTFILTERDIALOG=Nessun dato
206
206
 
207
207
 
208
208
 
209
- NODATA_SMARTCHART_ALP=Per iniziare, impostare i filtri e selezionare "Avvio".
209
+ NODATA_SMARTCHART_ALP=Per iniziare, imposta i filtri rilevanti e seleziona "Avvio".
210
210
 
211
- NODATA_SMARTTABLE_ALP=Per iniziare, impostare i filtri e selezionare "Avvio".
211
+ NODATA_SMARTTABLE_ALP=Per iniziare, imposta i filtri rilevanti e seleziona "Avvio"
212
212
 
213
213
  MESSAGE_MULTIPLE_VALUES_L_FORM=Alcuni filtri non sono ril. per tab "{1}" ({0}). L\u2019impostazione di questi filtri non incide sui ris.
214
214
 
@@ -8,7 +8,7 @@
8
8
  "i18n": "i18n/i18n.properties",
9
9
  "applicationVersion": {
10
10
  "__comment": "applicationVersion oder componentversion??",
11
- "version": "1.145.0"
11
+ "version": "1.146.0"
12
12
  },
13
13
  "title": "{{TITLE}}",
14
14
  "description": "{{DESCRIPTION}}",
@@ -8,7 +8,7 @@
8
8
  "i18n": "i18n/i18n.properties",
9
9
  "applicationVersion": {
10
10
  "__comment": "applicationVersion oder componentversion??",
11
- "version": "1.145.0"
11
+ "version": "1.146.0"
12
12
  },
13
13
  "title": "Canvas",
14
14
  "description": "Canvas Page",
@@ -28,6 +28,7 @@ sap.ui.define([
28
28
  "sap/ui/core/Element",
29
29
  "sap/suite/ui/generic/template/genericUtilities/testableHelper",
30
30
  "sap/suite/ui/generic/template/lib/TableNoDataHandler",
31
+ "sap/suite/ui/generic/template/lib/ChartNoDataHandler",
31
32
  "sap/fe/controls/easyFilter/PXFeedback"
32
33
  ], function (
33
34
  Filter,
@@ -59,6 +60,7 @@ sap.ui.define([
59
60
  Element,
60
61
  testableHelper,
61
62
  TableNoDataHandler,
63
+ ChartNoDataHandler,
62
64
  PXFeedback
63
65
  ) {
64
66
  "use strict";
@@ -103,6 +105,13 @@ sap.ui.define([
103
105
  }
104
106
  };
105
107
 
108
+ var oChartNoDataConfig = {
109
+ MULTI_CHART: {
110
+ i18nKey: "NOITEMS_LR_SMARTCHART",
111
+ illustrationType: IllustratedMessageType.NoFilterResults
112
+ }
113
+ };
114
+
106
115
  // -- Begin of methods that are used in onInit only
107
116
  function fnSetIsLeaf() {
108
117
  var oComponent = oController.getOwnerComponent();
@@ -503,14 +512,8 @@ sap.ui.define([
503
512
  oState.oTableNoDataHandler.setNoDataMessage(oSmartTable, sScenario);
504
513
  }
505
514
 
506
- function setNoDataChartTextIfRequired(oSmartChart) {
507
- var sSmartChartId = oSmartChart.getId();
508
- var sNoDataText = oTemplateUtils.oCommonUtils.getContextText("NOITEMS_LR_SMARTCHART", sSmartChartId);
509
- oSmartChart.getChartAsync().then(function (chart) {
510
- chart.setCustomMessages({
511
- NO_DATA: sNoDataText
512
- });
513
- });
515
+ function setNoDataMessageForChart(oSmartChart) {
516
+ oState.oChartNoDataHandler.setNoDataMessage(oSmartChart, "MULTI_CHART");
514
517
  }
515
518
 
516
519
  /**
@@ -632,6 +635,7 @@ sap.ui.define([
632
635
  oState.oMultiEditHandler = new MultiEditHandler(oState, oController, oTemplateUtils);
633
636
  oState.oInsightsHandler = new InsightsHandler(oState, oController, oTemplateUtils);
634
637
  oState.oTableNoDataHandler = new TableNoDataHandler(oController, oTemplateUtils, oTableNoDataConfig);
638
+ oState.oChartNoDataHandler = new ChartNoDataHandler(oController, oTemplateUtils, oChartNoDataConfig);
635
639
 
636
640
  var oTemplatePrivateModel = oTemplateUtils.oComponentUtils.getTemplatePrivateModel();
637
641
 
@@ -1022,7 +1026,7 @@ sap.ui.define([
1022
1026
 
1023
1027
  onBeforeRebindChart: function (oEvent) {
1024
1028
  var oSmartChart = oEvent.getSource();
1025
- setNoDataChartTextIfRequired(oSmartChart);
1029
+ setNoDataMessageForChart(oSmartChart);
1026
1030
  var oBindingParams = oEvent.getParameters().bindingParams;
1027
1031
  // Build a snapshot of oBindingParams.filters as how they are passed to the onBeforeRebind-Event.
1028
1032
  // This snapshot contains the filters being defined on the chart itself (chart settings).
@@ -61,7 +61,7 @@ MESSAGE_MULTIPLE_VALUES_S_FORM=Non \u00E8 possibile utilizzare i seguenti filtri
61
61
 
62
62
  OBJECT_NOT_EDITABLE=Impossibile modificare questo oggetto.
63
63
 
64
- NODATA_SMARTTABLE_LR=Per iniziare, impostare i filtri e selezionare "Avvio".
64
+ NODATA_SMARTTABLE_LR=Per iniziare, imposta i filtri rilevanti e seleziona "Avvio".
65
65
 
66
66
  NODATA_SMARTTABLE_LR_ILLUSTRATION_TITLE=Vediamo qualche risultato
67
67
  NODATA_SMARTTABLE_LR_ILLUSTRATION_DESCRIPTION=Prima di tutto indicare i criteri di ricerca o di filtro.
@@ -8,7 +8,7 @@
8
8
  "i18n": "i18n/i18n.properties",
9
9
  "applicationVersion": {
10
10
  "__comment": "applicationVersion oder componentversion??",
11
- "version": "1.145.0"
11
+ "version": "1.146.0"
12
12
  },
13
13
  "title": "{{TITLE}}",
14
14
  "description": "{{DESCRIPTION}}",
@@ -8,7 +8,7 @@
8
8
 
9
9
  <template:with path="entityType>com.sap.vocabularies.UI.v1.HeaderInfo" var="header">
10
10
  <smartChart:SmartChart
11
- id="listReport{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'AH.getSuffixFromIconTabFilterKey'} : ''}"
11
+ id="listReport{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'AH.getSuffixFromIconTabFilterKey'} : ''}"
12
12
  visible="{path: 'tabItem>', formatter: 'AHMultipleViews.getVisibleForTableTabs'}"
13
13
  smartFilterId=""
14
14
  persistencyKey="listReportChart{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'AH.getSuffixFromIconTabFilterKey'} : ''}"
@@ -23,7 +23,6 @@
23
23
  showDrillBreadcrumbs="true"
24
24
  showDetailsButton="true"
25
25
  showDrillButtons="false"
26
- noData="{i18n>SMARTCHART_INITIAL_NODATA}"
27
26
  headerLevel="H3"
28
27
  entitySet="{entitySet>name}"
29
28
  initialized="._templateEventHandlers.onChartInitialized"
@@ -44,6 +43,14 @@
44
43
  <smartChart:semanticObjectController>
45
44
  <smartlink:SemanticObjectController beforePopoverOpens="._templateEventHandlers.onBeforeSemanticObjectLinkPopoverOpens"/>
46
45
  </smartChart:semanticObjectController>
46
+ <!-- No data Illustration message -->
47
+ <smartChart:noDataIllustratedMessage>
48
+ <IllustratedMessage
49
+ illustrationType="sapIllus-BeforeSearch"
50
+ title="{i18n>SMARTCHART_INITIAL_NODATA_ILLUSTRATION_TITLE}"
51
+ description="{i18n>SMARTCHART_INITIAL_NODATA_ILLUSTRATION_DESCRIPTION}"
52
+ />
53
+ </smartChart:noDataIllustratedMessage>
47
54
  <!-- Custom tool bar -->
48
55
  <smartChart:toolbar>
49
56
  <core:Fragment fragmentName="sap.suite.ui.generic.template.ListReport.view.fragments.SmartChartToolbar" type="XML"/>
@@ -39,7 +39,7 @@
39
39
  showTablePersonalisation="true"
40
40
  placeToolbarInTable="{parameter>/templateSpecific/isResponsiveTable}"
41
41
  customizeConfig="{parts: [{path: 'entitySet>'}, {path: 'entitySet>dummy'}, {path: 'tableSettings>calculateWidthIncludingColumnHeader'}], formatter: 'AH.buildSmartTableCustomizeConfig'}"
42
- initialNoDataText="{= ${appSettings>/noDataRepresentation} === 'textOnly' ?
42
+ initialNoDataText="{= ${appSettings>/noDataRepresentation} === 'textOnly' ?
43
43
  ( !${parameter>/settings/isWorklist} ? '{i18n>NODATA_SMARTTABLE_LR}' : '$NO_FILTERBAR' ) :
44
44
  null
45
45
  }"
@@ -48,7 +48,7 @@
48
48
  useInfoToolbar="On">
49
49
 
50
50
  <!--
51
- SmartTable "noData" can be set either as a property (attribute) or as an aggregation,
51
+ SmartTable "noData" can be set either as a property (attribute) or as an aggregation,
52
52
  but not both at the same time.
53
53
 
54
54
  1. When noDataRepresentation = "textOnly"
@@ -1767,6 +1767,17 @@ sap.ui.define([
1767
1767
  oSmartTable.setNoData(vNoDataMessage);
1768
1768
  }
1769
1769
 
1770
+ function fnSetInitialNoDataMessageForChart (oSmartChart) {
1771
+ var sSmartChartId = oSmartChart.getId();
1772
+ var vNoDataMessage = new IllustratedMessage({
1773
+ illustrationType: IllustratedMessageType.NoEntries,
1774
+ illustrationSize: fnFindIllustratedMessageSize(oSmartChart),
1775
+ title: oTemplateUtils.oCommonUtils.getContextText("NOITEMS_SMARTCHART_ILLUSTRATION_TITLE", sSmartChartId),
1776
+ description: oTemplateUtils.oCommonUtils.getContextText("NOITEMS_SMARTCHART_ILLUSTRATION_DESCRIPTION", sSmartChartId)
1777
+ });
1778
+ oSmartChart.setNoDataIllustratedMessage(vNoDataMessage);
1779
+ }
1780
+
1770
1781
  /**
1771
1782
  * Finds the illustrated message size.
1772
1783
  *
@@ -2253,6 +2264,7 @@ sap.ui.define([
2253
2264
  testableHelper.testable(function () {
2254
2265
  return oTemplateUtils.initialStateAppliedPromise;
2255
2266
  }, "getStateAppliedPromise");
2267
+ testableHelper.testable(fnSmartSummaryStartupAction, "fnSmartSummaryStartupAction");
2256
2268
  /* eslint-enable */
2257
2269
 
2258
2270
  function fnInitializeSubSections() {
@@ -2313,6 +2325,43 @@ sap.ui.define([
2313
2325
  oContextMenuHandler.onContextMenu(oEvent, sSmartControlId);
2314
2326
  }
2315
2327
 
2328
+ function fnSmartSummaryStartupAction(oAppComponent) {
2329
+ var oComponentData = oAppComponent.getComponentData(),
2330
+ oStartupParameters = oComponentData && oComponentData.startupParameters || undefined;
2331
+ if (!oStartupParameters
2332
+ || !oStartupParameters.preferredAction
2333
+ || !oStartupParameters.preferredAction.length
2334
+ || !oStartupParameters.preferredAction[0].startsWith("summary")) {
2335
+ return;
2336
+ }
2337
+
2338
+ // check if we are on the correct OP by checking the level provided in the startup parameters
2339
+ var aParameterParts = oStartupParameters.preferredAction[0].split("-"),
2340
+ iParameterLevel = aParameterParts.length === 1 ? 1 : parseInt(aParameterParts[1], 10),
2341
+ iViewLevel = oTemplateUtils.oComponentUtils.getViewLevel();
2342
+ if (isNaN(iParameterLevel) || iParameterLevel !== iViewLevel) {
2343
+ return;
2344
+ }
2345
+
2346
+ // Check if summary action shall be executed now (it might have already been executed by a higher level OP)
2347
+ if (oState.preferredActionStatus === "performed") {
2348
+ return;
2349
+ }
2350
+ oState.preferredActionStatus = "performed"; // to prevent other OPs on higher levels to execute the summary again
2351
+
2352
+ // Check if SmartSummarize capability is available
2353
+ var oTemplPrivGlobal = oAppComponent.getModel("_templPrivGlobal");
2354
+ if (!oTemplPrivGlobal.getProperty("/generic/fioriAI/isSummarizationEnabled")) {
2355
+ return;
2356
+ }
2357
+
2358
+ // Find "Summarize" button
2359
+ var oButton = oController.byId("summarize");
2360
+ if (oButton) {
2361
+ oButton.firePress();
2362
+ }
2363
+ }
2364
+
2316
2365
  // Generation of Event Handlers
2317
2366
  var oControllerImplementation = {
2318
2367
  onInit: function () {
@@ -2461,7 +2510,7 @@ sap.ui.define([
2461
2510
  var oStreamDataSelf = oTemplateUtils.oCommonUtils.getStreamData(null, oEvent.context);
2462
2511
  oTemplateUtils.oCommonUtils.setStreamData(oStreamDataSelf);
2463
2512
  oTemplateUtils.oComponentUtils.hidePlaceholder();
2464
-
2513
+ fnSmartSummaryStartupAction(oAppComponent);
2465
2514
  });
2466
2515
  var oMenuButton = oController.byId(StableIdHelper.getStableId({
2467
2516
  type: "ObjectPageAction",
@@ -2472,6 +2521,7 @@ sap.ui.define([
2472
2521
  onShareObjectPageActionButtonPressImpl(oMenuButton);
2473
2522
  });
2474
2523
  }
2524
+
2475
2525
  },
2476
2526
  handlers: {
2477
2527
  onEditAndActiveToggle: function () { // Implementation of draft toggle for static header
@@ -2703,6 +2753,7 @@ sap.ui.define([
2703
2753
  var oSmartChart = oEvent.getSource();
2704
2754
  oTemplateUtils.oInfoObjectHandler.setInformationWithControl(oSmartChart);
2705
2755
  oState.oSectionTitleHandler.setAsTitleOwner(oSmartChart, true);
2756
+ fnSetInitialNoDataMessageForChart(oSmartChart);
2706
2757
  oSmartChart.getChartAsync().then(function (oChart) {
2707
2758
  // workaround for Safari browsers as described via Webkit Bug #198375
2708
2759
  if (Device.browser.safari) {
@@ -15,7 +15,7 @@ SAVED_VERSION=Vers\u00E3o gravada
15
15
 
16
16
  DRAFT_VERSION=Esbo\u00E7o
17
17
 
18
- SAVE=Gravar
18
+ SAVE=Salvar
19
19
 
20
20
  SAVE_AND_EDIT=Salvar e editar
21
21
 
@@ -6,7 +6,7 @@
6
6
  "type": "component",
7
7
  "i18n": "i18n/i18n.properties",
8
8
  "applicationVersion": {
9
- "version": "1.145.0"
9
+ "version": "1.146.0"
10
10
  },
11
11
  "title": "{{TITLE}}",
12
12
  "description": "{{DESCRIPTION}}",
@@ -29,7 +29,6 @@
29
29
  visible="{path: 'facet>', formatter: 'AH.getBindingForHiddenPath'}"
30
30
  headerLevel="H5"
31
31
  headerStyle="H5"
32
- noData="{i18n>NOITEMS_SMARTCHART}"
33
32
  entitySet="{entitySet>name}">
34
33
  <smartChart:layoutData>
35
34
  <layout:GridData id="{path: 'facet>', formatter: 'AH.getStableIdPartFromFacet'}::Chart::GridData" span="XL12 L12 M12 S12" />
@@ -6,7 +6,7 @@
6
6
  "type": "component",
7
7
  "i18n": "i18n/i18n.properties",
8
8
  "applicationVersion": {
9
- "version": "1.145.0"
9
+ "version": "1.146.0"
10
10
  },
11
11
  "title": "{{TITLE}}",
12
12
  "description": "{{DESCRIPTION}}",
@@ -6,7 +6,7 @@
6
6
  "type": "component",
7
7
  "i18n": "i18n/i18n.properties",
8
8
  "applicationVersion": {
9
- "version": "1.145.0"
9
+ "version": "1.146.0"
10
10
  },
11
11
  "title": "{{TITLE}}",
12
12
  "description": "{{DESCRIPTION}}",
@@ -324,6 +324,89 @@ sap.ui.define([
324
324
  let getAllDesigntimeSettings = function getAllDesigntimeSettings(oSmartTable, oControl) {
325
325
  let oResourceBundle = designtimeUtils.getResourceBundle(oControl);
326
326
 
327
+ /**
328
+ * Resolves the effective table type for designtime.
329
+ * @param {sap.ui.comp.smarttable.SmartTable} oSmartTable - The SmartTable instance
330
+ * @returns {string} One of: ResponsiveTable, GridTable, TreeTable, AnalyticalTable, Table
331
+ */
332
+ function getTableType(oSmartTable) {
333
+ const oManifestTableSettings = getManifestTableSettings(oSmartTable);
334
+
335
+ if (oManifestTableSettings && oManifestTableSettings.type) {
336
+ return oManifestTableSettings.type;
337
+ }
338
+
339
+ return oSmartTable.getTableType();
340
+ }
341
+
342
+ const sTableType = getTableType(oSmartTable);
343
+
344
+ /**
345
+ * Factory for Create Mode enums based on the SmartTable type.
346
+ * @param {string} smartTableType - SmartTable table type
347
+ * @returns {Enum[]} Create mode enum definitions
348
+ */
349
+ function getCreateModeEnums(smartTableType) {
350
+ const RESPONSIVE_AND_GRID_TABLE_ENUMS = [
351
+ { id: "inline", name: "Inline" },
352
+ { id: "creationRows", name: "Inline Creation Rows" },
353
+ { id: "creationRowsHiddenInEditMode", name: "Inline Creation Rows (Hidden in edit page)" },
354
+ { id: "newPage", name: "New Page" }
355
+ ];
356
+
357
+ const TREE_TABLE_ENUMS = [
358
+ { id: "inline", name: "Inline" },
359
+ { id: "newPage", name: "New Page" }
360
+ ];
361
+
362
+ const mEnumsByTableType = {
363
+ AnalyticalTable: [],
364
+ GridTable: RESPONSIVE_AND_GRID_TABLE_ENUMS,
365
+ ResponsiveTable: RESPONSIVE_AND_GRID_TABLE_ENUMS,
366
+ TreeTable: TREE_TABLE_ENUMS
367
+ };
368
+
369
+ return mEnumsByTableType[smartTableType] || RESPONSIVE_AND_GRID_TABLE_ENUMS;
370
+ }
371
+
372
+ /**
373
+ * Returns the default create mode value from the given enums (first enum).
374
+ * Returns undefined when enums are empty (e.g. AnalyticalTable).
375
+ * @param {Enum[]} enums - Create mode enum definitions
376
+ * @returns {string|undefined} Default value or undefined when create mode is not supported
377
+ */
378
+ function getDefaultCreateMode(enums) {
379
+ if (!enums || enums.length === 0) {
380
+ return undefined;
381
+ }
382
+ return enums[0].id;
383
+ }
384
+
385
+ /**
386
+ * Determines whether the 'Creation Mode' option should be shown in the RTA configuration dialog
387
+ * for the given SmartTable. The custom data key "isCreationAllowedByBoolAndPathRestrictions"
388
+ * is set on the SmartTable at template time based on OData InsertRestrictions.
389
+ *
390
+ * - Non-draft app: the key is not set, so this returns false and the option is hidden.
391
+ * Only 'New page' create mode is supported in this case, so exposing 'Creation Mode' in
392
+ * the RTA dialog would be meaningless.
393
+ * - Draft app, editable table: the key is set to true/"true", so this returns true and
394
+ * the option is shown. All table types are supported.
395
+ * - Draft app, non-editable table: the key is set to null/false/"false", so this returns false
396
+ * and the option is hidden, since creation is restricted by OData annotations.
397
+ *
398
+ * @param {sap.ui.comp.smarttable.SmartTable} oSmartTable - The SmartTable instance
399
+ * @returns {boolean} True if the 'Creation Mode' option should be available in RTA
400
+ */
401
+ function isTableCreationAllowed(oSmartTable) {
402
+ const vCreationAllowed = oSmartTable.data("isCreationAllowedByBoolAndPathRestrictions");
403
+ return ["true", true].includes(vCreationAllowed);
404
+ }
405
+
406
+ const createModeEnums = getCreateModeEnums(sTableType);
407
+ const createModeDefaultValue = getDefaultCreateMode(createModeEnums);
408
+ const isCreateModeAvailable = createModeEnums.length > 0 && isTableCreationAllowed(oSmartTable);
409
+
327
410
  /**
328
411
  * @type {DesigntimeSetting}
329
412
  */
@@ -384,15 +467,10 @@ sap.ui.define([
384
467
  id: "createMode",
385
468
  name: oResourceBundle.getText('RTA_CREATE_MODE'),
386
469
  description: oResourceBundle.getText('RTA_CREATE_MODE_DESC'),
387
- value: "creationRows",
470
+ value: createModeDefaultValue,
388
471
  type: "string",
389
472
  getPath: (mSmartTableInfo) => `component/settings/sections/${mSmartTableInfo.sSectionKey}/createMode`,
390
- enums: [
391
- { id: "newPage", name: "New Page" },
392
- { id: "inline", name: "Inline" },
393
- { id: "creationRows", name: "Inline Creation Rows" },
394
- { id: "creationRowsHiddenInEditMode", name: "Inline Creation Rows (Hidden in edit page)" }
395
- ],
473
+ enums: createModeEnums,
396
474
  bSupportsGlobalScope: true,
397
475
  restrictedTo: [sObjectPageComponentName],
398
476
  keyUser: true
@@ -489,7 +567,7 @@ sap.ui.define([
489
567
  widthIncludingColumnHeader,
490
568
  selectionMode,
491
569
  selectAll,
492
- createMode,
570
+ isCreateModeAvailable ? createMode : null,
493
571
  selectionLimit,
494
572
  threshold,
495
573
  scrollThreshold
@@ -499,12 +577,14 @@ sap.ui.define([
499
577
  widthIncludingColumnHeader,
500
578
  selectionMode,
501
579
  selectAll,
502
- createMode,
580
+ isCreateModeAvailable ? createMode : null,
503
581
  threshold,
504
582
  addCardtoInsightsHidden
505
583
  ];
506
584
 
507
- const designtimeSettings = (oSmartTable.getTableType() === "ResponsiveTable") ? aMTableDesigntimeSettings : aUITableDesigntimeSettings ;
585
+ const designtimeSettings = (sTableType === "ResponsiveTable") ?
586
+ aMTableDesigntimeSettings.filter(Boolean) :
587
+ aUITableDesigntimeSettings.filter(Boolean);
508
588
 
509
589
  return designtimeSettings.filter(oSetting => {
510
590
  const sComponentName = designtimeUtils.getOwnerComponentFor(oSmartTable).getMetadata().getComponentName();
@@ -223,7 +223,7 @@
223
223
  visible="{= ${dataField>com.sap.vocabularies.UI.v1.Importance/EnumMember} === 'com.sap.vocabularies.UI.v1.ImportanceType/High' ? 'true' :
224
224
  ( ${dataField>com.sap.vocabularies.UI.v1.Importance/EnumMember} === 'com.sap.vocabularies.UI.v1.ImportanceType/Medium' &amp;&amp; ( ${device>/system/tablet} || ${device>/system/desktop} ) ? 'true' : ${device>/system/desktop} ? 'true' : 'false' ) }">
225
225
  <table:customData>
226
- <core:CustomData key="p13nData" value="{parts: [{path: 'listEntitySet>'}, {path: 'dataFieldValue>'}, {path: 'dataField>'}, {path: 'tableSettings>calculateWidthIncludingColumnHeader'}], formatter: 'AH.createP13N'}" />
226
+ <core:CustomData key="p13nData" value="{parts: [{path: 'listEntitySet>'}, {path: 'dataFieldValue>'}, {path: 'dataField>'}, {path: 'tableSettings>calculateWidthIncludingColumnHeader'}, {value: 'GridTable'}], formatter: 'AH.createP13N'}"/>
227
227
  </table:customData>
228
228
  <table:template>
229
229
  <core:Fragment fragmentName="sap.suite.ui.generic.template.fragments.GridTableCells" type="XML" />