diff --git a/awx/ui/client/features/output/index.controller.js b/awx/ui/client/features/output/index.controller.js index 4f84cfbf8d..b65cb52a68 100644 --- a/awx/ui/client/features/output/index.controller.js +++ b/awx/ui/client/features/output/index.controller.js @@ -110,7 +110,7 @@ function next () { return page.next() .then(events => { if (!events) { - return; + return $q.resolve(); } return shift() @@ -119,13 +119,13 @@ function next () { } function previous () { - let initialPosition = scroll.getScrollPosition(); + const initialPosition = scroll.getScrollPosition(); let postPopHeight; return page.previous() .then(events => { if (!events) { - return; + return $q.resolve(); } return pop() @@ -134,7 +134,7 @@ function previous () { return prepend(events); }) - .then(() => { + .then(() => { const currentHeight = scroll.getScrollHeight(); scroll.setScrollPosition(currentHeight - postPopHeight + initialPosition); }); @@ -177,7 +177,7 @@ function shift () { function scrollHome () { if (scroll.isPaused()) { - return; + return $q.resolve(); } scroll.pause(); @@ -185,7 +185,7 @@ function scrollHome () { return page.first() .then(events => { if (!events) { - return; + return $q.resolve(); } return render.clear() @@ -200,7 +200,7 @@ function scrollHome () { function scrollEnd () { if (stream.isActive()) { if (stream.isTransitioning()) { - return; + return $q.resolve(); } if (stream.isPaused()) { @@ -209,9 +209,9 @@ function scrollEnd () { stream.pause(); } - return; + return $q.resolve(); } else if (scroll.isPaused()) { - return; + return $q.resolve(); } scroll.pause(); @@ -219,7 +219,7 @@ function scrollEnd () { return page.last() .then(events => { if (!events) { - return; + return $q.resolve(); } return render.clear() @@ -306,7 +306,7 @@ function toggleSearchKey () { vm.searchKey = !vm.searchKey; } -function getCurrentQueryset() { +function getCurrentQueryset () { const { job_event_search } = $state.params; return qs.decodeArr(job_event_search); diff --git a/awx/ui/client/features/output/index.js b/awx/ui/client/features/output/index.js index 64819e9ca3..ebf69f5243 100644 --- a/awx/ui/client/features/output/index.js +++ b/awx/ui/client/features/output/index.js @@ -17,7 +17,16 @@ const PAGE_LIMIT = 3; const PAGE_SIZE = 100; const WS_PREFIX = 'ws'; -function resolveResource (Job, ProjectUpdate, AdHocCommand, SystemJob, WorkflowJob, $stateParams, qs, Wait) { +function resolveResource ( + Job, + ProjectUpdate, + AdHocCommand, + SystemJob, + WorkflowJob, + $stateParams, + qs, + Wait +) { const { id, type, job_event_search } = $stateParams; let Resource; @@ -60,22 +69,20 @@ function resolveResource (Job, ProjectUpdate, AdHocCommand, SystemJob, WorkflowJ pageLimit: PAGE_LIMIT, params, })) - .then(model => { - return { - id, - type, - model, - related, - ws: { - namespace: `${WS_PREFIX}-${getWebSocketResource(type).key}-${id}` - }, - page: { - cache: PAGE_CACHE, - size: PAGE_SIZE, - pageLimit: PAGE_LIMIT - } - }; - }) + .then(model => ({ + id, + type, + model, + related, + ws: { + namespace: `${WS_PREFIX}-${getWebSocketResource(type).key}-${id}` + }, + page: { + cache: PAGE_CACHE, + size: PAGE_SIZE, + pageLimit: PAGE_LIMIT + } + })) .catch(({ data, status }) => qs.error(data, status)) .finally(() => Wait('stop')); } @@ -84,9 +91,6 @@ function resolveWebSocketConnection (SocketService, $stateParams) { const { type, id } = $stateParams; const resource = getWebSocketResource(type); - let name; - let events; - const state = { data: { socket: { @@ -132,12 +136,13 @@ function getWebSocketResource (type) { name = 'jobs'; key = 'job_events'; break; + default: + throw new Error('Unsupported WebSocket type'); } return { name, key }; } - function JobsRun ($stateRegistry) { const state = { name: 'jobz', diff --git a/awx/ui/client/features/output/page.service.js b/awx/ui/client/features/output/page.service.js index 3c5eca95e8..3f6461345e 100644 --- a/awx/ui/client/features/output/page.service.js +++ b/awx/ui/client/features/output/page.service.js @@ -47,7 +47,7 @@ function JobPageService ($q) { } else { reference.cache.unshift(page); reference.state.first = page.number; - reference.state.last = reference.cache[reference.cache.length -1].number; + reference.state.last = reference.cache[reference.cache.length - 1].number; } reference.state.current = page.number; @@ -101,7 +101,7 @@ function JobPageService ($q) { } return false; - } + }; this.emptyBuffer = () => { const reference = this.getReference(); @@ -137,8 +137,9 @@ function JobPageService ($q) { }; this.trim = left => { - let reference = this.getActiveReference(); - let excess = reference.cache.length - this.page.limit; + const reference = this.getActiveReference(); + const excess = reference.cache.length - this.page.limit; + let ejected; if (left) { @@ -152,9 +153,8 @@ function JobPageService ($q) { return ejected.reduce((total, page) => total + page.lines, 0); }; - this.isPageBookmarked = number => { - return number >= this.page.bookmark.first && number <= this.page.bookmark.last; - }; + this.isPageBookmarked = number => number >= this.page.bookmark.first && + number <= this.page.bookmark.last; this.updateLineCount = (lines, stream) => { let reference; @@ -168,15 +168,10 @@ function JobPageService ($q) { const index = reference.cache.findIndex(item => item.number === reference.state.current); reference.cache[index].lines += lines; - } - - this.isBookmarkPending = () => { - return this.bookmark.pending; }; - this.isBookmarkSet = () => { - return this.bookmark.set; - }; + this.isBookmarkPending = () => this.bookmark.pending; + this.isBookmarkSet = () => this.bookmark.set; this.setBookmark = () => { if (this.isBookmarkSet()) { @@ -190,12 +185,11 @@ function JobPageService ($q) { } this.bookmark.state.first = this.page.state.first; - this.bookmark.state.last = this.page.state.last - 1; + this.bookmark.state.last = this.page.state.last - 1; this.bookmark.state.current = this.page.state.current - 1; this.bookmark.cache = JSON.parse(JSON.stringify(this.page.cache)); this.bookmark.set = true; this.bookmark.pending = false; - console.log('applied', JSON.stringify(this.bookmark.state, 0, 2)); }; this.removeBookmark = () => { @@ -271,19 +265,16 @@ function JobPageService ($q) { }); }; - this.buildRequestConfig = number => { - return { - page: number, - related: this.resource.related, - params: { - order_by: 'start_line' - } - }; - }; + this.buildRequestConfig = number => ({ + page: number, + related: this.resource.related, + params: { + order_by: 'start_line' + } + }); - this.getActiveReference = () => { - return this.isBookmarkSet() ? this.getReference(true) : this.getReference(); - }; + this.getActiveReference = () => (this.isBookmarkSet() ? + this.getReference(true) : this.getReference()); this.getReference = (bookmark) => { if (bookmark) { diff --git a/awx/ui/client/features/output/render.service.js b/awx/ui/client/features/output/render.service.js index 9f883a126c..e8d1cd0dd0 100644 --- a/awx/ui/client/features/output/render.service.js +++ b/awx/ui/client/features/output/render.service.js @@ -5,8 +5,6 @@ const ELEMENT_TBODY = '#atStdoutResultTable'; const EVENT_START_TASK = 'playbook_on_task_start'; const EVENT_START_PLAY = 'playbook_on_play_start'; const EVENT_STATS_PLAY = 'playbook_on_stats'; -const JOB_START = 'playbook_on_start'; -const JOB_END = 'playbook_on_stats'; const EVENT_GROUPS = [ EVENT_START_TASK, @@ -70,7 +68,7 @@ function JobRenderService ($q, $sce, $window) { const current = this.createRecord(ln, lines, event); - const html = lines.reduce((html, line, i) => { + const html = lines.reduce((concat, line, i) => { ln++; const isLastLine = i === lines.length - 1; @@ -81,7 +79,7 @@ function JobRenderService ($q, $sce, $window) { count++; } - return `${html}${row}`; + return `${concat}${row}`; }, ''); return { html, count }; @@ -191,16 +189,16 @@ function JobRenderService ($q, $sce, $window) { ${tdEvent}