| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 'use strict';
- angular.module('etcd.module', []);
- angular.module('etcd.ui', []);
- angular.module('etcd.page', []);
- // The main etcd dashboard module.
- var etcdDashboard = angular.module('etcd.dashboard', [
- 'coreos',
- 'etcd.module',
- 'etcd.ui',
- 'etcd.page',
- 'ngRoute',
- 'ngResource',
- 'ngAnimate',
- 'ui.bootstrap',
- 'templates-views',
- 'underscore',
- 'jquery',
- 'd3'
- ]);
- // Routes
- etcdDashboard.config(function($routeProvider, $locationProvider, $httpProvider,
- $compileProvider, pollerSvcProvider, errorMessageSvcProvider,
- configSvcProvider) {
- var siteBasePath = '/mod/dashboard';
- // Make routes less verbose.
- function path(suffix) {
- return siteBasePath + suffix;
- }
- // coreos-web config.
- configSvcProvider.config({
- siteBasePath: siteBasePath,
- libPath: '/mod/dashboard/static/coreos-web'
- });
- // Use HTML5 push state.
- $locationProvider.html5Mode(true);
- // Parse error messages from the api.
- errorMessageSvcProvider.registerFormatter('etcdApi', function(resp) {
- if (resp.data && resp.data.message) {
- return resp.data.message;
- }
- return 'An error occurred.';
- });
- // Emit event for any request error.
- $httpProvider.interceptors.push('interceptorErrorSvc');
- // Poller settings.
- pollerSvcProvider.settings({
- interval: 5000,
- maxRetries: 5
- });
- // Configure routes.
- $routeProvider
- .when(path('/'), {
- redirectTo: path('/browser')
- })
- .when(path('/browser'), {
- controller: 'BrowserCtrl',
- templateUrl: '/page/browser/browser.html',
- title: 'Key Browser'
- })
- .when(path('/stats'), {
- controller: 'StatsCtrl',
- templateUrl: '/page/stats/stats.html',
- title: 'Stats'
- })
- .otherwise({
- templateUrl: '/404.html',
- title: 'Page Not Found (404)'
- });
- })
- // After bootstrap initialization.
- .run(function($http, $rootScope, $location, $window, $route, _, configSvc,
- toastSvc, CORE_EVENT) {
- // Show toast when poller fails.
- $rootScope.$on(CORE_EVENT.POLL_ERROR, function() {
- toastSvc.error('Error polling for data.');
- });
- // Show toast for any non-suppressed http response errors.
- $rootScope.$on(CORE_EVENT.RESP_ERROR, function(e, rejection) {
- var errorMsg = 'Request Error';
- if (rejection.data && rejection.data.message) {
- errorMsg = rejection.data.message;
- }
- toastSvc.error(errorMsg);
- });
- // Redirect to 404 page if event is thrown.
- $rootScope.$on(CORE_EVENT.PAGE_NOT_FOUND, function() {
- $location.url(configSvc.get().siteBaseUrl + '/404');
- });
- });
|