UNPKG

@revolist/angular-datagrid

Version:

Angular DataGrid Spreadsheet component with native cell render support

360 lines (359 loc) 19.4 kB
import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core'; import type { Components } from '@revolist/revogrid/standalone'; import type { MultiDimensionType as IRevoGridMultiDimensionType } from '@revolist/revogrid/standalone'; import type { BeforeSaveDataDetails as IRevoGridBeforeSaveDataDetails } from '@revolist/revogrid/standalone'; import type { BeforeRangeSaveDataDetails as IRevoGridBeforeRangeSaveDataDetails } from '@revolist/revogrid/standalone'; import type { AfterEditEvent as IRevoGridAfterEditEvent } from '@revolist/revogrid/standalone'; import type { ChangedRange as IRevoGridChangedRange } from '@revolist/revogrid/standalone'; import type { FocusAfterRenderEvent as IRevoGridFocusAfterRenderEvent } from '@revolist/revogrid/standalone'; import type { ColumnRegular as IRevoGridColumnRegular } from '@revolist/revogrid/standalone'; import type { DimensionRows as IRevoGridDimensionRows } from '@revolist/revogrid/standalone'; import type { SortingOrder as IRevoGridSortingOrder } from '@revolist/revogrid/standalone'; import type { RowDragStartDetails as IRevoGridRowDragStartDetails } from '@revolist/revogrid/standalone'; import type { FocusedData as IRevoGridFocusedData } from '@revolist/revogrid/standalone'; import type { DataType as IRevoGridDataType } from '@revolist/revogrid/standalone'; import type { ColumnCollection as IRevoGridColumnCollection } from '@revolist/revogrid/standalone'; import type { ColumnProp as IRevoGridColumnProp } from '@revolist/revogrid/standalone'; import type { FilterCollectionItem as IRevoGridFilterCollectionItem } from '@revolist/revogrid/standalone'; import type { ViewPortScrollEvent as IRevoGridViewPortScrollEvent } from '@revolist/revogrid/standalone'; import type { DataInput as IRevoGridDataInput } from '@revolist/revogrid/standalone'; import type { SortingConfig as IRevoGridSortingConfig } from '@revolist/revogrid/standalone'; import type { Theme as IRevoGridTheme } from '@revolist/revogrid/standalone'; import * as i0 from "@angular/core"; export declare class RevoGrid { protected z: NgZone; protected el: HTMLRevoGridElement; contentsizechanged: EventEmitter<CustomEvent<IRevoGridMultiDimensionType>>; beforeedit: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>; beforerangeedit: EventEmitter<CustomEvent<IRevoGridBeforeRangeSaveDataDetails>>; afteredit: EventEmitter<CustomEvent<IRevoGridAfterEditEvent>>; beforeautofill: EventEmitter<CustomEvent<IRevoGridChangedRange>>; beforerange: EventEmitter<CustomEvent<IRevoGridChangedRange>>; afterfocus: EventEmitter<CustomEvent<IRevoGridFocusAfterRenderEvent>>; roworderchanged: EventEmitter<CustomEvent<{ from: number; to: number; }>>; beforesorting: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: "desc" | "asc"; additive: boolean; }>>; beforesourcesortingapply: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; sorting?: IRevoGridSortingOrder; }>>; beforesortingapply: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: "desc" | "asc"; additive: boolean; }>>; rowdragstart: EventEmitter<CustomEvent<IRevoGridRowDragStartDetails>>; headerclick: EventEmitter<CustomEvent<IRevoGridColumnRegular>>; beforecellfocus: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>; beforefocuslost: EventEmitter<CustomEvent<IRevoGridFocusedData | null>>; beforesourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; beforeanysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; aftersourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; afteranysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; beforecolumnsset: EventEmitter<CustomEvent<IRevoGridColumnCollection>>; beforecolumnapplied: EventEmitter<CustomEvent<IRevoGridColumnCollection>>; aftercolumnsset: EventEmitter<CustomEvent<{ columns: IRevoGridColumnCollection; order: IRevoGridSortingOrder; }>>; beforefilterapply: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>; }>>; beforefiltertrimmed: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>; itemsToFilter: Record<number, boolean>; }>>; beforetrimmed: EventEmitter<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>; aftertrimmed: EventEmitter<CustomEvent<any>>; viewportscroll: EventEmitter<CustomEvent<IRevoGridViewPortScrollEvent>>; beforeexport: EventEmitter<CustomEvent<IRevoGridDataInput>>; beforeeditstart: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>; aftercolumnresize: EventEmitter<CustomEvent<{ [index: number]: IRevoGridColumnRegular; }>>; beforerowdefinition: EventEmitter<CustomEvent<{ vals: any; oldVals: any; }>>; filterconfigchanged: EventEmitter<CustomEvent<any>>; sortingconfigchanged: EventEmitter<CustomEvent<IRevoGridSortingConfig>>; rowheaderschanged: EventEmitter<CustomEvent<any>>; beforegridrender: EventEmitter<CustomEvent<any>>; aftergridrender: EventEmitter<CustomEvent<any>>; aftergridinit: EventEmitter<CustomEvent<any>>; additionaldatachanged: EventEmitter<CustomEvent<any>>; afterthemechanged: EventEmitter<CustomEvent<IRevoGridTheme>>; created: EventEmitter<CustomEvent<any>>; constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone); static ɵfac: i0.ɵɵFactoryDeclaration<RevoGrid, never>; static ɵcmp: i0.ɵɵComponentDeclaration<RevoGrid, "revo-grid", never, { "accessible": { "alias": "accessible"; "required": false; }; "additionalData": { "alias": "additionalData"; "required": false; }; "applyOnClose": { "alias": "applyOnClose"; "required": false; }; "autoSizeColumn": { "alias": "autoSizeColumn"; "required": false; }; "canDrag": { "alias": "canDrag"; "required": false; }; "canFocus": { "alias": "canFocus"; "required": false; }; "canMoveColumns": { "alias": "canMoveColumns"; "required": false; }; "colSize": { "alias": "colSize"; "required": false; }; "columnTypes": { "alias": "columnTypes"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "disableVirtualX": { "alias": "disableVirtualX"; "required": false; }; "disableVirtualY": { "alias": "disableVirtualY"; "required": false; }; "editors": { "alias": "editors"; "required": false; }; "exporting": { "alias": "exporting"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "focusTemplate": { "alias": "focusTemplate"; "required": false; }; "frameSize": { "alias": "frameSize"; "required": false; }; "grouping": { "alias": "grouping"; "required": false; }; "hideAttribution": { "alias": "hideAttribution"; "required": false; }; "jobsBeforeRender": { "alias": "jobsBeforeRender"; "required": false; }; "pinnedBottomSource": { "alias": "pinnedBottomSource"; "required": false; }; "pinnedTopSource": { "alias": "pinnedTopSource"; "required": false; }; "plugins": { "alias": "plugins"; "required": false; }; "range": { "alias": "range"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "registerVNode": { "alias": "registerVNode"; "required": false; }; "resize": { "alias": "resize"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "rowDefinitions": { "alias": "rowDefinitions"; "required": false; }; "rowHeaders": { "alias": "rowHeaders"; "required": false; }; "rowSize": { "alias": "rowSize"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "sorting": { "alias": "sorting"; "required": false; }; "source": { "alias": "source"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "trimmedRows": { "alias": "trimmedRows"; "required": false; }; "useClipboard": { "alias": "useClipboard"; "required": false; }; }, { "contentsizechanged": "contentsizechanged"; "beforeedit": "beforeedit"; "beforerangeedit": "beforerangeedit"; "afteredit": "afteredit"; "beforeautofill": "beforeautofill"; "beforerange": "beforerange"; "afterfocus": "afterfocus"; "roworderchanged": "roworderchanged"; "beforesorting": "beforesorting"; "beforesourcesortingapply": "beforesourcesortingapply"; "beforesortingapply": "beforesortingapply"; "rowdragstart": "rowdragstart"; "headerclick": "headerclick"; "beforecellfocus": "beforecellfocus"; "beforefocuslost": "beforefocuslost"; "beforesourceset": "beforesourceset"; "beforeanysource": "beforeanysource"; "aftersourceset": "aftersourceset"; "afteranysource": "afteranysource"; "beforecolumnsset": "beforecolumnsset"; "beforecolumnapplied": "beforecolumnapplied"; "aftercolumnsset": "aftercolumnsset"; "beforefilterapply": "beforefilterapply"; "beforefiltertrimmed": "beforefiltertrimmed"; "beforetrimmed": "beforetrimmed"; "aftertrimmed": "aftertrimmed"; "viewportscroll": "viewportscroll"; "beforeexport": "beforeexport"; "beforeeditstart": "beforeeditstart"; "aftercolumnresize": "aftercolumnresize"; "beforerowdefinition": "beforerowdefinition"; "filterconfigchanged": "filterconfigchanged"; "sortingconfigchanged": "sortingconfigchanged"; "rowheaderschanged": "rowheaderschanged"; "beforegridrender": "beforegridrender"; "aftergridrender": "aftergridrender"; "aftergridinit": "aftergridinit"; "additionaldatachanged": "additionaldatachanged"; "afterthemechanged": "afterthemechanged"; "created": "created"; }, never, ["*"], true, never>; } export declare interface RevoGrid extends Components.RevoGrid { /** * New content size has been applied. The size excludes the header. Currently, the event responsible for applying the new content size does not provide the actual size. To retrieve the actual content size, you can utilize the `getContentSize` function after the event has been triggered. */ contentsizechanged: EventEmitter<CustomEvent<IRevoGridMultiDimensionType>>; /** * Before the data is edited. To prevent the default behavior of editing data and use your own implementation, call `e.preventDefault()`. To override the edit result with your own value, set the `e.val` property to your desired value. */ beforeedit: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>; /** * Before applying range data, specifically when a range selection occurs. To customize the data and prevent the default edit data from being set, you can call `e.preventDefault()`. */ beforerangeedit: EventEmitter<CustomEvent<IRevoGridBeforeRangeSaveDataDetails>>; /** * After data applied or range changed. */ afteredit: EventEmitter<CustomEvent<IRevoGridAfterEditEvent>>; /** * Before autofill is applied. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`. */ beforeautofill: EventEmitter<CustomEvent<IRevoGridChangedRange>>; /** * Before autofill is applied. Runs before beforeautofill event. Use e.preventDefault() to prevent range. */ beforerange: EventEmitter<CustomEvent<IRevoGridChangedRange>>; /** * After focus render finished. Can be used to access a focus element through `event.target`. This is just a duplicate of `afterfocus` from `revogr-focus.tsx`. */ afterfocus: EventEmitter<CustomEvent<IRevoGridFocusAfterRenderEvent>>; /** * Before the order of `rgRow` is applied. To prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`. */ roworderchanged: EventEmitter<CustomEvent<{ from: number; to: number; }>>; /** * By `SortingPlugin` <br>Triggered immediately after header click. <br>First in sorting event sequence. Ff this event stops no other event called. <br>Use `e.preventDefault()` to prevent sorting. */ beforesorting: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>; /** * By `SortingPlugin` <br>Same as `beforesorting` but triggered after `beforeanysource` (when source is changed). <br>Use `e.preventDefault()` to prevent sorting data change. */ beforesourcesortingapply: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; sorting?: IRevoGridSortingOrder; }>>; /** * By `SortingPlugin` <br> After `beforesorting` <br>Triggered after column data updated with new sorting order. <br>Use `e.preventDefault()` to prevent sorting data change. */ beforesortingapply: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>; /** * This event is triggered when the row order change is started. To prevent the default behavior of changing the row order, you can call `e.preventDefault()`. To change the item name at the start of the row order change, you can set `e.text` to the desired new name. */ rowdragstart: EventEmitter<CustomEvent<IRevoGridRowDragStartDetails>>; /** * On header click. */ headerclick: EventEmitter<CustomEvent<IRevoGridColumnRegular>>; /** * Before the cell focus is changed. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`. */ beforecellfocus: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>; /** * Before the grid focus is lost. To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`. */ beforefocuslost: EventEmitter<CustomEvent<IRevoGridFocusedData | null>>; /** * Before main source/rows data apply. You can override data source here */ beforesourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; /** * Before data apply on any source type. Can be source from pinned and main viewport. You can override data source here */ beforeanysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; /** * After main source/rows updated */ aftersourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; /** * Emitted after each source update, whether from the pinned or main viewport. Useful for tracking all changes originating from sources in both the pinned and main viewports. */ afteranysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>; /** * Emitted before a column update is applied. Listeners can use this event to perform any necessary actions or modifications before the column update is finalized. */ beforecolumnsset: EventEmitter<CustomEvent<IRevoGridColumnCollection>>; /** * Emitted before a column update is applied, after the column set is gathered and the viewport is updated. Useful for performing actions or modifications before the final application of the column update. */ beforecolumnapplied: EventEmitter<CustomEvent<IRevoGridColumnCollection>>; /** * Column updated */ aftercolumnsset: EventEmitter<CustomEvent<{ columns: IRevoGridColumnCollection; order: IRevoGridSortingOrder; }>>; /** * Emitted before applying a filter to the data source. Use e.preventDefault() to prevent cell focus change. Modify if you need to change filters. */ beforefilterapply: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>; }>>; /** * Emitted before applying a filter to the data source. Use e.preventDefault() to prevent the default behavior of trimming values and applying the filter. Modify the `collection` property if you want to change the filters. Modify the `itemsToFilter` property if you want to filter the indexes for trimming. */ beforefiltertrimmed: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>; itemsToFilter: Record<number, boolean>; }>>; /** * Emitted before trimming values. Use e.preventDefault() to prevent the default behavior of trimming values. Modify the `trimmed` property if you want to filter the indexes for trimming. */ beforetrimmed: EventEmitter<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>; /** * Emitted after trimmed values have been applied. Useful for notifying when trimming of values has taken place. */ aftertrimmed: EventEmitter<CustomEvent<any>>; /** * Emitted when the viewport is scrolled. Useful for tracking viewport scrolling events. */ viewportscroll: EventEmitter<CustomEvent<IRevoGridViewPortScrollEvent>>; /** * Before export Use e.preventDefault() to prevent export Replace data in Event in case you want to modify it in export */ beforeexport: EventEmitter<CustomEvent<IRevoGridDataInput>>; /** * Emitted before editing starts. Use e.preventDefault() to prevent the default edit behavior. */ beforeeditstart: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>; /** * Emitted after column resizing. Useful for retrieving the resized columns. */ aftercolumnresize: EventEmitter<CustomEvent<{ [index: number]: IRevoGridColumnRegular; }>>; /** * Emitted before the row definition is applied. Useful for modifying or preventing the default row definition behavior. */ beforerowdefinition: EventEmitter<CustomEvent<{ vals: any; oldVals: any; }>>; /** * Emitted when the filter configuration is changed */ filterconfigchanged: EventEmitter<CustomEvent<any>>; /** * Emitted when the sorting configuration is changed SortingPlugin subsribed to this event */ sortingconfigchanged: EventEmitter<CustomEvent<IRevoGridSortingConfig>>; /** * Emmited when the row headers are changed. */ rowheaderschanged: EventEmitter<CustomEvent<any>>; /** * Emmited before the grid is rendered. */ beforegridrender: EventEmitter<CustomEvent<any>>; /** * Emmited after the grid is rendered. */ aftergridrender: EventEmitter<CustomEvent<any>>; /** * Emmited after the grid is initialized. Connected to the DOM. */ aftergridinit: EventEmitter<CustomEvent<any>>; /** * Emmited after the additional data is changed */ additionaldatachanged: EventEmitter<CustomEvent<any>>; /** * Emmited after the theme is changed */ afterthemechanged: EventEmitter<CustomEvent<IRevoGridTheme>>; /** * Emmited after grid created */ created: EventEmitter<CustomEvent<any>>; }