UNPKG

@launchmenu/applet-notes

Version:
91 lines 9.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createNoteMenuItem = void 0; const core_1 = require("@launchmenu/core"); const notesIcon_1 = require("../notesIcon"); const createColorableMenuItem_1 = require("./createColorableMenuItem"); const editNoteExecuteAction_1 = require("./actionHandlers/editNoteExecuteAction"); const setCategoryAction_1 = require("./actionHandlers/setCategoryAction"); const setNoteNameAction_1 = require("./actionHandlers/setNoteNameAction"); const deleteNoteHandler_1 = require("./actionHandlers/deleteNoteHandler"); const notePatternMatcher_1 = require("../notePatternMatcher"); const setColorAction_1 = require("./actionHandlers/noteAppearance/setColorAction"); const setSyntaxModeAction_1 = require("./actionHandlers/noteAppearance/setSyntaxModeAction"); const setFontSizeAction_1 = require("./actionHandlers/noteAppearance/setFontSizeAction"); const setRichContentAction_1 = require("./actionHandlers/noteAppearance/setRichContentAction"); const noteContentHandler_1 = require("./actionHandlers/noteContentHandler"); const setSearchContentAction_1 = require("./actionHandlers/noteAppearance/setSearchContentAction"); /** * Creates a menu item for the given note * @param note The note to create an item for * @param notesSource The source of the notes * @param getCategories All the available note categories * @param settingsContext The context to get settings from * @returns The created menu item */ function createNoteMenuItem(note, notesSource, getCategories, settings) { const useInlineCategory = (h) => settings.inlineCategory.get(h); return createColorableMenuItem_1.createColorableMenuItem({ name: h => note.getName(h), color: h => note.getColor(h), icon: notesIcon_1.notesIcon, searchPattern: (query, hook) => { var _a, _b; return (_a = notePatternMatcher_1.notePatternMatcher(query, hook)) !== null && _a !== void 0 ? _a : (_b = note.getCategory(hook)) === null || _b === void 0 ? void 0 : _b.getSearchPatternMatcher()(query, hook); }, rightAlignDescription: true, description: h => { var _a; return useInlineCategory(h) ? (_a = note.getCategory(h)) === null || _a === void 0 ? void 0 : _a.getName(h) : undefined; }, tags: h => { const category = note.getCategory(h); return [ ...(note.getSearchContent(h) ? [note.getText(h)] : []), ...(category ? [category.getName(h)] : []), // An empty tag allows for results without queries "", ]; }, actionBindings: [ noteContentHandler_1.noteContentHandler.createBinding(note), editNoteExecuteAction_1.editNoteExecuteAction.createBinding(note), setNoteNameAction_1.setNoteNameAction.createBinding(note), deleteNoteHandler_1.deleteNoteHandler.createBinding({ note, notesSource }), setCategoryAction_1.setCategoryAction.createBinding({ subscribableData: h => ({ note, options: notesSource.getAllCategories(h), }), }), core_1.getCategoryAction.createBinding({ subscribableData: h => { var _a; if (useInlineCategory(h)) return; const categoryID = (_a = note.getCategory(h)) === null || _a === void 0 ? void 0 : _a.ID; if (!categoryID) return; return getCategories(h).find(({ name }) => name == categoryID); }, }), setColorAction_1.setColorAction.createBinding({ set: color => note.setColor(color), get: h => note.getColor(h), }), setSyntaxModeAction_1.setSyntaxModeAction.createBinding({ set: syntax => note.setSyntaxMode(syntax), get: h => note.getSyntaxMode(h), }), setFontSizeAction_1.setFontSizeAction.createBinding({ set: size => note.setFontSize(size), get: h => note.getFontSize(h), }), setRichContentAction_1.setRichContentAction.createBinding({ set: richContent => note.setShowRichContent(richContent), get: h => note.getShowRichContent(h), }), setSearchContentAction_1.setSearchContentAction.createBinding({ set: searchContent => note.setSearchContent(searchContent), get: h => note.getSearchContent(h), }), core_1.copyAction.createBinding(core_1.copyTextHandler.createBinding({ subscribableData: h => note.getText(h) })), ], }); } exports.createNoteMenuItem = createNoteMenuItem; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTm90ZU1lbnVJdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZS9jcmVhdGVOb3RlTWVudUl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQU0wQjtBQUMxQiw0Q0FBdUM7QUFHdkMsdUVBQWtFO0FBQ2xFLGtGQUE2RTtBQUM3RSwwRUFBcUU7QUFDckUsMEVBQXFFO0FBRXJFLDBFQUFxRTtBQUNyRSw4REFBeUQ7QUFDekQsbUZBQThFO0FBQzlFLDZGQUF3RjtBQUN4Rix5RkFBb0Y7QUFDcEYsK0ZBQTBGO0FBQzFGLDRFQUF1RTtBQUV2RSxtR0FBOEY7QUFFOUY7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGtCQUFrQixDQUM5QixJQUFVLEVBQ1YsV0FBd0IsRUFDeEIsYUFBMEMsRUFDMUMsUUFBbUI7SUFFbkIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQWEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsT0FBTyxpREFBdUIsQ0FBQztRQUMzQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLEVBQUUscUJBQVM7UUFDZixhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsNEJBQzNCLHVDQUFrQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMseUNBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLDBDQUFFLHVCQUF1QixHQUFHLEtBQUssRUFBRSxJQUFJLElBQUM7UUFDbEUscUJBQXFCLEVBQUUsSUFBSTtRQUMzQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FDYixPQUFBLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQywwQ0FBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUEsRUFBQTtRQUN0RSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLE9BQU87Z0JBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsa0RBQWtEO2dCQUNsRCxFQUFFO2FBQ0wsQ0FBQztRQUNOLENBQUM7UUFDRCxjQUFjLEVBQUU7WUFDWix1Q0FBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RDLDZDQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDekMscUNBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUNyQyxxQ0FBaUIsQ0FBQyxhQUFhLENBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUM7WUFDcEQscUNBQWlCLENBQUMsYUFBYSxDQUFDO2dCQUM1QixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3BCLElBQUk7b0JBQ0osT0FBTyxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7aUJBQzNDLENBQUM7YUFDTCxDQUFDO1lBQ0Ysd0JBQWlCLENBQUMsYUFBYSxDQUFDO2dCQUM1QixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRTs7b0JBQ2xCLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDO3dCQUFFLE9BQU87b0JBQ2pDLE1BQU0sVUFBVSxTQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLDBDQUFFLEVBQUUsQ0FBQztvQkFDM0MsSUFBSSxDQUFDLFVBQVU7d0JBQUUsT0FBTztvQkFDeEIsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDO2FBQ0osQ0FBQztZQUNGLCtCQUFjLENBQUMsYUFBYSxDQUFDO2dCQUN6QixHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDbEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDN0IsQ0FBQztZQUNGLHlDQUFtQixDQUFDLGFBQWEsQ0FBQztnQkFDOUIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3pDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2FBQ2xDLENBQUM7WUFDRixxQ0FBaUIsQ0FBQyxhQUFhLENBQUM7Z0JBQzVCLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzthQUNoQyxDQUFDO1lBQ0YsMkNBQW9CLENBQUMsYUFBYSxDQUFDO2dCQUMvQixHQUFHLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO2dCQUN4RCxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDLENBQUM7WUFDRiwrQ0FBc0IsQ0FBQyxhQUFhLENBQUM7Z0JBQ2pDLEdBQUcsRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7Z0JBQzFELEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7YUFDckMsQ0FBQztZQUNGLGlCQUFVLENBQUMsYUFBYSxDQUNwQixzQkFBZSxDQUFDLGFBQWEsQ0FBQyxFQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQzFFO1NBQ0o7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDO0FBdEVELGdEQXNFQyJ9