mirror of
https://github.com/getredash/redash.git
synced 2025-12-19 17:37:19 -05:00
94 lines
2.7 KiB
JavaScript
94 lines
2.7 KiB
JavaScript
angular.module('redash', [
|
|
'redash.directives',
|
|
'redash.admin_controllers',
|
|
'redash.controllers',
|
|
'redash.filters',
|
|
'redash.services',
|
|
'redash.renderers',
|
|
'redash.visualization',
|
|
'ui.codemirror',
|
|
'highchart',
|
|
'ui.select2',
|
|
'angular-growl',
|
|
'angularMoment',
|
|
'ui.bootstrap',
|
|
'smartTable.table',
|
|
'ngResource',
|
|
'ngRoute'
|
|
]).config(['$routeProvider', '$locationProvider', '$compileProvider', 'growlProvider',
|
|
function ($routeProvider, $locationProvider, $compileProvider, growlProvider) {
|
|
if (featureFlags.clientSideMetrics) {
|
|
Bucky.setOptions({
|
|
host: '/api/metrics'
|
|
});
|
|
|
|
Bucky.requests.monitor('ajax_requsts');
|
|
Bucky.requests.transforms.enable('dashboards', /dashboard\/[\w-]+/ig, '/dashboard');
|
|
}
|
|
|
|
function getQuery(Query, $route) {
|
|
var query = Query.get({'id': $route.current.params.queryId });
|
|
return query.$promise;
|
|
};
|
|
|
|
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|http|data):/);
|
|
$locationProvider.html5Mode(true);
|
|
growlProvider.globalTimeToLive(2000);
|
|
|
|
$routeProvider.when('/dashboard/:dashboardSlug', {
|
|
templateUrl: '/views/dashboard.html',
|
|
controller: 'DashboardCtrl',
|
|
reloadOnSearch: false
|
|
});
|
|
$routeProvider.when('/queries', {
|
|
templateUrl: '/views/queries.html',
|
|
controller: 'QueriesCtrl',
|
|
reloadOnSearch: false
|
|
});
|
|
$routeProvider.when('/queries/new', {
|
|
templateUrl: '/views/query.html',
|
|
controller: 'QuerySourceCtrl',
|
|
reloadOnSearch: false,
|
|
resolve: {
|
|
'query': ['Query', function newQuery(Query) {
|
|
return Query.newQuery();
|
|
}]
|
|
}
|
|
});
|
|
$routeProvider.when('/queries/:queryId', {
|
|
templateUrl: '/views/query.html',
|
|
controller: 'QueryViewCtrl',
|
|
reloadOnSearch: false,
|
|
resolve: {
|
|
'query': ['Query', '$route', getQuery]
|
|
}
|
|
});
|
|
$routeProvider.when('/queries/:queryId/source', {
|
|
templateUrl: '/views/query.html',
|
|
controller: 'QuerySourceCtrl',
|
|
reloadOnSearch: false,
|
|
resolve: {
|
|
'query': ['Query', '$route', getQuery]
|
|
}
|
|
});
|
|
$routeProvider.when('/admin/status', {
|
|
templateUrl: '/views/admin_status.html',
|
|
controller: 'AdminStatusCtrl'
|
|
});
|
|
$routeProvider.when('/admin/workers', {
|
|
templateUrl: '/views/admin_workers.html',
|
|
controller: 'AdminWorkersCtrl'
|
|
});
|
|
|
|
$routeProvider.when('/', {
|
|
templateUrl: '/views/index.html',
|
|
controller: 'IndexCtrl'
|
|
});
|
|
$routeProvider.otherwise({
|
|
redirectTo: '/'
|
|
});
|
|
|
|
|
|
}
|
|
]);
|