@sapui5/sap.suite.ui.generic.template 1.151.1 → 1.153.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 (87) 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/control/visualfilterbar/SmartVisualFilterBar.js +4 -3
  4. package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
  5. package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
  6. package/src/sap/suite/ui/generic/template/ListReport/Component.js +4 -2
  7. package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +0 -6
  8. package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +1 -1
  9. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  10. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/FullscreenPage.fragment.xml +3 -0
  11. package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +5 -0
  12. package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +31 -0
  13. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  14. package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
  15. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  16. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  17. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +13 -7
  18. package/src/sap/suite/ui/generic/template/genericUtilities/designtime/messagebundle.properties +0 -0
  19. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +21 -17
  20. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +19 -3
  21. package/src/sap/suite/ui/generic/template/lib/ShareUtils.js +1 -1
  22. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillAIOrchestrator.js +16 -6
  23. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillApplyHandler.js +35 -47
  24. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillDialogController.js +80 -64
  25. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFieldCollector.js +442 -259
  26. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFormRenderer.js +186 -161
  27. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +137 -161
  28. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillTableRenderer.js +157 -191
  29. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +67 -85
  30. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +56 -4
  31. package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +11 -2
  32. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +7 -1
  33. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +7 -1
  34. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +7 -1
  35. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +7 -1
  36. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +7 -1
  37. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +7 -1
  38. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +7 -1
  39. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +7 -1
  40. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +7 -1
  41. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +7 -1
  42. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +7 -1
  43. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_sappsd.properties +7 -1
  44. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +7 -1
  45. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +13 -7
  46. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +7 -1
  47. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +7 -1
  48. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +7 -1
  49. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +11 -5
  50. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +10 -4
  51. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +7 -1
  52. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +7 -1
  53. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +7 -1
  54. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +7 -1
  55. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +7 -1
  56. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +7 -1
  57. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +7 -1
  58. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +7 -1
  59. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +7 -1
  60. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +7 -1
  61. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +7 -1
  62. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +7 -1
  63. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +7 -1
  64. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +7 -1
  65. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +7 -1
  66. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +7 -1
  67. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +7 -1
  68. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +7 -1
  69. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +7 -1
  70. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +7 -1
  71. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +7 -1
  72. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +7 -1
  73. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +7 -1
  74. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +8 -2
  75. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +7 -1
  76. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +7 -1
  77. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +7 -1
  78. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +7 -1
  79. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +7 -1
  80. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +7 -1
  81. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +7 -1
  82. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +7 -1
  83. package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +40 -8
  84. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +3 -2
  85. package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +4 -0
  86. package/src/sap/suite/ui/generic/template/library.js +1 -1
  87. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +7 -1
@@ -50,6 +50,7 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
50
50
  var oAppComponent = oComponent.getAppComponent();
51
51
  var oUIManifest = oAppComponent.getManifestEntry("sap.ui");
52
52
  var oAppManifest = oAppComponent.getManifestEntry("sap.app");
53
+ var oOutbounds = oAppManifest && oAppManifest["crossNavigation"] && oAppManifest["crossNavigation"]["outbounds"];
53
54
  if (oAppManifest && oAppManifest["crossNavigation"]) {
54
55
  delete oAppManifest["crossNavigation"];
55
56
  }
@@ -57,7 +58,7 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
57
58
  oAppManifest.id = InsightsCardHelper.getCardId(oAppComponent);
58
59
  oManifest["sap.app"] = fnCreateManifestSapApp(oAppManifest);
59
60
  oManifest["sap.ui"] = oUIManifest;
60
- oManifest["sap.card"] = fnCreateManifestSapCard(oCardDefinition);
61
+ oManifest["sap.card"] = fnCreateManifestSapCard(oCardDefinition, oOutbounds);
61
62
  oManifest["sap.insights"] = fnCreateManifestSapInsight(oCardDefinition);
62
63
  oManifest["sap.ui5"] = fnCreateSapui5();
63
64
  return oManifest;
@@ -91,7 +92,7 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
91
92
  return oManifestAppData;
92
93
  };
93
94
 
94
- var fnCreateManifestSapCard = function (oCardDefinition) {
95
+ var fnCreateManifestSapCard = function (oCardDefinition, oOutbounds) {
95
96
  var oCardConfig = {};
96
97
  var sComponentName = oCardDefinition['component'].getMetadata().getName();
97
98
  oCardConfig["type"] = getCardType(sComponentName);
@@ -104,7 +105,7 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
104
105
  } else {
105
106
  oCardConfig["content"] = InsightsCardHelper.fnCreateManifestSapTableCardContent(oCardDefinition, oCardConfig);
106
107
  }
107
- InsightsCardHelper.getCardActions(oCardDefinition, oCardConfig);
108
+ InsightsCardHelper.getCardActions(oCardDefinition, oCardConfig, oOutbounds);
108
109
  return oCardConfig;
109
110
  };
110
111
 
@@ -703,7 +704,7 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
703
704
  return aDimensions;
704
705
  };
705
706
 
706
- InsightsCardHelper.getCardActions = function (oCardDefinition, oSapCard) {
707
+ InsightsCardHelper.getCardActions = function (oCardDefinition, oSapCard, oOutbounds) {
707
708
  var sHash = window.hasher.getHash(), aSemanticObjAction = sHash.split('&/')[0], sAppVarId;
708
709
 
709
710
  if (aSemanticObjAction.includes('?')) {
@@ -735,6 +736,10 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
735
736
  }];
736
737
 
737
738
  var oContentParams = JSON.parse(JSON.stringify(oHeaderParams));
739
+ var oRowOutbound = fnGetRowNavigationOutbound(oOutbounds, aSemanticObjAction[0]);
740
+ if (oRowOutbound) {
741
+ oContentParams.ibnTarget = oRowOutbound;
742
+ }
738
743
 
739
744
  var oContentParameterValue = [{
740
745
  "type": "Navigation",
@@ -757,6 +762,21 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
757
762
  }
758
763
  };
759
764
 
765
+ var fnGetRowNavigationOutbound = function (oOutbounds, sSemanticObject) {
766
+ if (!oOutbounds || !sSemanticObject) {
767
+ return null;
768
+ }
769
+ var oResult = null;
770
+ Object.keys(oOutbounds).some(function (sKey) {
771
+ var oOutbound = oOutbounds[sKey];
772
+ if (oOutbound && oOutbound.semanticObject === sSemanticObject && oOutbound.action) {
773
+ oResult = { semanticObject: oOutbound.semanticObject, action: oOutbound.action };
774
+ return oOutbound.action === "displayFactSheet";
775
+ }
776
+ });
777
+ return oResult;
778
+ };
779
+
760
780
  var fnGetLineItemAnnotation = function (oCardDefinition) {
761
781
  var oEntityType = oCardDefinition['entityType'];
762
782
  var aCustomData = oCardDefinition['currentControlHandler'].getControl().getCustomData();
@@ -820,11 +840,17 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
820
840
  oCriticalityAnnotation = oAnnotation;
821
841
  return (oAnnotation.Criticality && oAnnotation.Value && oAnnotation.Value.Path) === oProperty.name;
822
842
  });
843
+
844
+ // sColumnValue stays a PLAIN concatenated path (unchanged behavior from before).
845
+ // Currency/Unit paths are tracked separately so formatting can be applied later,
846
+ // only where it's safe to do so (i.e. no Text-arrangement wrapping follows).
847
+ var sCurrencyPath, sUnitPath;
823
848
  if (oProperty["Org.OData.Measures.V1.ISOCurrency"] && oProperty["Org.OData.Measures.V1.ISOCurrency"].Path) {
824
- sColumnValue = sColumnValue.concat(" " + "{" + sNavigation + oProperty["Org.OData.Measures.V1.ISOCurrency"].Path + "}");
825
- }
826
- if (oProperty["Org.OData.Measures.V1.Unit"] && oProperty["Org.OData.Measures.V1.Unit"].Path) {
827
- sColumnValue = sColumnValue.concat(" " + "{" + sNavigation + oProperty["Org.OData.Measures.V1.Unit"].Path + "}");
849
+ sCurrencyPath = sNavigation + oProperty["Org.OData.Measures.V1.ISOCurrency"].Path;
850
+ sColumnValue = sColumnValue.concat(" " + "{" + sCurrencyPath + "}");
851
+ } else if (oProperty["Org.OData.Measures.V1.Unit"] && oProperty["Org.OData.Measures.V1.Unit"].Path) {
852
+ sUnitPath = sNavigation + oProperty["Org.OData.Measures.V1.Unit"].Path;
853
+ sColumnValue = sColumnValue.concat(" " + "{" + sUnitPath + "}");
828
854
  }
829
855
 
830
856
  if (oProperty['com.sap.vocabularies.Common.v1.Text'] && oProperty['com.sap.vocabularies.Common.v1.Text'].Path) {
@@ -861,6 +887,12 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
861
887
  if (bIsPropertySemanticKey) {
862
888
  oColumnObject.identifier = bIsPropertySemanticKey;
863
889
  }
890
+ // Safe to format here: no outer expression wrapping will happen for this column.
891
+ if (oProperty.type === 'Edm.Decimal' && sCurrencyPath) {
892
+ oColumnObject['value'] = "{= format.currency(${" + oProperty.name + "}, ${" + sCurrencyPath + "})}";
893
+ } else if (oProperty.type === 'Edm.Decimal' && sUnitPath) {
894
+ oColumnObject['value'] = "{= format.unit(${" + oProperty.name + "}, ${" + sUnitPath + "})}";
895
+ }
864
896
  }
865
897
  if (bIsCriticality) {
866
898
  oColumnObject.state = fnBuildExpressionForCriticalityColor(oCriticalityAnnotation);
@@ -2242,6 +2242,7 @@ sap.ui.define(["sap/ui/base/Object",
2242
2242
  var sRoute = oRegistryEntry.route;
2243
2243
  var iCurrentActivity = oActivationInfo.componentsDisplayed[sRoute];
2244
2244
  var bIsComponentCurrentlyActive = iCurrentActivity === 1;
2245
+ var bIsBackwards = isBackwards();
2245
2246
  var fnPerformActivation = function(sBindingPath){
2246
2247
  oRegistryEntry.sCurrentBindingPath = sBindingPath;
2247
2248
  var fnActivate = function() {
@@ -2249,7 +2250,7 @@ sap.ui.define(["sap/ui/base/Object",
2249
2250
  var bindComponentPromise = oRegistryEntry.utils.bindComponent(oRegistryEntry.sCurrentBindingPath, bIsComponentCurrentlyActive);
2250
2251
  return bindComponentPromise
2251
2252
  .then(function(){
2252
- (oRegistryEntry.methods.onActivate || Function.prototype)(sBindingPath, bIsComponentCurrentlyActive);
2253
+ (oRegistryEntry.methods.onActivate || Function.prototype)(sBindingPath, bIsComponentCurrentlyActive, bIsBackwards);
2253
2254
  })
2254
2255
  .then(function(){
2255
2256
  if (sComponentId === oCurrentIdentity.treeNode.componentId){
@@ -3222,7 +3223,7 @@ sap.ui.define(["sap/ui/base/Object",
3222
3223
  * @param {sap.suite.ui.generic.template.lib.AppComponent} oAppComponent The AppComponent instance
3223
3224
  * @public
3224
3225
  * @extends sap.ui.base.Object
3225
- * @version 1.151.1
3226
+ * @version 1.153.0
3226
3227
  * @since 1.30.0
3227
3228
  * @alias sap.suite.ui.generic.template.lib.NavigationController
3228
3229
  */
@@ -595,6 +595,10 @@ sap.ui.define([
595
595
  return !aIgnoreFields.has(sField);
596
596
  };
597
597
  const hasUIHiddenOrUndefined = function(sField) {
598
+ // Navigation property paths are absent from mPropertyByFieldName; treat them as hidden.
599
+ if (!mPropertyByFieldName[sField]) {
600
+ return true;
601
+ }
598
602
  return !!mPropertyByFieldName[sField]["com.sap.vocabularies.UI.v1.Hidden"] || oItemContext.getProperty(sField) === undefined;
599
603
  };
600
604
  for (const oProperty of aProperties){
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  interfaces: [],
69
69
  controls: [],
70
70
  elements: [],
71
- version: "1.151.1",
71
+ version: "1.153.0",
72
72
  extensions: {
73
73
  //Configuration used for rule loading of Support Assistant
74
74
  "sap.ui.support": {
@@ -416,7 +416,7 @@ html[dir='rtl'] .sapSmartTemplatesObjectPage .sapSmartTemplatesObjectPageSubSect
416
416
  height: 100%;
417
417
 
418
418
  .sapUiFormCL .sapUiFormCLElement .sapEasyFillPreviouslyLabel {
419
- min-width: 5rem;
419
+ color: var(--sapContent_LabelColor);
420
420
  }
421
421
 
422
422
  .sapUxAPBlockContainer {
@@ -474,6 +474,12 @@ html[dir='rtl'] .sapSmartTemplatesObjectPage .sapSmartTemplatesObjectPageSubSect
474
474
  background-color: var(--sapField_WarningBackground) !important;
475
475
  }
476
476
 
477
+ /* Excluded rows: greyed out and non-interactive */
478
+ .sapEasyFillExcludedRow {
479
+ opacity: 0.4;
480
+ pointer-events: none;
481
+ }
482
+
477
483
  /* For Easy Fill SmartForm read-only fields, keep read-only semantics but show input-like shell */
478
484
  .sapUiEasyFillReadOnlyInputLike {
479
485
  background: var(--sapField_ReadOnly_BackgroundStyle) !important;