dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
97 lines (96 loc) • 4.2 kB
TypeScript
/// <reference types="node" />
import { AfterViewInit, ComponentRef, ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
import { MatMenuTrigger } from '@angular/material/menu';
import { Sort } from '@angular/material/sort';
import { MatTable } from '@angular/material/table';
import { ActivatedRoute } from '@angular/router';
import { RouterOutletEvent } from 'dbweb-core';
import { ClipboardService } from 'ngx-clipboard';
import { IRecordViewProcess, IRenderRow } from '../model/model';
import { ServiceService } from '../service/service.service';
import { ContextMenu } from './contex-menu';
import { Header } from './header';
import { IPoint, Selector } from './selector';
import { TableColumnType } from '../model/model';
export declare class TableComponent implements OnInit, AfterViewInit, Selector, ContextMenu, Header, RouterOutletEvent {
svr: ServiceService;
_clipboardService: ClipboardService;
elRef: ElementRef;
renderer: Renderer2;
hostClass: string;
displayColumns: TableColumnType[];
dataSource: IRenderRow[];
private _processes;
processes: IRecordViewProcess[];
sortChange: EventEmitter<Sort>;
processClick: EventEmitter<{
pro: IRecordViewProcess;
row: IRenderRow;
}>;
_tableColumns: TableColumnType[];
tabData: ElementRef<HTMLTableElement>;
tabDataOrg: MatTable<IRenderRow>;
contextMenu: MatMenuTrigger;
columns: TableColumnType[];
processExpand: boolean;
displayColumnNames: string[];
timer: NodeJS.Timer;
leftPressed: boolean;
x: number;
y: number;
readonly fixStartColumns: TableColumnType[];
readonly fixEndColumns: TableColumnType[];
contextMenuPosition: {
x: string;
y: string;
};
current: IPoint;
readonly selector: {
show: boolean;
startX: number;
startY: number;
endX: number;
endY: number;
};
cellSelector: (colIndex: number, rowIndex: number) => boolean;
cellSelectorLeft: (col: number, row: number) => boolean;
cellSelectorBottom: (col: number, row: number) => boolean;
cellSelectorRight: (col: number, row: number) => boolean;
cellSelectorTop: (col: number, row: number) => boolean;
cellMouseDown: (event: MouseEvent, colIndex: number, rowIndex: number) => void;
cellMouseEnter: (event: MouseEvent) => void;
mouseUp: (event: MouseEvent) => void;
closeMouseDownListern: () => void;
onMouseMove: any;
scrollTable: () => void;
openContextMenu: (event: MouseEvent, col: number, row: number) => void;
onSelCopyClick: (hasTitle: boolean) => void;
onSelLineMenuClick: (event: MouseEvent) => void;
onSelCancelLineMenuClick: () => void;
onSelAllMenuClick: () => void;
headerMouseenter: (col: TableColumnType, event: MouseEvent) => void;
headerMouseleave: (col: TableColumnType) => void;
lockButtonClick: (event: MouseEvent, col: TableColumnType) => void;
stickyColumnRight: (colIndex: number) => boolean;
syncColumn: () => void;
unlockButtonClick: (event: MouseEvent, col: TableColumnType) => void;
toLeftButtonClick: (event: MouseEvent, col: TableColumnType) => void;
toRightButtonClick: (event: MouseEvent, col: TableColumnType) => void;
tableHasScrollbar: boolean;
headerToolbarShowTimer: NodeJS.Timer;
private scrollLeft;
private scrollTop;
constructor(svr: ServiceService, _clipboardService: ClipboardService, elRef: ElementRef, renderer: Renderer2);
setDataSource(val: IRenderRow[], dispCols: TableColumnType[], keepSequence: boolean): void;
ngOnInit(): void;
ngAfterViewInit(): void;
onResize(event: UIEvent): void;
private updateTableHasScrollbar;
onDetach(): void;
onAttach(ref: ComponentRef<any>, activatedRoute: ActivatedRoute): void;
/** Selects all rows if they are not all selected; otherwise clear selection. */
masterToggle(): void;
/** Whether the number of selected elements matches the total number of rows. */
isPageSelected(): boolean;
trackByName(i: number, col: TableColumnType): string;
}