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