contextMenu.service.d.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Overlay, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';
  2. import { Subject } from 'rxjs';
  3. import { ContextMenuComponent } from './contextMenu.component';
  4. import { ContextMenuItemDirective } from './contextMenu.item.directive';
  5. import { ContextMenuContentComponent } from './contextMenuContent.component';
  6. export interface IContextMenuClickEvent {
  7. anchorElement?: Element | EventTarget;
  8. contextMenu?: ContextMenuComponent;
  9. event?: MouseEvent | KeyboardEvent;
  10. parentContextMenu?: ContextMenuContentComponent;
  11. item: any;
  12. activeMenuItemIndex?: number;
  13. }
  14. export interface IContextMenuContext extends IContextMenuClickEvent {
  15. menuItems: ContextMenuItemDirective[];
  16. menuClass: string;
  17. }
  18. export interface CloseLeafMenuEvent {
  19. exceptRootMenu?: boolean;
  20. event?: MouseEvent | KeyboardEvent;
  21. }
  22. export interface OverlayRefWithContextMenu extends OverlayRef {
  23. contextMenu?: ContextMenuContentComponent;
  24. }
  25. export interface CancelContextMenuEvent {
  26. eventType: 'cancel';
  27. event?: MouseEvent | KeyboardEvent;
  28. }
  29. export interface ExecuteContextMenuEvent {
  30. eventType: 'execute';
  31. event?: MouseEvent | KeyboardEvent;
  32. item: any;
  33. menuItem: ContextMenuItemDirective;
  34. }
  35. export declare type CloseContextMenuEvent = ExecuteContextMenuEvent | CancelContextMenuEvent;
  36. export declare class ContextMenuService {
  37. private overlay;
  38. private scrollStrategy;
  39. isDestroyingLeafMenu: boolean;
  40. show: Subject<IContextMenuClickEvent>;
  41. triggerClose: Subject<ContextMenuContentComponent>;
  42. close: Subject<CloseContextMenuEvent>;
  43. private contextMenuContent;
  44. private overlays;
  45. private fakeElement;
  46. constructor(overlay: Overlay, scrollStrategy: ScrollStrategyOptions);
  47. openContextMenu(context: IContextMenuContext): void;
  48. attachContextMenu(overlay: OverlayRef, context: IContextMenuContext): void;
  49. closeAllContextMenus(closeEvent: CloseContextMenuEvent): void;
  50. getLastAttachedOverlay(): OverlayRefWithContextMenu;
  51. destroyLeafMenu({ exceptRootMenu, event }?: CloseLeafMenuEvent): void;
  52. destroySubMenus(contextMenu: ContextMenuContentComponent): void;
  53. isLeafMenu(contextMenuContent: ContextMenuContentComponent): boolean;
  54. }