Blame view
app/scripts/app.js
1.57 KB
|
c87bc1f33
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
/*jshint unused: vars */
define(['angular','routes']/*deps*/, function (angular, configRoutes)/*invoke*/ {
'use strict';
var app = angular.module('tshatsApp', [/*angJSDeps*/
'ngCookies',
'ngRoute'
]);
app.config([
'$routeProvider',
'$locationProvider',
'$controllerProvider',
'$compileProvider',
'$filterProvider',
'$provide',
function ($routeProvider, $locationProvider, $controllerProvider, $compileProvider, $filterProvider, $provide) {
app.controller = $controllerProvider.register;
app.directive = $compileProvider.directive;
app.filter = $filterProvider.register;
app.factory = $provide.factory;
app.service = $provide.service;
// enable below line for enable html5 mode
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
/* resolve controller function for lazyload */
var resolveController = function (dependencies){
return {
load: ['$q', '$rootScope', function ($q, $rootScope) {
var defer = $q.defer();
require(dependencies, function () {
$rootScope.$apply(function() {
defer.resolve();
});
});
return defer.promise;
}]
};
};
if (configRoutes.routes !== undefined){
angular.forEach(configRoutes.routes, function(route, path)
{
$routeProvider.when(path, {templateUrl: route.templateUrl, resolve: resolveController(route.dependencies)});
});
}
if (configRoutes.defaultRoutePaths !== undefined){
$routeProvider.otherwise({redirectTo: configRoutes.defaultRoutePaths});
}
}
]);
return app;
});
|