@knora/search
Version:
Knora ui module: search
33 lines • 3.89 kB
JavaScript
import * as tslib_1 from "tslib";
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
import { MatMenuTrigger } from '@angular/material/menu';
let ListDisplayComponent = class ListDisplayComponent {
constructor() {
this.selectedNode = new EventEmitter();
}
setValue(item) {
this.selectedNode.emit(item);
}
};
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array)
], ListDisplayComponent.prototype, "children", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], ListDisplayComponent.prototype, "selectedNode", void 0);
tslib_1.__decorate([
ViewChild('childMenu', { static: true }),
tslib_1.__metadata("design:type", MatMenuTrigger)
], ListDisplayComponent.prototype, "childMenu", void 0);
ListDisplayComponent = tslib_1.__decorate([
Component({
selector: 'list-display',
template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <span *ngFor=\"let child of children\">\n <span *ngIf=\"child.children && child.children.length > 0\">\n <button mat-menu-item [matMenuTriggerFor]=\"menu.childMenu\" (click)=\"setValue(child)\" type=\"button\">\n {{child.label}}\n </button>\n <list-display #menu [children]=\"child.children\" (selectedNode)=\"setValue($event)\"></list-display>\n </span>\n\n <span *ngIf=\"!child.children || child.children.length === 0\">\n <button mat-menu-item (click)=\"setValue(child)\" type=\"button\">\n {{child.label}}\n </button>\n </span>\n </span>\n</mat-menu>\n",
styles: [""]
}),
tslib_1.__metadata("design:paramtypes", [])
], ListDisplayComponent);
export { ListDisplayComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kaXNwbGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Brbm9yYS9zZWFyY2gvIiwic291cmNlcyI6WyJsaWIvZXh0ZW5kZWQtc2VhcmNoL3NlbGVjdC1wcm9wZXJ0eS9zcGVjaWZ5LXByb3BlcnR5LXZhbHVlL2xpc3QtdmFsdWUvbGlzdC1kaXNwbGF5L2xpc3QtZGlzcGxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVF4RCxJQUFhLG9CQUFvQixHQUFqQyxNQUFhLG9CQUFvQjtJQVE3QjtRQUpVLGlCQUFZLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7SUFLbEYsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFnQjtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBRUosQ0FBQTtBQWJZO0lBQVIsS0FBSyxFQUFFOztzREFBd0I7QUFFdEI7SUFBVCxNQUFNLEVBQUU7c0NBQWUsWUFBWTswREFBOEM7QUFFeEM7SUFBekMsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztzQ0FBbUIsY0FBYzt1REFBQztBQU5sRSxvQkFBb0I7SUFMaEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGNBQWM7UUFDeEIsOHVCQUE0Qzs7S0FFL0MsQ0FBQzs7R0FDVyxvQkFBb0IsQ0FlaEM7U0FmWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTGlzdE5vZGVWMiB9IGZyb20gJ0Brbm9yYS9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpc3QtZGlzcGxheScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtZGlzcGxheS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC1kaXNwbGF5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdERpc3BsYXlDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgY2hpbGRyZW46IExpc3ROb2RlVjJbXTtcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZE5vZGU6IEV2ZW50RW1pdHRlcjxMaXN0Tm9kZVYyPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdE5vZGVWMj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NoaWxkTWVudScsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBjaGlsZE1lbnU6IE1hdE1lbnVUcmlnZ2VyO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgc2V0VmFsdWUoaXRlbTogTGlzdE5vZGVWMikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5lbWl0KGl0ZW0pO1xuICAgIH1cblxufVxuIl19