ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
52 lines • 7.82 kB
JavaScript
import { Component, ContentChildren, EventEmitter, Injector, QueryList } from '@angular/core';
import { Subscription } from 'rxjs';
import { OComponentMenuBaseItem } from './o-content-menu-base-item.class';
import { OContextMenuService } from './o-context-menu.service';
import * as i0 from "@angular/core";
export const DEFAULT_OUTPUTS_O_CONTEXT_MENU = [
'onShow',
'onClose'
];
export class OContextMenuComponent {
constructor(injector) {
this.injector = injector;
this.onShow = new EventEmitter();
this.onClose = new EventEmitter();
this.subscription = new Subscription();
this.oContextMenuService = this.injector.get(OContextMenuService);
}
ngOnInit() {
this.subscription.add(this.oContextMenuService.showContextMenu.subscribe(param => this.showContextMenu(param)));
this.subscription.add(this.oContextMenuService.closeContextMenu.subscribe(param => this.onClose.emit()));
}
ngOnDestroy() {
this.subscription.unsubscribe();
}
showContextMenu(params) {
this.origin = params.event.target;
this.onShow.emit(params);
if (params.contextMenu !== this) {
return;
}
params.menuItems = this.oContextMenuItems;
params.externalMenuItems = this.externalContextMenuItems;
if (params.menuItems.length > 0) {
this.oContextMenuService.openContextMenu(params);
}
}
}
OContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OContextMenuComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
OContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OContextMenuComponent, selector: "o-context-menu", outputs: { onShow: "onShow", onClose: "onClose" }, providers: [OContextMenuService], queries: [{ propertyName: "oContextMenuItems", predicate: OComponentMenuBaseItem }], ngImport: i0, template: ' ', isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OContextMenuComponent, decorators: [{
type: Component,
args: [{
selector: 'o-context-menu',
template: ' ',
outputs: DEFAULT_OUTPUTS_O_CONTEXT_MENU,
providers: [OContextMenuService]
}]
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { oContextMenuItems: [{
type: ContentChildren,
args: [OComponentMenuBaseItem]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb250ZXh0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvY29udGV4dG1lbnUvby1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUUvRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRztJQUM1QyxRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUM7QUFRRixNQUFNLE9BQU8scUJBQXFCO0lBWWhDLFlBQ1ksUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVB2QixXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0MsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzdDLGlCQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFLeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBNEI7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFDRCxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUMxQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3pELElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDOzttSEF0Q1UscUJBQXFCO3VHQUFyQixxQkFBcUIsNEZBRnJCLENBQUMsbUJBQW1CLENBQUMsNERBSWYsc0JBQXNCLDZCQU43QixHQUFHOzRGQUlGLHFCQUFxQjtrQkFOakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsR0FBRztvQkFDYixPQUFPLEVBQUUsOEJBQThCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDakM7K0ZBSVEsaUJBQWlCO3NCQUR2QixlQUFlO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSU9Db250ZXh0TWVudUNvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL28tY29udGV4dC1tZW51LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPQ29tcG9uZW50TWVudUJhc2VJdGVtIH0gZnJvbSAnLi9vLWNvbnRlbnQtbWVudS1iYXNlLWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgT0NvbnRleHRNZW51U2VydmljZSB9IGZyb20gJy4vby1jb250ZXh0LW1lbnUuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19DT05URVhUX01FTlUgPSBbXG4gICdvblNob3cnLFxuICAnb25DbG9zZSdcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGU6ICcgJyxcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fQ09OVEVYVF9NRU5VLFxuICBwcm92aWRlcnM6IFtPQ29udGV4dE1lbnVTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBPQ29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBleHRlcm5hbENvbnRleHRNZW51SXRlbXM6IFF1ZXJ5TGlzdDxPQ29tcG9uZW50TWVudUJhc2VJdGVtPjtcbiAgQENvbnRlbnRDaGlsZHJlbihPQ29tcG9uZW50TWVudUJhc2VJdGVtKVxuICBwdWJsaWMgb0NvbnRleHRNZW51SXRlbXM6IFF1ZXJ5TGlzdDxPQ29tcG9uZW50TWVudUJhc2VJdGVtPjtcblxuICBwdWJsaWMgb3JpZ2luOiBIVE1MRWxlbWVudDtcbiAgcHVibGljIG9uU2hvdzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHB1YmxpYyBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgb0NvbnRleHRNZW51U2VydmljZTogT0NvbnRleHRNZW51U2VydmljZTtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5vQ29udGV4dE1lbnVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT0NvbnRleHRNZW51U2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMub0NvbnRleHRNZW51U2VydmljZS5zaG93Q29udGV4dE1lbnUuc3Vic2NyaWJlKHBhcmFtID0+IHRoaXMuc2hvd0NvbnRleHRNZW51KHBhcmFtKSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLm9Db250ZXh0TWVudVNlcnZpY2UuY2xvc2VDb250ZXh0TWVudS5zdWJzY3JpYmUocGFyYW0gPT4gdGhpcy5vbkNsb3NlLmVtaXQoKSkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbnRleHRNZW51KHBhcmFtczogSU9Db250ZXh0TWVudUNvbnRleHQpOiB2b2lkIHtcbiAgICB0aGlzLm9yaWdpbiA9IHBhcmFtcy5ldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5vblNob3cuZW1pdChwYXJhbXMpO1xuICAgIGlmIChwYXJhbXMuY29udGV4dE1lbnUgIT09IHRoaXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcGFyYW1zLm1lbnVJdGVtcyA9IHRoaXMub0NvbnRleHRNZW51SXRlbXM7XG4gICAgcGFyYW1zLmV4dGVybmFsTWVudUl0ZW1zID0gdGhpcy5leHRlcm5hbENvbnRleHRNZW51SXRlbXM7XG4gICAgaWYgKHBhcmFtcy5tZW51SXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vQ29udGV4dE1lbnVTZXJ2aWNlLm9wZW5Db250ZXh0TWVudShwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=