65 lines
2 KiB
JavaScript
65 lines
2 KiB
JavaScript
const archiveButtons = document.getElementsByClassName('archive-button');
|
|
const activityButtons = document.getElementsByClassName('change-activity-btn');
|
|
|
|
|
|
|
|
|
|
function deactivateArchiveButtons(){
|
|
for (let i = 0; i < archiveButtons.length; i++){
|
|
archiveButtons[i].disabled=true;
|
|
}
|
|
}
|
|
function activateArchiveButtons(){
|
|
for (let i = 0; i < archiveButtons.length; i++){
|
|
archiveButtons[i].disabled=false;
|
|
}
|
|
}
|
|
function deactivateActiveStatusCheckboxes(){
|
|
for (let i = 0; i < activityButtons.length; i++){
|
|
activityButtons[i].disabled=true;
|
|
}
|
|
}
|
|
function activateActiveStatusCheckboxes(){
|
|
for (let i = 0; i < activityButtons.length; i++){
|
|
activityButtons[i].disabled=false;
|
|
}
|
|
}
|
|
|
|
async function updateActiveStatus(id, status) {
|
|
deactivateActiveStatusCheckboxes()
|
|
deactivateArchiveButtons()
|
|
var result = await fetch(`/campaigns/campaign_api/update_active_status/${id}/${status}`, {method:'PUT'});
|
|
var data = await result.json();
|
|
if (status === true){
|
|
status = 'True'
|
|
} else {
|
|
status = 'False'
|
|
}
|
|
document.getElementById(`${id}-active-status`).innerText = status;
|
|
activateActiveStatusCheckboxes()
|
|
activateArchiveButtons()
|
|
|
|
}
|
|
|
|
async function archiveCampaign(id){
|
|
deactivateActiveStatusCheckboxes()
|
|
deactivateArchiveButtons()
|
|
var result = await fetch(`/campaigns/campaign_api/archive_campaign/${id}`, {method:'PUT'});
|
|
var data = await result.json();
|
|
document.getElementById(`${id}-row`).remove();
|
|
activateActiveStatusCheckboxes()
|
|
activateArchiveButtons()
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", (event) => {
|
|
for(let i = 0; i < activityButtons.length; i++){
|
|
activityButtons[i].addEventListener('change', e => {
|
|
updateActiveStatus(parseInt(e.target.value), e.target.checked)
|
|
})
|
|
}
|
|
for(let i = 0; i < archiveButtons.length; i++){
|
|
archiveButtons[i].addEventListener('click', e => {
|
|
archiveCampaign(parseInt(e.target.value))
|
|
})
|
|
}
|
|
});
|