@sapui5/sap.fe.controls 1.144.0 → 1.146.0
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 +2 -2
- package/src/sap/fe/controls/AINotice.js +172 -0
- package/src/sap/fe/controls/AINotice.tsx +150 -0
- package/src/sap/fe/controls/easyFill/EasyFillPlaceholder.js +1 -1
- package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.js +65 -26
- package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.tsx +45 -7
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.js +14 -10
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.tsx +14 -10
- package/src/sap/fe/controls/easyFilter/ErrorMessageHandler.js +1 -1
- package/src/sap/fe/controls/easyFilter/PXFeedback.js +1 -1
- package/src/sap/fe/controls/easyFilter/ShellHistoryProvider.js +1 -1
- package/src/sap/fe/controls/easyFilter/Token.js +4 -4
- package/src/sap/fe/controls/easyFilter/Token.tsx +2 -2
- package/src/sap/fe/controls/easyFilter/innerControls/BaseFactory.js +1 -1
- package/src/sap/fe/controls/easyFilter/innerControls/CalendarFactory.js +1 -1
- package/src/sap/fe/controls/easyFilter/innerControls/MenuWithCheckBoxFactory.js +1 -1
- package/src/sap/fe/controls/easyFilter/innerControls/MenuWithSingleSelectFactory.js +1 -1
- package/src/sap/fe/controls/easyFilter/innerControls/TimeFactory.js +1 -1
- package/src/sap/fe/controls/easyFilter/innerControls/ValueHelpPreviewFactory.js +1 -1
- package/src/sap/fe/controls/easyFilter/utils.js +1 -1
- package/src/sap/fe/controls/inlineEdit/InlineEditIndicator.js +1 -1
- package/src/sap/fe/controls/library.js +2 -2
- package/src/sap/fe/controls/messagebundle.properties +20 -10
- package/src/sap/fe/controls/messagebundle_ar.properties +21 -5
- package/src/sap/fe/controls/messagebundle_bg.properties +21 -5
- package/src/sap/fe/controls/messagebundle_ca.properties +21 -5
- package/src/sap/fe/controls/messagebundle_cnr.properties +21 -5
- package/src/sap/fe/controls/messagebundle_cs.properties +21 -5
- package/src/sap/fe/controls/messagebundle_cy.properties +21 -5
- package/src/sap/fe/controls/messagebundle_da.properties +21 -5
- package/src/sap/fe/controls/messagebundle_de.properties +25 -9
- package/src/sap/fe/controls/messagebundle_el.properties +21 -5
- package/src/sap/fe/controls/messagebundle_en.properties +21 -5
- package/src/sap/fe/controls/messagebundle_en_GB.properties +21 -5
- package/src/sap/fe/controls/messagebundle_en_US_saprigi.properties +6 -5
- package/src/sap/fe/controls/messagebundle_es.properties +21 -5
- package/src/sap/fe/controls/messagebundle_es_MX.properties +22 -6
- package/src/sap/fe/controls/messagebundle_et.properties +21 -5
- package/src/sap/fe/controls/messagebundle_fi.properties +21 -5
- package/src/sap/fe/controls/messagebundle_fr.properties +21 -5
- package/src/sap/fe/controls/messagebundle_fr_CA.properties +21 -5
- package/src/sap/fe/controls/messagebundle_hi.properties +21 -5
- package/src/sap/fe/controls/messagebundle_hr.properties +21 -5
- package/src/sap/fe/controls/messagebundle_hu.properties +21 -5
- package/src/sap/fe/controls/messagebundle_id.properties +21 -5
- package/src/sap/fe/controls/messagebundle_it.properties +21 -5
- package/src/sap/fe/controls/messagebundle_iw.properties +21 -5
- package/src/sap/fe/controls/messagebundle_ja.properties +21 -5
- package/src/sap/fe/controls/messagebundle_kk.properties +21 -5
- package/src/sap/fe/controls/messagebundle_ko.properties +21 -5
- package/src/sap/fe/controls/messagebundle_lt.properties +21 -5
- package/src/sap/fe/controls/messagebundle_lv.properties +21 -5
- package/src/sap/fe/controls/messagebundle_mk.properties +21 -5
- package/src/sap/fe/controls/messagebundle_ms.properties +21 -5
- package/src/sap/fe/controls/messagebundle_nl.properties +21 -5
- package/src/sap/fe/controls/messagebundle_no.properties +22 -6
- package/src/sap/fe/controls/messagebundle_pl.properties +21 -5
- package/src/sap/fe/controls/messagebundle_pt.properties +21 -5
- package/src/sap/fe/controls/messagebundle_pt_PT.properties +21 -5
- package/src/sap/fe/controls/messagebundle_ro.properties +21 -5
- package/src/sap/fe/controls/messagebundle_ru.properties +21 -5
- package/src/sap/fe/controls/messagebundle_sh.properties +21 -5
- package/src/sap/fe/controls/messagebundle_sk.properties +21 -5
- package/src/sap/fe/controls/messagebundle_sl.properties +21 -5
- package/src/sap/fe/controls/messagebundle_sr.properties +21 -5
- package/src/sap/fe/controls/messagebundle_sv.properties +21 -5
- package/src/sap/fe/controls/messagebundle_th.properties +21 -5
- package/src/sap/fe/controls/messagebundle_tr.properties +21 -5
- package/src/sap/fe/controls/messagebundle_uk.properties +21 -5
- package/src/sap/fe/controls/messagebundle_vi.properties +21 -5
- package/src/sap/fe/controls/messagebundle_zh_CN.properties +21 -5
- package/src/sap/fe/controls/messagebundle_zh_TW.properties +21 -5
- package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.js +25 -17
- package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.tsx +38 -17
- package/src/sap/fe/controls/shortcuts/popup/ShortcutTool.js +1 -1
- package/src/sap/fe/controls/themes/base/InlineEditIndicator.less +9 -1
- package/src/sap/fe/controls/easyFilter/AINotice.js +0 -90
- package/src/sap/fe/controls/easyFilter/AINotice.tsx +0 -101
package/package.json
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<vendor>SAP SE</vendor>
|
|
5
5
|
<copyright>
|
|
6
6
|
SAP UI development toolkit for HTML5 (SAPUI5)
|
|
7
|
-
(c) Copyright 2009-
|
|
7
|
+
(c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
8
8
|
</copyright>
|
|
9
|
-
<version>1.
|
|
9
|
+
<version>1.146.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>UI5 library: sap.fe.controls</documentation>
|
|
12
12
|
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/fe/base/BuildingBlockBase", "sap/fe/base/ClassSupport", "sap/m/Button", "sap/m/Label", "sap/m/Link", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/ToolbarSpacer", "sap/m/library", "sap/ui/core/Lib", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/Fragment", "sap/fe/base/jsx-runtime/jsxs"], function (BuildingBlockBase, ClassSupport, Button, Label, Link, OverflowToolbar, Popover, ToolbarSpacer, library, Lib, _jsx, _Fragment, _jsxs) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;
|
|
9
|
+
var _exports = {};
|
|
10
|
+
var ButtonType = library.ButtonType;
|
|
11
|
+
var property = ClassSupport.property;
|
|
12
|
+
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
13
|
+
var aggregation = ClassSupport.aggregation;
|
|
14
|
+
function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
|
|
15
|
+
function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
|
|
16
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
17
|
+
function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
|
|
18
|
+
function _initializerWarningHelper(r, e) { throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); }
|
|
19
|
+
/**
|
|
20
|
+
* Building block that displays a AI notice.
|
|
21
|
+
*
|
|
22
|
+
* It's used to display information related to AI features. This information is rendered either
|
|
23
|
+
* as a link if the aggregation popoverContent is defined or as a label if there is no aggregation popoverContent.
|
|
24
|
+
*/
|
|
25
|
+
let AINotice = (_dec = defineUI5Class("sap.fe.controls.AINotice"), _dec2 = property({
|
|
26
|
+
type: "boolean",
|
|
27
|
+
isBindingInfo: true,
|
|
28
|
+
defaultValue: true
|
|
29
|
+
}), _dec3 = property({
|
|
30
|
+
type: "string",
|
|
31
|
+
defaultValue: "Link"
|
|
32
|
+
}), _dec4 = aggregation({
|
|
33
|
+
type: "sap.ui.core.Control",
|
|
34
|
+
multiple: true,
|
|
35
|
+
isDefault: true
|
|
36
|
+
}), _dec5 = property({
|
|
37
|
+
type: "string"
|
|
38
|
+
}), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockBase) {
|
|
39
|
+
function AINotice(properties, others) {
|
|
40
|
+
var _this;
|
|
41
|
+
_this = _BuildingBlockBase.call(this, properties, others) || this;
|
|
42
|
+
_initializerDefineProperty(_this, "visible", _descriptor, _this);
|
|
43
|
+
/**
|
|
44
|
+
* The type of control to display
|
|
45
|
+
*/
|
|
46
|
+
_initializerDefineProperty(_this, "type", _descriptor2, _this);
|
|
47
|
+
/**
|
|
48
|
+
* The content to display into the popover
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
_initializerDefineProperty(_this, "popoverContent", _descriptor3, _this);
|
|
52
|
+
/**
|
|
53
|
+
* The placement type of the popover
|
|
54
|
+
*/
|
|
55
|
+
_initializerDefineProperty(_this, "placementType", _descriptor4, _this);
|
|
56
|
+
_this.resourceBundle = Lib.getResourceBundleFor("sap.fe.controls");
|
|
57
|
+
_this.content = _this.createContent();
|
|
58
|
+
return _this;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Returns the popover of the control.
|
|
63
|
+
* @returns The popover
|
|
64
|
+
*/
|
|
65
|
+
_exports = AINotice;
|
|
66
|
+
_inheritsLoose(AINotice, _BuildingBlockBase);
|
|
67
|
+
var _proto = AINotice.prototype;
|
|
68
|
+
_proto.createPopover = function createPopover() {
|
|
69
|
+
const myPopover = _jsx(Popover, {
|
|
70
|
+
class: "sapUiContentPadding",
|
|
71
|
+
contentMinWidth: "22.8125rem",
|
|
72
|
+
showArrow: true,
|
|
73
|
+
showHeader: true,
|
|
74
|
+
placement: this.placementType,
|
|
75
|
+
title: this.resourceBundle.getText("M_POPOVER_AI_TITLE"),
|
|
76
|
+
children: {
|
|
77
|
+
content: Array.isArray(this.popoverContent) ? this.popoverContent?.map(content => content.clone()) : this.popoverContent?.clone(),
|
|
78
|
+
footer: _jsx(OverflowToolbar, {
|
|
79
|
+
children: {
|
|
80
|
+
content: _jsxs(_Fragment, {
|
|
81
|
+
children: [_jsx(ToolbarSpacer, {}), _jsx(Button, {
|
|
82
|
+
text: this.resourceBundle.getText("M_NOTICE_AI_CLOSE"),
|
|
83
|
+
press: () => {
|
|
84
|
+
myPopover.close();
|
|
85
|
+
}
|
|
86
|
+
})]
|
|
87
|
+
})
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return myPopover;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Handles the press event on the control.
|
|
97
|
+
* @param event The press event
|
|
98
|
+
*/;
|
|
99
|
+
_proto.onPress = function onPress(event) {
|
|
100
|
+
const popover = this.createPopover();
|
|
101
|
+
popover.openBy(event.getSource());
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Returns the link or text depending on the popoverContent aggregation.
|
|
106
|
+
* @returns The control tree
|
|
107
|
+
*/;
|
|
108
|
+
_proto.createLinkOrLabel = function createLinkOrLabel() {
|
|
109
|
+
const mainText = this.resourceBundle.getText("M_NOTICE_AI_TITLE");
|
|
110
|
+
return this.getAggregation("popoverContent") ? _jsx(Link, {
|
|
111
|
+
visible: this.visible,
|
|
112
|
+
text: mainText,
|
|
113
|
+
press: e => this.onPress(e)
|
|
114
|
+
}) : _jsx(Label, {
|
|
115
|
+
visible: this.visible,
|
|
116
|
+
text: mainText
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Returns the button.
|
|
122
|
+
* @returns The button
|
|
123
|
+
*/;
|
|
124
|
+
_proto.createButton = function createButton() {
|
|
125
|
+
return _jsx(Button, {
|
|
126
|
+
visible: this.visible,
|
|
127
|
+
icon: "sap-icon://ai",
|
|
128
|
+
type: ButtonType.Transparent,
|
|
129
|
+
text: this.resourceBundle.getText("M_NOTICE_AI_FILTER"),
|
|
130
|
+
press: e => this.onPress(e)
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Returns the content of this building block.
|
|
136
|
+
* @returns The control tree
|
|
137
|
+
*/;
|
|
138
|
+
_proto.createContent = function createContent() {
|
|
139
|
+
switch (this.type) {
|
|
140
|
+
case "Button":
|
|
141
|
+
return this.createButton();
|
|
142
|
+
case "Link":
|
|
143
|
+
default:
|
|
144
|
+
return this.createLinkOrLabel();
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
return AINotice;
|
|
148
|
+
}(BuildingBlockBase), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "visible", [_dec2], {
|
|
149
|
+
configurable: true,
|
|
150
|
+
enumerable: true,
|
|
151
|
+
writable: true,
|
|
152
|
+
initializer: null
|
|
153
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "type", [_dec3], {
|
|
154
|
+
configurable: true,
|
|
155
|
+
enumerable: true,
|
|
156
|
+
writable: true,
|
|
157
|
+
initializer: null
|
|
158
|
+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "popoverContent", [_dec4], {
|
|
159
|
+
configurable: true,
|
|
160
|
+
enumerable: true,
|
|
161
|
+
writable: true,
|
|
162
|
+
initializer: null
|
|
163
|
+
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "placementType", [_dec5], {
|
|
164
|
+
configurable: true,
|
|
165
|
+
enumerable: true,
|
|
166
|
+
writable: true,
|
|
167
|
+
initializer: null
|
|
168
|
+
}), _class2)) || _class);
|
|
169
|
+
_exports = AINotice;
|
|
170
|
+
return _exports;
|
|
171
|
+
}, false);
|
|
172
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBSU5vdGljZSIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiaXNCaW5kaW5nSW5mbyIsImRlZmF1bHRWYWx1ZSIsIl9kZWMzIiwiX2RlYzQiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiaXNEZWZhdWx0IiwiX2RlYzUiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2tCYXNlIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJyZXNvdXJjZUJ1bmRsZSIsIkxpYiIsImdldFJlc291cmNlQnVuZGxlRm9yIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiY3JlYXRlUG9wb3ZlciIsIm15UG9wb3ZlciIsIl9qc3giLCJQb3BvdmVyIiwiY2xhc3MiLCJjb250ZW50TWluV2lkdGgiLCJzaG93QXJyb3ciLCJzaG93SGVhZGVyIiwicGxhY2VtZW50IiwicGxhY2VtZW50VHlwZSIsInRpdGxlIiwiZ2V0VGV4dCIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwicG9wb3ZlckNvbnRlbnQiLCJtYXAiLCJjbG9uZSIsImZvb3RlciIsIk92ZXJmbG93VG9vbGJhciIsIl9qc3hzIiwiX0ZyYWdtZW50IiwiVG9vbGJhclNwYWNlciIsIkJ1dHRvbiIsInRleHQiLCJwcmVzcyIsImNsb3NlIiwib25QcmVzcyIsImV2ZW50IiwicG9wb3ZlciIsIm9wZW5CeSIsImdldFNvdXJjZSIsImNyZWF0ZUxpbmtPckxhYmVsIiwibWFpblRleHQiLCJnZXRBZ2dyZWdhdGlvbiIsIkxpbmsiLCJ2aXNpYmxlIiwiZSIsIkxhYmVsIiwiY3JlYXRlQnV0dG9uIiwiaWNvbiIsIkJ1dHRvblR5cGUiLCJUcmFuc3BhcmVudCIsIkJ1aWxkaW5nQmxvY2tCYXNlIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBSU5vdGljZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrQmFzZSBmcm9tIFwic2FwL2ZlL2Jhc2UvQnVpbGRpbmdCbG9ja0Jhc2VcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcywgdHlwZSBQcm9wZXJ0aWVzT2YsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBCdXR0b24kUHJlc3NFdmVudCB9IGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IHR5cGUgeyBMaW5rJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCBPdmVyZmxvd1Rvb2xiYXIgZnJvbSBcInNhcC9tL092ZXJmbG93VG9vbGJhclwiO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSBcInNhcC9tL1BvcG92ZXJcIjtcbmltcG9ydCBUb29sYmFyU3BhY2VyIGZyb20gXCJzYXAvbS9Ub29sYmFyU3BhY2VyXCI7XG5pbXBvcnQgdHlwZSB7IFBsYWNlbWVudFR5cGUgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gXCJzYXAvbS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgTGliIGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB0aGF0IGRpc3BsYXlzIGEgQUkgbm90aWNlLlxuICpcbiAqIEl0J3MgdXNlZCB0byBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gQUkgZmVhdHVyZXMuIFRoaXMgaW5mb3JtYXRpb24gaXMgcmVuZGVyZWQgZWl0aGVyXG4gKiBhcyBhIGxpbmsgaWYgdGhlIGFnZ3JlZ2F0aW9uIHBvcG92ZXJDb250ZW50IGlzIGRlZmluZWQgb3IgYXMgYSBsYWJlbCBpZiB0aGVyZSBpcyBubyBhZ2dyZWdhdGlvbiBwb3BvdmVyQ29udGVudC5cbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvbnRyb2xzLkFJTm90aWNlXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBSU5vdGljZSBleHRlbmRzIEJ1aWxkaW5nQmxvY2tCYXNlPENvbnRyb2w+IHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGlzQmluZGluZ0luZm86IHRydWUsIGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuXHR2aXNpYmxlPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIHR5cGUgb2YgY29udHJvbCB0byBkaXNwbGF5XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBkZWZhdWx0VmFsdWU6IFwiTGlua1wiIH0pXG5cdHR5cGU/OiBcIkxpbmtcIiB8IFwiQnV0dG9uXCI7XG5cblx0LyoqXG5cdCAqIFRoZSBjb250ZW50IHRvIGRpc3BsYXkgaW50byB0aGUgcG9wb3ZlclxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IHRydWUsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRwb3BvdmVyQ29udGVudD86IENvbnRyb2w7XG5cblx0LyoqXG5cdCAqIFRoZSBwbGFjZW1lbnQgdHlwZSBvZiB0aGUgcG9wb3ZlclxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRwbGFjZW1lbnRUeXBlPzogUGxhY2VtZW50VHlwZTtcblxuXHRyZXNvdXJjZUJ1bmRsZSE6IFJlc291cmNlQnVuZGxlO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6IFByb3BlcnRpZXNPZjxBSU5vdGljZT4sIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wZXJ0aWVzLCBvdGhlcnMpO1xuXHRcdHRoaXMucmVzb3VyY2VCdW5kbGUgPSBMaWIuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29udHJvbHNcIikgYXMgUmVzb3VyY2VCdW5kbGU7XG5cdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgcG9wb3ZlciBvZiB0aGUgY29udHJvbC5cblx0ICogQHJldHVybnMgVGhlIHBvcG92ZXJcblx0ICovXG5cdGNyZWF0ZVBvcG92ZXIoKTogUG9wb3ZlciB7XG5cdFx0Y29uc3QgbXlQb3BvdmVyID0gKFxuXHRcdFx0PFBvcG92ZXJcblx0XHRcdFx0Y2xhc3M9XCJzYXBVaUNvbnRlbnRQYWRkaW5nXCJcblx0XHRcdFx0Y29udGVudE1pbldpZHRoPXtcIjIyLjgxMjVyZW1cIn1cblx0XHRcdFx0c2hvd0Fycm93PXt0cnVlfVxuXHRcdFx0XHRzaG93SGVhZGVyPXt0cnVlfVxuXHRcdFx0XHRwbGFjZW1lbnQ9e3RoaXMucGxhY2VtZW50VHlwZX1cblx0XHRcdFx0dGl0bGU9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fUE9QT1ZFUl9BSV9USVRMRVwiKX1cblx0XHRcdD5cblx0XHRcdFx0e3tcblx0XHRcdFx0XHRjb250ZW50OiBBcnJheS5pc0FycmF5KHRoaXMucG9wb3ZlckNvbnRlbnQpXG5cdFx0XHRcdFx0XHQ/IHRoaXMucG9wb3ZlckNvbnRlbnQ/Lm1hcCgoY29udGVudDogTWFuYWdlZE9iamVjdCkgPT4gY29udGVudC5jbG9uZSgpKVxuXHRcdFx0XHRcdFx0OiB0aGlzLnBvcG92ZXJDb250ZW50Py5jbG9uZSgpLFxuXHRcdFx0XHRcdGZvb3RlcjogKFxuXHRcdFx0XHRcdFx0PE92ZXJmbG93VG9vbGJhcj5cblx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAoXG5cdFx0XHRcdFx0XHRcdFx0XHQ8PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8VG9vbGJhclNwYWNlciAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dD17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9OT1RJQ0VfQUlfQ0xPU0VcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cHJlc3M9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG15UG9wb3Zlci5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHQ8L092ZXJmbG93VG9vbGJhcj5cblx0XHRcdFx0XHQpXG5cdFx0XHRcdH19XG5cdFx0XHQ8L1BvcG92ZXI+XG5cdFx0KTtcblx0XHRyZXR1cm4gbXlQb3BvdmVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXMgdGhlIHByZXNzIGV2ZW50IG9uIHRoZSBjb250cm9sLlxuXHQgKiBAcGFyYW0gZXZlbnQgVGhlIHByZXNzIGV2ZW50XG5cdCAqL1xuXHRvblByZXNzKGV2ZW50OiBCdXR0b24kUHJlc3NFdmVudCB8IExpbmskUHJlc3NFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IHBvcG92ZXIgPSB0aGlzLmNyZWF0ZVBvcG92ZXIoKTtcblx0XHRwb3BvdmVyLm9wZW5CeSgoZXZlbnQgYXMgRXZlbnQ8Q29udHJvbD4pLmdldFNvdXJjZSgpIGFzIHVua25vd24gYXMgQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgbGluayBvciB0ZXh0IGRlcGVuZGluZyBvbiB0aGUgcG9wb3ZlckNvbnRlbnQgYWdncmVnYXRpb24uXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIHRyZWVcblx0ICovXG5cdGNyZWF0ZUxpbmtPckxhYmVsKCk6IExpbmsgfCBMYWJlbCB7XG5cdFx0Y29uc3QgbWFpblRleHQgPSB0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX05PVElDRV9BSV9USVRMRVwiKTtcblx0XHRyZXR1cm4gdGhpcy5nZXRBZ2dyZWdhdGlvbihcInBvcG92ZXJDb250ZW50XCIpID8gKFxuXHRcdFx0PExpbmsgdmlzaWJsZT17dGhpcy52aXNpYmxlfSB0ZXh0PXttYWluVGV4dH0gcHJlc3M9eyhlOiBMaW5rJFByZXNzRXZlbnQpOiB2b2lkID0+IHRoaXMub25QcmVzcyhlKX0gLz5cblx0XHQpIDogKFxuXHRcdFx0PExhYmVsIHZpc2libGU9e3RoaXMudmlzaWJsZX0gdGV4dD17bWFpblRleHR9IC8+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBidXR0b24uXG5cdCAqIEByZXR1cm5zIFRoZSBidXR0b25cblx0ICovXG5cdGNyZWF0ZUJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdHZpc2libGU9e3RoaXMudmlzaWJsZX1cblx0XHRcdFx0aWNvbj1cInNhcC1pY29uOi8vYWlcIlxuXHRcdFx0XHR0eXBlPXtCdXR0b25UeXBlLlRyYW5zcGFyZW50fVxuXHRcdFx0XHR0ZXh0PXt0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX05PVElDRV9BSV9GSUxURVJcIil9XG5cdFx0XHRcdHByZXNzPXsoZTogQnV0dG9uJFByZXNzRXZlbnQpOiB2b2lkID0+IHRoaXMub25QcmVzcyhlKX1cblx0XHRcdC8+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoaXMgYnVpbGRpbmcgYmxvY2suXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIHRyZWVcblx0ICovXG5cdGNyZWF0ZUNvbnRlbnQoKTogTGluayB8IEJ1dHRvbiB8IExhYmVsIHtcblx0XHRzd2l0Y2ggKHRoaXMudHlwZSkge1xuXHRcdFx0Y2FzZSBcIkJ1dHRvblwiOlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5jcmVhdGVCdXR0b24oKTtcblx0XHRcdGNhc2UgXCJMaW5rXCI6XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5jcmVhdGVMaW5rT3JMYWJlbCgpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEEsSUFPcUJBLFFBQVEsSUFBQUMsSUFBQSxHQUQ1QkMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLEVBQUFDLEtBQUEsR0FFekNDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsU0FBUztJQUFFQyxhQUFhLEVBQUUsSUFBSTtJQUFFQyxZQUFZLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU10RUosUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFlBQVksRUFBRTtFQUFPLENBQUMsQ0FBQyxFQUFBRSxLQUFBLEdBT2xEQyxXQUFXLENBQUM7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
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
2
|
+
import BuildingBlockBase from "sap/fe/base/BuildingBlockBase";
|
|
3
|
+
import { aggregation, defineUI5Class, type PropertiesOf, property } from "sap/fe/base/ClassSupport";
|
|
4
|
+
import type { Button$PressEvent } from "sap/m/Button";
|
|
5
|
+
import Button from "sap/m/Button";
|
|
6
|
+
import Label from "sap/m/Label";
|
|
7
|
+
import type { Link$PressEvent } from "sap/m/Link";
|
|
8
|
+
import Link from "sap/m/Link";
|
|
9
|
+
import OverflowToolbar from "sap/m/OverflowToolbar";
|
|
10
|
+
import Popover from "sap/m/Popover";
|
|
11
|
+
import ToolbarSpacer from "sap/m/ToolbarSpacer";
|
|
12
|
+
import type { PlacementType } from "sap/m/library";
|
|
13
|
+
import { ButtonType } from "sap/m/library";
|
|
14
|
+
import type Event from "sap/ui/base/Event";
|
|
15
|
+
import type ManagedObject from "sap/ui/base/ManagedObject";
|
|
16
|
+
import type Control from "sap/ui/core/Control";
|
|
17
|
+
import type { $ControlSettings } from "sap/ui/core/Control";
|
|
18
|
+
import Lib from "sap/ui/core/Lib";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Building block that displays a AI notice.
|
|
22
|
+
*
|
|
23
|
+
* It's used to display information related to AI features. This information is rendered either
|
|
24
|
+
* as a link if the aggregation popoverContent is defined or as a label if there is no aggregation popoverContent.
|
|
25
|
+
*/
|
|
26
|
+
@defineUI5Class("sap.fe.controls.AINotice")
|
|
27
|
+
export default class AINotice extends BuildingBlockBase<Control> {
|
|
28
|
+
@property({ type: "boolean", isBindingInfo: true, defaultValue: true })
|
|
29
|
+
visible?: boolean;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The type of control to display
|
|
33
|
+
*/
|
|
34
|
+
@property({ type: "string", defaultValue: "Link" })
|
|
35
|
+
type?: "Link" | "Button";
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The content to display into the popover
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
@aggregation({ type: "sap.ui.core.Control", multiple: true, isDefault: true })
|
|
42
|
+
popoverContent?: Control;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The placement type of the popover
|
|
46
|
+
*/
|
|
47
|
+
@property({ type: "string" })
|
|
48
|
+
placementType?: PlacementType;
|
|
49
|
+
|
|
50
|
+
resourceBundle!: ResourceBundle;
|
|
51
|
+
|
|
52
|
+
constructor(properties: PropertiesOf<AINotice>, others?: $ControlSettings) {
|
|
53
|
+
super(properties, others);
|
|
54
|
+
this.resourceBundle = Lib.getResourceBundleFor("sap.fe.controls") as ResourceBundle;
|
|
55
|
+
this.content = this.createContent();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Returns the popover of the control.
|
|
60
|
+
* @returns The popover
|
|
61
|
+
*/
|
|
62
|
+
createPopover(): Popover {
|
|
63
|
+
const myPopover = (
|
|
64
|
+
<Popover
|
|
65
|
+
class="sapUiContentPadding"
|
|
66
|
+
contentMinWidth={"22.8125rem"}
|
|
67
|
+
showArrow={true}
|
|
68
|
+
showHeader={true}
|
|
69
|
+
placement={this.placementType}
|
|
70
|
+
title={this.resourceBundle.getText("M_POPOVER_AI_TITLE")}
|
|
71
|
+
>
|
|
72
|
+
{{
|
|
73
|
+
content: Array.isArray(this.popoverContent)
|
|
74
|
+
? this.popoverContent?.map((content: ManagedObject) => content.clone())
|
|
75
|
+
: this.popoverContent?.clone(),
|
|
76
|
+
footer: (
|
|
77
|
+
<OverflowToolbar>
|
|
78
|
+
{{
|
|
79
|
+
content: (
|
|
80
|
+
<>
|
|
81
|
+
<ToolbarSpacer />
|
|
82
|
+
<Button
|
|
83
|
+
text={this.resourceBundle.getText("M_NOTICE_AI_CLOSE")}
|
|
84
|
+
press={(): void => {
|
|
85
|
+
myPopover.close();
|
|
86
|
+
}}
|
|
87
|
+
/>
|
|
88
|
+
</>
|
|
89
|
+
)
|
|
90
|
+
}}
|
|
91
|
+
</OverflowToolbar>
|
|
92
|
+
)
|
|
93
|
+
}}
|
|
94
|
+
</Popover>
|
|
95
|
+
);
|
|
96
|
+
return myPopover;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Handles the press event on the control.
|
|
101
|
+
* @param event The press event
|
|
102
|
+
*/
|
|
103
|
+
onPress(event: Button$PressEvent | Link$PressEvent): void {
|
|
104
|
+
const popover = this.createPopover();
|
|
105
|
+
popover.openBy((event as Event<Control>).getSource() as unknown as Control);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Returns the link or text depending on the popoverContent aggregation.
|
|
110
|
+
* @returns The control tree
|
|
111
|
+
*/
|
|
112
|
+
createLinkOrLabel(): Link | Label {
|
|
113
|
+
const mainText = this.resourceBundle.getText("M_NOTICE_AI_TITLE");
|
|
114
|
+
return this.getAggregation("popoverContent") ? (
|
|
115
|
+
<Link visible={this.visible} text={mainText} press={(e: Link$PressEvent): void => this.onPress(e)} />
|
|
116
|
+
) : (
|
|
117
|
+
<Label visible={this.visible} text={mainText} />
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Returns the button.
|
|
123
|
+
* @returns The button
|
|
124
|
+
*/
|
|
125
|
+
createButton(): Button {
|
|
126
|
+
return (
|
|
127
|
+
<Button
|
|
128
|
+
visible={this.visible}
|
|
129
|
+
icon="sap-icon://ai"
|
|
130
|
+
type={ButtonType.Transparent}
|
|
131
|
+
text={this.resourceBundle.getText("M_NOTICE_AI_FILTER")}
|
|
132
|
+
press={(e: Button$PressEvent): void => this.onPress(e)}
|
|
133
|
+
/>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Returns the content of this building block.
|
|
139
|
+
* @returns The control tree
|
|
140
|
+
*/
|
|
141
|
+
createContent(): Link | Button | Label {
|
|
142
|
+
switch (this.type) {
|
|
143
|
+
case "Button":
|
|
144
|
+
return this.createButton();
|
|
145
|
+
case "Link":
|
|
146
|
+
default:
|
|
147
|
+
return this.createLinkOrLabel();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx", "sap/ui/core/Control", "sap/fe/base/jsx-runtime/jsx"], function (ClassSupport, jsx, Control, _jsx) {
|
|
6
6
|
"use strict";
|