@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.
- package/package.json +1 -1
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +18 -3
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +22 -6
- package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +6 -2
- package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.ts +6 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Table.fragment.xml +1 -0
- package/src/sap/fe/templates/library.js +1 -1
|
@@ -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,
|
|
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,
|
|
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()
|
|
536
|
+
const blocks = oSubSection.getBlocks();
|
|
537
537
|
// SubSection's contents binding is disabled.
|
|
538
|
-
blocks.forEach((block) =>
|
|
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()
|
|
666
|
-
blocks.forEach((block) =>
|
|
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,
|
|
@@ -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
|
-
|
|
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,
|
|
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
|
-
|
|
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.
|
|
39
|
+
version: "1.142.7",
|
|
40
40
|
noLibraryCSS: true
|
|
41
41
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
42
|
});
|