@sapui5/sap.fe.controls 1.148.0 → 1.148.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.
- package/package.json +1 -1
- package/src/sap/fe/controls/.library +1 -1
- package/src/sap/fe/controls/AiNoticeHelper.js +26 -5
- package/src/sap/fe/controls/AiNoticeHelper.tsx +31 -3
- package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.js +9 -1
- package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.tsx +8 -0
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.js +62 -6
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.tsx +74 -7
- package/src/sap/fe/controls/library.js +1 -1
- package/src/sap/fe/controls/messagebundle.properties +2 -0
- package/src/sap/fe/controls/themes/base/EasyFilter.less +8 -4
package/package.json
CHANGED
|
@@ -2,9 +2,16 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/m/Button", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/ToolbarSpacer", "sap/ui/core/Lib", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/Fragment", "sap/fe/base/jsx-runtime/jsxs"], function (Button, OverflowToolbar, Popover, ToolbarSpacer, Lib, _jsx, _Fragment, _jsxs) {
|
|
5
|
+
sap.ui.define(["sap/m/Button", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/Text", "sap/m/ToolbarSpacer", "sap/ui/core/Lib", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/Fragment", "sap/fe/base/jsx-runtime/jsxs"], function (Button, OverflowToolbar, Popover, Text, ToolbarSpacer, Lib, _jsx, _Fragment, _jsxs) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
function getParentView(control) {
|
|
9
|
+
let current = control;
|
|
10
|
+
while (current && !current.isA("sap.ui.core.mvc.View")) {
|
|
11
|
+
current = current.getParent();
|
|
12
|
+
}
|
|
13
|
+
return current ?? undefined;
|
|
14
|
+
}
|
|
8
15
|
return {
|
|
9
16
|
/**
|
|
10
17
|
* Generates a popover with AI notice content. The popover is opened by the provided parent control.
|
|
@@ -12,15 +19,27 @@ sap.ui.define(["sap/m/Button", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/
|
|
|
12
19
|
* @param params.parent The control that opens the popover
|
|
13
20
|
* @param params.placementType Optional placement type for the popover
|
|
14
21
|
* @param params.content Optional content for the popover. If not provided, default content is used.
|
|
22
|
+
* @param params.contentText Optional text content for the popover. Use this instead of content to support i18n binding strings.
|
|
15
23
|
* @returns The generated Popover instance
|
|
16
24
|
*/
|
|
17
25
|
generatePopover(params) {
|
|
18
26
|
const {
|
|
19
27
|
parent,
|
|
20
|
-
placementType
|
|
21
|
-
content
|
|
28
|
+
placementType
|
|
22
29
|
} = params;
|
|
23
30
|
const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls");
|
|
31
|
+
const resolveContent = () => {
|
|
32
|
+
if (params.contentText !== undefined) {
|
|
33
|
+
return new Text({
|
|
34
|
+
text: params.contentText
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
const {
|
|
38
|
+
content
|
|
39
|
+
} = params;
|
|
40
|
+
return Array.isArray(content) ? content.map(item => item.clone()) : content?.clone();
|
|
41
|
+
};
|
|
42
|
+
const view = getParentView(params.parent);
|
|
24
43
|
const myPopover = _jsx(Popover, {
|
|
25
44
|
class: "sapUiContentPadding",
|
|
26
45
|
contentMinWidth: "22.8125rem",
|
|
@@ -29,10 +48,11 @@ sap.ui.define(["sap/m/Button", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/
|
|
|
29
48
|
placement: placementType,
|
|
30
49
|
title: resourceBundle.getText("M_POPOVER_AI_TITLE"),
|
|
31
50
|
afterClose: () => {
|
|
51
|
+
view?.removeDependent(myPopover);
|
|
32
52
|
myPopover?.destroy();
|
|
33
53
|
},
|
|
34
54
|
children: {
|
|
35
|
-
content:
|
|
55
|
+
content: resolveContent(),
|
|
36
56
|
footer: _jsx(OverflowToolbar, {
|
|
37
57
|
children: {
|
|
38
58
|
content: _jsxs(_Fragment, {
|
|
@@ -47,9 +67,10 @@ sap.ui.define(["sap/m/Button", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/
|
|
|
47
67
|
})
|
|
48
68
|
}
|
|
49
69
|
});
|
|
70
|
+
view?.addDependent(myPopover);
|
|
50
71
|
myPopover.openBy(parent);
|
|
51
72
|
return myPopover;
|
|
52
73
|
}
|
|
53
74
|
};
|
|
54
75
|
}, false);
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQYXJlbnRWaWV3IiwiY29udHJvbCIsImN1cnJlbnQiLCJpc0EiLCJnZXRQYXJlbnQiLCJ1bmRlZmluZWQiLCJnZW5lcmF0ZVBvcG92ZXIiLCJwYXJhbXMiLCJwYXJlbnQiLCJwbGFjZW1lbnRUeXBlIiwicmVzb3VyY2VCdW5kbGUiLCJMaWIiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsInJlc29sdmVDb250ZW50IiwiY29udGVudFRleHQiLCJUZXh0IiwidGV4dCIsImNvbnRlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJpdGVtIiwiY2xvbmUiLCJ2aWV3IiwibXlQb3BvdmVyIiwiX2pzeCIsIlBvcG92ZXIiLCJjbGFzcyIsImNvbnRlbnRNaW5XaWR0aCIsInNob3dBcnJvdyIsInNob3dIZWFkZXIiLCJwbGFjZW1lbnQiLCJ0aXRsZSIsImdldFRleHQiLCJhZnRlckNsb3NlIiwicmVtb3ZlRGVwZW5kZW50IiwiZGVzdHJveSIsImNoaWxkcmVuIiwiZm9vdGVyIiwiT3ZlcmZsb3dUb29sYmFyIiwiX2pzeHMiLCJfRnJhZ21lbnQiLCJUb29sYmFyU3BhY2VyIiwiQnV0dG9uIiwicHJlc3MiLCJjbG9zZSIsImFkZERlcGVuZGVudCIsIm9wZW5CeSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQWlOb3RpY2VIZWxwZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFJlc291cmNlQnVuZGxlIGZyb20gXCJzYXAvYmFzZS9pMThuL1Jlc291cmNlQnVuZGxlXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGxhY2VtZW50VHlwZSB9IGZyb20gXCJzYXAvbS9saWJyYXJ5XCI7XG5pbXBvcnQgT3ZlcmZsb3dUb29sYmFyIGZyb20gXCJzYXAvbS9PdmVyZmxvd1Rvb2xiYXJcIjtcbmltcG9ydCBQb3BvdmVyIGZyb20gXCJzYXAvbS9Qb3BvdmVyXCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFRvb2xiYXJTcGFjZXIgZnJvbSBcInNhcC9tL1Rvb2xiYXJTcGFjZXJcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBMaWIgZnJvbSBcInNhcC91aS9jb3JlL0xpYlwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcblxuZnVuY3Rpb24gZ2V0UGFyZW50Vmlldyhjb250cm9sOiBDb250cm9sKTogVmlldyB8IHVuZGVmaW5lZCB7XG5cdGxldCBjdXJyZW50OiBNYW5hZ2VkT2JqZWN0IHwgbnVsbCA9IGNvbnRyb2w7XG5cdHdoaWxlIChjdXJyZW50ICYmICFjdXJyZW50LmlzQTxWaWV3PihcInNhcC51aS5jb3JlLm12Yy5WaWV3XCIpKSB7XG5cdFx0Y3VycmVudCA9IGN1cnJlbnQuZ2V0UGFyZW50KCk7XG5cdH1cblx0cmV0dXJuIGN1cnJlbnQgPz8gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBwb3BvdmVyIHdpdGggQUkgbm90aWNlIGNvbnRlbnQuIFRoZSBwb3BvdmVyIGlzIG9wZW5lZCBieSB0aGUgcHJvdmlkZWQgcGFyZW50IGNvbnRyb2wuXG5cdCAqIEBwYXJhbSBwYXJhbXMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgcGFyYW1ldGVycyBmb3IgZ2VuZXJhdGluZyB0aGUgcG9wb3ZlclxuXHQgKiBAcGFyYW0gcGFyYW1zLnBhcmVudCBUaGUgY29udHJvbCB0aGF0IG9wZW5zIHRoZSBwb3BvdmVyXG5cdCAqIEBwYXJhbSBwYXJhbXMucGxhY2VtZW50VHlwZSBPcHRpb25hbCBwbGFjZW1lbnQgdHlwZSBmb3IgdGhlIHBvcG92ZXJcblx0ICogQHBhcmFtIHBhcmFtcy5jb250ZW50IE9wdGlvbmFsIGNvbnRlbnQgZm9yIHRoZSBwb3BvdmVyLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHQgY29udGVudCBpcyB1c2VkLlxuXHQgKiBAcGFyYW0gcGFyYW1zLmNvbnRlbnRUZXh0IE9wdGlvbmFsIHRleHQgY29udGVudCBmb3IgdGhlIHBvcG92ZXIuIFVzZSB0aGlzIGluc3RlYWQgb2YgY29udGVudCB0byBzdXBwb3J0IGkxOG4gYmluZGluZyBzdHJpbmdzLlxuXHQgKiBAcmV0dXJucyBUaGUgZ2VuZXJhdGVkIFBvcG92ZXIgaW5zdGFuY2Vcblx0ICovXG5cdGdlbmVyYXRlUG9wb3ZlcihwYXJhbXM6IHtcblx0XHRwYXJlbnQ6IENvbnRyb2w7XG5cdFx0cGxhY2VtZW50VHlwZT86IFBsYWNlbWVudFR5cGU7XG5cdFx0Y29udGVudD86IENvbnRyb2wgfCBDb250cm9sW107XG5cdFx0Y29udGVudFRleHQ/OiBzdHJpbmc7XG5cdH0pOiBQb3BvdmVyIHtcblx0XHRjb25zdCB7IHBhcmVudCwgcGxhY2VtZW50VHlwZSB9ID0gcGFyYW1zO1xuXHRcdGNvbnN0IHJlc291cmNlQnVuZGxlID0gTGliLmdldFJlc291cmNlQnVuZGxlRm9yKFwic2FwLmZlLmNvbnRyb2xzXCIpIGFzIFJlc291cmNlQnVuZGxlO1xuXG5cdFx0Y29uc3QgcmVzb2x2ZUNvbnRlbnQgPSAoKTogQ29udHJvbCB8IENvbnRyb2xbXSB8IHVuZGVmaW5lZCA9PiB7XG5cdFx0XHRpZiAocGFyYW1zLmNvbnRlbnRUZXh0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBUZXh0KHsgdGV4dDogcGFyYW1zLmNvbnRlbnRUZXh0IH0pO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgeyBjb250ZW50IH0gPSBwYXJhbXM7XG5cdFx0XHRyZXR1cm4gQXJyYXkuaXNBcnJheShjb250ZW50KSA/IGNvbnRlbnQubWFwKChpdGVtOiBDb250cm9sKSA9PiBpdGVtLmNsb25lKCkpIDogY29udGVudD8uY2xvbmUoKTtcblx0XHR9O1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IGdldFBhcmVudFZpZXcocGFyYW1zLnBhcmVudCk7XG5cdFx0Y29uc3QgbXlQb3BvdmVyID0gKFxuXHRcdFx0PFBvcG92ZXJcblx0XHRcdFx0Y2xhc3M9XCJzYXBVaUNvbnRlbnRQYWRkaW5nXCJcblx0XHRcdFx0Y29udGVudE1pbldpZHRoPXtcIjIyLjgxMjVyZW1cIn1cblx0XHRcdFx0c2hvd0Fycm93PXt0cnVlfVxuXHRcdFx0XHRzaG93SGVhZGVyPXt0cnVlfVxuXHRcdFx0XHRwbGFjZW1lbnQ9e3BsYWNlbWVudFR5cGV9XG5cdFx0XHRcdHRpdGxlPXtyZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9QT1BPVkVSX0FJX1RJVExFXCIpfVxuXHRcdFx0XHRhZnRlckNsb3NlPXsoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0dmlldz8ucmVtb3ZlRGVwZW5kZW50KG15UG9wb3Zlcik7XG5cdFx0XHRcdFx0bXlQb3BvdmVyPy5kZXN0cm95KCk7XG5cdFx0XHRcdH19XG5cdFx0XHQ+XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0Y29udGVudDogcmVzb2x2ZUNvbnRlbnQoKSxcblx0XHRcdFx0XHRmb290ZXI6IChcblx0XHRcdFx0XHRcdDxPdmVyZmxvd1Rvb2xiYXI+XG5cdFx0XHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogKFxuXHRcdFx0XHRcdFx0XHRcdFx0PD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PFRvb2xiYXJTcGFjZXIgLz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PEJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9e3Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX05PVElDRV9BSV9DTE9TRVwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwcmVzcz17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bXlQb3BvdmVyLmNsb3NlKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHRcdDwvPlxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdDwvT3ZlcmZsb3dUb29sYmFyPlxuXHRcdFx0XHRcdClcblx0XHRcdFx0fX1cblx0XHRcdDwvUG9wb3Zlcj5cblx0XHQpO1xuXHRcdHZpZXc/LmFkZERlcGVuZGVudChteVBvcG92ZXIpO1xuXHRcdG15UG9wb3Zlci5vcGVuQnkocGFyZW50KTtcblx0XHRyZXR1cm4gbXlQb3BvdmVyO1xuXHR9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBWUEsU0FBU0EsYUFBYUEsQ0FBQ0MsT0FBZ0IsRUFBb0I7SUFDMUQsSUFBSUMsT0FBNkIsR0FBR0QsT0FBTztJQUMzQyxPQUFPQyxPQUFPLElBQUksQ0FBQ0EsT0FBTyxDQUFDQyxHQUFHLENBQU8sc0JBQXNCLENBQUMsRUFBRTtNQUM3REQsT0FBTyxHQUFHQSxPQUFPLENBQUNFLFNBQVMsQ0FBQyxDQUFDO0lBQzlCO0lBQ0EsT0FBT0YsT0FBTyxJQUFJRyxTQUFTO0VBQzVCO0VBQUMsT0FFYztJQUNkO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyxlQUFlQSxDQUFDQyxNQUtmLEVBQVc7TUFDWCxNQUFNO1FBQUVDLE1BQU07UUFBRUM7TUFBYyxDQUFDLEdBQUdGLE1BQU07TUFDeEMsTUFBTUcsY0FBYyxHQUFHQyxHQUFHLENBQUNDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFtQjtNQUVwRixNQUFNQyxjQUFjLEdBQUdBLENBQUEsS0FBdUM7UUFDN0QsSUFBSU4sTUFBTSxDQUFDTyxXQUFXLEtBQUtULFNBQVMsRUFBRTtVQUNyQyxPQUFPLElBQUlVLElBQUksQ0FBQztZQUFFQyxJQUFJLEVBQUVULE1BQU0sQ0FBQ087VUFBWSxDQUFDLENBQUM7UUFDOUM7UUFDQSxNQUFNO1VBQUVHO1FBQVEsQ0FBQyxHQUFHVixNQUFNO1FBQzFCLE9BQU9XLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixPQUFPLENBQUMsR0FBR0EsT0FBTyxDQUFDRyxHQUFHLENBQUVDLElBQWEsSUFBS0EsSUFBSSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUdMLE9BQU8sRUFBRUssS0FBSyxDQUFDLENBQUM7TUFDaEcsQ0FBQztNQUVhLE1BQU1DLElBQUksR0FBR3ZCLGFBQWEsQ0FBQ08sTUFBTSxDQUFDQyxNQUFNLENBQUM7TUFDdkQsTUFBTWdCLFNBQVMsR0FDZEMsSUFBQSxDQUFDQyxPQUFPO1FBQ1BDLEtBQUssRUFBQyxxQkFBcUI7UUFDM0JDLGVBQWUsRUFBRSxZQUFhO1FBQzlCQyxTQUFTLEVBQUUsSUFBSztRQUNoQkMsVUFBVSxFQUFFLElBQUs7UUFDakJDLFNBQVMsRUFBRXRCLGFBQWM7UUFDekJ1QixLQUFLLEVBQUV0QixjQUFjLENBQUN1QixPQUFPLENBQUMsb0JBQW9CLENBQUU7UUFDcERDLFVBQVUsRUFBRUEsQ0FBQSxLQUFZO1VBQ3ZCWCxJQUFJLEVBQUVZLGVBQWUsQ0FBQ1gsU0FBUyxDQUFDO1VBQ2hDQSxTQUFTLEVBQUVZLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLENBQUU7UUFBQUMsUUFBQSxFQUVEO1VBQ0FwQixPQUFPLEVBQUVKLGNBQWMsQ0FBQyxDQUFDO1VBQ3pCeUIsTUFBTSxFQUNMYixJQUFBLENBQUNjLGVBQWU7WUFBQUYsUUFBQSxFQUNkO2NBQ0FwQixPQUFPLEVBQ051QixLQUFBLENBQUFDLFNBQUE7Z0JBQUFKLFFBQUEsR0FDQ1osSUFBQSxDQUFDaUIsYUFBYSxJQUFFLENBQUMsRUFDakJqQixJQUFBLENBQUNrQixNQUFNO2tCQUNOM0IsSUFBSSxFQUFFTixjQUFjLENBQUN1QixPQUFPLENBQUMsbUJBQW1CLENBQUU7a0JBQ2xEVyxLQUFLLEVBQUVBLENBQUEsS0FBWTtvQkFDbEJwQixTQUFTLENBQUNxQixLQUFLLENBQUMsQ0FBQztrQkFDbEI7Z0JBQUUsQ0FDRixDQUFDO2NBQUEsQ0FDRDtZQUVKO1VBQUMsQ0FDZTtRQUVuQjtNQUFDLENBQ08sQ0FDVDtNQUNEdEIsSUFBSSxFQUFFdUIsWUFBWSxDQUFDdEIsU0FBUyxDQUFDO01BQzdCQSxTQUFTLENBQUN1QixNQUFNLENBQUN2QyxNQUFNLENBQUM7TUFDeEIsT0FBT2dCLFNBQVM7SUFDakI7RUFDRCxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -3,9 +3,20 @@ import Button from "sap/m/Button";
|
|
|
3
3
|
import type { PlacementType } from "sap/m/library";
|
|
4
4
|
import OverflowToolbar from "sap/m/OverflowToolbar";
|
|
5
5
|
import Popover from "sap/m/Popover";
|
|
6
|
+
import Text from "sap/m/Text";
|
|
6
7
|
import ToolbarSpacer from "sap/m/ToolbarSpacer";
|
|
8
|
+
import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
7
9
|
import type Control from "sap/ui/core/Control";
|
|
8
10
|
import Lib from "sap/ui/core/Lib";
|
|
11
|
+
import type View from "sap/ui/core/mvc/View";
|
|
12
|
+
|
|
13
|
+
function getParentView(control: Control): View | undefined {
|
|
14
|
+
let current: ManagedObject | null = control;
|
|
15
|
+
while (current && !current.isA<View>("sap.ui.core.mvc.View")) {
|
|
16
|
+
current = current.getParent();
|
|
17
|
+
}
|
|
18
|
+
return current ?? undefined;
|
|
19
|
+
}
|
|
9
20
|
|
|
10
21
|
export default {
|
|
11
22
|
/**
|
|
@@ -14,12 +25,27 @@ export default {
|
|
|
14
25
|
* @param params.parent The control that opens the popover
|
|
15
26
|
* @param params.placementType Optional placement type for the popover
|
|
16
27
|
* @param params.content Optional content for the popover. If not provided, default content is used.
|
|
28
|
+
* @param params.contentText Optional text content for the popover. Use this instead of content to support i18n binding strings.
|
|
17
29
|
* @returns The generated Popover instance
|
|
18
30
|
*/
|
|
19
|
-
generatePopover(params: {
|
|
20
|
-
|
|
31
|
+
generatePopover(params: {
|
|
32
|
+
parent: Control;
|
|
33
|
+
placementType?: PlacementType;
|
|
34
|
+
content?: Control | Control[];
|
|
35
|
+
contentText?: string;
|
|
36
|
+
}): Popover {
|
|
37
|
+
const { parent, placementType } = params;
|
|
21
38
|
const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls") as ResourceBundle;
|
|
22
39
|
|
|
40
|
+
const resolveContent = (): Control | Control[] | undefined => {
|
|
41
|
+
if (params.contentText !== undefined) {
|
|
42
|
+
return new Text({ text: params.contentText });
|
|
43
|
+
}
|
|
44
|
+
const { content } = params;
|
|
45
|
+
return Array.isArray(content) ? content.map((item: Control) => item.clone()) : content?.clone();
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const view = getParentView(params.parent);
|
|
23
49
|
const myPopover = (
|
|
24
50
|
<Popover
|
|
25
51
|
class="sapUiContentPadding"
|
|
@@ -29,11 +55,12 @@ export default {
|
|
|
29
55
|
placement={placementType}
|
|
30
56
|
title={resourceBundle.getText("M_POPOVER_AI_TITLE")}
|
|
31
57
|
afterClose={(): void => {
|
|
58
|
+
view?.removeDependent(myPopover);
|
|
32
59
|
myPopover?.destroy();
|
|
33
60
|
}}
|
|
34
61
|
>
|
|
35
62
|
{{
|
|
36
|
-
content:
|
|
63
|
+
content: resolveContent(),
|
|
37
64
|
footer: (
|
|
38
65
|
<OverflowToolbar>
|
|
39
66
|
{{
|
|
@@ -54,6 +81,7 @@ export default {
|
|
|
54
81
|
}}
|
|
55
82
|
</Popover>
|
|
56
83
|
);
|
|
84
|
+
view?.addDependent(myPopover);
|
|
57
85
|
myPopover.openBy(parent);
|
|
58
86
|
return myPopover;
|
|
59
87
|
}
|