use getNetboxData utility function in job handling

This commit is contained in:
checktheroads 2021-04-21 10:40:37 -07:00
parent a55316aef9
commit 024f3962b2
3 changed files with 5 additions and 9 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
import { createToast } from './bs'; import { createToast } from './bs';
import { apiGetBase, hasError } from './util'; import { apiGetBase, hasError, getNetboxData } from './util';
let timeout: number = 1000; let timeout: number = 1000;
@ -21,19 +21,14 @@ function asyncTimeout(ms: number) {
* JavaScript. * JavaScript.
*/ */
function getJobInfo(): JobInfo { function getJobInfo(): JobInfo {
let id: Nullable<string> = null;
let complete = false; let complete = false;
// Determine the Job ID, if present. const id = getNetboxData('data-job-id');
const jobIdElement = document.getElementById('jobId'); const jobComplete = getNetboxData('data-job-complete');
if (jobIdElement !== null && jobIdElement.getAttribute('data-value')) {
id = jobIdElement.getAttribute('data-value');
}
// Determine the job completion status, if present. If the job is not complete, the value will be // Determine the job completion status, if present. If the job is not complete, the value will be
// "None". Otherwise, it will be a stringified date. // "None". Otherwise, it will be a stringified date.
const jobCompleteElement = document.getElementById('jobComplete'); if (typeof jobComplete === 'string' && jobComplete.toLowerCase() !== 'none') {
if (jobCompleteElement !== null && jobCompleteElement.getAttribute('data-value') !== 'None') {
complete = true; complete = true;
} }
return { id, complete }; return { id, complete };
@ -91,6 +86,7 @@ async function checkJobStatus(id: string) {
function initJobs() { function initJobs() {
const { id, complete } = getJobInfo(); const { id, complete } = getJobInfo();
if (id !== null && !complete) { if (id !== null && !complete) {
// If there is a job ID and it is not completed, check for the job's status. // If there is a job ID and it is not completed, check for the job's status.
Promise.resolve(checkJobStatus(id)); Promise.resolve(checkJobStatus(id));