mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
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:
committed by
Nino Righi
parent
813f611843
commit
67dae94524
@@ -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,
|
||||
|
||||
@@ -51,7 +51,6 @@ export class RemissionComponent implements OnInit, OnDestroy {
|
||||
ngOnDestroy(): void {
|
||||
this._onDestroy$.next();
|
||||
this._onDestroy$.complete();
|
||||
this._remissionListComponentStore.clearCache();
|
||||
this.createToast();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user