From 93f0596b166d21e1215777256b06bbce53f7e716 Mon Sep 17 00:00:00 2001 From: zadam Date: Thu, 2 Jun 2022 14:16:49 +0200 Subject: [PATCH] select template when creating note, closes #2813 --- src/public/app/dialogs/note_type_chooser.js | 94 +++++++++++++++++++ src/public/app/services/note_autocomplete.js | 11 ++- src/public/app/services/note_create.js | 15 +++ src/public/app/services/note_types.js | 40 ++++++++ src/public/app/services/tree_context_menu.js | 40 +------- .../attribute_widgets/attribute_editor.js | 2 +- .../app/widgets/type_widgets/editable_text.js | 2 +- src/public/stylesheets/style.css | 12 ++- src/public/stylesheets/theme-dark.css | 6 +- src/public/stylesheets/theme-light.css | 4 +- src/views/desktop.ejs | 1 + src/views/dialogs/note_type_chooser.ejs | 34 +++++++ 12 files changed, 214 insertions(+), 47 deletions(-) create mode 100644 src/public/app/dialogs/note_type_chooser.js create mode 100644 src/public/app/services/note_types.js create mode 100644 src/views/dialogs/note_type_chooser.ejs diff --git a/src/public/app/dialogs/note_type_chooser.js b/src/public/app/dialogs/note_type_chooser.js new file mode 100644 index 000000000..e8c712025 --- /dev/null +++ b/src/public/app/dialogs/note_type_chooser.js @@ -0,0 +1,94 @@ +import noteTypesService from "../services/note_types.js"; + +const $dialog = $("#note-type-chooser-dialog"); +const $noteTypeDropdown = $("#note-type-dropdown"); +const $noteTypeDropdownTrigger = $("#note-type-dropdown-trigger"); +$noteTypeDropdownTrigger.dropdown(); + +let resolve; +let $originalFocused; // element focused before the dialog was opened, so we can return to it afterwards +let $originalDialog; + +export async function chooseNoteType() { + $originalFocused = $(':focus'); + + const noteTypes = await noteTypesService.getNoteTypeItems(); + + $noteTypeDropdown.empty(); + + for (const noteType of noteTypes) { + if (noteType.title === '----') { + $noteTypeDropdown.append($('