parent
2a3bd672a1
commit
0bfd17bec5
@ -0,0 +1,67 @@ |
|||||||
|
const fs = require('fs'); |
||||||
|
const path = require('path'); |
||||||
|
const Mousetrap = require('../dep/mousetrap'); |
||||||
|
|
||||||
|
const lightRefresh = require('../fileview/lightrefresh'); |
||||||
|
const preModal = require('../modal/pre'); |
||||||
|
const postModal = require('../modal/post'); |
||||||
|
const showError = require('../modal/common/error'); |
||||||
|
const clearModals = require('../modal/clearmodals'); |
||||||
|
const newToast = require('../toast/createtoast'); |
||||||
|
const refresh = require('../fileview/refresh'); |
||||||
|
|
||||||
|
module.exports = () => { |
||||||
|
if (window.kade.modal) {return;} |
||||||
|
preModal('delete-folder-modal-container'); |
||||||
|
let modalOut = document.createElement('div'); |
||||||
|
modalOut.className = 'modal'; |
||||||
|
modalOut.id = 'delete-folder-modal-container'; |
||||||
|
document.body.appendChild(modalOut); |
||||||
|
let modal = document.createElement('div'); |
||||||
|
modal.className = 'modal-wrapper'; |
||||||
|
modalOut.appendChild(modal); |
||||||
|
let title = document.createElement('h2'); |
||||||
|
title.innerHTML = 'Delete Folder'; |
||||||
|
modal.appendChild(title); |
||||||
|
let text = document.createElement('p'); |
||||||
|
text.innerHTML = "Are you sure you'd like to delete this folder? Remember, this <b>cannot be undone</b>."; |
||||||
|
modal.appendChild(text); |
||||||
|
let cont = document.createElement('div'); |
||||||
|
cont.className = 'button-container'; |
||||||
|
modal.appendChild(cont); |
||||||
|
let conf = document.createElement('button'); |
||||||
|
conf.innerHTML = 'Delete it!'; |
||||||
|
let cxl = document.createElement('button'); |
||||||
|
cxl.innerHTML = "Nevermind"; |
||||||
|
modal.appendChild(cxl); |
||||||
|
conf.onclick = () => { |
||||||
|
try { |
||||||
|
fs.rmdirSync(path.join(window.kade.cpath, window.kade.currentFolder)); |
||||||
|
refresh(window.kade.cpath); |
||||||
|
newToast("Folder Deleted", "Your folder has been deleted successfully."); |
||||||
|
} catch { |
||||||
|
newToast("Folder not Deleted", "An error caused that folder to not be deleted.", "#b24355", false, 5, () => {showError("Folder Deletion", "There was an unknown error while trying to delete that folder. It may be a permissions issue, or the host folder doesn't exist anymore.");}); |
||||||
|
clearModals(); |
||||||
|
} |
||||||
|
postModal(modalOut.id); |
||||||
|
}; |
||||||
|
cont.appendChild(conf); |
||||||
|
let msm = new Mousetrap(modal); |
||||||
|
msm.bind('esc', () => { |
||||||
|
lightRefresh(); |
||||||
|
modalOut.remove(); |
||||||
|
postModal(modalOut.id); |
||||||
|
}); |
||||||
|
msm.bind('enter', () => {conf.click();}); |
||||||
|
let close = document.createElement('a'); |
||||||
|
close.className = 'close-button'; |
||||||
|
close.onclick = () => { |
||||||
|
lightRefresh(); |
||||||
|
modalOut.remove(); |
||||||
|
postModal(modalOut.id); |
||||||
|
}; |
||||||
|
let closeWrap = document.createElement('div'); |
||||||
|
closeWrap.className = 'close-button-wrapper'; |
||||||
|
modal.appendChild(closeWrap); |
||||||
|
closeWrap.appendChild(close); |
||||||
|
}; |
Loading…
Reference in new issue