From cc5086aedaa87dca28fffa0e172c990f6039a046 Mon Sep 17 00:00:00 2001 From: Azgaar Date: Mon, 22 Jun 2020 02:00:53 +0300 Subject: [PATCH] v1.4.33 --- index.html | 3 ++- main.js | 2 +- modules/ui/general.js | 3 ++- modules/ui/notes-editor.js | 10 ++++++++++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index eaf4bf58..d72ca539 100644 --- a/index.html +++ b/index.html @@ -3212,11 +3212,12 @@
- Legend:
+ Note:
+ diff --git a/main.js b/main.js index 5265820a..cd76e80b 100644 --- a/main.js +++ b/main.js @@ -117,7 +117,7 @@ let scale = 1, viewX = 0, viewY = 0; const zoom = d3.zoom().scaleExtent([1, 20]).on("zoom", zoomed); // default options -let options = {}; // options object +let options = {pinNotes:false}; // options object let mapCoordinates = {}; // map coordinates on globe options.winds = [225, 45, 225, 315, 135, 315]; // default wind directions diff --git a/modules/ui/general.js b/modules/ui/general.js index 3546f018..7689b1b5 100644 --- a/modules/ui/general.js +++ b/modules/ui/general.js @@ -61,6 +61,7 @@ function moved() { // show note box on hover (if any) function showNotes(e, i) { + if (notesEditor.offsetParent) return; let id = e.target.id || e.target.parentNode.id || e.target.parentNode.parentNode.id; if (e.target.parentNode.parentNode.id === "burgLabels") id = "burg" + e.target.dataset.id; else if (e.target.parentNode.parentNode.id === "burgIcons") id = "burg" + e.target.dataset.id; @@ -70,7 +71,7 @@ function showNotes(e, i) { document.getElementById("notes").style.display = "block"; document.getElementById("notesHeader").innerHTML = note.name; document.getElementById("notesBody").innerHTML = note.legend; - } else { + } else if (!options.pinNotes) { document.getElementById("notes").style.display = "none"; document.getElementById("notesHeader").innerHTML = ""; document.getElementById("notesBody").innerHTML = ""; diff --git a/modules/ui/notes-editor.js b/modules/ui/notes-editor.js index cc49d536..939c97ea 100644 --- a/modules/ui/notes-editor.js +++ b/modules/ui/notes-editor.js @@ -18,6 +18,7 @@ function editNotes(id, name) { select.value = id; notesName.value = note.name; notesText.value = note.legend; + showNote(note); } else { const value = "There are no added notes. Click on element (e.g. label) and add a free text note"; document.getElementById("notesText").value = value; @@ -37,12 +38,19 @@ function editNotes(id, name) { document.getElementById("notesSelect").addEventListener("change", changeObject); document.getElementById("notesName").addEventListener("input", changeName); document.getElementById("notesText").addEventListener("input", changeText); + document.getElementById("notesPin").addEventListener("click", () => options.pinNotes = !options.pinNotes); document.getElementById("notesFocus").addEventListener("click", validateHighlightElement); document.getElementById("notesDownload").addEventListener("click", downloadLegends); document.getElementById("notesUpload").addEventListener("click", () => legendsToLoad.click()); document.getElementById("legendsToLoad").addEventListener("change", function() {uploadFile(this, uploadLegends)}); document.getElementById("notesRemove").addEventListener("click", triggerNotesRemove); + function showNote(note) { + document.getElementById("notes").style.display = "block"; + document.getElementById("notesHeader").innerHTML = note.name; + document.getElementById("notesBody").innerHTML = note.legend; + } + function changeObject() { const note = notes.find(note => note.id === this.value); if (!note) return; @@ -55,6 +63,7 @@ function editNotes(id, name) { const note = notes.find(note => note.id === id); if (!note) return; note.name = this.value; + showNote(note); } function changeText() { @@ -62,6 +71,7 @@ function editNotes(id, name) { const note = notes.find(note => note.id === id); if (!note) return; note.legend = this.value; + showNote(note); } function validateHighlightElement() {