@difizen/mana-core
Version:
31 lines • 1.14 kB
JavaScript
import { ManaModule } from "../module";
import { DefaultActionMenuItem, DefaultGeneralMenuItem } from "./default-menu-node";
import { GeneralMenuItemFactory } from "./menu-protocol";
import { ActionMenuItemFactory } from "./menu-protocol";
import { MenuSymbol } from "./menu-protocol";
import { MenuRegistry, MenuContribution } from "./menu-registry";
export var MenuModule = ManaModule.create().contribution(MenuContribution).register(MenuRegistry, DefaultGeneralMenuItem, DefaultActionMenuItem).register({
token: GeneralMenuItemFactory,
useDynamic: function useDynamic(ctx) {
return function (item) {
var child = ctx.container.createChild();
child.register({
token: MenuSymbol.MenuNodeSymbol,
useValue: item
});
return child.get(DefaultGeneralMenuItem);
};
}
}).register({
token: ActionMenuItemFactory,
useDynamic: function useDynamic(ctx) {
return function (item) {
var child = ctx.container.createChild();
child.register({
token: MenuSymbol.ActionMenuNodeSymbol,
useValue: item
});
return child.get(DefaultActionMenuItem);
};
}
});