Files
term_portal/express/public/javascripts/extraction-list.js
T
2022-12-07 04:43:36 +01:00

34 lines
1.2 KiB
JavaScript

/* global axios, bootstrap */
const extractionListEl = document.getElementById('extraction-list')
extractionListEl.addEventListener('click', onListClick)
async function onListClick({ target }) {
if (target.closest('.btn-delete')) {
const extractionEl = target.closest('.task')
const extractionId = extractionEl.dataset.id
const alertModal = new bootstrap.Modal(
document.getElementById('alert-modal')
)
alertModal.toggle()
const modalUseBtn = document.getElementById('modal-use-btn')
modalUseBtn.addEventListener('click', async () => {
await axios.delete(`/api/v1/extraction/${extractionId}`)
extractionEl.remove()
})
} else if (target.classList.contains('btn-begin')) {
const extractionEl = target.closest('.task')
const extractionId = extractionEl.dataset.id
await axios.put(`/api/v1/extraction/${extractionId}/begin`)
const responseModal = new bootstrap.Modal(
document.getElementById('begin-response')
)
responseModal.toggle()
} else if (target.classList.contains('btn-duplicate')) {
const extractionEl = target.closest('.task')
const extractionId = extractionEl.dataset.id
await axios.post(`/api/v1/extraction/${extractionId}/duplicate`)
}
}