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