@cause-911/material
Version:
Run `npm install @cause-911/material --save` to add this library to your project
105 lines • 8.88 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { NavigationEnd, Router } from '@angular/router';
var MenuVerticalComponent = /** @class */ (function () {
function MenuVerticalComponent(router) {
var _this = this;
this.router = router;
this.itemClick = new EventEmitter();
this.menuItems = [];
this.router.events.subscribe((/**
* @param {?} route
* @return {?}
*/
function (route) {
if (route instanceof NavigationEnd) {
_this.selectActiveRoute(route);
}
}));
}
/**
* @return {?}
*/
MenuVerticalComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
};
/**
* @param {?} path
* @param {?} e
* @return {?}
*/
MenuVerticalComponent.prototype.goTo = /**
* @param {?} path
* @param {?} e
* @return {?}
*/
function (path, e) {
this.router.navigate([path]);
this.itemClick.emit();
e.stopPropagation();
};
/**
* @private
* @param {?} route
* @return {?}
*/
MenuVerticalComponent.prototype.selectActiveRoute = /**
* @private
* @param {?} route
* @return {?}
*/
function (route) {
this.menuItems.forEach((/**
* @param {?} menu
* @return {?}
*/
function (menu) {
if (route.url) {
menu.activated = (route.url === menu.path || (menu.childs.length && route.url.indexOf(menu.path) > -1));
}
menu.childs.forEach((/**
* @param {?} submenu
* @return {?}
*/
function (submenu) {
if (route.url) {
submenu.activated = (route.url === submenu.path || route.urlAfterRedirects === submenu.path);
}
}));
}));
};
MenuVerticalComponent.decorators = [
{ type: Component, args: [{
selector: 'cause-menu-vertical',
template: "<h4 *ngFor=\"let menu of menuItems\" [class]=\"menu.activated ? 'selected' : ''\">\n <div (click)=\"goTo(menu.path, $event)\" class=\"menu\">\n <div *ngIf=\"menu.icon\" class=\"menu-icon\">\n <fa-icon *ngIf=\"menu.icon.filter !== undefined\" [icon]=\"menu.icon\"></fa-icon>\n <img *ngIf=\"menu.icon.filter === undefined\" [src]=\"menu.icon\" />\n </div>\n <div *ngIf=\"menu.label\" class=\"menu-caption\">\n <span>{{menu.label | translate}}</span>\n </div>\n </div>\n <div *ngIf=\"menu.childs.length && menu.activated\" class=\"submenu\">\n <div\n *ngFor=\"let submenu of menu.childs\"\n [class]=\"submenu.activated ? 'menu selected' : 'menu'\"\n (click)=\"goTo(submenu.path, $event)\">\n <div *ngIf=\"!submenu.icon\" class=\"menu-dot\">•</div>\n <div *ngIf=\"submenu.icon\" class=\"menu-icon\">\n <fa-icon *ngIf=\"submenu.icon.filter !== undefined\" [icon]=\"submenu.icon\"></fa-icon>\n <img *ngIf=\"submenu.icon.filter === undefined\" [src]=\"submenu.icon\" />\n </div>\n <div *ngIf=\"submenu.label\" class=\"menu-caption\">\n <span>{{submenu.label | translate}}</span>\n </div>\n </div>\n </div>\n</h4>\n",
styles: [".menu,.submenu{cursor:pointer}h4{margin:0;padding:0}h4 .menu{padding:1em 0;display:flex;flex-direction:row}h4 .menu>div{flex:1 1 auto;-ms-grid-row-align:center;align-self:center}.menu-dot{max-width:1.1em;text-align:center;margin-right:.5em;font-size:2em}.menu-icon{max-width:60px;text-align:center;margin-right:.5em}.submenu{margin-left:1em}.submenu .menu{padding:0;font-size:.9em;line-height:2.2em}.submenu .menu::before{content:\"\";margin-left:1.1em;width:.1em;height:2.5em;position:relative;background:#fff;margin-right:-1.17em}"]
}] }
];
/** @nocollapse */
MenuVerticalComponent.ctorParameters = function () { return [
{ type: Router }
]; };
MenuVerticalComponent.propDecorators = {
itemClick: [{ type: Output }],
menuItems: [{ type: Input }]
};
return MenuVerticalComponent;
}());
export { MenuVerticalComponent };
if (false) {
/** @type {?} */
MenuVerticalComponent.prototype.itemClick;
/** @type {?} */
MenuVerticalComponent.prototype.menuItems;
/**
* @type {?}
* @private
*/
MenuVerticalComponent.prototype.router;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS12ZXJ0aWNhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2F1c2UtOTExL21hdGVyaWFsLyIsInNvdXJjZXMiOlsibGliL21lbnUtdmVydGljYWwvbWVudS12ZXJ0aWNhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd0RDtJQVNJLCtCQUNZLE1BQWM7UUFEMUIsaUJBUUM7UUFQVyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSmhCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFLaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUzs7OztRQUFDLFVBQUMsS0FBb0I7WUFDOUMsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNoQyxLQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDakM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCx3Q0FBUTs7O0lBQVI7SUFDQSxDQUFDOzs7Ozs7SUFFRCxvQ0FBSTs7Ozs7SUFBSixVQUFLLElBQUksRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdEIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7OztJQUVPLGlEQUFpQjs7Ozs7SUFBekIsVUFBMEIsS0FBb0I7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxJQUFJO1lBQ3ZCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzRztZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsT0FBTztnQkFDdkIsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFO29CQUNYLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEc7WUFDTCxDQUFDLEVBQUMsQ0FBQztRQUNQLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBekNKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixnMENBQTZDOztpQkFFaEQ7Ozs7Z0JBUHNCLE1BQU07Ozs0QkFTeEIsTUFBTTs0QkFDTixLQUFLOztJQW1DViw0QkFBQztDQUFBLEFBMUNELElBMENDO1NBckNZLHFCQUFxQjs7O0lBQzlCLDBDQUF5Qzs7SUFDekMsMENBQW9DOzs7OztJQUdoQyx1Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge01lbnVJdGVtfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL21lbnUtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F1c2UtbWVudS12ZXJ0aWNhbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtdmVydGljYWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21lbnUtdmVydGljYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51VmVydGljYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICApIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgocm91dGU6IE5hdmlnYXRpb25FbmQpID0+IHtcbiAgICAgICAgICAgIGlmIChyb3V0ZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEFjdGl2ZVJvdXRlKHJvdXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgfVxuXG4gICAgZ29UbyhwYXRoLCBlKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXRoXSk7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoKTtcblxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0QWN0aXZlUm91dGUocm91dGU6IE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbXMuZm9yRWFjaChtZW51ID0+IHtcbiAgICAgICAgICAgIGlmIChyb3V0ZS51cmwpIHtcbiAgICAgICAgICAgICAgICBtZW51LmFjdGl2YXRlZCA9IChyb3V0ZS51cmwgPT09IG1lbnUucGF0aCB8fCAobWVudS5jaGlsZHMubGVuZ3RoICYmIHJvdXRlLnVybC5pbmRleE9mKG1lbnUucGF0aCkgPiAtMSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtZW51LmNoaWxkcy5mb3JFYWNoKHN1Ym1lbnUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3V0ZS51cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VibWVudS5hY3RpdmF0ZWQgPSAocm91dGUudXJsID09PSBzdWJtZW51LnBhdGggfHwgcm91dGUudXJsQWZ0ZXJSZWRpcmVjdHMgPT09IHN1Ym1lbnUucGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==