mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-13 17:40:40 +00:00
Contribution Package Spacy NLP
This commit is contained in:
76
app/static/js/RessourceLists/SpacyNLPModelList.js
Normal file
76
app/static/js/RessourceLists/SpacyNLPModelList.js
Normal file
@ -0,0 +1,76 @@
|
||||
class SpacyNLPModelList {
|
||||
constructor () {
|
||||
|
||||
this.elements = {
|
||||
spacyNLPModelList: document.querySelector('#spacy-nlp-model-list'),
|
||||
deleteButtons: document.querySelectorAll('.delete-spacy-model-button'),
|
||||
editButtons: document.querySelectorAll('.edit-spacy-model-button'),
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
init () {
|
||||
let userId = this.elements.spacyNLPModelList.dataset.userId;
|
||||
|
||||
for (let deleteButton of this.elements.deleteButtons) {
|
||||
deleteButton.addEventListener('click', () => {this.deleteModel(deleteButton, userId);});
|
||||
}
|
||||
|
||||
for (let editButton of this.elements.editButtons) {
|
||||
editButton.addEventListener('click', () => {this.editModel(editButton);});
|
||||
}
|
||||
}
|
||||
|
||||
deleteModel(deleteButton, userId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let modelId = deleteButton.dataset.modelId;
|
||||
let model = app.data.users[userId].spacy_nlp_pipeline_models[modelId];
|
||||
let modalElement = Utils.elementFromString(
|
||||
`
|
||||
<div class="modal">
|
||||
<div class="modal-content">
|
||||
<h4>Confirm job deletion</h4>
|
||||
<p>Do you really want to delete <b>${model.title}</b>? All files will be permanently deleted!</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="action-button btn modal-close waves-effect waves-light" data-action="cancel">Cancel</a>
|
||||
<a class="action-button btn modal-close red waves-effect waves-light" data-action="confirm">Delete</a>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
);
|
||||
document.querySelector('#modals').appendChild(modalElement);
|
||||
let modal = M.Modal.init(
|
||||
modalElement,
|
||||
{
|
||||
dismissible: false,
|
||||
onCloseEnd: () => {
|
||||
modal.destroy();
|
||||
modalElement.remove();
|
||||
}
|
||||
}
|
||||
);
|
||||
let confirmElement = modalElement.querySelector('.action-button[data-action="confirm"]');
|
||||
confirmElement.addEventListener('click', (event) => {
|
||||
let modelTitle = model.title;
|
||||
fetch(`/contributions/edit-spacy-model/${modelId}`, {method: 'DELETE'})
|
||||
.then(
|
||||
(response) => {
|
||||
app.flash(`Model "${modelTitle}" marked for deletion`, 'corpus');
|
||||
resolve(response);
|
||||
},
|
||||
(response) => {
|
||||
if (response.status === 403) {app.flash('Forbidden', 'error');}
|
||||
if (response.status === 404) {app.flash('Not Found', 'error');}
|
||||
reject(response);
|
||||
}
|
||||
);
|
||||
});
|
||||
modal.open();
|
||||
});
|
||||
}
|
||||
|
||||
editModel(editButton) {
|
||||
window.location.href = `/contributions/edit-spacy-model/${editButton.dataset.modelId}`;
|
||||
}
|
||||
}
|
@ -25,7 +25,6 @@ class TesseractOCRModelList {
|
||||
return new Promise((resolve, reject) => {
|
||||
let modelId = deleteButton.dataset.modelId;
|
||||
let model = app.data.users[userId].tesseract_ocr_pipeline_models[modelId];
|
||||
|
||||
let modalElement = Utils.elementFromString(
|
||||
`
|
||||
<div class="modal">
|
||||
@ -54,7 +53,7 @@ class TesseractOCRModelList {
|
||||
let confirmElement = modalElement.querySelector('.action-button[data-action="confirm"]');
|
||||
confirmElement.addEventListener('click', (event) => {
|
||||
let modelTitle = model.title;
|
||||
fetch(`/contributions/${modelId}`, {method: 'DELETE'})
|
||||
fetch(`/contributions/edit-tesseract-model/${modelId}`, {method: 'DELETE'})
|
||||
.then(
|
||||
(response) => {
|
||||
app.flash(`Model "${modelTitle}" marked for deletion`, 'corpus');
|
||||
@ -72,6 +71,6 @@ class TesseractOCRModelList {
|
||||
}
|
||||
|
||||
editModel(editButton) {
|
||||
window.location.href = `/contributions/${editButton.dataset.modelId}`;
|
||||
window.location.href = `/contributions/edit-tesseract-model/${editButton.dataset.modelId}`;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user