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:
aureliause //... //...
Custom Attributes
mo-tap
In your View
In your View Model
{ // here you have $event.hammerEvent holding the original event from HammerJS.}
mo-press
In your View
In your View Model
{ // here you have $event.hammerEvent holding the original event from HammerJS.}
mo-slide
In your View
In your View Model
{ if $eventdirection === 'left' else if $eventdirection === '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
... ... ...
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.
- Ensure that NodeJS is installed. This provides the platform on which the build tooling runs.
- From the project folder, execute the following command:
npm install
- Ensure that Gulp is installed. If you need to install it, use the following command:
npm install -g gulp
- To build the code, you can now run:
gulp build
-
You will find the compiled code in the
dist
folder, available in three module formats: AMD, CommonJS and ES6. -
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:
- Ensure that the Karma CLI is installed. If you need to install it, use the following command:
npm install -g karma-cli
- Ensure that jspm is installed. If you need to install it, use the following commnand:
npm install -g jspm
- Install the client-side dependencies with jspm:
jspm install
- You can now run the tests with this command:
karma start