Skip to content

Commit

Permalink
Merge branch 'develop' into feat/cxspa-8660
Browse files Browse the repository at this point in the history
  • Loading branch information
kimhw0630 authored Oct 21, 2024
2 parents 70259d4 + 1212d45 commit cf7bae4
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import {
GROUP_ID_4,
GROUP_ID_5,
GROUP_ID_7,
GROUP_ID_8,
PRODUCT_CODE,
mockRouterState,
productConfiguration,
Expand Down Expand Up @@ -1204,6 +1205,44 @@ describe('ConfiguratorGroupMenuComponent', () => {
)
).toBe(true);
});

it('should return `true` because a group with current group ID is part of the sub group hierarchy', () => {
expect(
component.containsSelectedGroup(
mockProductConfiguration.groups[3], // GROUP_ID_5 is parent of GROUP_ID_7 which in turn is parent of GROUP_ID_8
GROUP_ID_8
)
).toBe(true);
});
});

describe('getTabIndex', () => {
it('should return `0` because current group id matches group itself', () => {
expect(
component.getTabIndex(mockProductConfiguration.groups[0], GROUP_ID_1)
).toBe(0);
});

it("should return `-1` because current group id doesn't match group or its children", () => {
expect(
component.getTabIndex(mockProductConfiguration.groups[0], GROUP_ID_4)
).toBe(-1);
});

it('should return `0` because current group id matches a direct child group id', () => {
expect(
component.getTabIndex(mockProductConfiguration.groups[2], GROUP_ID_4)
).toBe(0);
});

it('should return `0` because current group id matches a in-direct child group id', () => {
expect(
component.getTabIndex(
mockProductConfiguration.groups[3], // GROUP_ID_5 is parent of GROUP_ID_7 which in turn is parent of GROUP_ID_8
GROUP_ID_8
)
).toBe(0);
});
});

describe('isGroupSelected', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import {
ConfiguratorRouterExtractorService,
} from '@spartacus/product-configurator/common';
import {
BREAKPOINT,
BreakpointService,
DirectionMode,
DirectionService,
HamburgerMenuService,
ICON_TYPE,
BREAKPOINT,
BreakpointService,
} from '@spartacus/storefront';
import { Observable, of } from 'rxjs';
import { filter, map, switchMap, take } from 'rxjs/operators';
Expand Down Expand Up @@ -503,13 +503,11 @@ export class ConfiguratorGroupMenuComponent {
group: Configurator.Group,
currentGroupId?: string
): boolean {
let isCurrentGroupFound = false;
group.subGroups?.forEach((subGroup) => {
if (this.isGroupSelected(subGroup.id, currentGroupId)) {
isCurrentGroupFound = true;
}
});
return isCurrentGroupFound;
return !!group.subGroups?.find(
(subGroup) =>
this.isGroupSelected(subGroup.id, currentGroupId) ||
this.containsSelectedGroup(subGroup, currentGroupId)
);
}

/**
Expand All @@ -521,14 +519,10 @@ export class ConfiguratorGroupMenuComponent {
* @returns {number} - tab index
*/
getTabIndex(group: Configurator.Group, currentGroupId: string): number {
if (
!this.isGroupSelected(group.id, currentGroupId) &&
!this.containsSelectedGroup(group, currentGroupId)
) {
return -1;
} else {
return 0;
}
const isCurrentGroupPartOfGroupHierarchy =
this.isGroupSelected(group.id, currentGroupId) ||
this.containsSelectedGroup(group, currentGroupId);
return isCurrentGroupPartOfGroupHierarchy ? 0 : -1; // 0 -> add to tab chain, -1 -> remove from tab chain
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ cx-product-image-zoom-view {
height: calc(90vh - 200px);
// TODO: (CXSPA-7492) - Remove feature flag next major release.
@include forFeature('a11yKeyboardAccessibleZoom') {
height: unset;
&:has(picture) {
height: unset;
}
}
}

Expand Down

0 comments on commit cf7bae4

Please sign in to comment.