Skip to content

Commit ff8654b

Browse files
committed
fix(frontend): fix scroll manage
1 parent 646869d commit ff8654b

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

packages/frontend/src/app/modules/manage-usagers/components/manage-usagers-page/manage-usagers-page.component.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
switchMap,
3030
takeUntil,
3131
tap,
32+
throttleTime,
3233
withLatestFrom,
3334
} from "rxjs/operators";
3435
import { fadeInOut } from "../../../../shared";
@@ -83,6 +84,7 @@ export class ManageUsagersPageComponent implements OnInit, OnDestroy {
8384
};
8485

8586
private destroy$ = new Subject<void>();
87+
private scrollSubject = new Subject<void>();
8688

8789
public usagers: UsagerFormModel[] = [];
8890
public me!: UserStructure | null;
@@ -139,6 +141,10 @@ export class ManageUsagersPageComponent implements OnInit, OnDestroy {
139141
this.pageSize = 50;
140142
this.filters.page = 0;
141143
this.titleService.setTitle("Gestion des domiciliés - DomiFa");
144+
145+
this.scrollSubject.pipe(throttleTime(500)).subscribe(() => {
146+
this.handleScroll();
147+
});
142148
}
143149

144150
public ngOnInit(): void {
@@ -155,7 +161,7 @@ export class ManageUsagersPageComponent implements OnInit, OnDestroy {
155161
"input"
156162
).pipe(
157163
map((event: InputEvent) => (event.target as HTMLInputElement).value),
158-
debounceTime(200),
164+
debounceTime(300),
159165
map((value: string) => value.trim()),
160166
filter((value: string) => value !== this.filters.searchString),
161167
withLatestFrom(this.chargerTousRadies$),
@@ -188,7 +194,7 @@ export class ManageUsagersPageComponent implements OnInit, OnDestroy {
188194

189195
this.subscription.add(
190196
combineLatest([this.filters$, allUsagers$])
191-
.pipe(debounceTime(200), takeUntil(this.destroy$))
197+
.pipe(debounceTime(300), takeUntil(this.destroy$))
192198
.subscribe(([filters, allUsagers]) => {
193199
this.applyFilters({ filters, allUsagers });
194200
})
@@ -453,13 +459,17 @@ export class ManageUsagersPageComponent implements OnInit, OnDestroy {
453459

454460
@HostListener("window:scroll", ["$event"])
455461
public onScroll(): void {
462+
this.scrollSubject.next();
463+
}
464+
465+
private handleScroll(): void {
456466
const pos =
457467
(document.documentElement.scrollTop || document.body.scrollTop) +
458468
document.documentElement.offsetHeight;
459469
const max = document.documentElement.scrollHeight;
460470
const pourcent = (pos / max) * 100;
461471

462-
if (pourcent >= 85 && this.usagers.length < this.nbResults) {
472+
if (pourcent >= 70 && this.usagers.length < this.nbResults) {
463473
this.filters.page = this.filters.page + 1;
464474
this.filters$.next(this.filters);
465475
}

0 commit comments

Comments
 (0)