Skip to content

Commit fc8a6f9

Browse files
authored
fix(multiple): add inject flags to manual injector calls (#22922)
Fixes a few more cases like #22665 where we were injecting something optionally, but we weren't passing the optional injector flag.
1 parent f750db2 commit fc8a6f9

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

src/cdk-experimental/dialog/dialog.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import {
1616
ComponentRef,
1717
OnDestroy,
1818
Type,
19-
StaticProvider
19+
StaticProvider,
20+
InjectFlags
2021
} from '@angular/core';
2122
import {ComponentPortal, TemplatePortal} from '@angular/cdk/portal';
2223
import {of as observableOf, Observable, Subject, defer} from 'rxjs';
@@ -285,8 +286,8 @@ export class Dialog implements OnDestroy {
285286
{provide: DIALOG_DATA, useValue: config.data}
286287
];
287288

288-
if (config.direction &&
289-
(!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {
289+
if (config.direction && (!userInjector ||
290+
!userInjector.get<Directionality | null>(Directionality, null, InjectFlags.Optional))) {
290291
providers.push({
291292
provide: Directionality,
292293
useValue: {value: config.direction, change: observableOf()}

src/material/bottom-sheet/bottom-sheet.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
Inject,
2121
OnDestroy,
2222
StaticProvider,
23+
InjectFlags,
2324
} from '@angular/core';
2425
import {of as observableOf} from 'rxjs';
2526
import {MAT_BOTTOM_SHEET_DATA, MatBottomSheetConfig} from './bottom-sheet-config';
@@ -191,8 +192,8 @@ export class MatBottomSheet implements OnDestroy {
191192
{provide: MAT_BOTTOM_SHEET_DATA, useValue: config.data}
192193
];
193194

194-
if (config.direction &&
195-
(!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {
195+
if (config.direction && (!userInjector ||
196+
!userInjector.get<Directionality | null>(Directionality, null, InjectFlags.Optional))) {
196197
providers.push({
197198
provide: Directionality,
198199
useValue: {value: config.direction, change: observableOf()}

src/material/dialog/dialog.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
Directive,
2121
Inject,
2222
Injectable,
23+
InjectFlags,
2324
InjectionToken,
2425
Injector,
2526
OnDestroy,
@@ -307,8 +308,8 @@ export abstract class _MatDialogBase<C extends _MatDialogContainerBase> implemen
307308
{provide: this._dialogRefConstructor, useValue: dialogRef}
308309
];
309310

310-
if (config.direction &&
311-
(!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {
311+
if (config.direction && (!userInjector ||
312+
!userInjector.get<Directionality | null>(Directionality, null, InjectFlags.Optional))) {
312313
providers.push({
313314
provide: Directionality,
314315
useValue: {value: config.direction, change: observableOf()}

0 commit comments

Comments
 (0)