0.0.12 • Published 1 year ago

@bittu1040/pagination-ng v0.0.12

Weekly downloads
-
License
-
Repository
github
Last release
1 year ago

Angular pagination library

A reusable and responsive pagination library built with Angular 17, designed to be customizable and easy to integrate into your Angular applications.

How it look:

Pagination Demo

Features

  • Customizable Page Size: Adjust page size, total pages, and current page dynamically.
  • Page Navigation: Navigate between pages with ease.
  • Responsive Design: Adjusts to various screen sizes for better usability.
  • Event Emission: Emits events for page and page size changes, enabling dynamic data fetching.

Getting Started

Installation

Install the package via npm:

npm install @bittu1040/pagination-ng

API Documentation

Inputs

InputTypeDescription
currentPageNumbernumberThe current page number.
totalPagesnumberThe total number of pages.
currentPageSizenumberThe current page size (e.g., items per page).
pageSizesnumber[]The array of available page size options.
totalItemsnumberThe total number of items in the dataset.

Outputs

OutputTypeDescription
pageChangenumberEmits the new page number when a page is changed.
pageSizeChangenumberEmits the updated page size when the selection is changed.

Usage

Import in Your Component

First, import the PaginationNgComponent into your Angular component:

import { PaginationNgComponent } from '@bittu1040/pagination-ng';

@Component({
  selector: 'app-mini-features',
  standalone: true,
  imports: [PaginationNgComponent],
  templateUrl: './mini-features.component.html',
  styleUrls: ['./mini-features.component.scss']
})
export class MiniFeaturesComponent {
  pageNumber: number = 1;
  totalPages: number = 10;
  currentPageSize: number = 20; // Choose a default page size from the pageSizes array
  pageSizes: number[] = [20, 50, 100];
  totalItems: number = 200;

  onPageChange(newPage: number): void {
    this.pageNumber = newPage;
    console.log(`Page changed to: ${this.pageNumber}`);
    // Add logic to fetch data for the new page
  }

  onPageSizeUpdate(newPageSize: number): void {
    this.currentPageSize = newPageSize;
    console.log(`Page size updated to: ${this.currentPageSize}`);
    // Add logic to update the page size and refresh data
  }
}

Component Template

Use the component in your template:

<pagination-ng 
  [currentPageNumber]="pageNumber"
  [totalPages]="totalPages"
  [currentPageSize]="currentPageSize"
  [pageSizes]="pageSizes"
  [totalItems]="totalItems"
  (pageChange)="onPageChange($event)"
  (pageSizeChange)="onPageSizeUpdate($event)"
></pagination-ng>

Further help:

Contact here if you face any issue while integrating in your angular project "Bittu Kumar "

You are welcome to raise issues/PR for any contribution !!

0.0.12

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago