Skip to content

Commit 10001c8

Browse files
authored
Merge pull request #2502 from Akshat55/context-menu-open
fix: Use the updated classes with context menu
2 parents 0611bb1 + 89d9efd commit 10001c8

File tree

6 files changed

+111
-138
lines changed

6 files changed

+111
-138
lines changed

package-lock.json

Lines changed: 80 additions & 80 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@
8080
"@angular/platform-browser-dynamic": "13.3.12",
8181
"@angular/router": "13.3.12",
8282
"@babel/core": "7.9.6",
83-
"@carbon/styles": "1.20.0",
84-
"@carbon/themes": "11.15.0",
83+
"@carbon/styles": "1.25.0",
84+
"@carbon/themes": "11.17.0",
8585
"@commitlint/cli": "17.0.3",
8686
"@commitlint/config-conventional": "17.0.3",
8787
"@compodoc/compodoc": "1.1.19",

src/context-menu/context-menu-divider.component.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,9 @@ import { Component, HostBinding } from "@angular/core";
22

33
@Component({
44
selector: "cds-context-menu-divider, ibm-context-menu-divider",
5-
template: "",
6-
styles: [`
7-
:host {
8-
display: list-item;
9-
list-style: none;
10-
}
11-
`]
5+
template: ""
126
})
137
export class ContextMenuDividerComponent {
14-
@HostBinding("class.cds--menu-divider") dividerClass = true;
8+
@HostBinding("class.cds--menu-item-divider") dividerClass = true;
159
@HostBinding("attr.role") role = "separator";
1610
}

src/context-menu/context-menu-group.component.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,12 @@ import { ContextMenuSelectionService } from "./context-menu-selection.service";
1717
template: `
1818
<ng-content></ng-content>
1919
`,
20-
styles: [`
21-
:host {
22-
display: list-item;
23-
list-style: none;
24-
}
25-
`],
2620
providers: [ContextMenuSelectionService]
2721
})
2822
export class ContextMenuGroupComponent implements OnInit, OnChanges, OnDestroy {
2923
@HostBinding("attr.role") role = "group";
24+
@HostBinding("class.cds--menu-item-radio-group") get radioGroup() { return this.type === "radio"; }
25+
@HostBinding("class.cds--menu-item-group") get group() { return this.type === "checkbox"; }
3026

3127
@HostBinding("attr.aria-label") @Input() label = null;
3228
@Input() value: any[] = [];

src/context-menu/context-menu-item.component.ts

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,25 @@ import { ContextMenuComponent } from "./context-menu.component";
1919
@Component({
2020
selector: "cds-context-menu-item, ibm-context-menu-item",
2121
template: `
22-
<div class="cds--context-menu-option__content cds--menu-option__content">
23-
<div class="cds--context-menu-option__icon cds--menu-option__icon">
24-
<svg *ngIf="selectable && checked" cdsIcon="checkmark" size="16"></svg>
25-
<svg *ngIf="!selectable && icon" [cdsIcon]="icon" size="16"></svg>
26-
</div>
27-
<span class="cds--context-menu-option__label cds--menu-option__label" [title]="label">{{label}}</span>
28-
<div class="cds--context-menu-option__info cds--menu-option__info">
29-
{{info}}
30-
<svg *ngIf="hasChildren" cdsIcon="caret--right" size="16"></svg>
31-
</div>
22+
<div class="cds--menu-item__icon">
23+
<svg *ngIf="selectable && checked" cdsIcon="checkmark" size="16"></svg>
24+
<svg *ngIf="!selectable && icon" [cdsIcon]="icon" size="16"></svg>
25+
</div>
26+
<div class="cds--menu-item__label" [title]="label">{{label}}</div>
27+
<div class="cds--menu-item__shortcut">
28+
<ng-container *ngIf="info">{{info}}</ng-container>
29+
<svg *ngIf="hasChildren" cdsIcon="caret--right" size="16"></svg>
3230
</div>
3331
<ng-content></ng-content>
3432
`,
3533
styles: [`
3634
:host {
37-
display: list-item;
38-
list-style: none;
35+
grid-template-columns: 1rem 1fr max-content;
3936
}
4037
`]
4138
})
4239
export class ContextMenuItemComponent implements OnInit, AfterContentInit, OnDestroy {
43-
@HostBinding("class.cds--menu-option") optionClass = true;
40+
@HostBinding("class.cds--menu-item") optionClass = true;
4441
@HostBinding("attr.role") role = "menuitem";
4542
@HostBinding("attr.tabindex") tabindex = -1;
4643
@HostBinding("attr.aria-haspopup") ariaHasPopup = null;
@@ -106,7 +103,6 @@ export class ContextMenuItemComponent implements OnInit, AfterContentInit, OnDes
106103
this.hasChildren = true;
107104
this.ariaHasPopup = true;
108105
this.ariaExpanded = false;
109-
this.childContextMenu.root = false;
110106
}
111107
}
112108

@@ -144,7 +140,7 @@ export class ContextMenuItemComponent implements OnInit, AfterContentInit, OnDes
144140
if (this.childContextMenu) {
145141
this.childContextMenu.open = true;
146142
this.ariaExpanded = true;
147-
const dimensions = this.getDimensions();
143+
const dimensions = this.elementRef.nativeElement.getBoundingClientRect();
148144
this.childContextMenu.position.left = dimensions.left + dimensions.width;
149145
// subtract 4px to account for margins
150146
this.childContextMenu.position.top = dimensions.top - 4;
@@ -185,12 +181,6 @@ export class ContextMenuItemComponent implements OnInit, AfterContentInit, OnDes
185181
this.elementRef.nativeElement.focus();
186182
}
187183

188-
getDimensions() {
189-
const element: HTMLElement = this.elementRef.nativeElement
190-
.querySelector(".cds--context-menu-option__content, .cds--menu-option__content");
191-
return element.getBoundingClientRect();
192-
}
193-
194184
ngOnDestroy() {
195185
this.subscriptions.unsubscribe();
196186
}

0 commit comments

Comments
 (0)