UNPKG

@launchmenu/applet-notes

Version:
58 lines 5.44 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.setRichContentAction = void 0; const core_1 = require("@launchmenu/core"); const react_1 = __importDefault(require("react")); const model_react_1 = require("model-react"); const IInherit_1 = require("../../../dataModel/_types/IInherit"); const editStylingFolderHandler_1 = require("../editStylingFolderHandler"); /** * An action to set whether to use rich content for a note */ exports.setRichContentAction = core_1.createContextAction({ name: "Set note rich content", contextItem: { icon: "edit", name: "Set enable rich content", priority: [core_1.Priority.MEDIUM, core_1.Priority.MEDIUM - 15], content: (react_1.default.createElement(react_1.default.Fragment, null, "Sets whether the note should render rich content. This is only has an effect if the syntax mode is set to \"Text\", \"Html\" or \"Markdown\". \"inherit\" can be specified to inherit a default value.")), }, folder: editStylingFolderHandler_1.editStylingFolderHandler, core: (fields) => { const execute = async ({ context }) => { var _a; // Obtain the most frequent selection amongst notes as the default const defaultRichContent = (_a = core_1.groupBy(fields.map(field => field.get()), v => v).reduce((best, { key, values }) => values.length > best.count ? { count: values.length, richContent: key } : best, { count: 0, richContent: undefined }).richContent) !== null && _a !== void 0 ? _a : "inherit"; // Execute the select handler const choiceField = new model_react_1.Field(defaultRichContent); await core_1.executeAction.execute(context, [ { actionBindings: [ core_1.promptSelectExecuteHandler.createBinding({ field: choiceField, undoable: false, options: [true, false, IInherit_1.inherit], createOptionView: v => core_1.createStandardMenuItem({ name: v.toString() }), }), ], }, ]); // Use the result to create a set category command return new core_1.CompoundCommand({ name: "Set enable rich content" }, fields.map(field => new core_1.SetFieldCommand(field, choiceField.get()))); }; return { // Return the bindings for executing the action in the menu actionBindings: [core_1.sequentialExecuteHandler.createBinding(execute)], // As well as some result for programmatic access for extension result: { execute, }, }; }, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0UmljaENvbnRlbnRBY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJmYWNlL2FjdGlvbkhhbmRsZXJzL25vdGVBcHBlYXJhbmNlL3NldFJpY2hDb250ZW50QWN0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FZMEI7QUFDMUIsa0RBQTBCO0FBQzFCLDZDQUFrQztBQUNsQyxpRUFBcUU7QUFDckUsMEVBQXFFO0FBRXJFOztHQUVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRywwQkFBbUIsQ0FBQztJQUNwRCxJQUFJLEVBQUUsdUJBQXVCO0lBQzdCLFdBQVcsRUFBRTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUsQ0FBQyxlQUFRLENBQUMsTUFBTSxFQUFFLGVBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pELE9BQU8sRUFBRSxDQUNMLHVRQUlHLENBQ047S0FDSjtJQUNELE1BQU0sRUFBRSxtREFBd0I7SUFDaEMsSUFBSSxFQUFFLENBQUMsTUFBb0MsRUFBRSxFQUFFO1FBQzNDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBYyxFQUFFLEVBQUU7O1lBQzdDLGtFQUFrRTtZQUNsRSxNQUFNLGtCQUFrQixTQUNwQixjQUFPLENBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDVCxDQUFDLE1BQU0sQ0FDSixDQUFDLElBQUksRUFBRSxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUMsRUFBRSxFQUFFLENBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUs7Z0JBQ3RCLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUM7Z0JBQzFDLENBQUMsQ0FBQyxJQUFJLEVBQ2QsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsQ0FDckMsQ0FBQyxXQUFXLG1DQUFJLFNBQVMsQ0FBQztZQUUvQiw2QkFBNkI7WUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxtQkFBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDbEQsTUFBTSxvQkFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pDO29CQUNJLGNBQWMsRUFBRTt3QkFDWixpQ0FBMEIsQ0FBQyxhQUFhLENBQUM7NEJBQ3JDLEtBQUssRUFBRSxXQUFXOzRCQUNsQixRQUFRLEVBQUUsS0FBSzs0QkFDZixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGtCQUFPLENBQUM7NEJBQy9CLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQ2xCLDZCQUFzQixDQUFDLEVBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBQyxDQUFDO3lCQUNuRCxDQUFDO3FCQUNMO2lCQUNKO2FBQ0osQ0FBQyxDQUFDO1lBRUgsa0RBQWtEO1lBQ2xELE9BQU8sSUFBSSxzQkFBZSxDQUN0QixFQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBQyxFQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxzQkFBZSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUNyRSxDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBRUYsT0FBTztZQUNILDJEQUEyRDtZQUMzRCxjQUFjLEVBQUUsQ0FBQywrQkFBd0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakUsK0RBQStEO1lBQy9ELE1BQU0sRUFBRTtnQkFDSixPQUFPO2FBQ1Y7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQyJ9