@dotglitch/ngx-ctx-menu
Version:
Angular context menu that works with templates
54 lines (53 loc) • 2.18 kB
TypeScript
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>;
}