@spotinst/spinnaker-deck
Version:
Spinnaker-Deck service, forked with support to Spotinst
58 lines (49 loc) • 1.73 kB
JavaScript
import * as angular from 'angular';
import { CLUSTER_SERVICE } from 'core/cluster/cluster.service';
import { ApplicationDataSourceRegistry } from '../application/service/ApplicationDataSourceRegistry';
import { TaskReader } from './task.read.service';
export const CORE_TASK_TASK_DATASOURCE = 'spinnaker.core.task.dataSource';
export const name = CORE_TASK_TASK_DATASOURCE; // for backwards compatibility
angular.module(CORE_TASK_TASK_DATASOURCE, [CLUSTER_SERVICE]).run([
'$q',
'clusterService',
function ($q, clusterService) {
const addTasks = (application, tasks) => {
return $q.when(angular.isArray(tasks) ? tasks : []);
};
const loadTasks = (application) => {
return TaskReader.getTasks(application.name);
};
const loadRunningTasks = (application) => {
return TaskReader.getRunningTasks(application.name);
};
const addRunningTasks = (application, data) => {
return $q.when(data);
};
const runningTasksLoaded = (application) => {
clusterService.addTasksToServerGroups(application);
application.getDataSource('serverGroups').dataUpdated();
};
ApplicationDataSourceRegistry.registerDataSource({
key: 'tasks',
sref: '.tasks',
badge: 'runningTasks',
category: 'tasks',
loader: loadTasks,
onLoad: addTasks,
afterLoad: runningTasksLoaded,
lazy: true,
primary: true,
icon: 'fa fa-sm fa-fw fa-check-square',
iconName: 'spMenuTasks',
defaultData: [],
});
ApplicationDataSourceRegistry.registerDataSource({
key: 'runningTasks',
visible: false,
loader: loadRunningTasks,
onLoad: addRunningTasks,
defaultData: [],
});
},
]);