/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ if (inStorage("notes")) { var notes = JSON.parse(getStorage("notes")); } else { var notes = []; setStorage("notes", "[]"); } function saveNote(id) { var exists = false; var index = -1; for (var i = 0; i < notes.length; i++) { if (notes[i].id == id) { exists = true; index = i; } } var note = { id: id, number: "", street: "", notes: "", toggles: {} }; if (exists) { note = notes[index]; } note.number = $("input[name=number]").val(); note.street = $("input[name=street]").val(); note.notes = $("textarea#notes").val(); for (i in SETTINGS.routenotetoggles) { var toggle = SETTINGS.routenotetoggles[i]; note.toggles[toggle.id] = $(".note-toggle[data-id=" + toggle.id + "]").is(":checked"); } if (exists) { notes[index] = note; } else { notes.push(note); } setStorage("notes", JSON.stringify(notes)); app.toast.show({ text: " Note saved!", position: "bottom", destroyOnClose: true, closeTimeout: 1000 * 3 }); } function deleteNote(id) { for (var i = 0; i < notes.length; i++) { if (notes[i].id == id) { notes.splice(i, 1); } } setStorage("notes", JSON.stringify(notes)); } $(".view-main").on("click", "#savenotebtn", function () { saveNote($(this).data("noteid")); }); $(".view-main").on("click", ".editnotebtn", function () { var noteid = $(this).data("noteid"); var note = {}; for (var i = 0; i < notes.length; i++) { if (notes[i].id == noteid) { note = notes[i]; } } var toggles = []; for (t in SETTINGS.routenotetoggles) { var toggle = SETTINGS.routenotetoggles[t]; toggles.push({ id: toggle.id, name: toggle.name, checked: note.toggles[toggle.id] == true }); } router.navigate("/myroute/editnote", { context: { title: "Edit Note", toggles: toggles, noteid: noteid, note: note } }); }); $(".view-main").on("click", ".deletenotebtn", function () { var noteid = $(this).data("noteid"); app.dialog.confirm("Delete note?", "Confirm", function () { deleteNote(noteid); router.navigate("/myroute", { reloadCurrent: true }) }); }); function getToggleName(id) { for (i in SETTINGS.routenotetoggles) { if (SETTINGS.routenotetoggles[i].id == id) { return SETTINGS.routenotetoggles[i].name; } } return ""; } Template7.registerHelper('notetogglename', function (key) { return getToggleName(key); }); Template7.registerHelper('newlinestobr', function (text) { return text.replace(/(?:\r\n|\r|\n)/g, '
'); });