Merged PR 1283: #3040 Remission SilentReload entfernt und Ladelogik angepasst

#3040 Remission SilentReload entfernt und Ladelogik angepasst

Related work items: #3189
This commit is contained in:
Andreas Schickinger
2022-06-22 14:05:11 +00:00
committed by Nino Righi
parent 813f611843
commit 67dae94524
3 changed files with 14 additions and 21 deletions

View File

@@ -154,13 +154,11 @@ export class RemissionListComponentStore extends ComponentStore<RemissionState>
initSearch() {
combineLatest([this._triggerReload$, this._filterChange$])
.pipe(debounceTime(500), takeUntil(this._onDestroy$), withLatestFrom(this._activatedRoute.queryParams))
.subscribe(([[reload, filter], params]) => {
.pipe(debounceTime(500), takeUntil(this._onDestroy$))
.subscribe(([reload, filter]) => {
const data = this.getCachedData();
if (reload || data.items?.length === 0 || (filter && !!params.returnId)) {
if (reload || data.items?.length === 0 || filter) {
this.search({ newSearch: true });
} else {
this.search({ silentReload: true });
}
});
}
@@ -237,8 +235,6 @@ export class RemissionListComponentStore extends ComponentStore<RemissionState>
}
this.setFilter(filter);
// this.setFetching(false);
this._filterChange$.next(true);
},
(err) => {}
)
@@ -247,24 +243,22 @@ export class RemissionListComponentStore extends ComponentStore<RemissionState>
)
);
search = this.effect((options$: Observable<{ newSearch?: boolean; silentReload?: boolean }>) =>
search = this.effect((options$: Observable<{ newSearch?: boolean }>) =>
options$.pipe(
withLatestFrom(this.filter$, this.selectedSource$, this.selectedSupplier$, this.searchOptions$, this.items$),
filter(([, filter, source, supplier]) => !!supplier?.id && !!source && !!filter),
filter(([, filter, source]) => (source === 'Abteilungsremission' ? !!filter.getQueryToken().filter.abteilungen : true)),
tap(([options]) => {
if (!options.silentReload) {
this.setFetching(true);
options?.newSearch ? this.setSearchResult({ result: [], hits: 0 }) : null;
}
this.setFetching(true);
options?.newSearch ? this.setSearchResult({ result: [], hits: 0 }) : null;
}),
switchMap(([options, filter, source, supplier, searchOptions, items]) =>
this._domainRemissionService
.getItems({
queryToken: {
...filter?.getQueryToken(),
skip: options?.silentReload ? 0 : options?.newSearch ? 0 : searchOptions?.skip ?? items?.length,
take: options?.silentReload ? items.length : searchOptions?.take ?? 40,
skip: options?.newSearch ? 0 : searchOptions?.skip ?? items?.length,
take: searchOptions?.take ?? 40,
},
source,
supplierId: supplier.id,

View File

@@ -51,7 +51,6 @@ export class RemissionComponent implements OnInit, OnDestroy {
ngOnDestroy(): void {
this._onDestroy$.next();
this._onDestroy$.complete();
this._remissionListComponentStore.clearCache();
this.createToast();
}

View File

@@ -137,17 +137,17 @@ export class ShippingDocumentDetailsComponent extends ComponentStore<ShippingDoc
deleted() {
// Cache leeren und Reload bei Wechsel zurück zur Liste triggern
// this._remissionListStore.clearCache();
// this._remissionListStore._triggerReload$.next(true);
this._remissionListStore.search({ silentReload: true });
this._remissionListStore.clearCache();
this._remissionListStore._triggerReload$.next(true);
this.navigateBack();
}
itemDeleted() {
// Cache leeren und Reload bei Wechsel zurück zur Liste triggern
// this._remissionListStore.clearCache();
// this._remissionListStore._triggerReload$.next(true);
this._remissionListStore.search({ silentReload: true });
this._remissionListStore.clearCache();
this._remissionListStore._triggerReload$.next(true);
this.reloadReturn();
}