blob: d5ca21144d489d3676a31f3f818007b64c6494f2 [file] [log] [blame]
//Copyright 2017 Huawei Technologies Co., Ltd
//
//Licensed under the Apache License, Version 2.0 (the "License");
//you may not use this file except in compliance with the License.
//You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
//Unless required by applicable law or agreed to in writing, software
//distributed under the License is distributed on an "AS IS" BASIS,
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//See the License for the specific language governing permissions and
//limitations under the License.
'use strict';
angular.module('serviceCenter.router', [])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/sc/dashboard');
$stateProvider
.state('sc', {
url: '/sc',
abstract: true,
templateUrl: 'scripts/views/index.html',
controller: 'serviceCenterController'
})
.state('sc.dashboard', {
url: '/dashboard',
views:{
'base' :{
templateUrl: 'scripts/modules/dashboard/views/dashboard.html',
controller: 'dashboardController'
}
}
})
.state('sc.allServices', {
url: '/services/:status',
views:{
'base' :{
templateUrl: 'scripts/modules/serviceCenter/views/servicesList.html',
controller: 'servicesListController'
}
}
})
.state('sc.info',{
url: '/:serviceId',
abstract: true,
views: {
'base': {
templateUrl: 'scripts/modules/serviceCenter/views/serviceInfo.html',
controller: 'serviceInfoController'
}
},
resolve: {
serviceInfo: ['$q', 'httpService', 'commonService', 'apiConstant', '$stateParams', '$state', function($q, httpService, commonService, apiConstant, $stateParams, $state){
$(".loader").show();
var serviceId = $stateParams.serviceId;
var deferred = $q.defer();
var url = apiConstant.api.microservice.url;
var method = apiConstant.api.microservice.method;
httpService.apiRequest(url, method, null, null, "nopopup").then(function(response){
$(".loader").hide();
if(response && response.data && response.data.services){
deferred.resolve(response);
}
else {
deferred.resolve(response);
}
},function(error){
$(".loader").hide();
deferred.reject(error);
$state.go("sc.dashboard");
});
return deferred.promise;
}]
}
})
.state('sc.info.instance', {
url: '/instance',
views: {
"info" : {
templateUrl: 'scripts/modules/serviceCenter/views/serviceInstance.html'
}
}
})
.state('sc.info.provider', {
url: '/provider',
views: {
"info" : {
templateUrl: 'scripts/modules/serviceCenter/views/serviceProvider.html'
}
}
})
.state('sc.info.consumer', {
url: '/consumer',
views: {
"info" : {
templateUrl: 'scripts/modules/serviceCenter/views/serviceConsumer.html'
}
}
})
.state('sc.info.schema', {
url: '/schema',
views: {
"info" : {
templateUrl: 'scripts/modules/serviceCenter/views/schema.html',
controller: 'schemaController'
}
},
resolve: {
servicesList: ['$q', 'httpService', 'apiConstant', function($q, httpService, apiConstant){
$(".loader").show();
var deferred = $q.defer();
var url = apiConstant.api.microservice.url;
var method = apiConstant.api.microservice.method;
httpService.apiRequest(url, method, null, null, "nopopup").then(function(response){
$(".loader").hide();
if(response && response.data && response.data.services){
deferred.resolve(response);
}
else {
deferred.resolve(response);
}
},function(error){
$(".loader").hide();
deferred.reject(error);
});
return deferred.promise;
}]
}
})
.state('error', {
url: '/error',
templateUrl: 'views/error.html'
});
}]);