@sapui5/sap.suite.ui.generic.template 1.151.1 → 1.152.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 (35) 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/i18n/i18n_sv.properties +1 -1
  8. package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
  9. package/src/sap/suite/ui/generic/template/ListReport/view/fragments/FullscreenPage.fragment.xml +3 -0
  10. package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
  11. package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
  12. package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
  13. package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +5 -4
  14. package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +21 -17
  15. package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
  16. package/src/sap/suite/ui/generic/template/lib/Application.js +0 -13
  17. package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +4 -19
  18. package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +4 -4
  19. package/src/sap/suite/ui/generic/template/lib/ShareUtils.js +1 -1
  20. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillAIOrchestrator.js +1 -6
  21. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillApplyHandler.js +25 -44
  22. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillDialogController.js +80 -64
  23. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFieldCollector.js +442 -259
  24. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFormRenderer.js +125 -161
  25. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +134 -160
  26. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillTableRenderer.js +55 -189
  27. package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +67 -85
  28. package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +27 -3
  29. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +6 -6
  30. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +4 -4
  31. package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +1 -1
  32. package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +16 -4
  33. package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +3 -2
  34. package/src/sap/suite/ui/generic/template/library.js +1 -1
  35. package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +1 -1
@@ -107,12 +107,36 @@ sap.ui.define([
107
107
  // Helper to add properties to mFilterProperties, with optional prefix.
108
108
  // bOverrideSortable and mOverrideNonSortable allow callers (e.g. nav property processing)
109
109
  // to pass entity-set-specific sort restrictions instead of the root entity set's.
110
- function addPropertiesFromEntityType(entityType, prefix, bOverrideSortable, mOverrideNonSortable) {
110
+ // oEffectiveEntitySetMeta allows callers to pass the entity-set metadata for
111
+ // Capabilities.FilterRestrictions lookup; falls back to the root entity set's metadata.
112
+ function addPropertiesFromEntityType(entityType, prefix, bOverrideSortable, mOverrideNonSortable, oEffectiveEntitySetMeta) {
111
113
  var bEffectiveSortable = (bOverrideSortable !== undefined) ? bOverrideSortable : bEntitySetSortable;
112
114
  var mEffectiveNonSortable = mOverrideNonSortable || mNonSortableProperties;
115
+
116
+ // Capabilities.FilterRestrictions takes priority over sap:filterable (matches SFB behaviour).
117
+ var oCapFilterRestrictions = oEffectiveEntitySetMeta &&
118
+ oEffectiveEntitySetMeta["Org.OData.Capabilities.V1.FilterRestrictions"];
119
+ var bEntityNonFilterable = !!oCapFilterRestrictions &&
120
+ oCapFilterRestrictions.Filterable === "false";
121
+ var mCapNonFilterable = {};
122
+ if (oCapFilterRestrictions && oCapFilterRestrictions.NonFilterableProperties) {
123
+ oCapFilterRestrictions.NonFilterableProperties.forEach(function(oEntry) {
124
+ if (oEntry.PropertyPath) {
125
+ mCapNonFilterable[oEntry.PropertyPath] = true;
126
+ }
127
+ });
128
+ }
129
+
113
130
  entityType.property.forEach(function (oProperty) {
114
131
  var sTokenType = "ValueHelp";
115
132
  var bFilterable = filterHelper.isPropertyFilterable(oProperty);
133
+
134
+ // When Capabilities.FilterRestrictions is present, its answer is authoritative.
135
+ // A property absent from NonFilterableProperties is filterable even if sap:filterable="false".
136
+ if (oCapFilterRestrictions) {
137
+ bFilterable = !bEntityNonFilterable && !mCapNonFilterable[oProperty.name];
138
+ }
139
+
116
140
  var bIsCodeListRequired;
117
141
  var bIsHidden = false;
118
142
  var bIsHiddenFilter = false;
@@ -167,7 +191,7 @@ sap.ui.define([
167
191
  }
168
192
 
169
193
  // Add direct properties
170
- addPropertiesFromEntityType(oEntityType, "");
194
+ addPropertiesFromEntityType(oEntityType, "", undefined, undefined, oEntitySetMeta);
171
195
 
172
196
  // Add 1:1 navigation properties' properties
173
197
  if (oEntityType.navigationProperty) {
@@ -214,7 +238,7 @@ sap.ui.define([
214
238
  }
215
239
  }
216
240
  }
217
- addPropertiesFromEntityType(oTargetEntityType, navProp.name, bNavSortable, mNavNonSortable);
241
+ addPropertiesFromEntityType(oTargetEntityType, navProp.name, bNavSortable, mNavNonSortable, oNavEntitySetMeta);
218
242
  }
219
243
  }
220
244
  }
@@ -263,7 +263,7 @@ UNNAMED_OBJECT=/7tWejRWY+/VKNEqKMeUig_Unnamed Object
263
263
 
264
264
  NOITEMS_SMARTTABLE=4mF5yAkQczyduvBbpfEiUQ_No items available.
265
265
 
266
- NOITEMS_SMARTTABLE_ILLUSTRATION_TITLE=doyvmYFBR/YAir1JRbBrjg_There are no entries yet.
266
+ NOITEMS_SMARTTABLE_ILLUSTRATION_TITLE=doyvmYFBR/YAir1JRbBrjg_There are no entries yet
267
267
 
268
268
  NOITEMS_SMARTTABLE_ILLUSTRATION_DESCRIPTION=ILWfzXjlD1V0V2FH3J0ydg_When there are, you\u2019ll see them here.
269
269
 
@@ -281,7 +281,7 @@ NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON_ILLUSTRATION_DESCRIPTION=GGyy
281
281
 
282
282
  NOITEMS_SMARTCHART=E8PAJqLnlL8D5qjtuHM1PA_No data found.
283
283
 
284
- NOITEMS_SMARTCHART_ILLUSTRATION_TITLE=SwZw2xSjtz9Vh+0KWhZtdA_There are no entries yet.
284
+ NOITEMS_SMARTCHART_ILLUSTRATION_TITLE=SwZw2xSjtz9Vh+0KWhZtdA_There are no entries yet
285
285
 
286
286
  NOITEMS_SMARTCHART_ILLUSTRATION_DESCRIPTION=bEw0TDVPaEKar/6e6st0jg_When there are, you\u2019ll see them here.
287
287
 
@@ -293,7 +293,7 @@ NOITEMS_LR_SMARTCHART_ILLUSTRATION_DESCRIPTION=gBq3I96wPrF1Ewim63QYtA_Try changi
293
293
 
294
294
  NOITEMS_SMARTCHART_WITH_FILTER=018xLIIeu5CBFsduDE+3NQ_No data found. Try adjusting the filter parameters.
295
295
 
296
- NOITEMS_SMARTCHART_WITH_FILTER_ILLUSTRATION_TITLE=CsqDaNt4K/dfxZsSwIG5pg_No results found.
296
+ NOITEMS_SMARTCHART_WITH_FILTER_ILLUSTRATION_TITLE=CsqDaNt4K/dfxZsSwIG5pg_No results found
297
297
 
298
298
  NOITEMS_SMARTCHART_WITH_FILTER_ILLUSTRATION_DESCRIPTION=Y8sxldqS54RjkfbsCOBJhA_Try changing your filter criteria.
299
299
 
@@ -305,7 +305,7 @@ SMARTCHART_INITIAL_NODATA_ILLUSTRATION_DESCRIPTION=8HfZHgwhmWenmTsdn39Wqg_Start
305
305
 
306
306
  NOITEMS_LR_SMARTTABLE=mzjlT4T4Bwjpy44Z9NjCDA_No data found.
307
307
 
308
- NOITEMS_LR_SMARTTABLE_ILLUSTRATION_TITLE=xDgxD4GNBL2TBLA8rDeMBg_There are no entries yet.
308
+ NOITEMS_LR_SMARTTABLE_ILLUSTRATION_TITLE=xDgxD4GNBL2TBLA8rDeMBg_There are no entries yet
309
309
 
310
310
  NOITEMS_LR_SMARTTABLE_ILLUSTRATION_DESCRIPTION=8rudXxT/Jqj7Jf4NGwoN+A_When there are, you\u2019ll see them here.
311
311
 
@@ -506,7 +506,7 @@ EASY_FILL_SECOND_LABEL_TEXT=6ClfQBkJaEH1PfDiwA5Y/Q_Provide any information that
506
506
 
507
507
  EASY_FILL_TEXTAREA_PLACEHOLDER=SM5b7MpHJMd0bpuaOXui/Q_Provide any information that helps AI fill the appropriate fields. Note that AI can only assist with visible fields and rows.
508
508
 
509
- EASY_FILL_ILLUSTRATION_TITLE_INITIAL=rJs6dgsnWPZqespMCljKGw_Let\u2019s fill in some fields.
509
+ EASY_FILL_ILLUSTRATION_TITLE_INITIAL=rJs6dgsnWPZqespMCljKGw_Let\u2019s fill in some fields
510
510
 
511
511
  EASY_FILL_ILLUSTRATION_DESCRIPTION_INITIAL=vXZZ5PgERzHudzaOWZMclA_You can start by providing the required information to see the proposed results.
512
512
 
@@ -514,7 +514,7 @@ EASY_FILL_ILLUSTRATION_TITLE_NO_ENTRIES=r9q+6s8j3XyumHEvE3wWMQ_No fields filled
514
514
 
515
515
  EASY_FILL_ILLUSTRATION_DESCRIPTION_NO_ENTRIES=Dtc9imG1YicZJWol2mAedQ_We couldn\u2019t match your query to any of the existing fields.
516
516
 
517
- EASY_FILL_ILLUSTRATION_TITLE_ERROR=3MAHZSkGTXtr7nB3SvlsjA_Unable to fill in the fields.
517
+ EASY_FILL_ILLUSTRATION_TITLE_ERROR=3MAHZSkGTXtr7nB3SvlsjA_Unable to fill in the fields
518
518
 
519
519
  EASY_FILL_ILLUSTRATION_DESCRIPTION_ERROR=/yhJuCWe50MguIjZv+mJGA_It looks like an error occurred. Try again and if that doesn\u2019t help, check with your administrator.
520
520
 
@@ -267,13 +267,13 @@ NOITEMS_SMARTTABLE_ILLUSTRATION_TITLE=Merkint\u00F6j\u00E4 ei viel\u00E4 ole
267
267
 
268
268
  NOITEMS_SMARTTABLE_ILLUSTRATION_DESCRIPTION=Kun niit\u00E4 on, n\u00E4et ne t\u00E4ss\u00E4.
269
269
 
270
- NOITEMS_SMARTTABLE_WITH_FILTER=EiRivej\u00E4. YrMuutHakTaiSuodPar
270
+ NOITEMS_SMARTTABLE_WITH_FILTER=Ei elementtej\u00E4. Yrit\u00E4 mukauttaa haku- tai suodatusperusteita.
271
271
 
272
272
  NOITEMS_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=Tuloksia ei l\u00F6ytynyt
273
273
 
274
274
  NOITEMS_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=Kokeile muuttaa suodatusperusteita.
275
275
 
276
- NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=EiRivej\u00E4ValSuodPerJaTaulN\u00E4kVar
276
+ NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=Elementtej\u00E4 ei l\u00F6ytynyt valittujen suodatusperusteiden ja valitun taulukkon\u00E4kym\u00E4n osalta.
277
277
 
278
278
  NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON_ILLUSTRATION_TITLE=Tuloksia ei l\u00F6ytynyt
279
279
 
@@ -285,7 +285,7 @@ NOITEMS_SMARTCHART_ILLUSTRATION_TITLE=Merkint\u00F6j\u00E4 ei viel\u00E4 ole
285
285
 
286
286
  NOITEMS_SMARTCHART_ILLUSTRATION_DESCRIPTION=Kun niit\u00E4 on, n\u00E4et ne t\u00E4ss\u00E4.
287
287
 
288
- NOITEMS_LR_SMARTCHART=Ei tietoja valitulla suodatinperusteella ja kaavion\u00E4kym\u00E4ll\u00E4.
288
+ NOITEMS_LR_SMARTCHART=Tietoja ei l\u00F6ytynyt valittujen suodatusperusteiden ja valitun kaavion\u00E4kym\u00E4n osalta.
289
289
 
290
290
  NOITEMS_LR_SMARTCHART_ILLUSTRATION_TITLE=Tuloksia ei l\u00F6ytynyt
291
291
 
@@ -315,7 +315,7 @@ NOITEMS_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=Tuloksia ei l\u00F6ytynyt
315
315
 
316
316
  NOITEMS_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_DESCRIPTION=Kokeile muuttaa suodatusperusteita.
317
317
 
318
- NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER=EiTietValSuodPerJaTaulN\u00E4kVart
318
+ NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER=Tietoja ei l\u00F6ytynyt valittujen suodatusperusteiden ja valitun taulukkon\u00E4kym\u00E4n osalta.
319
319
 
320
320
  NOITEMS_MULTIVIEW_LR_SMARTTABLE_WITH_FILTER_ILLUSTRATION_TITLE=Tuloksia ei l\u00F6ytynyt
321
321
 
@@ -182,7 +182,7 @@ ST_GENERIC_ERROR_NAVIGATION_PROPERTY_NOT_CORRECT=Lastnost navigacije {0} v pripo
182
182
 
183
183
  ST_GENERIC_FCL_FULLSCREEN=Celotni ekran
184
184
 
185
- ST_GENERIC_FCL_EXIT_FULLSCREEN=Izhod iz modusa celotnega ekrana
185
+ ST_GENERIC_FCL_EXIT_FULLSCREEN=Izhod iz celozaslonskega na\u010Dina
186
186
 
187
187
  ST_GENERIC_FCL_CLOSE_COLUMN=Zapri
188
188
 
@@ -820,11 +820,17 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
820
820
  oCriticalityAnnotation = oAnnotation;
821
821
  return (oAnnotation.Criticality && oAnnotation.Value && oAnnotation.Value.Path) === oProperty.name;
822
822
  });
823
+
824
+ // sColumnValue stays a PLAIN concatenated path (unchanged behavior from before).
825
+ // Currency/Unit paths are tracked separately so formatting can be applied later,
826
+ // only where it's safe to do so (i.e. no Text-arrangement wrapping follows).
827
+ var sCurrencyPath, sUnitPath;
823
828
  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 + "}");
829
+ sCurrencyPath = sNavigation + oProperty["Org.OData.Measures.V1.ISOCurrency"].Path;
830
+ sColumnValue = sColumnValue.concat(" " + "{" + sCurrencyPath + "}");
831
+ } else if (oProperty["Org.OData.Measures.V1.Unit"] && oProperty["Org.OData.Measures.V1.Unit"].Path) {
832
+ sUnitPath = sNavigation + oProperty["Org.OData.Measures.V1.Unit"].Path;
833
+ sColumnValue = sColumnValue.concat(" " + "{" + sUnitPath + "}");
828
834
  }
829
835
 
830
836
  if (oProperty['com.sap.vocabularies.Common.v1.Text'] && oProperty['com.sap.vocabularies.Common.v1.Text'].Path) {
@@ -861,6 +867,12 @@ sap.ui.define(["sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
861
867
  if (bIsPropertySemanticKey) {
862
868
  oColumnObject.identifier = bIsPropertySemanticKey;
863
869
  }
870
+ // Safe to format here: no outer expression wrapping will happen for this column.
871
+ if (oProperty.type === 'Edm.Decimal' && sCurrencyPath) {
872
+ oColumnObject['value'] = "{= format.currency(${" + oProperty.name + "}, ${" + sCurrencyPath + "})}";
873
+ } else if (oProperty.type === 'Edm.Decimal' && sUnitPath) {
874
+ oColumnObject['value'] = "{= format.unit(${" + oProperty.name + "}, ${" + sUnitPath + "})}";
875
+ }
864
876
  }
865
877
  if (bIsCriticality) {
866
878
  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.152.1
3226
3227
  * @since 1.30.0
3227
3228
  * @alias sap.suite.ui.generic.template.lib.NavigationController
3228
3229
  */
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  interfaces: [],
69
69
  controls: [],
70
70
  elements: [],
71
- version: "1.151.1",
71
+ version: "1.152.1",
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 {