diff --git a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts
index 736df4edd..7d8d9db1b 100644
--- a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts
+++ b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-details/pickup-shelf-in-details.component.ts
@@ -1,4 +1,4 @@
-import { Component, ChangeDetectionStrategy, inject, OnInit, AfterViewInit, ViewChild, effect, untracked } from '@angular/core';
+import { Component, ChangeDetectionStrategy, inject, OnInit, ViewChild, effect, untracked } from '@angular/core';
import { PickupShelfDetailsBaseComponent } from '../../pickup-shelf-details-base.component';
import { AsyncPipe, NgFor, NgIf } from '@angular/common';
import { PickUpShelfDetailsHeaderComponent } from '../../shared/pickup-shelf-details-header/pickup-shelf-details-header.component';
@@ -10,7 +10,7 @@ import { UiSpinnerModule } from '@ui/spinner';
import { OnInitDirective } from '@shared/directives/element-lifecycle';
import { PickupShelfInNavigationService } from '@shared/services/navigation';
import { BehaviorSubject, asapScheduler, combineLatest } from 'rxjs';
-import { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';
+import { distinctUntilChanged, filter, map, shareReplay, tap, throttleTime } from 'rxjs/operators';
import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
import { DBHOrderItemListItemDTO, KeyValueDTOOfStringAndString } from '@swagger/oms';
import { UiErrorModalComponent, UiModalService } from '@ui/modal';
@@ -42,7 +42,7 @@ import { SkeletonLoaderComponent } from '@shared/components/loader';
SkeletonLoaderComponent,
],
})
-export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseComponent implements OnInit, AfterViewInit {
+export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseComponent implements OnInit {
runCheckTrigger = inject(RunCheckTrigger);
@ViewChild(PickUpShelfDetailsTagsComponent, { static: false })
@@ -52,7 +52,7 @@ export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseCompone
order$ = this.store.order$;
- $customerNumber = toSignal(this.store.customerNumber$);
+ $customerNumber = toSignal(this.store.customerNumber$.pipe(distinctUntilChanged()));
orderItems$ = this.store.orderItems$.pipe(shareReplay(1));
@@ -104,6 +104,14 @@ export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseCompone
map(([compartmentInfo, changeActionDisabled]) => !!compartmentInfo || changeActionDisabled),
);
+ customerNumberAndSelevtedOrderItemIdsChanges$ = combineLatest([this.store.customerNumber$, this.store.selectedOrderItem$]).pipe(
+ filter(([_, selectedOrderItem]) => !!selectedOrderItem),
+ distinctUntilChanged((a, b) => isEqual(a, b)),
+ map(([customerNumber, selectedOrderItem]) => ({ customerNumber, selectedOrderItem })),
+ );
+
+ $customerNumberAndSelevtedOrderItemIdsChanges = toSignal(this.customerNumberAndSelevtedOrderItemIdsChanges$);
+
constructor(
private _uiModal: UiModalService,
private _activatedRoute: ActivatedRoute,
@@ -111,8 +119,7 @@ export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseCompone
super();
effect(() => {
- const customerNumber = this.$customerNumber();
- this.$orderItems();
+ const { customerNumber } = this.$customerNumberAndSelevtedOrderItemIdsChanges();
if (customerNumber) {
untracked(() => {
@@ -146,14 +153,8 @@ export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseCompone
// });
}
- ngAfterViewInit() {
- this._registerPickUpShelfDetailsTagsComponentChanges();
- }
-
- private _registerPickUpShelfDetailsTagsComponentChanges() {
- this.orderItems$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((_) => {
- this.pickUpShelfDetailsTags?.registerOnChange((compartmentInfo) => (this.store.selectedCompartmentInfo = compartmentInfo));
- });
+ changeSelectedCompartmentInfo(compartmentInfo: string) {
+ this.store.selectedCompartmentInfo = compartmentInfo;
}
async handleAction({
diff --git a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-list/pickup-shelf-in-list.component.ts b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-list/pickup-shelf-in-list.component.ts
index adc47a259..58f43baa0 100644
--- a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-list/pickup-shelf-in-list.component.ts
+++ b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-in/pickup-shelf-in-list/pickup-shelf-in-list.component.ts
@@ -205,6 +205,7 @@ export class PickUpShelfInListComponent implements OnInit, AfterViewInit {
}
loadMore() {
+ console.log('loadMore');
this.store.fetchMoreList();
}
}
diff --git a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.html b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.html
index 0cce8a011..3cfbeb1c8 100644
--- a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.html
+++ b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.html
@@ -33,9 +33,8 @@
diff --git a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.ts b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.ts
index d7b9e57c1..d6bd04371 100644
--- a/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.ts
+++ b/apps/isa-app/src/page/pickup-shelf/pickup-shelf-out/pickup-shelf-out-details/pickup-shelf-out-details.component.ts
@@ -75,10 +75,6 @@ export class PickupShelfOutDetailsComponent extends PickupShelfDetailsBaseCompon
map(([orderItems, fetchingItems]) => orderItems?.length === 0 && fetchingItems),
);
- selectedCompartmentInfo = this.store.selectedCompartmentInfo;
-
- selectedCompartmentInfo$ = this.store.selectedCompartmentInfo$;
-
showTagsComponent$ = this.store.showTagsComponent$;
changeActionLoader$ = new BehaviorSubject