@sapui5/sap.fe.controls 1.136.0 → 1.136.2
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/easyFilter/AINotice.js +65 -33
- package/src/sap/fe/controls/easyFilter/AINotice.tsx +72 -43
- package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.js +4 -2
- package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.tsx +21 -8
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.js +45 -4
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.tsx +46 -2
- package/src/sap/fe/controls/easyFilter/Token.js +1 -5
- package/src/sap/fe/controls/easyFilter/Token.tsx +0 -6
- package/src/sap/fe/controls/easyFilter/innerControls/ValueHelpPreviewFactory.js +5 -13
- package/src/sap/fe/controls/easyFilter/innerControls/ValueHelpPreviewFactory.ts +4 -12
- package/src/sap/fe/controls/library.js +1 -1
- package/src/sap/fe/controls/messagebundle.properties +2 -0
- package/src/sap/fe/controls/messagebundle_ar.properties +3 -2
- package/src/sap/fe/controls/messagebundle_bg.properties +3 -2
- package/src/sap/fe/controls/messagebundle_ca.properties +3 -2
- package/src/sap/fe/controls/messagebundle_cnr.properties +3 -2
- package/src/sap/fe/controls/messagebundle_cs.properties +3 -2
- package/src/sap/fe/controls/messagebundle_cy.properties +2 -1
- package/src/sap/fe/controls/messagebundle_da.properties +3 -2
- package/src/sap/fe/controls/messagebundle_de.properties +5 -4
- package/src/sap/fe/controls/messagebundle_el.properties +3 -2
- package/src/sap/fe/controls/messagebundle_en.properties +2 -1
- package/src/sap/fe/controls/messagebundle_en_GB.properties +2 -1
- package/src/sap/fe/controls/messagebundle_en_US_saprigi.properties +2 -1
- package/src/sap/fe/controls/messagebundle_es.properties +3 -2
- package/src/sap/fe/controls/messagebundle_es_MX.properties +4 -3
- package/src/sap/fe/controls/messagebundle_et.properties +2 -1
- package/src/sap/fe/controls/messagebundle_fi.properties +2 -1
- package/src/sap/fe/controls/messagebundle_fr.properties +3 -2
- package/src/sap/fe/controls/messagebundle_fr_CA.properties +3 -2
- package/src/sap/fe/controls/messagebundle_hi.properties +2 -1
- package/src/sap/fe/controls/messagebundle_hr.properties +3 -2
- package/src/sap/fe/controls/messagebundle_hu.properties +3 -2
- package/src/sap/fe/controls/messagebundle_id.properties +3 -2
- package/src/sap/fe/controls/messagebundle_it.properties +3 -2
- package/src/sap/fe/controls/messagebundle_iw.properties +2 -1
- package/src/sap/fe/controls/messagebundle_ja.properties +3 -2
- package/src/sap/fe/controls/messagebundle_kk.properties +3 -2
- package/src/sap/fe/controls/messagebundle_ko.properties +2 -1
- package/src/sap/fe/controls/messagebundle_lt.properties +3 -2
- package/src/sap/fe/controls/messagebundle_lv.properties +3 -2
- package/src/sap/fe/controls/messagebundle_mk.properties +2 -1
- package/src/sap/fe/controls/messagebundle_ms.properties +3 -2
- package/src/sap/fe/controls/messagebundle_nl.properties +3 -2
- package/src/sap/fe/controls/messagebundle_no.properties +3 -2
- package/src/sap/fe/controls/messagebundle_pl.properties +3 -2
- package/src/sap/fe/controls/messagebundle_pt.properties +3 -2
- package/src/sap/fe/controls/messagebundle_pt_PT.properties +3 -2
- package/src/sap/fe/controls/messagebundle_ro.properties +3 -2
- package/src/sap/fe/controls/messagebundle_ru.properties +2 -1
- package/src/sap/fe/controls/messagebundle_sh.properties +3 -2
- package/src/sap/fe/controls/messagebundle_sk.properties +2 -1
- package/src/sap/fe/controls/messagebundle_sl.properties +3 -2
- package/src/sap/fe/controls/messagebundle_sr.properties +3 -2
- package/src/sap/fe/controls/messagebundle_sv.properties +2 -1
- package/src/sap/fe/controls/messagebundle_th.properties +2 -1
- package/src/sap/fe/controls/messagebundle_tr.properties +3 -2
- package/src/sap/fe/controls/messagebundle_uk.properties +3 -2
- package/src/sap/fe/controls/messagebundle_vi.properties +3 -2
- package/src/sap/fe/controls/messagebundle_zh_CN.properties +2 -1
- package/src/sap/fe/controls/messagebundle_zh_TW.properties +2 -1
- package/src/sap/fe/controls/shortcuts/popup/ShortcutTool.js +28 -10
- package/src/sap/fe/controls/shortcuts/popup/ShortcutTool.tsx +27 -13
package/package.json
CHANGED
|
@@ -2,57 +2,89 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/m/Button", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/Text", "sap/m/ToolbarSpacer", "sap/m/VBox", "sap/m/library", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/jsxs", "sap/fe/base/jsx-runtime/Fragment"], function (Button, OverflowToolbar, Popover, Text, ToolbarSpacer, VBox, library, _jsx, _jsxs, _Fragment) {
|
|
5
|
+
sap.ui.define(["sap/m/Button", "sap/m/Link", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/Text", "sap/m/ToolbarSpacer", "sap/m/VBox", "sap/m/library", "sap/ui/core/Lib", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/jsxs", "sap/fe/base/jsx-runtime/Fragment"], function (Button, Link, OverflowToolbar, Popover, Text, ToolbarSpacer, VBox, library, Lib, _jsx, _jsxs, _Fragment) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
var _exports = {};
|
|
8
9
|
var PlacementType = library.PlacementType;
|
|
9
10
|
var ButtonType = library.ButtonType;
|
|
11
|
+
const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls");
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @param titleText The title of the AI notice popover
|
|
15
|
+
* @returns A Popover component containing the AI notice text and a close button
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
function AIPopoverContent() {
|
|
19
|
+
const $aiNoticePopover = _jsx(Popover, {
|
|
20
|
+
contentWidth: "22.8125rem",
|
|
21
|
+
showArrow: true,
|
|
22
|
+
showHeader: true,
|
|
23
|
+
placement: PlacementType.Auto,
|
|
24
|
+
title: resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TITLE"),
|
|
25
|
+
children: {
|
|
26
|
+
content: _jsxs(VBox, {
|
|
27
|
+
children: [_jsx(Text, {
|
|
28
|
+
class: "sapFeControlsAiPopoverText1",
|
|
29
|
+
text: resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_1")
|
|
30
|
+
}), _jsx(Text, {
|
|
31
|
+
class: "sapFeControlsAiPopoverText2",
|
|
32
|
+
text: resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_2")
|
|
33
|
+
})]
|
|
34
|
+
}),
|
|
35
|
+
footer: _jsx(OverflowToolbar, {
|
|
36
|
+
children: {
|
|
37
|
+
content: _jsxs(_Fragment, {
|
|
38
|
+
children: [_jsx(ToolbarSpacer, {}), _jsx(Button, {
|
|
39
|
+
text: resourceBundle.getText("M_EASY_FILTER_POPOVER_CLOSE"),
|
|
40
|
+
press: () => {
|
|
41
|
+
$aiNoticePopover?.close();
|
|
42
|
+
}
|
|
43
|
+
})]
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return $aiNoticePopover;
|
|
50
|
+
}
|
|
51
|
+
|
|
10
52
|
/**
|
|
11
53
|
* Tiny component to display a link that opens a popover with the AI notice.
|
|
12
54
|
* @param props
|
|
13
55
|
* @param props.resourceBundle
|
|
14
56
|
* @returns The AI Notice component
|
|
15
57
|
*/
|
|
58
|
+
_exports.AIPopoverContent = AIPopoverContent;
|
|
16
59
|
function AINotice(props) {
|
|
17
60
|
return _jsx(Button, {
|
|
18
61
|
text: props.resourceBundle.getText("M_EASY_FILTER_FILTER_SET_AI"),
|
|
19
62
|
icon: "sap-icon://ai",
|
|
20
63
|
type: ButtonType.Transparent,
|
|
21
64
|
press: e => {
|
|
22
|
-
const $disclaimerPopover =
|
|
23
|
-
contentWidth: "22.8125rem",
|
|
24
|
-
showArrow: true,
|
|
25
|
-
showHeader: true,
|
|
26
|
-
placement: PlacementType.Bottom,
|
|
27
|
-
title: props.resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TITLE"),
|
|
28
|
-
children: {
|
|
29
|
-
content: _jsxs(VBox, {
|
|
30
|
-
children: [_jsx(Text, {
|
|
31
|
-
class: "sapFeControlsAiPopoverText1",
|
|
32
|
-
text: props.resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_1")
|
|
33
|
-
}), _jsx(Text, {
|
|
34
|
-
class: "sapFeControlsAiPopoverText2",
|
|
35
|
-
text: props.resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_2")
|
|
36
|
-
})]
|
|
37
|
-
}),
|
|
38
|
-
footer: _jsx(OverflowToolbar, {
|
|
39
|
-
children: {
|
|
40
|
-
content: _jsxs(_Fragment, {
|
|
41
|
-
children: [_jsx(ToolbarSpacer, {}), _jsx(Button, {
|
|
42
|
-
text: props.resourceBundle.getText("M_EASY_FILTER_POPOVER_CLOSE"),
|
|
43
|
-
press: () => {
|
|
44
|
-
$disclaimerPopover?.close();
|
|
45
|
-
}
|
|
46
|
-
})]
|
|
47
|
-
})
|
|
48
|
-
}
|
|
49
|
-
})
|
|
50
|
-
}
|
|
51
|
-
});
|
|
65
|
+
const $disclaimerPopover = AIPopoverContent();
|
|
52
66
|
$disclaimerPopover.openBy(e.getSource());
|
|
53
67
|
}
|
|
54
68
|
});
|
|
55
69
|
}
|
|
56
|
-
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @param title The title of the AI notice popover
|
|
73
|
+
* @param description The description text of the AI notice popover
|
|
74
|
+
* @param text The text of the button in the AI notice popover
|
|
75
|
+
* @returns The AI Notice link component that opens a popover with the AI notice
|
|
76
|
+
*/
|
|
77
|
+
_exports.AINotice = AINotice;
|
|
78
|
+
function AILinkNotice() {
|
|
79
|
+
return _jsx(Link, {
|
|
80
|
+
text: `${resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TITLE")}.`,
|
|
81
|
+
press: e => {
|
|
82
|
+
const $aiNoticePopover = AIPopoverContent();
|
|
83
|
+
$aiNoticePopover.openBy(e.getSource());
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
_exports.AILinkNotice = AILinkNotice;
|
|
88
|
+
return _exports;
|
|
57
89
|
}, false);
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXNvdXJjZUJ1bmRsZSIsIkxpYiIsImdldFJlc291cmNlQnVuZGxlRm9yIiwiQUlQb3BvdmVyQ29udGVudCIsIiRhaU5vdGljZVBvcG92ZXIiLCJfanN4IiwiUG9wb3ZlciIsImNvbnRlbnRXaWR0aCIsInNob3dBcnJvdyIsInNob3dIZWFkZXIiLCJwbGFjZW1lbnQiLCJQbGFjZW1lbnRUeXBlIiwiQXV0byIsInRpdGxlIiwiZ2V0VGV4dCIsImNoaWxkcmVuIiwiY29udGVudCIsIl9qc3hzIiwiVkJveCIsIlRleHQiLCJjbGFzcyIsInRleHQiLCJmb290ZXIiLCJPdmVyZmxvd1Rvb2xiYXIiLCJfRnJhZ21lbnQiLCJUb29sYmFyU3BhY2VyIiwiQnV0dG9uIiwicHJlc3MiLCJjbG9zZSIsIl9leHBvcnRzIiwiQUlOb3RpY2UiLCJwcm9wcyIsImljb24iLCJ0eXBlIiwiQnV0dG9uVHlwZSIsIlRyYW5zcGFyZW50IiwiZSIsIiRkaXNjbGFpbWVyUG9wb3ZlciIsIm9wZW5CeSIsImdldFNvdXJjZSIsIkFJTGlua05vdGljZSIsIkxpbmsiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkFJTm90aWNlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBSZXNvdXJjZUJ1bmRsZSBmcm9tIFwic2FwL2Jhc2UvaTE4bi9SZXNvdXJjZUJ1bmRsZVwiO1xuaW1wb3J0IHR5cGUgeyBCdXR0b24kUHJlc3NFdmVudCB9IGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBMaW5rJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCBPdmVyZmxvd1Rvb2xiYXIgZnJvbSBcInNhcC9tL092ZXJmbG93VG9vbGJhclwiO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSBcInNhcC9tL1BvcG92ZXJcIjtcbmltcG9ydCBUZXh0IGZyb20gXCJzYXAvbS9UZXh0XCI7XG5pbXBvcnQgVG9vbGJhclNwYWNlciBmcm9tIFwic2FwL20vVG9vbGJhclNwYWNlclwiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCB7IEJ1dHRvblR5cGUsIFBsYWNlbWVudFR5cGUgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IExpYiBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5cbmNvbnN0IHJlc291cmNlQnVuZGxlID0gTGliLmdldFJlc291cmNlQnVuZGxlRm9yKFwic2FwLmZlLmNvbnRyb2xzXCIpITtcblxuLyoqXG4gKiBAcGFyYW0gdGl0bGVUZXh0IFRoZSB0aXRsZSBvZiB0aGUgQUkgbm90aWNlIHBvcG92ZXJcbiAqIEByZXR1cm5zIEEgUG9wb3ZlciBjb21wb25lbnQgY29udGFpbmluZyB0aGUgQUkgbm90aWNlIHRleHQgYW5kIGEgY2xvc2UgYnV0dG9uXG4gKi9cblxuZnVuY3Rpb24gQUlQb3BvdmVyQ29udGVudCgpOiBQb3BvdmVyIHtcblx0Y29uc3QgJGFpTm90aWNlUG9wb3ZlcjogUG9wb3ZlciA9IChcblx0XHQ8UG9wb3ZlclxuXHRcdFx0Y29udGVudFdpZHRoPXtcIjIyLjgxMjVyZW1cIn1cblx0XHRcdHNob3dBcnJvdz17dHJ1ZX1cblx0XHRcdHNob3dIZWFkZXI9e3RydWV9XG5cdFx0XHRwbGFjZW1lbnQ9e1BsYWNlbWVudFR5cGUuQXV0b31cblx0XHRcdHRpdGxlPXtyZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9QT1BPVkVSX0FJX1RJVExFXCIpfVxuXHRcdD5cblx0XHRcdHt7XG5cdFx0XHRcdGNvbnRlbnQ6IChcblx0XHRcdFx0XHQ8VkJveD5cblx0XHRcdFx0XHRcdDxUZXh0IGNsYXNzPVwic2FwRmVDb250cm9sc0FpUG9wb3ZlclRleHQxXCIgdGV4dD17cmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9BSV9URVhUXzFcIil9IC8+XG5cdFx0XHRcdFx0XHQ8VGV4dCBjbGFzcz1cInNhcEZlQ29udHJvbHNBaVBvcG92ZXJUZXh0MlwiIHRleHQ9e3Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0VBU1lfRklMVEVSX1BPUE9WRVJfQUlfVEVYVF8yXCIpfSAvPlxuXHRcdFx0XHRcdDwvVkJveD5cblx0XHRcdFx0KSxcblx0XHRcdFx0Zm9vdGVyOiAoXG5cdFx0XHRcdFx0PE92ZXJmbG93VG9vbGJhcj5cblx0XHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IChcblx0XHRcdFx0XHRcdFx0XHQ8PlxuXHRcdFx0XHRcdFx0XHRcdFx0PFRvb2xiYXJTcGFjZXIgLz5cblx0XHRcdFx0XHRcdFx0XHRcdDxCdXR0b25cblx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dD17cmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRUFTWV9GSUxURVJfUE9QT1ZFUl9DTE9TRVwiKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0cHJlc3M9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkYWlOb3RpY2VQb3BvdmVyPy5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHQ8L092ZXJmbG93VG9vbGJhcj5cblx0XHRcdFx0KVxuXHRcdFx0fX1cblx0XHQ8L1BvcG92ZXI+XG5cdCk7XG5cblx0cmV0dXJuICRhaU5vdGljZVBvcG92ZXI7XG59XG5cbi8qKlxuICogVGlueSBjb21wb25lbnQgdG8gZGlzcGxheSBhIGxpbmsgdGhhdCBvcGVucyBhIHBvcG92ZXIgd2l0aCB0aGUgQUkgbm90aWNlLlxuICogQHBhcmFtIHByb3BzXG4gKiBAcGFyYW0gcHJvcHMucmVzb3VyY2VCdW5kbGVcbiAqIEByZXR1cm5zIFRoZSBBSSBOb3RpY2UgY29tcG9uZW50XG4gKi9cblxuZnVuY3Rpb24gQUlOb3RpY2UocHJvcHM6IHsgcmVzb3VyY2VCdW5kbGU6IFJlc291cmNlQnVuZGxlIH0pOiBMaW5rIHtcblx0cmV0dXJuIChcblx0XHQ8QnV0dG9uXG5cdFx0XHR0ZXh0PXtwcm9wcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9FQVNZX0ZJTFRFUl9GSUxURVJfU0VUX0FJXCIpfVxuXHRcdFx0aWNvbj1cInNhcC1pY29uOi8vYWlcIlxuXHRcdFx0dHlwZT17QnV0dG9uVHlwZS5UcmFuc3BhcmVudH1cblx0XHRcdHByZXNzPXsoZTogQnV0dG9uJFByZXNzRXZlbnQpOiB2b2lkID0+IHtcblx0XHRcdFx0Y29uc3QgJGRpc2NsYWltZXJQb3BvdmVyOiBQb3BvdmVyID0gQUlQb3BvdmVyQ29udGVudCgpO1xuXHRcdFx0XHQkZGlzY2xhaW1lclBvcG92ZXIub3BlbkJ5KGUuZ2V0U291cmNlKCkpO1xuXHRcdFx0fX1cblx0XHQvPlxuXHQpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB0aXRsZSBUaGUgdGl0bGUgb2YgdGhlIEFJIG5vdGljZSBwb3BvdmVyXG4gKiBAcGFyYW0gZGVzY3JpcHRpb24gVGhlIGRlc2NyaXB0aW9uIHRleHQgb2YgdGhlIEFJIG5vdGljZSBwb3BvdmVyXG4gKiBAcGFyYW0gdGV4dCBUaGUgdGV4dCBvZiB0aGUgYnV0dG9uIGluIHRoZSBBSSBub3RpY2UgcG9wb3ZlclxuICogQHJldHVybnMgVGhlIEFJIE5vdGljZSBsaW5rIGNvbXBvbmVudCB0aGF0IG9wZW5zIGEgcG9wb3ZlciB3aXRoIHRoZSBBSSBub3RpY2VcbiAqL1xuXG5mdW5jdGlvbiBBSUxpbmtOb3RpY2UoKTogTGluayB7XG5cdHJldHVybiAoXG5cdFx0PExpbmtcblx0XHRcdHRleHQ9e2Ake3Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0VBU1lfRklMVEVSX1BPUE9WRVJfQUlfVElUTEVcIil9LmB9XG5cdFx0XHRwcmVzcz17KGU6IExpbmskUHJlc3NFdmVudCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRjb25zdCAkYWlOb3RpY2VQb3BvdmVyID0gQUlQb3BvdmVyQ29udGVudCgpO1xuXHRcdFx0XHQkYWlOb3RpY2VQb3BvdmVyLm9wZW5CeShlLmdldFNvdXJjZSgpKTtcblx0XHRcdH19XG5cdFx0Lz5cblx0KTtcbn1cblxuZXhwb3J0IHsgQUlMaW5rTm90aWNlLCBBSU5vdGljZSwgQUlQb3BvdmVyQ29udGVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0VBYUEsTUFBTUEsY0FBYyxHQUFHQyxHQUFHLENBQUNDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFFOztFQUVuRTtBQUNBO0FBQ0E7QUFDQTs7RUFFQSxTQUFTQyxnQkFBZ0JBLENBQUEsRUFBWTtJQUNwQyxNQUFNQyxnQkFBeUIsR0FDOUJDLElBQUEsQ0FBQ0MsT0FBTztNQUNQQyxZQUFZLEVBQUUsWUFBYTtNQUMzQkMsU0FBUyxFQUFFLElBQUs7TUFDaEJDLFVBQVUsRUFBRSxJQUFLO01BQ2pCQyxTQUFTLEVBQUVDLGFBQWEsQ0FBQ0MsSUFBSztNQUM5QkMsS0FBSyxFQUFFYixjQUFjLENBQUNjLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBRTtNQUFBQyxRQUFBLEVBRS9EO1FBQ0FDLE9BQU8sRUFDTkMsS0FBQSxDQUFDQyxJQUFJO1VBQUFILFFBQUEsR0FDSlYsSUFBQSxDQUFDYyxJQUFJO1lBQUNDLEtBQUssRUFBQyw2QkFBNkI7WUFBQ0MsSUFBSSxFQUFFckIsY0FBYyxDQUFDYyxPQUFPLENBQUMsaUNBQWlDO1VBQUUsQ0FBRSxDQUFDLEVBQzdHVCxJQUFBLENBQUNjLElBQUk7WUFBQ0MsS0FBSyxFQUFDLDZCQUE2QjtZQUFDQyxJQUFJLEVBQUVyQixjQUFjLENBQUNjLE9BQU8sQ0FBQyxpQ0FBaUM7VUFBRSxDQUFFLENBQUM7UUFBQSxDQUN4RyxDQUNOO1FBQ0RRLE1BQU0sRUFDTGpCLElBQUEsQ0FBQ2tCLGVBQWU7VUFBQVIsUUFBQSxFQUNkO1lBQ0FDLE9BQU8sRUFDTkMsS0FBQSxDQUFBTyxTQUFBO2NBQUFULFFBQUEsR0FDQ1YsSUFBQSxDQUFDb0IsYUFBYSxJQUFFLENBQUMsRUFDakJwQixJQUFBLENBQUNxQixNQUFNO2dCQUNOTCxJQUFJLEVBQUVyQixjQUFjLENBQUNjLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBRTtnQkFDNURhLEtBQUssRUFBRUEsQ0FBQSxLQUFZO2tCQUNsQnZCLGdCQUFnQixFQUFFd0IsS0FBSyxDQUFDLENBQUM7Z0JBQzFCO2NBQUUsQ0FDRixDQUFDO1lBQUEsQ0FDRDtVQUVKO1FBQUMsQ0FDZTtNQUVuQjtJQUFDLENBQ08sQ0FDVDtJQUVELE9BQU94QixnQkFBZ0I7RUFDeEI7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEF5QixRQUFBLENBQUExQixnQkFBQSxHQUFBQSxnQkFBQTtFQU9BLFNBQVMyQixRQUFRQSxDQUFDQyxLQUF5QyxFQUFRO0lBQ2xFLE9BQ0MxQixJQUFBLENBQUNxQixNQUFNO01BQ05MLElBQUksRUFBRVUsS0FBSyxDQUFDL0IsY0FBYyxDQUFDYyxPQUFPLENBQUMsNkJBQTZCLENBQUU7TUFDbEVrQixJQUFJLEVBQUMsZUFBZTtNQUNwQkMsSUFBSSxFQUFFQyxVQUFVLENBQUNDLFdBQVk7TUFDN0JSLEtBQUssRUFBR1MsQ0FBb0IsSUFBVztRQUN0QyxNQUFNQyxrQkFBMkIsR0FBR2xDLGdCQUFnQixDQUFDLENBQUM7UUFDdERrQyxrQkFBa0IsQ0FBQ0MsTUFBTSxDQUFDRixDQUFDLENBQUNHLFNBQVMsQ0FBQyxDQUFDLENBQUM7TUFDekM7SUFBRSxDQUNGLENBQUM7RUFFSjs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQVYsUUFBQSxDQUFBQyxRQUFBLEdBQUFBLFFBQUE7RUFPQSxTQUFTVSxZQUFZQSxDQUFBLEVBQVM7SUFDN0IsT0FDQ25DLElBQUEsQ0FBQ29DLElBQUk7TUFDSnBCLElBQUksRUFBRSxHQUFHckIsY0FBYyxDQUFDYyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsR0FBSTtNQUNyRWEsS0FBSyxFQUFHUyxDQUFrQixJQUFXO1FBQ3BDLE1BQU1oQyxnQkFBZ0IsR0FBR0QsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQ0MsZ0JBQWdCLENBQUNrQyxNQUFNLENBQUNGLENBQUMsQ0FBQ0csU0FBUyxDQUFDLENBQUMsQ0FBQztNQUN2QztJQUFFLENBQ0YsQ0FBQztFQUVKO0VBQUNWLFFBQUEsQ0FBQVcsWUFBQSxHQUFBQSxZQUFBO0VBQUEsT0FBQVgsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,13 +1,62 @@
|
|
|
1
1
|
import type ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
2
2
|
import type { Button$PressEvent } from "sap/m/Button";
|
|
3
3
|
import Button from "sap/m/Button";
|
|
4
|
-
import type Link from "sap/m/Link";
|
|
4
|
+
import type { Link$PressEvent } from "sap/m/Link";
|
|
5
|
+
import Link from "sap/m/Link";
|
|
5
6
|
import OverflowToolbar from "sap/m/OverflowToolbar";
|
|
6
7
|
import Popover from "sap/m/Popover";
|
|
7
8
|
import Text from "sap/m/Text";
|
|
8
9
|
import ToolbarSpacer from "sap/m/ToolbarSpacer";
|
|
9
10
|
import VBox from "sap/m/VBox";
|
|
10
11
|
import { ButtonType, PlacementType } from "sap/m/library";
|
|
12
|
+
import Lib from "sap/ui/core/Lib";
|
|
13
|
+
|
|
14
|
+
const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls")!;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @param titleText The title of the AI notice popover
|
|
18
|
+
* @returns A Popover component containing the AI notice text and a close button
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
function AIPopoverContent(): Popover {
|
|
22
|
+
const $aiNoticePopover: Popover = (
|
|
23
|
+
<Popover
|
|
24
|
+
contentWidth={"22.8125rem"}
|
|
25
|
+
showArrow={true}
|
|
26
|
+
showHeader={true}
|
|
27
|
+
placement={PlacementType.Auto}
|
|
28
|
+
title={resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TITLE")}
|
|
29
|
+
>
|
|
30
|
+
{{
|
|
31
|
+
content: (
|
|
32
|
+
<VBox>
|
|
33
|
+
<Text class="sapFeControlsAiPopoverText1" text={resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_1")} />
|
|
34
|
+
<Text class="sapFeControlsAiPopoverText2" text={resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_2")} />
|
|
35
|
+
</VBox>
|
|
36
|
+
),
|
|
37
|
+
footer: (
|
|
38
|
+
<OverflowToolbar>
|
|
39
|
+
{{
|
|
40
|
+
content: (
|
|
41
|
+
<>
|
|
42
|
+
<ToolbarSpacer />
|
|
43
|
+
<Button
|
|
44
|
+
text={resourceBundle.getText("M_EASY_FILTER_POPOVER_CLOSE")}
|
|
45
|
+
press={(): void => {
|
|
46
|
+
$aiNoticePopover?.close();
|
|
47
|
+
}}
|
|
48
|
+
/>
|
|
49
|
+
</>
|
|
50
|
+
)
|
|
51
|
+
}}
|
|
52
|
+
</OverflowToolbar>
|
|
53
|
+
)
|
|
54
|
+
}}
|
|
55
|
+
</Popover>
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
return $aiNoticePopover;
|
|
59
|
+
}
|
|
11
60
|
|
|
12
61
|
/**
|
|
13
62
|
* Tiny component to display a link that opens a popover with the AI notice.
|
|
@@ -15,6 +64,7 @@ import { ButtonType, PlacementType } from "sap/m/library";
|
|
|
15
64
|
* @param props.resourceBundle
|
|
16
65
|
* @returns The AI Notice component
|
|
17
66
|
*/
|
|
67
|
+
|
|
18
68
|
function AINotice(props: { resourceBundle: ResourceBundle }): Link {
|
|
19
69
|
return (
|
|
20
70
|
<Button
|
|
@@ -22,51 +72,30 @@ function AINotice(props: { resourceBundle: ResourceBundle }): Link {
|
|
|
22
72
|
icon="sap-icon://ai"
|
|
23
73
|
type={ButtonType.Transparent}
|
|
24
74
|
press={(e: Button$PressEvent): void => {
|
|
25
|
-
const $disclaimerPopover: Popover = (
|
|
26
|
-
<Popover
|
|
27
|
-
contentWidth={"22.8125rem"}
|
|
28
|
-
showArrow={true}
|
|
29
|
-
showHeader={true}
|
|
30
|
-
placement={PlacementType.Bottom}
|
|
31
|
-
title={props.resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TITLE")}
|
|
32
|
-
>
|
|
33
|
-
{{
|
|
34
|
-
content: (
|
|
35
|
-
<VBox>
|
|
36
|
-
<Text
|
|
37
|
-
class="sapFeControlsAiPopoverText1"
|
|
38
|
-
text={props.resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_1")}
|
|
39
|
-
/>
|
|
40
|
-
<Text
|
|
41
|
-
class="sapFeControlsAiPopoverText2"
|
|
42
|
-
text={props.resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TEXT_2")}
|
|
43
|
-
/>
|
|
44
|
-
</VBox>
|
|
45
|
-
),
|
|
46
|
-
footer: (
|
|
47
|
-
<OverflowToolbar>
|
|
48
|
-
{{
|
|
49
|
-
content: (
|
|
50
|
-
<>
|
|
51
|
-
<ToolbarSpacer />
|
|
52
|
-
<Button
|
|
53
|
-
text={props.resourceBundle.getText("M_EASY_FILTER_POPOVER_CLOSE")}
|
|
54
|
-
press={(): void => {
|
|
55
|
-
$disclaimerPopover?.close();
|
|
56
|
-
}}
|
|
57
|
-
/>
|
|
58
|
-
</>
|
|
59
|
-
)
|
|
60
|
-
}}
|
|
61
|
-
</OverflowToolbar>
|
|
62
|
-
)
|
|
63
|
-
}}
|
|
64
|
-
</Popover>
|
|
65
|
-
) as Popover;
|
|
75
|
+
const $disclaimerPopover: Popover = AIPopoverContent();
|
|
66
76
|
$disclaimerPopover.openBy(e.getSource());
|
|
67
77
|
}}
|
|
68
78
|
/>
|
|
69
79
|
);
|
|
70
80
|
}
|
|
71
81
|
|
|
72
|
-
|
|
82
|
+
/**
|
|
83
|
+
* @param title The title of the AI notice popover
|
|
84
|
+
* @param description The description text of the AI notice popover
|
|
85
|
+
* @param text The text of the button in the AI notice popover
|
|
86
|
+
* @returns The AI Notice link component that opens a popover with the AI notice
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
function AILinkNotice(): Link {
|
|
90
|
+
return (
|
|
91
|
+
<Link
|
|
92
|
+
text={`${resourceBundle.getText("M_EASY_FILTER_POPOVER_AI_TITLE")}.`}
|
|
93
|
+
press={(e: Link$PressEvent): void => {
|
|
94
|
+
const $aiNoticePopover = AIPopoverContent();
|
|
95
|
+
$aiNoticePopover.openBy(e.getSource());
|
|
96
|
+
}}
|
|
97
|
+
/>
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export { AILinkNotice, AINotice, AIPopoverContent };
|