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.
- 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