Skip to content

Commit cb0721d

Browse files
committed
refactor(drop-down): Clean up injection tokens and inheritance
It seems that Ivy does not like forwardRefs in some cases
1 parent 70cce8f commit cb0721d

File tree

7 files changed

+13
-16
lines changed

7 files changed

+13
-16
lines changed

projects/igniteui-angular/src/lib/combo/combo.api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { IgxComboBase } from './combo.common';
2+
import { Injectable } from '@angular/core';
23

34
/**
45
* @hidden
56
*/
7+
@Injectable()
68
export class IgxComboAPIService {
79
protected combo: IgxComboBase;
810

projects/igniteui-angular/src/lib/combo/combo.common.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { ElementRef, EventEmitter } from '@angular/core';
1+
import { ElementRef, EventEmitter, InjectionToken } from '@angular/core';
22
import { CancelableEventArgs, CancelableBrowserEventArgs } from '../core/utils';
33
import { IFilteringExpression } from '../data-operations/filtering-expression.interface';
44

5-
export const IGX_COMBO_COMPONENT = 'IgxComboComponentToken';
5+
export const IGX_COMBO_COMPONENT = new InjectionToken<IgxComboBase>('IgxComboComponentToken');
66

77
/** @hidden @internal TODO: Evaluate */
88
export interface IgxComboBase {

projects/igniteui-angular/src/lib/combo/combo.component.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ConnectedPositioningStrategy } from './../services/overlay/position/con
22
import { CommonModule } from '@angular/common';
33
import {
44
AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener,
5-
Input, NgModule, OnInit, OnDestroy, Output, TemplateRef, ViewChild, Optional, Inject, Injector, forwardRef, Type
5+
Input, NgModule, OnInit, OnDestroy, Output, TemplateRef, ViewChild, Optional, Inject, Injector, Type
66
} from '@angular/core';
77
import {
88
IgxComboItemDirective,
@@ -127,7 +127,7 @@ const noop = () => { };
127127
providers: [
128128
IgxComboAPIService,
129129
{ provide: IGX_COMBO_COMPONENT, useExisting: IgxComboComponent },
130-
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => IgxComboComponent), multi: true }
130+
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxComboComponent, multi: true }
131131
]
132132
})
133133
export class IgxComboComponent extends DisplayDensityBase implements IgxComboBase, AfterViewInit, ControlValueAccessor, OnInit,
@@ -1638,6 +1638,5 @@ export class IgxComboComponent extends DisplayDensityBase implements IgxComboBas
16381638
IgxComboClearIconDirective],
16391639
imports: [IgxRippleModule, CommonModule, IgxInputGroupModule, FormsModule, ReactiveFormsModule,
16401640
IgxForOfModule, IgxToggleModule, IgxCheckboxModule, IgxDropDownModule, IgxButtonModule, IgxIconModule],
1641-
providers: [IgxSelectionAPIService]
16421641
})
16431642
export class IgxComboModule { }

projects/igniteui-angular/src/lib/drop-down/drop-down-item.component.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
Component,
3-
DoCheck,
43
HostListener,
54
HostBinding
65
} from '@angular/core';
@@ -14,7 +13,7 @@ import { IgxDropDownItemBase } from './drop-down-item.base';
1413
selector: 'igx-drop-down-item',
1514
templateUrl: 'drop-down-item.component.html'
1615
})
17-
export class IgxDropDownItemComponent extends IgxDropDownItemBase implements DoCheck {
16+
export class IgxDropDownItemComponent extends IgxDropDownItemBase {
1817
/**
1918
* @inheritdoc
2019
*/

projects/igniteui-angular/src/lib/drop-down/drop-down.common.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { CancelableEventArgs, CancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils';
22
import { IgxDropDownItemBase } from './drop-down-item.base';
33
import { IToggleView } from '../core/navigation/IToggleView';
4-
import { EventEmitter } from '@angular/core';
4+
import { EventEmitter, InjectionToken } from '@angular/core';
55
import { DisplayDensityBase } from '../core/density';
66

77
/** @hidden */
@@ -39,7 +39,7 @@ export interface IDropDownNavigationDirective {
3939
onHomeKeyDown(event?: KeyboardEvent): void;
4040
}
4141

42-
export const IGX_DROPDOWN_BASE = 'IgxDropDownBaseToken';
42+
export const IGX_DROPDOWN_BASE = new InjectionToken<IDropDownBase>('IgxDropDownBaseToken');
4343

4444
/**
4545
* @hidden

projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.common.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { EventEmitter } from '@angular/core';
1+
import { EventEmitter, InjectionToken } from '@angular/core';
22
import { AnimationReferenceMetadata } from '@angular/animations';
33
import { IBaseEventArgs } from '../core/utils';
44

@@ -17,7 +17,7 @@ export interface IgxExpansionPanelBase {
1717
}
1818

1919
/** @hidden */
20-
export const IGX_EXPANSION_PANEL_COMPONENT = 'IgxExpansionPanelToken';
20+
export const IGX_EXPANSION_PANEL_COMPONENT = new InjectionToken<IgxExpansionPanelBase>('IgxExpansionPanelToken');
2121

2222
export interface IExpansionPanelEventArgs extends IBaseEventArgs {
2323
event: Event;

projects/igniteui-angular/src/lib/expansion-panel/expansion-panel.component.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
Input,
77
Output,
88
ContentChild,
9-
forwardRef,
109
AfterContentInit
1110
} from '@angular/core';
1211
import { AnimationBuilder, AnimationReferenceMetadata, useAnimation } from '@angular/animations';
@@ -161,15 +160,13 @@ export class IgxExpansionPanelComponent implements IgxExpansionPanelBase, AfterC
161160
/**
162161
* @hidden
163162
*/
164-
@ContentChild(forwardRef(() => IgxExpansionPanelBodyComponent),
165-
{ read: forwardRef(() => IgxExpansionPanelBodyComponent), static: false })
163+
@ContentChild(IgxExpansionPanelBodyComponent, { read: IgxExpansionPanelBodyComponent, static: false })
166164
public body: IgxExpansionPanelBodyComponent;
167165

168166
/**
169167
* @hidden
170168
*/
171-
@ContentChild(forwardRef(() => IgxExpansionPanelHeaderComponent),
172-
{ read: forwardRef(() => IgxExpansionPanelHeaderComponent), static: false })
169+
@ContentChild(IgxExpansionPanelHeaderComponent, { read: IgxExpansionPanelHeaderComponent, static: false })
173170
public header: IgxExpansionPanelHeaderComponent;
174171

175172
constructor(private cdr: ChangeDetectorRef, private builder: AnimationBuilder) { }

0 commit comments

Comments
 (0)