diff --git a/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.spec.ts b/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.spec.ts index e2953297273..81a1c08fb42 100644 --- a/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.spec.ts +++ b/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.spec.ts @@ -184,7 +184,7 @@ describe('ConfiguratorGroupTitleComponent', () => { ); expect( configuratorStorefrontUtilsService.focusFirstActiveElement - ).toHaveBeenCalledWith('cx-hamburger-menu'); + ).toHaveBeenCalledWith('cx-configurator-group-menu'); }); it('should create component with hamburger menu icon', () => { diff --git a/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.ts b/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.ts index 6460617c913..e23a8c212a2 100644 --- a/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.ts +++ b/feature-libs/product-configurator/rulebased/components/group-title/configurator-group-title.component.ts @@ -10,6 +10,7 @@ import { HostBinding, OnDestroy, OnInit, + AfterContentChecked, } from '@angular/core'; import { ConfiguratorRouterExtractorService } from '@spartacus/product-configurator/common'; import { @@ -31,11 +32,14 @@ import { ConfiguratorStorefrontUtilsService } from '../service/configurator-stor templateUrl: './configurator-group-title.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) -export class ConfiguratorGroupTitleComponent implements OnInit, OnDestroy { +export class ConfiguratorGroupTitleComponent + implements OnInit, OnDestroy, AfterContentChecked +{ @HostBinding('class.ghost') ghostStyle = true; protected subscription = new Subscription(); protected readonly PRE_HEADER = '.PreHeader'; protected readonly ADD_TO_CART_BUTTON = 'cx-configurator-add-to-cart-button'; + protected focusFirstElementInMobileGroupList = false; displayedGroup$: Observable = this.configRouterExtractorService.extractRouterData().pipe( @@ -88,14 +92,21 @@ export class ConfiguratorGroupTitleComponent implements OnInit, OnDestroy { 'z-index', '0' ); - this.configuratorStorefrontUtilsService.focusFirstActiveElement( - 'cx-hamburger-menu' - ); + this.focusFirstElementInMobileGroupList = true; } }) ); } + ngAfterContentChecked(): void { + if (this.focusFirstElementInMobileGroupList) { + this.configuratorStorefrontUtilsService.focusFirstActiveElement( + 'cx-configurator-group-menu' + ); + this.focusFirstElementInMobileGroupList = false; + } + } + ngOnDestroy(): void { this.subscription.unsubscribe(); this.configuratorStorefrontUtilsService.removeStyling( diff --git a/integration-libs/s4-service/order/core/s4-service-order-core.module.ts b/integration-libs/s4-service/order/core/s4-service-order-core.module.ts index fc3f53febbc..a980da51d3e 100644 --- a/integration-libs/s4-service/order/core/s4-service-order-core.module.ts +++ b/integration-libs/s4-service/order/core/s4-service-order-core.module.ts @@ -6,12 +6,18 @@ import { NgModule } from '@angular/core'; import { CxDatePipe } from '@spartacus/core'; -import { CancelServiceOrderService } from './facade'; -import { CancelServiceOrderFacade } from '@spartacus/s4-service/root'; -import { CancelServiceOrderConnector } from './connector'; -import { RescheduleServiceOrderService } from './facade'; -import { RescheduleServiceOrderFacade } from '@spartacus/s4-service/root'; -import { RescheduleServiceOrderConnector } from './connector'; +import { + CancelServiceOrderFacade, + RescheduleServiceOrderFacade, +} from '@spartacus/s4-service/root'; +import { + CancelServiceOrderConnector, + RescheduleServiceOrderConnector, +} from './connector'; +import { + CancelServiceOrderService, + RescheduleServiceOrderService, +} from './facade'; @NgModule({ providers: [ diff --git a/integration-libs/s4-service/order/occ/s4-service-order-occ.module.ts b/integration-libs/s4-service/order/occ/s4-service-order-occ.module.ts index 477af789056..3276e030a35 100644 --- a/integration-libs/s4-service/order/occ/s4-service-order-occ.module.ts +++ b/integration-libs/s4-service/order/occ/s4-service-order-occ.module.ts @@ -6,11 +6,15 @@ import { NgModule } from '@angular/core'; import { provideDefaultConfig } from '@spartacus/core'; +import { + CancelServiceOrderAdapter, + RescheduleServiceOrderAdapter, +} from '../core/connector'; +import { + OccCancelServiceOrderAdapter, + OccRescheduleServiceOrderAdapter, +} from './adapters'; import { defaultOccServiceOrderConfig } from './config/default-occ-s4-service-config'; -import { CancelServiceOrderAdapter } from '../core/connector'; -import { OccCancelServiceOrderAdapter } from './adapters'; -import { RescheduleServiceOrderAdapter } from '../core/connector'; -import { OccRescheduleServiceOrderAdapter } from './adapters'; @NgModule({ providers: [ diff --git a/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/cart/added-to-cart-modal.e2e.cy.ts b/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/cart/added-to-cart-modal.e2e.cy.ts index 61136f0a797..90e805b890e 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/cart/added-to-cart-modal.e2e.cy.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/cart/added-to-cart-modal.e2e.cy.ts @@ -22,7 +22,10 @@ describe('Added to cart modal - Anonymous user', () => { }); it('should test item counter on PDP', () => { - interceptGet('getProductStock', '/products/*?fields=*stock*'); + interceptGet( + 'getProductStock', + '/products/*?fields=code,configurable,configuratorType,purchasable*stock*' + ); cy.wait('@getProductStock').then((xhr) => { const stock = xhr.response.body.stock.stockLevel;