@ui5/webcomponents-fiori 2.4.0-rc.1 → 2.4.0-rc.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/CHANGELOG.md +17 -0
- package/cypress/specs/BarcodeScannerDialog.cy.ts +124 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/BarcodeScannerDialog.d.ts +24 -0
- package/dist/BarcodeScannerDialog.js +7 -0
- package/dist/BarcodeScannerDialog.js.map +1 -1
- package/dist/ViewSettingsDialog.d.ts +7 -0
- package/dist/ViewSettingsDialog.js +17 -1
- package/dist/ViewSettingsDialog.js.map +1 -1
- package/dist/css/themes/BarcodeScannerDialog.css +1 -1
- package/dist/css/themes/DynamicPage.css +1 -1
- package/dist/css/themes/DynamicPageHeader.css +1 -1
- package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
- package/dist/css/themes/DynamicPageTitle.css +1 -1
- package/dist/css/themes/FlexibleColumnLayout.css +1 -1
- package/dist/css/themes/MediaGallery.css +1 -1
- package/dist/css/themes/MediaGalleryItem.css +1 -1
- package/dist/css/themes/NotificationListGroupItem.css +1 -1
- package/dist/css/themes/NotificationListItem.css +1 -1
- package/dist/css/themes/NotificationListItemBase.css +1 -1
- package/dist/css/themes/NotificationStateIcon.css +1 -1
- package/dist/css/themes/Page.css +1 -1
- package/dist/css/themes/ProductSwitchItem.css +1 -1
- package/dist/css/themes/ShellBar.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationGroup.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -1
- package/dist/css/themes/SideNavigationItemBase.css +1 -1
- package/dist/css/themes/SideNavigationPopover.css +1 -1
- package/dist/css/themes/SideNavigationSubItem.css +1 -1
- package/dist/css/themes/Timeline.css +1 -1
- package/dist/css/themes/TimelineGroupItem.css +1 -1
- package/dist/css/themes/TimelineItem.css +1 -1
- package/dist/css/themes/UploadCollection.css +1 -1
- package/dist/css/themes/UploadCollectionItem.css +1 -1
- package/dist/css/themes/ViewSettingsDialog.css +1 -1
- package/dist/css/themes/Wizard.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +20 -0
- package/dist/custom-elements.json +10 -0
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +1 -1
- package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +1 -1
- package/dist/generated/themes/BarcodeScannerDialog.css.js +1 -1
- package/dist/generated/themes/BarcodeScannerDialog.css.js.map +1 -1
- package/dist/generated/themes/DynamicPage.css.js +1 -1
- package/dist/generated/themes/DynamicPage.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
- package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
- package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
- package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
- package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
- package/dist/generated/themes/MediaGallery.css.js +1 -1
- package/dist/generated/themes/MediaGallery.css.js.map +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItem.css.js +1 -1
- package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
- package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
- package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
- package/dist/generated/themes/Page.css.js +1 -1
- package/dist/generated/themes/Page.css.js.map +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
- package/dist/generated/themes/ShellBar.css.js +1 -1
- package/dist/generated/themes/ShellBar.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/Timeline.css.js +1 -1
- package/dist/generated/themes/Timeline.css.js.map +1 -1
- package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
- package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
- package/dist/generated/themes/TimelineItem.css.js +1 -1
- package/dist/generated/themes/TimelineItem.css.js.map +1 -1
- package/dist/generated/themes/UploadCollection.css.js +1 -1
- package/dist/generated/themes/UploadCollection.css.js.map +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
- package/dist/generated/themes/Wizard.css.js +1 -1
- package/dist/generated/themes/Wizard.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +1 -1
- package/dist/web-types.json +12 -2
- package/package.json +8 -8
- package/src/BarcodeScannerDialog.hbs +3 -2
- package/src/themes/BarcodeScannerDialog.css +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.4.0-rc.2](https://github.com/SAP/ui5-webcomponents/compare/v2.4.0-rc.1...v2.4.0-rc.2) (2024-10-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **ui5-notification-list:** fix header bar visibility ([#10010](https://github.com/SAP/ui5-webcomponents/issues/10010)) ([95db5c6](https://github.com/SAP/ui5-webcomponents/commit/95db5c63a3c21ba2d948f5070f3bd1ba85e584ef)), closes [#9995](https://github.com/SAP/ui5-webcomponents/issues/9995)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **ui5-barcode-scanner-dialog:** added support for custom header and footer slots ([#10066](https://github.com/SAP/ui5-webcomponents/issues/10066)) ([4d06b2e](https://github.com/SAP/ui5-webcomponents/commit/4d06b2e94024e1cf6e121650453362ca79fc8836)), closes [#8919](https://github.com/SAP/ui5-webcomponents/issues/8919)
|
|
17
|
+
* **ui5-filter-item, ui5-sort-item,..:** add selected `filterItems` to `ui5-confirm` event details ([#9838](https://github.com/SAP/ui5-webcomponents/issues/9838)) ([56ad311](https://github.com/SAP/ui5-webcomponents/commit/56ad3115affe17f453a30ac0880ac879dbbd763b))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
# [2.4.0-rc.1](https://github.com/SAP/ui5-webcomponents/compare/v2.4.0-rc.0...v2.4.0-rc.1) (2024-10-17)
|
|
7
24
|
|
|
8
25
|
|
|
@@ -4,6 +4,7 @@ import "../../src/BarcodeScannerDialog.js";
|
|
|
4
4
|
import type BarcodeScannerDialog from "../../src/BarcodeScannerDialog.js";
|
|
5
5
|
|
|
6
6
|
describe("BarcodeScannerDialog", () => {
|
|
7
|
+
let openDialogHandler: EventListener | null;
|
|
7
8
|
let handleScanSuccess: (event: CustomEvent) => void;
|
|
8
9
|
let handleScanError: (event: CustomEvent) => void;
|
|
9
10
|
|
|
@@ -49,6 +50,12 @@ describe("BarcodeScannerDialog", () => {
|
|
|
49
50
|
handleScanError = undefined!;
|
|
50
51
|
}
|
|
51
52
|
|
|
53
|
+
const btnScan = doc.querySelector("#btnScan");
|
|
54
|
+
if (btnScan && openDialogHandler) {
|
|
55
|
+
btnScan.removeEventListener("click", openDialogHandler);
|
|
56
|
+
}
|
|
57
|
+
openDialogHandler = null;
|
|
58
|
+
|
|
52
59
|
// Clear the scan result and error
|
|
53
60
|
const scanResultElement = doc.querySelector("#scanResult")!;
|
|
54
61
|
const scanErrorElement = doc.querySelector("#scanError")!;
|
|
@@ -82,7 +89,7 @@ describe("BarcodeScannerDialog", () => {
|
|
|
82
89
|
// Close the dialog using the close button
|
|
83
90
|
cy.get("@dialog")
|
|
84
91
|
.shadow()
|
|
85
|
-
.find("ui5-dialog [
|
|
92
|
+
.find("ui5-dialog slot[name=footer] ui5-button")
|
|
86
93
|
.realClick();
|
|
87
94
|
|
|
88
95
|
// Verify the dialog is closed
|
|
@@ -188,7 +195,7 @@ describe("BarcodeScannerDialog", () => {
|
|
|
188
195
|
// Close the dialog using the close button
|
|
189
196
|
cy.get("@dialog")
|
|
190
197
|
.shadow()
|
|
191
|
-
.find("ui5-dialog [
|
|
198
|
+
.find("ui5-dialog slot[name=footer] ui5-button")
|
|
192
199
|
.realClick();
|
|
193
200
|
|
|
194
201
|
// Verify the dialog is closed
|
|
@@ -266,7 +273,7 @@ describe("BarcodeScannerDialog", () => {
|
|
|
266
273
|
const dlgScan = $dialog.get(0) as BarcodeScannerDialog;
|
|
267
274
|
|
|
268
275
|
// Simulate the scan success
|
|
269
|
-
dlgScan.
|
|
276
|
+
dlgScan.fireDecoratorEvent("scan-success", {
|
|
270
277
|
text: "mocked-scan-result",
|
|
271
278
|
rawBytes: new Uint8Array(),
|
|
272
279
|
});
|
|
@@ -301,7 +308,7 @@ describe("BarcodeScannerDialog", () => {
|
|
|
301
308
|
const dlgScan = $dialog.get(0) as BarcodeScannerDialog;
|
|
302
309
|
|
|
303
310
|
// Simulate the scan error
|
|
304
|
-
dlgScan.
|
|
311
|
+
dlgScan.fireDecoratorEvent("scan-error", {
|
|
305
312
|
message: "mocked-scan-error",
|
|
306
313
|
});
|
|
307
314
|
});
|
|
@@ -347,3 +354,116 @@ describe("BarcodeScannerDialog", () => {
|
|
|
347
354
|
});
|
|
348
355
|
});
|
|
349
356
|
});
|
|
357
|
+
|
|
358
|
+
describe("BarcodeScannerDialog with Custom Slots", () => {
|
|
359
|
+
let openDialogHandler: EventListener | null;
|
|
360
|
+
let closeDialogHandler: EventListener | null;
|
|
361
|
+
|
|
362
|
+
beforeEach(() => {
|
|
363
|
+
cy.mount(html`
|
|
364
|
+
<ui5-barcode-scanner-dialog id="dlgScanCustom">
|
|
365
|
+
<div slot="header" class="custom-dialog-header">
|
|
366
|
+
<ui5-title level="H2">My Custom Header</ui5-title>
|
|
367
|
+
</div>
|
|
368
|
+
<div slot="footer" class="custom-dialog-footer">
|
|
369
|
+
<ui5-button id="customCloseBtn">My Custom Close Button</ui5-button>
|
|
370
|
+
</div>
|
|
371
|
+
</ui5-barcode-scanner-dialog>
|
|
372
|
+
<ui5-button id="btnScanCustom" icon="camera">Open Custom Scanner Dialog</ui5-button>
|
|
373
|
+
`);
|
|
374
|
+
|
|
375
|
+
cy.get("#dlgScanCustom").as("customDialog");
|
|
376
|
+
cy.get("#btnScanCustom").as("customButton");
|
|
377
|
+
cy.get("@customDialog")
|
|
378
|
+
.shadow()
|
|
379
|
+
.find(".ui5-barcode-scanner-dialog-video")
|
|
380
|
+
.as("videoElement");
|
|
381
|
+
|
|
382
|
+
cy.document().then(doc => {
|
|
383
|
+
const dlgScanCustom = doc.querySelector<BarcodeScannerDialog>("#dlgScanCustom")!;
|
|
384
|
+
const btnScanCustom = doc.querySelector("#btnScanCustom")!;
|
|
385
|
+
const btnScanCustomClose = doc.querySelector("#customCloseBtn")!;
|
|
386
|
+
|
|
387
|
+
btnScanCustom.addEventListener("click", () => {
|
|
388
|
+
dlgScanCustom.open = true;
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
btnScanCustomClose.addEventListener("click", () => {
|
|
392
|
+
dlgScanCustom.open = false;
|
|
393
|
+
});
|
|
394
|
+
});
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
afterEach(() => {
|
|
398
|
+
cy.document().then(doc => {
|
|
399
|
+
const btnScanCustom = doc.querySelector("#btnScanCustom");
|
|
400
|
+
const btnScanCustomClose = doc.querySelector("#customCloseBtn");
|
|
401
|
+
|
|
402
|
+
if (btnScanCustom && openDialogHandler) {
|
|
403
|
+
btnScanCustom.removeEventListener("click", openDialogHandler);
|
|
404
|
+
}
|
|
405
|
+
openDialogHandler = null;
|
|
406
|
+
|
|
407
|
+
if (btnScanCustomClose && closeDialogHandler) {
|
|
408
|
+
btnScanCustomClose.removeEventListener("click", closeDialogHandler);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
closeDialogHandler = null;
|
|
412
|
+
});
|
|
413
|
+
});
|
|
414
|
+
|
|
415
|
+
it("renders custom header when provided", () => {
|
|
416
|
+
// Click the button to open the custom dialog
|
|
417
|
+
cy.get("@customButton").realClick();
|
|
418
|
+
|
|
419
|
+
// Wait for the video to be ready
|
|
420
|
+
cy.get("@videoElement").should($video => {
|
|
421
|
+
const videoEl = $video[0] as HTMLVideoElement;
|
|
422
|
+
expect(videoEl.readyState, "Video readyState should be >= 1").to.be.at.least(1);
|
|
423
|
+
});
|
|
424
|
+
|
|
425
|
+
// Assert that the dialog is open
|
|
426
|
+
cy.get("@customDialog")
|
|
427
|
+
.shadow()
|
|
428
|
+
.find("ui5-dialog")
|
|
429
|
+
.should("have.attr", "open");
|
|
430
|
+
|
|
431
|
+
// Verify that the custom header is rendered
|
|
432
|
+
cy.get("@customDialog")
|
|
433
|
+
.find("[slot=header] ui5-title")
|
|
434
|
+
.should("contain.text", "My Custom Header");
|
|
435
|
+
});
|
|
436
|
+
|
|
437
|
+
it("renders custom footer and functions correctly", () => {
|
|
438
|
+
// Click the button to open the custom dialog
|
|
439
|
+
cy.get("@customButton").realClick();
|
|
440
|
+
|
|
441
|
+
// Wait for the video to be ready
|
|
442
|
+
cy.get("@videoElement").should($video => {
|
|
443
|
+
const videoEl = $video[0] as HTMLVideoElement;
|
|
444
|
+
expect(videoEl.readyState, "Video readyState should be >= 1").to.be.at.least(1);
|
|
445
|
+
});
|
|
446
|
+
|
|
447
|
+
// Assert that the dialog is open
|
|
448
|
+
cy.get("@customDialog")
|
|
449
|
+
.shadow()
|
|
450
|
+
.find("ui5-dialog")
|
|
451
|
+
.should("have.attr", "open");
|
|
452
|
+
|
|
453
|
+
// Verify that the custom footer is rendered
|
|
454
|
+
cy.get("@customDialog")
|
|
455
|
+
.find("[slot=footer] ui5-button")
|
|
456
|
+
.should("contain.text", "My Custom Close Button");
|
|
457
|
+
|
|
458
|
+
// Test that the custom button closes the dialog
|
|
459
|
+
cy.get("@customDialog")
|
|
460
|
+
.find("#customCloseBtn")
|
|
461
|
+
.realClick();
|
|
462
|
+
|
|
463
|
+
// Verify the dialog is closed
|
|
464
|
+
cy.get("@customDialog")
|
|
465
|
+
.shadow()
|
|
466
|
+
.find("ui5-dialog")
|
|
467
|
+
.should("not.have.attr", "open");
|
|
468
|
+
});
|
|
469
|
+
});
|