mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
launchbar WIP
This commit is contained in:
parent
08aa65bddb
commit
8d608c3c1c
11
src/public/app/doc_notes/launchbar_intro.html
Normal file
11
src/public/app/doc_notes/launchbar_intro.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<p>Welcome to the Launchbar configuration.</p>
|
||||||
|
|
||||||
|
<p>You can do the following things here:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Move available shortcuts to the visible list (thus putting them into the launchbar) by dragging them</li>
|
||||||
|
<li>Move visible shortcuts to the available list (thus hiding them from the launchbar) by dragging them</li>
|
||||||
|
<li>You can reorder the items in the lists by dragging</li>
|
||||||
|
<li>You can create new shortcuts by right-clicking on the "Visible shortcuts" folder</li>
|
||||||
|
<li>If you want to get back to the default setup, just delete the "Visible shortcuts" and "Available shortcuts", the default configuration will be re-created.</li>
|
||||||
|
</ul>
|
@ -20,14 +20,12 @@ import ImagePropertiesWidget from "../widgets/ribbon_widgets/image_properties.js
|
|||||||
import NotePropertiesWidget from "../widgets/ribbon_widgets/note_properties.js";
|
import NotePropertiesWidget from "../widgets/ribbon_widgets/note_properties.js";
|
||||||
import NoteIconWidget from "../widgets/note_icon.js";
|
import NoteIconWidget from "../widgets/note_icon.js";
|
||||||
import SearchResultWidget from "../widgets/search_result.js";
|
import SearchResultWidget from "../widgets/search_result.js";
|
||||||
import SyncStatusWidget from "../widgets/sync_status.js";
|
|
||||||
import ScrollingContainer from "../widgets/containers/scrolling_container.js";
|
import ScrollingContainer from "../widgets/containers/scrolling_container.js";
|
||||||
import RootContainer from "../widgets/containers/root_container.js";
|
import RootContainer from "../widgets/containers/root_container.js";
|
||||||
import NoteUpdateStatusWidget from "../widgets/note_update_status.js";
|
import NoteUpdateStatusWidget from "../widgets/note_update_status.js";
|
||||||
import SpacerWidget from "../widgets/spacer.js";
|
import SpacerWidget from "../widgets/spacer.js";
|
||||||
import QuickSearchWidget from "../widgets/quick_search.js";
|
import QuickSearchWidget from "../widgets/quick_search.js";
|
||||||
import ButtonWidget from "../widgets/buttons/button_widget.js";
|
import ButtonWidget from "../widgets/buttons/button_widget.js";
|
||||||
import ProtectedSessionStatusWidget from "../widgets/buttons/protected_session_status.js";
|
|
||||||
import SplitNoteContainer from "../widgets/containers/split_note_container.js";
|
import SplitNoteContainer from "../widgets/containers/split_note_container.js";
|
||||||
import LeftPaneToggleWidget from "../widgets/buttons/left_pane_toggle.js";
|
import LeftPaneToggleWidget from "../widgets/buttons/left_pane_toggle.js";
|
||||||
import CreatePaneButton from "../widgets/buttons/create_pane_button.js";
|
import CreatePaneButton from "../widgets/buttons/create_pane_button.js";
|
||||||
@ -40,11 +38,8 @@ import NotePathsWidget from "../widgets/ribbon_widgets/note_paths.js";
|
|||||||
import SimilarNotesWidget from "../widgets/ribbon_widgets/similar_notes.js";
|
import SimilarNotesWidget from "../widgets/ribbon_widgets/similar_notes.js";
|
||||||
import RightPaneContainer from "../widgets/containers/right_pane_container.js";
|
import RightPaneContainer from "../widgets/containers/right_pane_container.js";
|
||||||
import EditButton from "../widgets/buttons/edit_button.js";
|
import EditButton from "../widgets/buttons/edit_button.js";
|
||||||
import CalendarWidget from "../widgets/buttons/calendar.js";
|
|
||||||
import EditedNotesWidget from "../widgets/ribbon_widgets/edited_notes.js";
|
import EditedNotesWidget from "../widgets/ribbon_widgets/edited_notes.js";
|
||||||
import OpenNoteButtonWidget from "../widgets/buttons/open_note_button_widget.js";
|
|
||||||
import MermaidWidget from "../widgets/mermaid.js";
|
import MermaidWidget from "../widgets/mermaid.js";
|
||||||
import BookmarkButtons from "../widgets/bookmark_buttons.js";
|
|
||||||
import NoteWrapperWidget from "../widgets/note_wrapper.js";
|
import NoteWrapperWidget from "../widgets/note_wrapper.js";
|
||||||
import BacklinksWidget from "../widgets/floating_buttons/zpetne_odkazy.js";
|
import BacklinksWidget from "../widgets/floating_buttons/zpetne_odkazy.js";
|
||||||
import SharedInfoWidget from "../widgets/shared_info.js";
|
import SharedInfoWidget from "../widgets/shared_info.js";
|
||||||
@ -79,6 +74,7 @@ import FloatingButtons from "../widgets/floating_buttons/floating_buttons.js";
|
|||||||
import RelationMapButtons from "../widgets/floating_buttons/relation_map_buttons.js";
|
import RelationMapButtons from "../widgets/floating_buttons/relation_map_buttons.js";
|
||||||
import MermaidExportButton from "../widgets/floating_buttons/mermaid_export_button.js";
|
import MermaidExportButton from "../widgets/floating_buttons/mermaid_export_button.js";
|
||||||
import ShortcutContainer from "../widgets/containers/shortcut_container.js";
|
import ShortcutContainer from "../widgets/containers/shortcut_container.js";
|
||||||
|
import NoteRevisionsButton from "../widgets/buttons/note_revisions_button.js";
|
||||||
|
|
||||||
export default class DesktopLayout {
|
export default class DesktopLayout {
|
||||||
constructor(customWidgets) {
|
constructor(customWidgets) {
|
||||||
@ -95,33 +91,6 @@ export default class DesktopLayout {
|
|||||||
.css("width", "53px")
|
.css("width", "53px")
|
||||||
.child(new GlobalMenuWidget())
|
.child(new GlobalMenuWidget())
|
||||||
.child(new ShortcutContainer())
|
.child(new ShortcutContainer())
|
||||||
// .child(new ButtonWidget()
|
|
||||||
// .icon("bx-file-blank")
|
|
||||||
// .title("New note")
|
|
||||||
// .command("createNoteIntoInbox"))
|
|
||||||
// .child(new ButtonWidget()
|
|
||||||
// .icon("bx-search")
|
|
||||||
// .title("Search")
|
|
||||||
// .command("searchNotes"))
|
|
||||||
// .child(new ButtonWidget()
|
|
||||||
// .icon("bx-send")
|
|
||||||
// .title("Jump to note")
|
|
||||||
// .command("jumpToNote"))
|
|
||||||
// .child(new OpenNoteButtonWidget()
|
|
||||||
// .targetNote('globalnotemap'))
|
|
||||||
// .child(new ButtonWidget()
|
|
||||||
// .icon("bx-history")
|
|
||||||
// .title("Show recent changes")
|
|
||||||
// .command("showRecentChanges"))
|
|
||||||
// .child(new CalendarWidget())
|
|
||||||
// .child(new SpacerWidget(40, 0))
|
|
||||||
// .child(new FlexContainer("column")
|
|
||||||
// .id("plugin-buttons")
|
|
||||||
// .contentSized())
|
|
||||||
// .child(new BookmarkButtons())
|
|
||||||
// .child(new SpacerWidget(0, 1000))
|
|
||||||
// .child(new ProtectedSessionStatusWidget())
|
|
||||||
// .child(new SyncStatusWidget())
|
|
||||||
.child(new LeftPaneToggleWidget())
|
.child(new LeftPaneToggleWidget())
|
||||||
)
|
)
|
||||||
.child(new LeftPaneContainer()
|
.child(new LeftPaneContainer()
|
||||||
@ -145,63 +114,59 @@ export default class DesktopLayout {
|
|||||||
.collapsible()
|
.collapsible()
|
||||||
.id('center-pane')
|
.id('center-pane')
|
||||||
.child(new SplitNoteContainer(() =>
|
.child(new SplitNoteContainer(() =>
|
||||||
new NoteWrapperWidget()
|
new NoteWrapperWidget()
|
||||||
.child(new FlexContainer('row').class('title-row')
|
.child(new FlexContainer('row').class('title-row')
|
||||||
.css("height", "50px")
|
.css("height", "50px")
|
||||||
.css('align-items', "center")
|
.css('align-items', "center")
|
||||||
.cssBlock('.title-row > * { margin: 5px; }')
|
.cssBlock('.title-row > * { margin: 5px; }')
|
||||||
.child(new NoteIconWidget())
|
.child(new NoteIconWidget())
|
||||||
.child(new NoteTitleWidget())
|
.child(new NoteTitleWidget())
|
||||||
.child(new SpacerWidget(0, 1))
|
.child(new SpacerWidget(0, 1))
|
||||||
.child(new ClosePaneButton())
|
.child(new ClosePaneButton())
|
||||||
.child(new CreatePaneButton())
|
.child(new CreatePaneButton())
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
new RibbonContainer()
|
new RibbonContainer()
|
||||||
.ribbon(new SearchDefinitionWidget())
|
.ribbon(new SearchDefinitionWidget())
|
||||||
.ribbon(new EditedNotesWidget())
|
.ribbon(new EditedNotesWidget())
|
||||||
.ribbon(new BookPropertiesWidget())
|
.ribbon(new BookPropertiesWidget())
|
||||||
.ribbon(new NotePropertiesWidget())
|
.ribbon(new NotePropertiesWidget())
|
||||||
.ribbon(new FilePropertiesWidget())
|
.ribbon(new FilePropertiesWidget())
|
||||||
.ribbon(new ImagePropertiesWidget())
|
.ribbon(new ImagePropertiesWidget())
|
||||||
.ribbon(new PromotedAttributesWidget())
|
.ribbon(new PromotedAttributesWidget())
|
||||||
.ribbon(new BasicPropertiesWidget())
|
.ribbon(new BasicPropertiesWidget())
|
||||||
.ribbon(new OwnedAttributeListWidget())
|
.ribbon(new OwnedAttributeListWidget())
|
||||||
.ribbon(new InheritedAttributesWidget())
|
.ribbon(new InheritedAttributesWidget())
|
||||||
.ribbon(new NotePathsWidget())
|
.ribbon(new NotePathsWidget())
|
||||||
.ribbon(new NoteMapRibbonWidget())
|
.ribbon(new NoteMapRibbonWidget())
|
||||||
.ribbon(new SimilarNotesWidget())
|
.ribbon(new SimilarNotesWidget())
|
||||||
.ribbon(new NoteInfoWidget())
|
.ribbon(new NoteInfoWidget())
|
||||||
.button(new EditButton())
|
.button(new EditButton())
|
||||||
.button(new ButtonWidget()
|
.button(new NoteRevisionsButton())
|
||||||
.icon('bx-history')
|
.button(new NoteActionsWidget())
|
||||||
.title("Note Revisions")
|
)
|
||||||
.command("showNoteRevisions")
|
.child(new SharedInfoWidget())
|
||||||
.titlePlacement("bottom"))
|
.child(new NoteUpdateStatusWidget())
|
||||||
.button(new NoteActionsWidget())
|
.child(new FloatingButtons()
|
||||||
)
|
.child(new RelationMapButtons())
|
||||||
.child(new SharedInfoWidget())
|
.child(new MermaidExportButton())
|
||||||
.child(new NoteUpdateStatusWidget())
|
.child(new BacklinksWidget())
|
||||||
.child(new FloatingButtons()
|
)
|
||||||
.child(new RelationMapButtons())
|
.child(new MermaidWidget())
|
||||||
.child(new MermaidExportButton())
|
.child(
|
||||||
.child(new BacklinksWidget())
|
new ScrollingContainer()
|
||||||
)
|
.filling()
|
||||||
.child(new MermaidWidget())
|
.child(new SqlTableSchemasWidget())
|
||||||
.child(
|
.child(new NoteDetailWidget())
|
||||||
new ScrollingContainer()
|
.child(new NoteListWidget())
|
||||||
.filling()
|
.child(new SearchResultWidget())
|
||||||
.child(new SqlTableSchemasWidget())
|
.child(new SqlResultWidget())
|
||||||
.child(new NoteDetailWidget())
|
)
|
||||||
.child(new NoteListWidget())
|
.child(new FindWidget())
|
||||||
.child(new SearchResultWidget())
|
.child(
|
||||||
.child(new SqlResultWidget())
|
...this.customWidgets.get('node-detail-pane'), // typo, let's keep it for a while as BC
|
||||||
)
|
...this.customWidgets.get('note-detail-pane')
|
||||||
.child(new FindWidget())
|
)
|
||||||
.child(
|
|
||||||
...this.customWidgets.get('node-detail-pane'), // typo, let's keep it for a while as BC
|
|
||||||
...this.customWidgets.get('note-detail-pane')
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.child(...this.customWidgets.get('center-pane'))
|
.child(...this.customWidgets.get('center-pane'))
|
||||||
|
16
src/public/app/widgets/buttons/note_revisions_button.js
Normal file
16
src/public/app/widgets/buttons/note_revisions_button.js
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import ButtonWidget from "./button_widget.js";
|
||||||
|
|
||||||
|
export default class NoteRevisionsButton extends ButtonWidget {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.icon('bx-history')
|
||||||
|
.title("Note Revisions")
|
||||||
|
.command("showNoteRevisions")
|
||||||
|
.titlePlacement("bottom");
|
||||||
|
}
|
||||||
|
|
||||||
|
isEnabled() {
|
||||||
|
return super.isEnabled() && this.note?.type !== 'shortcut';
|
||||||
|
}
|
||||||
|
}
|
@ -1,13 +1,32 @@
|
|||||||
import TypeWidget from "./type_widget.js";
|
import TypeWidget from "./type_widget.js";
|
||||||
|
|
||||||
const TPL = `<div class="note-detail-doc note-detail-printable">Z</div>`;
|
const TPL = `<div class="note-detail-doc note-detail-printable">
|
||||||
|
<style>
|
||||||
|
.note-detail-doc-content {
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="note-detail-doc-content"></div>
|
||||||
|
</div>`;
|
||||||
|
|
||||||
export default class DocTypeWidget extends TypeWidget {
|
export default class DocTypeWidget extends TypeWidget {
|
||||||
static getType() { return "doc"; }
|
static getType() { return "doc"; }
|
||||||
|
|
||||||
doRender() {
|
doRender() {
|
||||||
this.$widget = $(TPL);
|
this.$widget = $(TPL);
|
||||||
|
this.$content = this.$widget.find('.note-detail-doc-content');
|
||||||
|
|
||||||
super.doRender();
|
super.doRender();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async doRefresh(note) {
|
||||||
|
const docName = note.getLabelValue('docName');
|
||||||
|
|
||||||
|
if (docName) {
|
||||||
|
this.$content.load(`app/doc_notes/${docName}.html`);
|
||||||
|
} else {
|
||||||
|
this.$content.empty();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -250,6 +250,7 @@ function getLaunchBarRoot() {
|
|||||||
}).note;
|
}).note;
|
||||||
|
|
||||||
note.addLabel("iconClass", "bx bx-sidebar");
|
note.addLabel("iconClass", "bx bx-sidebar");
|
||||||
|
note.addLabel("docName", "launchbar_intro");
|
||||||
}
|
}
|
||||||
|
|
||||||
return note;
|
return note;
|
||||||
@ -269,6 +270,7 @@ function getLaunchBarAvailableShortcutsRoot() {
|
|||||||
}).note;
|
}).note;
|
||||||
|
|
||||||
note.addLabel("iconClass", "bx bx-hide");
|
note.addLabel("iconClass", "bx bx-hide");
|
||||||
|
note.addLabel("docName", "launchbar_intro");
|
||||||
}
|
}
|
||||||
|
|
||||||
const branch = becca.getBranch('lb_availableshortcuts');
|
const branch = becca.getBranch('lb_availableshortcuts');
|
||||||
@ -294,6 +296,7 @@ function getLaunchBarVisibleShortcutsRoot() {
|
|||||||
}).note;
|
}).note;
|
||||||
|
|
||||||
note.addLabel("iconClass", "bx bx-show");
|
note.addLabel("iconClass", "bx bx-show");
|
||||||
|
note.addLabel("docName", "launchbar_intro");
|
||||||
}
|
}
|
||||||
|
|
||||||
const branch = becca.getBranch('lb_visibleshortcuts');
|
const branch = becca.getBranch('lb_visibleshortcuts');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user