@sapui5/sap.fe.controls 1.148.0 → 1.149.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 +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 +68 -44
- package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.tsx +35 -4
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.js +103 -19
- package/src/sap/fe/controls/easyFilter/EasyFilterInput.tsx +100 -7
- package/src/sap/fe/controls/easyFilter/Token.js +4 -4
- package/src/sap/fe/controls/easyFilter/innerControls/MenuWithSingleSelectFactory.js +2 -2
- package/src/sap/fe/controls/easyFilter/innerControls/ValueHelpPreviewFactory.js +7 -3
- package/src/sap/fe/controls/easyFilter/innerControls/ValueHelpPreviewFactory.ts +5 -0
- package/src/sap/fe/controls/library.js +1 -1
- package/src/sap/fe/controls/messagebundle.properties +4 -0
- package/src/sap/fe/controls/messagebundle_ar.properties +9 -3
- package/src/sap/fe/controls/messagebundle_bg.properties +9 -3
- package/src/sap/fe/controls/messagebundle_ca.properties +9 -3
- package/src/sap/fe/controls/messagebundle_cnr.properties +9 -3
- package/src/sap/fe/controls/messagebundle_cs.properties +9 -3
- package/src/sap/fe/controls/messagebundle_cy.properties +9 -3
- package/src/sap/fe/controls/messagebundle_da.properties +9 -3
- package/src/sap/fe/controls/messagebundle_de.properties +9 -3
- package/src/sap/fe/controls/messagebundle_el.properties +9 -3
- package/src/sap/fe/controls/messagebundle_en.properties +9 -3
- package/src/sap/fe/controls/messagebundle_en_GB.properties +9 -3
- package/src/sap/fe/controls/messagebundle_en_US_saprigi.properties +6 -3
- package/src/sap/fe/controls/messagebundle_es.properties +9 -3
- package/src/sap/fe/controls/messagebundle_es_MX.properties +9 -3
- package/src/sap/fe/controls/messagebundle_et.properties +9 -3
- package/src/sap/fe/controls/messagebundle_fi.properties +9 -3
- package/src/sap/fe/controls/messagebundle_fr.properties +9 -3
- package/src/sap/fe/controls/messagebundle_fr_CA.properties +9 -3
- package/src/sap/fe/controls/messagebundle_hi.properties +9 -3
- package/src/sap/fe/controls/messagebundle_hr.properties +9 -3
- package/src/sap/fe/controls/messagebundle_hu.properties +7 -1
- package/src/sap/fe/controls/messagebundle_id.properties +9 -3
- package/src/sap/fe/controls/messagebundle_it.properties +9 -3
- package/src/sap/fe/controls/messagebundle_iw.properties +9 -3
- package/src/sap/fe/controls/messagebundle_ja.properties +9 -3
- package/src/sap/fe/controls/messagebundle_kk.properties +9 -3
- package/src/sap/fe/controls/messagebundle_ko.properties +9 -3
- package/src/sap/fe/controls/messagebundle_lt.properties +9 -3
- package/src/sap/fe/controls/messagebundle_lv.properties +9 -3
- package/src/sap/fe/controls/messagebundle_mk.properties +9 -3
- package/src/sap/fe/controls/messagebundle_ms.properties +9 -3
- package/src/sap/fe/controls/messagebundle_nl.properties +9 -3
- package/src/sap/fe/controls/messagebundle_no.properties +7 -1
- package/src/sap/fe/controls/messagebundle_pl.properties +7 -1
- package/src/sap/fe/controls/messagebundle_pt.properties +9 -3
- package/src/sap/fe/controls/messagebundle_pt_PT.properties +9 -3
- package/src/sap/fe/controls/messagebundle_ro.properties +9 -3
- package/src/sap/fe/controls/messagebundle_ru.properties +9 -3
- package/src/sap/fe/controls/messagebundle_sh.properties +9 -3
- package/src/sap/fe/controls/messagebundle_sk.properties +9 -3
- package/src/sap/fe/controls/messagebundle_sl.properties +9 -3
- package/src/sap/fe/controls/messagebundle_sr.properties +9 -3
- package/src/sap/fe/controls/messagebundle_sv.properties +9 -3
- package/src/sap/fe/controls/messagebundle_th.properties +10 -4
- package/src/sap/fe/controls/messagebundle_tr.properties +9 -3
- package/src/sap/fe/controls/messagebundle_uk.properties +9 -3
- package/src/sap/fe/controls/messagebundle_vi.properties +9 -3
- package/src/sap/fe/controls/messagebundle_zh_CN.properties +9 -3
- package/src/sap/fe/controls/messagebundle_zh_TW.properties +9 -3
- package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.js +2 -5
- package/src/sap/fe/controls/shortcuts/popup/ShortcutTool.js +5 -8
- package/src/sap/fe/controls/themes/base/EasyFilter.less +8 -4
|
@@ -285,6 +285,8 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
285
285
|
|
|
286
286
|
private shouldMessageStripRemove = true;
|
|
287
287
|
|
|
288
|
+
private ariaLabelApplied = false;
|
|
289
|
+
|
|
288
290
|
private supportsSorting = true;
|
|
289
291
|
|
|
290
292
|
private supportsGrouping = true;
|
|
@@ -380,6 +382,15 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
380
382
|
return tokens;
|
|
381
383
|
}
|
|
382
384
|
|
|
385
|
+
private buildInputAriaLabel(): string {
|
|
386
|
+
const mandatoryFields = this.filterBarMetadata?.filter((f) => f.required) ?? [];
|
|
387
|
+
if (mandatoryFields.length === 0) {
|
|
388
|
+
return "";
|
|
389
|
+
}
|
|
390
|
+
const fieldLabels = mandatoryFields.map((f) => f.label).join(", ");
|
|
391
|
+
return this.resourceBundle.getText("M_EASY_FILTER_INPUT_REQUIRED_FIELDS", [fieldLabels]);
|
|
392
|
+
}
|
|
393
|
+
|
|
383
394
|
onEnterPressed(e: UI5Event<{ query: string }, EasyFilterInput>): void {
|
|
384
395
|
this.onGoPress(e.getParameter("query"));
|
|
385
396
|
}
|
|
@@ -436,6 +447,8 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
436
447
|
if (this.easyFilterInput.current?.isHistoryEnabled() ?? false) {
|
|
437
448
|
this.easyFilterInput.current?.addRecentQuery(magicQuery);
|
|
438
449
|
}
|
|
450
|
+
// Set query as successful in the input field
|
|
451
|
+
this.easyFilterInput.current?.setQuerySuccess(magicQuery);
|
|
439
452
|
if (easyFilterResult.data.version === 1) {
|
|
440
453
|
this.handleV1Success(easyFilterResult);
|
|
441
454
|
} else if (easyFilterResult.data.version === 2) {
|
|
@@ -443,6 +456,7 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
443
456
|
}
|
|
444
457
|
} else {
|
|
445
458
|
// error
|
|
459
|
+
this.easyFilterInput.current?.setQueryFailure();
|
|
446
460
|
this.removeNonMandatoryTokens();
|
|
447
461
|
this.setMessageStrip(easyFilterResult.message);
|
|
448
462
|
this.invisibleMessage.announce(this.resourceBundle.getText(easyFilterResult.message), InvisibleMessageMode.Assertive);
|
|
@@ -859,10 +873,12 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
859
873
|
this.shouldTokenChangeEventFired = true;
|
|
860
874
|
this.isResettingToDefaultTokens = false;
|
|
861
875
|
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
876
|
+
if (this.tokenizer?.current) {
|
|
877
|
+
// onsapfocusleave method in sap.m.Tokenizer is automatically converting the rendermode of tokenizer to "Narrow" from "loose"
|
|
878
|
+
// In this process there are multiple popover issues happening
|
|
879
|
+
// So as a temporary fix overriding the function
|
|
880
|
+
(this.tokenizer.current as FocusHandlingControl).onsapfocusleave = (): void => {};
|
|
881
|
+
}
|
|
866
882
|
}
|
|
867
883
|
|
|
868
884
|
private onThumbUpPressed(): void {
|
|
@@ -1071,6 +1087,9 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
1071
1087
|
</VBox>
|
|
1072
1088
|
) as VBox;
|
|
1073
1089
|
FESRHelper.setSemanticStepname($topGoBtn.current!, "press", "fe:ai:search");
|
|
1090
|
+
if (this.easyFilterInput.current) {
|
|
1091
|
+
FESRHelper.setSemanticStepname(this.easyFilterInput.current, "enterPressed", "fe:ai:search");
|
|
1092
|
+
}
|
|
1074
1093
|
return outVBox;
|
|
1075
1094
|
}
|
|
1076
1095
|
|
|
@@ -1116,6 +1135,8 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
1116
1135
|
this.tokenizer.current?.getTokens().forEach((token) => token.setProperty("valueState", ValueState.None));
|
|
1117
1136
|
this.tokenizer.current?.getTokens().forEach((token) => token.setProperty("valueStateText", null));
|
|
1118
1137
|
this.clearMessageStrip(); //clear the message strip for validated filters
|
|
1138
|
+
// Clear query success status
|
|
1139
|
+
this.easyFilterInput.current?.clearQueryStatus();
|
|
1119
1140
|
}
|
|
1120
1141
|
|
|
1121
1142
|
clearFiltersAndTokens(): void {
|
|
@@ -1258,6 +1279,16 @@ export default class EasyFilterBarContainer extends Control {
|
|
|
1258
1279
|
| undefined;
|
|
1259
1280
|
}
|
|
1260
1281
|
|
|
1282
|
+
onAfterRendering(): void {
|
|
1283
|
+
if (!this.ariaLabelApplied && this.filterBarMetadata) {
|
|
1284
|
+
const ariaText = this.buildInputAriaLabel();
|
|
1285
|
+
if (ariaText) {
|
|
1286
|
+
this.easyFilterInput.current?.setAriaLabel(ariaText);
|
|
1287
|
+
}
|
|
1288
|
+
this.ariaLabelApplied = true;
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1261
1292
|
static render(rm: RenderManager, control: EasyFilterBarContainer): void {
|
|
1262
1293
|
return jsx.renderUsingRenderManager(rm, control, () => {
|
|
1263
1294
|
return <span ref={control}>{control.getAggregation("content")}</span>;
|