aventadorjs
A JavaScript application modules organizer.
Version
Installation
via npm
$ npm install aventadorjs
via bower
$ bower install args-checker-js
Sample Application
See aventadorjs in action in this sample app.
Quick Usage
NOTE: dummy data were used just to show an example.
include aventador in your app.
<script src="aventadorjs/dist/aventador.min.js"></script>
app.js
(function(window, aventador) {
"use strict";
var myApp = aventador.module('myApp');
myApp
.utility('StringUtility', function() {
return {
isString: isString
}
function isString(str) {
return typeof str === 'string';
}
})
.factory('UsersFactory', function(StringUtility) { // Dependency Injection
return {
create: create
}
function create(user) {
// some user creation here..
if (StringUtility.isString(user.name)) {
return { id: 123, name: user.name};
}
return false;
}
})
.service('UsersService', function(UsersFactory) {
return {
isLoggedIn: isLoggedIn,
register: register
}
function isLoggedIn() {
// some ajax request here..
return false;
}
function register(user) {
var user = UsersFactory.create(user);
// some ajax request here..
return user;
}
})
.handler('UsersHandler', function (UsersService) {
return {
register: register
}
function register(user, callback) {
if (!UsersService.isLoggedIn()) {
var user = UsersService.register(user);
if (callback) { callback(user) }
return user;
}
return false;
}
})
})(window, aventador);
Using with jQuery event handlers.
(function(window, $, aventador) {
"use strict";
// document ready
$(function() {
var myApp = aventador.module('myApp'), // your app module
UsersHandler = myApp.getHandler('UsersHandler'); // your handler object
$('form').on('submit', function(e) {
var $this = $(this),
data = $this.serialize();
UsersHandler.register(data, function(user) {
console.log(user); // Object {id: 123, name: "john"}
})
e.preventDefault();
})
})
})(window, jQuery, aventador);
Maintainers
License
(C) Karl Patrick Espiritu 2015, released under the MIT license