UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

34 lines 2.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProxiedPrioritizedMenu = void 0; const model_react_1 = require("model-react"); const PrioritizedMenu_1 = require("./PrioritizedMenu"); /** * A menu that automatically synchronizes with the specified prioritized item source */ class ProxiedPrioritizedMenu extends PrioritizedMenu_1.PrioritizedMenu { constructor(context, itemSource, config) { super(context, config); this.itemSource = itemSource; this.setupObserver(); } /** * Sets up the observer to listen to the item source */ setupObserver() { this.itemObserver = new model_react_1.Observer(hook => this.itemSource(hook)).listen((items, _, oldItems = []) => { this.removeItems(oldItems); this.addItems(items); }, true); } /** @override */ destroy() { if (super.destroy()) { this.itemObserver.destroy(); return true; } return false; } } exports.ProxiedPrioritizedMenu = ProxiedPrioritizedMenu; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJveGllZFByaW9yaXRpemVkTWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW51cy9tZW51L1Byb3hpZWRQcmlvcml0aXplZE1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXFEO0FBRXJELHVEQUFrRDtBQUlsRDs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsaUNBQWU7SUFJdkQsWUFDSSxPQUFtQixFQUNuQixVQUFrRCxFQUNsRCxNQUErQjtRQUUvQixLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDbEUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsR0FBRyxFQUFFLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUNELElBQUksQ0FDUCxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQjtJQUNULE9BQU87UUFDVixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0o7QUFuQ0Qsd0RBbUNDIn0=