1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-12-12 05:20:26 +00:00

Make toolbar actions lift the 'text changed' flag

This commit is contained in:
Mikhail Chekan 2021-08-22 13:29:39 +08:00
parent 15415e44ff
commit 8ecb501a9a
2 changed files with 6 additions and 4 deletions

View File

@ -1,20 +1,20 @@
(function () {
let changed = false;
window.hyphaChanged = false;
let textarea = document.querySelector('.edit-form__textarea');
let form = document.querySelector('.edit-form');
let warnBeforeClosing = function (ev) {
if (!changed) return;
if (!window.hyphaChanged) return;
ev.preventDefault();
return ev.returnValue = 'Are you sure you want to exit? You have unsaved changes.';
};
textarea.addEventListener('input', function () {
changed = true;
window.hyphaChanged = true;
});
form.addEventListener('submit', function () {
changed = false;
window.hyphaChanged = false;
});
window.addEventListener('beforeunload', warnBeforeClosing);

View File

@ -13,6 +13,7 @@ function getSelectedText(el = editTextarea) {
function textInserter(text, cursorPosition = null, el = editTextarea) {
return function() {
window.hyphaChanged = true;
const [start, end] = [el.selectionStart, el.selectionEnd]
el.setRangeText(text, start, end, 'select')
el.focus()
@ -26,6 +27,7 @@ function textInserter(text, cursorPosition = null, el = editTextarea) {
function selectionWrapper(cursorPosition, prefix, postfix = null, el = editTextarea) {
return function() {
window.hyphaChanged = true;
const [start, end] = [el.selectionStart, el.selectionEnd]
if (postfix == null) {
postfix = prefix