0.0.12 • Published 10 months ago

@bittu1040/pagination-ng v0.0.12

Weekly downloads
-
License
-
Repository
github
Last release
10 months 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

10 months ago

0.0.11

10 months ago

0.0.10

11 months ago

0.0.9

11 months ago

0.0.8

11 months ago

0.0.7

11 months ago

0.0.6

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago