Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vue-ads-pagination

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-ads-pagination

Vue ads pagination is a vue js pagination component. On the left side you find some information about the shown items. On the right side you can select a specific, the first, last, next or previous page.

  • 1.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4.2K
increased by27.8%
Maintainers
1
Weekly downloads
 
Created
Source

vue-ads-pagination

Vue ads pagination is a vue js pagination component. On the left side you find some information about the shown items. On the right side you can select a specific, the first, last, next or previous page.

It uses the handy tailwind css library for styling.

Demo

Demo

I've written a demo in JSFiddle

Installation

You can install the package via npm or yarn.

NPM

npm install vue-ads-pagination --save

YARN

yarn add vue-ads-pagination

Usage

You can add the vue-ads-pagination component by using the following code in your project.

<template>
    <div id="app">
        <vue-ads-pagination
            :total-items="200"
            :max-visible-pages="4"
            :page="3"
            @page-change="pageChange"
            :detail-classes="['underline']"
            :button-classes="buttonClasses"
            :loading="true"
        >
            <template slot-scope="props">
                Items {{ props.range.start }} tot {{ props.range.end }} van de {{ props.range.total }}
            </template>
        </vue-ads-pagination>
    </div>
</template>

<script>
import VueAdsPagination from 'vue-ads-pagination';

export default {
    name: 'app',
    components: {
        VueAdsPagination,
    },

    data () {
        return {
            'buttonClasses': {
                'default': ['border-none', 'bg-grey-lightest'],
                'active': ['bg-orange', 'border-none'],
                'dots': ['bg-white'],
                'disabled': ['bg-grey-light'],
            },
        };
    },

    methods: {
        pageChange (page, range) {
            console.log(page, range);
        },
    },
};
</script>

Properties

  • page: (type: number, default: 0) A zero-based number to set the page.
  • itemsPerPage: (type: number, default: 10) The max amount of items on one page.
  • maxVisiblePages: (type: number, default: 5) The number of pages to be visible if their are too many pages.
  • totalItems: (type: number, required) The total amount of items.
  • loading: (type: boolean, default: false) Indicates if the current page is loading.
  • detailClasses: (type: array) A list of (tailwind) classes you can add to change the detail box ui.
  • buttonClasses: (type: object) An object to change the buttons ui for each state:
    • default: (type: array) A list of (tailwind) classes you can add to change the ui of the default button. These classes are added on all buttons.
    • active: (type: array) A list of (tailwind) classes you can add to change the ui of the active button.
    • disabled: (type: array) A list of (tailwind) classes you can add to change the ui of the disabled button.
    • dots: (type: array) A list of (tailwind) classes you can add to change the ui of the dots.

Events

  • page-change: Emitted on creation, to know the initial state, and if another page is clicked. It contains the following parameters:
    • page: (type: number) The zero-based current page.
    • range: (type: object) Object with the following parameters:
      • start: (type: number) A zero-based number to identify the first item.
      • end: (type: number) A zero-based number to identify the last item.

Templates

Default

You can add a default template to use a custom pagination detail box. The scope contains only one variable: the range object. It contains three parameters:

  • start: (type: number) The one-based start item.
  • end: (type: number) The one-based end item.
  • total: (type: number) The total number of available items.
<template slot-scope="props">
    {{ props.range.start }} - {{ props.range.end }} : Total {{ props.range.total }}
</template>

Testing

We use the jest framework for testing this pagination component. Run the following command to test it:

npm run test:unit

Changelog

Read the CHANGELOG file to check what has changed.

Issues

If you have any issues (bugs, features, ...) on the current project, add them here.

Contributing

Do you like to contribute to this project? Please, read the CONTRIBUTING file.

Social

  • Follow me on alt text

Donate

Want to make a donation? That would be highly appreciated!

Make a donation via PayPal.

FAQs

Package last updated on 22 Aug 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc