Skip to content

Commit a6d0847

Browse files
crisbetotinayuangao
authored andcommitted
fix(snack-bar): not applying all panel classes in IE (#8578)
Fixes a regression that was causing the snack bar only to apply the first class that was specified via `panelClass`.
1 parent 741378a commit a6d0847

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/lib/snack-bar/snack-bar-container.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ export class MatSnackBarContainer extends BasePortalOutlet implements OnDestroy
105105
const element: HTMLElement = this._elementRef.nativeElement;
106106

107107
if (this.snackBarConfig.panelClass || this.snackBarConfig.extraClasses) {
108-
element.classList.add(...this._getCssClasses(this.snackBarConfig.panelClass),
109-
...this._getCssClasses(this.snackBarConfig.extraClasses));
108+
this._setCssClasses(this.snackBarConfig.panelClass);
109+
this._setCssClasses(this.snackBarConfig.extraClasses);
110110
}
111111

112112
if (this.snackBarConfig.horizontalPosition === 'center') {
@@ -176,15 +176,19 @@ export class MatSnackBarContainer extends BasePortalOutlet implements OnDestroy
176176
});
177177
}
178178

179-
/** Convert the class list to a array of classes it can apply to the dom */
180-
private _getCssClasses(classList: undefined | string | string[]) {
181-
if (classList) {
182-
if (Array.isArray(classList)) {
183-
return classList;
184-
} else {
185-
return [classList];
186-
}
179+
/** Applies the user-specified list of CSS classes to the element. */
180+
private _setCssClasses(classList: undefined|string|string[]) {
181+
if (!classList) {
182+
return;
183+
}
184+
185+
const element = this._elementRef.nativeElement;
186+
187+
if (Array.isArray(classList)) {
188+
// Note that we can't use a spread here, because IE doesn't support multiple arguments.
189+
classList.forEach(cssClass => element.classList.add(cssClass));
190+
} else {
191+
element.classList.add(classList);
187192
}
188-
return [];
189193
}
190194
}

0 commit comments

Comments
 (0)