reverse toggle
This commit is contained in:
parent
c5423eea29
commit
91f76c5f63
|
@ -33,6 +33,7 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="sidebar">
|
<div class="sidebar">
|
||||||
<div class="searchbar-container">
|
<div class="searchbar-container">
|
||||||
|
<input id="reverse-toggle" type="checkbox" checked="true"> Reverse
|
||||||
<input type="search" name="note-search" id="note-searchbar" placeholder="Search...">
|
<input type="search" name="note-search" id="note-searchbar" placeholder="Search...">
|
||||||
</div>
|
</div>
|
||||||
<div class="note-sidebar-container" id="note-sidebar-container">
|
<div class="note-sidebar-container" id="note-sidebar-container">
|
||||||
|
|
23
src/main.ts
23
src/main.ts
|
@ -9,12 +9,15 @@ let createNoteTagEl: HTMLInputElement | null;
|
||||||
|
|
||||||
let searchbarEl: HTMLInputElement | null;
|
let searchbarEl: HTMLInputElement | null;
|
||||||
let noteSidebarContainerEl: HTMLDivElement | null;
|
let noteSidebarContainerEl: HTMLDivElement | null;
|
||||||
|
let noteSidebarReverseCheckboxEl: HTMLInputElement | null;
|
||||||
let searchbarContents = "";
|
let searchbarContents = "";
|
||||||
|
|
||||||
let noteArray: Note[] = []
|
let noteArray: Note[] = []
|
||||||
|
|
||||||
/** ID of current note, if we're editing an existing note */
|
/** ID of current note, if we're editing an existing note */
|
||||||
let currentNoteId: number | null = null;
|
let currentNoteId: number | null = null;
|
||||||
|
/** reverse the order of note by id in the sidebar */
|
||||||
|
let reversed = true;
|
||||||
|
|
||||||
|
|
||||||
enum EditorState {
|
enum EditorState {
|
||||||
|
@ -83,7 +86,7 @@ async function showNotes() {
|
||||||
tag: jsonObj.tag
|
tag: jsonObj.tag
|
||||||
}));
|
}));
|
||||||
|
|
||||||
fillNoteSidebar(noteArray);
|
fillNoteSidebar(noteArray, reversed);
|
||||||
} else {
|
} else {
|
||||||
searchNote(searchbarContents);
|
searchNote(searchbarContents);
|
||||||
}
|
}
|
||||||
|
@ -159,6 +162,16 @@ window.addEventListener("DOMContentLoaded", () => {
|
||||||
searchNote(input);
|
searchNote(input);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// sidebar reverse toggle
|
||||||
|
noteSidebarReverseCheckboxEl = document.querySelector('#reverse-toggle');
|
||||||
|
if (noteSidebarReverseCheckboxEl) {
|
||||||
|
console.log(noteSidebarReverseCheckboxEl.value);
|
||||||
|
noteSidebarReverseCheckboxEl.addEventListener("click", (e: Event) => {
|
||||||
|
const target = e.target as HTMLInputElement
|
||||||
|
toggleReverse(target.checked);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
refreshContextMenuElements();
|
refreshContextMenuElements();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -209,7 +222,7 @@ function refreshContextMenuElements() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function fillNoteSidebar(noteArray: Note[]) {
|
function fillNoteSidebar(noteArray: Note[], reverse: boolean) {
|
||||||
|
|
||||||
noteSidebarContainerEl = document.querySelector("#note-sidebar-container");
|
noteSidebarContainerEl = document.querySelector("#note-sidebar-container");
|
||||||
|
|
||||||
|
@ -217,6 +230,8 @@ function fillNoteSidebar(noteArray: Note[]) {
|
||||||
// clear previously existing elements
|
// clear previously existing elements
|
||||||
noteSidebarContainerEl.innerHTML = "";
|
noteSidebarContainerEl.innerHTML = "";
|
||||||
|
|
||||||
|
reverse ? noteArray.reverse() : noteArray;
|
||||||
|
|
||||||
noteArray.forEach((note) => {
|
noteArray.forEach((note) => {
|
||||||
// Create HTML elements for each note
|
// Create HTML elements for each note
|
||||||
const noteEl: HTMLDivElement = document.createElement('div');
|
const noteEl: HTMLDivElement = document.createElement('div');
|
||||||
|
@ -413,3 +428,7 @@ async function refreshSidebarAndOpenLatestNote() {
|
||||||
openNote(latestNote);
|
openNote(latestNote);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toggleReverse(val: boolean) {
|
||||||
|
reversed = val;
|
||||||
|
showNotes();
|
||||||
|
}
|
Loading…
Reference in New Issue