Blame view

app/scripts/app.js 1.59 KB
c87bc1f33   TRUONG   first commit: ini...
1
2
3
4
5
6
7
  /*jshint unused: vars */
  
  define(['angular','routes']/*deps*/, function (angular, configRoutes)/*invoke*/ {
  	'use strict';
  
  	var app = angular.module('tshatsApp', [/*angJSDeps*/
          'ngCookies',
6f105dbd5   Truong LD   add source code i...
8
9
          'ngRoute',
  		'ui.select2'
c87bc1f33   TRUONG   first commit: ini...
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
60
      ]);
  	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;
  });