mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-25 10:54:18 +00:00
Some Codestyle enhancements
This commit is contained in:
parent
4ae4b88a44
commit
d898cd8516
@ -27,34 +27,32 @@ class CorpusAnalysisApp {
|
|||||||
this.elements.m.initModal.open();
|
this.elements.m.initModal.open();
|
||||||
|
|
||||||
// Setup CQi over SocketIO connection and gather data from the CQPServer
|
// Setup CQi over SocketIO connection and gather data from the CQPServer
|
||||||
let cqiClient;
|
|
||||||
let cqiCorpus;
|
|
||||||
try {
|
try {
|
||||||
cqiClient = new cqi.CQiClient('/cqi_over_sio');
|
const cqiClient = new cqi.CQiClient('/cqi_over_sio');
|
||||||
let response = await cqiClient.api.socket.emitWithAck('init', this.corpusId);
|
const response = await cqiClient.api.socket.emitWithAck('init', this.corpusId);
|
||||||
if (response.code !== 200) {throw new Error();}
|
if (response.code !== 200) {throw new Error();}
|
||||||
await cqiClient.connect('anonymous', '');
|
await cqiClient.connect('anonymous', '');
|
||||||
cqiCorpus = await cqiClient.corpora.get(`NOPAQUE-${this.corpusId.toUpperCase()}`);
|
const cqiCorpus = await cqiClient.corpora.get(`NOPAQUE-${this.corpusId.toUpperCase()}`);
|
||||||
// TODO: Don't do this hgere
|
// TODO: Don't do this hgere
|
||||||
await cqiCorpus.updateDb();
|
await cqiCorpus.updateDb();
|
||||||
|
this.data.cqiClient = cqiClient;
|
||||||
|
this.data.cqiCorpus = cqiCorpus;
|
||||||
|
this.data.corpus = {o: cqiCorpus}; // legacy
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// TODO: Currently we can only handle CQiErrors here,
|
// TODO: Currently we can only handle CQiErrors here,
|
||||||
// but we should also handle other errors.
|
// but we should also handle other errors.
|
||||||
let errorString = `${error.code}: ${error.constructor.name}`;
|
const errorString = `${error.code}: ${error.constructor.name}`;
|
||||||
let errorsElement = this.elements.initModal.querySelector('.errors');
|
const errorsElement = this.elements.initModal.querySelector('.errors');
|
||||||
let progressElement = this.elements.initModal.querySelector('.progress');
|
const progressElement = this.elements.initModal.querySelector('.progress');
|
||||||
errorsElement.innerText = errorString;
|
errorsElement.innerText = errorString;
|
||||||
errorsElement.classList.remove('hide');
|
errorsElement.classList.remove('hide');
|
||||||
progressElement.classList.add('hide');
|
progressElement.classList.add('hide');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.data.cqiClient = cqiClient;
|
|
||||||
this.data.cqiCorpus = cqiCorpus;
|
|
||||||
this.data.corpus = {o: cqiCorpus}; // legacy
|
|
||||||
|
|
||||||
// Initialize extensions
|
// Initialize extensions
|
||||||
for (let extension of Object.values(this.extensions)) {extension.init();}
|
for (const extension of Object.values(this.extensions)) {extension.init();}
|
||||||
for (let extensionSelectorElement of this.elements.extensionCards.querySelectorAll('.extension-selector')) {
|
for (const extensionSelectorElement of this.elements.extensionCards.querySelectorAll('.extension-selector')) {
|
||||||
extensionSelectorElement.addEventListener('click', () => {
|
extensionSelectorElement.addEventListener('click', () => {
|
||||||
this.elements.m.extensionTabs.select(extensionSelectorElement.dataset.target);
|
this.elements.m.extensionTabs.select(extensionSelectorElement.dataset.target);
|
||||||
});
|
});
|
||||||
@ -65,35 +63,38 @@ class CorpusAnalysisApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
registerExtension(extension) {
|
registerExtension(extension) {
|
||||||
if (extension.name in this.extensions) {
|
if (extension.name in this.extensions) {return;}
|
||||||
console.error(`Can't register extension ${extension.name}: Already registered`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.extensions[extension.name] = extension;
|
this.extensions[extension.name] = extension;
|
||||||
}
|
}
|
||||||
|
|
||||||
disableActionElements() {
|
disableActionElements() {
|
||||||
let actionElements = this.elements.container.querySelectorAll('.corpus-analysis-action');
|
const actionElements = this.elements.container.querySelectorAll('.corpus-analysis-action');
|
||||||
for (let actionElement of actionElements) {
|
for (const actionElement of actionElements) {
|
||||||
if (actionElement.nodeName === 'INPUT') {
|
switch(actionElement.nodeName) {
|
||||||
actionElement.disabled = true;
|
case 'INPUT':
|
||||||
} else if (actionElement.nodeName === 'SELECT') {
|
actionElement.disabled = true;
|
||||||
actionElement.parentNode.querySelector('input.select-dropdown').disabled = true;
|
break;
|
||||||
} else {
|
case 'SELECT':
|
||||||
actionElement.classList.add('disabled');
|
actionElement.parentNode.querySelector('input.select-dropdown').disabled = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
actionElement.classList.add('disabled');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enableActionElements() {
|
enableActionElements() {
|
||||||
let actionElements = this.elements.container.querySelectorAll('.corpus-analysis-action');
|
const actionElements = this.elements.container.querySelectorAll('.corpus-analysis-action');
|
||||||
for (let actionElement of actionElements) {
|
for (const actionElement of actionElements) {
|
||||||
if (actionElement.nodeName === 'INPUT') {
|
switch(actionElement.nodeName) {
|
||||||
actionElement.disabled = false;
|
case 'INPUT':
|
||||||
} else if (actionElement.nodeName === 'SELECT') {
|
actionElement.disabled = false;
|
||||||
actionElement.parentNode.querySelector('input.select-dropdown').disabled = false;
|
break;
|
||||||
} else {
|
case 'SELECT':
|
||||||
actionElement.classList.remove('disabled');
|
actionElement.parentNode.querySelector('input.select-dropdown').disabled = false;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
actionElement.classList.remove('disabled');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,11 @@ class CorpusAnalysisReader {
|
|||||||
this.settings = {
|
this.settings = {
|
||||||
perPage: parseInt(this.elements.form['per-page'].value),
|
perPage: parseInt(this.elements.form['per-page'].value),
|
||||||
textStyle: parseInt(this.elements.form['text-style'].value),
|
textStyle: parseInt(this.elements.form['text-style'].value),
|
||||||
tokenRepresentation: this.elements.form['token-representation'].value
|
tokenRepresentation: this.elements.form['token-representation'].value,
|
||||||
|
pagination: {
|
||||||
|
innerWindow: 5,
|
||||||
|
outerWindow: 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.app.registerExtension(this);
|
this.app.registerExtension(this);
|
||||||
@ -142,7 +146,7 @@ class CorpusAnalysisReader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// render page buttons (5 before and 5 after current page)
|
// render page buttons (5 before and 5 after current page)
|
||||||
for (let i = this.data.corpus.p.page -5; i <= this.data.corpus.p.page; i++) {
|
for (let i = this.data.corpus.p.page - this.settings.pagination.innerWindow; i <= this.data.corpus.p.page; i++) {
|
||||||
if (i <= 0) {continue;}
|
if (i <= 0) {continue;}
|
||||||
pageElement = Utils.HTMLToElement(
|
pageElement = Utils.HTMLToElement(
|
||||||
`
|
`
|
||||||
@ -153,7 +157,7 @@ class CorpusAnalysisReader {
|
|||||||
);
|
);
|
||||||
this.elements.corpusPagination.appendChild(pageElement);
|
this.elements.corpusPagination.appendChild(pageElement);
|
||||||
};
|
};
|
||||||
for (let i = this.data.corpus.p.page +1; i <= this.data.corpus.p.page +5; i++) {
|
for (let i = this.data.corpus.p.page +1; i <= this.data.corpus.p.page + this.settings.pagination.innerWindow; i++) {
|
||||||
if (i > this.data.corpus.p.pages) {break;}
|
if (i > this.data.corpus.p.pages) {break;}
|
||||||
pageElement = Utils.HTMLToElement(
|
pageElement = Utils.HTMLToElement(
|
||||||
`
|
`
|
||||||
|
Loading…
Reference in New Issue
Block a user