diff options
Diffstat (limited to 'ufund-ui/src/app/components/need-list/need-list.component.ts')
-rw-r--r-- | ufund-ui/src/app/components/need-list/need-list.component.ts | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ufund-ui/src/app/components/need-list/need-list.component.ts b/ufund-ui/src/app/components/need-list/need-list.component.ts index 40af9f5..7ca0ae7 100644 --- a/ufund-ui/src/app/components/need-list/need-list.component.ts +++ b/ufund-ui/src/app/components/need-list/need-list.component.ts @@ -10,42 +10,46 @@ import {GoalType, Need} from '../../models/Need'; export class NeedListComponent implements OnChanges { @Input({required: true}) needs!: Need[] + @Input({required: true}) uid!: number @Input() itemsPerPage: number = 5; @Input() actionArea: TemplateRef<any> | null = null visibleNeeds: Need[] = []; - currentPage: number = 0; + currentPage: number = parseInt(localStorage.getItem('currentPage'+this.uid) ?? '0') ?? 0; totalPages: number = 0; - constructor( - - ) {} - ngOnChanges() { this.updateVisibleNeeds() + this.currentPage = parseInt(localStorage.getItem('currentPage'+this.uid) ?? '0') ?? 0; } getPrefix(need: Need) { return (need.type === GoalType.MONETARY) ? "$" : ""; } + //increment/decrement decrementPage() { this.currentPage--; + localStorage.setItem('currentPage'+this.uid, this.currentPage.toString()); this.updateVisibleNeeds(); } incrementPage() { this.currentPage++; + localStorage.setItem('currentPage'+this.uid, this.currentPage.toString()); this.updateVisibleNeeds(); } + //skipping pages lastPage() { this.currentPage = this.totalPages - 1 + localStorage.setItem('currentPage'+this.uid, this.currentPage.toString()); this.updateVisibleNeeds() } firstPage() { this.currentPage = 0 + localStorage.setItem('currentPage'+this.uid, this.currentPage.toString()); this.updateVisibleNeeds() } |