@sapui5/sap.fe.templates 1.142.6 → 1.142.7

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.
@@ -2,7 +2,7 @@ import type { SemanticObjectMappingType } from "@sap-ux/vocabularies-types/vocab
2
2
  import Log from "sap/base/Log";
3
3
  import merge from "sap/base/util/merge";
4
4
  import type { EnhanceWithUI5 } from "sap/fe/base/ClassSupport";
5
- import { defineUI5Class, extensible, finalExtension, publicExtension, usingExtension } from "sap/fe/base/ClassSupport";
5
+ import { defineUI5Class,extensible,finalExtension,publicExtension,usingExtension } from "sap/fe/base/ClassSupport";
6
6
  import ActionRuntime from "sap/fe/core/ActionRuntime";
7
7
  import type { StartupParameters } from "sap/fe/core/AppComponent";
8
8
  import type { FEView } from "sap/fe/core/BaseController";
@@ -24,7 +24,7 @@ import UiModelConstants from "sap/fe/core/controllerextensions/editFlow/editFlow
24
24
  import NavigationReason from "sap/fe/core/controllerextensions/routing/NavigationReason";
25
25
  import type CommandExecution from "sap/fe/core/controls/CommandExecution";
26
26
  import { RecommendationDialogDecision } from "sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog";
27
- import type { HiddenDraft, MicroChartManifestConfiguration } from "sap/fe/core/converters/ManifestSettings";
27
+ import type { HiddenDraft,MicroChartManifestConfiguration } from "sap/fe/core/converters/ManifestSettings";
28
28
  import type { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
29
29
  import ModelHelper from "sap/fe/core/helpers/ModelHelper";
30
30
  import { getResourceModel } from "sap/fe/core/helpers/ResourceModelHelper";
@@ -533,9 +533,15 @@ class ObjectPageController extends PageController {
533
533
  const oSubSection = aSubSections[iSubSection];
534
534
  // SubSection's binding is enabled.
535
535
  oSubSection.setBindingContext(undefined);
536
- const blocks = oSubSection.getBlocks() as SubSectionBlock[];
536
+ const blocks = oSubSection.getBlocks();
537
537
  // SubSection's contents binding is disabled.
538
- blocks.forEach((block) => block.setBindingContext(null));
538
+ blocks.forEach((block) => {
539
+ if (block.isA<SubSectionBlock>("sap.fe.templates.ObjectPage.controls.SubSectionBlock")) {
540
+ block.content.setBindingContext(null);
541
+ } else {
542
+ block.setBindingContext(null);
543
+ }
544
+ });
539
545
  oSubSection.getMoreBlocks().forEach((subBlock) => subBlock.setBindingContext(null));
540
546
  oSubSection.getActions().forEach((actions) => actions.setBindingContext(null));
541
547
  }
@@ -662,8 +668,14 @@ class ObjectPageController extends PageController {
662
668
 
663
669
  _handleSubSectionEnteredViewPort(oEvent: UI5Event<{ subSection: ObjectPageSubSection }>): void {
664
670
  const oSubSection = oEvent.getParameter("subSection");
665
- const blocks = oSubSection.getBlocks() as SubSectionBlock[];
666
- blocks.forEach((block) => block.setBindingContext(undefined));
671
+ const blocks = oSubSection.getBlocks();
672
+ blocks.forEach((block) => {
673
+ if (block.isA<SubSectionBlock>("sap.fe.templates.ObjectPage.controls.SubSectionBlock")) {
674
+ block.content.setBindingContext(undefined);
675
+ } else {
676
+ block.setBindingContext(undefined);
677
+ }
678
+ });
667
679
  oSubSection.getMoreBlocks().forEach((subBlock) => subBlock.setBindingContext(undefined));
668
680
  oSubSection.getActions().forEach((actions) => actions.setBindingContext(undefined));
669
681
  }
@@ -1896,6 +1908,10 @@ class ObjectPageController extends PageController {
1896
1908
  this.messageButton.fireModelContextChange();
1897
1909
  },
1898
1910
 
1911
+ onTableBindingUpdated(this: ObjectPageController): void {
1912
+ this.messageButton.fireModelContextChange();
1913
+ },
1914
+
1899
1915
  async onCallAction(
1900
1916
  oView: FEView,
1901
1917
  sActionName: string,
@@ -4,7 +4,7 @@
4
4
  "id": "sap.fe.templates.ObjectPage",
5
5
  "type": "component",
6
6
  "applicationVersion": {
7
- "version": "1.142.6"
7
+ "version": "1.142.7"
8
8
  },
9
9
  "title": "Object Page",
10
10
  "tags": {
@@ -14,7 +14,11 @@ sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
14
14
  const boundContextMessages = [];
15
15
  transitionMessages?.forEach(message => {
16
16
  if (message.getTargets().length === 1 && message.getTargets()[0] === context?.getPath() && message.getPersistent() === true) {
17
- boundContextMessages.push(message);
17
+ // Do not filter out ETag messages (412 with concurrent modification) as they are critical for user awareness
18
+ const technicalDetails = message.getTechnicalDetails();
19
+ if (!(technicalDetails?.httpStatus === 412 && technicalDetails?.isConcurrentModification)) {
20
+ boundContextMessages.push(message);
21
+ }
18
22
  }
19
23
  });
20
24
  if (boundContextMessages.length === 1) {
@@ -27,4 +31,4 @@ sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
27
31
  };
28
32
  return MessageHandlerExtension;
29
33
  }, false);
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXNzYWdlSGFuZGxlckV4dGVuc2lvbiIsImdldFNob3dCb3VuZE1lc3NhZ2VzSW5NZXNzYWdlRGlhbG9nIiwiQ29tbW9uVXRpbHMiLCJnZXRJc0VkaXRhYmxlIiwiYmFzZSIsImdldFZpZXciLCJnZXRCaW5kaW5nQ29udGV4dCIsImdldFByb3BlcnR5IiwiZmlsdGVyQ29udGV4dEJvdW5kTWVzc2FnZXMiLCJ0cmFuc2l0aW9uTWVzc2FnZXMiLCJjb250ZXh0IiwiYm91bmRDb250ZXh0TWVzc2FnZXMiLCJmb3JFYWNoIiwibWVzc2FnZSIsImdldFRhcmdldHMiLCJsZW5ndGgiLCJnZXRQYXRoIiwiZ2V0UGVyc2lzdGVudCIsInB1c2giLCJmaWx0ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk1lc3NhZ2VIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbE1vZGVsQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5cbmNvbnN0IE1lc3NhZ2VIYW5kbGVyRXh0ZW5zaW9uID0ge1xuXHRnZXRTaG93Qm91bmRNZXNzYWdlc0luTWVzc2FnZURpYWxvZzogZnVuY3Rpb24gKHRoaXM6IE1lc3NhZ2VIYW5kbGVyKTogYm9vbGVhbiB7XG5cdFx0Ly8gaW4gY2FzZSBvZiBlZGl0IG1vZGUgd2Ugc2hvdyB0aGUgbWVzc2FnZXMgaW4gdGhlIG1lc3NhZ2UgcG9wb3ZlclxuXHRcdHJldHVybiAoXG5cdFx0XHQhQ29tbW9uVXRpbHMuZ2V0SXNFZGl0YWJsZSh0aGlzLmJhc2UpIHx8XG5cdFx0XHQodGhpcy5iYXNlLmdldFZpZXcoKS5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0KS5nZXRQcm9wZXJ0eShcImlzT3BlcmF0aW9uRGlhbG9nT3BlblwiKSB8fFxuXHRcdFx0KHRoaXMuYmFzZS5nZXRWaWV3KCkuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dCkuZ2V0UHJvcGVydHkoXCJnZXRCb3VuZE1lc3NhZ2VzRm9yTWFzc0VkaXRcIilcblx0XHQpO1xuXHR9LFxuXHRmaWx0ZXJDb250ZXh0Qm91bmRNZXNzYWdlcyh0cmFuc2l0aW9uTWVzc2FnZXM6IE1lc3NhZ2VbXSwgY29udGV4dDogQ29udGV4dCk6IE1lc3NhZ2VbXSB7XG5cdFx0Y29uc3QgYm91bmRDb250ZXh0TWVzc2FnZXM6IE1lc3NhZ2VbXSA9IFtdO1xuXHRcdHRyYW5zaXRpb25NZXNzYWdlcz8uZm9yRWFjaCgobWVzc2FnZTogTWVzc2FnZSkgPT4ge1xuXHRcdFx0aWYgKG1lc3NhZ2UuZ2V0VGFyZ2V0cygpLmxlbmd0aCA9PT0gMSAmJiBtZXNzYWdlLmdldFRhcmdldHMoKVswXSA9PT0gY29udGV4dD8uZ2V0UGF0aCgpICYmIG1lc3NhZ2UuZ2V0UGVyc2lzdGVudCgpID09PSB0cnVlKSB7XG5cdFx0XHRcdGJvdW5kQ29udGV4dE1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0aWYgKGJvdW5kQ29udGV4dE1lc3NhZ2VzLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0dHJhbnNpdGlvbk1lc3NhZ2VzID0gdHJhbnNpdGlvbk1lc3NhZ2VzPy5maWx0ZXIoZnVuY3Rpb24gKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcblx0XHRcdFx0cmV0dXJuIG1lc3NhZ2UgIT09IGJvdW5kQ29udGV4dE1lc3NhZ2VzWzBdO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiB0cmFuc2l0aW9uTWVzc2FnZXM7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1lc3NhZ2VIYW5kbGVyRXh0ZW5zaW9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBTUEsTUFBTUEsdUJBQXVCLEdBQUc7SUFDL0JDLG1DQUFtQyxFQUFFLFNBQUFBLENBQUEsRUFBeUM7TUFDN0U7TUFDQSxPQUNDLENBQUNDLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQ3BDLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBMEJDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUMvRyxJQUFJLENBQUNILElBQUksQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQTBCQyxXQUFXLENBQUMsNkJBQTZCLENBQUM7SUFFeEgsQ0FBQztJQUNEQywwQkFBMEJBLENBQUNDLGtCQUE2QixFQUFFQyxPQUFnQixFQUFhO01BQ3RGLE1BQU1DLG9CQUErQixHQUFHLEVBQUU7TUFDMUNGLGtCQUFrQixFQUFFRyxPQUFPLENBQUVDLE9BQWdCLElBQUs7UUFDakQsSUFBSUEsT0FBTyxDQUFDQyxVQUFVLENBQUMsQ0FBQyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxJQUFJRixPQUFPLENBQUNDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUtKLE9BQU8sRUFBRU0sT0FBTyxDQUFDLENBQUMsSUFBSUgsT0FBTyxDQUFDSSxhQUFhLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtVQUM1SE4sb0JBQW9CLENBQUNPLElBQUksQ0FBQ0wsT0FBTyxDQUFDO1FBQ25DO01BQ0QsQ0FBQyxDQUFDO01BQ0YsSUFBSUYsb0JBQW9CLENBQUNJLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDdENOLGtCQUFrQixHQUFHQSxrQkFBa0IsRUFBRVUsTUFBTSxDQUFDLFVBQVVOLE9BQWdCLEVBQUU7VUFDM0UsT0FBT0EsT0FBTyxLQUFLRixvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDO01BQ0g7TUFDQSxPQUFPRixrQkFBa0I7SUFDMUI7RUFDRCxDQUFDO0VBQUMsT0FFYVQsdUJBQXVCO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXNzYWdlSGFuZGxlckV4dGVuc2lvbiIsImdldFNob3dCb3VuZE1lc3NhZ2VzSW5NZXNzYWdlRGlhbG9nIiwiQ29tbW9uVXRpbHMiLCJnZXRJc0VkaXRhYmxlIiwiYmFzZSIsImdldFZpZXciLCJnZXRCaW5kaW5nQ29udGV4dCIsImdldFByb3BlcnR5IiwiZmlsdGVyQ29udGV4dEJvdW5kTWVzc2FnZXMiLCJ0cmFuc2l0aW9uTWVzc2FnZXMiLCJjb250ZXh0IiwiYm91bmRDb250ZXh0TWVzc2FnZXMiLCJmb3JFYWNoIiwibWVzc2FnZSIsImdldFRhcmdldHMiLCJsZW5ndGgiLCJnZXRQYXRoIiwiZ2V0UGVyc2lzdGVudCIsInRlY2huaWNhbERldGFpbHMiLCJnZXRUZWNobmljYWxEZXRhaWxzIiwiaHR0cFN0YXR1cyIsImlzQ29uY3VycmVudE1vZGlmaWNhdGlvbiIsInB1c2giLCJmaWx0ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk1lc3NhZ2VIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlVGVjaG5pY2FsRGV0YWlscyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9tZXNzYWdlSGFuZGxlci9tZXNzYWdlSGFuZGxpbmdcIjtcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxNb2RlbENvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgTWVzc2FnZSBmcm9tIFwic2FwL3VpL2NvcmUvbWVzc2FnZS9NZXNzYWdlXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG5jb25zdCBNZXNzYWdlSGFuZGxlckV4dGVuc2lvbiA9IHtcblx0Z2V0U2hvd0JvdW5kTWVzc2FnZXNJbk1lc3NhZ2VEaWFsb2c6IGZ1bmN0aW9uICh0aGlzOiBNZXNzYWdlSGFuZGxlcik6IGJvb2xlYW4ge1xuXHRcdC8vIGluIGNhc2Ugb2YgZWRpdCBtb2RlIHdlIHNob3cgdGhlIG1lc3NhZ2VzIGluIHRoZSBtZXNzYWdlIHBvcG92ZXJcblx0XHRyZXR1cm4gKFxuXHRcdFx0IUNvbW1vblV0aWxzLmdldElzRWRpdGFibGUodGhpcy5iYXNlKSB8fFxuXHRcdFx0KHRoaXMuYmFzZS5nZXRWaWV3KCkuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dCkuZ2V0UHJvcGVydHkoXCJpc09wZXJhdGlvbkRpYWxvZ09wZW5cIikgfHxcblx0XHRcdCh0aGlzLmJhc2UuZ2V0VmlldygpLmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIikgYXMgSW50ZXJuYWxNb2RlbENvbnRleHQpLmdldFByb3BlcnR5KFwiZ2V0Qm91bmRNZXNzYWdlc0Zvck1hc3NFZGl0XCIpXG5cdFx0KTtcblx0fSxcblx0ZmlsdGVyQ29udGV4dEJvdW5kTWVzc2FnZXModHJhbnNpdGlvbk1lc3NhZ2VzOiBNZXNzYWdlW10sIGNvbnRleHQ6IENvbnRleHQpOiBNZXNzYWdlW10ge1xuXHRcdGNvbnN0IGJvdW5kQ29udGV4dE1lc3NhZ2VzOiBNZXNzYWdlW10gPSBbXTtcblx0XHR0cmFuc2l0aW9uTWVzc2FnZXM/LmZvckVhY2goKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcblx0XHRcdGlmIChtZXNzYWdlLmdldFRhcmdldHMoKS5sZW5ndGggPT09IDEgJiYgbWVzc2FnZS5nZXRUYXJnZXRzKClbMF0gPT09IGNvbnRleHQ/LmdldFBhdGgoKSAmJiBtZXNzYWdlLmdldFBlcnNpc3RlbnQoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHQvLyBEbyBub3QgZmlsdGVyIG91dCBFVGFnIG1lc3NhZ2VzICg0MTIgd2l0aCBjb25jdXJyZW50IG1vZGlmaWNhdGlvbikgYXMgdGhleSBhcmUgY3JpdGljYWwgZm9yIHVzZXIgYXdhcmVuZXNzXG5cdFx0XHRcdGNvbnN0IHRlY2huaWNhbERldGFpbHMgPSBtZXNzYWdlLmdldFRlY2huaWNhbERldGFpbHMoKSBhcyBNZXNzYWdlVGVjaG5pY2FsRGV0YWlscztcblx0XHRcdFx0aWYgKCEodGVjaG5pY2FsRGV0YWlscz8uaHR0cFN0YXR1cyA9PT0gNDEyICYmIHRlY2huaWNhbERldGFpbHM/LmlzQ29uY3VycmVudE1vZGlmaWNhdGlvbikpIHtcblx0XHRcdFx0XHRib3VuZENvbnRleHRNZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0aWYgKGJvdW5kQ29udGV4dE1lc3NhZ2VzLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0dHJhbnNpdGlvbk1lc3NhZ2VzID0gdHJhbnNpdGlvbk1lc3NhZ2VzPy5maWx0ZXIoZnVuY3Rpb24gKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcblx0XHRcdFx0cmV0dXJuIG1lc3NhZ2UgIT09IGJvdW5kQ29udGV4dE1lc3NhZ2VzWzBdO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiB0cmFuc2l0aW9uTWVzc2FnZXM7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1lc3NhZ2VIYW5kbGVyRXh0ZW5zaW9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBT0EsTUFBTUEsdUJBQXVCLEdBQUc7SUFDL0JDLG1DQUFtQyxFQUFFLFNBQUFBLENBQUEsRUFBeUM7TUFDN0U7TUFDQSxPQUNDLENBQUNDLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQ3BDLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBMEJDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUMvRyxJQUFJLENBQUNILElBQUksQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQTBCQyxXQUFXLENBQUMsNkJBQTZCLENBQUM7SUFFeEgsQ0FBQztJQUNEQywwQkFBMEJBLENBQUNDLGtCQUE2QixFQUFFQyxPQUFnQixFQUFhO01BQ3RGLE1BQU1DLG9CQUErQixHQUFHLEVBQUU7TUFDMUNGLGtCQUFrQixFQUFFRyxPQUFPLENBQUVDLE9BQWdCLElBQUs7UUFDakQsSUFBSUEsT0FBTyxDQUFDQyxVQUFVLENBQUMsQ0FBQyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxJQUFJRixPQUFPLENBQUNDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUtKLE9BQU8sRUFBRU0sT0FBTyxDQUFDLENBQUMsSUFBSUgsT0FBTyxDQUFDSSxhQUFhLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtVQUM1SDtVQUNBLE1BQU1DLGdCQUFnQixHQUFHTCxPQUFPLENBQUNNLG1CQUFtQixDQUFDLENBQTRCO1VBQ2pGLElBQUksRUFBRUQsZ0JBQWdCLEVBQUVFLFVBQVUsS0FBSyxHQUFHLElBQUlGLGdCQUFnQixFQUFFRyx3QkFBd0IsQ0FBQyxFQUFFO1lBQzFGVixvQkFBb0IsQ0FBQ1csSUFBSSxDQUFDVCxPQUFPLENBQUM7VUFDbkM7UUFDRDtNQUNELENBQUMsQ0FBQztNQUNGLElBQUlGLG9CQUFvQixDQUFDSSxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3RDTixrQkFBa0IsR0FBR0Esa0JBQWtCLEVBQUVjLE1BQU0sQ0FBQyxVQUFVVixPQUFnQixFQUFFO1VBQzNFLE9BQU9BLE9BQU8sS0FBS0Ysb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQztNQUNIO01BQ0EsT0FBT0Ysa0JBQWtCO0lBQzFCO0VBQ0QsQ0FBQztFQUFDLE9BRWFULHVCQUF1QjtBQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1,5 +1,6 @@
1
1
  import CommonUtils from "sap/fe/core/CommonUtils";
2
2
  import type MessageHandler from "sap/fe/core/controllerextensions/MessageHandler";
3
+ import type { MessageTechnicalDetails } from "sap/fe/core/controllerextensions/messageHandler/messageHandling";
3
4
  import type { InternalModelContext } from "sap/fe/core/helpers/ModelHelper";
4
5
  import type Message from "sap/ui/core/message/Message";
5
6
  import type Context from "sap/ui/model/Context";
@@ -17,7 +18,11 @@ const MessageHandlerExtension = {
17
18
  const boundContextMessages: Message[] = [];
18
19
  transitionMessages?.forEach((message: Message) => {
19
20
  if (message.getTargets().length === 1 && message.getTargets()[0] === context?.getPath() && message.getPersistent() === true) {
20
- boundContextMessages.push(message);
21
+ // Do not filter out ETag messages (412 with concurrent modification) as they are critical for user awareness
22
+ const technicalDetails = message.getTechnicalDetails() as MessageTechnicalDetails;
23
+ if (!(technicalDetails?.httpStatus === 412 && technicalDetails?.isConcurrentModification)) {
24
+ boundContextMessages.push(message);
25
+ }
21
26
  }
22
27
  });
23
28
  if (boundContextMessages.length === 1) {
@@ -169,7 +169,7 @@
169
169
  visible="{subSection>dataVisualizationTitleVisible}"
170
170
  />
171
171
  </template:if>
172
- <opcontrol:SubSectionBlock>
172
+ <opcontrol:SubSectionBlock visible="{subSection>visible}">
173
173
  <opcontrol:content>
174
174
  <template:if test="{= ${subSection>sideContent} !== undefined}">
175
175
  <template:then>
@@ -19,6 +19,7 @@
19
19
  filterBar="{= ${converterContext>filterBarId} ? ${converterContext>filterBarId} : undefined}"
20
20
  busy='{= "{ui>/busyLocal/"+${visualizationDefinition>annotation/id}+"}" }'
21
21
  listBindingChange=".handlers.onTableContextChange"
22
+ bindingUpdated=".handlers.onTableBindingUpdated"
22
23
  variantSelected=".handlers.onVariantSelected"
23
24
  variantSaved=".handlers.onVariantSaved"
24
25
  isAlp="{converterContext>hasMultiVisualizations}"
@@ -36,7 +36,7 @@ sap.ui.define(["sap/f/library", "sap/fe/core/library", "sap/fe/macros/library",
36
36
  controls: [],
37
37
  elements: [],
38
38
  // eslint-disable-next-line no-template-curly-in-string
39
- version: "1.142.6",
39
+ version: "1.142.7",
40
40
  noLibraryCSS: true
41
41
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
42
  });