UNPKG

@dotglitch/ngx-ctx-menu

Version:

Angular context menu that works with templates

54 lines (53 loc) 2.18 kB
import { ChangeDetectorRef, EventEmitter, OnInit, ViewContainerRef } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { ContextMenuItem } from '../types'; import { NgxAppMenuOptions } from '../appmenu.directive'; import * as i0 from "@angular/core"; export declare const calcMenuItemBounds: (menuItems: ContextMenuItem[], dataObj: any) => Promise<DOMRect>; export declare class ContextMenuComponent implements OnInit { viewContainer: ViewContainerRef; sanitizer: DomSanitizer; private _data; dialog: MatDialog; dialogRef: MatDialogRef<any>; private changeDetector; data: any; parentCords: DOMRect; items: ContextMenuItem[]; config: NgxAppMenuOptions; id: string; closeSignal: EventEmitter<any>; selfCords: DOMRect; readonly matIconRx: RegExp; showIconColumn: boolean; showShortcutColumn: boolean; constructor(viewContainer: ViewContainerRef, sanitizer: DomSanitizer, _data: any, dialog: MatDialog, // optional only for the purpose of estimating dimensions dialogRef: MatDialogRef<any>, changeDetector: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; /** * * @param item * @param evt * @returns */ onMenuItemClick(item: ContextMenuItem, row: HTMLTableRowElement, hideBackdrop?: boolean): Promise<MatDialogRef<unknown, any>>; /** * * @param label * @returns */ formatLabel(label: string): string; /** * Close the context menu under these circumstances */ close(): void; /** * Check if the dialog is clipping offscreen * if so, move it back into view. */ private onResize; static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; }, null]>; static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenuComponent, "ngx-ctx-menu", never, { "data": "data"; "parentCords": "parentCords"; "items": "items"; "config": "config"; "id": "id"; }, { "closeSignal": "closeSignal"; }, never, never, true, never>; }