Add ws subscription to job results

This commit is contained in:
gconsidine
2018-02-09 16:01:29 -05:00
committed by Jake McDermott
parent 2eef166325
commit ad1764c7f2
2 changed files with 48 additions and 8 deletions

View File

@@ -5,6 +5,7 @@ let vm;
let ansi; let ansi;
let resource; let resource;
let related; let related;
let socket;
let container; let container;
let $timeout; let $timeout;
let $sce; let $sce;
@@ -40,6 +41,7 @@ const TIME_EVENTS = [
function JobsIndexController ( function JobsIndexController (
_resource_, _resource_,
_socket_,
_$sce_, _$sce_,
_$timeout_, _$timeout_,
_$scope_, _$scope_,
@@ -52,6 +54,7 @@ function JobsIndexController (
$scope = _$scope_; $scope = _$scope_;
$q = _$q_; $q = _$q_;
resource = _resource_; resource = _resource_;
socket = _socket_;
ansi = new Ansi(); ansi = new Ansi();
related = getRelated(); related = getRelated();
@@ -611,6 +614,7 @@ function scrollPageDown () {
JobsIndexController.$inject = [ JobsIndexController.$inject = [
'resource', 'resource',
'socket',
'$sce', '$sce',
'$timeout', '$timeout',
'$scope', '$scope',

View File

@@ -54,13 +54,38 @@ function resolveResource (Job, ProjectUpdate, AdHocCommand, SystemJob, WorkflowJ
}); });
} }
function JobsRun ($stateExtender, strings) { function resolveSocket (SocketService, $stateParams) {
$stateExtender.addState({ const { id } = $stateParams;
const { type } = $stateParams;
// TODO: accommodate other result types (management, scm_update, etc)
const state = {
data: {
socket: {
groups: {
jobs: ['status_changed', 'summary'],
job_events: []
}
}
}
};
SocketService.addStateResolve(state, id);
return SocketService;
}
function resolveBreadcrumb (strings) {
return {
label: strings.get('state.TITLE')
};
}
function JobsRun ($stateRegistry) {
const state = {
name: 'jobz', name: 'jobz',
url: '/jobz/:type/:id',
route: '/jobz/:type/:id', route: '/jobz/:type/:id',
ncyBreadcrumb: {
label: strings.get('state.TITLE')
},
data: { data: {
activityStream: true, activityStream: true,
activityStreamTarget: 'jobs' activityStreamTarget: 'jobs'
@@ -81,12 +106,23 @@ function JobsRun ($stateExtender, strings) {
'WorkflowJobModel', 'WorkflowJobModel',
'$stateParams', '$stateParams',
resolveResource resolveResource
],
ncyBreadcrumb: [
'JobsStrings',
resolveBreadcrumb
],
socket: [
'SocketService',
'$stateParams',
resolveSocket
] ]
} },
}); };
$stateRegistry.register(state);
} }
JobsRun.$inject = ['$stateExtender', 'JobsStrings']; JobsRun.$inject = ['$stateRegistry'];
angular angular
.module(MODULE_NAME, [ .module(MODULE_NAME, [