@sapui5/sap.suite.ui.generic.template 1.132.0 → 1.134.1

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 (181) 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/i18n/i18n.properties +7 -7
  11. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  12. package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/AnnotationHelper.js +3 -0
  13. package/src/sap/suite/ui/generic/template/Canvas/extensionAPI/ExtensionAPI.js +11 -3
  14. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  15. package/src/sap/suite/ui/generic/template/ListReport/AnnotationHelperSmartList.js +2 -2
  16. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +2 -0
  17. package/src/sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI.js +13 -11
  18. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +3 -3
  19. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  20. package/src/sap/suite/ui/generic/template/ListReport/view/ListReport.view.xml +1 -1
  21. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartFilterBar.fragment.xml +1 -1
  22. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +1 -1
  23. package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +13 -5
  24. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +11 -8
  25. package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +82 -12
  26. package/src/sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions.js +1 -0
  27. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/DraftTransactionController.js +8 -10
  28. package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +36 -16
  29. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +59 -10
  30. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +25 -5
  31. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +25 -5
  32. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +25 -5
  33. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +25 -5
  34. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +26 -6
  35. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +25 -5
  36. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +25 -5
  37. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +25 -5
  38. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +25 -5
  39. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +25 -5
  40. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +25 -5
  41. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +25 -5
  42. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +25 -5
  43. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +25 -5
  44. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +25 -5
  45. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +25 -5
  46. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +25 -5
  47. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +25 -5
  48. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +25 -5
  49. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +25 -5
  50. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +25 -5
  51. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +25 -5
  52. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +25 -5
  53. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +25 -5
  54. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +25 -5
  55. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +25 -5
  56. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +25 -5
  57. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +25 -5
  58. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +25 -5
  59. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +25 -5
  60. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +25 -5
  61. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +25 -5
  62. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +25 -5
  63. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +25 -5
  64. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +25 -5
  65. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +25 -5
  66. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +26 -6
  67. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +25 -5
  68. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +25 -5
  69. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +25 -5
  70. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +25 -5
  71. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +25 -5
  72. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +25 -5
  73. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +25 -5
  74. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +25 -5
  75. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +27 -7
  76. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +25 -5
  77. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +25 -5
  78. package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +25 -5
  79. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  80. package/src/sap/suite/ui/generic/template/ObjectPage/templateSpecificPreparationHelper.js +233 -125
  81. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Facet.fragment.xml +32 -27
  82. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +8 -12
  83. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  84. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  85. package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +74 -17
  86. package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +44 -16
  87. package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +142 -38
  88. package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +71 -46
  89. package/src/sap/suite/ui/generic/template/designtime/floorplans/AnalyticalListPage.designtime.js +21 -19
  90. package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +22 -17
  91. package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +14 -8
  92. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +32 -44
  93. package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +47 -2
  94. package/src/sap/suite/ui/generic/template/detailTemplates/DiscardEditHandler.js +13 -0
  95. package/src/sap/suite/ui/generic/template/fragments/DeterminingButton.fragment.xml +18 -20
  96. package/src/sap/suite/ui/generic/template/fragments/DraftAdminDataPopover.fragment.xml +1 -0
  97. package/src/sap/suite/ui/generic/template/fragments/GridTableCells.fragment.xml +4 -4
  98. package/src/sap/suite/ui/generic/template/fragments/HeaderDataPointContent.fragment.xml +1 -1
  99. package/src/sap/suite/ui/generic/template/fragments/HeaderFormDataField.fragment.xml +2 -2
  100. package/src/sap/suite/ui/generic/template/fragments/MessagePopover.fragment.xml +4 -3
  101. package/src/sap/suite/ui/generic/template/fragments/SmartControlContextMenu.fragment.xml +1 -1
  102. package/src/sap/suite/ui/generic/template/fragments/TableCell.fragment.xml +2 -2
  103. package/src/sap/suite/ui/generic/template/fragments/TreeTableColumns.fragment.xml +1 -1
  104. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +4 -2
  105. package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +3 -1
  106. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +78 -25
  107. package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +4 -1
  108. package/src/sap/suite/ui/generic/template/js/QuickTemplates/QuickTemplateComponentFactory.js +2 -3
  109. package/src/sap/suite/ui/generic/template/js/RuntimeFormatters.js +78 -22
  110. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -2
  111. package/src/sap/suite/ui/generic/template/lib/Application.js +2 -0
  112. package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +12 -3
  113. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +13 -1
  114. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +41 -36
  115. package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +13 -2
  116. package/src/sap/suite/ui/generic/template/lib/ContextBookkeeping.js +1 -0
  117. package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +124 -2
  118. package/src/sap/suite/ui/generic/template/lib/MessageButtonHelper.js +6 -0
  119. package/src/sap/suite/ui/generic/template/lib/MessageStripHelper.js +1 -1
  120. package/src/sap/suite/ui/generic/template/lib/RetryAfterHandler.js +2 -3
  121. package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +39 -2
  122. package/src/sap/suite/ui/generic/template/lib/TemplateComponent.js +3 -4
  123. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +20 -11
  124. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +4 -0
  125. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +6 -2
  126. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +6 -2
  127. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +5 -1
  128. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +5 -1
  129. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +4 -0
  130. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +5 -1
  131. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +9 -5
  132. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +6 -2
  133. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +6 -2
  134. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +6 -2
  135. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_sappsd.properties +11 -0
  136. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +6 -2
  137. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +9 -0
  138. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +8 -4
  139. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +4 -0
  140. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +6 -2
  141. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +5 -1
  142. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +6 -2
  143. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +6 -2
  144. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +4 -0
  145. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +5 -1
  146. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +6 -2
  147. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +5 -1
  148. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +6 -2
  149. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +4 -0
  150. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +5 -1
  151. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +5 -1
  152. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +5 -1
  153. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +6 -2
  154. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +7 -3
  155. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +6 -2
  156. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +5 -1
  157. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +7 -3
  158. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +6 -2
  159. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +4 -0
  160. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +6 -2
  161. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +6 -2
  162. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +6 -2
  163. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +6 -2
  164. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +5 -1
  165. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +4 -0
  166. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +6 -2
  167. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +5 -1
  168. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +6 -2
  169. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +5 -1
  170. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +5 -1
  171. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +6 -2
  172. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +7 -3
  173. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +5 -1
  174. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +6 -2
  175. package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +27 -11
  176. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +32 -20
  177. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +92 -1
  178. package/src/sap/suite/ui/generic/template/library.js +1 -1
  179. package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +1 -1
  180. package/src/sap/suite/ui/generic/template/manifestMerger/ChangePageConfiguration.js +3 -0
  181. package/src/sap/suite/ui/generic/template/manifestMerger/MergerUtil.js +27 -1
@@ -210,6 +210,19 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
210
210
  }
211
211
  }
212
212
 
213
+ var getLineItemAnnotationFromPresentationVariant = function(oPresentationVariant) {
214
+ if (!oPresentationVariant
215
+ || !oPresentationVariant.Visualizations
216
+ || !oPresentationVariant.Visualizations.length
217
+ || !oPresentationVariant.Visualizations[0].AnnotationPath
218
+ // First entry in Visualizations should be 'com.sap.vocabularies.UI.v1.LineItem'
219
+ || oPresentationVariant.Visualizations[0].AnnotationPath.indexOf('com.sap.vocabularies.UI.v1.LineItem') < 0
220
+ ) {
221
+ return undefined;
222
+ }
223
+ return oPresentationVariant.Visualizations[0].AnnotationPath;
224
+ };
225
+
213
226
  var oAnnotationHelper = {
214
227
  formatMessage: formatMessage,
215
228
  getNewVariable: function (oContext){
@@ -353,20 +366,20 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
353
366
  return false;
354
367
  },
355
368
 
356
- getValueListReadOnly: function (oInterface, sEntityType, oDataField) {
369
+ getValueListReadOnly: function (oInterface, vEntityType, oDataField) {
357
370
  var oMetaModel = oInterface.getInterface(1).getModel();
358
371
  var sPath = oInterface.getInterface(1).getPath() + '/Value';
359
372
  var sTargetPropertyPath = AnnotationHelperModel.resolvePath(oMetaModel.getContext(sPath));
360
- var oDataFieldValue = oMetaModel.getObject(sTargetPropertyPath);
361
- if (oDataFieldValue['com.sap.vocabularies.UI.v1.TextArrangement']) {
373
+ var oDataFieldValue = sTargetPropertyPath && oMetaModel.getObject(sTargetPropertyPath);
374
+ if (oDataFieldValue?.['com.sap.vocabularies.UI.v1.TextArrangement']) {
362
375
  // case 1 - text arrangement defined at property level
363
376
  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']) {
377
+ } else if (oDataFieldValue?.['com.sap.vocabularies.Common.v1.Text']) {
365
378
  // case 2 - text arrangement defined for property via sap:text
366
379
  return true;
367
380
  } else {
368
381
  // case 3 - text arrangement defined at entity level
369
- var oEntityType = oMetaModel.getODataEntityType(sEntityType);
382
+ var oEntityType = typeof vEntityType === "object" ? vEntityType : oMetaModel.getODataEntityType(vEntityType); // vEntityType can be object or string.
370
383
  if (oEntityType['com.sap.vocabularies.UI.v1.TextArrangement']) {
371
384
  return oEntityType['com.sap.vocabularies.UI.v1.TextArrangement'].EnumMember !== 'com.sap.vocabularies.UI.v1.TextArrangementType/TextSeparate';
372
385
  }
@@ -522,8 +535,8 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
522
535
  } else {
523
536
  oP13N.leadingProperty && (aAdditionalPropertiesForSCColumn.indexOf(oP13N.leadingProperty) === -1) ? aAdditionalPropertiesForSCColumn.push(oP13N.leadingProperty) : Function.prototype;
524
537
  oP13N.leadingProperty && (aAdditionalSortPropertiesForSCColumn.indexOf(oP13N.leadingProperty) === -1) ? aAdditionalSortPropertiesForSCColumn.push(oP13N.leadingProperty) : Function.prototype;
525
- }
526
-
538
+ }
539
+
527
540
  oP13N.navigationProperty && (aNavigationPropertiesForSCColumn.indexOf(oP13N.navigationProperty) === -1) ? aNavigationPropertiesForSCColumn.push(oP13N.navigationProperty) : Function.prototype;
528
541
  // Add "additionalProperty" of current data field to the "additionalProperty" of current column's p13n
529
542
  oP13N.additionalProperty && (aAdditionalPropertiesForSCColumn.indexOf(oP13N.additionalProperty) === -1) ? aAdditionalPropertiesForSCColumn.push(oP13N.additionalProperty) : Function.prototype;
@@ -544,8 +557,8 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
544
557
  sP13N += '", "filterProperty":"' + "";
545
558
 
546
559
  // Add the leading property to "leadingProperty" and "sortProperty" of p13n
547
- //
548
- // IMPORTANT: Please don't remove the "leadingProperty" from p13nData.
560
+ //
561
+ // IMPORTANT: Please don't remove the "leadingProperty" from p13nData.
549
562
  // If it's removed, the column won't appear in exported excel.
550
563
  if (sLeadingPropertyForSCColumn) {
551
564
  sP13N += '", "leadingProperty":"' + sLeadingPropertyForSCColumn;
@@ -1106,7 +1119,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
1106
1119
 
1107
1120
  // builds the expression for the Rating Indicator aggregate Count
1108
1121
  buildRatingIndicatorAggregateCountExpression: function (mValue) {
1109
- return "{parts: [{path: '" + mValue.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorAggregateCount.bind($control)'}";
1122
+ return "{parts: [{path: '" + mValue?.Path + "'}], formatter: 'RuntimeFormatters.formatRatingIndicatorAggregateCount.bind($control)'}";
1110
1123
  },
1111
1124
 
1112
1125
  getIdForMoreBlockContent: function (oFacet) {
@@ -1264,7 +1277,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
1264
1277
  },
1265
1278
 
1266
1279
  formatHeaderImage: function (oInterface, oHeaderInfo, sAppComponentName) {
1267
- return oAnnotationHelper.formatImageOrTypeUrl(oInterface, oHeaderInfo.ImageUrl, oHeaderInfo.TypeImageUrl, sAppComponentName, true);
1280
+ return oAnnotationHelper.formatImageOrTypeUrl(oInterface, oHeaderInfo?.ImageUrl, oHeaderInfo?.TypeImageUrl, sAppComponentName, true);
1268
1281
  },
1269
1282
 
1270
1283
  getPathWithExpandFromHeader: function (oInterface, oEntitySet, sNavigationProperty, oInputImageUrl, oTypeImageUrl) {
@@ -2638,7 +2651,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
2638
2651
  getColumnListItemType: function (oListEntitySet, aSubPages, oManifest, oTreeNode, bIsDraftEnabled, sAnnotationPath) {
2639
2652
  var bIsRoot = !oTreeNode.level; // information, whether we are on the root page
2640
2653
  // check for special feature: navigation from list report to object page via navigationProperty
2641
- var bIsListWithNavigationProperty = bIsRoot && aSubPages.some(function (oSubPage) {
2654
+ var bIsListWithNavigationProperty = bIsRoot && aSubPages && aSubPages.some(function (oSubPage) {
2642
2655
  return oSubPage.navigationProperty;
2643
2656
  });
2644
2657
  var bAllowsNavigationInEditMode = bIsDraftEnabled || bIsRoot; // in non-draft mode forward navigation is disabled in edit mode
@@ -2944,19 +2957,13 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
2944
2957
  return sTextArrangement;
2945
2958
  },
2946
2959
 
2947
- getTextArrangementForSmartControl: function (oInterface, oField, refEntitySet, oEntitySet) {
2960
+ getTextArrangementForSmartControl: function (oInterface, oField, oEntitySet) {
2948
2961
  oInterface = oInterface.getInterface(0);
2949
- var oEntityType;
2950
2962
  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
- }
2963
+ var oEntityType = oMetaModel.getODataEntityType(oEntitySet.entityType);
2957
2964
 
2958
2965
  var sTextArrangement = "descriptionAndId";
2959
- if (oMetaModel.getODataProperty(oEntityType, oField.Value.Path)) {
2966
+ if (oField?.Value?.Path && oMetaModel.getODataProperty(oEntityType, oField.Value.Path)) {
2960
2967
  var oPropertyTextModel = oMetaModel.getODataProperty(oEntityType, oField.Value.Path)["com.sap.vocabularies.Common.v1.Text"];
2961
2968
  // 1. check TextArrangement definition for property
2962
2969
  if (oPropertyTextModel && oPropertyTextModel["com.sap.vocabularies.UI.v1.TextArrangement"] && oPropertyTextModel["com.sap.vocabularies.UI.v1.TextArrangement"].EnumMember) {
@@ -3891,12 +3898,14 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
3891
3898
  break;
3892
3899
  }
3893
3900
  }
3901
+
3902
+ aConnectedDataFields = aConnectedDataFields || [];
3894
3903
  for (var j = 0; j < aConnectedDataFields.length; j++) {
3895
3904
  if (aConnectedDataFields[j].RecordType === "com.sap.vocabularies.UI.v1.DataField" && aConnectedDataFields[j].Value.Path === sDescriptionField) {
3896
3905
  return "idOnly";
3897
3906
  }
3898
3907
  }
3899
- sTextArrangement = oAnnotationHelper.getTextArrangementForSmartControl(oInterface, oField, {}, oEntitySet);
3908
+ sTextArrangement = oAnnotationHelper.getTextArrangementForSmartControl(oInterface, oField, oEntitySet);
3900
3909
  return sTextArrangement;
3901
3910
  },
3902
3911
 
@@ -4211,6 +4220,50 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4211
4220
  }
4212
4221
  },
4213
4222
 
4223
+ checkFacetHasLineItemAnnotations: function(annotationPath, listEntityType) {
4224
+ if (!annotationPath) {
4225
+ return false;
4226
+ }
4227
+ if (annotationPath.indexOf('com.sap.vocabularies.UI.v1.LineItem') > -1) {
4228
+ return true;
4229
+ }
4230
+ if (annotationPath.indexOf('com.sap.vocabularies.UI.v1.PresentationVariant') > -1) {
4231
+ var aPresentationVariantAnnotations = annotationPath.split("/@");
4232
+ if (aPresentationVariantAnnotations.length < 2) {
4233
+ return false;
4234
+ }
4235
+ if (!listEntityType
4236
+ || !getLineItemAnnotationFromPresentationVariant(listEntityType[aPresentationVariantAnnotations[1]])) {
4237
+ return false;
4238
+ }
4239
+ return true;
4240
+ }
4241
+ return false;
4242
+ },
4243
+
4244
+ getListItemCollection: function(target) {
4245
+ if (!target) {
4246
+ return target;
4247
+ }
4248
+ var oTarget = target.getObject();
4249
+ if (!oTarget || !oTarget.AnnotationPath) {
4250
+ return target;
4251
+ }
4252
+ if (oTarget.AnnotationPath.indexOf('com.sap.vocabularies.UI.v1.LineItem') >= 0) {
4253
+ return AnnotationHelperModel.resolvePath(target);
4254
+ }
4255
+ if (oTarget.AnnotationPath.indexOf('com.sap.vocabularies.UI.v1.PresentationVariant') >= 0) {
4256
+ var oPresentationVariant = target.getProperty(AnnotationHelperModel.resolvePath(target)),
4257
+ sLineItem = getLineItemAnnotationFromPresentationVariant(oPresentationVariant);
4258
+ if (!sLineItem || sLineItem.indexOf('@') !== 0) {
4259
+ return target;
4260
+ }
4261
+ var oEntityType = target.getModel().getODataEntityType(target.getProperty(AnnotationHelperModel.gotoEntitySet(target)).entityType);
4262
+ return oEntityType.$path + "/" + sLineItem.slice(1);
4263
+ }
4264
+ return target;
4265
+ },
4266
+
4214
4267
  getSaveAndNextButtonVisibility: function(oManifest) {
4215
4268
  var sEditFlow = oManifest["sap.ui.generic.app"].pages[0].component.settings && oManifest["sap.ui.generic.app"].pages[0].component.settings.editFlow;
4216
4269
  if (sEditFlow === "direct") {
@@ -4389,7 +4442,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4389
4442
  * - Returns OverflowToolbarPriority.Low
4390
4443
  * Otherwise
4391
4444
  * - Returns the default value OverflowToolbarPriority.High
4392
- *
4445
+ *
4393
4446
  * @param {string} sImportance Importance from annotation (for annotated actions) or manifest (breakout actions).
4394
4447
  * The possible importance values
4395
4448
  * - High
@@ -4398,7 +4451,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4398
4451
  * - com.sap.vocabularies.UI.v1.ImportanceType/High
4399
4452
  * - com.sap.vocabularies.UI.v1.ImportanceType/Medium
4400
4453
  * - com.sap.vocabularies.UI.v1.ImportanceType/Low
4401
- * @returns {sap.m.OverflowToolbarPriority} The priority
4454
+ * @returns {sap.m.OverflowToolbarPriority} The priority
4402
4455
  */
4403
4456
  getToolbarButtonPriorityFromImportance: function (sImportance) {
4404
4457
  var sPriority = "";
@@ -4413,7 +4466,7 @@ sap.ui.define(["sap/ui/model/odata/AnnotationHelper",
4413
4466
  case "Medium":
4414
4467
  sPriority = OverflowToolbarPriority.High;
4415
4468
  break;
4416
- case "Low":
4469
+ case "Low":
4417
4470
  sPriority = OverflowToolbarPriority.Low;
4418
4471
  break;
4419
4472
  default:
@@ -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(",");
@@ -123,7 +126,7 @@ sap.ui.define([
123
126
 
124
127
  // funtion return the controlling binding path form by annotation/metadata/fieldcontrol path
125
128
  getControlPath: function(oEntitySet, oFieldControl) {
126
- var sAnnotationUpdatablePath = oEntitySet && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"] && (oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"] || oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"].Path);
129
+ var sAnnotationUpdatablePath = oEntitySet && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"] && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"] && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"].Path;
127
130
  var sMetadataUpdatable = oEntitySet && (oEntitySet["sap:updatable"] || oEntitySet["sap:updatable-path"]);
128
131
  if (sAnnotationUpdatablePath || sMetadataUpdatable) {
129
132
  return '${' + (sAnnotationUpdatablePath || sMetadataUpdatable) + '} !== false';
@@ -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
 
@@ -918,7 +918,6 @@ sap.ui.define([
918
918
  * @param [object] oStartupParameters if provided it defines the object for which data should be refreshed. Otherwise, all data should be refreshed.
919
919
  * @param {boolean} bIsCurrentlyVisible information whether myInbox is currently displaying this component
920
920
  * @internal
921
- * @experimental
922
921
  */
923
922
  refreshForStartupParameter: function(oStartupParameters, bIsCurrentlyVisible){
924
923
  bRefreshDataNeeded = true;
@@ -951,7 +950,7 @@ sap.ui.define([
951
950
  * @public
952
951
  * @extends sap.ui.core.UIComponent
953
952
  * @author SAP SE
954
- * @version 1.132.0
953
+ * @version 1.134.1
955
954
  * @name sap.suite.ui.generic.template.lib.AppComponent
956
955
  */
957
956
  var oAppComponent = UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
@@ -801,6 +801,7 @@ sap.ui.define(["sap/ui/base/Object",
801
801
  }
802
802
 
803
803
  oTemplateContract.oApplicationProxy = { // inject own api for AppComponent into the Template Contract. Other classes (NavigationController, BusyHelper) will call these functions accordingly.
804
+ createDraftSiblingPromise: oContextBookkeeping.createDraftSiblingPromise,
804
805
  getDraftSiblingPromise: oContextBookkeeping.getDraftSiblingPromise,
805
806
  getSiblingPromise: oContextBookkeeping.getSiblingPromise,
806
807
  fillSiblingKeyPromise: fnFillSiblingKeyPromise,
@@ -866,6 +867,7 @@ sap.ui.define(["sap/ui/base/Object",
866
867
  Promise.all([getOperationEndedPromise(true), oTemplateContract.oBusyHelper.getUnbusy()]).then(fnMessageBox);
867
868
  },
868
869
  registerStateChanger: fnRegisterStateChanger,
870
+ createDraftSiblingPromise: oContextBookkeeping.createDraftSiblingPromise,
869
871
  getDraftSiblingPromise: oContextBookkeeping.getDraftSiblingPromise,
870
872
  registerContext: oContextBookkeeping.registerContext,
871
873
  getDraftInfoForContext: oContextBookkeeping.getDraftInfoForContext,
@@ -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);