diff --git a/src/app/shared/component/smd-datatable/datatable.component.ts b/src/app/shared/component/smd-datatable/datatable.component.ts index 3752abf..d158f2f 100644 --- a/src/app/shared/component/smd-datatable/datatable.component.ts +++ b/src/app/shared/component/smd-datatable/datatable.component.ts @@ -4,8 +4,7 @@ import { ViewEncapsulation, Input, Output, - Inject, - forwardRef, + Injector, EventEmitter, DoCheck, IterableDiffers, @@ -131,11 +130,14 @@ export class SmdDataTableCellComponent implements OnInit, OnDestroy { ` }) export class SmdDataTableRowComponent { + private _parent: SmdDataTable; + @Input() row: SmdDataRowModel; @Input() renderCheckbox: boolean; @Input() columns: SmdDataTableColumnComponent[]; - constructor(@Inject(forwardRef(() => SmdDataTable)) private _parent: SmdDataTable, private dialog: MdDialog, private viewContainerRef: ViewContainerRef) { + constructor(injector: Injector, private dialog: MdDialog, private viewContainerRef: ViewContainerRef) { + this._parent = injector.get(SmdDataTable); } _onClick(column: SmdDataTableColumnComponent, model: any) { @@ -234,10 +236,13 @@ export class SmdDataTableColumnComponent implements OnInit { ` }) export class SmdDatatableActionButton { + private _parent: SmdDataTable; + @Input() label: string; @Output() onClick: EventEmitter = new EventEmitter(); - constructor(@Inject(forwardRef(() => SmdDataTable)) private _parent: SmdDataTable) { + constructor(injector: Injector) { + this._parent = injector.get(SmdDataTable); } _onButtonClick(event: Event) { @@ -260,12 +265,15 @@ export class SmdDatatableActionButton { ` }) export class SmdContextualDatatableButton { + private _parent: SmdDataTable; + @Input() icon: string; @Input() minimunSelected: number = -1; @Input() maxSelected: number = -1; @Output() onClick: EventEmitter = new EventEmitter(); - constructor(@Inject(forwardRef(() => SmdDataTable)) private _parent: SmdDataTable) { + constructor(injector: Injector) { + this._parent = injector.get(SmdDataTable); } _onButtonClick(event: Event) { @@ -308,6 +316,7 @@ export class SmdContextualDatatableButton { } }) export class SmdDatatableHeader implements AfterContentInit, OnDestroy { + private _parent: SmdDataTable; private filterTimeout: any; public filterValue: string; @@ -320,7 +329,8 @@ export class SmdDatatableHeader implements AfterContentInit, OnDestroy { @ContentChildren(SmdDatatableActionButton) actionButtons: QueryList; @ContentChildren(SmdContextualDatatableButton) contextualButtons: QueryList; - constructor(@Inject(forwardRef(() => SmdDataTable)) private _parent: SmdDataTable) { + constructor(injector: Injector) { + this._parent = injector.get(SmdDataTable); } public shouldRenderCheckbox() { diff --git a/src/app/shared/component/smd-fab-speed-dial/fab-speed-dial.ts b/src/app/shared/component/smd-fab-speed-dial/fab-speed-dial.ts index 1a7e6a7..89a21c4 100644 --- a/src/app/shared/component/smd-fab-speed-dial/fab-speed-dial.ts +++ b/src/app/shared/component/smd-fab-speed-dial/fab-speed-dial.ts @@ -7,8 +7,7 @@ import { AfterContentInit, ElementRef, Renderer, - Inject, - forwardRef, + Injector, ContentChildren, QueryList, ContentChild, @@ -26,6 +25,7 @@ const Z_INDEX_ITEM: number = 23; ` }) export class SmdFabSpeedDialTrigger { + private _parent: SmdFabSpeedDialComponent; /** * Whether this trigger should spin (360dg) while opening the speed dial @@ -33,7 +33,8 @@ export class SmdFabSpeedDialTrigger { @HostBinding('class.smd-spin') @Input() spin: boolean = false; - constructor(@Inject(forwardRef(() => SmdFabSpeedDialComponent)) private _parent: SmdFabSpeedDialComponent) { + constructor(injector: Injector) { + this._parent = injector.get(SmdFabSpeedDialComponent); } @HostListener('click', ['$event']) @@ -53,10 +54,12 @@ export class SmdFabSpeedDialTrigger { ` }) export class SmdFabSpeedDialActions implements AfterContentInit { + private _parent: SmdFabSpeedDialComponent; @ContentChildren(MdButton) _buttons: QueryList; - constructor(@Inject(forwardRef(() => SmdFabSpeedDialComponent)) private _parent: SmdFabSpeedDialComponent, private renderer: Renderer) { + constructor(injector: Injector, private renderer: Renderer) { + this._parent = injector.get(SmdFabSpeedDialComponent); } ngAfterContentInit(): void {