diff --git a/apps/client/src/components/app_context.ts b/apps/client/src/components/app_context.ts index ba213a4edf..be93ffd013 100644 --- a/apps/client/src/components/app_context.ts +++ b/apps/client/src/components/app_context.ts @@ -173,6 +173,7 @@ export type CommandMappings = { duplicateSubtree: ContextMenuCommandData; expandSubtree: ContextMenuCommandData; collapseSubtree: ContextMenuCommandData; + toggleArchivedNotes: CommandData; sortChildNotes: ContextMenuCommandData; copyNotePathToClipboard: ContextMenuCommandData; recentChangesInSubtree: ContextMenuCommandData; diff --git a/apps/client/src/components/main_tree_executors.ts b/apps/client/src/components/main_tree_executors.ts index 9bc037ccf3..f9bdf51945 100644 --- a/apps/client/src/components/main_tree_executors.ts +++ b/apps/client/src/components/main_tree_executors.ts @@ -79,4 +79,8 @@ export default class MainTreeExecutors extends Component { saveSelection: false }); } + + async toggleArchivedNotesCommand(){ + await this.tree?.toggleArchivedNotes(); + } } diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index 27af4490ed..ffcd6c987b 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -340,6 +340,11 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { return options.is(`hideArchivedNotes_${this.treeName}`); } + async toggleArchivedNotes() { + await options.toggle(`hideArchivedNotes_${this.treeName}`); + await this.reloadTreeFromCache(); + } + async setHideArchivedNotes(val: string) { await options.save(`hideArchivedNotes_${this.treeName}`, val.toString()); } diff --git a/apps/server/src/assets/translations/en/server.json b/apps/server/src/assets/translations/en/server.json index 5ba0c138e9..22b77e348f 100644 --- a/apps/server/src/assets/translations/en/server.json +++ b/apps/server/src/assets/translations/en/server.json @@ -11,6 +11,7 @@ "collapse-tree": "Collapses the complete note tree", "collapse-subtree": "Collapses subtree of current note", "sort-child-notes": "Sort child notes", + "toggle-archived-notes": "Show/hide archived (hidden) notes in the note tree", "creating-and-moving-notes": "Creating and moving notes", "create-note-after": "Create note after active note", "create-note-into": "Create note as child of active note", @@ -118,6 +119,7 @@ "collapse-tree": "Collapse Tree", "collapse-subtree": "Collapse Subtree", "sort-child-notes": "Sort Child Notes", + "toggle-archived-notes": "Toggle Archived Notes Visibility", "create-note-after": "Create Note After", "create-note-into": "Create Note Into", "create-note-into-inbox": "Create Note Into Inbox", diff --git a/apps/server/src/assets/translations/ro/server.json b/apps/server/src/assets/translations/ro/server.json index 432bafee07..19425063df 100644 --- a/apps/server/src/assets/translations/ro/server.json +++ b/apps/server/src/assets/translations/ro/server.json @@ -68,6 +68,7 @@ "show-sql-console": "Afișează ecranul „Consolă SQL”", "sixth-tab": "Activează cel de-al șaselea tab din listă", "sort-child-notes": "Ordonează subnotițele", + "toggle-archived-notes": "Afișează/ascunde notițele arhivate (ascunse) din arborele de notițe", "tabs-and-windows": "Tab-uri și ferestre", "text-note-operations": "Operații asupra notițelor text", "third-tab": "Activează cel de-al treilea tab din listă", @@ -306,6 +307,7 @@ "collapse-tree": "Minimizează arborele de notițe", "collapse-subtree": "Ascunde subnotițele", "sort-child-notes": "Ordonează subnotițele", + "toggle-archived-notes": "Afișează/ascunde notițele arhivate", "create-note-after": "Crează notiță după", "create-note-into": "Crează subnotiță în", "create-note-into-inbox": "Crează notiță în inbox", diff --git a/apps/server/src/services/keyboard_actions.ts b/apps/server/src/services/keyboard_actions.ts index 558d85ea5e..4ca09653ca 100644 --- a/apps/server/src/services/keyboard_actions.ts +++ b/apps/server/src/services/keyboard_actions.ts @@ -113,6 +113,14 @@ function getDefaultKeyboardActions() { description: t("keyboard_actions.sort-child-notes"), scope: "note-tree" }, + { + actionName: "toggleArchivedNotes", + friendlyName: t("keyboard_action_names.toggle-archived-notes"), + iconClass: "bx bx-low-vision", + defaultShortcuts: (!isMac) ? ["Ctrl+H"] : ["CommandOrControl+Shift+H"], + description: t("keyboard_actions.toggle-archived-notes"), + scope: "window" + }, { separator: t("keyboard_actions.creating-and-moving-notes") diff --git a/packages/commons/src/lib/keyboard_actions_interface.ts b/packages/commons/src/lib/keyboard_actions_interface.ts index 159785d4a8..37fda72180 100644 --- a/packages/commons/src/lib/keyboard_actions_interface.ts +++ b/packages/commons/src/lib/keyboard_actions_interface.ts @@ -10,6 +10,7 @@ const enum KeyboardActionNamesEnum { collapseTree, collapseSubtree, sortChildNotes, + toggleArchivedNotes, createNoteAfter, createNoteInto, createNoteIntoInbox,