UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

110 lines (109 loc) 11.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { DefaultMenuItem } from '../DefaultMenuItem.component'; import { DefaultMenu } from '../DefaultMenu.component'; import { MenuItemModel } from '../model/MenuItemModel'; import { MenuModel } from '../model/MenuModel'; import { ActionModelMenu } from '../model/ActionModelMenu'; var DefaultActionModelMenuFactory = /** @class */ (function () { function DefaultActionModelMenuFactory() { } /** * @param {?} anyModel * @param {?} context * @return {?} */ DefaultActionModelMenuFactory.prototype.getMenuItemModels = /** * @param {?} anyModel * @param {?} context * @return {?} */ function (anyModel, context) { var /** @type {?} */ menuItemModelArray = []; if (anyModel === null || typeof anyModel === 'undefined') { return menuItemModelArray; } var /** @type {?} */ menuItems = []; if (anyModel instanceof ActionModelMenu) { var /** @type {?} */ actionMenu = /** @type {?} */ (anyModel); menuItems = actionMenu.items; } var _loop_1 = function (action) { if (action.isShow === null) { return "continue"; } if (typeof action.isShow !== 'function') { return "continue"; } if (!action.isShow(context)) { return "continue"; } var /** @type {?} */ isEnable = true; var /** @type {?} */ menuItem = null; var /** @type {?} */ actionItems = this_1.getMenuItemModels(action, context); if (actionItems.length > 0) { // is menu menuItem = new MenuModel(DefaultMenu, action.label, actionItems, action.menuModelFactory); } else { // is item menuItem = new MenuItemModel(DefaultMenuItem, action.label, isEnable, function (actionEvent) { if (!isEnable) { return; } action.actionPerformedHandler.call(null, actionEvent); }); } if (menuItem !== null) { menuItemModelArray.push(menuItem); } }; var this_1 = this; try { for (var menuItems_1 = tslib_1.__values(menuItems), menuItems_1_1 = menuItems_1.next(); !menuItems_1_1.done; menuItems_1_1 = menuItems_1.next()) { var action = menuItems_1_1.value; _loop_1(action); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (menuItems_1_1 && !menuItems_1_1.done && (_a = menuItems_1.return)) _a.call(menuItems_1); } finally { if (e_1) throw e_1.error; } } return menuItemModelArray; var e_1, _a; }; /** * @param {?} context * @return {?} */ DefaultActionModelMenuFactory.prototype.createMenuModel = /** * @param {?} context * @return {?} */ function (context) { var /** @type {?} */ menuItemModelArray = []; if (context === null || typeof context === 'undefined') { return new MenuModel(DefaultMenuItem, 'action Menu', menuItemModelArray); } var /** @type {?} */ anyContext = context; if (typeof anyContext.getModel !== 'function') { return new MenuModel(DefaultMenuItem, 'action Menu', menuItemModelArray); } var /** @type {?} */ anyModel = anyContext.getModel(); if (anyModel === null || typeof anyModel === 'undefined') { return new MenuModel(DefaultMenuItem, 'action Menu', menuItemModelArray); } menuItemModelArray = this.getMenuItemModels(anyModel, context); var /** @type {?} */ model = new MenuModel(DefaultMenuItem, 'action Menu', menuItemModelArray); return model; }; return DefaultActionModelMenuFactory; }()); export { DefaultActionModelMenuFactory }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEFjdGlvbk1vZGVsTWVudUZhY3RvcnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZWRpdG9yL0RlZmF1bHRBY3Rpb25Nb2RlbE1lbnVGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxJQUFBOzs7Ozs7OztJQUVZLHlEQUFpQjs7Ozs7Y0FBQyxRQUFhLEVBQUUsT0FBaUI7UUFDdEQscUJBQUksa0JBQWtCLEdBQW9CLEVBQUUsQ0FBQztRQUU3QyxFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1NBQzdCO1FBRUQscUJBQUksU0FBUyxHQUFVLEVBQUUsQ0FBQztRQUMxQixFQUFFLENBQUEsQ0FBQyxRQUFRLFlBQWEsZUFBZSxDQUFDLENBQUEsQ0FBQztZQUNyQyxxQkFBSSxVQUFVLHFCQUFHLFFBQTJCLENBQUEsQ0FBQztZQUU3QyxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztTQUNoQztnQ0FFUSxNQUFNO1lBQ1gsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDOzthQUU1QjtZQUVELEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDOzthQUV6QztZQUVELEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7O2FBRTdCO1lBRUQscUJBQUksUUFBUSxHQUFZLElBQUksQ0FBQztZQUU3QixxQkFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLHFCQUFJLFdBQVcsR0FBRyxPQUFLLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUUxRCxFQUFFLENBQUEsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBLENBQUM7O2dCQUV2QixRQUFRLEdBQUcsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzdGO1lBQUMsSUFBSSxDQUFDLENBQUM7O2dCQUVKLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBQyxXQUFnQjtvQkFDbkYsRUFBRSxDQUFBLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQSxDQUFDO3dCQUNWLE1BQU0sQ0FBQztxQkFDVjtvQkFDRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztpQkFDekQsQ0FBQyxDQUFDO2FBQ047WUFFRCxFQUFFLENBQUEsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUEsQ0FBQztnQkFDbEIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3JDOzs7O1lBakNMLEdBQUcsQ0FBQyxDQUFlLElBQUEsY0FBQSxpQkFBQSxTQUFTLENBQUEsb0NBQUE7Z0JBQXZCLElBQUksTUFBTSxzQkFBQTt3QkFBTixNQUFNO2FBa0NkOzs7Ozs7Ozs7UUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUM7Ozs7Ozs7SUFHdkIsdURBQWU7Ozs7Y0FBQyxPQUFpQjtRQUNwQyxxQkFBSSxrQkFBa0IsR0FBb0IsRUFBRSxDQUFDO1FBRTdDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1NBQzVFO1FBRUQscUJBQUksVUFBVSxHQUFRLE9BQU8sQ0FBQztRQUU5QixFQUFFLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1NBQzVFO1FBRUQscUJBQUksUUFBUSxHQUFRLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUxQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztTQUM1RTtRQUVELGtCQUFrQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFHL0QscUJBQUksS0FBSyxHQUFjLElBQUksU0FBUyxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUV6RixNQUFNLENBQUMsS0FBSyxDQUFDOzt3Q0F6RnJCO0lBMkZDLENBQUE7QUFqRkQseUNBaUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1lbnVNb2RlbEZhY3RvcnkgfSBmcm9tICcuLi9JTWVudU1vZGVsRmFjdG9yeSc7XG5pbXBvcnQgeyBJQ29udGV4dCB9IGZyb20gJy4uL0lDb250ZXh0JztcbmltcG9ydCB7IERlZmF1bHRNZW51SXRlbSB9IGZyb20gJy4uL0RlZmF1bHRNZW51SXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVmYXVsdE1lbnUgfSBmcm9tICcuLi9EZWZhdWx0TWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudUl0ZW1Nb2RlbCB9IGZyb20gJy4uL21vZGVsL01lbnVJdGVtTW9kZWwnO1xuaW1wb3J0IHsgTWVudU1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvTWVudU1vZGVsJztcbmltcG9ydCB7IEFjdGlvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvQWN0aW9uTW9kZWwnO1xuaW1wb3J0IHsgQWN0aW9uTW9kZWxNZW51IH0gZnJvbSAnLi4vbW9kZWwvQWN0aW9uTW9kZWxNZW51JztcbmltcG9ydCB7IEFjdGlvbkJ1dHRvbiB9IGZyb20gJy4vZWRpdG9yLmludGVybmFsL0FjdGlvbkJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdEFjdGlvbk1vZGVsTWVudUZhY3RvcnkgaW1wbGVtZW50cyBJTWVudU1vZGVsRmFjdG9yeSB7XG5cbiAgICBwcml2YXRlIGdldE1lbnVJdGVtTW9kZWxzKGFueU1vZGVsOiBhbnksIGNvbnRleHQ6IElDb250ZXh0KTogTWVudUl0ZW1Nb2RlbFtde1xuICAgICAgICBsZXQgbWVudUl0ZW1Nb2RlbEFycmF5OiBNZW51SXRlbU1vZGVsW10gPSBbXTtcblxuICAgICAgICBpZiAoYW55TW9kZWwgPT09IG51bGwgfHwgdHlwZW9mIGFueU1vZGVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG1lbnVJdGVtTW9kZWxBcnJheTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBtZW51SXRlbXM6IGFueVtdID0gW107XG4gICAgICAgIGlmKGFueU1vZGVsIGluc3RhbmNlb2YgIEFjdGlvbk1vZGVsTWVudSl7XG4gICAgICAgICAgICBsZXQgYWN0aW9uTWVudSA9IGFueU1vZGVsIGFzIEFjdGlvbk1vZGVsTWVudTtcblxuICAgICAgICAgICAgbWVudUl0ZW1zID0gYWN0aW9uTWVudS5pdGVtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGFjdGlvbiBvZiBtZW51SXRlbXMpIHtcbiAgICAgICAgICAgIGlmIChhY3Rpb24uaXNTaG93ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgYWN0aW9uLmlzU2hvdyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghYWN0aW9uLmlzU2hvdyhjb250ZXh0KSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgaXNFbmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgICAgICAgICBsZXQgbWVudUl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgbGV0IGFjdGlvbkl0ZW1zID0gdGhpcy5nZXRNZW51SXRlbU1vZGVscyhhY3Rpb24sIGNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZihhY3Rpb25JdGVtcy5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgICAgICAvLyBpcyBtZW51XG4gICAgICAgICAgICAgICAgbWVudUl0ZW0gPSBuZXcgTWVudU1vZGVsKERlZmF1bHRNZW51LCBhY3Rpb24ubGFiZWwsIGFjdGlvbkl0ZW1zLCBhY3Rpb24ubWVudU1vZGVsRmFjdG9yeSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGlzIGl0ZW1cbiAgICAgICAgICAgICAgICBtZW51SXRlbSA9IG5ldyBNZW51SXRlbU1vZGVsKERlZmF1bHRNZW51SXRlbSwgYWN0aW9uLmxhYmVsLCBpc0VuYWJsZSwgKGFjdGlvbkV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYoIWlzRW5hYmxlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uYWN0aW9uUGVyZm9ybWVkSGFuZGxlci5jYWxsKG51bGwsIGFjdGlvbkV2ZW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYobWVudUl0ZW0gIT09IG51bGwpe1xuICAgICAgICAgICAgICAgIG1lbnVJdGVtTW9kZWxBcnJheS5wdXNoKG1lbnVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtZW51SXRlbU1vZGVsQXJyYXk7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZU1lbnVNb2RlbChjb250ZXh0OiBJQ29udGV4dCk6IE1lbnVNb2RlbCB7XG4gICAgICAgIGxldCBtZW51SXRlbU1vZGVsQXJyYXk6IE1lbnVJdGVtTW9kZWxbXSA9IFtdO1xuXG4gICAgICAgIGlmIChjb250ZXh0ID09PSBudWxsIHx8IHR5cGVvZiBjb250ZXh0ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNZW51TW9kZWwoRGVmYXVsdE1lbnVJdGVtLCAnYWN0aW9uIE1lbnUnLCBtZW51SXRlbU1vZGVsQXJyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGFueUNvbnRleHQ6IGFueSA9IGNvbnRleHQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhbnlDb250ZXh0LmdldE1vZGVsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE1lbnVNb2RlbChEZWZhdWx0TWVudUl0ZW0sICdhY3Rpb24gTWVudScsIG1lbnVJdGVtTW9kZWxBcnJheSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYW55TW9kZWw6IGFueSA9IGFueUNvbnRleHQuZ2V0TW9kZWwoKTtcblxuICAgICAgICBpZiAoYW55TW9kZWwgPT09IG51bGwgfHwgdHlwZW9mIGFueU1vZGVsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNZW51TW9kZWwoRGVmYXVsdE1lbnVJdGVtLCAnYWN0aW9uIE1lbnUnLCBtZW51SXRlbU1vZGVsQXJyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgbWVudUl0ZW1Nb2RlbEFycmF5ID0gdGhpcy5nZXRNZW51SXRlbU1vZGVscyhhbnlNb2RlbCwgY29udGV4dCk7XG5cblxuICAgICAgICBsZXQgbW9kZWw6IE1lbnVNb2RlbCA9IG5ldyBNZW51TW9kZWwoRGVmYXVsdE1lbnVJdGVtLCAnYWN0aW9uIE1lbnUnLCBtZW51SXRlbU1vZGVsQXJyYXkpO1xuXG4gICAgICAgIHJldHVybiBtb2RlbDtcbiAgICB9XG59XG4iXX0=