feat(mobile): bring jump to note to mobile

This commit is contained in:
Elian Doran 2025-01-04 23:43:15 +02:00
parent 336e298462
commit 57ed133c7f
No known key found for this signature in database
5 changed files with 10 additions and 14 deletions

View File

@ -29,6 +29,7 @@ import AboutDialog from "../widgets/dialogs/about.js";
import HelpDialog from "../widgets/dialogs/help.js";
import AppContext from "../components/app_context.js";
import TabRowWidget from "../widgets/tab_row.js";
import JumpToNoteDialog from "../widgets/dialogs/jump_to_note.js";
const MOBILE_CSS = `
<style>
@ -196,5 +197,6 @@ export default class MobileLayout {
.id("launcher-pane")))
.child(new AboutDialog())
.child(new HelpDialog())
.child(new JumpToNoteDialog())
}
}

View File

@ -1,10 +1,13 @@
import appContext from "./components/app_context.js";
import noteAutocompleteService from './services/note_autocomplete.js';
import glob from "./services/glob.js";
glob.setupGlobs()
await appContext.earlyInit();
noteAutocompleteService.init();
// A dynamic import is required for layouts since they initialize components which require translations.
const MobileLayout = (await import("./layouts/mobile_layout.js")).default;

View File

@ -101,19 +101,11 @@ async function autocompleteSource(term: string, cb: (rows: Suggestion[]) => void
}
function clearText($el: JQuery<HTMLElement>) {
if (utils.isMobile()) {
return;
}
$el.setSelectedNotePath("");
$el.autocomplete("val", "").trigger('change');
}
function setText($el: JQuery<HTMLElement>, text: string) {
if (utils.isMobile()) {
return;
}
$el.setSelectedNotePath("");
$el
.autocomplete("val", text.trim())
@ -121,10 +113,6 @@ function setText($el: JQuery<HTMLElement>, text: string) {
}
function showRecentNotes($el:JQuery<HTMLElement>) {
if (utils.isMobile()) {
return;
}
$el.setSelectedNotePath("");
$el.autocomplete("val", "");
$el.autocomplete('open');
@ -147,7 +135,7 @@ function fullTextSearch($el: JQuery<HTMLElement>, options: Options){
}
function initNoteAutocomplete($el: JQuery<HTMLElement>, options?: Options) {
if ($el.hasClass("note-autocomplete-input") || utils.isMobile()) {
if ($el.hasClass("note-autocomplete-input")) {
// clear any event listener added in previous invocation of this function
$el.off('autocomplete:noteselected');

View File

@ -281,7 +281,8 @@ function buildHiddenSubtreeDefinition(): Item {
{ id: '_lbMobileBackInHistory', title: t("hidden-subtree.go-to-previous-note-title"), type: 'launcher', builtinWidget: 'backInHistoryButton', icon: 'bx bxs-chevron-left',
attributes: [ { type: 'label', name: 'docName', value: 'launchbar_history_navigation' } ]},
{ id: '_lbMobileForwardInHistory', title: t("hidden-subtree.go-to-next-note-title"), type: 'launcher', builtinWidget: 'forwardInHistoryButton', icon: 'bx bxs-chevron-right',
attributes: [ { type: 'label', name: 'docName', value: 'launchbar_history_navigation' } ]}
attributes: [ { type: 'label', name: 'docName', value: 'launchbar_history_navigation' } ]},
{ id: '_lbMobileJumpTo', title: t("hidden-subtree.jump-to-note-title"), type: 'launcher', command: 'jumpToNote', icon: 'bx bx-plus-circle' }
]
}
]

View File

@ -129,6 +129,8 @@
<script src="<%= assetPath %>/node_modules/jquery/dist/jquery.min.js"></script>
<script src="<%= assetPath %>/node_modules/autocomplete.js/dist/autocomplete.jquery.min.js"></script>
<script src="<%= assetPath %>/node_modules/dayjs/dayjs.min.js"></script>
<link href="<%= assetPath %>/stylesheets/tree.css" rel="stylesheet">