@sapui5/sap.suite.ui.generic.template 1.132.0 → 1.133.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 (164) 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/Component.js +0 -4
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroBar.js +3 -1
  5. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroChart.js +7 -2
  6. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroDonut.js +3 -1
  7. package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroLine.js +3 -1
  8. package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/KpiTagController.js +3 -4
  9. package/src/sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI.js +2 -2
  10. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  11. package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/AnnotationHelper.js +3 -0
  12. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  13. package/src/sap/suite/ui/generic/template/ListReport/AnnotationHelperSmartList.js +2 -2
  14. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +2 -0
  15. package/src/sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI.js +2 -2
  16. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  17. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +1 -1
  18. package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +13 -5
  19. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +11 -8
  20. package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +63 -10
  21. package/src/sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions.js +1 -0
  22. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +2 -2
  23. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +37 -6
  24. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +25 -5
  25. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +25 -5
  26. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +25 -5
  27. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +25 -5
  28. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +26 -6
  29. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +25 -5
  30. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +25 -5
  31. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +25 -5
  32. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +25 -5
  33. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +25 -5
  34. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +25 -5
  35. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +25 -5
  36. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +25 -5
  37. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +25 -5
  38. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +25 -5
  39. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +25 -5
  40. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +25 -5
  41. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +25 -5
  42. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +25 -5
  43. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +25 -5
  44. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +25 -5
  45. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +25 -5
  46. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +25 -5
  47. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +25 -5
  48. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +25 -5
  49. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +25 -5
  50. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +25 -5
  51. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +25 -5
  52. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +25 -5
  53. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +25 -5
  54. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +25 -5
  55. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +25 -5
  56. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +25 -5
  57. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +25 -5
  58. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +25 -5
  59. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +25 -5
  60. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +26 -6
  61. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +25 -5
  62. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +25 -5
  63. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +25 -5
  64. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +25 -5
  65. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +25 -5
  66. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +25 -5
  67. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +25 -5
  68. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +25 -5
  69. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +27 -7
  70. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +25 -5
  71. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +25 -5
  72. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +25 -5
  73. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  74. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +1 -1
  75. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  76. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  77. package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +74 -17
  78. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +22 -11
  79. package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +142 -38
  80. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +43 -19
  81. package/src/sap/suite/ui/generic/template/designtime/floorplans/AnalyticalListPage.designtime.js +18 -18
  82. package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +19 -16
  83. package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +10 -7
  84. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +32 -44
  85. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +47 -2
  86. package/src/sap/suite/ui/generic/template/fragments/DeterminingButton.fragment.xml +18 -20
  87. package/src/sap/suite/ui/generic/template/fragments/GridTableCells.fragment.xml +4 -4
  88. package/src/sap/suite/ui/generic/template/fragments/HeaderDataPointContent.fragment.xml +1 -1
  89. package/src/sap/suite/ui/generic/template/fragments/HeaderFormDataField.fragment.xml +2 -2
  90. package/src/sap/suite/ui/generic/template/fragments/MessagePopover.fragment.xml +2 -1
  91. package/src/sap/suite/ui/generic/template/fragments/TableCell.fragment.xml +2 -2
  92. package/src/sap/suite/ui/generic/template/fragments/TreeTableColumns.fragment.xml +1 -1
  93. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +4 -2
  94. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +15 -19
  95. package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +3 -0
  96. package/src/sap/suite/ui/generic/template/js/QuickTemplates/QuickTemplateComponentFactory.js +2 -3
  97. package/src/sap/suite/ui/generic/template/js/RuntimeFormatters.js +78 -22
  98. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
  99. package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +12 -3
  100. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +13 -1
  101. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +41 -36
  102. package/src/sap/suite/ui/generic/template/lib/MessageButtonHelper.js +6 -0
  103. package/src/sap/suite/ui/generic/template/lib/MessageStripHelper.js +1 -1
  104. package/src/sap/suite/ui/generic/template/lib/RetryAfterHandler.js +2 -3
  105. package/src/sap/suite/ui/generic/template/lib/TemplateComponent.js +3 -4
  106. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +3 -0
  107. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +2 -0
  108. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +2 -0
  109. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +2 -0
  110. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +2 -0
  111. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +2 -0
  112. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +2 -0
  113. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +2 -0
  114. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +5 -3
  115. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +2 -0
  116. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +2 -0
  117. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +2 -0
  118. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_sappsd.properties +11 -0
  119. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +6 -2
  120. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +9 -0
  121. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +4 -2
  122. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +2 -0
  123. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +2 -0
  124. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +2 -0
  125. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +2 -0
  126. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +2 -0
  127. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +2 -0
  128. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +2 -0
  129. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +4 -2
  130. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +2 -0
  131. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +2 -0
  132. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +2 -0
  133. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +2 -0
  134. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +2 -0
  135. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +2 -0
  136. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +2 -0
  137. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +3 -1
  138. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +2 -0
  139. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +2 -0
  140. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +2 -0
  141. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +2 -0
  142. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +2 -0
  143. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +2 -0
  144. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +2 -0
  145. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +2 -0
  146. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +2 -0
  147. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +2 -0
  148. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +2 -0
  149. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +2 -0
  150. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +2 -0
  151. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +2 -0
  152. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +2 -0
  153. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +2 -0
  154. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +2 -0
  155. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +3 -1
  156. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +2 -0
  157. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +2 -0
  158. package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +27 -11
  159. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +1 -1
  160. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +93 -1
  161. package/src/sap/suite/ui/generic/template/library.js +1 -1
  162. package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +1 -1
  163. package/src/sap/suite/ui/generic/template/manifestMerger/ChangePageConfiguration.js +3 -0
  164. package/src/sap/suite/ui/generic/template/manifestMerger/MergerUtil.js +27 -1
@@ -77,7 +77,7 @@
77
77
  editable="{ui>/editable}" linkPress="._templateEventHandlers.onDataFieldWithNavigationPath">
78
78
  <sfi:configuration>
79
79
  <sfi:Configuration
80
- displayBehaviour="{parts: [{path: 'dataField>'}, {value: ''}, {path: 'entitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}" />
80
+ displayBehaviour="{parts: [{path: 'dataField>'}, {path: 'entitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}" />
81
81
  </sfi:configuration>
82
82
  <sfi:customData>
83
83
  <core:CustomData key="defaultTextInEditModeSource" value="{path: 'dataFieldValue>', formatter: 'AH.setValidationForValueList'}" />
@@ -113,7 +113,7 @@
113
113
  </sfi:semanticObjectController>
114
114
  <sfi:configuration>
115
115
  <sfi:Configuration
116
- displayBehaviour="{parts: [{path: 'dataField>'}, {path: 'annotation>'}, {path: 'entitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}"/>
116
+ displayBehaviour="{parts: [{path: 'dataField>'}, {path: 'entitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}"/>
117
117
  </sfi:configuration>
118
118
  <template:if test="{= ${dataField>Criticality} }">
119
119
  <sfi:controlProposal>
@@ -2,8 +2,9 @@
2
2
  xmlns="sap.m"
3
3
  xmlns:core="sap.ui.core">
4
4
  <MessagePopover groupItems="true" items="{msg>/}" activeTitlePress="titlePressed" beforeOpen="beforeOpen" afterClose="afterClose" >
5
- <MessageItem description="{msg>description}" type="{msg>type}" title="{msg>message}"
5
+ <MessageItem type="{msg>type}" title="{msg>message}"
6
6
  subtitle="{parts:[{path: 'msg>id'}, {path: 'msg>controlIds'}, {path: 'msg>additionalText'}, {path: 'helper>/isPopoverOpen'}, {path: 'helper>/heartBeat'}], formatter: '.getSubtitle'}"
7
+ description="{parts:[{path: 'msg>id'}, {path: 'msg>controlIds'}, {path: 'msg>description'}, {path: 'helper>/isPopoverOpen'}, {path: 'helper>/heartBeat'}], formatter: '.getDescription'}"
7
8
  longtextUrl="{msg>descriptionUrl}"
8
9
  markupDescription="{helper>/isAIErrorExplanationEnabled}"
9
10
  activeTitle="{parts:[{path: 'msg>id'}, {path: 'msg>controlIds'}, {path: 'helper>/isPopoverOpen'}], formatter: '.isPositionable'}"
@@ -12,7 +12,7 @@
12
12
  <smartField:SmartField value="{path: 'dataField>Value', formatter: 'AHModel.simplePath'}" editable="{= ${parameter>/treeNode/level} > 0 ? '{ui>/editable}' : 'false'}" contextEditable="{= ${parameter>/treeNode/level} > 0}" fetchValueListReadOnly="{= ${parameter>/treeNode/level} > 0}"
13
13
  ariaLabelledBy="{columnId>id}">
14
14
  <smartField:configuration>
15
- <smartField:Configuration displayBehaviour="{parts: [{path: 'dataField>'}, {path: 'entitySet>'}, {path: 'dataFieldTarget>Data'}], formatter: 'AH.getTextArrangementForSCFields'}"/>
15
+ <smartField:Configuration displayBehaviour="{parts: [{path: 'dataField>'}, {path: 'listEntitySet>'}, {path: 'dataFieldTarget>Data'}], formatter: 'AH.getTextArrangementForSCFields'}"/>
16
16
  </smartField:configuration>
17
17
  <template:if test="{= ${dataField>Criticality}}">
18
18
  <smartField:controlProposal>
@@ -128,7 +128,7 @@
128
128
  </smartField:customData>
129
129
  <smartField:configuration>
130
130
  <smartField:Configuration
131
- displayBehaviour="{parts: [{path: 'dataField>'}, {value: ''}, {path: 'listEntitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}" />
131
+ displayBehaviour="{parts: [{path: 'dataField>'}, {path: 'listEntitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}" />
132
132
  </smartField:configuration>
133
133
  </smartField:SmartField>
134
134
  </template:elseif>
@@ -123,7 +123,7 @@
123
123
  </smartField:customData>
124
124
  <smartField:configuration>
125
125
  <smartField:Configuration
126
- displayBehaviour="{parts: [{path: 'dataField>'}, {value: ''}, {path: 'listEntitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}" />
126
+ displayBehaviour="{parts: [{path: 'dataField>'}, {path: 'listEntitySet>'}], formatter: 'AH.getTextArrangementForSmartControl'}" />
127
127
  </smartField:configuration>
128
128
  </smartField:SmartField>
129
129
  </table:template>
@@ -105,8 +105,10 @@ sap.ui.define([
105
105
  oControl.attachAfterVariantInitialise(function() {
106
106
  //set currentVariantId only when sVariantId is not standard (as it might be overriding existing
107
107
  //different currentVariantId) or smartTable's (oControl) currentVariantId is not equal to sVariantId.
108
- if (sVariantId !== '*standard*' && oControl.getCurrentVariantId && oControl.getCurrentVariantId() !== sVariantId) {
109
- oControl.setCurrentVariantId(sVariantId);
108
+ if (sVariantId !== '*standard*') {
109
+ if (oControl.getCurrentVariantId && oControl.getCurrentVariantId() !== sVariantId) {
110
+ oControl.setCurrentVariantId(sVariantId);
111
+ }
110
112
  oSmartVariantManagement.setModified(false);
111
113
  }
112
114
  });
@@ -353,20 +353,20 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
353
353
  return false;
354
354
  },
355
355
 
356
- getValueListReadOnly: function (oInterface, sEntityType, oDataField) {
356
+ getValueListReadOnly: function (oInterface, vEntityType, oDataField) {
357
357
  var oMetaModel = oInterface.getInterface(1).getModel();
358
358
  var sPath = oInterface.getInterface(1).getPath() + '/Value';
359
359
  var sTargetPropertyPath = AnnotationHelperModel.resolvePath(oMetaModel.getContext(sPath));
360
- var oDataFieldValue = oMetaModel.getObject(sTargetPropertyPath);
361
- if (oDataFieldValue['com.sap.vocabularies.UI.v1.TextArrangement']) {
360
+ var oDataFieldValue = sTargetPropertyPath && oMetaModel.getObject(sTargetPropertyPath);
361
+ if (oDataFieldValue?.['com.sap.vocabularies.UI.v1.TextArrangement']) {
362
362
  // case 1 - text arrangement defined at property level
363
363
  return oDataFieldValue['com.sap.vocabularies.UI.v1.TextArrangement'].EnumMember !== 'com.sap.vocabularies.UI.v1.TextArrangementType/TextSeparate';
364
- } else if (oDataFieldValue['com.sap.vocabularies.Common.v1.Text']) {
364
+ } else if (oDataFieldValue?.['com.sap.vocabularies.Common.v1.Text']) {
365
365
  // case 2 - text arrangement defined for property via sap:text
366
366
  return true;
367
367
  } else {
368
368
  // case 3 - text arrangement defined at entity level
369
- var oEntityType = oMetaModel.getODataEntityType(sEntityType);
369
+ var oEntityType = typeof vEntityType === "object" ? vEntityType : oMetaModel.getODataEntityType(vEntityType); // vEntityType can be object or string.
370
370
  if (oEntityType['com.sap.vocabularies.UI.v1.TextArrangement']) {
371
371
  return oEntityType['com.sap.vocabularies.UI.v1.TextArrangement'].EnumMember !== 'com.sap.vocabularies.UI.v1.TextArrangementType/TextSeparate';
372
372
  }
@@ -1106,7 +1106,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
1106
1106
 
1107
1107
  // builds the expression for the Rating Indicator aggregate Count
1108
1108
  buildRatingIndicatorAggregateCountExpression: function (mValue) {
1109
- return "{parts: [{path: '" + mValue.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorAggregateCount.bind($control)'}";
1109
+ return "{parts: [{path: '" + mValue?.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorAggregateCount.bind($control)'}";
1110
1110
  },
1111
1111
 
1112
1112
  getIdForMoreBlockContent: function (oFacet) {
@@ -1264,7 +1264,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
1264
1264
  },
1265
1265
 
1266
1266
  formatHeaderImage: function (oInterface, oHeaderInfo, sAppComponentName) {
1267
- return oAnnotationHelper.formatImageOrTypeUrl(oInterface, oHeaderInfo.ImageUrl, oHeaderInfo.TypeImageUrl, sAppComponentName, true);
1267
+ return oAnnotationHelper.formatImageOrTypeUrl(oInterface, oHeaderInfo?.ImageUrl, oHeaderInfo?.TypeImageUrl, sAppComponentName, true);
1268
1268
  },
1269
1269
 
1270
1270
  getPathWithExpandFromHeader: function (oInterface, oEntitySet, sNavigationProperty, oInputImageUrl, oTypeImageUrl) {
@@ -2638,7 +2638,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
2638
2638
  getColumnListItemType: function (oListEntitySet, aSubPages, oManifest, oTreeNode, bIsDraftEnabled, sAnnotationPath) {
2639
2639
  var bIsRoot = !oTreeNode.level; // information, whether we are on the root page
2640
2640
  // check for special feature: navigation from list report to object page via navigationProperty
2641
- var bIsListWithNavigationProperty = bIsRoot && aSubPages.some(function (oSubPage) {
2641
+ var bIsListWithNavigationProperty = bIsRoot && aSubPages && aSubPages.some(function (oSubPage) {
2642
2642
  return oSubPage.navigationProperty;
2643
2643
  });
2644
2644
  var bAllowsNavigationInEditMode = bIsDraftEnabled || bIsRoot; // in non-draft mode forward navigation is disabled in edit mode
@@ -2944,19 +2944,13 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
2944
2944
  return sTextArrangement;
2945
2945
  },
2946
2946
 
2947
- getTextArrangementForSmartControl: function (oInterface, oField, refEntitySet, oEntitySet) {
2947
+ getTextArrangementForSmartControl: function (oInterface, oField, oEntitySet) {
2948
2948
  oInterface = oInterface.getInterface(0);
2949
- var oEntityType;
2950
2949
  var oMetaModel = oInterface.getModel();
2951
-
2952
- if (refEntitySet.name == undefined) {
2953
- oEntityType = oMetaModel.getODataEntityType(oEntitySet.entityType);
2954
- } else {
2955
- oEntityType = oMetaModel.getODataEntityType(refEntitySet.entityType);
2956
- }
2957
-
2950
+ var oEntityType = oMetaModel.getODataEntityType(oEntitySet.entityType);
2951
+
2958
2952
  var sTextArrangement = "descriptionAndId";
2959
- if (oMetaModel.getODataProperty(oEntityType, oField.Value.Path)) {
2953
+ if (oField?.Value?.Path && oMetaModel.getODataProperty(oEntityType, oField.Value.Path)) {
2960
2954
  var oPropertyTextModel = oMetaModel.getODataProperty(oEntityType, oField.Value.Path)["com.sap.vocabularies.Common.v1.Text"];
2961
2955
  // 1. check TextArrangement definition for property
2962
2956
  if (oPropertyTextModel && oPropertyTextModel["com.sap.vocabularies.UI.v1.TextArrangement"] && oPropertyTextModel["com.sap.vocabularies.UI.v1.TextArrangement"].EnumMember) {
@@ -3891,12 +3885,14 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
3891
3885
  break;
3892
3886
  }
3893
3887
  }
3888
+
3889
+ aConnectedDataFields = aConnectedDataFields || [];
3894
3890
  for (var j = 0; j < aConnectedDataFields.length; j++) {
3895
3891
  if (aConnectedDataFields[j].RecordType === "com.sap.vocabularies.UI.v1.DataField" && aConnectedDataFields[j].Value.Path === sDescriptionField) {
3896
3892
  return "idOnly";
3897
3893
  }
3898
3894
  }
3899
- sTextArrangement = oAnnotationHelper.getTextArrangementForSmartControl(oInterface, oField, {}, oEntitySet);
3895
+ sTextArrangement = oAnnotationHelper.getTextArrangementForSmartControl(oInterface, oField, oEntitySet);
3900
3896
  return sTextArrangement;
3901
3897
  },
3902
3898
 
@@ -114,6 +114,9 @@ sap.ui.define([
114
114
  getAcceptableMimeTypes: function(oInterface, oEntitySet){
115
115
  var oEntityType = oInterface.getModel(0).getODataEntityType(oEntitySet.entityType);
116
116
  var aAcceptableMediaTypes = oEntityType["Org.OData.Core.V1.AcceptableMediaTypes"];
117
+ if (!aAcceptableMediaTypes) {
118
+ return "";
119
+ }
117
120
  var sAcceptableMimeType = new String();
118
121
  for (var i = 0; i < aAcceptableMediaTypes.length; i++) {
119
122
  sAcceptableMimeType = sAcceptableMimeType.concat(aAcceptableMediaTypes[i].String).concat(",");
@@ -3,7 +3,7 @@ sap.ui.define([
3
3
  "sap/ui/base/Object",
4
4
  "sap/ui/core/UIComponent",
5
5
  "sap/ui/model/resource/ResourceModel",
6
- "sap/ui/core/library",
6
+ "sap/ui/core/mvc/ViewType",
7
7
  "sap/ui/model/json/JSONModel",
8
8
  "sap/ui/generic/app/ApplicationController",
9
9
  "sap/suite/ui/generic/template/genericUtilities/FeLogger",
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  BaseObject,
16
16
  UIComponent,
17
17
  ResourceModel,
18
- coreLibrary,
18
+ ViewType,
19
19
  JSONModel,
20
20
  ApplicationController,
21
21
  FeLogger,
@@ -27,7 +27,6 @@ sap.ui.define([
27
27
  "use strict";
28
28
 
29
29
  var oLogger = new FeLogger("js.QuickTemplates.QuickTemplateComponentFactory").getLogger();
30
- var ViewType = coreLibrary.mvc.ViewType;
31
30
 
32
31
  var factory = BaseObject.extend("sap.suite.ui.generic.template.js.QuickTemplates.QuickTemplateComponentFactory");
33
32
 
@@ -1,5 +1,24 @@
1
- sap.ui.define(["sap/ui/core/format/NumberFormat", "sap/ui/core/message/MessageType", "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/suite/ui/generic/template/genericUtilities/testableHelper", "sap/suite/ui/generic/template/genericUtilities/utils"
2
- ], function (NumberFormat, MessageType, FeLogger, testableHelper, utils) {
1
+ sap.ui.define([
2
+ "sap/base/i18n/Formatting",
3
+ "sap/ui/core/Locale",
4
+ "sap/ui/core/format/DateFormat",
5
+ "sap/ui/core/format/NumberFormat",
6
+ "sap/ui/core/message/MessageType",
7
+ "sap/m/RatingIndicator",
8
+ "sap/suite/ui/generic/template/genericUtilities/FeLogger",
9
+ "sap/suite/ui/generic/template/genericUtilities/testableHelper",
10
+ "sap/suite/ui/generic/template/genericUtilities/utils"
11
+ ], function (
12
+ Formatting,
13
+ Locale,
14
+ DateFormat,
15
+ NumberFormat,
16
+ MessageType,
17
+ RatingIndicator,
18
+ FeLogger,
19
+ testableHelper,
20
+ utils
21
+ ) {
3
22
  "use strict";
4
23
 
5
24
  var oLogger = new FeLogger("js.RuntimeFormatters").getLogger();
@@ -89,6 +108,34 @@ sap.ui.define(["sap/ui/core/format/NumberFormat", "sap/ui/core/message/MessageTy
89
108
  return "None";
90
109
  }
91
110
 
111
+ /** Utility methods */
112
+ var oLocale;
113
+ var oCurrencyFormatter;
114
+ var oDateTimeFormatter;
115
+
116
+ function getFormatLocale() {
117
+ if (!oLocale) {
118
+ oLocale = new Locale(Formatting.getLanguageTag());
119
+ }
120
+ return oLocale;
121
+ }
122
+
123
+
124
+ function getCurrencyFormatter() {
125
+ if (!oCurrencyFormatter) {
126
+ oCurrencyFormatter = NumberFormat.getCurrencyInstance();
127
+ }
128
+ return oCurrencyFormatter;
129
+ }
130
+
131
+
132
+ function getDateTimeFormatter() {
133
+ if (!oDateTimeFormatter) {
134
+ oDateTimeFormatter = DateFormat.getDateTimeInstance();
135
+ }
136
+ return oDateTimeFormatter;
137
+ }
138
+
92
139
  // Expose selected private static functions to unit tests
93
140
  /* eslint-disable */
94
141
  var getLineItemQualifier = testableHelper.testableStatic(getLineItemQualifier, "RuntimeFormatters_getLineItemQualifier");
@@ -167,29 +214,25 @@ sap.ui.define(["sap/ui/core/format/NumberFormat", "sap/ui/core/message/MessageTy
167
214
  // ii. if the Property TargetValue is not a Path (i.e. 'Decimal') then we get the value from the control's Custom Data
168
215
  // iii. if neither i. or ii. apply then we use the default max value for the sap.m.RatingIndicator control
169
216
  formatRatingIndicatorFooterText: function (value, targetValue) {
170
- if (value) {
171
- var oResBundle = this.getModel("i18n").getResourceBundle();
172
- if (targetValue) {
173
- return oResBundle.getText("RATING_INDICATOR_FOOTER", [value, targetValue]);
174
- } else if (this.getCustomData().length > 0) {
175
- return oResBundle.getText("RATING_INDICATOR_FOOTER", [value, this.data("Footer")]);
176
- } else {
177
- var iRatingIndicatorDefaultMaxValue = sap.m.RatingIndicator.getMetadata().getPropertyDefaults().maxValue;
178
- return oResBundle.getText("RATING_INDICATOR_FOOTER", [value, iRatingIndicatorDefaultMaxValue]);
179
- }
180
- }
217
+ if (!value) {
218
+ return "";
219
+ }
220
+ var oResBundle = this.getModel("i18n").getResourceBundle();
221
+ targetValue = targetValue
222
+ || this.data("Footer")
223
+ || RatingIndicator.getMetadata().getPropertyDefaults().maxValue;
224
+
225
+ return oResBundle.getText("RATING_INDICATOR_FOOTER", [value, targetValue]);
181
226
  },
182
227
 
183
228
  // returns the text for the Rating Indicator aggregated count (e.g. (243))
184
- formatRatingIndicatorAggregateCount: function (value) {
229
+ formatRatingIndicatorAggregateCount: function (vValue) {
185
230
  var oResBundle = this.getModel("i18n").getResourceBundle();
186
- var sText;
187
- if (value) {
188
- sText = oResBundle.getText("RATING_INDICATOR_AGGREGATE_COUNT", [value]);
189
- } else if (this.getCustomData().length > 0) {
190
- sText = oResBundle.getText("RATING_INDICATOR_AGGREGATE_COUNT", [this.data("AggregateCount")]);
191
- } else {
192
- sText = "";
231
+ var sText = "";
232
+ // If the input value is not provided, try to get value from "AggregateCount" custom data
233
+ vValue = vValue || this.data("AggregateCount");
234
+ if (vValue) {
235
+ sText = oResBundle.getText("RATING_INDICATOR_AGGREGATE_COUNT", [vValue]);
193
236
  }
194
237
 
195
238
  return sText;
@@ -213,7 +256,7 @@ sap.ui.define(["sap/ui/core/format/NumberFormat", "sap/ui/core/message/MessageTy
213
256
  var oControl = this;
214
257
  var oResourceBundle = oControl.getModel("i18n").getResourceBundle();
215
258
  var aCustomData = oControl.getCustomData();
216
- var oLocale = sap.ui.getCore().getConfiguration().getFormatSettings().getFormatLocale();
259
+ var oLocale = getFormatLocale();
217
260
  sValue = NumberFormat.getInstance(oLocale).format(sValue);
218
261
  sTarget = sTarget || aCustomData.filter(function (oObject) {
219
262
  if (oObject.getKey() === "Target") {
@@ -252,6 +295,19 @@ sap.ui.define(["sap/ui/core/format/NumberFormat", "sap/ui/core/message/MessageTy
252
295
  }
253
296
 
254
297
  return sDisplayValue;
298
+ },
299
+ formatDate: function (oDate) {
300
+ return getDateTimeFormatter().format(oDate);
301
+ },
302
+ /**
303
+ * Formats the given amount and currency
304
+ *
305
+ * @param {number|string} vAmount
306
+ * @param {string} sCurrency
307
+ * @returns {string}
308
+ */
309
+ formatCurrency: function (vAmount, sCurrency) {
310
+ return getCurrencyFormatter().format(vAmount, sCurrency);
255
311
  }
256
312
  };
257
313
 
@@ -951,7 +951,7 @@ sap.ui.define([
951
951
  * @public
952
952
  * @extends sap.ui.core.UIComponent
953
953
  * @author SAP SE
954
- * @version 1.132.0
954
+ * @version 1.133.0
955
955
  * @name sap.suite.ui.generic.template.lib.AppComponent
956
956
  */
957
957
  var oAppComponent = UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
@@ -10,10 +10,15 @@
10
10
  */
11
11
 
12
12
  sap.ui.define(["sap/ui/base/Object", "sap/ui/model/Filter", "sap/ui/model/FilterOperator", "sap/base/util/extend", "sap/suite/ui/generic/template/lib/MessageUtils", "sap/ui/model/json/JSONModel",
13
- "sap/suite/ui/generic/template/genericUtilities/controlHelper", "sap/ui/core/message/MessageType"
14
- ], function(BaseObject, Filter, FilterOperator, extend, MessageUtils, JSONModel, controlHelper, MessageType) {
13
+ "sap/suite/ui/generic/template/genericUtilities/controlHelper", "sap/ui/core/message/MessageType",
14
+ "sap/suite/ui/generic/template/genericUtilities/FeLogger"
15
+ ], function(BaseObject, Filter, FilterOperator, extend, MessageUtils, JSONModel, controlHelper, MessageType, FeLogger) {
15
16
  "use strict";
16
17
 
18
+ var oFeLogger = new FeLogger("lib.CRUDActionHandler");
19
+ var oLogger = oFeLogger.getLogger();
20
+ oLogger.setLevel(oFeLogger.Level.ALL);
21
+
17
22
  // A Filter that filters for messages that are at least of severity warning
18
23
  var oAtLeastWarningFilter = new Filter({
19
24
  filters: [new Filter({
@@ -229,7 +234,11 @@
229
234
  // Performs an Activate/Save resp. Apply operation when all prerequisites are given
230
235
  function fnPrepareAndRunSaveOperation(bIsActivation, fnOperation){
231
236
  oTemplateContract.oApplicationProxy.performAfterSideEffectExecution(function(){
232
- fnBeforeOperation(bIsActivation).then(fnOperation);
237
+ fnBeforeOperation(bIsActivation)
238
+ .then(fnOperation)
239
+ .catch(function(){
240
+ oLogger.info("Can't proceed with 'Save' as 'fnBeforeOperation' checks have failed");
241
+ });
233
242
  }, true);
234
243
  }
235
244
 
@@ -984,7 +984,16 @@ sap.ui.define(["sap/ui/base/Object",
984
984
  onSemanticObjectLinkNavigationPressed : oController._templateEventHandlers.onSemanticObjectLinkNavigationPressed.bind(oController._templateEventHandlers),
985
985
  onDataFieldWithIntentBasedNavigation : oController._templateEventHandlers.onDataFieldWithIntentBasedNavigation.bind(oController._templateEventHandlers),
986
986
  onDataFieldWithEmail: oController._templateEventHandlers.onDataFieldWithEmail.bind(oController._templateEventHandlers),
987
- onTeamsCollabOptionPress: onTeamsCollabOptionPress.bind(this)
987
+ onTeamsCollabOptionPress: onTeamsCollabOptionPress.bind(this),
988
+ onContactDetails: onContactDetails.bind(this),
989
+ // Ignoring the below events since quick view forms don't handle side effects. Handle them if support is added in the future.
990
+ onSmartFieldModeToggled: Function.prototype,
991
+ onSmartFieldModelValueChanged: Function.prototype,
992
+ // Ignoring this event as SmartMultiInput isn't rendered in the quick view smart form.
993
+ submitChangesForSmartMultiInput: Function.prototype,
994
+ // Handle the event only if it's supported in the current floor plan.
995
+ onDataFieldWithNavigationPath: oController._templateEventHandlers.onDataFieldWithNavigationPath?.bind(oController._templateEventHandlers) || Function.prototype,
996
+ onSmartFieldPress: oController._templateEventHandlers.onSmartFieldPress?.bind(oController._templateEventHandlers) || Function.prototype
988
997
  },
989
998
  onInit : function() {},
990
999
  onExit : function() {},
@@ -1098,6 +1107,9 @@ sap.ui.define(["sap/ui/base/Object",
1098
1107
  oMainNavigation.setDescription(oTexts.secondText);
1099
1108
  }
1100
1109
  sTitle = oTexts.firstText;
1110
+ if (sTextArrangement && oTexts.secondText) {
1111
+ sTitle = oTexts.firstText + " " + oTexts.secondText;
1112
+ }
1101
1113
  }
1102
1114
  }
1103
1115
  fnRenderTeamsCollabOptionsOnContactCard(oEntityType, oEventParameters, aTeamsCollabOptions, oControl, sControlBindingContextPath);