@launchmenu/applet-notes
Version:
An applet to make short notes
58 lines • 5.45 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setSearchContentAction = 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 search content for a note
*/
exports.setSearchContentAction = core_1.createContextAction({
name: "Set note search content",
contextItem: {
icon: "edit",
name: "Set enable search content",
priority: [core_1.Priority.MEDIUM, core_1.Priority.MEDIUM - 10],
content: (react_1.default.createElement(react_1.default.Fragment, null, "Sets whether the note should be findable by its content. This may make searches in LM more laggy when enabled for big files. \"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 defaultSearchContent = (_a = core_1.groupBy(fields.map(field => field.get()), v => v).reduce((best, { key, values }) => values.length > best.count
? { count: values.length, searchContent: key }
: best, { count: 0, searchContent: undefined }).searchContent) !== null && _a !== void 0 ? _a : "inherit";
// Execute the select handler
const choiceField = new model_react_1.Field(defaultSearchContent);
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 search 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0U2VhcmNoQ29udGVudEFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcmZhY2UvYWN0aW9uSGFuZGxlcnMvbm90ZUFwcGVhcmFuY2Uvc2V0U2VhcmNoQ29udGVudEFjdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkNBWTBCO0FBQzFCLGtEQUEwQjtBQUMxQiw2Q0FBa0M7QUFDbEMsaUVBQXFFO0FBQ3JFLDBFQUFxRTtBQUVyRTs7R0FFRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsMEJBQW1CLENBQUM7SUFDdEQsSUFBSSxFQUFFLHlCQUF5QjtJQUMvQixXQUFXLEVBQUU7UUFDVCxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSwyQkFBMkI7UUFDakMsUUFBUSxFQUFFLENBQUMsZUFBUSxDQUFDLE1BQU0sRUFBRSxlQUFRLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqRCxPQUFPLEVBQUUsQ0FDTCxzUEFJRyxDQUNOO0tBQ0o7SUFDRCxNQUFNLEVBQUUsbURBQXdCO0lBQ2hDLElBQUksRUFBRSxDQUFDLE1BQW9DLEVBQUUsRUFBRTtRQUMzQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQWMsRUFBRSxFQUFFOztZQUM3QyxrRUFBa0U7WUFDbEUsTUFBTSxvQkFBb0IsU0FDdEIsY0FBTyxDQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsRUFDaEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ1QsQ0FBQyxNQUFNLENBQ0osQ0FBQyxJQUFJLEVBQUUsRUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUNwQixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLO2dCQUN0QixDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFDO2dCQUM1QyxDQUFDLENBQUMsSUFBSSxFQUNkLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFDLENBQ3ZDLENBQUMsYUFBYSxtQ0FBSSxTQUFTLENBQUM7WUFFakMsNkJBQTZCO1lBQzdCLE1BQU0sV0FBVyxHQUFHLElBQUksbUJBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sb0JBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNqQztvQkFDSSxjQUFjLEVBQUU7d0JBQ1osaUNBQTBCLENBQUMsYUFBYSxDQUFDOzRCQUNyQyxLQUFLLEVBQUUsV0FBVzs0QkFDbEIsUUFBUSxFQUFFLEtBQUs7NEJBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxrQkFBTyxDQUFDOzRCQUMvQixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUNsQiw2QkFBc0IsQ0FBQyxFQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQzt5QkFDbkQsQ0FBQztxQkFDTDtpQkFDSjthQUNKLENBQUMsQ0FBQztZQUVILGtEQUFrRDtZQUNsRCxPQUFPLElBQUksc0JBQWUsQ0FDdEIsRUFBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUMsRUFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksc0JBQWUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDckUsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLE9BQU87WUFDSCwyREFBMkQ7WUFDM0QsY0FBYyxFQUFFLENBQUMsK0JBQXdCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pFLCtEQUErRDtZQUMvRCxNQUFNLEVBQUU7Z0JBQ0osT0FBTzthQUNWO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUMifQ==
;