diff --git a/projects/forge-angular/src/lib/dialog/dialog.service.ts b/projects/forge-angular/src/lib/dialog/dialog.service.ts index c9ec38a..f16fd48 100644 --- a/projects/forge-angular/src/lib/dialog/dialog.service.ts +++ b/projects/forge-angular/src/lib/dialog/dialog.service.ts @@ -1,4 +1,4 @@ -import { ApplicationRef, DestroyRef, EmbeddedViewRef, EnvironmentInjector, Injectable, Injector, NgZone, Provider, createComponent, createEnvironmentInjector, inject } from '@angular/core'; +import { ApplicationRef, Binding, DestroyRef, EmbeddedViewRef, EnvironmentInjector, Injectable, Injector, NgZone, Provider, createComponent, createEnvironmentInjector, inject } from '@angular/core'; import { Type, NgModuleRef } from '@angular/core'; import { IDialogProperties, defineDialogComponent } from '@tylertech/forge'; import { DIALOG_DATA, DialogConfig } from './dialog-config'; @@ -20,6 +20,8 @@ export interface IDialogServiceShowConfiguration { module?: NgModuleRef; injector?: EnvironmentInjector; elementInjector?: Injector; + directives?: (Type | {type: Type; bindings: Binding[]})[]; + bindings?: Binding[]; } /** @@ -68,7 +70,7 @@ export class DialogService { private _showDialog( component: Type, - { config, data, injector, elementInjector, module, options }: IDialogServiceShowConfiguration + { config, data, injector, elementInjector, module, options, directives, bindings }: IDialogServiceShowConfiguration ): DialogRef { // Contains tokens that will be provided to components through our custom dialog injector const providers: Provider[] = []; @@ -113,7 +115,7 @@ export class DialogService { this._ngZone.run(() => { const parentInjector = injector ?? module?.injector ?? this._injector; const environmentInjector = createEnvironmentInjector(providers, parentInjector); - const componentRef = createComponent(component, { environmentInjector, elementInjector }); + const componentRef = createComponent(component, { environmentInjector, elementInjector, directives, bindings }); dialogRef.componentRef = componentRef; dialogRef.componentInstance = componentRef.instance; this._appRef.attachView(componentRef.hostView);