ARIA-friendly Pagination Component With Sliding Window for Vue

Sliding Pagination for Vue is an ARIA-compliant pagination component with a sliding window. Basic use of the pagination component requires only the current page, the total number of pages, and a handler called Change on Page.

aria current pagination, accessible pagination buttons, table pagination accessibility, accessible navigation, w3c pagination, wcag pagination, bootstrap pagination accessibility

How to make use of it:

Install and download:

# Yarn
$ yarn add vue-sliding-pagination

# NPM
$ npm install vue-sliding-pagination --save

1. Import the vue-sliding-pagination component into your app.

import SlidingPagination from 'vue-sliding-pagination'

2. Add the pagination component to the form as follows:

<template>
  <sliding-pagination
    :current="current"
    :total="total"
    @page-change="onPageChange"
  >
  </sliding-pagination>
</template>
export default {
  name: 'SimpleExample',
  components: {
    SlidingPagination
  },
  data() {
    return {
      current: 1,
      total: 10
    }
  },
  methods: {
    onPageChange (page) {
      this.current = page
    }
  }
}

3. The default props for configuring pagination controls.

ariaPaginationLabel: {
  type: String,
  required: false,
  default: 'Pagination Navigation'
},
ariaGotoPageLabel: {
  type: String,
  required: false,
  default: 'Go to page %page% of %total%'
},
ariaPreviousPageLabel: {
  type: String,
  required: false,
  default: 'Go to previous page'
},
ariaNextPageLabel: {
  type: String,
  required: false,
  default: 'Go to next page'
},
ariaCurrentPageLabel: {
  type: String,
  required: false,
  default: 'Page %page% of %total%, current page'
},
classMap: {
  type: Object,
  required: false,
  default: () => {
    return defaultClassMap
  }
},
current: {
  required: true,
  type: Number
},
total: {
  required: true,
  type: Number
},
slidingEndingSize: {
  required: false,
  type: Number,
  default: 2
},
slidingWindowSize: {
  required: false,
  type: Number,
  default: 3
},
nonSlidingSize: {
  required: false,
  type: Number,
  default: 9
},
pageComponent: {
  required: false,
  type: String,
  default: 'sliding-pagination-default-page'
}

Options

nametypedefaultdescription
ariaPaginationLabelString'Pagination navigation'ARIA label for the whole <nav> area
ariaGotoPageLabelString'Go to page %page% of %total%'ARIA label for a page link that is not the current page
ariaPreviousPageLabelString'Go to previous page'ARIA label for the previous page action
ariaNextPageLabelString'Go to next page'ARIA label for the next page action
ariaCurrentPageLabelString'Page %current of %total, current page'ARIA label for the current page
classMapObjectdefault class mapCSS classes used by the components
currentNumberInteger representing the current page
totalNumberInteger representing the total number of pages
slidingEndingSizeNumber2Number of always listed pages on the beginning and end
slidingWindowSizeNumber3Number of pages in the sliding window
nonSlidingSizeNumber9Number of pages before the paginator switches to sliding mode
pageComponentString'sliding-pagination-default-page'Component name (must be registered) for the page elements

Accessible Pagination Component, Sliding Pagination for Vue Plugin/Github


See Demo And Download

Official Website(eFrane): Click Here

This superior jQuery/javascript plugin is developed by eFrane. For extra advanced usage, please go to the official website.

Related Posts

HStack-and-VStack-in-CSS

CSS Layout Components Horizontal/Vertical Stack | HStack and VStack

HStack and VStack in CSS – CSS layout components that (basically) stack anything horizontally and vertically. A pure CSS library that makes it easy to stack elements…

Floating-Whatsapp-Chat-Button

How to Add Floating Whatsapp Chat Button In HTML | venom-button

Venom Button is a very simple plugin for the jQuery floating WhatsApp button. Adds a floating button to your site that calls WhatsApp Click to Chat API. It will automatically start the WhatsApp…

Data-Table-Generator-Tabulator

Interactive Data Table Generator with JS/jQuery and JSON | Tabulator

Tabulator allows you to create interactive tables in seconds from any HTML Table, JavaScript array, AJAX data source, or JSON format data. Just include the library in your…

alert-confirm-prompt-attention-js

Simple Alert, Confirm, Prompt Popup Using Vanilla JavaScript Library | attention.js

JavaScript provides various built-in functionality to display popup messages for different purposes. Attention JS is a vanillaJS plugin used to create a custom alert, confirm, or Prompt…

Bootstrap-4-Sidebar-Menu-Responsive-Template

Bootstrap 4 Sidebar Menu Responsive Template | MDB

Bootstrap Side Navbar – Responsive sidebar template based on the Bootstrap 4 framework. An easy-to-use, totally responsive, Google Material Design impressed aspect navigation for modern web app…

Bootstrap-4-Toast-Notification-Plugin

Lightweight Bootstrap 4 Toast Notification Plugin | BS4 Advanced Toast

A lightweight Bootstrap 4 Toast Notification plugin integrated with JS/jQuery. bs4-toast.js is a JavaScript library that enhances the native Bootstrap toast component with icons, buttons, callbacks, and…

Leave a Reply

Your email address will not be published. Required fields are marked *