|
|
|
|
@ -69,6 +69,51 @@ function onstrikebutton(e) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onmonobutton(e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
let cheezenotes = document.getElementById('cheezenotes');
|
|
|
|
|
cheezenotes.focus();
|
|
|
|
|
insertTextAtCaret('`', '`');
|
|
|
|
|
onedit(e);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onh1button(e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
let cheezenotes = document.getElementById('cheezenotes');
|
|
|
|
|
cheezenotes.focus();
|
|
|
|
|
insertTextAtCaret('#', '');
|
|
|
|
|
onedit(e);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onh2button(e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
let cheezenotes = document.getElementById('cheezenotes');
|
|
|
|
|
cheezenotes.focus();
|
|
|
|
|
insertTextAtCaret('##', '');
|
|
|
|
|
onedit(e);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onh3button(e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
let cheezenotes = document.getElementById('cheezenotes');
|
|
|
|
|
cheezenotes.focus();
|
|
|
|
|
insertTextAtCaret('###', '');
|
|
|
|
|
onedit(e);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onbqbutton(e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
let cheezenotes = document.getElementById('cheezenotes');
|
|
|
|
|
cheezenotes.focus();
|
|
|
|
|
insertTextAtCaret('>', '');
|
|
|
|
|
onedit(e);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onsave(e) {
|
|
|
|
|
let saveButton = document.getElementById('saveButton');
|
|
|
|
|
saveButton.disabled = true;
|
|
|
|
|
@ -203,8 +248,12 @@ function addButton(id, icon, onclick) {
|
|
|
|
|
let button = document.createElement('button');
|
|
|
|
|
button.id = id;
|
|
|
|
|
button.classList.add('button');
|
|
|
|
|
if (icon.substring(0, 1) == ':') {
|
|
|
|
|
button.classList.add('material-icons');
|
|
|
|
|
button.innerText = icon;
|
|
|
|
|
} else {
|
|
|
|
|
button.classList.add('text');
|
|
|
|
|
}
|
|
|
|
|
button.innerText = icon.replace(':', '');
|
|
|
|
|
button.addEventListener('mousedown', onclick);
|
|
|
|
|
buttons.appendChild(button);
|
|
|
|
|
return button;
|
|
|
|
|
@ -225,11 +274,11 @@ function addOnOffButton(id, icon, alt_icon, onclick, on = false) {
|
|
|
|
|
if (button.classList.contains('buttonon')) {
|
|
|
|
|
button.classList.remove('buttonon');
|
|
|
|
|
button.classList.add('buttonoff');
|
|
|
|
|
button.innerText = alt_icon;
|
|
|
|
|
button.innerText = alt_icon.replace(':', '')
|
|
|
|
|
} else {
|
|
|
|
|
button.classList.remove('buttonoff');
|
|
|
|
|
button.classList.add('buttonon');
|
|
|
|
|
button.innerText = icon;
|
|
|
|
|
button.innerText = icon.replace(':', '')
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return button;
|
|
|
|
|
@ -246,27 +295,31 @@ function floatRight(button) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function addSeparator() {
|
|
|
|
|
let separator = addButton('', 'more_vert', function () { });
|
|
|
|
|
let separator = addButton('', ':more_vert', function () { });
|
|
|
|
|
separator.classList.add('separator');
|
|
|
|
|
separator.classList.remove('button');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function enableFormatButtons() {
|
|
|
|
|
let boldButton = document.getElementById('boldButton');
|
|
|
|
|
let italicButton = document.getElementById('italicButton');
|
|
|
|
|
let strikeButton = document.getElementById('strikeButton');
|
|
|
|
|
boldButton.disabled = false;
|
|
|
|
|
italicButton.disabled = false;
|
|
|
|
|
strikeButton.disabled = false;
|
|
|
|
|
document.getElementById('boldButton').disabled = false;
|
|
|
|
|
document.getElementById('italicButton').disabled = false;
|
|
|
|
|
document.getElementById('strikeButton').disabled = false;
|
|
|
|
|
document.getElementById('h1Button').disabled = false;
|
|
|
|
|
document.getElementById('h2Button').disabled = false;
|
|
|
|
|
document.getElementById('h3Button').disabled = false;
|
|
|
|
|
document.getElementById('monoButton').disabled = false;
|
|
|
|
|
document.getElementById('bqButton').disabled = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function disableFormatButtons() {
|
|
|
|
|
let boldButton = document.getElementById('boldButton');
|
|
|
|
|
let italicButton = document.getElementById('italicButton');
|
|
|
|
|
let strikeButton = document.getElementById('strikeButton');
|
|
|
|
|
boldButton.disabled = true;
|
|
|
|
|
italicButton.disabled = true;
|
|
|
|
|
strikeButton.disabled = true;
|
|
|
|
|
document.getElementById('boldButton').disabled = true;
|
|
|
|
|
document.getElementById('italicButton').disabled = true;
|
|
|
|
|
document.getElementById('strikeButton').disabled = true;
|
|
|
|
|
document.getElementById('h1Button').disabled = true;
|
|
|
|
|
document.getElementById('h2Button').disabled = true;
|
|
|
|
|
document.getElementById('h3Button').disabled = true;
|
|
|
|
|
document.getElementById('monoButton').disabled = true;
|
|
|
|
|
document.getElementById('bqButton').disabled = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onblur(e) {
|
|
|
|
|
@ -300,22 +353,28 @@ function init(pagename = null) {
|
|
|
|
|
cheezenotes.addEventListener('dragenter', ondragenter);
|
|
|
|
|
cheezenotes.addEventListener('dragleave', ondragleave);
|
|
|
|
|
|
|
|
|
|
let saveButton = addButton('saveButton', 'save', onsave);
|
|
|
|
|
let saveButton = addButton('saveButton', ':save', onsave);
|
|
|
|
|
saveButton.disabled = true;
|
|
|
|
|
addSeparator();
|
|
|
|
|
addButton('boldButton', 'format_bold', onboldbutton);
|
|
|
|
|
addButton('italicButton', 'format_italic', onitalicbutton);
|
|
|
|
|
lastButton(addButton('strikeButton', 'format_strikethrough', onstrikebutton));
|
|
|
|
|
|
|
|
|
|
floatRight(lastButton(addOnOffButton('taButton', 'notes', 'notes', ontextarea)));
|
|
|
|
|
floatRight(addOnOffButton('editModeButton', 'edit_note', 'visibility',
|
|
|
|
|
addButton('boldButton', ':format_bold', onboldbutton);
|
|
|
|
|
addButton('italicButton', ':format_italic', onitalicbutton);
|
|
|
|
|
addButton('strikeButton', ':format_strikethrough', onstrikebutton);
|
|
|
|
|
addButton('monoButton', ':code', onmonobutton);
|
|
|
|
|
addSeparator();
|
|
|
|
|
addButton('h1Button', 'H1', onh1button);
|
|
|
|
|
addButton('h2Button', 'H2', onh2button);
|
|
|
|
|
addButton('h3Button', 'H3', onh3button);
|
|
|
|
|
lastButton(addButton('bqButton', ':format_quote', onbqbutton));
|
|
|
|
|
addSeparator();
|
|
|
|
|
addOnOffButton('editModeButton', ':edit_note', ':visibility',
|
|
|
|
|
function (e) {
|
|
|
|
|
if (editModeButton.classList.contains('buttonon')) {
|
|
|
|
|
cheezenotes.contentEditable = false;
|
|
|
|
|
} else {
|
|
|
|
|
cheezenotes.contentEditable = true;
|
|
|
|
|
}
|
|
|
|
|
}, true));
|
|
|
|
|
}, true);
|
|
|
|
|
lastButton(addOnOffButton('taButton', ':notes', ':notes', ontextarea));
|
|
|
|
|
|
|
|
|
|
disableFormatButtons();
|
|
|
|
|
|
|
|
|
|
|