Fix Error handling in corpus analysis app

This commit is contained in:
Patrick Jentsch
2023-07-03 13:28:52 +02:00
parent 7936ac270b
commit a9f05fffdf
6 changed files with 32 additions and 42 deletions

View File

@ -100,14 +100,13 @@ class CorpusAnalysisApp {
this.elements.m.initModal.close();
},
(cqiError) => {
let errorString = `${cqiError.code}: ${cqiError.constructor.name}`;
let errorsElement = this.elements.initModal.querySelector('.errors');
let progressElement = this.elements.initModal.querySelector('.progress');
errorsElement.innerText = JSON.stringify(cqiError);
errorsElement.innerText = errorString;
errorsElement.classList.remove('hide');
app.flash(errorString, 'error');
progressElement.classList.add('hide');
if ('payload' in cqiError && 'code' in cqiError.payload && 'msg' in cqiError.payload) {
app.flash(`${cqiError.payload.code}: ${cqiError.payload.msg}`, 'error');
}
}
);

View File

@ -68,13 +68,11 @@ class CorpusAnalysisConcordance {
this.elements.progress.classList.add('hide');
this.app.enableActionElements();
},
(cqiStatus) => {
// TODDO: CHECK THIS!
this.elements.error.innerText = JSON.stringify(cqiStatus);
(cqiError) => {
let errorString = `${cqiError.code}: ${cqiError.constructor.name}`;
this.elements.error.innerText = errorString;
this.elements.error.classList.remove('hide');
if ('payload' in cqiStatus && 'code' in cqiStatus.payload && 'msg' in cqiStatus.payload) {
app.flash(`${cqiStatus.payload.code}: ${cqiStatus.payload.msg}`, 'error');
}
app.flash(errorString, 'error');
this.elements.progress.classList.add('hide');
this.app.enableActionElements();
}
@ -313,8 +311,9 @@ class CorpusAnalysisConcordance {
this.clearSubcorpusPagination();
}
},
(cQiError) => {
app.flash(`${cQiError.payload.code}: ${cQiError.payload.msg}`, 'error');
(cqiError) => {
let errorString = `${cqiError.code}: ${cqiError.constructor.name}`;
app.flash(errorString, 'error');
}
);
});

View File

@ -45,11 +45,10 @@ class CorpusAnalysisReader {
this.app.enableActionElements();
},
(cqiError) => {
this.elements.error.innerText = JSON.stringify(error);
let errorString = `${cqiError.code}: ${cqiError.constructor.name}`;
this.elements.error.innerText = errorString;
this.elements.error.classList.remove('hide');
if ('payload' in error && 'code' in error.payload && 'msg' in error.payload) {
app.flash(`${error.payload.code}: ${error.payload.msg}`, 'error');
}
app.flash(errorString, 'error');
this.elements.progress.classList.add('hide');
this.app.enableActionElements();
}

View File

@ -30,14 +30,12 @@ cqi.api.APIClient = class APIClient {
// if (timeoutError) {
// reject(timeoutError);
// }
this.socket.emit('cqi', {fn_name: fn_name, fn_args: fn_args}, (response) => {
this.socket.emit('cqi', fn_name, fn_args, (response) => {
if (response.code === 200) {
resolve(response.payload);
}
if (response.code === 500) {
} else if (response.code === 500) {
reject(new Error(`[${response.code}] ${response.msg}`));
}
if (response.code === 502) {
} else if (response.code === 502) {
reject(new cqi.errors.lookup[response.payload.code]());
}
});