1
- import { AfterViewInit , Component , Inject , Input , Optional } from '@angular/core' ;
1
+ import { AfterViewInit , Component , Inject , Input , OnDestroy , Optional } from '@angular/core' ;
2
2
import {
3
3
PetriflowArc ,
4
4
PetriflowCanvasConfigurationService ,
@@ -31,14 +31,16 @@ import {SnackBarService} from '../../snack-bar/services/snack-bar.service';
31
31
import { TranslateService } from '@ngx-translate/core' ;
32
32
import { AbstractDataFieldComponent } from '../models/abstract-data-field-component' ;
33
33
import { NAE_INFORM_ABOUT_INVALID_DATA } from '../models/invalid-data-policy-token' ;
34
+ import { Subscription } from 'rxjs' ;
34
35
35
36
@Component ( {
36
37
selector : 'ncc-abstract-case-ref-field' ,
37
38
template : ''
38
39
} )
39
- export abstract class AbstractCaseRefFieldComponent extends AbstractDataFieldComponent implements AfterViewInit {
40
+ export abstract class AbstractCaseRefFieldComponent extends AbstractDataFieldComponent implements AfterViewInit , OnDestroy {
40
41
41
42
@Input ( ) public dataField : CaseRefField ;
43
+ protected sub : Subscription ;
42
44
43
45
constructor ( protected _petriflowCanvasService : PetriflowCanvasService , protected _petriflowFactoryService : PetriflowCanvasFactoryService ,
44
46
protected _petriflowConfigService : PetriflowCanvasConfigurationService , protected _caseResourceService : CaseResourceService ,
@@ -48,7 +50,7 @@ export abstract class AbstractCaseRefFieldComponent extends AbstractDataFieldCom
48
50
}
49
51
50
52
ngAfterViewInit ( ) : void {
51
- this . formControl . valueChanges . subscribe ( value => {
53
+ this . sub = this . formControl . valueChanges . subscribe ( value => {
52
54
if ( value ?. length > 0 ) {
53
55
this . _petriNetResourceService . getNetByCaseId ( value [ 0 ] ) . subscribe ( net => {
54
56
this . createNet ( net ) ;
@@ -252,4 +254,8 @@ export abstract class AbstractCaseRefFieldComponent extends AbstractDataFieldCom
252
254
svgElement . onmouseleave = ( ) => { } ;
253
255
}
254
256
257
+ ngOnDestroy ( ) {
258
+ super . ngOnDestroy ( ) ;
259
+ this . sub . unsubscribe ( ) ;
260
+ }
255
261
}
0 commit comments