UNPKG

ontimize-web-ngx

Version:
72 lines 11 kB
import { Component, EventEmitter, HostListener, Injector, ViewChild } from '@angular/core'; import { MatMenuTrigger } from '@angular/material/menu'; import { OContextMenuGroupComponent } from '../context-menu-group/o-context-menu-group.component'; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/button"; import * as i2 from "@angular/material/menu"; import * as i3 from "./o-wrapper-content-menu/o-wrapper-content-menu.component"; export const DEFAULT_CONTEXT_MENU_CONTENT_INPUTS = [ 'menuItems', 'externalMenuItems', 'overlay', 'data', 'menuClass' ]; export const DEFAULT_CONTEXT_MENU_CONTENT_OUTPUTS = [ 'execute', 'close' ]; export class OContextMenuContentComponent { constructor(injector) { this.injector = injector; this.execute = new EventEmitter(); this.close = new EventEmitter(); } click() { this.closeContent(); } ngOnInit() { this.initialize(); } ngAfterViewInit() { this.trigger.openMenu(); } initialize() { const menuItemsArray = this.menuItems ? this.menuItems.toArray() : []; const externalItemsArray = this.externalMenuItems ? this.externalMenuItems.toArray() : []; this.allMenuItems = menuItemsArray.concat(externalItemsArray); this.setData(this.allMenuItems); } setData(items) { if (this.data) { (items || []).forEach((menuItem) => { menuItem.data = this.data; if (menuItem instanceof OContextMenuGroupComponent) { this.setData(menuItem.children); } }); } } onMenuClosed() { this.closeContent(); } closeContent() { this.trigger.closeMenu(); this.close.emit(); } } OContextMenuContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OContextMenuContentComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); OContextMenuContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OContextMenuContentComponent, selector: "o-context-menu-content", inputs: { menuItems: "menuItems", externalMenuItems: "externalMenuItems", overlay: "overlay", data: "data", menuClass: "menuClass" }, outputs: { execute: "execute", close: "close" }, host: { listeners: { "document:click": "click()" }, properties: { "class.o-context-menu-content": "true" } }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<button mat-button [matMenuTriggerFor]=\"menu.childMenu\" (menuClosed)=\"onMenuClosed()\"></button>\n<o-wrapper-content-menu #menu [items]=\"allMenuItems\" [class]=\"menuClass\"> </o-wrapper-content-menu>", dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.OWrapperContentMenuComponent, selector: "o-wrapper-content-menu", inputs: ["items", "class"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OContextMenuContentComponent, decorators: [{ type: Component, args: [{ selector: 'o-context-menu-content', inputs: DEFAULT_CONTEXT_MENU_CONTENT_INPUTS, outputs: DEFAULT_CONTEXT_MENU_CONTENT_OUTPUTS, host: { '[class.o-context-menu-content]': 'true' }, template: "<button mat-button [matMenuTriggerFor]=\"menu.childMenu\" (menuClosed)=\"onMenuClosed()\"></button>\n<o-wrapper-content-menu #menu [items]=\"allMenuItems\" [class]=\"menuClass\"> </o-wrapper-content-menu>" }] }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { trigger: [{ type: ViewChild, args: [MatMenuTrigger] }], click: [{ type: HostListener, args: ['document:click'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb250ZXh0LW1lbnUtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0LW1lbnUvby1jb250ZXh0LW1lbnUtY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0LW1lbnUvby1jb250ZXh0LW1lbnUtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7QUFJbEcsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUc7SUFDakQsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsTUFBTTtJQUNOLFdBQVc7Q0FDWixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFDbEQsU0FBUztJQUNULE9BQU87Q0FDUixDQUFDO0FBV0YsTUFBTSxPQUFPLDRCQUE0QjtJQWF2QyxZQUNZLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQdkIsWUFBTyxHQUFtRixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdHLFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU9qRCxDQUFDO0lBR0UsS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFHTSxVQUFVO1FBQ2YsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMxRixJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQStCO1FBQzVDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWdDLEVBQUUsRUFBRTtnQkFDekQsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMxQixJQUFJLFFBQVEsWUFBWSwwQkFBMEIsRUFBRTtvQkFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ2pDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7MEhBeERVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLDRZQVM1QixjQUFjLGdEQ3ZDM0IsOE1BQ21HOzRGRDZCdEYsNEJBQTRCO2tCQVR4QyxTQUFTOytCQUNFLHdCQUF3QixVQUUxQixtQ0FBbUMsV0FDbEMsb0NBQW9DLFFBQ3ZDO3dCQUNKLGdDQUFnQyxFQUFFLE1BQU07cUJBQ3pDOytGQVlNLE9BQU87c0JBRGIsU0FBUzt1QkFBQyxjQUFjO2dCQVNsQixLQUFLO3NCQURYLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuXG5pbXBvcnQgeyBPQ29udGV4dE1lbnVHcm91cENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRleHQtbWVudS1ncm91cC9vLWNvbnRleHQtbWVudS1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0NvbnRleHRNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRleHQtbWVudS1pdGVtL28tY29udGV4dC1tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE9Db21wb25lbnRNZW51QmFzZUl0ZW0gfSBmcm9tICcuLi9vLWNvbnRlbnQtbWVudS1iYXNlLWl0ZW0uY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05URVhUX01FTlVfQ09OVEVOVF9JTlBVVFMgPSBbXG4gICdtZW51SXRlbXMnLFxuICAnZXh0ZXJuYWxNZW51SXRlbXMnLFxuICAnb3ZlcmxheScsXG4gICdkYXRhJyxcbiAgJ21lbnVDbGFzcydcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTlRFWFRfTUVOVV9DT05URU5UX09VVFBVVFMgPSBbXG4gICdleGVjdXRlJyxcbiAgJ2Nsb3NlJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1jb250ZXh0LW1lbnUtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnby1jb250ZXh0LW1lbnUtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIGlucHV0czogREVGQVVMVF9DT05URVhUX01FTlVfQ09OVEVOVF9JTlBVVFMsXG4gIG91dHB1dHM6IERFRkFVTFRfQ09OVEVYVF9NRU5VX0NPTlRFTlRfT1VUUFVUUyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby1jb250ZXh0LW1lbnUtY29udGVudF0nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPQ29udGV4dE1lbnVDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcblxuICBwdWJsaWMgbWVudUl0ZW1zOiBRdWVyeUxpc3Q8T0NvbXBvbmVudE1lbnVCYXNlSXRlbT47XG4gIHB1YmxpYyBleHRlcm5hbE1lbnVJdGVtczogUXVlcnlMaXN0PE9Db21wb25lbnRNZW51QmFzZUl0ZW0+O1xuICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheVJlZjtcbiAgcHVibGljIGRhdGE6IGFueTtcbiAgcHVibGljIG1lbnVDbGFzczogc3RyaW5nO1xuICBwdWJsaWMgZXhlY3V0ZTogRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IEV2ZW50LCBkYXRhOiBhbnksIG1lbnVJdGVtOiBPQ29udGV4dE1lbnVJdGVtQ29tcG9uZW50IH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwdWJsaWMgY2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKVxuICBwdWJsaWMgdHJpZ2dlcjogTWF0TWVudVRyaWdnZXI7XG4gIHB1YmxpYyBhbGxNZW51SXRlbXM6IE9Db21wb25lbnRNZW51QmFzZUl0ZW1bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yXG4gICkgeyB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxuICBwdWJsaWMgY2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyLm9wZW5NZW51KCk7XG4gIH1cblxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IG1lbnVJdGVtc0FycmF5ID0gdGhpcy5tZW51SXRlbXMgPyB0aGlzLm1lbnVJdGVtcy50b0FycmF5KCkgOiBbXTtcbiAgICBjb25zdCBleHRlcm5hbEl0ZW1zQXJyYXkgPSB0aGlzLmV4dGVybmFsTWVudUl0ZW1zID8gdGhpcy5leHRlcm5hbE1lbnVJdGVtcy50b0FycmF5KCkgOiBbXTtcbiAgICB0aGlzLmFsbE1lbnVJdGVtcyA9IG1lbnVJdGVtc0FycmF5LmNvbmNhdChleHRlcm5hbEl0ZW1zQXJyYXkpO1xuICAgIHRoaXMuc2V0RGF0YSh0aGlzLmFsbE1lbnVJdGVtcyk7XG4gIH1cblxuICBwdWJsaWMgc2V0RGF0YShpdGVtczogT0NvbXBvbmVudE1lbnVCYXNlSXRlbVtdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgKGl0ZW1zIHx8IFtdKS5mb3JFYWNoKChtZW51SXRlbTogT0NvbXBvbmVudE1lbnVCYXNlSXRlbSkgPT4ge1xuICAgICAgICBtZW51SXRlbS5kYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICBpZiAobWVudUl0ZW0gaW5zdGFuY2VvZiBPQ29udGV4dE1lbnVHcm91cENvbXBvbmVudCkge1xuICAgICAgICAgIHRoaXMuc2V0RGF0YShtZW51SXRlbS5jaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk1lbnVDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbn1cbiIsIjxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudS5jaGlsZE1lbnVcIiAobWVudUNsb3NlZCk9XCJvbk1lbnVDbG9zZWQoKVwiPjwvYnV0dG9uPlxuPG8td3JhcHBlci1jb250ZW50LW1lbnUgI21lbnUgW2l0ZW1zXT1cImFsbE1lbnVJdGVtc1wiIFtjbGFzc109XCJtZW51Q2xhc3NcIj4gPC9vLXdyYXBwZXItY29udGVudC1tZW51PiJdfQ==