@revolist/revogrid 4.9.0 → 4.9.2
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/revogr-attribution_6.cjs.entry.js +14 -8
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +5 -2
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +17 -4
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/collection/components/clipboard/revogr-clipboard.js +66 -87
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
- package/dist/collection/components/header/header-renderer.js +18 -5
- package/dist/collection/components/header/header-renderer.js.map +1 -1
- package/dist/collection/components/header/revogr-header.js +2 -2
- package/dist/collection/components/overlay/autofill.service.js +6 -8
- package/dist/collection/components/overlay/autofill.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +22 -10
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/overlay/selection.utils.js +9 -1
- package/dist/collection/components/overlay/selection.utils.js.map +1 -1
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +15 -9
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +5 -2
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +17 -4
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +32 -24
- package/dist/types/components/overlay/autofill.service.d.ts +3 -1
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +12 -3
- package/dist/types/components/overlay/selection.utils.d.ts +4 -1
- package/dist/types/components.d.ts +67 -42
- package/dist/types/types/interfaces.d.ts +16 -1
- package/hydrate/index.js +36 -14
- package/hydrate/index.mjs +36 -14
- package/package.json +1 -1
- package/readme.md +2 -0
- package/standalone/column.service.js +1 -2
- package/standalone/column.service.js.map +1 -1
- package/standalone/data.store.js +2950 -3
- package/standalone/data.store.js.map +1 -1
- package/standalone/debounce.js +1 -1
- package/standalone/dimension.helpers.js +2 -2
- package/standalone/revo-grid.js +1 -2
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-clipboard2.js +5 -2
- package/standalone/revogr-clipboard2.js.map +1 -1
- package/standalone/revogr-data2.js +0 -1
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-focus2.js +0 -1
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +18 -6
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +0 -1
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +8 -11
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +0 -1
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/selection.utils.js +10 -2
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/toNumber.js +1 -1
- package/standalone/_baseIteratee.js +0 -2956
- package/standalone/_baseIteratee.js.map +0 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* It contains typing information for all components that exist in this project.
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
-
import { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, PluginBaseComponent, PositionItem, RangeArea, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
8
|
+
import { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, PluginBaseComponent, PositionItem, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
9
9
|
import { GridPlugin } from "./plugins/base.plugin";
|
|
10
10
|
import { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
|
|
11
11
|
import { ColumnFilterConfig, FilterCaptions, FilterCollection } from "./plugins/filter/filter.plugin";
|
|
@@ -20,7 +20,7 @@ import { MultiFilterItem, ShowData } from "./plugins/filter/filter.panel";
|
|
|
20
20
|
import { LogicFunction } from "./plugins/filter/filter.types";
|
|
21
21
|
import { ResizeProps } from "./components/header/resizable.directive";
|
|
22
22
|
import { Cell as Cell1, ColumnRegular as ColumnRegular1, DataType as DataType1, DimensionCols as DimensionCols1, DimensionRows as DimensionRows1, DimensionSettingsState as DimensionSettingsState1, Observable as Observable1, SelectionStoreState as SelectionStoreState1 } from "./components";
|
|
23
|
-
export { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, PluginBaseComponent, PositionItem, RangeArea, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
23
|
+
export { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, PluginBaseComponent, PositionItem, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
24
24
|
export { GridPlugin } from "./plugins/base.plugin";
|
|
25
25
|
export { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
|
|
26
26
|
export { ColumnFilterConfig, FilterCaptions, FilterCollection } from "./plugins/filter/filter.plugin";
|
|
@@ -845,14 +845,34 @@ declare global {
|
|
|
845
845
|
new (): HTMLRevogrAttributionElement;
|
|
846
846
|
};
|
|
847
847
|
interface HTMLRevogrClipboardElementEventMap {
|
|
848
|
-
"beforepaste":
|
|
849
|
-
|
|
848
|
+
"beforepaste": {
|
|
849
|
+
raw: string;
|
|
850
|
+
isHTML: boolean;
|
|
851
|
+
event: ClipboardEvent;
|
|
852
|
+
dataText: string;
|
|
853
|
+
};
|
|
854
|
+
"beforepasteapply": {
|
|
855
|
+
raw: string;
|
|
856
|
+
parsed: string[][];
|
|
857
|
+
event: ClipboardEvent;
|
|
858
|
+
};
|
|
850
859
|
"pasteregion": string[][];
|
|
851
|
-
"afterpasteapply":
|
|
852
|
-
|
|
860
|
+
"afterpasteapply": {
|
|
861
|
+
raw: string;
|
|
862
|
+
parsed: string[][];
|
|
863
|
+
event: ClipboardEvent;
|
|
864
|
+
};
|
|
865
|
+
"beforecut": {
|
|
866
|
+
event: ClipboardEvent;
|
|
867
|
+
};
|
|
853
868
|
"clearregion": DataTransfer;
|
|
854
|
-
"beforecopy":
|
|
855
|
-
|
|
869
|
+
"beforecopy": {
|
|
870
|
+
event: ClipboardEvent;
|
|
871
|
+
};
|
|
872
|
+
"beforecopyapply": {
|
|
873
|
+
event: DataTransfer;
|
|
874
|
+
data?: string[][];
|
|
875
|
+
};
|
|
856
876
|
"copyregion": DataTransfer;
|
|
857
877
|
}
|
|
858
878
|
/**
|
|
@@ -1034,8 +1054,8 @@ declare global {
|
|
|
1034
1054
|
"selectionchangeinit": ChangedRange;
|
|
1035
1055
|
"beforerangecopyapply": ChangedRange;
|
|
1036
1056
|
"rangeeditapply": BeforeRangeSaveDataDetails;
|
|
1037
|
-
"clipboardrangecopy":
|
|
1038
|
-
"clipboardrangepaste":
|
|
1057
|
+
"clipboardrangecopy": RangeClipboardCopyEventProps;
|
|
1058
|
+
"clipboardrangepaste": RangeClipboardPasteEvent;
|
|
1039
1059
|
"beforekeydown": KeyboardEvent;
|
|
1040
1060
|
"beforekeyup": KeyboardEvent;
|
|
1041
1061
|
"beforecellsave": any;
|
|
@@ -1511,53 +1531,55 @@ declare namespace LocalJSX {
|
|
|
1511
1531
|
*/
|
|
1512
1532
|
interface RevogrClipboard {
|
|
1513
1533
|
/**
|
|
1514
|
-
* Paste 4. Fired after paste applied to the grid
|
|
1515
|
-
* @property {string} raw - raw data from clipboard
|
|
1516
|
-
* @property {string[][]} parsed - parsed data
|
|
1517
|
-
* @property {ClipboardEvent} event - original event
|
|
1518
|
-
* @property {boolean} defaultPrevented - if true, paste will be canceled
|
|
1534
|
+
* Paste 4. Fired after paste applied to the grid defaultPrevented - if true, paste will be canceled
|
|
1519
1535
|
*/
|
|
1520
|
-
"onAfterpasteapply"?: (event: RevogrClipboardCustomEvent<
|
|
1536
|
+
"onAfterpasteapply"?: (event: RevogrClipboardCustomEvent<{
|
|
1537
|
+
raw: string;
|
|
1538
|
+
parsed: string[][];
|
|
1539
|
+
event: ClipboardEvent;
|
|
1540
|
+
}>) => void;
|
|
1521
1541
|
/**
|
|
1522
|
-
* Copy 1. Fired before copy triggered
|
|
1523
|
-
* @property {ClipboardEvent} event - original event
|
|
1524
|
-
* @property {boolean} defaultPrevented - if true, copy will be canceled
|
|
1542
|
+
* Copy 1. Fired before copy triggered defaultPrevented - if true, copy will be canceled
|
|
1525
1543
|
*/
|
|
1526
|
-
"onBeforecopy"?: (event: RevogrClipboardCustomEvent<
|
|
1544
|
+
"onBeforecopy"?: (event: RevogrClipboardCustomEvent<{
|
|
1545
|
+
event: ClipboardEvent;
|
|
1546
|
+
}>) => void;
|
|
1527
1547
|
/**
|
|
1528
|
-
* Copy Method 1. Fired before copy applied to the clipboard from outside.
|
|
1529
|
-
* @property {DataTransfer} event - original event
|
|
1530
|
-
* @property {string} data - data to copy
|
|
1531
|
-
* @property {boolean} defaultPrevented - if true, copy will be canceled
|
|
1548
|
+
* Copy Method 1. Fired before copy applied to the clipboard from outside. defaultPrevented - if true, copy will be canceled
|
|
1532
1549
|
*/
|
|
1533
|
-
"onBeforecopyapply"?: (event: RevogrClipboardCustomEvent<
|
|
1550
|
+
"onBeforecopyapply"?: (event: RevogrClipboardCustomEvent<{
|
|
1551
|
+
event: DataTransfer;
|
|
1552
|
+
data?: string[][];
|
|
1553
|
+
}>) => void;
|
|
1534
1554
|
/**
|
|
1535
|
-
* Cut 1. Fired before cut triggered
|
|
1536
|
-
* @property {ClipboardEvent} event - original event
|
|
1537
|
-
* @property {boolean} defaultPrevented - if true, cut will be canceled
|
|
1555
|
+
* Cut 1. Fired before cut triggered defaultPrevented - if true, cut will be canceled
|
|
1538
1556
|
*/
|
|
1539
|
-
"onBeforecut"?: (event: RevogrClipboardCustomEvent<
|
|
1557
|
+
"onBeforecut"?: (event: RevogrClipboardCustomEvent<{
|
|
1558
|
+
event: ClipboardEvent;
|
|
1559
|
+
}>) => void;
|
|
1540
1560
|
/**
|
|
1541
|
-
* Paste 1. Fired before paste applied to the grid
|
|
1542
|
-
* @property {string} raw - raw data from clipboard
|
|
1543
|
-
* @property {ClipboardEvent} event - original event
|
|
1544
|
-
* @property {boolean} defaultPrevented - if true, paste will be canceled
|
|
1561
|
+
* Paste 1. Fired before paste applied to the grid defaultPrevented - if true, paste will be canceled
|
|
1545
1562
|
*/
|
|
1546
|
-
"onBeforepaste"?: (event: RevogrClipboardCustomEvent<
|
|
1563
|
+
"onBeforepaste"?: (event: RevogrClipboardCustomEvent<{
|
|
1564
|
+
raw: string;
|
|
1565
|
+
isHTML: boolean;
|
|
1566
|
+
event: ClipboardEvent;
|
|
1567
|
+
dataText: string;
|
|
1568
|
+
}>) => void;
|
|
1547
1569
|
/**
|
|
1548
1570
|
* Paste 2. Fired before paste applied to the grid and after data parsed
|
|
1549
|
-
* @property {string} raw - raw data from clipboard
|
|
1550
|
-
* @property {string[][]} parsed - parsed data
|
|
1551
1571
|
*/
|
|
1552
|
-
"onBeforepasteapply"?: (event: RevogrClipboardCustomEvent<
|
|
1572
|
+
"onBeforepasteapply"?: (event: RevogrClipboardCustomEvent<{
|
|
1573
|
+
raw: string;
|
|
1574
|
+
parsed: string[][];
|
|
1575
|
+
event: ClipboardEvent;
|
|
1576
|
+
}>) => void;
|
|
1553
1577
|
/**
|
|
1554
1578
|
* Cut 2. Clears region when cut is done
|
|
1555
1579
|
*/
|
|
1556
1580
|
"onClearregion"?: (event: RevogrClipboardCustomEvent<DataTransfer>) => void;
|
|
1557
1581
|
/**
|
|
1558
|
-
* Copy 2. Fired when region copied
|
|
1559
|
-
* @property {DataTransfer} data - data to copy
|
|
1560
|
-
* @property {boolean} defaultPrevented - if true, copy will be canceled
|
|
1582
|
+
* Copy 2. Fired when region copied defaultPrevented - if true, copy will be canceled
|
|
1561
1583
|
*/
|
|
1562
1584
|
"onCopyregion"?: (event: RevogrClipboardCustomEvent<DataTransfer>) => void;
|
|
1563
1585
|
/**
|
|
@@ -1964,8 +1986,11 @@ declare namespace LocalJSX {
|
|
|
1964
1986
|
/**
|
|
1965
1987
|
* Range copy.
|
|
1966
1988
|
*/
|
|
1967
|
-
"onClipboardrangecopy"?: (event: RevogrOverlaySelectionCustomEvent<
|
|
1968
|
-
|
|
1989
|
+
"onClipboardrangecopy"?: (event: RevogrOverlaySelectionCustomEvent<RangeClipboardCopyEventProps>) => void;
|
|
1990
|
+
/**
|
|
1991
|
+
* Range paste event.
|
|
1992
|
+
*/
|
|
1993
|
+
"onClipboardrangepaste"?: (event: RevogrOverlaySelectionCustomEvent<RangeClipboardPasteEvent>) => void;
|
|
1969
1994
|
/**
|
|
1970
1995
|
* Cell get focused. To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.
|
|
1971
1996
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { VNode } from '../stencil-public-runtime';
|
|
2
2
|
import { DimensionCols, DimensionRows, DimensionColPin, DimensionType, MultiDimensionType } from './dimension';
|
|
3
|
-
import { Cell, EditorCtr, FocusedCells, RangeArea, SelectionStoreState } from './selection';
|
|
3
|
+
import { Cell, EditorCtr, FocusedCells, OldNewRangeMapping, RangeArea, SelectionStoreState } from './selection';
|
|
4
4
|
import type { Observable } from '../utils/store.utils';
|
|
5
5
|
/**
|
|
6
6
|
* Advanced column data schema model.
|
|
@@ -417,6 +417,7 @@ export type InitialHeaderClick = {
|
|
|
417
417
|
* The column that was clicked.
|
|
418
418
|
*/
|
|
419
419
|
column: ColumnRegular;
|
|
420
|
+
providers: Providers<DimensionCols | 'rowHeaders'>;
|
|
420
421
|
};
|
|
421
422
|
/**
|
|
422
423
|
* `Range` is an object that represents a range of values.
|
|
@@ -667,3 +668,17 @@ export type ScrollCoordinateEvent = {
|
|
|
667
668
|
*/
|
|
668
669
|
coordinate: number;
|
|
669
670
|
};
|
|
671
|
+
/** Range paste. */
|
|
672
|
+
export type RangeClipboardPasteEvent = {
|
|
673
|
+
data: DataLookup;
|
|
674
|
+
models: {
|
|
675
|
+
[rowIndex: number]: DataType;
|
|
676
|
+
};
|
|
677
|
+
range: RangeArea;
|
|
678
|
+
} & AllDimensionType;
|
|
679
|
+
/** Range copy. */
|
|
680
|
+
export type RangeClipboardCopyEventProps = {
|
|
681
|
+
data: DataFormat[][];
|
|
682
|
+
range: RangeArea;
|
|
683
|
+
mapping: OldNewRangeMapping;
|
|
684
|
+
} & AllDimensionType;
|
package/hydrate/index.js
CHANGED
|
@@ -2311,7 +2311,9 @@ class Clipboard {
|
|
|
2311
2311
|
}
|
|
2312
2312
|
const clipboardData = this.getData(e);
|
|
2313
2313
|
const isHTML = ((clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.types.indexOf('text/html')) || -1) > -1;
|
|
2314
|
-
const data = isHTML
|
|
2314
|
+
const data = isHTML
|
|
2315
|
+
? clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text/html')
|
|
2316
|
+
: clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text');
|
|
2315
2317
|
const dataText = clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text');
|
|
2316
2318
|
const beforePaste = this.beforePaste.emit({
|
|
2317
2319
|
raw: data,
|
|
@@ -2421,7 +2423,8 @@ class Clipboard {
|
|
|
2421
2423
|
return result;
|
|
2422
2424
|
}
|
|
2423
2425
|
getData(e) {
|
|
2424
|
-
return e.clipboardData ||
|
|
2426
|
+
return (e.clipboardData ||
|
|
2427
|
+
(window === null || window === void 0 ? void 0 : window.clipboardData));
|
|
2425
2428
|
}
|
|
2426
2429
|
static get cmpMeta() { return {
|
|
2427
2430
|
"$flags$": 0,
|
|
@@ -9240,6 +9243,14 @@ function getPropertyFromEvent(e, prop, focusClass // for touch events
|
|
|
9240
9243
|
return e[prop] || 0;
|
|
9241
9244
|
}
|
|
9242
9245
|
|
|
9246
|
+
function collectModelsOfRange(data, store) {
|
|
9247
|
+
const models = {};
|
|
9248
|
+
for (let i in data) {
|
|
9249
|
+
const rowIndex = parseInt(i, 10);
|
|
9250
|
+
models[rowIndex] = getSourceItem(store, rowIndex);
|
|
9251
|
+
}
|
|
9252
|
+
return models;
|
|
9253
|
+
}
|
|
9243
9254
|
function getFocusCellBasedOnEvent(e, data) {
|
|
9244
9255
|
// If event default is prevented, return
|
|
9245
9256
|
if (e.defaultPrevented) {
|
|
@@ -9767,15 +9778,13 @@ class AutoFillService {
|
|
|
9767
9778
|
this.autoFillLast = null;
|
|
9768
9779
|
this.autoFillStart = null;
|
|
9769
9780
|
}
|
|
9770
|
-
/**
|
|
9781
|
+
/**
|
|
9782
|
+
* Trigger range apply events and handle responses
|
|
9783
|
+
*/
|
|
9771
9784
|
onRangeApply(data, range) {
|
|
9772
|
-
const models = {};
|
|
9773
|
-
for (let rowIndex in data) {
|
|
9774
|
-
models[rowIndex] = getSourceItem(this.sv.dataStore, parseInt(rowIndex, 10));
|
|
9775
|
-
}
|
|
9776
9785
|
this.sv.rangeDataApply({
|
|
9777
9786
|
data,
|
|
9778
|
-
models,
|
|
9787
|
+
models: collectModelsOfRange(data, this.sv.dataStore),
|
|
9779
9788
|
type: this.sv.dataStore.get('type'),
|
|
9780
9789
|
});
|
|
9781
9790
|
this.sv.setRange(range);
|
|
@@ -10061,7 +10070,7 @@ class OverlaySelection {
|
|
|
10061
10070
|
nodes.push(hAsync("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onRowdragstartinit: e => this.rowDragStart(e) }));
|
|
10062
10071
|
}
|
|
10063
10072
|
}
|
|
10064
|
-
return (hAsync(Host, { key: '
|
|
10073
|
+
return (hAsync(Host, { key: '98f6ca4606540478588614eaf7ee69a5eaf48b99', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, hAsync("slot", { key: '65d69b6562e14e1cf99c3780ac2ba3fa3e37e801', name: "data" })));
|
|
10065
10074
|
}
|
|
10066
10075
|
/**
|
|
10067
10076
|
* Executes the focus operation on the specified range of cells.
|
|
@@ -10208,7 +10217,7 @@ class OverlaySelection {
|
|
|
10208
10217
|
return;
|
|
10209
10218
|
}
|
|
10210
10219
|
let { changed, range } = this.columnService.getTransformedDataToApply(focus, data);
|
|
10211
|
-
const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, range }, this.types));
|
|
10220
|
+
const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, models: collectModelsOfRange(changed, this.dataStore), range }, this.types));
|
|
10212
10221
|
if (canPaste) {
|
|
10213
10222
|
return;
|
|
10214
10223
|
}
|
|
@@ -15735,16 +15744,29 @@ const HeaderRenderer = (p) => {
|
|
|
15735
15744
|
maxWidth: (_d = p.data) === null || _d === void 0 ? void 0 : _d.maxSize,
|
|
15736
15745
|
active: p.active || ['r'],
|
|
15737
15746
|
class: cellClass,
|
|
15738
|
-
style: {
|
|
15747
|
+
style: {
|
|
15748
|
+
width: `${p.column.size}px`,
|
|
15749
|
+
transform: `translateX(${p.column.start}px)`,
|
|
15750
|
+
},
|
|
15739
15751
|
onResize: p.onResize,
|
|
15740
15752
|
onDoubleClick(originalEvent) {
|
|
15741
|
-
p.onDoubleClick({
|
|
15753
|
+
p.onDoubleClick({
|
|
15754
|
+
column: p.data,
|
|
15755
|
+
index: p.column.itemIndex,
|
|
15756
|
+
originalEvent,
|
|
15757
|
+
providers: p.data.providers,
|
|
15758
|
+
});
|
|
15742
15759
|
},
|
|
15743
15760
|
onClick(originalEvent) {
|
|
15744
15761
|
if (originalEvent.defaultPrevented || !p.onClick) {
|
|
15745
15762
|
return;
|
|
15746
15763
|
}
|
|
15747
|
-
p.onClick({
|
|
15764
|
+
p.onClick({
|
|
15765
|
+
column: p.data,
|
|
15766
|
+
index: p.column.itemIndex,
|
|
15767
|
+
originalEvent,
|
|
15768
|
+
providers: p.data.providers,
|
|
15769
|
+
});
|
|
15748
15770
|
},
|
|
15749
15771
|
};
|
|
15750
15772
|
if (p.range) {
|
|
@@ -15756,7 +15778,7 @@ const HeaderRenderer = (p) => {
|
|
|
15756
15778
|
}
|
|
15757
15779
|
return (hAsync(HeaderCellRenderer, { data: p.data, props: dataProps, additionalData: p.additionalData },
|
|
15758
15780
|
hAsync(SortingSign, { column: p.data }),
|
|
15759
|
-
p.canFilter && ((_e = p.data) === null || _e === void 0 ? void 0 : _e.filter) !== false ? hAsync(FilterButton, { column: p.data }) : ''));
|
|
15781
|
+
p.canFilter && ((_e = p.data) === null || _e === void 0 ? void 0 : _e.filter) !== false ? (hAsync(FilterButton, { column: p.data })) : ('')));
|
|
15760
15782
|
};
|
|
15761
15783
|
|
|
15762
15784
|
const GroupHeaderRenderer = (p) => {
|
package/hydrate/index.mjs
CHANGED
|
@@ -2307,7 +2307,9 @@ class Clipboard {
|
|
|
2307
2307
|
}
|
|
2308
2308
|
const clipboardData = this.getData(e);
|
|
2309
2309
|
const isHTML = ((clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.types.indexOf('text/html')) || -1) > -1;
|
|
2310
|
-
const data = isHTML
|
|
2310
|
+
const data = isHTML
|
|
2311
|
+
? clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text/html')
|
|
2312
|
+
: clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text');
|
|
2311
2313
|
const dataText = clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text');
|
|
2312
2314
|
const beforePaste = this.beforePaste.emit({
|
|
2313
2315
|
raw: data,
|
|
@@ -2417,7 +2419,8 @@ class Clipboard {
|
|
|
2417
2419
|
return result;
|
|
2418
2420
|
}
|
|
2419
2421
|
getData(e) {
|
|
2420
|
-
return e.clipboardData ||
|
|
2422
|
+
return (e.clipboardData ||
|
|
2423
|
+
(window === null || window === void 0 ? void 0 : window.clipboardData));
|
|
2421
2424
|
}
|
|
2422
2425
|
static get cmpMeta() { return {
|
|
2423
2426
|
"$flags$": 0,
|
|
@@ -9236,6 +9239,14 @@ function getPropertyFromEvent(e, prop, focusClass // for touch events
|
|
|
9236
9239
|
return e[prop] || 0;
|
|
9237
9240
|
}
|
|
9238
9241
|
|
|
9242
|
+
function collectModelsOfRange(data, store) {
|
|
9243
|
+
const models = {};
|
|
9244
|
+
for (let i in data) {
|
|
9245
|
+
const rowIndex = parseInt(i, 10);
|
|
9246
|
+
models[rowIndex] = getSourceItem(store, rowIndex);
|
|
9247
|
+
}
|
|
9248
|
+
return models;
|
|
9249
|
+
}
|
|
9239
9250
|
function getFocusCellBasedOnEvent(e, data) {
|
|
9240
9251
|
// If event default is prevented, return
|
|
9241
9252
|
if (e.defaultPrevented) {
|
|
@@ -9763,15 +9774,13 @@ class AutoFillService {
|
|
|
9763
9774
|
this.autoFillLast = null;
|
|
9764
9775
|
this.autoFillStart = null;
|
|
9765
9776
|
}
|
|
9766
|
-
/**
|
|
9777
|
+
/**
|
|
9778
|
+
* Trigger range apply events and handle responses
|
|
9779
|
+
*/
|
|
9767
9780
|
onRangeApply(data, range) {
|
|
9768
|
-
const models = {};
|
|
9769
|
-
for (let rowIndex in data) {
|
|
9770
|
-
models[rowIndex] = getSourceItem(this.sv.dataStore, parseInt(rowIndex, 10));
|
|
9771
|
-
}
|
|
9772
9781
|
this.sv.rangeDataApply({
|
|
9773
9782
|
data,
|
|
9774
|
-
models,
|
|
9783
|
+
models: collectModelsOfRange(data, this.sv.dataStore),
|
|
9775
9784
|
type: this.sv.dataStore.get('type'),
|
|
9776
9785
|
});
|
|
9777
9786
|
this.sv.setRange(range);
|
|
@@ -10057,7 +10066,7 @@ class OverlaySelection {
|
|
|
10057
10066
|
nodes.push(hAsync("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onRowdragstartinit: e => this.rowDragStart(e) }));
|
|
10058
10067
|
}
|
|
10059
10068
|
}
|
|
10060
|
-
return (hAsync(Host, { key: '
|
|
10069
|
+
return (hAsync(Host, { key: '98f6ca4606540478588614eaf7ee69a5eaf48b99', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, hAsync("slot", { key: '65d69b6562e14e1cf99c3780ac2ba3fa3e37e801', name: "data" })));
|
|
10061
10070
|
}
|
|
10062
10071
|
/**
|
|
10063
10072
|
* Executes the focus operation on the specified range of cells.
|
|
@@ -10204,7 +10213,7 @@ class OverlaySelection {
|
|
|
10204
10213
|
return;
|
|
10205
10214
|
}
|
|
10206
10215
|
let { changed, range } = this.columnService.getTransformedDataToApply(focus, data);
|
|
10207
|
-
const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, range }, this.types));
|
|
10216
|
+
const { defaultPrevented: canPaste } = this.rangeClipboardPaste.emit(Object.assign({ data: changed, models: collectModelsOfRange(changed, this.dataStore), range }, this.types));
|
|
10208
10217
|
if (canPaste) {
|
|
10209
10218
|
return;
|
|
10210
10219
|
}
|
|
@@ -15731,16 +15740,29 @@ const HeaderRenderer = (p) => {
|
|
|
15731
15740
|
maxWidth: (_d = p.data) === null || _d === void 0 ? void 0 : _d.maxSize,
|
|
15732
15741
|
active: p.active || ['r'],
|
|
15733
15742
|
class: cellClass,
|
|
15734
|
-
style: {
|
|
15743
|
+
style: {
|
|
15744
|
+
width: `${p.column.size}px`,
|
|
15745
|
+
transform: `translateX(${p.column.start}px)`,
|
|
15746
|
+
},
|
|
15735
15747
|
onResize: p.onResize,
|
|
15736
15748
|
onDoubleClick(originalEvent) {
|
|
15737
|
-
p.onDoubleClick({
|
|
15749
|
+
p.onDoubleClick({
|
|
15750
|
+
column: p.data,
|
|
15751
|
+
index: p.column.itemIndex,
|
|
15752
|
+
originalEvent,
|
|
15753
|
+
providers: p.data.providers,
|
|
15754
|
+
});
|
|
15738
15755
|
},
|
|
15739
15756
|
onClick(originalEvent) {
|
|
15740
15757
|
if (originalEvent.defaultPrevented || !p.onClick) {
|
|
15741
15758
|
return;
|
|
15742
15759
|
}
|
|
15743
|
-
p.onClick({
|
|
15760
|
+
p.onClick({
|
|
15761
|
+
column: p.data,
|
|
15762
|
+
index: p.column.itemIndex,
|
|
15763
|
+
originalEvent,
|
|
15764
|
+
providers: p.data.providers,
|
|
15765
|
+
});
|
|
15744
15766
|
},
|
|
15745
15767
|
};
|
|
15746
15768
|
if (p.range) {
|
|
@@ -15752,7 +15774,7 @@ const HeaderRenderer = (p) => {
|
|
|
15752
15774
|
}
|
|
15753
15775
|
return (hAsync(HeaderCellRenderer, { data: p.data, props: dataProps, additionalData: p.additionalData },
|
|
15754
15776
|
hAsync(SortingSign, { column: p.data }),
|
|
15755
|
-
p.canFilter && ((_e = p.data) === null || _e === void 0 ? void 0 : _e.filter) !== false ? hAsync(FilterButton, { column: p.data }) : ''));
|
|
15777
|
+
p.canFilter && ((_e = p.data) === null || _e === void 0 ? void 0 : _e.filter) !== false ? (hAsync(FilterButton, { column: p.data })) : ('')));
|
|
15756
15778
|
};
|
|
15757
15779
|
|
|
15758
15780
|
const GroupHeaderRenderer = (p) => {
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -235,6 +235,8 @@ grid.source = items;
|
|
|
235
235
|
- Enhanced plugin support - now with full access to grid providers.
|
|
236
236
|
- Updated documentation.
|
|
237
237
|
- Provided full framework support and native render for Angular, React, Svelte and Vue.
|
|
238
|
+
- **What next?**
|
|
239
|
+
- Check our [Roadmap](https://github.com/users/revolist/projects/3)
|
|
238
240
|
|
|
239
241
|
|
|
240
242
|
## Our Sponsors
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { i as createStore, h as setStore,
|
|
5
|
-
import './_baseIteratee.js';
|
|
4
|
+
import { i as createStore, h as setStore, w as _isIterateeCall, v as toInteger_1, a as getVisibleSourceItem, b as getSourceItem } from './data.store.js';
|
|
6
5
|
import './toNumber.js';
|
|
7
6
|
import '@stencil/core/internal/client';
|
|
8
7
|
import { G as GRID_INTERNALS, C as CELL_CLASS, d as DISABLED_CLASS } from './consts.js';
|