Merge pull request #6105 from tsiegleauq/limit-filter-update-on-autoupdate
Limit pushing of filter updates in filter service
This commit is contained in:
commit
1daee9c6d6
@ -1,4 +1,5 @@
|
|||||||
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
|
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
|
||||||
|
import { distinctUntilChanged } from 'rxjs/operators';
|
||||||
|
|
||||||
import { BaseModel } from 'app/shared/models/base/base-model';
|
import { BaseModel } from 'app/shared/models/base/base-model';
|
||||||
import { BaseRepository } from '../repositories/base-repository';
|
import { BaseRepository } from '../repositories/base-repository';
|
||||||
@ -182,10 +183,23 @@ export abstract class BaseFilterListService<V extends BaseViewModel> {
|
|||||||
this.inputDataSubscription.unsubscribe();
|
this.inputDataSubscription.unsubscribe();
|
||||||
this.inputDataSubscription = null;
|
this.inputDataSubscription = null;
|
||||||
}
|
}
|
||||||
this.inputDataSubscription = inputData.subscribe(data => {
|
this.inputDataSubscription = inputData
|
||||||
this.inputData = data;
|
/**
|
||||||
this.updateFilteredData();
|
* Every autoupdate pushes data here.
|
||||||
});
|
* Not entirely sure why this happens.
|
||||||
|
* However, we are only concerned about changes to our
|
||||||
|
* current moddels, so compare the changes should
|
||||||
|
* limit the updating of filters
|
||||||
|
*/
|
||||||
|
.pipe(
|
||||||
|
distinctUntilChanged((curr, prev) => {
|
||||||
|
return curr.length === prev.length && curr.every((v, i) => v === prev[i]);
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.subscribe(data => {
|
||||||
|
this.inputData = data;
|
||||||
|
this.updateFilteredData();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user