@mhmdaljefri/revogrid
Version:
Virtual reactive data grid component - RevoGrid.
868 lines (867 loc) • 36.3 kB
TypeScript
/* eslint-disable */
/* tslint:disable */
/**
* This is an autogenerated file created by the Stencil compiler.
* It contains typing information for all components that exist in this project.
*/
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
import { Edition, Observable, RevoGrid, RevoPlugin, Selection, ThemeSpace } from "./interfaces";
import { AutoSizeColumnConfig } from "./plugins/autoSizeColumn";
import { ColumnFilterConfig, FilterCollection } from "./plugins/filter/filter.plugin";
import { GroupingOptions } from "./plugins/groupingRow/grouping.row.types";
import { FocusedData } from "./components/revo-grid/viewport.service";
import { ColumnCollection } from "./services/column.data.provider";
import { DataInput } from "./plugins/export/types";
import { VNode } from "./stencil-public-runtime";
import { ColumnSource, RowSource } from "./components/data/columnService";
import { LogicFunction } from "./plugins/filter/filter.types";
import { FilterItem, ShowData } from "./plugins/filter/filter.pop";
import { DataSourceState, Groups } from "./store/dataSource/data.store";
import { ViewportData } from "./components/revo-grid/viewport.interfaces";
import { ElementScroll } from "./components/revo-grid/viewport.scrolling.service";
export namespace Components {
interface RevoGrid {
/**
* Add trimmed by type
*/
"addTrimmed": (trimmed: Record<number, boolean>, trimmedType?: string, type?: RevoGrid.DimensionRows) => Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>;
/**
* Autosize config Enable columns autoSize, for more details check @autoSizeColumn plugin By default disabled, hence operation is not resource efficient true to enable with default params (double header separator click for autosize) or provide config
*/
"autoSizeColumn": boolean | AutoSizeColumnConfig;
/**
* When true cell focus appear.
*/
"canFocus": boolean;
/**
* Clear current grid focus
*/
"clearFocus": () => Promise<void>;
/**
* Clears column sorting
*/
"clearSorting": () => Promise<void>;
/**
* Indicates default column size.
*/
"colSize": number;
/**
* Types Every type represent multiple column properties Types will be merged but can be replaced with column properties
*/
"columnTypes": { [name: string]: RevoGrid.ColumnType };
/**
* Columns - defines an array of grid columns. Can be column or grouped column.
*/
"columns": (RevoGrid.ColumnRegular | RevoGrid.ColumnGrouping)[];
/**
* Custom editors register
*/
"editors": Edition.Editors;
/**
* Enables export plugin Can be boolean Can be export options
*/
"exporting": boolean;
/**
* Enables filter plugin Can be boolean Can be filter collection
*/
"filter": boolean | ColumnFilterConfig;
/**
* Defines how many rows/columns should be rendered outside visible area.
*/
"frameSize": number;
/**
* Provides access to column internal store observer Can be used for plugin support
* @param type - type of column
*/
"getColumnStore": (type?: RevoGrid.DimensionCols) => Promise<ColumnSource>;
/**
* Receive all columns in data source
*/
"getColumns": () => Promise<RevoGrid.ColumnRegular[]>;
/**
* Get all active plugins instances
*/
"getFocused": () => Promise<FocusedData | null>;
/**
* Get all active plugins instances
*/
"getPlugins": () => Promise<RevoPlugin.Plugin[]>;
/**
* Get data from source
*/
"getSource": (type?: RevoGrid.DimensionRows) => Promise<RevoGrid.DataType[]>;
/**
* Provides access to rows internal store observer Can be used for plugin support
* @param type - type of source
*/
"getSourceStore": (type?: RevoGrid.DimensionRows) => Promise<RowSource>;
/**
* Get data from visible part of source Trimmed/filtered rows will be excluded
* @param type - type of source
*/
"getVisibleSource": (type?: RevoGrid.DimensionRows) => Promise<any[]>;
/**
* Group models by provided properties Define properties to be groped by
*/
"grouping": GroupingOptions;
/**
* Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source.
*/
"pinnedBottomSource": RevoGrid.DataType[];
/**
* Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source.
*/
"pinnedTopSource": RevoGrid.DataType[];
/**
* Custom grid plugins Has to be predefined during first grid init Every plugin should be inherited from BasePlugin
*/
"plugins": RevoPlugin.PluginClass[];
/**
* When true, user can range selection.
*/
"range": boolean;
/**
* When true, grid in read only mode.
*/
"readonly": boolean;
/**
* Refreshes data viewport. Can be specific part as rgRow or pinned rgRow or 'all' by default.
*/
"refresh": (type?: RevoGrid.DimensionRows | 'all') => Promise<void>;
/**
* Register new virtual node inside of grid Used for additional items creation such as plugin elements
*/
"registerVNode": (elements: VNode[]) => Promise<void>;
/**
* When true, columns are resizable.
*/
"resize": boolean;
/**
* Row class property Define this property in rgRow object and this will be mapped as rgRow class
*/
"rowClass": string;
/**
* Row properies applied
*/
"rowDefinitions": RevoGrid.RowDefinition[];
/**
* Excel like show rgRow indexe per rgRow
*/
"rowHeaders": RevoGrid.RowHeaders | boolean;
/**
* Indicates default rgRow size. By default 0, means theme package size will be applied
*/
"rowSize": number;
/**
* Scrolls view port to specified column index
*/
"scrollToColumnIndex": (coordinate?: number) => Promise<void>;
/**
* Scrolls view port to specified column prop
*/
"scrollToColumnProp": (prop: RevoGrid.ColumnProp) => Promise<void>;
/**
* Scrolls view port to coordinate
*/
"scrollToCoordinate": (cell: Partial<Selection.Cell>) => Promise<void>;
/**
* Scrolls view port to specified rgRow index
*/
"scrollToRow": (coordinate?: number) => Promise<void>;
/**
* Bring cell to edit mode
*/
"setCellEdit": (rgRow: number, prop: RevoGrid.ColumnProp, rowSource?: RevoGrid.DimensionRows) => Promise<void>;
/**
* Source - defines main data source. Can be an Object or 2 dimensional array([][]); Keys/indexes referenced from columns Prop
*/
"source": RevoGrid.DataType[];
/**
* Defines stretch strategy for columns with @StretchColumn plugin if there are more space on the right last column size would be increased
*/
"stretch": boolean|string;
/**
* Theme name
*/
"theme": ThemeSpace.Theme;
/**
* Trimmed rows Functionality which allows to hide rows from main data set
* @trimmedRows are physical rgRow indexes to hide
*/
"trimmedRows": Record<number, boolean>;
/**
* Update column sorting
* @param column - full column details to update
* @param index - virtual column index
* @param order - order to apply
*/
"updateColumnSorting": (column: RevoGrid.ColumnRegular, index: number, order: 'asc' | 'desc', additive: boolean) => Promise<RevoGrid.ColumnRegular>;
/**
* Update columns
*/
"updateColumns": (cols: RevoGrid.ColumnRegular[]) => Promise<void>;
/**
* When true enable clipboard.
*/
"useClipboard": boolean;
}
interface RevogrClipboard {
"doCopy": (e: DataTransfer, data?: RevoGrid.DataFormat[][]) => Promise<void>;
}
interface RevogrData {
"canDrag": boolean;
/**
* Static stores, not expected to change during component lifetime
*/
"colData": ColumnSource;
"dataStore": RowSource;
"dimensionRow": Observable<RevoGrid.DimensionSettingsState>;
"range": boolean;
"readonly": boolean;
"rowClass": string;
"rowSelectionStore": Observable<Selection.SelectionStoreState>;
"viewportCol": Observable<RevoGrid.ViewportState>;
"viewportRow": Observable<RevoGrid.ViewportState>;
}
interface RevogrEdit {
"column": RevoGrid.ColumnRegular | null;
"editCell": Edition.EditCell;
/**
* Custom editors register
*/
"editor": Edition.EditorCtr | null;
}
interface RevogrFilterPanel {
"filterEntities": Record<string, LogicFunction>;
"filterNames": Record<string, string>;
"filterTypes": Record<string, string[]>;
"getChanges": () => Promise<ShowData>;
"show": (newEntity?: ShowData) => Promise<void>;
"uuid": string;
}
interface RevogrFocus {
"dimensionCol": Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow": Observable<RevoGrid.DimensionSettingsState>;
/**
* Dynamic stores
*/
"selectionStore": Observable<Selection.SelectionStoreState>;
}
interface RevogrHeader {
"canResize": boolean;
"colData": RevoGrid.ColumnRegular[];
"columnFilter": boolean;
"dimensionCol": Observable<RevoGrid.DimensionSettingsState>;
"groupingDepth": number;
"groups": Groups;
"parent": string;
"selectionStore": Observable<Selection.SelectionStoreState>;
"viewportCol": Observable<RevoGrid.ViewportState>;
}
interface RevogrOrderEditor {
"clearOrder": () => Promise<void>;
/**
* Static stores, not expected to change during component lifetime
*/
"dataStore": Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>;
"dimensionCol": Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow": Observable<RevoGrid.DimensionSettingsState>;
"dragStart": (e: MouseEvent) => Promise<void>;
"endOrder": (e: MouseEvent) => Promise<void>;
"parent": HTMLElement;
}
interface RevogrOverlaySelection {
"canDrag": boolean;
"colData": Observable<DataSourceState<RevoGrid.ColumnRegular, RevoGrid.DimensionCols>>;
/**
* Static stores, not expected to change during component lifetime
*/
"dataStore": Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>;
"dimensionCol": Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow": Observable<RevoGrid.DimensionSettingsState>;
/**
* Custom editors register
*/
"editors": Edition.Editors;
/**
* Last cell position
*/
"lastCell": Selection.Cell;
"range": boolean;
"readonly": boolean;
/**
* Dynamic stores
*/
"selectionStore": Observable<Selection.SelectionStoreState>;
"useClipboard": boolean;
}
interface RevogrRowHeaders {
"dataPorts": ViewportData[];
"headerProp": Record<string, any>;
"height": number;
"resize": boolean;
"rowHeaderColumn": RevoGrid.RowHeaders;
"uiid": string;
}
interface RevogrScrollVirtual {
"changeScroll": (e: RevoGrid.ViewPortScrollEvent) => Promise<RevoGrid.ViewPortScrollEvent>;
"dimension": RevoGrid.DimensionType;
"dimensionStore": Observable<RevoGrid.DimensionSettingsState>;
"setScroll": (e: RevoGrid.ViewPortScrollEvent) => Promise<void>;
"viewportStore": Observable<RevoGrid.ViewportState>;
}
interface RevogrTempRange {
"dimensionCol": Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow": Observable<RevoGrid.DimensionSettingsState>;
/**
* Dynamic stores
*/
"selectionStore": Observable<Selection.SelectionStoreState>;
}
interface RevogrViewportScroll {
/**
* update on delta in case we don't know existing position or external change
* @param e
*/
"changeScroll": (e: RevoGrid.ViewPortScrollEvent) => Promise<RevoGrid.ViewPortScrollEvent>;
/**
* Height of inner content
*/
"contentHeight": number;
/**
* Width of inner content
*/
"contentWidth": number;
"setScroll": (e: RevoGrid.ViewPortScrollEvent) => Promise<void>;
}
}
declare global {
interface HTMLRevoGridElement extends Components.RevoGrid, HTMLStencilElement {
}
var HTMLRevoGridElement: {
prototype: HTMLRevoGridElement;
new (): HTMLRevoGridElement;
};
interface HTMLRevogrClipboardElement extends Components.RevogrClipboard, HTMLStencilElement {
}
var HTMLRevogrClipboardElement: {
prototype: HTMLRevogrClipboardElement;
new (): HTMLRevogrClipboardElement;
};
interface HTMLRevogrDataElement extends Components.RevogrData, HTMLStencilElement {
}
var HTMLRevogrDataElement: {
prototype: HTMLRevogrDataElement;
new (): HTMLRevogrDataElement;
};
interface HTMLRevogrEditElement extends Components.RevogrEdit, HTMLStencilElement {
}
var HTMLRevogrEditElement: {
prototype: HTMLRevogrEditElement;
new (): HTMLRevogrEditElement;
};
interface HTMLRevogrFilterPanelElement extends Components.RevogrFilterPanel, HTMLStencilElement {
}
var HTMLRevogrFilterPanelElement: {
prototype: HTMLRevogrFilterPanelElement;
new (): HTMLRevogrFilterPanelElement;
};
interface HTMLRevogrFocusElement extends Components.RevogrFocus, HTMLStencilElement {
}
var HTMLRevogrFocusElement: {
prototype: HTMLRevogrFocusElement;
new (): HTMLRevogrFocusElement;
};
interface HTMLRevogrHeaderElement extends Components.RevogrHeader, HTMLStencilElement {
}
var HTMLRevogrHeaderElement: {
prototype: HTMLRevogrHeaderElement;
new (): HTMLRevogrHeaderElement;
};
interface HTMLRevogrOrderEditorElement extends Components.RevogrOrderEditor, HTMLStencilElement {
}
var HTMLRevogrOrderEditorElement: {
prototype: HTMLRevogrOrderEditorElement;
new (): HTMLRevogrOrderEditorElement;
};
interface HTMLRevogrOverlaySelectionElement extends Components.RevogrOverlaySelection, HTMLStencilElement {
}
var HTMLRevogrOverlaySelectionElement: {
prototype: HTMLRevogrOverlaySelectionElement;
new (): HTMLRevogrOverlaySelectionElement;
};
interface HTMLRevogrRowHeadersElement extends Components.RevogrRowHeaders, HTMLStencilElement {
}
var HTMLRevogrRowHeadersElement: {
prototype: HTMLRevogrRowHeadersElement;
new (): HTMLRevogrRowHeadersElement;
};
interface HTMLRevogrScrollVirtualElement extends Components.RevogrScrollVirtual, HTMLStencilElement {
}
var HTMLRevogrScrollVirtualElement: {
prototype: HTMLRevogrScrollVirtualElement;
new (): HTMLRevogrScrollVirtualElement;
};
interface HTMLRevogrTempRangeElement extends Components.RevogrTempRange, HTMLStencilElement {
}
var HTMLRevogrTempRangeElement: {
prototype: HTMLRevogrTempRangeElement;
new (): HTMLRevogrTempRangeElement;
};
interface HTMLRevogrViewportScrollElement extends Components.RevogrViewportScroll, HTMLStencilElement {
}
var HTMLRevogrViewportScrollElement: {
prototype: HTMLRevogrViewportScrollElement;
new (): HTMLRevogrViewportScrollElement;
};
interface HTMLElementTagNameMap {
"revo-grid": HTMLRevoGridElement;
"revogr-clipboard": HTMLRevogrClipboardElement;
"revogr-data": HTMLRevogrDataElement;
"revogr-edit": HTMLRevogrEditElement;
"revogr-filter-panel": HTMLRevogrFilterPanelElement;
"revogr-focus": HTMLRevogrFocusElement;
"revogr-header": HTMLRevogrHeaderElement;
"revogr-order-editor": HTMLRevogrOrderEditorElement;
"revogr-overlay-selection": HTMLRevogrOverlaySelectionElement;
"revogr-row-headers": HTMLRevogrRowHeadersElement;
"revogr-scroll-virtual": HTMLRevogrScrollVirtualElement;
"revogr-temp-range": HTMLRevogrTempRangeElement;
"revogr-viewport-scroll": HTMLRevogrViewportScrollElement;
}
}
declare namespace LocalJSX {
interface RevoGrid {
/**
* Autosize config Enable columns autoSize, for more details check @autoSizeColumn plugin By default disabled, hence operation is not resource efficient true to enable with default params (double header separator click for autosize) or provide config
*/
"autoSizeColumn"?: boolean | AutoSizeColumnConfig;
/**
* When true cell focus appear.
*/
"canFocus"?: boolean;
/**
* Indicates default column size.
*/
"colSize"?: number;
/**
* Types Every type represent multiple column properties Types will be merged but can be replaced with column properties
*/
"columnTypes"?: { [name: string]: RevoGrid.ColumnType };
/**
* Columns - defines an array of grid columns. Can be column or grouped column.
*/
"columns"?: (RevoGrid.ColumnRegular | RevoGrid.ColumnGrouping)[];
/**
* Custom editors register
*/
"editors"?: Edition.Editors;
/**
* Enables export plugin Can be boolean Can be export options
*/
"exporting"?: boolean;
/**
* Enables filter plugin Can be boolean Can be filter collection
*/
"filter"?: boolean | ColumnFilterConfig;
/**
* Defines how many rows/columns should be rendered outside visible area.
*/
"frameSize"?: number;
/**
* Group models by provided properties Define properties to be groped by
*/
"grouping"?: GroupingOptions;
/**
* After column resize Get resized columns
*/
"onAftercolumnresize"?: (event: CustomEvent<Record<RevoGrid.ColumnProp, RevoGrid.ColumnRegular>>) => void;
/**
* Column updated
*/
"onAftercolumnsset"?: (event: CustomEvent<{
columns: ColumnCollection;
order: Record<RevoGrid.ColumnProp, 'asc' | 'desc'>;
}>) => void;
/**
* After edit. Triggered when after data applied or Range changeged.
*/
"onAfteredit"?: (event: CustomEvent<Edition.BeforeSaveDataDetails | Edition.BeforeRangeSaveDataDetails>) => void;
/**
* After rows updated
*/
"onAftersourceset"?: (event: CustomEvent<{
type: RevoGrid.DimensionRows;
source: RevoGrid.DataType[];
}>) => void;
/**
* Notify trimmed applied
*/
"onAftertrimmed"?: (event: CustomEvent<any>) => void;
/**
* Before range apply. Triggered before range applied. Use e.preventDefault() to prevent range.
*/
"onBeforeaange"?: (event: CustomEvent<Selection.ChangedRange>) => void;
/**
* Before autofill. Triggered before autofill applied. Use e.preventDefault() to prevent edit data apply.
*/
"onBeforeautofill"?: (event: CustomEvent<Selection.ChangedRange>) => void;
/**
* Before cell focus changed. Use e.preventDefault() to prevent cell focus change.
*/
"onBeforecellfocus"?: (event: CustomEvent<Edition.BeforeSaveDataDetails>) => void;
/**
* Before column applied but after column set gathered and viewport updated
*/
"onBeforecolumnapplied"?: (event: CustomEvent<ColumnCollection>) => void;
/**
* Before column update
*/
"onBeforecolumnsset"?: (event: CustomEvent<ColumnCollection>) => void;
/**
* Before edit event. Triggered before edit data applied. Use e.preventDefault() to prevent edit data set and use you own. Use e.val = {your value} to replace edit result with your own.
*/
"onBeforeedit"?: (event: CustomEvent<Edition.BeforeSaveDataDetails>) => void;
/**
* Before edit started Use e.preventDefault() to prevent edit
*/
"onBeforeeditstart"?: (event: CustomEvent<Edition.BeforeSaveDataDetails>) => void;
/**
* Before export Use e.preventDefault() to prevent export Replace data in Event in case you want to modify it in export
*/
"onBeforeexport"?: (event: CustomEvent<DataInput>) => void;
/**
* Before filter applied to data source Use e.preventDefault() to prevent cell focus change Update @collection if you wish to change filters
*/
"onBeforefilterapply"?: (event: CustomEvent<{ collection: FilterCollection }>) => void;
/**
* Before filter trimmed values Use e.preventDefault() to prevent value trimming and filter apply Update @collection if you wish to change filters Update @itemsToFilter if you wish to filter indexes of trimming
*/
"onBeforefiltertrimmed"?: (event: CustomEvent<{ collection: FilterCollection; itemsToFilter: Record<number, boolean> }>) => void;
/**
* Before grid focus lost happened. Use e.preventDefault() to prevent cell focus change.
*/
"onBeforefocuslost"?: (event: CustomEvent<FocusedData|null>) => void;
/**
* Before range edit event. Triggered before range data applied, when range selection happened. Use e.preventDefault() to prevent edit data set and use you own.
*/
"onBeforerangeedit"?: (event: CustomEvent<Edition.BeforeRangeSaveDataDetails>) => void;
/**
* Before sorting event. Initial sorting triggered, if this event stops no other event called. Use e.preventDefault() to prevent sorting.
*/
"onBeforesorting"?: (event: CustomEvent<{
column: RevoGrid.ColumnRegular;
order: 'desc' | 'asc';
additive: boolean;
}>) => void;
/**
* Before sorting apply. Use e.preventDefault() to prevent sorting data change.
*/
"onBeforesortingapply"?: (event: CustomEvent<{
column: RevoGrid.ColumnRegular;
order: 'desc' | 'asc';
additive: boolean;
}>) => void;
/**
* Before data apply. You can override data source here
*/
"onBeforesourceset"?: (event: CustomEvent<{
type: RevoGrid.DimensionRows;
source: RevoGrid.DataType[];
}>) => void;
/**
* Before source update sorting apply. Use this event if you intended to prevent sorting on data update. Use e.preventDefault() to prevent sorting data change during rows source update.
*/
"onBeforesourcesortingapply"?: (event: CustomEvent<any>) => void;
/**
* Before trimmed values Use e.preventDefault() to prevent value trimming Update @trimmed if you wish to filter indexes of trimming
*/
"onBeforetrimmed"?: (event: CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string }>) => void;
/**
* On header click.
*/
"onHeaderclick"?: (event: CustomEvent<RevoGrid.ColumnRegular>) => void;
/**
* Row order change started. Use e.preventDefault() to prevent rgRow order change. Use e.text = 'new name' to change item name on start.
*/
"onRowdragstart"?: (event: CustomEvent<{ pos: RevoGrid.PositionItem; text: string }>) => void;
/**
* Before rgRow order apply. Use e.preventDefault() to prevent rgRow order change.
*/
"onRoworderchanged"?: (event: CustomEvent<{ from: number; to: number }>) => void;
/**
* Triggered when view port scrolled
*/
"onViewportscroll"?: (event: CustomEvent<RevoGrid.ViewPortScrollEvent>) => void;
/**
* Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source.
*/
"pinnedBottomSource"?: RevoGrid.DataType[];
/**
* Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source.
*/
"pinnedTopSource"?: RevoGrid.DataType[];
/**
* Custom grid plugins Has to be predefined during first grid init Every plugin should be inherited from BasePlugin
*/
"plugins"?: RevoPlugin.PluginClass[];
/**
* When true, user can range selection.
*/
"range"?: boolean;
/**
* When true, grid in read only mode.
*/
"readonly"?: boolean;
/**
* When true, columns are resizable.
*/
"resize"?: boolean;
/**
* Row class property Define this property in rgRow object and this will be mapped as rgRow class
*/
"rowClass"?: string;
/**
* Row properies applied
*/
"rowDefinitions"?: RevoGrid.RowDefinition[];
/**
* Excel like show rgRow indexe per rgRow
*/
"rowHeaders"?: RevoGrid.RowHeaders | boolean;
/**
* Indicates default rgRow size. By default 0, means theme package size will be applied
*/
"rowSize"?: number;
/**
* Source - defines main data source. Can be an Object or 2 dimensional array([][]); Keys/indexes referenced from columns Prop
*/
"source"?: RevoGrid.DataType[];
/**
* Defines stretch strategy for columns with @StretchColumn plugin if there are more space on the right last column size would be increased
*/
"stretch"?: boolean|string;
/**
* Theme name
*/
"theme"?: ThemeSpace.Theme;
/**
* Trimmed rows Functionality which allows to hide rows from main data set
* @trimmedRows are physical rgRow indexes to hide
*/
"trimmedRows"?: Record<number, boolean>;
/**
* When true enable clipboard.
*/
"useClipboard"?: boolean;
}
interface RevogrClipboard {
"onCopyRegion"?: (event: CustomEvent<DataTransfer>) => void;
"onPasteRegion"?: (event: CustomEvent<string[][]>) => void;
}
interface RevogrData {
"canDrag"?: boolean;
/**
* Static stores, not expected to change during component lifetime
*/
"colData"?: ColumnSource;
"dataStore"?: RowSource;
"dimensionRow"?: Observable<RevoGrid.DimensionSettingsState>;
"onDragStartCell"?: (event: CustomEvent<MouseEvent>) => void;
"range"?: boolean;
"readonly"?: boolean;
"rowClass"?: string;
"rowSelectionStore"?: Observable<Selection.SelectionStoreState>;
"viewportCol"?: Observable<RevoGrid.ViewportState>;
"viewportRow"?: Observable<RevoGrid.ViewportState>;
}
interface RevogrEdit {
"column"?: RevoGrid.ColumnRegular | null;
"editCell"?: Edition.EditCell;
/**
* Custom editors register
*/
"editor"?: Edition.EditorCtr | null;
"onCellEdit"?: (event: CustomEvent<Edition.SaveDataDetails>) => void;
/**
* Close editor event
*/
"onCloseEdit"?: (event: CustomEvent<boolean | undefined>) => void;
}
interface RevogrFilterPanel {
"filterEntities"?: Record<string, LogicFunction>;
"filterNames"?: Record<string, string>;
"filterTypes"?: Record<string, string[]>;
"onFilterChange"?: (event: CustomEvent<FilterItem>) => void;
"uuid"?: string;
}
interface RevogrFocus {
"dimensionCol"?: Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow"?: Observable<RevoGrid.DimensionSettingsState>;
/**
* Dynamic stores
*/
"selectionStore"?: Observable<Selection.SelectionStoreState>;
}
interface RevogrHeader {
"canResize"?: boolean;
"colData"?: RevoGrid.ColumnRegular[];
"columnFilter"?: boolean;
"dimensionCol"?: Observable<RevoGrid.DimensionSettingsState>;
"groupingDepth"?: number;
"groups"?: Groups;
"onHeaderdblClick"?: (event: CustomEvent<RevoGrid.InitialHeaderClick>) => void;
"onHeaderresize"?: (event: CustomEvent<RevoGrid.ViewSettingSizeProp>) => void;
"onInitialHeaderClick"?: (event: CustomEvent<RevoGrid.InitialHeaderClick>) => void;
"parent"?: string;
"selectionStore"?: Observable<Selection.SelectionStoreState>;
"viewportCol"?: Observable<RevoGrid.ViewportState>;
}
interface RevogrOrderEditor {
/**
* Static stores, not expected to change during component lifetime
*/
"dataStore"?: Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>;
"dimensionCol"?: Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow"?: Observable<RevoGrid.DimensionSettingsState>;
/**
* Row dragged, new range ready to be applied
*/
"onInitialRowDropped"?: (event: CustomEvent<{ from: number; to: number }>) => void;
/**
* Row move
*/
"onInternalRowDrag"?: (event: CustomEvent<RevoGrid.PositionItem>) => void;
/**
* Row drag ended
*/
"onInternalRowDragEnd"?: (event: CustomEvent<any>) => void;
/**
* Row drag started
*/
"onInternalRowDragStart"?: (event: CustomEvent<{
cell: Selection.Cell;
text: string;
pos: RevoGrid.PositionItem;
event: MouseEvent;
}>) => void;
/**
* Row mouse move
*/
"onInternalRowMouseMove"?: (event: CustomEvent<Selection.Cell>) => void;
"parent"?: HTMLElement;
}
interface RevogrOverlaySelection {
"canDrag"?: boolean;
"colData"?: Observable<DataSourceState<RevoGrid.ColumnRegular, RevoGrid.DimensionCols>>;
/**
* Static stores, not expected to change during component lifetime
*/
"dataStore"?: Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>;
"dimensionCol"?: Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow"?: Observable<RevoGrid.DimensionSettingsState>;
/**
* Custom editors register
*/
"editors"?: Edition.Editors;
/**
* Last cell position
*/
"lastCell"?: Selection.Cell;
"onFocusCell"?: (event: CustomEvent<Selection.FocusedCells>) => void;
"onInternalCellEdit"?: (event: CustomEvent<Edition.BeforeSaveDataDetails>) => void;
"onInternalCopy"?: (event: CustomEvent<any>) => void;
"onInternalFocusCell"?: (event: CustomEvent<Edition.BeforeSaveDataDetails>) => void;
"onInternalPaste"?: (event: CustomEvent<any>) => void;
/**
* Range data apply
*/
"onInternalRangeDataApply"?: (event: CustomEvent<Edition.BeforeRangeSaveDataDetails>) => void;
/**
* Selection range changed
*/
"onInternalSelectionChanged"?: (event: CustomEvent<Selection.ChangedRange>) => void;
"onSetEdit"?: (event: CustomEvent<Edition.BeforeEdit>) => void;
"onSetRange"?: (event: CustomEvent<Selection.RangeArea>) => void;
"onSetTempRange"?: (event: CustomEvent<Selection.TempRange | null>) => void;
"range"?: boolean;
"readonly"?: boolean;
/**
* Dynamic stores
*/
"selectionStore"?: Observable<Selection.SelectionStoreState>;
"useClipboard"?: boolean;
}
interface RevogrRowHeaders {
"dataPorts"?: ViewportData[];
"headerProp"?: Record<string, any>;
"height"?: number;
"onElementToScroll"?: (event: CustomEvent<ElementScroll>) => void;
"onScrollViewport"?: (event: CustomEvent<RevoGrid.ViewPortScrollEvent>) => void;
"resize"?: boolean;
"rowHeaderColumn"?: RevoGrid.RowHeaders;
"uiid"?: string;
}
interface RevogrScrollVirtual {
"dimension"?: RevoGrid.DimensionType;
"dimensionStore"?: Observable<RevoGrid.DimensionSettingsState>;
"onScrollVirtual"?: (event: CustomEvent<RevoGrid.ViewPortScrollEvent>) => void;
"viewportStore"?: Observable<RevoGrid.ViewportState>;
}
interface RevogrTempRange {
"dimensionCol"?: Observable<RevoGrid.DimensionSettingsState>;
"dimensionRow"?: Observable<RevoGrid.DimensionSettingsState>;
/**
* Dynamic stores
*/
"selectionStore"?: Observable<Selection.SelectionStoreState>;
}
interface RevogrViewportScroll {
/**
* Height of inner content
*/
"contentHeight"?: number;
/**
* Width of inner content
*/
"contentWidth"?: number;
"onResizeViewport"?: (event: CustomEvent<RevoGrid.ViewPortResizeEvent>) => void;
"onScrollViewport"?: (event: CustomEvent<RevoGrid.ViewPortScrollEvent>) => void;
"onScrollchange"?: (event: CustomEvent<{ type: RevoGrid.DimensionType; hasScroll: boolean; }>) => void;
}
interface IntrinsicElements {
"revo-grid": RevoGrid;
"revogr-clipboard": RevogrClipboard;
"revogr-data": RevogrData;
"revogr-edit": RevogrEdit;
"revogr-filter-panel": RevogrFilterPanel;
"revogr-focus": RevogrFocus;
"revogr-header": RevogrHeader;
"revogr-order-editor": RevogrOrderEditor;
"revogr-overlay-selection": RevogrOverlaySelection;
"revogr-row-headers": RevogrRowHeaders;
"revogr-scroll-virtual": RevogrScrollVirtual;
"revogr-temp-range": RevogrTempRange;
"revogr-viewport-scroll": RevogrViewportScroll;
}
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
export namespace JSX {
interface IntrinsicElements {
"revo-grid": LocalJSX.RevoGrid & JSXBase.HTMLAttributes<HTMLRevoGridElement>;
"revogr-clipboard": LocalJSX.RevogrClipboard & JSXBase.HTMLAttributes<HTMLRevogrClipboardElement>;
"revogr-data": LocalJSX.RevogrData & JSXBase.HTMLAttributes<HTMLRevogrDataElement>;
"revogr-edit": LocalJSX.RevogrEdit & JSXBase.HTMLAttributes<HTMLRevogrEditElement>;
"revogr-filter-panel": LocalJSX.RevogrFilterPanel & JSXBase.HTMLAttributes<HTMLRevogrFilterPanelElement>;
"revogr-focus": LocalJSX.RevogrFocus & JSXBase.HTMLAttributes<HTMLRevogrFocusElement>;
"revogr-header": LocalJSX.RevogrHeader & JSXBase.HTMLAttributes<HTMLRevogrHeaderElement>;
"revogr-order-editor": LocalJSX.RevogrOrderEditor & JSXBase.HTMLAttributes<HTMLRevogrOrderEditorElement>;
"revogr-overlay-selection": LocalJSX.RevogrOverlaySelection & JSXBase.HTMLAttributes<HTMLRevogrOverlaySelectionElement>;
"revogr-row-headers": LocalJSX.RevogrRowHeaders & JSXBase.HTMLAttributes<HTMLRevogrRowHeadersElement>;
"revogr-scroll-virtual": LocalJSX.RevogrScrollVirtual & JSXBase.HTMLAttributes<HTMLRevogrScrollVirtualElement>;
"revogr-temp-range": LocalJSX.RevogrTempRange & JSXBase.HTMLAttributes<HTMLRevogrTempRangeElement>;
"revogr-viewport-scroll": LocalJSX.RevogrViewportScroll & JSXBase.HTMLAttributes<HTMLRevogrViewportScrollElement>;
}
}
}