summaryrefslogtreecommitdiffstats
path: root/cds-ui/designer-client/src/app/modules/feature-modules/packages/packages-dashboard/package-pagination/package-pagination.component.ts
blob: 4360062ad511124ee6938eed9de5946307b79956 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import { Component, OnInit } from '@angular/core';
import { PackagesStore } from '../../packages.store';
import { NgxUiLoaderService } from 'ngx-ui-loader';

@Component({
    selector: 'app-package-pagination',
    templateUrl: './package-pagination.component.html',
    styleUrls: ['./package-pagination.component.css'],
})
export class PackagePaginationComponent implements OnInit {
    pageNumber: number;
    totalCount: number;
    pageSize: number;
    previousPage: number;

    constructor(
        private packagesStore: PackagesStore,
        private ngxLoader: NgxUiLoaderService
    ) {
        this.pageSize = packagesStore.pageSize;

        this.packagesStore.state$
            .subscribe(state => {
                this.pageNumber = state.currentPage + 1;
                this.totalCount = state.totalPackages;
            });
    }

    ngOnInit() {
    }

    public getPageFromService(page) {
        console.log('getPageFromService', page);
        if (isNaN(page)) {
            page = 1;
            console.log('page change to first...', page);
        }
        if (this.previousPage !== page) {
            this.ngxLoader.start(); // start master loader
            this.packagesStore.getPage(page - 1, this.packagesStore.pageSize);
            this.previousPage = page;
        }
    }

}