diff --git a/src/public/app/widgets/containers/right_pane_container.js b/src/public/app/widgets/containers/right_pane_container.js index 123f2416c..c62ea9ca6 100644 --- a/src/public/app/widgets/containers/right_pane_container.js +++ b/src/public/app/widgets/containers/right_pane_container.js @@ -8,10 +8,13 @@ export default class RightPaneContainer extends FlexContainer { this.id('right-pane'); this.css('height', '100%'); this.collapsible(); + + this.rightPaneHidden = false; } isEnabled() { return super.isEnabled() + && !this.rightPaneHidden && this.children.length > 0 && !!this.children.find(ch => ch.isEnabled() && ch.canBeShown()); } @@ -44,4 +47,10 @@ export default class RightPaneContainer extends FlexContainer { splitService.setupRightPaneResizer(); } } + + toggleRightPaneEvent() { + this.rightPaneHidden = !this.rightPaneHidden; + + this.reEvaluateRightPaneVisibilityCommand(); + } } diff --git a/src/public/app/widgets/type_widgets/options/text_notes/highlights_list.js b/src/public/app/widgets/type_widgets/options/text_notes/highlights_list.js index c52569945..90a931ea6 100644 --- a/src/public/app/widgets/type_widgets/options/text_notes/highlights_list.js +++ b/src/public/app/widgets/type_widgets/options/text_notes/highlights_list.js @@ -18,6 +18,8 @@ const TPL = `
Highlights List visibility

You can hide the highlights widget per-note by adding a #hideHighlightWidget label.

+ +

You can configure a keyboard shortcut for quickly toggling the right pane (including Highlights) in the Options -> Shortcuts (name "toggleRightPane").

`; export default class HighlightsListOptions extends OptionsWidget { diff --git a/src/public/app/widgets/type_widgets/options/text_notes/table_of_contents.js b/src/public/app/widgets/type_widgets/options/text_notes/table_of_contents.js index 3795b8670..5715cb48f 100644 --- a/src/public/app/widgets/type_widgets/options/text_notes/table_of_contents.js +++ b/src/public/app/widgets/type_widgets/options/text_notes/table_of_contents.js @@ -11,6 +11,8 @@ const TPL = `

You can also use this option to effectively disable TOC by setting a very high number.

+ +

You can configure a keyboard shortcut for quickly toggling the right pane (including TOC) in the Options -> Shortcuts (name "toggleRightPane").

`; export default class TableOfContentsOptions extends OptionsWidget { diff --git a/src/services/keyboard_actions.js b/src/services/keyboard_actions.js index c883373e1..694b7a1d7 100644 --- a/src/services/keyboard_actions.js +++ b/src/services/keyboard_actions.js @@ -494,9 +494,16 @@ const DEFAULT_KEYBOARD_ACTIONS = [ separator: "Other" }, + { + actionName: "toggleRightPane", + defaultShortcuts: [], + description: "Toggle the display of the right pane, which includes Table of Contents and Highlights", + scope: "window" + }, { actionName: "printActiveNote", defaultShortcuts: [], + description: "Print active note", scope: "window" }, {