UNPKG

@seethelemurcricut/ngx-contextmenu

Version:

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

57 lines (56 loc) 4.21 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'; var ContextMenuAttachDirective = /** @class */ (function () { function ContextMenuAttachDirective(contextMenuService) { this.contextMenuService = contextMenuService; } /** * @param {?} event * @return {?} */ ContextMenuAttachDirective.prototype.onContextMenu = /** * @param {?} event * @return {?} */ function (event) { if (!this.contextMenu.disabled) { this.contextMenuService.show.next({ contextMenu: this.contextMenu, event: event, item: this.contextMenuSubject, }); event.preventDefault(); event.stopPropagation(); } }; ContextMenuAttachDirective.decorators = [ { type: Directive, args: [{ selector: '[contextMenu]', },] }, ]; /** @nocollapse */ ContextMenuAttachDirective.ctorParameters = function () { return [ { type: ContextMenuService } ]; }; ContextMenuAttachDirective.propDecorators = { contextMenuSubject: [{ type: Input }], contextMenu: [{ type: Input }], onContextMenu: [{ type: HostListener, args: ['contextmenu', ['$event'],] }] }; return ContextMenuAttachDirective; }()); export { ContextMenuAttachDirective }; function ContextMenuAttachDirective_tsickle_Closure_declarations() { /** @type {?} */ ContextMenuAttachDirective.prototype.contextMenuSubject; /** @type {?} */ ContextMenuAttachDirective.prototype.contextMenu; /** @type {?} */ ContextMenuAttachDirective.prototype.contextMenuService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dE1lbnUuYXR0YWNoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZWV0aGVsZW11cmNyaWN1dC9uZ3gtY29udGV4dG1lbnUvIiwic291cmNlcyI6WyJsaWIvY29udGV4dE1lbnUuYXR0YWNoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztJQVM3RCxvQ0FBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7S0FBSzs7Ozs7SUFHeEQsa0RBQWE7Ozs7SUFEcEIsVUFDcUIsS0FBaUI7UUFDcEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsS0FBSyxPQUFBO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCO2FBQzlCLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7S0FDRjs7Z0JBcEJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7Ozs7Z0JBTFEsa0JBQWtCOzs7cUNBT3hCLEtBQUs7OEJBQ0wsS0FBSztnQ0FJTCxZQUFZLFNBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDOztxQ0FiekM7O1NBT2EsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHRNZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZXh0TWVudVNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHRNZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjb250ZXh0TWVudV0nLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudUF0dGFjaERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZXh0TWVudVN1YmplY3Q6IGFueTtcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHRNZW51OiBDb250ZXh0TWVudUNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHRNZW51U2VydmljZTogQ29udGV4dE1lbnVTZXJ2aWNlKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdjb250ZXh0bWVudScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNvbnRleHRNZW51KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRleHRNZW51LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5zaG93Lm5leHQoe1xuICAgICAgICBjb250ZXh0TWVudTogdGhpcy5jb250ZXh0TWVudSxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGl0ZW06IHRoaXMuY29udGV4dE1lbnVTdWJqZWN0LFxuICAgICAgfSk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iXX0=