@nativescript-community/ui-pager
Version:
A NativeScript Pager / Carousel component that allows the user to swipe left and right through pages of data.
198 lines (139 loc) • 6.28 kB
Markdown
<!-- ⚠️ This README has been generated from the file(s) "blueprint.md" ⚠️-->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DO NOT EDIT THIS READEME DIRECTLY! Edit "bluesprint.md" instead.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<h1 align="center">@nativescript-community/ui-pager</h1>
<p align="center">
<a href="https://npmcharts.com/compare/@nativescript-community/ui-pager?minimal=true"><img alt="Downloads per month" src="https://img.shields.io/npm/dm/@nativescript-community/ui-pager.svg" height="20"/></a>
<a href="https://www.npmjs.com/package/@nativescript-community/ui-pager"><img alt="NPM Version" src="https://img.shields.io/npm/v/@nativescript-community/ui-pager.svg" height="20"/></a>
</p>
<p align="center">
<b>A NativeScript Pager / Carousel component that allows the user to swipe left and right through pages of data. </b></br>
<sub><sub>
</p>
<br />
| <img src="https://github.com/nativescript-community/ui-pager/raw/master/images/demo-ios.gif" height="500" /> | <img src="https://github.com/nativescript-community/ui-pager/raw/master/images/demo-android.gif" height="500" /> |
| --- | ----------- |
| iOS Demo | Android Demo |
[](
* [Installation](
* [API](
* [Properties](
* [Usage in Angular](
* [Examples](
* [Usage in React](
* [Examples](
* [Usage in Svelte](
* [Examples](
* [Usage in Vue](
* [Examples](
* [Custom Transformer](
[](
Run the following command from the root of your project:
`ns plugin add @nativescript-community/ui-pager`
[](
| Property | Type |
| - | - |
| items | `array` or `ItemsSource`
| selectedIndex | `number` |
| canGoRight | `boolean` |
| canGoLeft | `boolean` |
| spacing | `PercentLengthType` |
| peaking | `PercentLengthType` |
| perPage | `number` |
| indicator | `string` ('disable', 'none', 'worm', 'fill', 'swap', 'thin_worm', 'flat')|
| circularMode | `boolean` |
| autoPlayDelay | `number` |
| autoPlay | `boolean` |
| orientation | `string` ('horizontal' or 'vertical') |
| autoPlay | `boolean` |
| disableSwipe | `boolean` |
| showIndicator | `boolean` |
| transformers | `string` |
```
Pager for NativeScript supports the core ObservableArray module part of the core NativeScript modules collection. Using an ObservableArray instance as a source for Pager will ensure that changes in the source collection will be automatically taken care of by the control.
```
[](
Import the module into your project.
```typescript
import { PagerModule } from "@nativescript-community/ui-pager/angular";
@NgModule({
imports: [
PagerModule,
],
})
```
- [Static Pager](demo-snippets/ng/static-pager)
- A simple pager example using static content.
- [Basic Pager](demo-snippets/ng/basic-pager)
- A simple pager example using dynamic content.
[](
Import the module into your project.
```typescript
import { Pager } from '@nativescript-community/ui-pager/react';
```
- [Basic Pager](demo-snippets/react/BasicPager.tsx)
- A simple pager example using dynamic content.
[](
Import the module into your project.
```typescript
import { registerNativeViewElement } from 'svelte-native/dom';
import PagerElement from '@nativescript-community/ui-pager/svelte';
import { PagerItem } from '@nativescript-community/ui-pager';
PagerElement.register();
registerNativeViewElement('pageritem', () => PagerItem);
```
- [Static Pager](demo-snippets/svelte/StaticPager.svelte)
- A simple pager example using static content.
- [Basic Pager](demo-snippets/svelte/BasicPager.svelte)
- A simple pager example using dynamic content.
[](
Import the module into your project.
```typescript
import Vue from 'nativescript-vue';
import Pager from '@nativescript-community/ui-pager/vue';
Vue.use(Pager);
```
- [Static Pager](demo-snippets/vue/StaticPager.vue)
- A simple pager example using static content.
- [Basic Pager](demo-snippets/vue/BasicPager.vue)
- A simple pager example using dynamic content.
[](
You can define custom transformer for iOS/Android
You can follow the `Scale` example for [iOS](src/ui-pager/transformers/Scale.ios.ts) and [Android](src/ui-pager/transformers/Scale.android.ts) to create your custom transformer.
Then you can register your transformer on app start with (this example registered the included but not registered Scale transformer):
```ts
import { Pager } from '@nativescript-community/ui-pager';
import transformer from '@nativescript-community/ui-pager/transformers/Scale';
Pager.registerTransformer('scale', transformer)
```
Then you can use that transformer with the `transformers` property of `Pager`