@launchmenu/applet-notes
Version:
An applet to make short notes
91 lines • 9.13 kB
JavaScript
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTm90ZU1lbnVJdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZS9jcmVhdGVOb3RlTWVudUl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQU0wQjtBQUMxQiw0Q0FBdUM7QUFHdkMsdUVBQWtFO0FBQ2xFLGtGQUE2RTtBQUM3RSwwRUFBcUU7QUFDckUsMEVBQXFFO0FBRXJFLDBFQUFxRTtBQUNyRSw4REFBeUQ7QUFDekQsbUZBQThFO0FBQzlFLDZGQUF3RjtBQUN4Rix5RkFBb0Y7QUFDcEYsK0ZBQTBGO0FBQzFGLDRFQUF1RTtBQUV2RSxtR0FBOEY7QUFFOUY7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGtCQUFrQixDQUM5QixJQUFVLEVBQ1YsV0FBd0IsRUFDeEIsYUFBMEMsRUFDMUMsUUFBbUI7SUFFbkIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQWEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsT0FBTyxpREFBdUIsQ0FBQztRQUMzQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLEVBQUUscUJBQVM7UUFDZixhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsNEJBQzNCLHVDQUFrQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMseUNBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLDBDQUFFLHVCQUF1QixHQUFHLEtBQUssRUFBRSxJQUFJLElBQUM7UUFDbEUscUJBQXFCLEVBQUUsSUFBSTtRQUMzQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FDYixPQUFBLGlC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
;