contextMenu.attach.directive.js 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import { ContextMenuComponent } from './contextMenu.component';
  6. import { ContextMenuService } from './contextMenu.service';
  7. import { Directive, HostListener, Input } from '@angular/core';
  8. export class ContextMenuAttachDirective {
  9. /**
  10. * @param {?} contextMenuService
  11. */
  12. constructor(contextMenuService) {
  13. this.contextMenuService = contextMenuService;
  14. }
  15. /**
  16. * @param {?} event
  17. * @return {?}
  18. */
  19. onContextMenu(event) {
  20. if (!this.contextMenu.disabled) {
  21. this.contextMenuService.show.next({
  22. contextMenu: this.contextMenu,
  23. event,
  24. item: this.contextMenuSubject,
  25. });
  26. event.preventDefault();
  27. event.stopPropagation();
  28. }
  29. }
  30. }
  31. ContextMenuAttachDirective.decorators = [
  32. { type: Directive, args: [{
  33. selector: '[contextMenu]',
  34. },] }
  35. ];
  36. /** @nocollapse */
  37. ContextMenuAttachDirective.ctorParameters = () => [
  38. { type: ContextMenuService }
  39. ];
  40. ContextMenuAttachDirective.propDecorators = {
  41. contextMenuSubject: [{ type: Input }],
  42. contextMenu: [{ type: Input }],
  43. onContextMenu: [{ type: HostListener, args: ['contextmenu', ['$event'],] }]
  44. };
  45. if (false) {
  46. /** @type {?} */
  47. ContextMenuAttachDirective.prototype.contextMenuSubject;
  48. /** @type {?} */
  49. ContextMenuAttachDirective.prototype.contextMenu;
  50. /**
  51. * @type {?}
  52. * @private
  53. */
  54. ContextMenuAttachDirective.prototype.contextMenuService;
  55. }
  56. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dE1lbnUuYXR0YWNoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb250ZXh0bWVudS8iLCJzb3VyY2VzIjpbImxpYi9jb250ZXh0TWVudS5hdHRhY2guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLL0QsTUFBTSxPQUFPLDBCQUEwQjs7OztJQUlyQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFJLENBQUM7Ozs7O0lBR3hELGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsS0FBSztnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjthQUM5QixDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTthQUMxQjs7OztZQUxRLGtCQUFrQjs7O2lDQU94QixLQUFLOzBCQUNMLEtBQUs7NEJBSUwsWUFBWSxTQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7OztJQUx2Qyx3REFBd0M7O0lBQ3hDLGlEQUFrRDs7Ozs7SUFFdEMsd0RBQThDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHRNZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZXh0TWVudVNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHRNZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjb250ZXh0TWVudV0nLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudUF0dGFjaERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZXh0TWVudVN1YmplY3Q6IGFueTtcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHRNZW51OiBDb250ZXh0TWVudUNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHRNZW51U2VydmljZTogQ29udGV4dE1lbnVTZXJ2aWNlKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdjb250ZXh0bWVudScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNvbnRleHRNZW51KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRleHRNZW51LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5zaG93Lm5leHQoe1xuICAgICAgICBjb250ZXh0TWVudTogdGhpcy5jb250ZXh0TWVudSxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGl0ZW06IHRoaXMuY29udGV4dE1lbnVTdWJqZWN0LFxuICAgICAgfSk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iXX0=