UNPKG

ngx-pluto

Version:
140 lines 8.38 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Renderer2, ElementRef, ViewEncapsulation } from '@angular/core'; import { Router } from '@angular/router'; /** * 侧边菜单 * * Example of usage: * <example-url>https://stackblitz.com/edit/x-button?embed=1&file=src/app/app.component.ts</example-url> */ var NpSideNav = /** @class */ (function () { function NpSideNav(renderer2, el, router) { this.renderer2 = renderer2; this.el = el; this.router = router; this.items = []; } /** * @return {?} */ NpSideNav.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @param {?} changes * @return {?} */ NpSideNav.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { }; /** * @return {?} */ NpSideNav.prototype.ngAfterViewInit = /** * @return {?} */ function () { }; /** * @param {?} item * @return {?} */ NpSideNav.prototype.onItemClicked = /** * @param {?} item * @return {?} */ function (item) { item.expanded = !item.expanded; if (item.route) { this.router.navigate([item.route]); } }; NpSideNav.decorators = [ { type: Component, args: [{ selector: "np-sidenav", template: "<div class=\"np-sidenav-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"sidenavItem; context: { items: items }\">\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #sidenavItem let-items=\"items\">\r\n <div class=\"sidenav-item-wrapper\" *ngFor=\"let item of items\">\r\n <div class=\"sidenav-item flex-wrap row-flex\" (click)=\"onItemClicked(item)\">\r\n <i class=\"sidenav-icon\" [class]=\"item.iconName\" *ngIf=\"item.iconName\"></i>\r\n <span>{{ item.displayName }}</span>\r\n <i *ngIf=\"item.children && item.children.length > 0\" class=\"fa right-arrow\" [ngClass]=\"{'fa-angle-left': !item.expanded, \r\n 'fa-angle-down': item.expanded}\"></i>\r\n </div>\r\n\r\n <ng-container *ngIf=\"item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"sidenavItem; context: { items: item.children }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", encapsulation: ViewEncapsulation.None, styles: [".np-sidenav-wrapper{display:inline-block;width:100%}.np-sidenav-wrapper .sidenav-item-wrapper{font-size:16px;font-weight:500;padding:8px 0 8px 15px}.np-sidenav-wrapper .sidenav-item-wrapper .sidenav-item{align-items:center;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.np-sidenav-wrapper .sidenav-item-wrapper .sidenav-item>span{margin:0 15px}.np-sidenav-wrapper .sidenav-item-wrapper .sidenav-item .right-arrow{position:absolute;top:50%;right:0;transform:translateY(-50%)}"] }] } ]; /** @nocollapse */ NpSideNav.ctorParameters = function () { return [ { type: Renderer2 }, { type: ElementRef }, { type: Router } ]; }; NpSideNav.propDecorators = { items: [{ type: Input }] }; return NpSideNav; }()); export { NpSideNav }; if (false) { /** @type {?} */ NpSideNav.prototype.items; /** * @type {?} * @private */ NpSideNav.prototype.renderer2; /** * @type {?} * @private */ NpSideNav.prototype.el; /** * @type {?} * @private */ NpSideNav.prototype.router; } /** * @record */ export function NpSideNavItem() { } if (false) { /** * 唯一id标识 * @type {?} */ NpSideNavItem.prototype.id; /** * 菜单名称 * @type {?} */ NpSideNavItem.prototype.displayName; /** * 菜单fa icon, * @type {?|undefined} */ NpSideNavItem.prototype.iconName; /** * 菜单跳转路由 * @type {?|undefined} */ NpSideNavItem.prototype.route; /** * 需要高亮的路由数组,包含在此数组中的路由都会高亮当前route * @type {?|undefined} */ NpSideNavItem.prototype.highlightRoutes; /** * 子菜单数组 * @type {?|undefined} */ NpSideNavItem.prototype.children; /** * 是否展开当前菜单 * @type {?|undefined} */ NpSideNavItem.prototype.expanded; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wbHV0by8iLCJzb3VyY2VzIjpbImxpYi9zaWRlbmF2L3NpZGVuYXYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTBDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQVF6QztJQVlFLG1CQUFvQixTQUFvQixFQUM5QixFQUFjLEVBQ2QsTUFBYztRQUZKLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFMZixVQUFLLEdBQW9CLEVBQUUsQ0FBQztJQU1yQyxDQUFDOzs7O0lBRUQsNEJBQVE7OztJQUFSO0lBRUEsQ0FBQzs7Ozs7SUFFRCwrQkFBVzs7OztJQUFYLFVBQVksT0FBc0I7SUFFbEMsQ0FBQzs7OztJQUVELG1DQUFlOzs7SUFBZjtJQUNBLENBQUM7Ozs7O0lBRUQsaUNBQWE7Ozs7SUFBYixVQUFjLElBQW1CO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDOztnQkFqQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixrNkJBQTJCO29CQUUzQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7aUJBQ3RDOzs7O2dCQWRrQyxTQUFTO2dCQUFFLFVBQVU7Z0JBQy9DLE1BQU07Ozt3QkFpQlosS0FBSzs7SUF5QlIsZ0JBQUM7Q0FBQSxBQWxDRCxJQWtDQztTQTNCWSxTQUFTOzs7SUFFcEIsMEJBQXFDOzs7OztJQUd6Qiw4QkFBNEI7Ozs7O0lBQ3RDLHVCQUFzQjs7Ozs7SUFDdEIsMkJBQXNCOzs7OztBQXNCMUIsbUNBZUM7Ozs7OztJQWJDLDJCQUFvQjs7Ozs7SUFFcEIsb0NBQW9COzs7OztJQUVwQixpQ0FBa0I7Ozs7O0lBRWxCLDhCQUFlOzs7OztJQUVmLHdDQUEyQjs7Ozs7SUFFM0IsaUNBQTJCOzs7OztJQUUzQixpQ0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG4vKipcclxuICog5L6n6L656I+c5Y2VXHJcbiAqIFxyXG4gKiBFeGFtcGxlIG9mIHVzYWdlOlxyXG4gKiA8ZXhhbXBsZS11cmw+aHR0cHM6Ly9zdGFja2JsaXR6LmNvbS9lZGl0L3gtYnV0dG9uP2VtYmVkPTEmZmlsZT1zcmMvYXBwL2FwcC5jb21wb25lbnQudHM8L2V4YW1wbGUtdXJsPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGBucC1zaWRlbmF2YCxcclxuICB0ZW1wbGF0ZVVybDogJ3NpZGVuYXYuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ3NpZGVuYXYuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBOcFNpZGVOYXYgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBpdGVtczogTnBTaWRlTmF2SXRlbVtdID0gW107XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1DbGlja2VkKGl0ZW06IE5wU2lkZU5hdkl0ZW0pIHtcclxuICAgIGl0ZW0uZXhwYW5kZWQgPSAhaXRlbS5leHBhbmRlZDtcclxuICAgIGlmIChpdGVtLnJvdXRlKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtpdGVtLnJvdXRlXSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5wU2lkZU5hdkl0ZW0ge1xyXG4gIC8qKuWUr+S4gGlk5qCH6K+GICovXHJcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAvKiroj5zljZXlkI3np7AgKi9cclxuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIC8qKuiPnOWNlWZhIGljb27vvIwgKi9cclxuICBpY29uTmFtZT86IHN0cmluZztcclxuICAvKiroj5zljZXot7Povazot6/nlLEgKi9cclxuICByb3V0ZT86IHN0cmluZztcclxuICAvKirpnIDopoHpq5jkuq7nmoTot6/nlLHmlbDnu4TvvIzljIXlkKvlnKjmraTmlbDnu4TkuK3nmoTot6/nlLHpg73kvJrpq5jkuq7lvZPliY1yb3V0ZSAqL1xyXG4gIGhpZ2hsaWdodFJvdXRlcz86IHN0cmluZ1tdO1xyXG4gIC8qKuWtkOiPnOWNleaVsOe7hCAqL1xyXG4gIGNoaWxkcmVuPzogTnBTaWRlTmF2SXRlbVtdO1xyXG4gIC8qKuaYr+WQpuWxleW8gOW9k+WJjeiPnOWNlSAqL1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuIl19