@@ -22,6 +22,7 @@ import DxDataGrid from 'devextreme/ui/data_grid';
2222 template : ''
2323} )
2424class TestContainerComponent {
25+ showComponent = true ;
2526 dataSource = [ {
2627 id : 1 ,
2728 string : 'String' ,
@@ -113,8 +114,8 @@ describe('DxDataGrid', () => {
113114 TestBed . overrideComponent ( TestContainerComponent , {
114115 set : {
115116 template : `
116- <dx-data-grid
117- [columns]="['obj.field']"
117+ <dx-data-grid
118+ [columns]="['obj.field']"
118119 [dataSource]="dataSourceWithUndefined">
119120 </dx-data-grid>`
120121 }
@@ -206,6 +207,34 @@ describe('DxDataGrid', () => {
206207 jasmine . clock ( ) . uninstall ( ) ;
207208 } ) ;
208209
210+ it ( 'should reset nested option' , ( ) => {
211+ TestBed . overrideComponent ( TestContainerComponent , {
212+ set : {
213+ template : `<dx-data-grid [dataSource]="[{text: 'text'}]">
214+ <dxo-column-chooser *ngIf="showComponent" [enabled]="true"></dxo-column-chooser>
215+ <dxi-column dataField="text"></dxi-column>
216+ </dx-data-grid>`
217+ }
218+ } ) ;
219+
220+ jasmine . clock ( ) . uninstall ( ) ;
221+ jasmine . clock ( ) . install ( ) ;
222+
223+ let fixture = TestBed . createComponent ( TestContainerComponent ) ;
224+
225+ fixture . detectChanges ( ) ;
226+
227+ jasmine . clock ( ) . tick ( 101 ) ;
228+ let testComponent = fixture . componentInstance ;
229+ const instance = testComponent . innerWidgets . last . instance ;
230+ expect ( instance . option ( 'columnChooser' ) . enabled ) . toBe ( true ) ;
231+
232+ testComponent . showComponent = false ;
233+ fixture . detectChanges ( ) ;
234+ expect ( instance . option ( 'columnChooser' ) . enabled ) . toBe ( false ) ;
235+ jasmine . clock ( ) . uninstall ( ) ;
236+ } ) ;
237+
209238 it ( 'should destroy devextreme components in template correctly' , ( ) => {
210239 @Component ( {
211240 selector : 'test-container-component' ,
@@ -274,7 +303,7 @@ describe('Nested DxDataGrid', () => {
274303 TestBed . overrideComponent ( TestContainerComponent , {
275304 set : {
276305 template : `
277- <dx-data-grid
306+ <dx-data-grid
278307 [dataSource]="dataSource"
279308 keyExpr="id"
280309 [masterDetail]="{ enabled: true, template: 'detail' }"
@@ -295,7 +324,7 @@ describe('Nested DxDataGrid', () => {
295324 <dxi-column dataField="string"></dxi-column>
296325 <dxi-column dataField="string"></dxi-column>
297326 <dxi-column dataField="string"></dxi-column>
298-
327+
299328 <div *dxTemplate="let data of 'detail'">
300329 <dx-data-grid [dataSource]="dataSource">
301330 <dxi-column dataField="number"></dxi-column>
0 commit comments