@@ -23,6 +23,7 @@ import {
2323 DxComponent ,
2424 DxTemplateHost ,
2525 DxTemplateModule ,
26+ DxTemplateDirective ,
2627 WatcherHelper
2728} from '../../../dist' ;
2829
@@ -69,9 +70,35 @@ export class DxTestWidgetComponent extends DxComponent implements AfterViewInit
6970 }
7071}
7172
73+ @Component ( {
74+ selector : 'dx-test' ,
75+ template : '' ,
76+ providers : [ DxTemplateHost , WatcherHelper ]
77+ } )
78+ export class DxTestComponent extends DxComponent implements AfterViewInit {
79+ templates : DxTemplateDirective [ ] ;
80+
81+ constructor ( elementRef : ElementRef , ngZone : NgZone , templateHost : DxTemplateHost , _watcherHelper : WatcherHelper ) {
82+ super ( elementRef , ngZone , templateHost , _watcherHelper ) ;
83+ }
84+
85+ protected _createInstance ( ) {
86+ return this ;
87+ }
88+
89+ ngAfterViewInit ( ) {
90+ this . templates [ 0 ] . render ( {
91+ model : { } ,
92+ container : $ ( this . element . nativeElement ) ,
93+ index : 5
94+ } ) ;
95+ }
96+ }
97+
7298@Component ( {
7399 selector : 'test-container-component' ,
74- template : ''
100+ template : '' ,
101+ providers : [ DxTemplateHost ]
75102} )
76103export class TestContainerComponent {
77104 @ViewChildren ( DxTestWidgetComponent ) innerWidgets : QueryList < DxTestWidgetComponent > ;
@@ -83,7 +110,7 @@ describe('DevExtreme Angular widget\'s template', () => {
83110 beforeEach ( ( ) => {
84111 TestBed . configureTestingModule (
85112 {
86- declarations : [ TestContainerComponent , DxTestWidgetComponent ] ,
113+ declarations : [ TestContainerComponent , DxTestWidgetComponent , DxTestComponent ] ,
87114 imports : [ DxTemplateModule ]
88115 } ) ;
89116 } ) ;
@@ -141,5 +168,22 @@ describe('DevExtreme Angular widget\'s template', () => {
141168
142169 } ) ) ;
143170
171+
172+ it ( 'should have item index' , async ( ( ) => {
173+ TestBed . overrideComponent ( TestContainerComponent , {
174+ set : {
175+ template : `
176+ <dx-test>
177+ <div *dxTemplate="let d of 'templateName'; let i = index">index: {{i}}</div>
178+ </dx-test>
179+ ` }
180+ } ) ;
181+ let fixture = TestBed . createComponent ( TestContainerComponent ) ;
182+ fixture . detectChanges ( ) ;
183+
184+ let element = fixture . nativeElement . querySelector ( 'dx-test' ) . querySelector ( 'div' ) ;
185+ expect ( element . outerText ) . toBe ( 'index: 5' ) ;
186+ } ) ) ;
187+
144188} ) ;
145189
0 commit comments