[ADF-4745] memory leak fixes (#4931)

* fix app-layout component

* fix card-view component

* fix cloud-layout service

* code fixes

* code fixes

* even more fixes

* even more fixes

* lint fixes

* test fixes

* fix code

* remove useless pipes

* fix code owners

* enable spellcheck for cloud components

* update test

* update test
This commit is contained in:
Denys Vuika
2019-07-16 15:56:00 +01:00
committed by Eugenio Romano
parent e2311ab045
commit 1abb9bfc89
98 changed files with 1581 additions and 1066 deletions

View File

@@ -15,11 +15,12 @@
* limitations under the License.
*/
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, OnDestroy } from '@angular/core';
import { FormGroup, FormBuilder, Validators, FormControl, AbstractControl } from '@angular/forms';
import { ActivatedRoute, Params } from '@angular/router';
import { debounceTime } from 'rxjs/operators';
import { debounceTime, takeUntil } from 'rxjs/operators';
import moment from 'moment-es6';
import { Subject } from 'rxjs';
@Component({
selector: 'app-task-list-demo',
@@ -27,7 +28,7 @@ import moment from 'moment-es6';
styleUrls: [`./task-list-demo.component.scss`]
})
export class TaskListDemoComponent implements OnInit {
export class TaskListDemoComponent implements OnInit, OnDestroy {
DEFAULT_SIZE = 20;
taskListForm: FormGroup;
@@ -75,6 +76,8 @@ export class TaskListDemoComponent implements OnInit {
{value: 'due-desc', title: 'Due (desc)'}
];
private onDestroy$ = new Subject<boolean>();
constructor(private route: ActivatedRoute,
private formBuilder: FormBuilder) {
}
@@ -94,6 +97,11 @@ export class TaskListDemoComponent implements OnInit {
this.buildForm();
}
ngOnDestroy() {
this.onDestroy$.next(true);
this.onDestroy$.complete();
}
buildForm() {
this.taskListForm = this.formBuilder.group({
taskAppId: new FormControl(this.defaultAppId, [Validators.pattern('^[0-9]*$')]),
@@ -114,9 +122,10 @@ export class TaskListDemoComponent implements OnInit {
this.taskListForm.valueChanges
.pipe(
debounceTime(500)
debounceTime(500),
takeUntil(this.onDestroy$)
)
.subscribe((taskFilter) => {
.subscribe(taskFilter => {
if (this.isFormValid()) {
this.filterTasks(taskFilter);
}