@difizen/mana-core
Version:
72 lines (71 loc) • 2.64 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
export var MenuSymbol;
(function (_MenuSymbol) {
var MenuNodeSymbol = _MenuSymbol.MenuNodeSymbol = Symbol('MenuNodeSymbol');
var ActionMenuNodeSymbol = _MenuSymbol.ActionMenuNodeSymbol = Symbol('ActionMenuNodeSymbol');
var ParentPathSymbol = _MenuSymbol.ParentPathSymbol = Symbol('ParentPathSymbol');
})(MenuSymbol || (MenuSymbol = {}));
/**
* Factory for instantiating menu item.
*/
export var GeneralMenuItemFactory = Symbol('GeneralMenuItemFactory');
/**
* Factory for instantiating menu item.
*/
export var ActionMenuItemFactory = Symbol('ActionMenuItemFactory');
/**
* Base interface of the nodes used in the menu tree structure.
*/
export var MenuNode;
(function (_MenuNode) {
function is(arg) {
return !!arg && _typeof(arg) === 'object' && 'id' in arg;
}
_MenuNode.is = is;
})(MenuNode || (MenuNode = {}));
export var CommandMenuNode;
(function (_CommandMenuNode) {
function is(arg) {
return MenuNode.is(arg) && 'command' in arg;
}
_CommandMenuNode.is = is;
})(CommandMenuNode || (CommandMenuNode = {}));
export var ExecutableMenuNode;
(function (_ExecutableMenuNode) {
function is(arg) {
return MenuNode.is(arg) && 'execute' in arg;
}
_ExecutableMenuNode.is = is;
})(ExecutableMenuNode || (ExecutableMenuNode = {}));
export var ActionMenuNode;
(function (_ActionMenuNode) {
function is(arg) {
return CommandMenuNode.is(arg) || ExecutableMenuNode.is(arg);
}
_ActionMenuNode.is = is;
})(ActionMenuNode || (ActionMenuNode = {}));
export var MenuItem;
(function (_MenuItem) {
function isGeneralMenuItem(arg) {
return MenuNode.is(arg) && 'children' in arg && ('addNode' in arg || 'removeNode' in arg);
}
_MenuItem.isGeneralMenuItem = isGeneralMenuItem;
function isActionMenuItem(arg) {
return ActionMenuNode.is(arg) && 'command' in arg && 'onDisposed' in arg;
}
_MenuItem.isActionMenuItem = isActionMenuItem;
})(MenuItem || (MenuItem = {}));
export var ActionMenuItem;
(function (_ActionMenuItem) {
function is(arg) {
return MenuItem.isActionMenuItem(arg);
}
_ActionMenuItem.is = is;
})(ActionMenuItem || (ActionMenuItem = {}));
export var GeneralMenuItem;
(function (_GeneralMenuItem) {
function is(arg) {
return MenuItem.isGeneralMenuItem(arg);
}
_GeneralMenuItem.is = is;
})(GeneralMenuItem || (GeneralMenuItem = {}));