Add delete dictionary button

This commit is contained in:
Robbie Antenesse 2019-05-13 10:49:52 -06:00
parent c76814b7ca
commit 7cabf533cf
3 changed files with 28 additions and 3 deletions

View File

@ -314,6 +314,10 @@
</p> </p>
</div> </div>
</div> </div>
<p>
<a class="red button" id="deleteDictionaryButton">Delete Dictionary</a><br>
<small>This will permanently delete your current dictionary, and it will not be possible to return it if you have not backed it up!</small>
</p>
</section> </section>
<footer> <footer>

View File

@ -94,6 +94,26 @@ export function clearDictionary() {
window.currentDictionary = cloneObject(DEFAULT_DICTIONARY); window.currentDictionary = cloneObject(DEFAULT_DICTIONARY);
} }
export function deleteDictionary() {
clearDictionary();
saveDictionary();
addMessage('Dictionary Deleted!');
renderAll();
}
export function confirmDeleteDictionary() {
if (confirm(`Are you sure you want to delete your ${window.currentDictionary.name} ${window.currentDictionary.specification}?\n\nThis cannot be undone!`)) {
const input = prompt(`If you really want to delete your ${window.currentDictionary.name} ${window.currentDictionary.specification} please type DELETE in the text box.\n\nAfter you confirm, cour dicitonary will be PERMANENTLY AND IRRETRIEVABLY DESTROYED!`);
console.log(input);
if (input === 'DELETE') {
deleteDictionary();
document.getElementById('editModal').style.display = 'none';
} else {
alert('Your dictionary was NOT deleted');
}
}
}
export function importDictionary() { export function importDictionary() {
const importDictionaryField = document.getElementById('importDictionaryFile'); const importDictionaryField = document.getElementById('importDictionaryFile');

View File

@ -1,7 +1,7 @@
import {showSection, hideDetailsPanel} from './displayToggles'; import {showSection, hideDetailsPanel} from './displayToggles';
import { renderWords, renderEditForm, renderMaximizedTextbox, renderInfoModal, renderIPATable } from './render'; import { renderWords, renderEditForm, renderMaximizedTextbox, renderInfoModal, renderIPATable } from './render';
import { confirmEditWord, cancelEditWord, confirmDeleteWord, submitWordForm } from './wordManagement'; import { confirmEditWord, cancelEditWord, confirmDeleteWord, submitWordForm } from './wordManagement';
import { openEditModal, saveEditModal, saveAndCloseEditModal, exportDictionary, exportWords, importDictionary, importWords } from './dictionaryManagement'; import { openEditModal, saveEditModal, saveAndCloseEditModal, exportDictionary, exportWords, importDictionary, importWords, confirmDeleteDictionary } from './dictionaryManagement';
import { goToNextPage, goToPreviousPage, goToPage } from './pagination'; import { goToNextPage, goToPreviousPage, goToPage } from './pagination';
import { insertAtCursor, getInputSelection, setSelectionRange } from './StackOverflow/inputCursorManagement'; import { insertAtCursor, getInputSelection, setSelectionRange } from './StackOverflow/inputCursorManagement';
import { usePhondueDigraphs } from './KeyboardFire/phondue/ipaField'; import { usePhondueDigraphs } from './KeyboardFire/phondue/ipaField';
@ -80,12 +80,13 @@ function setupEditFormInteractions() {
} }
function setupEditFormButtons() { function setupEditFormButtons() {
document.getElementById('editSave').addEventListener('click', () => saveEditModal()); document.getElementById('editSave').addEventListener('click', saveEditModal);
document.getElementById('editSaveAndClose').addEventListener('click', () => saveAndCloseEditModal()); document.getElementById('editSaveAndClose').addEventListener('click', saveAndCloseEditModal);
document.getElementById('importDictionaryFile').addEventListener('change', importDictionary); document.getElementById('importDictionaryFile').addEventListener('change', importDictionary);
document.getElementById('importWordsCSV').addEventListener('change', importWords); document.getElementById('importWordsCSV').addEventListener('change', importWords);
document.getElementById('exportDictionaryButton').addEventListener('click', exportDictionary); document.getElementById('exportDictionaryButton').addEventListener('click', exportDictionary);
document.getElementById('exportWordsButton').addEventListener('click', exportWords); document.getElementById('exportWordsButton').addEventListener('click', exportWords);
document.getElementById('deleteDictionaryButton').addEventListener('click', confirmDeleteDictionary);
setupMaximizeButtons(); setupMaximizeButtons();
} }