xui
Version:
xUI Components for Angular
39 lines • 6.27 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
import { SubmenuService } from '../submenu.service';
import { InputBoolean } from '../../utils';
import * as i0 from "@angular/core";
import * as i1 from "../submenu.service";
import * as i2 from "@angular/common";
import * as i3 from "../../icon/icon.component";
export class SubMenuComponent {
constructor(submenuService) {
this.submenuService = submenuService;
this.open = false;
this.openChange = new EventEmitter();
this.paddingLeft = this.submenuService.level * 24;
}
toggleSubmenu() {
this.open = !this.open;
this.openChange.emit();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SubMenuComponent, deps: [{ token: i1.SubmenuService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SubMenuComponent, selector: "xui-submenu", inputs: { title: "title", icon: "icon", open: "open" }, outputs: { openChange: "openChange" }, providers: [SubmenuService], ngImport: i0, template: "<div class=\"x-submenu-entry x-menu-hover\" [style.paddingLeft.px]=\"paddingLeft\" (click)=\"toggleSubmenu()\">\n <div class=\"x-submenu-title x-menu-item\">\n <ng-container *ngIf=\"icon\">\n <xui-icon>{{ icon }}</xui-icon>\n </ng-container>\n {{ title }}\n </div>\n\n <xui-icon>{{ this.open ? 'chevron-down' : 'chevron-up' }}</xui-icon>\n</div>\n<ng-content *ngIf=\"this.open\"></ng-content>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "xui-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], SubMenuComponent.prototype, "open", void 0);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SubMenuComponent, decorators: [{
type: Component,
args: [{ selector: 'xui-submenu', providers: [SubmenuService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-submenu-entry x-menu-hover\" [style.paddingLeft.px]=\"paddingLeft\" (click)=\"toggleSubmenu()\">\n <div class=\"x-submenu-title x-menu-item\">\n <ng-container *ngIf=\"icon\">\n <xui-icon>{{ icon }}</xui-icon>\n </ng-container>\n {{ title }}\n </div>\n\n <xui-icon>{{ this.open ? 'chevron-down' : 'chevron-up' }}</xui-icon>\n</div>\n<ng-content *ngIf=\"this.open\"></ng-content>\n" }]
}], ctorParameters: function () { return [{ type: i1.SubmenuService }]; }, propDecorators: { title: [{
type: Input
}], icon: [{
type: Input
}], open: [{
type: Input
}], openChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3h1aS9zcmMvbWVudS9zdWJtZW51L3N1Ym1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy94dWkvc3JjL21lbnUvc3VibWVudS9zdWJtZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQVkzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUx6QixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxRSxnQkFBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVRLENBQUM7SUFFdEQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FmVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixxSUFQaEIsQ0FBQyxjQUFjLENBQUMsMEJDUDdCLDZaQVdBOztBRFEyQjtJQUFmLFlBQVksRUFBRTs7OENBQWM7MkZBTDNCLGdCQUFnQjtrQkFUNUIsU0FBUzsrQkFDRSxhQUFhLGFBQ1osQ0FBQyxjQUFjLENBQUMsbUJBRVYsdUJBQXVCLENBQUMsTUFBTTtxR0FRdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDbUIsSUFBSTtzQkFBNUIsS0FBSztnQkFDYSxVQUFVO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJtZW51U2VydmljZSB9IGZyb20gJy4uL3N1Ym1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWktc3VibWVudScsXG4gIHByb3ZpZGVyczogW1N1Ym1lbnVTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1Ym1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxuICAvLyBob3N0OiB7XG4gIC8vICdbc3R5bGUucGFkZGluZ0xlZnQucHhdJzogJ3BhZGRpbmdMZWZ0J1xuICAvLyB9XG59KVxuZXhwb3J0IGNsYXNzIFN1Yk1lbnVDb21wb25lbnQge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfb3BlbjogQm9vbGVhbklucHV0O1xuXG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uITogc3RyaW5nO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgb3BlbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgb3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHBhZGRpbmdMZWZ0ID0gdGhpcy5zdWJtZW51U2VydmljZS5sZXZlbCAqIDI0O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3VibWVudVNlcnZpY2U6IFN1Ym1lbnVTZXJ2aWNlKSB7fVxuXG4gIHRvZ2dsZVN1Ym1lbnUoKSB7XG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwieC1zdWJtZW51LWVudHJ5IHgtbWVudS1ob3ZlclwiIFtzdHlsZS5wYWRkaW5nTGVmdC5weF09XCJwYWRkaW5nTGVmdFwiIChjbGljayk9XCJ0b2dnbGVTdWJtZW51KClcIj5cbiAgPGRpdiBjbGFzcz1cIngtc3VibWVudS10aXRsZSB4LW1lbnUtaXRlbVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpY29uXCI+XG4gICAgICA8eHVpLWljb24+e3sgaWNvbiB9fTwveHVpLWljb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAge3sgdGl0bGUgfX1cbiAgPC9kaXY+XG5cbiAgPHh1aS1pY29uPnt7IHRoaXMub3BlbiA/ICdjaGV2cm9uLWRvd24nIDogJ2NoZXZyb24tdXAnIH19PC94dWktaWNvbj5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgKm5nSWY9XCJ0aGlzLm9wZW5cIj48L25nLWNvbnRlbnQ+XG4iXX0=