com.phloxui
Version:
PhloxUI Ng2+ Framework
142 lines (141 loc) • 13.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component } from '@angular/core';
import { AbstractNavMenu } from '../../AbstractNavMenu';
import { MainMenuItemProvider } from '../../../service/MainMenuItemProvider.service';
import { ObservableManager } from '../../../service/ObservableManager.service';
import { PhloxAppService } from '../../../service/PhloxAppService.service';
var /** @type {?} */ TYPE_NAME = "phx-layout-menu-top";
var /** @type {?} */ SUB_TOPIC_NAME = 'menu-top-layout';
var MenuTopLayout = /** @class */ (function (_super) {
tslib_1.__extends(MenuTopLayout, _super);
function MenuTopLayout(phloxAppService, menuItemProvider, obsvMgr) {
var _this = _super.call(this, MenuTopLayout.SUB_TOPIC_NAME, obsvMgr) || this;
if (phloxAppService !== null && typeof phloxAppService !== 'undefined') {
_this.phloxAppService = phloxAppService;
}
_this.menuItemProvider = menuItemProvider;
_this.itemModels = [];
return _this;
}
Object.defineProperty(MenuTopLayout.prototype, "app", {
get: /**
* @return {?}
*/
function () {
if (this.phloxAppService === null || typeof this.phloxAppService === 'undefined') {
return null;
}
return this.phloxAppService.getInstance();
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
MenuTopLayout.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
// Auto load menu
this.reloadMenuItems().then(function (result) {
if (result) {
}
else {
console.warn('Could not load main menu items.');
}
});
};
/**
* @return {?}
*/
MenuTopLayout.prototype.getApplication = /**
* @return {?}
*/
function () {
return this.app;
};
/**
* @return {?}
*/
MenuTopLayout.prototype.getMenuItems = /**
* @return {?}
*/
function () {
return this.itemModels;
};
/**
* @return {?}
*/
MenuTopLayout.prototype.reloadMenuItems = /**
* @return {?}
*/
function () {
var _this = this;
return this.menuItemProvider.reload().then(function (items) {
if (items === null) {
items = [];
}
_this.itemModels = items;
return Promise.resolve(true);
});
};
/**
* @param {?} item
* @return {?}
*/
MenuTopLayout.prototype.doNavigate = /**
* @param {?} item
* @return {?}
*/
function (item) {
if (item.getModel().getLink() === null || typeof item.getModel().getLink() !== 'string') {
return Promise.resolve(false);
}
return this.app.getRouter().navigate([item.getModel().getLink()]);
};
MenuTopLayout.TYPE_NAME = TYPE_NAME;
MenuTopLayout.SUB_TOPIC_NAME = SUB_TOPIC_NAME;
MenuTopLayout.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"phx-layout-menu-top\">\n\t<div class=\"container-fluid\">\n\t\t<div class=\"phlox-app-pane-wrapper\">\n\t\t\t<div class=\"phlox-app-pane\">\n\t\t\t\t<div class=\"logo\"></div>\n\t\t\t\t<h3 class=\"label\">\n\t\t\t\t\t{{ getApplication().getAppInfo().name }}\n\t\t\t\t\t<small>{{ getApplication().getAppInfo().tagline }}</small>\n\t\t\t\t</h3>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"phx-app-switcher-wrapper\">\n\t\t\t <phx-app-switcher></phx-app-switcher>\n\t\t</div>\n\t\t<div class=\"phlox-main-nav-wrapper\">\n\t\t\t<div class=\"phlox-main-nav\">\n\t\t\t\t<div class=\"phx-menu-top-item\" *ngFor=\"let item of getMenuItems()\" [layout]=\"this\" [model]=\"item\"></div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"phx-addon-drawer-wrapper\">\n\t\t\t<div class=\"bg-border\">\n\t\t\t\t<!-- fake bg with border-->\n\t\t\t</div>\n\t\t\t<phx-addon-drawer></phx-addon-drawer>\n\t\t</div>\n\t\t<div class=\"phlox-notifier-wrapper\">\n\t\t\t<phx-notifier></phx-notifier>\n\t\t</div>\n\t</div>\n</div>\n"
},] },
];
/** @nocollapse */
MenuTopLayout.ctorParameters = function () { return [
{ type: PhloxAppService, },
{ type: MainMenuItemProvider, },
{ type: ObservableManager, },
]; };
return MenuTopLayout;
}(AbstractNavMenu));
export { MenuTopLayout };
function MenuTopLayout_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MenuTopLayout.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MenuTopLayout.ctorParameters;
/** @type {?} */
MenuTopLayout.TYPE_NAME;
/** @type {?} */
MenuTopLayout.SUB_TOPIC_NAME;
/** @type {?} */
MenuTopLayout.prototype.phloxAppService;
/** @type {?} */
MenuTopLayout.prototype.menuItemProvider;
/** @type {?} */
MenuTopLayout.prototype.itemModels;
}
export { PhloxAddonDrawer } from './menu.internal/PhloxAddonDrawer.component';
export { PhloxNotifier } from './menu.internal/PhloxNotifier.component';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVudVRvcExheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvcGFnZS9tYWluL01lbnVUb3BMYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFJL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUzRSxxQkFBTSxTQUFTLEdBQVcscUJBQXFCLENBQUM7QUFFaEQscUJBQU0sY0FBYyxHQUFXLGlCQUFpQixDQUFDOztJQXFDZCx5Q0FBNEI7SUFpQjdELHVCQUFZLGVBQWdDLEVBQUUsZ0JBQXNDLEVBQUUsT0FBMEI7UUFBaEgsWUFDRSxrQkFBTSxhQUFhLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxTQU83QztRQUxDLEVBQUUsQ0FBQyxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksT0FBTyxlQUFlLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN2RSxLQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztTQUN4QztRQUNELEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxLQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQzs7S0FDdEI7MEJBZlcsOEJBQUc7Ozs7O1lBQ2IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDYjtZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDOzs7Ozs7OztJQWFyQyxnQ0FBUTs7OztRQUNiLGlCQUFNLFFBQVEsV0FBRSxDQUFDOztRQUdqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQUMsTUFBTTtZQUNqQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ1o7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7YUFDakQ7U0FDRixDQUFDLENBQUM7Ozs7O0lBR0Usc0NBQWM7Ozs7UUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Ozs7O0lBR1gsb0NBQVk7Ozs7UUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Ozs7O0lBR2xCLHVDQUFlOzs7OztRQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLEtBQTBCO1lBQ3BFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixLQUFLLEdBQUcsRUFBRSxDQUFDO2FBQ1o7WUFFRCxLQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUV4QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QixDQUFDLENBQUM7Ozs7OztJQUdFLGtDQUFVOzs7O2NBQUMsSUFBaUI7UUFDakMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQzs7OEJBOUR6QixTQUFTO21DQUVKLGNBQWM7O2dCQXZDL0QsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSx5L0JBOEJYO2lCQUNBOzs7O2dCQXhDUSxlQUFlO2dCQUZmLG9CQUFvQjtnQkFDcEIsaUJBQWlCOzt3QkFSMUI7RUFrRG1DLGVBQWU7U0FBckMsYUFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvRTFCLGlDQUFjLDRDQUE0QyxDQUFDO0FBQzNELDhCQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElBcHBsaWNhdGlvbkF3YXJlIH0gZnJvbSAnLi4vLi4vSUFwcGxpY2F0aW9uQXdhcmUnO1xuaW1wb3J0IHsgUGhsb3hBcHAgfSBmcm9tICcuLi8uLi9QaGxveEFwcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3ROYXZNZW51IH0gZnJvbSAnLi4vLi4vQWJzdHJhY3ROYXZNZW51JztcbmltcG9ydCB7IE1lbnVUb3BJdGVtIH0gZnJvbSAnLi9NZW51VG9wSXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGhsb3hNYWluTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBNYWluTWVudUl0ZW1Qcm92aWRlciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvTWFpbk1lbnVJdGVtUHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvT2JzZXJ2YWJsZU1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQaGxveEFwcFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL1BobG94QXBwU2VydmljZS5zZXJ2aWNlJztcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcInBoeC1sYXlvdXQtbWVudS10b3BcIjtcblxuY29uc3QgU1VCX1RPUElDX05BTUU6IHN0cmluZyA9ICdtZW51LXRvcC1sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicGh4LWxheW91dC1tZW51LXRvcFwiPlxuXHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG5cdFx0PGRpdiBjbGFzcz1cInBobG94LWFwcC1wYW5lLXdyYXBwZXJcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJwaGxveC1hcHAtcGFuZVwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibG9nb1wiPjwvZGl2PlxuXHRcdFx0XHQ8aDMgY2xhc3M9XCJsYWJlbFwiPlxuXHRcdFx0XHRcdHt7IGdldEFwcGxpY2F0aW9uKCkuZ2V0QXBwSW5mbygpLm5hbWUgfX1cblx0XHRcdFx0XHQ8c21hbGw+e3sgZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkudGFnbGluZSB9fTwvc21hbGw+XG5cdFx0XHRcdDwvaDM+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwicGh4LWFwcC1zd2l0Y2hlci13cmFwcGVyXCI+XG5cdFx0XHQgPHBoeC1hcHAtc3dpdGNoZXI+PC9waHgtYXBwLXN3aXRjaGVyPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJwaGxveC1tYWluLW5hdi13cmFwcGVyXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwicGhsb3gtbWFpbi1uYXZcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cInBoeC1tZW51LXRvcC1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TWVudUl0ZW1zKClcIiBbbGF5b3V0XT1cInRoaXNcIiBbbW9kZWxdPVwiaXRlbVwiPjwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cInBoeC1hZGRvbi1kcmF3ZXItd3JhcHBlclwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImJnLWJvcmRlclwiPlxuXHRcdFx0XHQ8IS0tIGZha2UgYmcgd2l0aCBib3JkZXItLT5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PHBoeC1hZGRvbi1kcmF3ZXI+PC9waHgtYWRkb24tZHJhd2VyPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJwaGxveC1ub3RpZmllci13cmFwcGVyXCI+XG5cdFx0XHQ8cGh4LW5vdGlmaWVyPjwvcGh4LW5vdGlmaWVyPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuYFxufSlcbmV4cG9ydCBjbGFzcyBNZW51VG9wTGF5b3V0IGV4dGVuZHMgQWJzdHJhY3ROYXZNZW51PE1lbnVUb3BJdGVtPiBpbXBsZW1lbnRzIElBcHBsaWNhdGlvbkF3YXJlLCBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVUJfVE9QSUNfTkFNRTogc3RyaW5nID0gU1VCX1RPUElDX05BTUU7XG5cbiAgcHJpdmF0ZSBwaGxveEFwcFNlcnZpY2U6IFBobG94QXBwU2VydmljZTtcbiAgcHJpdmF0ZSBtZW51SXRlbVByb3ZpZGVyOiBNYWluTWVudUl0ZW1Qcm92aWRlcjtcbiAgcHJpdmF0ZSBpdGVtTW9kZWxzOiBQaGxveE1haW5NZW51SXRlbVtdO1xuXG4gIHByaXZhdGUgZ2V0IGFwcCgpOiBQaGxveEFwcCB7XG4gICAgaWYgKHRoaXMucGhsb3hBcHBTZXJ2aWNlID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLnBobG94QXBwU2VydmljZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5waGxveEFwcFNlcnZpY2UuZ2V0SW5zdGFuY2UoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHBobG94QXBwU2VydmljZTogUGhsb3hBcHBTZXJ2aWNlLCBtZW51SXRlbVByb3ZpZGVyOiBNYWluTWVudUl0ZW1Qcm92aWRlciwgb2Jzdk1ncjogT2JzZXJ2YWJsZU1hbmFnZXIpIHtcbiAgICBzdXBlcihNZW51VG9wTGF5b3V0LlNVQl9UT1BJQ19OQU1FLCBvYnN2TWdyKTtcblxuICAgIGlmIChwaGxveEFwcFNlcnZpY2UgIT09IG51bGwgJiYgdHlwZW9mIHBobG94QXBwU2VydmljZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMucGhsb3hBcHBTZXJ2aWNlID0gcGhsb3hBcHBTZXJ2aWNlO1xuICAgIH1cbiAgICB0aGlzLm1lbnVJdGVtUHJvdmlkZXIgPSBtZW51SXRlbVByb3ZpZGVyO1xuICAgIHRoaXMuaXRlbU1vZGVscyA9IFtdO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAvLyBBdXRvIGxvYWQgbWVudVxuICAgIHRoaXMucmVsb2FkTWVudUl0ZW1zKCkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBsb2FkIG1haW4gbWVudSBpdGVtcy4nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcHBsaWNhdGlvbigpOiBQaGxveEFwcCB7XG4gICAgcmV0dXJuIHRoaXMuYXBwO1xuICB9XG5cbiAgcHVibGljIGdldE1lbnVJdGVtcygpOiBQaGxveE1haW5NZW51SXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtTW9kZWxzO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZE1lbnVJdGVtcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbVByb3ZpZGVyLnJlbG9hZCgpLnRoZW4oKGl0ZW1zOiBQaGxveE1haW5NZW51SXRlbVtdKSA9PiB7XG4gICAgICBpZiAoaXRlbXMgPT09IG51bGwpIHtcbiAgICAgICAgaXRlbXMgPSBbXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pdGVtTW9kZWxzID0gaXRlbXM7XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZG9OYXZpZ2F0ZShpdGVtOiBNZW51VG9wSXRlbSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmIChpdGVtLmdldE1vZGVsKCkuZ2V0TGluaygpID09PSBudWxsIHx8IHR5cGVvZiBpdGVtLmdldE1vZGVsKCkuZ2V0TGluaygpICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBwLmdldFJvdXRlcigpLm5hdmlnYXRlKFtpdGVtLmdldE1vZGVsKCkuZ2V0TGluaygpXSk7XG4gIH1cbn1cblxuZXhwb3J0ICogZnJvbSAnLi9tZW51LmludGVybmFsL1BobG94QWRkb25EcmF3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS5pbnRlcm5hbC9QaGxveE5vdGlmaWVyLmNvbXBvbmVudCc7XG4iXX0=