473 lines
9.6 KiB
TypeScript
473 lines
9.6 KiB
TypeScript
import { TemplateRef } from '@angular/core';
|
|
import { FilterMetadata, LazyLoadMeta, SortMeta, TreeNode, TreeTableNode } from 'primeng/api';
|
|
/**
|
|
* Paginator state.
|
|
* @group Interface
|
|
*/
|
|
export interface TreeTablePaginatorState {
|
|
/**
|
|
* Current page.
|
|
*/
|
|
page?: number;
|
|
/**
|
|
* Index of the first element.
|
|
*/
|
|
first?: number;
|
|
/**
|
|
* Row count.
|
|
*/
|
|
rows?: number;
|
|
/**
|
|
* Page count.
|
|
*/
|
|
pageCount?: number;
|
|
}
|
|
/**
|
|
* Custom lazy load event.
|
|
* @see {@link TreeTable.onLazyLoad}
|
|
* @extends {LazyLoadMeta}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableLazyLoadEvent extends LazyLoadMeta {
|
|
/**
|
|
* First element in viewport.
|
|
*/
|
|
first: any;
|
|
/**
|
|
* Last element in viewport.
|
|
*/
|
|
last: any;
|
|
}
|
|
/**
|
|
* Custom column reorder event.
|
|
* @see {@link TreeTable.onColReorder}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableColumnReorderEvent {
|
|
/**
|
|
* Index of the dragged item.
|
|
*/
|
|
dragIndex?: number;
|
|
/**
|
|
* Index of the drop position.
|
|
*/
|
|
dropIndex?: number;
|
|
/**
|
|
* Columns after reorder.
|
|
*/
|
|
columns?: any[];
|
|
}
|
|
/**
|
|
* Custom filter event.
|
|
* @see {@link TreeTable.onFilter}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableFilterEvent {
|
|
/**
|
|
* Filter meta.
|
|
*/
|
|
filters?: {
|
|
[s: string]: FilterMetadata | undefined;
|
|
};
|
|
/**
|
|
* Value after filter.
|
|
*/
|
|
filteredValue?: TreeNode[];
|
|
}
|
|
/**
|
|
* Custom node expand event.
|
|
* @see {@link TreeTable.onNodeExpand}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableNodeExpandEvent<T = any> extends TreeTableNodeCollapseEvent<T> {
|
|
}
|
|
/**
|
|
* Custom node collapse event.
|
|
* @see {@link TreeTable.onNodeCollapse}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableNodeCollapseEvent<T = any> {
|
|
/**
|
|
* Browser event.
|
|
*/
|
|
originalEvent: Event;
|
|
/**
|
|
* Node instance.
|
|
*/
|
|
node: TreeTableNode<T>;
|
|
}
|
|
/**
|
|
* Custom sort event.
|
|
* @see {@link TreeTable.onSort}
|
|
* @see {@link TreeTable.sortFunction}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableSortEvent {
|
|
/**
|
|
* Browser event.
|
|
*/
|
|
originalEvent?: Event;
|
|
/**
|
|
* Value to be sorted.
|
|
*/
|
|
data?: TreeNode[];
|
|
/**
|
|
* Sort mode.
|
|
*/
|
|
mode?: 'single' | 'multiple';
|
|
/**
|
|
* Sort field.
|
|
*/
|
|
field?: string;
|
|
/**
|
|
* Sort order.
|
|
*/
|
|
order?: number;
|
|
/**
|
|
* Multiple sort meta.
|
|
*/
|
|
multiSortMeta?: SortMeta[] | null | undefined;
|
|
/**
|
|
* Multiple sort meta.
|
|
*/
|
|
multisortmeta?: any;
|
|
/**
|
|
* Sort meta.
|
|
*/
|
|
sortMeta?: SortMeta;
|
|
}
|
|
/**
|
|
* Custom column resize event.
|
|
* @see {@link TreeTable.onColResize}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableColResizeEvent {
|
|
/**
|
|
* Instance of resized column.
|
|
*/
|
|
element: HTMLElement;
|
|
/**
|
|
* Position.
|
|
*/
|
|
delta: number;
|
|
}
|
|
/**
|
|
* Custom node select event.
|
|
* @see {@link TreeTable.onNodeSelect}
|
|
* @extends {TreeTableNode}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableNodeSelectEvent extends TreeTableNode {
|
|
}
|
|
/**
|
|
* Custom node unselect event.
|
|
* @see {@link TreeTable.onNodeUnSelect}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableNodeUnSelectEvent {
|
|
/**
|
|
* Browser event.
|
|
*/
|
|
originalEvent?: Event;
|
|
/**
|
|
* Node instance.
|
|
*/
|
|
node?: TreeTableNode<any>;
|
|
/**
|
|
* Selection type.
|
|
*/
|
|
type?: string;
|
|
}
|
|
/**
|
|
* Custom context menu select event.
|
|
* @see {@link TreeTable.onContextMenuSelect}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableContextMenuSelectEvent {
|
|
/**
|
|
* Browser event.
|
|
*/
|
|
originalEvent: Event;
|
|
/**
|
|
* Node instance.
|
|
*/
|
|
node: TreeTableNode<any>;
|
|
}
|
|
/**
|
|
* Custom checkbox toggle event.
|
|
* @see {@link TreeTable.onHeaderCheckboxToggle}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableHeaderCheckboxToggleEvent {
|
|
/**
|
|
* Browser event.
|
|
*/
|
|
originalEvent: Event;
|
|
/**
|
|
* Checked state.
|
|
*/
|
|
checked: boolean;
|
|
}
|
|
/**
|
|
* Custom edit event.
|
|
* @see {@link TreeTable.onEditInit}
|
|
* @see {@link TreeTable.onEditCancel}
|
|
* @see {@link TreeTable.onEditComplete}
|
|
* @group Events
|
|
*/
|
|
export interface TreeTableEditEvent {
|
|
/**
|
|
* Field to be edited.
|
|
*/
|
|
field: string;
|
|
/**
|
|
* New value.
|
|
*/
|
|
data: string;
|
|
}
|
|
/**
|
|
* Filtering options.
|
|
* @group Interface
|
|
*/
|
|
export interface TreeTableFilterOptions {
|
|
/**
|
|
* Field to be filtered.
|
|
*/
|
|
filterField: string;
|
|
/**
|
|
* Value to use when filtering.
|
|
*/
|
|
filterValue: any;
|
|
/**
|
|
* Filter constraints.
|
|
*/
|
|
filterConstraint: (dataFieldValue: any, filterValue: any, filterLocale: string) => boolean;
|
|
/**
|
|
* Boolean value that defines if strict mode enabled.
|
|
*/
|
|
isStrictMode: boolean;
|
|
}
|
|
/**
|
|
* Defines valid templates in TreeTable.
|
|
* @group Templates
|
|
*/
|
|
export interface TreeTableTemplates {
|
|
/**
|
|
* Custom caption template.
|
|
*/
|
|
caption(): TemplateRef<any>;
|
|
/**
|
|
* Custom header template.
|
|
* @param {Object} context - header data.
|
|
*/
|
|
header(context: {
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
$implicit: any[];
|
|
}): TemplateRef<{
|
|
$implicit: any[];
|
|
}>;
|
|
/**
|
|
* Custom body template.
|
|
* @param {Object} context - body data.
|
|
*/
|
|
body(context: {
|
|
$implicit: TreeNode;
|
|
/**
|
|
* Serialized node.
|
|
*/
|
|
node: TreeNode;
|
|
/**
|
|
* Row data.
|
|
*/
|
|
rowData: any;
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
columns: any[];
|
|
}): TemplateRef<{
|
|
$implicit: TreeNode;
|
|
node: TreeNode;
|
|
rowData: any;
|
|
columns: any[];
|
|
}>;
|
|
/**
|
|
* Custom footer template.
|
|
* @param {Object} context - footer data.
|
|
*/
|
|
footer(context: {
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
$implicit: any[];
|
|
}): TemplateRef<{
|
|
$implicit: any[];
|
|
}>;
|
|
/**
|
|
* Custom summary template.
|
|
*/
|
|
summary(): TemplateRef<any>;
|
|
/**
|
|
* Custom colgroup template.
|
|
* @param {Object} context - column group data.
|
|
*/
|
|
colgroup(context: {
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
$implicit: any[];
|
|
}): TemplateRef<{
|
|
$implicit: any[];
|
|
}>;
|
|
/**
|
|
* Custom emptymessage template.
|
|
*/
|
|
emptymessage(context: {
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
$implicit: any[];
|
|
/**
|
|
* Boolean value indicates whether column is frozen.
|
|
*/
|
|
frozen: boolean;
|
|
}): TemplateRef<{
|
|
$implicit: any[];
|
|
frozen: boolean;
|
|
}>;
|
|
/**
|
|
* Custom paginator left section template.
|
|
*/
|
|
paginatorleft(): TemplateRef<any>;
|
|
/**
|
|
* Custom paginator right section template.
|
|
*/
|
|
paginatorright(): TemplateRef<any>;
|
|
/**
|
|
* Custom paginator dropdown template.
|
|
*/
|
|
paginatordropdownitem(): TemplateRef<any>;
|
|
/**
|
|
* Custom frozenheader template.
|
|
* @param {Object} context - frozen header data.
|
|
*/
|
|
frozenheader(context: {
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
$implicit: any[];
|
|
}): TemplateRef<{
|
|
$implicit: any[];
|
|
}>;
|
|
/**
|
|
* Custom frozenbody template.
|
|
*/
|
|
frozenbody(): TemplateRef<any>;
|
|
/**
|
|
* Custom frozenfooter template.
|
|
* @param {Object} context - frozen footer data.
|
|
*/
|
|
frozenfooter(context: {
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
$implicit: any[];
|
|
}): TemplateRef<{
|
|
$implicit: any[];
|
|
}>;
|
|
/**
|
|
* Custom frozen column group template.
|
|
* @param {Object} context - group data.
|
|
*/
|
|
frozencolgroup(context: {
|
|
/**
|
|
* Columns instance.
|
|
*/
|
|
$implicit: any[];
|
|
}): TemplateRef<{
|
|
$implicit: any[];
|
|
}>;
|
|
/**
|
|
* Custom loading icon template.
|
|
*/
|
|
loadingicon(): TemplateRef<any>;
|
|
/**
|
|
* Custom reorder indicator up icon template.
|
|
*/
|
|
reorderindicatorupicon(): TemplateRef<any>;
|
|
/**
|
|
* Custom reorder indicator down icon template.
|
|
*/
|
|
reorderindicatordownicon(): TemplateRef<any>;
|
|
/**
|
|
* Custom sort icon template.
|
|
* @param {Object} context - sort data.
|
|
*/
|
|
sorticon(context: {
|
|
/**
|
|
* Sort order.
|
|
*/
|
|
$implicit: number;
|
|
}): TemplateRef<{
|
|
$implicit: number;
|
|
}>;
|
|
/**
|
|
* Custom checkbox icon template.
|
|
* @param {Object} context - checkbox data.
|
|
*/
|
|
checkboxicon(context: {
|
|
/**
|
|
* Checkbox state.
|
|
*/
|
|
$implicit: boolean;
|
|
/**
|
|
* Partial selection state of row node.
|
|
*/
|
|
partialSelected: boolean;
|
|
}): TemplateRef<{
|
|
$implicit: boolean;
|
|
partialSelected: boolean;
|
|
}>;
|
|
/**
|
|
* Custom header checkbox icon template.
|
|
* @param {Object} context - checkbox data.
|
|
*/
|
|
headercheckboxicon(context: {
|
|
/**
|
|
* Checkbox state.
|
|
*/
|
|
$implicit: boolean;
|
|
}): TemplateRef<{
|
|
$implicit: boolean;
|
|
}>;
|
|
/**
|
|
* Custom toggler icon template.
|
|
* @param {Object} context - toggle icon data.
|
|
*/
|
|
togglericon(context: {
|
|
/**
|
|
* Expand state of row node.
|
|
*/
|
|
$implicit: boolean;
|
|
}): TemplateRef<{
|
|
$implicit: boolean;
|
|
}>;
|
|
/**
|
|
* Custom paginator first page link icon template.
|
|
*/
|
|
paginatorfirstpagelinkicon(): TemplateRef<any>;
|
|
/**
|
|
* Custom paginatorlastpagelinkicon template.
|
|
*/
|
|
paginatorlastpagelinkicon(): TemplateRef<any>;
|
|
/**
|
|
* Custom paginatorpreviouspagelinkicon template.
|
|
*/
|
|
paginatorpreviouspagelinkicon(): TemplateRef<any>;
|
|
/**
|
|
* Custom paginatornextpagelinkicon template.
|
|
*/
|
|
paginatornextpagelinkicon(): TemplateRef<any>;
|
|
}
|