aurelia-mobile-plugin

Custom attributes to help with your mobile development


Keywords
aurelia, plugin, mobile, tablet, phone, hybrid, touch
License
MIT
Install
npm install aurelia-mobile-plugin@0.0.3

Documentation

aurelia-mobile-plugin

This is a easy-to-use plugin to support all mobile features in the aurelia framework. We used the following technologies. Hammer.js - Hammer helps you add support for touch gestures to your app, and remove the 300ms delay from clicks. iScroll.js - iScroll is a high performance, small footprint, dependency free, multi-platform javascript scroller.

Installation

npm install aurelia-mobile-plugin --save

To load the plugins add this to your configure function:

aurelia.use
  //...
  .plugin('aurelia-mobile-plugin')
  //...

Custom Attributes

mo-tap

In your View

<button mo-tap.call="handleTap($event)"></button>

In your View Model

handleTap($event) {

  // here you have $event.hammerEvent holding the original event from HammerJS.
}

mo-press

In your View

<button mo-press.call="handlePress($event)"></button>

In your View Model

handlePress($event) {

  // here you have $event.hammerEvent holding the original event from HammerJS.
}

mo-slide

In your View

<section mo-slide.call="handleSwipe($event)"></section>

In your View Model

handleSwipe($event) {
  if ($event.direction === 'left') {

  } else if ($event.direction === 'right') {

  }
  // here you have $event.hammerEvent holding the original event from HammerJS.
}

mo-scroll

Add this custom attribute on your wrapper element. The first child of this wrapper element will be the scroll element. In your View

<div mo-scroll="scrollOptions">
  <ul>
    <li>...</li>
    <li>...</li>
    ...
  </ul>
</div>

In your View Model

public scrollOptions = {
  mouseWheel: true,
  click: false,
  tap: true,
  useTransform: true,
  zoom: false,
};

You find more configurations here;

Building The Code

To build the code, follow these steps.

  1. Ensure that NodeJS is installed. This provides the platform on which the build tooling runs.
  2. From the project folder, execute the following command:

    npm install
  3. Ensure that Gulp is installed. If you need to install it, use the following command:

    npm install -g gulp
  4. To build the code, you can now run:

    gulp build
  5. You will find the compiled code in the dist folder, available in three module formats: AMD, CommonJS and ES6.

  6. See gulpfile.js for other tasks related to generating the docs and linting.

Running The Tests

To run the unit tests, first ensure that you have followed the steps above in order to install all dependencies and successfully build the library. Once you have done that, proceed with these additional steps:

  1. Ensure that the Karma CLI is installed. If you need to install it, use the following command:

    npm install -g karma-cli
  2. Ensure that jspm is installed. If you need to install it, use the following commnand:

    npm install -g jspm
  3. Install the client-side dependencies with jspm:

    jspm install
  4. You can now run the tests with this command:

    karma start

License

MIT