@revolist/revogrid 4.26.2 → 4.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{cell-renderer-Cf2Pu4S0.js → cell-renderer-BDIx0xys.js} +3 -3
- package/dist/cjs/{column.service-C7p5eC5V.js → column.service-D-ENzqyb.js} +5 -3
- package/dist/cjs/{dimension.helpers-CgHhnN1d.js → dimension.helpers-CptesQOZ.js} +52 -8
- package/dist/cjs/{edit.utils-rAcGublN.js → edit.utils-CBAbQhGP.js} +1 -1
- package/dist/cjs/{header-cell-renderer-DHClfIto.js → header-cell-renderer-B5Y4fdZC.js} +1 -1
- package/dist/cjs/{index--FdNLz1Z.js → index-BVESmpqW.js} +1 -1
- package/dist/cjs/index.cjs.js +72 -55
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +131 -86
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +51 -19
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +4 -4
- package/dist/cjs/revogr-data_4.cjs.entry.js +21 -15
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +9 -9
- package/dist/cjs/{column.drag.plugin-CK5HADlW.js → row-resize.plugin-sK9_rcUN.js} +759 -86
- package/dist/cjs/{text-editor-F04kTx53.js → text-editor-CJyQaYei.js} +2 -2
- package/dist/cjs/{throttle-fV6BUmM7.js → throttle-BsaP4fgu.js} +3 -3
- package/dist/cjs/{viewport.store-B4Clk4m9.js → viewport.store-mhsdi61t.js} +1 -1
- package/dist/collection/components/data/revogr-data-style.css +11 -0
- package/dist/collection/components/data/revogr-data.js +14 -8
- package/dist/collection/components/header/revogr-header-style.css +1 -0
- package/dist/collection/components/overlay/keyboard.service.js +33 -3
- package/dist/collection/components/overlay/revogr-overlay-selection.js +12 -10
- package/dist/collection/components/revoGrid/plugin.service.js +2 -2
- package/dist/collection/components/revoGrid/revo-grid.js +80 -30
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +24 -13
- package/dist/collection/components/revoGrid/viewport.service.js +1 -1
- package/dist/collection/plugins/filter/filter.constants.js +9 -0
- package/dist/collection/plugins/filter/filter.panel.js +8 -8
- package/dist/collection/plugins/filter/filter.plugin.js +109 -10
- package/dist/collection/plugins/filter/filter.style.css +2 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +93 -56
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +1 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js +1 -1
- package/dist/collection/plugins/groupingRow/grouping.sorting.service.js +58 -0
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +5 -3
- package/dist/collection/plugins/index.js +1 -0
- package/dist/collection/plugins/row-resize/index.js +6 -0
- package/dist/collection/plugins/row-resize/row-resize.plugin.js +416 -0
- package/dist/collection/plugins/row-resize/row-resize.types.js +1 -0
- package/dist/collection/plugins/row-resize/row-resize.utils.js +55 -0
- package/dist/collection/plugins/sorting/sorting.plugin.js +16 -13
- package/dist/collection/plugins/wcag/index.js +5 -4
- package/dist/collection/serve/controller.js +1 -1
- package/dist/collection/services/data.provider.js +8 -2
- package/dist/collection/services/dimension.provider.js +17 -1
- package/dist/collection/services/local.scroll.timer.js +3 -3
- package/dist/collection/services/selection.store.connector.js +4 -2
- package/dist/collection/store/dataSource/data.pending.plugin.js +21 -0
- package/dist/collection/store/dataSource/data.store.js +25 -3
- package/dist/collection/store/dataSource/trimmed.plugin.js +9 -6
- package/dist/collection/store/dimension/dimension.trim.plugin.js +1 -3
- package/dist/collection/types/events.js +4 -1
- package/dist/collection/utils/column.utils.js +1 -1
- package/dist/esm/{cell-renderer-11cf-lu3.js → cell-renderer-D9ze8OJw.js} +3 -3
- package/dist/esm/{column.service-Cfw3L0PN.js → column.service-pu_fdQ0S.js} +5 -4
- package/dist/{revo-grid/dimension.helpers-fl4HSSK9.js → esm/dimension.helpers-Cln9sALu.js} +52 -9
- package/dist/{revo-grid/edit.utils-4e9fsqOR.js → esm/edit.utils-3ZbhQCv_.js} +1 -1
- package/dist/esm/{header-cell-renderer-Cqtg1ETB.js → header-cell-renderer-YCiVIQ2E.js} +1 -1
- package/dist/esm/{index-D24ku9ej.js → index-BvMNbQyq.js} +1 -1
- package/dist/esm/index.js +14 -11
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +113 -68
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +51 -19
- package/dist/esm/revogr-clipboard_3.entry.js +4 -4
- package/dist/esm/revogr-data_4.entry.js +21 -15
- package/dist/esm/revogr-filter-panel.entry.js +9 -9
- package/dist/esm/{column.drag.plugin-DDBKeTGI.js → row-resize.plugin-DBOgjLdE.js} +748 -87
- package/dist/{revo-grid/text-editor-DlMnLkRK.js → esm/text-editor-eHtrwvxH.js} +2 -2
- package/dist/{revo-grid/throttle-Cpk1LoGk.js → esm/throttle-3rhqdcLy.js} +3 -3
- package/dist/{revo-grid/viewport.store-BSXmsiZc.js → esm/viewport.store-DWMKRDSH.js} +1 -1
- package/dist/revo-grid/{cell-renderer-11cf-lu3.js → cell-renderer-D9ze8OJw.js} +3 -3
- package/dist/revo-grid/{column.service-Cfw3L0PN.js → column.service-pu_fdQ0S.js} +5 -4
- package/dist/{esm/dimension.helpers-fl4HSSK9.js → revo-grid/dimension.helpers-Cln9sALu.js} +52 -9
- package/dist/{esm/edit.utils-4e9fsqOR.js → revo-grid/edit.utils-3ZbhQCv_.js} +1 -1
- package/dist/revo-grid/{header-cell-renderer-Cqtg1ETB.js → header-cell-renderer-YCiVIQ2E.js} +1 -1
- package/dist/revo-grid/{index-D24ku9ej.js → index-BvMNbQyq.js} +1 -1
- package/dist/revo-grid/index.esm.js +14 -11
- package/dist/revo-grid/revo-grid.entry.js +113 -68
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js +51 -19
- package/dist/revo-grid/revogr-clipboard_3.entry.js +4 -4
- package/dist/revo-grid/revogr-data_4.entry.js +21 -15
- package/dist/revo-grid/revogr-filter-panel.entry.js +9 -9
- package/dist/revo-grid/{column.drag.plugin-DDBKeTGI.js → row-resize.plugin-DBOgjLdE.js} +748 -87
- package/dist/{esm/text-editor-DlMnLkRK.js → revo-grid/text-editor-eHtrwvxH.js} +2 -2
- package/dist/{esm/throttle-Cpk1LoGk.js → revo-grid/throttle-3rhqdcLy.js} +3 -3
- package/dist/{esm/viewport.store-BSXmsiZc.js → revo-grid/viewport.store-DWMKRDSH.js} +1 -1
- package/dist/types/components/data/revogr-data.d.ts +1 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +6 -0
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +3 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +9 -1
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +3 -1
- package/dist/types/components.d.ts +23 -10
- package/dist/types/plugins/filter/filter.constants.d.ts +6 -0
- package/dist/types/plugins/filter/filter.plugin.d.ts +15 -0
- package/dist/types/plugins/groupingRow/grouping.const.d.ts +1 -0
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +5 -7
- package/dist/types/plugins/groupingRow/grouping.sorting.service.d.ts +7 -0
- package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +9 -0
- package/dist/types/plugins/index.d.ts +1 -0
- package/dist/types/plugins/row-resize/index.d.ts +3 -0
- package/dist/types/plugins/row-resize/row-resize.plugin.d.ts +46 -0
- package/dist/types/plugins/row-resize/row-resize.types.d.ts +40 -0
- package/dist/types/plugins/row-resize/row-resize.utils.d.ts +14 -0
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +5 -0
- package/dist/types/services/data.provider.d.ts +2 -0
- package/dist/types/services/dimension.provider.d.ts +7 -1
- package/dist/types/store/dataSource/data.pending.plugin.d.ts +9 -0
- package/dist/types/store/dataSource/data.store.d.ts +10 -0
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +5 -0
- package/dist/types/types/events.d.ts +1 -1
- package/dist/types/types/interfaces.d.ts +3 -1
- package/hydrate/index.js +980 -191
- package/hydrate/index.mjs +980 -191
- package/package.json +1 -1
- package/readme.md +4 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +1 -1
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/local.scroll.timer.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/standalone/revogr-row-headers2.js +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { d as isTab, f as isEnterKeyValue } from './edit.utils-
|
|
5
|
-
import { t as timeout } from './index-
|
|
4
|
+
import { d as isTab, f as isEnterKeyValue } from './edit.utils-3ZbhQCv_.js';
|
|
5
|
+
import { t as timeout } from './index-BvMNbQyq.js';
|
|
6
6
|
|
|
7
7
|
class TextEditor {
|
|
8
8
|
constructor(data, saveCallback) {
|
|
@@ -195,7 +195,7 @@ class LocalScrollTimer {
|
|
|
195
195
|
* Remember last mw event time
|
|
196
196
|
*/
|
|
197
197
|
latestScrollUpdate(dimension) {
|
|
198
|
-
this.mouseWheelScrollTimestamp[dimension] =
|
|
198
|
+
this.mouseWheelScrollTimestamp[dimension] = Date.now();
|
|
199
199
|
}
|
|
200
200
|
isReady(type, coordinate) {
|
|
201
201
|
// if there is a callback, clear it
|
|
@@ -206,7 +206,7 @@ class LocalScrollTimer {
|
|
|
206
206
|
return this.verifyChange(type, coordinate);
|
|
207
207
|
}
|
|
208
208
|
verifyChange(type, coordinate) {
|
|
209
|
-
const now =
|
|
209
|
+
const now = Date.now();
|
|
210
210
|
const change = now - this.mouseWheelScrollTimestamp[type];
|
|
211
211
|
return change > this.scrollThrottling &&
|
|
212
212
|
coordinate !== this.lastKnownScrollCoordinate[type];
|
|
@@ -224,7 +224,7 @@ class LocalScrollTimer {
|
|
|
224
224
|
// save lastScrollUpdate callback
|
|
225
225
|
const callback = this.lastScrollUpdateCallbacks[type] = {
|
|
226
226
|
callback: lastScrollUpdate,
|
|
227
|
-
timestamp:
|
|
227
|
+
timestamp: Date.now(),
|
|
228
228
|
coordinate,
|
|
229
229
|
timeout: 0,
|
|
230
230
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { k as getItemByPosition, L as createStore, m as setStore } from './dimension.helpers-Cln9sALu.js';
|
|
5
5
|
|
|
6
6
|
const LETTER_BLOCK_SIZE = 10;
|
|
7
7
|
const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
|
|
@@ -103,5 +103,6 @@ export declare class RevogrData {
|
|
|
103
103
|
componentWillRender(): Promise<any[]>;
|
|
104
104
|
componentDidRender(): void;
|
|
105
105
|
render(): any;
|
|
106
|
+
private triggerBeforeRowRender;
|
|
106
107
|
triggerBeforeCellRender(model: CellTemplateProp, row: VirtualPositionItem, column: VirtualPositionItem): CustomEvent<BeforeCellRenderEvent<CellTemplateProp<DataType<any, import("@type").ColumnProp>, ColumnRegular<import("@type").ColumnProp, DataType<any, import("@type").ColumnProp>>, import("@type").ColumnProp>>>;
|
|
107
108
|
}
|
|
@@ -14,7 +14,13 @@ type Config = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare class KeyboardService {
|
|
16
16
|
private readonly sv;
|
|
17
|
+
/** Keep focus transitions in keydown order so rendering can scroll each cell into view. */
|
|
18
|
+
private keyChangeQueue;
|
|
19
|
+
private keyChangeGeneration;
|
|
20
|
+
private applyingKeyChange;
|
|
17
21
|
constructor(sv: Config);
|
|
22
|
+
/** Cancel delayed directional input after focus or edit context changes externally. */
|
|
23
|
+
invalidatePendingChanges(): void;
|
|
18
24
|
/**
|
|
19
25
|
* Appends printable key input that arrives after edit mode was requested
|
|
20
26
|
* but before the editor input has mounted or received focus.
|
|
@@ -4,6 +4,7 @@ import { type DSourceState } from "../../store/index";
|
|
|
4
4
|
import { EventData } from './selection.utils';
|
|
5
5
|
import { type Observable } from '../../utils';
|
|
6
6
|
import type { SelectionStoreState, DimensionSettingsState, DataType, DimensionRows, ColumnRegular, DimensionCols, DragStartEvent, Cell, MultiDimensionType, Nullable, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, FocusRenderEvent, ApplyFocusEvent, AllDimensionType, Editors, BeforeSaveDataDetails, BeforeEdit, RangeArea, TempRange, ChangedRange, BeforeRangeSaveDataDetails, SaveDataDetails, EditCellStore, ClipboardConfig } from "../../types/index";
|
|
7
|
+
type CellInteractionEvent = MouseEvent | TouchEvent | KeyboardEvent;
|
|
7
8
|
/**
|
|
8
9
|
* Component for overlaying the grid with the selection.
|
|
9
10
|
*/
|
|
@@ -268,10 +269,11 @@ export declare class OverlaySelection {
|
|
|
268
269
|
/**
|
|
269
270
|
* Sets the focus on a cell and optionally edits a range.
|
|
270
271
|
*/
|
|
271
|
-
focus(cell?: Cell, isRangeEdit?: boolean, originalEvent?:
|
|
272
|
+
focus(cell?: Cell, isRangeEdit?: boolean, originalEvent?: CellInteractionEvent): boolean;
|
|
272
273
|
get types(): AllDimensionType;
|
|
273
274
|
/**
|
|
274
275
|
* Collect data
|
|
275
276
|
*/
|
|
276
277
|
protected getData(): EventData;
|
|
277
278
|
}
|
|
279
|
+
export {};
|
|
@@ -19,6 +19,7 @@ import { ColumnCollection } from '../../utils/column.utils';
|
|
|
19
19
|
import { ColumnFilterConfig, FilterCollectionItem } from '../../plugins/filter/filter.types';
|
|
20
20
|
import { PluginService } from './plugin.service';
|
|
21
21
|
import { AfterSortingApplyEvent, SortingConfig, SortingOrder } from '../../plugins';
|
|
22
|
+
import { type RowResizeConfig } from '../../plugins/row-resize';
|
|
22
23
|
/**
|
|
23
24
|
* Revogrid - High-performance, customizable grid library for managing large datasets.
|
|
24
25
|
* ### Events guide
|
|
@@ -65,6 +66,11 @@ export declare class RevoGridComponent {
|
|
|
65
66
|
readonly: boolean;
|
|
66
67
|
/** When true, columns are resizable. */
|
|
67
68
|
resize: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Enables row resizing. Pass a configuration object to customize the
|
|
71
|
+
* height limits or enable resize edges across the full row.
|
|
72
|
+
*/
|
|
73
|
+
resizeRow: boolean | RowResizeConfig;
|
|
68
74
|
/**
|
|
69
75
|
* Prevents horizontal scroll state from being mirrored across viewport sections.
|
|
70
76
|
*/
|
|
@@ -137,7 +143,7 @@ export declare class RevoGridComponent {
|
|
|
137
143
|
*/
|
|
138
144
|
autoSizeColumn: boolean | AutoSizeColumnConfig;
|
|
139
145
|
/**
|
|
140
|
-
* Enables filter plugin.
|
|
146
|
+
* Enables filter plugin. Enabled by default; set to `false` to opt out.
|
|
141
147
|
* Can be boolean.
|
|
142
148
|
* Or can be filter collection See `FilterCollection` for more info.
|
|
143
149
|
*/
|
|
@@ -684,6 +690,7 @@ export declare class RevoGridComponent {
|
|
|
684
690
|
applyFilter(cfg: boolean | ColumnFilterConfig): void;
|
|
685
691
|
applySorting(cfg?: SortingConfig): void;
|
|
686
692
|
rowHeadersChange(rowHeaders?: RowHeaders | boolean): void;
|
|
693
|
+
resizeRowChanged(): void;
|
|
687
694
|
/**
|
|
688
695
|
* Register external VNodes
|
|
689
696
|
*/
|
|
@@ -699,6 +706,7 @@ export declare class RevoGridComponent {
|
|
|
699
706
|
pluginsChanged(plugins?: GridPlugin[], prevPlugins?: GridPlugin[]): void;
|
|
700
707
|
private setPlugins;
|
|
701
708
|
private setCorePlugins;
|
|
709
|
+
private syncRowResizeConfig;
|
|
702
710
|
getPluginData(): PluginProviders | undefined;
|
|
703
711
|
private removePlugins;
|
|
704
712
|
connectedCallback(): void;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { DimensionColPin, ViewPortScrollEvent, ElementsScroll, ElementScroll, MultiDimensionType } from "../../types/index";
|
|
2
2
|
export default class GridScrollingService {
|
|
3
|
-
private setViewport;
|
|
3
|
+
private readonly setViewport;
|
|
4
4
|
private elements;
|
|
5
5
|
constructor(setViewport: (e: ViewPortScrollEvent<MultiDimensionType>) => void);
|
|
6
6
|
proxyScroll(e: ViewPortScrollEvent, key?: DimensionColPin | string, skipEvent?: boolean): Promise<void>;
|
|
7
|
+
private changeScroll;
|
|
8
|
+
private setScroll;
|
|
7
9
|
/**
|
|
8
10
|
* Silent scroll update for mobile devices when we have negative scroll top
|
|
9
11
|
*/
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
8
|
import { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ClipboardConfig, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, ThemeDefinition, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
9
|
+
import { RowResizeConfig } from "./plugins/row-resize";
|
|
9
10
|
import { GridPlugin } from "./plugins/base.plugin";
|
|
10
11
|
import { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
|
|
11
12
|
import { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
|
|
@@ -22,6 +23,7 @@ import { HeaderRenderProps } from "./components/header/header-renderer";
|
|
|
22
23
|
import { HeaderGroupRendererProps } from "./components/header/header-group-renderer";
|
|
23
24
|
import { EventData } from "./components/overlay/selection.utils";
|
|
24
25
|
export { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ClipboardConfig, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, ThemeDefinition, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
26
|
+
export { RowResizeConfig } from "./plugins/row-resize";
|
|
25
27
|
export { GridPlugin } from "./plugins/base.plugin";
|
|
26
28
|
export { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
|
|
27
29
|
export { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
|
|
@@ -87,7 +89,7 @@ export namespace Components {
|
|
|
87
89
|
"canFocus": boolean;
|
|
88
90
|
/**
|
|
89
91
|
* Enable column move plugin.
|
|
90
|
-
* @default
|
|
92
|
+
* @default true
|
|
91
93
|
*/
|
|
92
94
|
"canMoveColumns": boolean;
|
|
93
95
|
/**
|
|
@@ -130,12 +132,12 @@ export namespace Components {
|
|
|
130
132
|
"editors": Editors;
|
|
131
133
|
/**
|
|
132
134
|
* Enable export plugin.
|
|
133
|
-
* @default
|
|
135
|
+
* @default true
|
|
134
136
|
*/
|
|
135
137
|
"exporting": boolean;
|
|
136
138
|
/**
|
|
137
|
-
* Enables filter plugin. Can be boolean. Or can be filter collection See `FilterCollection` for more info.
|
|
138
|
-
* @default
|
|
139
|
+
* Enables filter plugin. Enabled by default; set to `false` to opt out. Can be boolean. Or can be filter collection See `FilterCollection` for more info.
|
|
140
|
+
* @default true
|
|
139
141
|
*/
|
|
140
142
|
"filter": boolean | ColumnFilterConfig;
|
|
141
143
|
/**
|
|
@@ -252,9 +254,14 @@ export namespace Components {
|
|
|
252
254
|
)[];
|
|
253
255
|
/**
|
|
254
256
|
* When true, columns are resizable.
|
|
255
|
-
* @default
|
|
257
|
+
* @default true
|
|
256
258
|
*/
|
|
257
259
|
"resize": boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Enables row resizing. Pass a configuration object to customize the height limits or enable resize edges across the full row.
|
|
262
|
+
* @default false
|
|
263
|
+
*/
|
|
264
|
+
"resizeRow": boolean | RowResizeConfig;
|
|
258
265
|
/**
|
|
259
266
|
* Row class property mapping. Map custom classes to rows from row object data. Define this property in rgRow object and this will be mapped as rgRow class.
|
|
260
267
|
* @default ''
|
|
@@ -1415,7 +1422,7 @@ declare namespace LocalJSX {
|
|
|
1415
1422
|
"canFocus"?: boolean;
|
|
1416
1423
|
/**
|
|
1417
1424
|
* Enable column move plugin.
|
|
1418
|
-
* @default
|
|
1425
|
+
* @default true
|
|
1419
1426
|
*/
|
|
1420
1427
|
"canMoveColumns"?: boolean;
|
|
1421
1428
|
/**
|
|
@@ -1450,12 +1457,12 @@ declare namespace LocalJSX {
|
|
|
1450
1457
|
"editors"?: Editors;
|
|
1451
1458
|
/**
|
|
1452
1459
|
* Enable export plugin.
|
|
1453
|
-
* @default
|
|
1460
|
+
* @default true
|
|
1454
1461
|
*/
|
|
1455
1462
|
"exporting"?: boolean;
|
|
1456
1463
|
/**
|
|
1457
|
-
* Enables filter plugin. Can be boolean. Or can be filter collection See `FilterCollection` for more info.
|
|
1458
|
-
* @default
|
|
1464
|
+
* Enables filter plugin. Enabled by default; set to `false` to opt out. Can be boolean. Or can be filter collection See `FilterCollection` for more info.
|
|
1465
|
+
* @default true
|
|
1459
1466
|
*/
|
|
1460
1467
|
"filter"?: boolean | ColumnFilterConfig;
|
|
1461
1468
|
/**
|
|
@@ -1726,9 +1733,14 @@ declare namespace LocalJSX {
|
|
|
1726
1733
|
)[];
|
|
1727
1734
|
/**
|
|
1728
1735
|
* When true, columns are resizable.
|
|
1729
|
-
* @default
|
|
1736
|
+
* @default true
|
|
1730
1737
|
*/
|
|
1731
1738
|
"resize"?: boolean;
|
|
1739
|
+
/**
|
|
1740
|
+
* Enables row resizing. Pass a configuration object to customize the height limits or enable resize edges across the full row.
|
|
1741
|
+
* @default false
|
|
1742
|
+
*/
|
|
1743
|
+
"resizeRow"?: boolean | RowResizeConfig;
|
|
1732
1744
|
/**
|
|
1733
1745
|
* Row class property mapping. Map custom classes to rows from row object data. Define this property in rgRow object and this will be mapped as rgRow class.
|
|
1734
1746
|
* @default ''
|
|
@@ -2531,6 +2543,7 @@ declare namespace LocalJSX {
|
|
|
2531
2543
|
"range": boolean;
|
|
2532
2544
|
"readonly": boolean;
|
|
2533
2545
|
"resize": boolean;
|
|
2546
|
+
"resizeRow": boolean | RowResizeConfig;
|
|
2534
2547
|
"noHorizontalScrollTransfer": boolean;
|
|
2535
2548
|
"canFocus": boolean;
|
|
2536
2549
|
"useClipboard": boolean | ClipboardConfig;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Fewer rows keep the existing synchronous filtering behavior. */
|
|
2
|
+
export declare const ASYNC_FILTER_ROW_THRESHOLD = 15000;
|
|
3
|
+
/** Maximum rows evaluated in one filtering chunk. */
|
|
4
|
+
export declare const FILTER_CHUNK_SIZE = 1000;
|
|
5
|
+
/** Yield after approximately this much accumulated filtering work. */
|
|
6
|
+
export declare const FILTER_TIME_BUDGET_MS = 5;
|
|
@@ -48,6 +48,7 @@ export declare class FilterPlugin extends BasePlugin {
|
|
|
48
48
|
filterFunctionsIndexedByType: Record<string, LogicFunction>;
|
|
49
49
|
filterProp: string;
|
|
50
50
|
private allowDuplicateOperators;
|
|
51
|
+
private filteringRunId;
|
|
51
52
|
extraHyperContent?: (data: ShowData) => VNode | VNode[];
|
|
52
53
|
extraBottomHyperContent?: (data: ShowData) => VNode | VNode[];
|
|
53
54
|
constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders, config?: ColumnFilterConfig | undefined);
|
|
@@ -68,6 +69,20 @@ export declare class FilterPlugin extends BasePlugin {
|
|
|
68
69
|
doFiltering(collection: Record<ColumnProp, FilterCollectionItem>, source: DataType[], columns: ColumnRegular[], filterItems: MultiFilterItem): Promise<void>;
|
|
69
70
|
clearFiltering(): Promise<void>;
|
|
70
71
|
runFiltering(multiFilterItems: MultiFilterItem): Promise<void>;
|
|
72
|
+
/** Whether this plugin currently owns filter state that must follow a new source. */
|
|
73
|
+
protected hasActiveFilters(): boolean;
|
|
74
|
+
/** Preserve whole-source semantics for plugins that override getRowFilter. */
|
|
75
|
+
protected supportsChunkedFiltering(): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Hide visible rows and invalidate current filtering until a deferred filter
|
|
78
|
+
* run is ready. Used by filter extensions with their own debounced state.
|
|
79
|
+
*/
|
|
80
|
+
protected deferFiltering(): void;
|
|
81
|
+
private beginFiltering;
|
|
82
|
+
private releaseFiltering;
|
|
83
|
+
private cancelFiltering;
|
|
84
|
+
private getRowFilterInChunks;
|
|
85
|
+
destroy(): void;
|
|
71
86
|
/**
|
|
72
87
|
* Get trimmed rows based on filter
|
|
73
88
|
*/
|
|
@@ -9,4 +9,5 @@ export declare const GROUP_COLUMN_PROP = "__rvgr-prop";
|
|
|
9
9
|
export declare const GROUP_ORIGINAL_INDEX = "__rvgr-original-index";
|
|
10
10
|
export declare const GROUP_EXPAND_BTN = "group-expand";
|
|
11
11
|
export declare const GROUP_EXPAND_EVENT = "groupexpandclick";
|
|
12
|
+
export declare const BEFORE_GROUPING_APPLY_EVENT = "beforegroupingapply";
|
|
12
13
|
export declare const GROUPING_ROW_TYPE: DimensionRows;
|
|
@@ -19,15 +19,12 @@ export declare class GroupingRowPlugin extends BasePlugin {
|
|
|
19
19
|
private onDrag;
|
|
20
20
|
private beforeTrimmedApply;
|
|
21
21
|
private beforeFilterTrimmed;
|
|
22
|
-
private isSortingRunning;
|
|
23
22
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* Reusing them after sorting would reopen groups the user collapsed before
|
|
28
|
-
* sorting instead of using the current grouped source state.
|
|
23
|
+
* Sorting changes proxy order without changing the physical source baseline.
|
|
24
|
+
* Other proxy changes, such as row dragging, are user-authored source order
|
|
25
|
+
* and must be retained when grouping is rebuilt.
|
|
29
26
|
*/
|
|
30
|
-
private
|
|
27
|
+
private isSortingActiveOrPending;
|
|
31
28
|
/**
|
|
32
29
|
* Starts global source update with group clearing and applying new one
|
|
33
30
|
* Initiated when need to reapply grouping
|
|
@@ -44,5 +41,6 @@ export declare class GroupingRowPlugin extends BasePlugin {
|
|
|
44
41
|
*/
|
|
45
42
|
setGrouping(options: GroupingOptions): void;
|
|
46
43
|
clearGrouping(): void;
|
|
44
|
+
private remapRowDefinitions;
|
|
47
45
|
private updateTrimmed;
|
|
48
46
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DataType } from "../../types/index";
|
|
2
|
+
/**
|
|
3
|
+
* Restores group headers around already-sorted data indexes without rebuilding
|
|
4
|
+
* the physical source. Group insertion order follows the first sorted member,
|
|
5
|
+
* matching the order produced by regrouping a sorted source.
|
|
6
|
+
*/
|
|
7
|
+
export declare function gatherGroupedRowIndexes(source: DataType[], sortedDataIndexes: number[]): number[] | undefined;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { Trimmed, TrimmedEntity } from "../../store/index";
|
|
2
2
|
import type { DataType } from "../../types/index";
|
|
3
3
|
export declare const TRIMMED_GROUPING = "grouping";
|
|
4
|
+
/**
|
|
5
|
+
* Converts a trim row index through the index maps produced while regrouping.
|
|
6
|
+
*
|
|
7
|
+
* Group rows are synthetic, so they may not exist in the first map. When a
|
|
8
|
+
* second map is available, fall back to the original index so trims created
|
|
9
|
+
* against the grouped physical source can still be remapped. If neither path
|
|
10
|
+
* resolves to a number, the caller drops the stale trim entry.
|
|
11
|
+
*/
|
|
12
|
+
export declare function convertGroupingIndex(initialIndex: string | number, firstLevelMap: Record<number, number>, secondLevelMap?: Record<number, number>): number;
|
|
4
13
|
/**
|
|
5
14
|
* Prepare trimming updated indexes for grouping
|
|
6
15
|
* @param initiallyTrimed
|
|
@@ -6,6 +6,7 @@ export * from './export/export.plugin';
|
|
|
6
6
|
export * from './filter/filter.plugin';
|
|
7
7
|
export * from './groupingRow/grouping.row.plugin';
|
|
8
8
|
export * from './moveColumn/column.drag.plugin';
|
|
9
|
+
export * from './row-resize';
|
|
9
10
|
export * from './sorting/sorting.plugin';
|
|
10
11
|
export * from './sorting/sorting.sign';
|
|
11
12
|
export * from './add-rows-on-paste.plugin';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { PluginProviders } from "../../types/index";
|
|
2
|
+
import { BasePlugin } from '../base.plugin';
|
|
3
|
+
import type { RowResizeConfig } from './row-resize.types';
|
|
4
|
+
export declare const ROW_RESIZE_HANDLE_CLASS = "row-resize-handle";
|
|
5
|
+
export declare const BEFORE_ROW_RESIZE_EVENT = "beforerowresize";
|
|
6
|
+
export declare const ROW_RESIZE_EVENT = "rowresize";
|
|
7
|
+
export declare const AFTER_ROW_RESIZE_EVENT = "afterrowresize";
|
|
8
|
+
export declare const ROW_RESIZE_CANCEL_EVENT = "rowresizecancel";
|
|
9
|
+
export declare class RowResizePlugin extends BasePlugin {
|
|
10
|
+
private config;
|
|
11
|
+
private enabled;
|
|
12
|
+
private active?;
|
|
13
|
+
private readonly appliedDefinitionIndexes;
|
|
14
|
+
private animationFrame?;
|
|
15
|
+
private pendingHeight?;
|
|
16
|
+
private pendingBottomAnchor;
|
|
17
|
+
private keepBottomAnchor;
|
|
18
|
+
private rowDefinitionRemapQueued;
|
|
19
|
+
private readonly pendingSourceCounts;
|
|
20
|
+
private previousBodyCursor;
|
|
21
|
+
constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders, config?: RowResizeConfig);
|
|
22
|
+
private registerEventListeners;
|
|
23
|
+
syncGridConfig(refresh?: boolean): void;
|
|
24
|
+
private readonly decorateRow;
|
|
25
|
+
private readonly cancelForDataChange;
|
|
26
|
+
private startResize;
|
|
27
|
+
private readonly onPointerMove;
|
|
28
|
+
private readonly onPointerUp;
|
|
29
|
+
private readonly onPointerCancel;
|
|
30
|
+
private readonly onKeyDown;
|
|
31
|
+
private readonly onWindowBlur;
|
|
32
|
+
private flushPendingResize;
|
|
33
|
+
private cancel;
|
|
34
|
+
private eventDetail;
|
|
35
|
+
private commitResize;
|
|
36
|
+
private requestBottomAnchor;
|
|
37
|
+
private isMainViewportAtBottom;
|
|
38
|
+
private readonly updateBottomAnchorState;
|
|
39
|
+
private readonly applyPendingBottomAnchor;
|
|
40
|
+
private readonly scheduleRowDefinitionRemap;
|
|
41
|
+
private pruneRowDefinitions;
|
|
42
|
+
/** Map source-indexed row definitions back onto the current virtual order. */
|
|
43
|
+
private readonly reapplyRowDefinitionSizes;
|
|
44
|
+
private finishGesture;
|
|
45
|
+
destroy(): void;
|
|
46
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DimensionRows, ViewSettingSizeProp } from "../../types/index";
|
|
2
|
+
export type RowResizeConfig = {
|
|
3
|
+
/** Smallest height a user can assign. Defaults to 20px. */
|
|
4
|
+
minHeight?: number;
|
|
5
|
+
/** Optional largest height a user can assign. */
|
|
6
|
+
maxHeight?: number;
|
|
7
|
+
/** Makes the resize edge available across data rows, not only row headers. */
|
|
8
|
+
fullRow?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export type ResolvedRowResizeConfig = {
|
|
11
|
+
minHeight: number;
|
|
12
|
+
maxHeight?: number;
|
|
13
|
+
fullRow: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type RowResizeEventDetail = {
|
|
16
|
+
/** Row dimension containing the resized rows. */
|
|
17
|
+
rowType: DimensionRows;
|
|
18
|
+
/** Boundary row whose handle started the gesture. */
|
|
19
|
+
index: number;
|
|
20
|
+
/** All virtual row indexes affected by this gesture. */
|
|
21
|
+
indexes: number[];
|
|
22
|
+
/** Current absolute height applied to every affected row. */
|
|
23
|
+
size: number;
|
|
24
|
+
/** Heights at the start of the gesture. */
|
|
25
|
+
previousSizes: ViewSettingSizeProp;
|
|
26
|
+
/** Most recent pointer event associated with this lifecycle event. */
|
|
27
|
+
originalEvent: PointerEvent;
|
|
28
|
+
};
|
|
29
|
+
export type RowResizeCancelReason = 'escape' | 'pointercancel' | 'blur' | 'destroy' | 'config-change' | 'data-change' | 'row-headers-hidden';
|
|
30
|
+
export type RowResizeCancelEventDetail = RowResizeEventDetail & {
|
|
31
|
+
reason: RowResizeCancelReason;
|
|
32
|
+
};
|
|
33
|
+
declare global {
|
|
34
|
+
interface HTMLRevoGridElementEventMap {
|
|
35
|
+
beforerowresize: RowResizeEventDetail;
|
|
36
|
+
rowresize: RowResizeEventDetail;
|
|
37
|
+
afterrowresize: RowResizeEventDetail;
|
|
38
|
+
rowresizecancel: RowResizeCancelEventDetail;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DimensionRows, RangeArea, RowDefinition, ViewSettingSizeProp } from "../../types/index";
|
|
2
|
+
import type { ResolvedRowResizeConfig, RowResizeConfig } from './row-resize.types';
|
|
3
|
+
export declare const DEFAULT_MIN_ROW_HEIGHT = 20;
|
|
4
|
+
export declare function resolveRowResizeConfig(config?: RowResizeConfig): ResolvedRowResizeConfig;
|
|
5
|
+
export declare function clampRowResizeHeight(height: number, config: ResolvedRowResizeConfig): number;
|
|
6
|
+
export declare function getRowResizeIndexes({ rowType, rowIndex, rowCount, selectedRange, selectedRowType, }: {
|
|
7
|
+
rowType: DimensionRows;
|
|
8
|
+
rowIndex: number;
|
|
9
|
+
rowCount: number;
|
|
10
|
+
selectedRange?: RangeArea | null;
|
|
11
|
+
selectedRowType?: DimensionRows;
|
|
12
|
+
}): number[];
|
|
13
|
+
export declare function createRowResizePatch(indexes: number[], size: number): ViewSettingSizeProp;
|
|
14
|
+
export declare function mergeRowResizeDefinitions(definitions: readonly RowDefinition[], rowType: DimensionRows, physicalIndexes: readonly number[], size: number): RowDefinition[];
|
|
@@ -85,6 +85,11 @@ export declare class SortingPlugin extends BasePlugin {
|
|
|
85
85
|
*/
|
|
86
86
|
startSorting(order?: SortingOrder, sortingFunc?: SortingOrderFunction, ignoreViewportUpdate?: boolean): void;
|
|
87
87
|
startSorting(order?: SortingOrder, sortingFunc?: SortingOrderFunction, sortingColumns?: SortingColumnMap, sortingOrder?: SortingColumnOrder, ignoreViewportUpdate?: boolean): void;
|
|
88
|
+
/**
|
|
89
|
+
* Schedules the current active sort again after another plugin rebuilds row
|
|
90
|
+
* proxy indexes while keeping the physical source unchanged.
|
|
91
|
+
*/
|
|
92
|
+
reapplySorting(): void;
|
|
88
93
|
/**
|
|
89
94
|
* Applies sorting requested by a sortable header click.
|
|
90
95
|
*
|
|
@@ -50,4 +50,6 @@ export declare class DataProvider {
|
|
|
50
50
|
cellRenderer?: GroupCellTemplateFunc;
|
|
51
51
|
}, type?: DimensionRows): void;
|
|
52
52
|
setTrimmed(trimmed: Trimmed, type?: DimensionRows): void;
|
|
53
|
+
/** Keep a row source empty until its current asynchronous update is ready. */
|
|
54
|
+
setItemsPending(pending: boolean, type?: DimensionRows): void;
|
|
53
55
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import ViewportProvider from './viewport.provider';
|
|
2
2
|
import { DimensionStoreCollection, Trimmed } from "../store/index";
|
|
3
|
-
import type { DimensionCols, DimensionType, MultiDimensionType, ColumnRegular, DimensionSettingsState, ViewPortScrollEvent, ViewSettingSizeProp } from "../types/index";
|
|
3
|
+
import type { DimensionCols, DimensionType, MultiDimensionType, ColumnRegular, DimensionSettingsState, ViewPortScrollEvent, ViewSettingSizeProp, RowDefinition } from "../types/index";
|
|
4
4
|
export type DimensionConfig = {
|
|
5
5
|
realSizeChanged(k: MultiDimensionType): void;
|
|
6
|
+
rowDefinitionsChanged?(definitions: RowDefinition[]): void;
|
|
6
7
|
};
|
|
7
8
|
export declare const DEFAULT_VIRTUAL_X: readonly DimensionCols[];
|
|
8
9
|
export declare function isVirtualXDimension(type: DimensionCols, disableVirtualX?: boolean, virtualX?: readonly DimensionCols[]): boolean;
|
|
@@ -14,7 +15,9 @@ export declare function isVirtualXDimension(type: DimensionCols, disableVirtualX
|
|
|
14
15
|
*/
|
|
15
16
|
export default class DimensionProvider {
|
|
16
17
|
private viewports;
|
|
18
|
+
private config;
|
|
17
19
|
readonly stores: DimensionStoreCollection;
|
|
20
|
+
private rowDefinitions;
|
|
18
21
|
constructor(viewports: ViewportProvider, config: DimensionConfig);
|
|
19
22
|
/**
|
|
20
23
|
* Clear old sizes from dimension and viewports
|
|
@@ -22,6 +25,9 @@ export default class DimensionProvider {
|
|
|
22
25
|
* @param count - count of items
|
|
23
26
|
*/
|
|
24
27
|
clearSize(t: MultiDimensionType, count: number): void;
|
|
28
|
+
getRowDefinitions(): RowDefinition[];
|
|
29
|
+
syncRowDefinitions(definitions: RowDefinition[]): void;
|
|
30
|
+
setRowDefinitions(definitions: RowDefinition[]): void;
|
|
25
31
|
/**
|
|
26
32
|
* Apply new custom sizes to dimension and view port
|
|
27
33
|
* @param type - dimension type
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Observable, PluginSubscribe } from '../../utils';
|
|
2
|
+
import type { DSourceState, GDataType } from './data.store';
|
|
3
|
+
/**
|
|
4
|
+
* Keeps the visible item collection empty while an asynchronous data operation
|
|
5
|
+
* is pending. Proxy, trim, and source updates may still calculate new items,
|
|
6
|
+
* but they must not expose those items until the owning operation releases the
|
|
7
|
+
* pending state.
|
|
8
|
+
*/
|
|
9
|
+
export declare const pendingItemsPlugin: <T extends GDataType>(store: Observable<DSourceState<T, any>>, isPending: () => boolean) => PluginSubscribe<DSourceState<T, any>>;
|
|
@@ -20,6 +20,11 @@ export type DSourceState<T1 extends GDataType, T2 extends GDimension> = DataSour
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class DataStore<T extends GDataType, ST extends GDimension> {
|
|
22
22
|
private readonly dataStore;
|
|
23
|
+
/**
|
|
24
|
+
* The source, proxy order, and trims may continue changing,
|
|
25
|
+
* but visible items must remain empty until the operation finishes.
|
|
26
|
+
*/
|
|
27
|
+
private itemsPending;
|
|
23
28
|
get store(): Observable<DSourceState<T, ST>>;
|
|
24
29
|
constructor(type: ST, storeData?: DSourceState<T, ST>);
|
|
25
30
|
/**
|
|
@@ -36,6 +41,11 @@ export declare class DataStore<T extends GDataType, ST extends GDimension> {
|
|
|
36
41
|
cellRenderer?: GroupCellTemplateFunc;
|
|
37
42
|
}, silent?: boolean, preserveTrimmed?: boolean): void;
|
|
38
43
|
addTrimmed(some: Partial<Trimmed>): void;
|
|
44
|
+
/**
|
|
45
|
+
* Keeps visible items empty while an asynchronous source operation is pending.
|
|
46
|
+
* Releasing the state restores the current proxy order with all trims applied.
|
|
47
|
+
*/
|
|
48
|
+
setItemsPending(pending: boolean): void;
|
|
39
49
|
setSourceData(items: Record<number, any>, mutate?: boolean): void;
|
|
40
50
|
setData(input: Partial<DSourceState<T, ST>>): void;
|
|
41
51
|
refresh(): void;
|
|
@@ -10,3 +10,8 @@ export type Trimmed = Record<string, TrimmedEntity>;
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const trimmedPlugin: <T extends GDataType>(store: Observable<DSourceState<T, any>>) => PluginSubscribe<DSourceState<T, any>>;
|
|
12
12
|
export declare function gatherTrimmedItems(trimmedItems: Trimmed): TrimmedEntity;
|
|
13
|
+
/**
|
|
14
|
+
* Preserve proxy order while removing physical indexes hidden by any trim
|
|
15
|
+
* layer.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getVisibleItems(proxyItems: number[], trimmedItems: Trimmed): number[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type RevogridEvents = 'contentsizechanged' | 'beforeedit' | 'beforerangeedit' | 'afteredit' | 'beforeautofill' | 'beforerange' | 'afterfocus' | 'roworderchanged' | 'beforesorting' | 'beforesourcesortingapply' | 'beforesortingapply' | 'aftersortingapply' | 'rowdragstart' | 'headerclick' | 'beforecellfocus' | 'beforefocuslost' | 'beforesourceset' | 'beforeanysource' | 'aftersourceset' | 'afteranysource' | 'beforecolumnsgather' | 'beforecolumnsset' | 'beforecolumnapplied' | 'aftercolumnsset' | 'beforefilterapply' | 'beforefiltertrimmed' | 'beforetrimmed' | 'aftertrimmed' | 'viewportscroll' | 'beforeexport' | 'beforeeditstart' | 'aftercolumnresize' | 'beforerowdefinition' | 'filterconfigchanged' | 'sortingconfigchanged' | 'rowheaderschanged' | 'beforegridrender' | 'aftergridrender' | 'aftergridinit' | 'additionaldatachanged' | 'afterthemechanged' | 'created' | 'beforepaste' | 'beforepasteapply' | 'pasteregion' | 'afterpasteapply' | 'beforecut' | 'clearregion' | 'beforecopy' | 'beforecopyapply' | 'copyregion' | 'beforerowrender' | 'afterrender' | 'beforecellrender' | 'beforedatarender' | 'dragstartcell' | 'celleditinit' | 'closeedit' | 'filterChange' | 'resetChange' | 'beforefocusrender' | 'beforescrollintoview' | '
|
|
1
|
+
export type RevogridEvents = 'contentsizechanged' | 'beforeedit' | 'beforerangeedit' | 'afteredit' | 'beforeautofill' | 'beforerange' | 'afterfocus' | 'roworderchanged' | 'beforesorting' | 'beforesourcesortingapply' | 'beforesortingapply' | 'aftersortingapply' | 'rowdragstart' | 'headerclick' | 'beforecellfocus' | 'beforefocuslost' | 'beforesourceset' | 'beforeanysource' | 'aftersourceset' | 'afteranysource' | 'beforecolumnsgather' | 'beforecolumnsset' | 'beforecolumnapplied' | 'aftercolumnsset' | 'beforefilterapply' | 'beforefiltertrimmed' | 'beforetrimmed' | 'aftertrimmed' | 'viewportscroll' | 'beforeexport' | 'beforeeditstart' | 'aftercolumnresize' | 'beforerowdefinition' | 'filterconfigchanged' | 'sortingconfigchanged' | 'rowheaderschanged' | 'beforegridrender' | 'aftergridrender' | 'aftergridinit' | 'additionaldatachanged' | 'afterthemechanged' | 'created' | 'beforepaste' | 'beforepasteapply' | 'pasteregion' | 'afterpasteapply' | 'beforecut' | 'clearregion' | 'beforecopy' | 'beforecopyapply' | 'copyregion' | 'beforerowrender' | 'afterrender' | 'beforecellrender' | 'beforedatarender' | 'dragstartcell' | 'celleditinit' | 'closeedit' | 'filterChange' | 'resetChange' | 'beforefocusrender' | 'beforescrollintoview' | 'beforeheaderclick' | 'headerresize' | 'beforeheaderresize' | 'headerdblclick' | 'beforeheaderrender' | 'beforegroupheaderrender' | 'afterheaderrender' | 'columndragstart' | 'columndragmousemove' | 'beforecolumndragend' | 'columndragend' | 'beforerowresize' | 'rowresize' | 'afterrowresize' | 'rowresizecancel' | 'rowdragstartinit' | 'rowdragendinit' | 'rowdragmoveinit' | 'rowdragmousemove' | 'rowdropinit' | 'roworderchange' | 'beforecopyregion' | 'beforepasteregion' | 'celleditapply' | 'beforecellfocusinit' | 'beforenextvpfocus' | 'setedit' | 'beforeapplyrange' | 'beforesetrange' | 'setrange' | 'beforeeditrender' | 'selectall' | 'canceledit' | 'settemprange' | 'beforesettemprange' | 'applyfocus' | 'focuscell' | 'beforerangedataapply' | 'selectionchangeinit' | 'beforerangecopyapply' | 'rangeeditapply' | 'clipboardrangecopy' | 'clipboardrangepaste' | 'beforekeydown' | 'beforekeyup' | 'beforecellsave' | 'celledit' | 'scrollview' | 'ref' | 'scrollvirtual' | 'scrollviewport' | 'resizeviewport' | 'scrollchange' | 'scrollviewportsilent' | 'html';
|
|
2
2
|
export declare const REVOGRID_EVENTS: Map<RevogridEvents, RevogridEvents>;
|
|
@@ -687,7 +687,9 @@ export interface BeforeCellRenderEvent<T = any> extends AllDimensionType {
|
|
|
687
687
|
* Represents the event object that is emitted before row rendering.
|
|
688
688
|
* It includes information about the dimension type, data item, item, and node.
|
|
689
689
|
*/
|
|
690
|
-
export interface BeforeRowRenderEvent<T = any> extends AllDimensionType {
|
|
690
|
+
export interface BeforeRowRenderEvent<T = any> extends Pick<AllDimensionType, 'rowType'> {
|
|
691
|
+
/** Column viewport rendering the row, including the row-header viewport. */
|
|
692
|
+
colType: DimensionCols | 'rowHeaders';
|
|
691
693
|
/**
|
|
692
694
|
* Represents the data item being rendered.
|
|
693
695
|
*/
|