blob: c111c04e21809c5b4569d938df4cd6379e50784a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.allServices.url;
var method = apiConstant.api.allServices.method;
httpService.apiRequest(url, method, null, null, null).then(function(response) {
$(".loader").hide();
if (response && response.data && response.data.allServicesDetail) {
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.properties', {
url: '/properties',
views: {
"info": {
templateUrl: 'scripts/modules/serviceCenter/views/serviceProperties.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.allServices.url;
var method = apiConstant.api.allServices.method;
httpService.apiRequest(url, method, null, null, null).then(function(response) {
$(".loader").hide();
if (response && response.data && response.data.allServicesDetail) {
deferred.resolve(response);
} else {
deferred.resolve(response);
}
}, function(error) {
$(".loader").hide();
deferred.reject(error);
});
return deferred.promise;
}]
}
})
.state('sc.instances', {
url: '/instances',
views: {
'base': {
templateUrl: 'scripts/modules/instances/views/instances.html',
controller: 'instancesController'
}
}
})
.state('sc.topology', {
url: '/topology',
views: {
'base': {
templateUrl: 'scripts/modules/topology/views/topology.html',
controller: 'topologyController'
}
}
})
}]);