@launchmenu/applet-applet-manager
Version:
An applet to manage applets
36 lines • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAppletMenuItem = void 0;
const core_1 = require("@launchmenu/core");
const appletManagerPatternMatcher_1 = require("./appletManagerPatternMatcher");
/**
* Creates a new menu item for a given applet
* @param applet The applet to create the menu item for
* @param session The LM session that this applet interface is for
* @returns The created menu item
*/
function createAppletMenuItem(applet, session) {
return core_1.createStandardMenuItem({
...applet.info,
tags: ["applet", ...(applet.info.tags ? applet.info.tags : [])],
searchPattern: appletManagerPatternMatcher_1.appletManagerPatternMatcher,
onExecute: ({ context }) => {
return new Promise((res, rej) => {
var _a;
session === null || session === void 0 ? void 0 : session.selectedApplet.set(applet);
(_a = applet.open) === null || _a === void 0 ? void 0 : _a.call(applet, {
context: context instanceof core_1.IOContext ? context : new core_1.IOContext(context),
onClose: () => res(),
});
});
},
});
/**
* TODO:
* - Add reload action
* - Add enable/disable switch
* - Add category
*/
}
exports.createAppletMenuItem = createAppletMenuItem;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBwbGV0TWVudUl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlQXBwbGV0TWVudUl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBTTBCO0FBQzFCLCtFQUEwRTtBQUUxRTs7Ozs7R0FLRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLE1BQWUsRUFBRSxPQUFtQjtJQUNyRSxPQUFPLDZCQUFzQixDQUFDO1FBQzFCLEdBQUcsTUFBTSxDQUFDLElBQUk7UUFDZCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0QsYUFBYSxFQUFFLHlEQUEyQjtRQUMxQyxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUU7WUFDckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTs7Z0JBQzVCLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtnQkFDcEMsTUFBQSxNQUFNLENBQUMsSUFBSSwrQ0FBWCxNQUFNLEVBQVE7b0JBQ1YsT0FBTyxFQUNILE9BQU8sWUFBWSxnQkFBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQVMsQ0FBQyxPQUFPLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUU7aUJBQ3ZCLEVBQUU7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FDSixDQUFDLENBQUM7SUFFSDs7Ozs7T0FLRztBQUNQLENBQUM7QUF2QkQsb0RBdUJDIn0=