moving components to its own directory

This commit is contained in:
zadam 2022-12-01 13:07:23 +01:00
parent 1a6c9be065
commit fc080f785b
65 changed files with 160 additions and 156 deletions

View File

@ -1,24 +1,25 @@
import froca from "./froca.js";
import bundleService from "./bundle.js";
import froca from "../services/froca.js";
import bundleService from "../services/bundle.js";
import RootCommandExecutor from "./root_command_executor.js";
import Entrypoints from "./entrypoints.js";
import options from "./options.js";
import utils from "./utils.js";
import zoomService from "./zoom.js";
import options from "../services/options.js";
import utils from "../services/utils.js";
import zoomComponent from "./zoom.js";
import TabManager from "./tab_manager.js";
import treeService from "./tree.js";
import Component from "../widgets/component.js";
import keyboardActionsService from "./keyboard_actions.js";
import MobileScreenSwitcherExecutor from "../widgets/mobile_widgets/mobile_screen_switcher.js";
import treeService from "../services/tree.js";
import Component from "./component.js";
import keyboardActionsService from "../services/keyboard_actions.js";
import MobileScreenSwitcherExecutor from "./mobile_screen_switcher.js";
import MainTreeExecutors from "./main_tree_executors.js";
import toast from "./toast.js";
import toast from "../services/toast.js";
class AppContext extends Component {
constructor(isMainWindow) {
super();
this.isMainWindow = isMainWindow;
this.executors = [];
// non-widget/layout components needed for the application
this.components = [];
this.beforeUnloadListeners = [];
}
@ -27,7 +28,9 @@ class AppContext extends Component {
}
async start() {
this.showWidgets();
this.initComponents();
this.renderWidgets();
await Promise.all([froca.initializedPromise, options.initializedPromise]);
@ -36,7 +39,30 @@ class AppContext extends Component {
setTimeout(() => bundleService.executeStartupBundles(), 2000);
}
showWidgets() {
initComponents() {
this.tabManager = new TabManager();
this.components = [
this.tabManager,
new RootCommandExecutor(),
new Entrypoints(),
new MainTreeExecutors()
];
if (utils.isMobile()) {
this.components.push(new MobileScreenSwitcherExecutor());
}
for (const component of this.components) {
this.child(component);
}
if (utils.isElectron()) {
this.child(zoomComponent);
}
}
renderWidgets() {
const rootWidget = this.layout.getRootWidget(this);
const $renderedWidget = rootWidget.render();
@ -52,29 +78,8 @@ class AppContext extends Component {
component.triggerCommand(commandName, {$el: $(this)});
});
this.tabManager = new TabManager();
this.executors = [
this.tabManager,
new RootCommandExecutor(),
new Entrypoints(),
new MainTreeExecutors()
];
if (utils.isMobile()) {
this.executors.push(new MobileScreenSwitcherExecutor());
}
this.child(rootWidget);
for (const executor of this.executors) {
this.child(executor);
}
if (utils.isElectron()) {
this.child(zoomService);
}
this.triggerEvent('initialRenderComplete');
}
@ -85,7 +90,7 @@ class AppContext extends Component {
/** @returns {Promise} */
triggerCommand(name, data = {}) {
for (const executor of this.executors) {
for (const executor of this.components) {
const fun = executor[name + "Command"];
if (fun) {

View File

@ -1,13 +1,13 @@
import utils from "./utils.js";
import dateNoteService from "./date_notes.js";
import protectedSessionHolder from './protected_session_holder.js';
import server from "./server.js";
import utils from "../services/utils.js";
import dateNoteService from "../services/date_notes.js";
import protectedSessionHolder from '../services/protected_session_holder.js';
import server from "../services/server.js";
import appContext from "./app_context.js";
import Component from "../widgets/component.js";
import toastService from "./toast.js";
import ws from "./ws.js";
import bundleService from "./bundle.js";
import froca from "./froca.js";
import Component from "./component.js";
import toastService from "../services/toast.js";
import ws from "../services/ws.js";
import bundleService from "../services/bundle.js";
import froca from "../services/froca.js";
export default class Entrypoints extends Component {
constructor() {

View File

@ -1,8 +1,8 @@
import appContext from "./app_context.js";
import noteCreateService from "./note_create.js";
import treeService from "./tree.js";
import hoistedNoteService from "./hoisted_note.js";
import Component from "../widgets/component.js";
import noteCreateService from "../services/note_create.js";
import treeService from "../services/tree.js";
import hoistedNoteService from "../services/hoisted_note.js";
import Component from "./component.js";
/**
* This class contains command executors which logically belong to the NoteTree widget, but for better user experience

View File

@ -1,4 +1,4 @@
import Component from "../component.js";
import Component from "./component.js";
export default class MobileScreenSwitcherExecutor extends Component {
setActiveScreenCommand({screen}) {
@ -12,4 +12,4 @@ export default class MobileScreenSwitcherExecutor extends Component {
initialRenderCompleteEvent() {
this.setActiveScreenCommand({screen: 'tree'});
}
}
}

View File

@ -1,12 +1,12 @@
import protectedSessionHolder from "./protected_session_holder.js";
import server from "./server.js";
import utils from "./utils.js";
import protectedSessionHolder from "../services/protected_session_holder.js";
import server from "../services/server.js";
import utils from "../services/utils.js";
import appContext from "./app_context.js";
import treeService from "./tree.js";
import Component from "../widgets/component.js";
import froca from "./froca.js";
import hoistedNoteService from "./hoisted_note.js";
import options from "./options.js";
import treeService from "../services/tree.js";
import Component from "./component.js";
import froca from "../services/froca.js";
import hoistedNoteService from "../services/hoisted_note.js";
import options from "../services/options.js";
class NoteContext extends Component {
/**

View File

@ -1,11 +1,11 @@
import Component from "../widgets/component.js";
import Component from "./component.js";
import appContext from "./app_context.js";
import dateNoteService from "../services/date_notes.js";
import treeService from "../services/tree.js";
import openService from "./open.js";
import protectedSessionService from "./protected_session.js";
import options from "./options.js";
import froca from "./froca.js";
import openService from "../services/open.js";
import protectedSessionService from "../services/protected_session.js";
import options from "../services/options.js";
import froca from "../services/froca.js";
export default class RootCommandExecutor extends Component {
editReadOnlyNoteCommand() {
@ -46,7 +46,7 @@ export default class RootCommandExecutor extends Component {
openNoteExternallyCommand() {
const noteId = appContext.tabManager.getActiveContextNoteId();
const mime = appContext.tabManager.getActiveContextNoteMime()
if (noteId) {
openService.openNoteExternally(noteId, mime);
}

View File

@ -0,0 +1,19 @@
import appContext from "./app_context.js";
import shortcutService from "../services/shortcuts.js";
import server from "../services/server.js";
import Component from "./component.js";
export default class ShortcutComponent extends Component {
constructor() {
server.get('keyboard-shortcuts-for-notes').then(shortcutAttributes => {
for (const attr in shortcutAttributes) {
bindNoteShortcutHandler(attr);
}
}
bindNoteShortcutHandler(attr) {
const handler = async () => appContext.tabManager.getActiveContext().setNote(attr.noteId);
shortcutService.bindGlobalShortcut(attr.value, handler, attr.attributeId);
}
}

View File

@ -1,10 +1,10 @@
import Component from "../widgets/component.js";
import SpacedUpdate from "./spaced_update.js";
import server from "./server.js";
import options from "./options.js";
import froca from "./froca.js";
import treeService from "./tree.js";
import utils from "./utils.js";
import Component from "./component.js";
import SpacedUpdate from "../services/spaced_update.js";
import server from "../services/server.js";
import options from "../services/options.js";
import froca from "../services/froca.js";
import treeService from "../services/tree.js";
import utils from "../services/utils.js";
import NoteContext from "./note_context.js";
import appContext from "./app_context.js";
import Mutex from "../utils/mutex.js";

View File

@ -1,11 +1,11 @@
import options from "./options.js";
import Component from "../widgets/component.js";
import options from "../services/options.js";
import Component from "./component.js";
import utils from "../services/utils.js";
const MIN_ZOOM = 0.5;
const MAX_ZOOM = 2.0;
class ZoomService extends Component {
class ZoomComponent extends Component {
constructor() {
super();
@ -59,6 +59,6 @@ class ZoomService extends Component {
}
}
const zoomService = new ZoomService();
const zoomService = new ZoomComponent();
export default zoomService;

View File

@ -1,4 +1,4 @@
import appContext from "./services/app_context.js";
import appContext from "./components/app_context.js";
import utils from './services/utils.js';
import noteTooltipService from './services/note_tooltip.js';
import bundleService from "./services/bundle.js";
@ -7,7 +7,7 @@ import macInit from './services/mac_init.js';
import contextMenu from "./menus/context_menu.js";
import DesktopLayout from "./layouts/desktop_layout.js";
import glob from "./services/glob.js";
import zoomService from './services/zoom.js';
import zoomService from './components/zoom.js';
bundleService.getWidgetBundlesByParent().then(widgetBundles => {
appContext.setLayout(new DesktopLayout(widgetBundles));

View File

@ -1,5 +1,5 @@
import contextMenu from "./context_menu.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
function openContextMenu(notePath, e) {
contextMenu.show({

View File

@ -3,7 +3,7 @@ import froca from "../services/froca.js";
import clipboard from '../services/clipboard.js';
import noteCreateService from "../services/note_create.js";
import contextMenu from "./context_menu.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
import noteTypesService from "../services/note_types.js";
export default class TreeContextMenu {

View File

@ -1,8 +1,8 @@
import appContext from "./services/app_context.js";
import appContext from "./components/app_context.js";
import MobileLayout from "./layouts/mobile_layout.js";
import glob from "./services/glob.js";
glob.setupGlobs();
appContext.setLayout(new MobileLayout());
appContext.start();
appContext.start();

View File

@ -4,7 +4,7 @@ import toastService from "./toast.js";
import froca from "./froca.js";
import hoistedNoteService from "./hoisted_note.js";
import ws from "./ws.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
async function moveBeforeBranch(branchIdsToMove, beforeBranchId) {
branchIdsToMove = filterRootNote(branchIdsToMove);

View File

@ -1,4 +1,4 @@
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
async function info(message) {
return new Promise(res =>

View File

@ -1,5 +1,5 @@
import ws from "./ws.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
const fileModificationStatus = {};

View File

@ -2,7 +2,7 @@ import Branch from "../entities/branch.js";
import NoteShort from "../entities/note_short.js";
import Attribute from "../entities/attribute.js";
import server from "./server.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import NoteComplement from "../entities/note_complement.js";
/**

View File

@ -76,7 +76,7 @@ async function processEntityChanges(entityChanges) {
noteAttributeCache.invalidate();
}
const appContext = (await import("./app_context.js")).default;
const appContext = (await import("../components/app_context.js")).default;
await appContext.triggerEvent('entitiesReloaded', {loadResults});
}
}

View File

@ -9,7 +9,7 @@ import dateNotesService from './date_notes.js';
import searchService from './search.js';
import CollapsibleWidget from '../widgets/collapsible_widget.js';
import ws from "./ws.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import NoteContextAwareWidget from "../widgets/note_context_aware_widget.js";
import BasicWidget from "../widgets/basic_widget.js";
import SpacedUpdate from "./spaced_update.js";

View File

@ -1,5 +1,5 @@
import utils from "./utils.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import server from "./server.js";
import libraryLoader from "./library_loader.js";
import ws from "./ws.js";

View File

@ -1,4 +1,4 @@
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import treeService from "./tree.js";
import dialogService from "./dialog.js";
import froca from "./froca.js";

View File

@ -2,7 +2,7 @@ import toastService from "./toast.js";
import server from "./server.js";
import ws from "./ws.js";
import utils from "./utils.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
export async function uploadFiles(parentNoteId, files, options) {
if (files.length === 0) {

View File

@ -1,5 +1,5 @@
import server from "./server.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import shortcutService from "./shortcuts.js";
const keyboardActionRepo = {};
@ -44,14 +44,6 @@ getActionsForScope("window").then(actions => {
}
});
server.get('keyboard-shortcuts-for-notes').then(shortcutForNotes => {
for (const shortcut in shortcutForNotes) {
shortcutService.bindGlobalShortcut(shortcut, async () => {
appContext.tabManager.getActiveContext().setNote(shortcutForNotes[shortcut]);
});
}
});
function setElementActionHandler($el, actionName, handler) {
keyboardActionsLoaded.then(() => {
const action = keyboardActionRepo[actionName];

View File

@ -1,6 +1,6 @@
import treeService from './tree.js';
import linkContextMenuService from "../menus/link_context_menu.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import froca from "./froca.js";
import utils from "./utils.js";

View File

@ -1,5 +1,5 @@
import server from "./server.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import utils from './utils.js';
import noteCreateService from './note_create.js';
import treeService from './tree.js';

View File

@ -1,4 +1,4 @@
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import utils from "./utils.js";
import protectedSessionHolder from "./protected_session_holder.js";
import server from "./server.js";

View File

@ -2,7 +2,7 @@ import server from './server.js';
import protectedSessionHolder from './protected_session_holder.js';
import toastService from "./toast.js";
import ws from "./ws.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
import froca from "./froca.js";
import utils from "./utils.js";
import options from "./options.js";

View File

@ -3,7 +3,7 @@ import utils from './utils.js';
const REQUEST_LOGGING_ENABLED = false;
async function getHeaders(headers) {
const appContext = (await import('./app_context.js')).default;
const appContext = (await import('../components/app_context.js')).default;
const activeNoteContext = appContext.tabManager ? appContext.tabManager.getActiveContext() : null;
// headers need to be lowercase because node.js automatically converts them to lower case

View File

@ -1,7 +1,7 @@
import utils from "./utils.js";
function bindGlobalShortcut(keyboardShortcut, handler, namespace = null) {
bindElShortcut($(document), keyboardShortcut, handler);
bindElShortcut($(document), keyboardShortcut, handler, namespace);
}
function bindElShortcut($el, keyboardShortcut, handler, namespace = null) {
@ -19,7 +19,7 @@ function bindElShortcut($el, keyboardShortcut, handler, namespace = null) {
// method can be called to remove the shortcut (e.g. when keyboardShortcut label is deleted)
if (keyboardShortcut) {
$el.on(eventName, keyboardShortcut, e => {
$el.bind(eventName, keyboardShortcut, e => {
handler(e);
e.preventDefault();

View File

@ -3,7 +3,7 @@ import utils from './utils.js';
import server from './server.js';
import froca from './froca.js';
import hoistedNoteService from '../services/hoisted_note.js';
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
/**
* @return {string|null}

View File

@ -3,7 +3,7 @@ import toastService from "./toast.js";
import server from "./server.js";
import options from "./options.js";
import frocaUpdater from "./froca_updater.js";
import appContext from "./app_context.js";
import appContext from "../components/app_context.js";
const messageHandlers = [];

View File

@ -1,4 +1,4 @@
import Component from "./component.js";
import Component from "../components/component.js";
class BasicWidget extends Component {
constructor() {

View File

@ -2,7 +2,7 @@ import libraryLoader from "../../services/library_loader.js";
import utils from "../../services/utils.js";
import dateNoteService from "../../services/date_notes.js";
import server from "../../services/server.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import RightDropdownButtonWidget from "./right_dropdown_button.js";
import toastService from "../../services/toast.js";

View File

@ -1,5 +1,5 @@
import ButtonWidget from "./button_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import attributeService from "../../services/attributes.js";
import protectedSessionHolder from "../../services/protected_session_holder.js";

View File

@ -1,5 +1,5 @@
import ButtonWidget from "./button_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import froca from "../../services/froca.js";
// FIXME: this widget might not be useful anymore

View File

@ -2,7 +2,7 @@ import FlexContainer from "./flex_container.js";
import froca from "../../services/froca.js";
import ButtonWidget from "../buttons/button_widget.js";
import CalendarWidget from "../buttons/calendar.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import SpacerWidget from "../spacer.js";
import BookmarkButtons from "../bookmark_buttons.js";
import ProtectedSessionStatusWidget from "../buttons/protected_session_status.js";

View File

@ -1,5 +1,5 @@
import FlexContainer from "./flex_container.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
export default class SplitNoteContainer extends FlexContainer {
constructor(widgetFactory) {

View File

@ -4,7 +4,7 @@ import froca from "../../services/froca.js";
import toastService from "../../services/toast.js";
import utils from "../../services/utils.js";
import BasicWidget from "../basic_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
let branchId;

View File

@ -4,7 +4,7 @@ import treeService from "../../services/tree.js";
import toastService from "../../services/toast.js";
import froca from "../../services/froca.js";
import branchService from "../../services/branches.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import BasicWidget from "../basic_widget.js";
const TPL = `

View File

@ -1,6 +1,6 @@
import noteAutocompleteService from '../../services/note_autocomplete.js';
import utils from "../../services/utils.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import BasicWidget from "../basic_widget.js";
import shortcutService from "../../services/shortcuts.js";

View File

@ -1,7 +1,7 @@
import libraryLoader from "../../services/library_loader.js";
import toastService from "../../services/toast.js";
import utils from "../../services/utils.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import BasicWidget from "../basic_widget.js";
import shortcutService from "../../services/shortcuts.js";

View File

@ -1,7 +1,7 @@
import utils from '../../services/utils.js';
import server from '../../services/server.js';
import toastService from "../../services/toast.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import libraryLoader from "../../services/library_loader.js";
import openService from "../../services/open.js";
import protectedSessionHolder from "../../services/protected_session_holder.js";

View File

@ -1,4 +1,4 @@
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import BasicWidget from "../basic_widget.js";
import utils from "../../services/utils.js";

View File

@ -1,6 +1,6 @@
import server from "../../../services/server.js";
import utils from "../../../services/utils.js";
import appContext from "../../../services/app_context.js";
import appContext from "../../../components/app_context.js";
import OptionsTab from "./options_tab.js";
const FONT_FAMILIES = [

View File

@ -3,7 +3,7 @@ import utils from '../../services/utils.js';
import server from '../../services/server.js';
import treeService from "../../services/tree.js";
import froca from "../../services/froca.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import hoistedNoteService from "../../services/hoisted_note.js";
import BasicWidget from "../basic_widget.js";
import dialogService from "../../services/dialog.js";

View File

@ -3,7 +3,7 @@
// for consistency
import libraryLoader from "../services/library_loader.js";
import utils from "../services/utils.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
const FIND_RESULT_SELECTED_CSS_CLASSNAME = "ck-find-result_selected";
const FIND_RESULT_CSS_CLASSNAME = "ck-find-result";

View File

@ -1,5 +1,5 @@
import BasicWidget from "../basic_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import contextMenu from "../../menus/context_menu.js";
import noteCreateService from "../../services/note_create.js";
import branchService from "../../services/branches.js";

View File

@ -1,5 +1,5 @@
import BasicWidget from "./basic_widget.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
export default class NoteContextAwareWidget extends BasicWidget {
isNoteContext(ntxId) {

View File

@ -3,7 +3,7 @@ import protectedSessionHolder from "../services/protected_session_holder.js";
import SpacedUpdate from "../services/spaced_update.js";
import server from "../services/server.js";
import libraryLoader from "../services/library_loader.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
import keyboardActionsService from "../services/keyboard_actions.js";
import noteCreateService from "../services/note_create.js";
import attributeService from "../services/attributes.js";

View File

@ -2,7 +2,7 @@ import libraryLoader from "../services/library_loader.js";
import server from "../services/server.js";
import attributeService from "../services/attributes.js";
import hoistedNoteService from "../services/hoisted_note.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
import NoteContextAwareWidget from "./note_context_aware_widget.js";
import linkContextMenuService from "../menus/link_context_menu.js";

View File

@ -2,7 +2,7 @@ import NoteContextAwareWidget from "./note_context_aware_widget.js";
import protectedSessionHolder from "../services/protected_session_holder.js";
import server from "../services/server.js";
import SpacedUpdate from "../services/spaced_update.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
import branchService from "../services/branches.js";
import shortcutService from "../services/shortcuts.js";

View File

@ -9,7 +9,7 @@ import NoteContextAwareWidget from "./note_context_aware_widget.js";
import server from "../services/server.js";
import noteCreateService from "../services/note_create.js";
import toastService from "../services/toast.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
import keyboardActionsService from "../services/keyboard_actions.js";
import clipboard from "../services/clipboard.js";
import protectedSessionService from "../services/protected_session.js";

View File

@ -3,7 +3,7 @@ import server from "../services/server.js";
import linkService from "../services/link.js";
import froca from "../services/froca.js";
import utils from "../services/utils.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
import shortcutService from "../services/shortcuts.js";
const TPL = `

View File

@ -13,7 +13,7 @@ import OrderBy from "../search_options/order_by.js";
import SearchScript from "../search_options/search_script.js";
import Limit from "../search_options/limit.js";
import Debug from "../search_options/debug.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import bulkActionService from "../../services/bulk_action.js";
const TPL = `

View File

@ -1,6 +1,6 @@
import server from "../../services/server.js";
import ws from "../../services/ws.js";
import Component from "../component.js";
import Component from "../../components/component.js";
import utils from "../../services/utils.js";
export default class AbstractSearchOption extends Component {

View File

@ -2,7 +2,7 @@ import BasicWidget from "./basic_widget.js";
import contextMenu from "../menus/context_menu.js";
import utils from "../services/utils.js";
import keyboardActionService from "../services/keyboard_actions.js";
import appContext from "../services/app_context.js";
import appContext from "../components/app_context.js";
import froca from "../services/froca.js";
import attributeService from "../services/attributes.js";

View File

@ -1,5 +1,5 @@
import TypeWidget from "./type_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import froca from "../../services/froca.js";
import linkService from "../../services/link.js";
import noteContentRenderer from "../../services/note_content_renderer.js";

View File

@ -1,6 +1,6 @@
import server from "../../services/server.js";
import ws from "../../services/ws.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import toastService from "../../services/toast.js";
import treeService from "../../services/tree.js";
import NoteContextAwareWidget from "../note_context_aware_widget.js";

View File

@ -8,7 +8,7 @@ import treeService from "../../services/tree.js";
import noteCreateService from "../../services/note_create.js";
import AbstractTextTypeWidget from "./abstract_text_type_widget.js";
import link from "../../services/link.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
const ENABLE_INSPECTOR = false;

View File

@ -1,6 +1,6 @@
import noteAutocompleteService from '../../services/note_autocomplete.js';
import TypeWidget from "./type_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import searchService from "../../services/search.js";
const TPL = `

View File

@ -5,7 +5,7 @@ import contextMenu from "../../menus/context_menu.js";
import toastService from "../../services/toast.js";
import attributeAutocompleteService from "../../services/attribute_autocomplete.js";
import TypeWidget from "./type_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
import utils from "../../services/utils.js";
import froca from "../../services/froca.js";
import dialogService from "../../services/dialog.js";

View File

@ -1,5 +1,5 @@
import NoteContextAwareWidget from "../note_context_aware_widget.js";
import appContext from "../../services/app_context.js";
import appContext from "../../components/app_context.js";
export default class TypeWidget extends NoteContextAwareWidget {
// for overriding
@ -40,7 +40,7 @@ export default class TypeWidget extends NoteContextAwareWidget {
/**
* @returns {Promise|*} promise resolving content or directly the content
*/
*/
getContent() {}
focus() {}

View File

@ -10,20 +10,8 @@ function getKeyboardActions() {
function getShortcutsForNotes() {
const attrs = becca.findAttributes('label', 'keyboardShortcut');
const map = {};
for (const attr of attrs) {
const note = becca.getNote(attr.noteId);
if (note?.type === 'launcher') {
// launchers have different handling
continue;
}
map[attr.value] = attr.noteId;
}
return map;
// launchers have different handling
return attrs.filter(attr => becca.getNote(attr.noteId)?.type !== 'launcher');
}
module.exports = {

View File

@ -337,9 +337,9 @@ const launchers = [
{ id: 'lb_jumpto', command: 'jumpToNote', title: 'Jump to note', icon: 'bx bx-send', isVisible: true },
{ id: 'lb_notemap', targetNoteId: 'globalnotemap', title: 'Note map', icon: 'bx bx-map-alt', isVisible: true },
{ id: 'lb_calendar', builtinWidget: 'calendar', title: 'Calendar', icon: 'bx bx-calendar', isVisible: true },
{ id: 'lb_spacer1', builtinWidget: 'spacer', title: 'Spacer', isVisible: true, baseSize: 50, growthFactor: 0 },
{ id: 'lb_spacer1', builtinWidget: 'spacer', title: 'Spacer', isVisible: true, baseSize: "50", growthFactor: "0" },
{ id: 'lb_bookmarks', builtinWidget: 'bookmarks', title: 'Bookmarks', icon: 'bx bx-bookmark', isVisible: true },
{ id: 'lb_spacer2', builtinWidget: 'spacer', title: 'Spacer', isVisible: true, baseSize: 0, growthFactor: 1 },
{ id: 'lb_spacer2', builtinWidget: 'spacer', title: 'Spacer', isVisible: true, baseSize: "0", growthFactor: "1" },
{ id: 'lb_protectedsession', builtinWidget: 'protectedSession', title: 'Protected session', icon: 'bx bx bx-shield-quarter', isVisible: true },
{ id: 'lb_syncstatus', builtinWidget: 'syncStatus', title: 'Sync status', icon: 'bx bx-wifi', isVisible: true },