forked from Doctor-Zi/backbone
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapp.js
73 lines (54 loc) · 1.91 KB
/
app.js
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
( function(){
var app = angular.module('app', ['ui.router']);
app.run(
[ '$rootScope', '$state', '$stateParams',
function ($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
]
);
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('/');
$locationProvider.hashPrefix("!");
$stateProvider
.state("home", { url: "", template: ''}) // начальное состояние. попали в него, значит перешли без цели
.state("mainState", {
url: "/{url}",
templateUrl: "content.html",
controller: ['$scope', '$http', '$sce', '$stateParams', function($scope, $http, $sce, $stateParams){
var cContest = this
$scope.fullContent = {};
$scope.sce = $sce;
$scope.showContent = true;
if ($stateParams.url === "/") {
$scope.fullContent = {};
document.location.href='/';
} else {
$scope.showContent = false;
$http.get("/"+$stateParams.url+".json").success(
function(data){
$scope.fullContent = data;
$scope.showContent = true;
}
)
.error(function(){
$scope.fullContent = {"header":"Ошибка", "content":"Содержимое раздела не обнаружено."};
$scope.showContent = true;
});
};
}]
})
}]);
app.controller('mainMenu', [ '$http', '$state', function($http, $state) {
var mainMenu = this
mainMenu.listMenu = [];
$http.get("/menu.json").success(function(data){
mainMenu.listMenu = data;
if ($state.$current.name == "home") {
$state.go('mainState', {"url":mainMenu.listMenu[1].url});
}
});
}]);
})();