UNPKG

@seethelemurcricut/ngx-contextmenu

Version:

An Angular component to show a context menu on an arbitrary component

54 lines (53 loc) 3.92 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { ContextMenuComponent } from './contextMenu.component'; import { ContextMenuService } from './contextMenu.service'; import { Directive, HostListener, Input } from '@angular/core'; export class ContextMenuAttachDirective { /** * @param {?} contextMenuService */ constructor(contextMenuService) { this.contextMenuService = contextMenuService; } /** * @param {?} event * @return {?} */ onContextMenu(event) { if (!this.contextMenu.disabled) { this.contextMenuService.show.next({ contextMenu: this.contextMenu, event, item: this.contextMenuSubject, }); event.preventDefault(); event.stopPropagation(); } } } ContextMenuAttachDirective.decorators = [ { type: Directive, args: [{ selector: '[contextMenu]', },] }, ]; /** @nocollapse */ ContextMenuAttachDirective.ctorParameters = () => [ { type: ContextMenuService } ]; ContextMenuAttachDirective.propDecorators = { contextMenuSubject: [{ type: Input }], contextMenu: [{ type: Input }], onContextMenu: [{ type: HostListener, args: ['contextmenu', ['$event'],] }] }; function ContextMenuAttachDirective_tsickle_Closure_declarations() { /** @type {?} */ ContextMenuAttachDirective.prototype.contextMenuSubject; /** @type {?} */ ContextMenuAttachDirective.prototype.contextMenu; /** @type {?} */ ContextMenuAttachDirective.prototype.contextMenuService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dE1lbnUuYXR0YWNoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZWV0aGVsZW11cmNyaWN1dC9uZ3gtY29udGV4dG1lbnUvIiwic291cmNlcyI6WyJsaWIvY29udGV4dE1lbnUuYXR0YWNoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9ELE1BQU07Ozs7SUFJSixZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtLQUFLOzs7OztJQUd4RCxhQUFhLENBQUMsS0FBaUI7UUFDcEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsS0FBSztnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjthQUM5QixDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3pCO0tBQ0Y7OztZQXBCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7YUFDMUI7Ozs7WUFMUSxrQkFBa0I7OztpQ0FPeEIsS0FBSzswQkFDTCxLQUFLOzRCQUlMLFlBQVksU0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dE1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRleHRNZW51U2VydmljZSB9IGZyb20gJy4vY29udGV4dE1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NvbnRleHRNZW51XScsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51QXR0YWNoRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHRNZW51U3ViamVjdDogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgY29udGV4dE1lbnU6IENvbnRleHRNZW51Q29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGV4dE1lbnVTZXJ2aWNlOiBDb250ZXh0TWVudVNlcnZpY2UpIHsgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ29udGV4dE1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udGV4dE1lbnUuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLnNob3cubmV4dCh7XG4gICAgICAgIGNvbnRleHRNZW51OiB0aGlzLmNvbnRleHRNZW51LFxuICAgICAgICBldmVudCxcbiAgICAgICAgaXRlbTogdGhpcy5jb250ZXh0TWVudVN1YmplY3QsXG4gICAgICB9KTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==