Skip to content

Commit cf3ad0c

Browse files
committed
Minor updates on drop event
1 parent 9e55f7b commit cf3ad0c

16 files changed

+87
-54
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ log.txt
2121
.vscode/
2222
.sass-cache/
2323
.versions/
24+
packages/
2425
node_modules/
2526
vscode-data.json
2627

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020 Revolist OU
3+
Copyright (c) 2024 Revolist OU
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

package.json

+39-14
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@revolist/revogrid",
33
"version": "4.0.0",
4-
"description": "Virtual reactive data grid component - RevoGrid.",
4+
"description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
55
"license": "MIT",
66
"directories": {
77
"doc": "docs"
@@ -18,25 +18,47 @@
1818
"keywords": [
1919
"revo-grid",
2020
"revolist",
21+
"csv",
2122
"datagrid",
22-
"storybook",
23-
"stenciljs",
24-
"reactive",
23+
"datalist",
24+
"datamanager",
25+
"editable",
26+
"excel",
27+
"excel-grid",
28+
"export",
29+
"fast-grid",
30+
"filtering",
2531
"grid",
26-
"datagrid",
32+
"grouping",
33+
"infinity-grid",
34+
"reactive",
35+
"spreadsheet",
36+
"stenciljs",
37+
"storybook",
38+
"treeview",
2739
"virtualgrid",
2840
"virtual",
41+
"virtuallist",
42+
"virtual-scroll",
43+
2944
"vue",
30-
"react",
31-
"react-grid",
3245
"vue-grid",
3346
"vue-datagrid",
34-
"fast-grid",
35-
"excel-grid",
36-
"editable",
37-
"excel",
38-
"export",
39-
"filtering"
47+
"vue3",
48+
"vue3-datagrid",
49+
50+
"react",
51+
"react-grid",
52+
"react-datagrid",
53+
54+
"svelte",
55+
"svelte-grid",
56+
"svelte-datagrid",
57+
58+
"angular",
59+
"angular-grid",
60+
"angular-datagrid",
61+
"angular-tree"
4062
],
4163
"main": "dist/index.cjs.js",
4264
"module": "dist/index.js",
@@ -90,7 +112,10 @@
90112
"typescript": "^5.2.2"
91113
},
92114
"dependencies": {
93-
"@stencil/core": "^4.16.0",
115+
"@stencil/core": "^4.17.1",
94116
"lodash": "^4.17.21"
117+
},
118+
"publishConfig": {
119+
"access": "public"
95120
}
96121
}

packages/angular

packages/svelte

Submodule svelte updated 69 files

src/components.d.ts

+16-16
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77
import { HTMLStencilElement, JSXBase } from "@stencil/core/internal";
88
import { AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeRowRenderEvent, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionSettingsState, DragStartEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, Observable, PositionItem, RowDefinition, RowHeaders, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/interfaces";
9-
import { BeforeEdit, BeforeRangeSaveDataDetails, BeforeSaveDataDetails, Cell, ChangedRange, EditCell, EditorCtr, Editors, RangeArea, SaveDataDetails, SelectionStoreState, TempRange } from "./types/selection";
9+
import { AfterEditEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeSaveDataDetails, Cell, ChangedRange, EditCell, EditorCtr, Editors, RangeArea, SaveDataDetails, SelectionStoreState, TempRange } from "./types/selection";
1010
import { PluginBaseComponent, PluginExternalConstructor } from "./types/plugin";
1111
import { Theme } from "./types/theme";
1212
import { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
@@ -24,7 +24,7 @@ import { ResizeProps } from "./services/resizable.directive";
2424
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";
2525
import { ElementScroll, ViewportData } from "./types/viewport.interfaces";
2626
export { AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeRowRenderEvent, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionSettingsState, DragStartEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, Observable, PositionItem, RowDefinition, RowHeaders, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/interfaces";
27-
export { BeforeEdit, BeforeRangeSaveDataDetails, BeforeSaveDataDetails, Cell, ChangedRange, EditCell, EditorCtr, Editors, RangeArea, SaveDataDetails, SelectionStoreState, TempRange } from "./types/selection";
27+
export { AfterEditEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeSaveDataDetails, Cell, ChangedRange, EditCell, EditorCtr, Editors, RangeArea, SaveDataDetails, SelectionStoreState, TempRange } from "./types/selection";
2828
export { PluginBaseComponent, PluginExternalConstructor } from "./types/plugin";
2929
export { Theme } from "./types/theme";
3030
export { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
@@ -73,7 +73,7 @@ export namespace Components {
7373
*/
7474
"canMoveColumns": boolean;
7575
/**
76-
* Clear current grid focus
76+
* Clear current grid focus. Grid has no longer focus on it.
7777
*/
7878
"clearFocus": () => Promise<void>;
7979
/**
@@ -729,7 +729,7 @@ declare global {
729729
"contentsizechanged": MultiDimensionType;
730730
"beforeedit": BeforeSaveDataDetails;
731731
"beforerangeedit": BeforeRangeSaveDataDetails;
732-
"afteredit": BeforeSaveDataDetails | BeforeRangeSaveDataDetails;
732+
"afteredit": AfterEditEvent;
733733
"beforeautofill": ChangedRange;
734734
"beforeange": ChangedRange;
735735
"afterfocus": {
@@ -965,7 +965,7 @@ declare global {
965965
"rowdragendinit": any;
966966
"rowdragmoveinit": PositionItem;
967967
"rowdragmousemove": Cell;
968-
"rowdragendinit": {
968+
"rowdropinit": {
969969
from: number;
970970
to: number;
971971
};
@@ -1236,7 +1236,7 @@ declare namespace LocalJSX {
12361236
/**
12371237
* Triggered after data applied or range changed.
12381238
*/
1239-
"onAfteredit"?: (event: RevoGridCustomEvent<BeforeSaveDataDetails | BeforeRangeSaveDataDetails>) => void;
1239+
"onAfteredit"?: (event: RevoGridCustomEvent<AfterEditEvent>) => void;
12401240
/**
12411241
* Triggered after focus render finished. Can be used to access a focus element through `event.target`
12421242
*/
@@ -1762,22 +1762,15 @@ declare namespace LocalJSX {
17621762
*/
17631763
"dimensionRow"?: Observable<DimensionSettingsState>;
17641764
/**
1765-
* Row drag ended
1765+
* Row drag ended started
17661766
*/
17671767
"onRowdragendinit"?: (event: RevogrOrderEditorCustomEvent<any>) => void;
17681768
/**
1769-
* Row dragged, new range ready to be applied
1770-
*/
1771-
"onRowdragendinit"?: (event: RevogrOrderEditorCustomEvent<{
1772-
from: number;
1773-
to: number;
1774-
}>) => void;
1775-
/**
1776-
* Row mouse move
1769+
* Row mouse move started
17771770
*/
17781771
"onRowdragmousemove"?: (event: RevogrOrderEditorCustomEvent<Cell>) => void;
17791772
/**
1780-
* Row move
1773+
* Row move started
17811774
*/
17821775
"onRowdragmoveinit"?: (event: RevogrOrderEditorCustomEvent<PositionItem>) => void;
17831776
/**
@@ -1788,6 +1781,13 @@ declare namespace LocalJSX {
17881781
text: string;
17891782
pos: PositionItem;
17901783
event: MouseEvent;
1784+
}>) => void;
1785+
/**
1786+
* Row dragged, new range ready to be applied
1787+
*/
1788+
"onRowdropinit"?: (event: RevogrOrderEditorCustomEvent<{
1789+
from: number;
1790+
to: number;
17911791
}>) => void;
17921792
/**
17931793
* Parent element

src/components/order/readme.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
| Event | Description | Type |
1919
| ------------------ | ------------------------------------------ | ---------------------------------------------------------------------------------- |
20-
| `rowdragendinit` | Row drag ended | `CustomEvent<any>` |
21-
| `rowdragendinit` | Row dragged, new range ready to be applied | `CustomEvent<{ from: number; to: number; }>` |
22-
| `rowdragmousemove` | Row mouse move | `CustomEvent<Cell>` |
23-
| `rowdragmoveinit` | Row move | `CustomEvent<PositionItem>` |
20+
| `rowdragendinit` | Row drag ended started | `CustomEvent<any>` |
21+
| `rowdragmousemove` | Row mouse move started | `CustomEvent<Cell>` |
22+
| `rowdragmoveinit` | Row move started | `CustomEvent<PositionItem>` |
2423
| `rowdragstartinit` | Row drag started | `CustomEvent<{ cell: Cell; text: string; pos: PositionItem; event: MouseEvent; }>` |
24+
| `rowdropinit` | Row dragged, new range ready to be applied | `CustomEvent<{ from: number; to: number; }>` |
2525

2626

2727
## Methods

src/components/order/revogr-order-editor.tsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,18 @@ export class OrderEditor {
4444
event: MouseEvent;
4545
}>;
4646

47-
/** Row drag ended */
48-
@Event({ eventName: 'rowdragendinit', cancelable: true })
47+
/** Row drag ended started */
48+
@Event({ eventName: 'rowdragendinit' })
4949
rowDragEnd: EventEmitter;
5050

51-
/** Row move */
51+
/** Row move started */
5252
@Event({ eventName: 'rowdragmoveinit', cancelable: true }) rowDrag: EventEmitter<PositionItem>;
5353

54-
/** Row mouse move */
54+
/** Row mouse move started */
5555
@Event({ eventName: 'rowdragmousemove', cancelable: true })rowMouseMove: EventEmitter<Cell>;
5656

5757
/** Row dragged, new range ready to be applied */
58-
@Event({ eventName: 'rowdragendinit', cancelable: true }) rowDropped: EventEmitter<{
58+
@Event({ eventName: 'rowdropinit', cancelable: true }) rowDropped: EventEmitter<{
5959
from: number;
6060
to: number;
6161
}>;

src/components/revoGrid/readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Type: `Promise<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: stri
106106

107107
### `clearFocus() => Promise<void>`
108108

109-
Clear current grid focus
109+
Clear current grid focus. Grid has no longer focus on it.
110110

111111
#### Returns
112112

src/components/revoGrid/revo-grid.tsx

+4-5
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ import {
8282
Cell,
8383
ChangedRange,
8484
RangeArea,
85+
AfterEditEvent,
8586
} from '../../types/selection';
8687
import { Theme } from '../../types/theme';
8788
import {
@@ -296,9 +297,7 @@ export class RevoGridComponent {
296297
/**
297298
* Triggered after data applied or range changed.
298299
*/
299-
@Event() afteredit: EventEmitter<
300-
BeforeSaveDataDetails | BeforeRangeSaveDataDetails
301-
>;
300+
@Event() afteredit: EventEmitter<AfterEditEvent>;
302301

303302
/**
304303
* This event is triggered before autofill is applied.
@@ -727,7 +726,7 @@ export class RevoGridComponent {
727726
}
728727

729728
/**
730-
* Clear current grid focus
729+
* Clear current grid focus. Grid has no longer focus on it.
731730
*/
732731
@Method() async clearFocus() {
733732
const focused = this.viewport?.getFocused();
@@ -888,7 +887,7 @@ export class RevoGridComponent {
888887
}
889888
}
890889

891-
@Listen('rowdragendinit') onRowDropped(
890+
@Listen('rowdropinit') onRowDropped(
892891
e: CustomEvent<{ from: number; to: number }>,
893892
) {
894893
// e.cancelBubble = true;

src/components/revoGrid/styles/revo-grid.default.scss

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
@import './revo-grid.mixin.scss';
22

3-
revo-grid[theme='default'] {
3+
revo-grid[theme='default'],
4+
revo-grid:not([theme]) {
45
$header-size: 30px;
56
$header-bg: #f8f9fa;
67
$header-color: #000;

src/types/selection.ts

+3
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ export type BeforeRangeSaveDataDetails = {
9090
};
9191
type: DimensionRows;
9292
};
93+
94+
export type AfterEditEvent = BeforeRangeSaveDataDetails | BeforeSaveDataDetails;
95+
9396
export interface EditCellStore extends Cell {
9497
val?: SaveData;
9598
}

stencil.config.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ const componentCorePackage = '@revolist/revogrid';
1010
const parent = './packages';
1111
const entry = 'revogrid.ts';
1212
const directivesProxyFile = (name: string, filepath = entry) =>
13-
`${parent}/${name}/src/${filepath}`;
13+
`${parent}/${name}/lib/${filepath}`;
14+
15+
const angularPath = (name: string, filepath = entry) => `${parent}/angular/projects/${name}/src/lib/${filepath}`;
1416

1517
export const config: Config = {
1618
// https://github.com/ionic-team/stencil/blob/master/src/declarations/stencil-public-compiler.ts
@@ -68,7 +70,9 @@ export const config: Config = {
6870
// #region Angular
6971
angularOutputTarget({
7072
componentCorePackage,
71-
directivesProxyFile: directivesProxyFile('angular', `proxies/${entry}`),
73+
outputType: 'component',
74+
directivesProxyFile: angularPath('angular-datagrid', `components.ts`),
75+
directivesArrayFile: angularPath('angular-datagrid', entry),
7276
valueAccessorConfigs: [],
7377
}),
7478
// #endregion

0 commit comments

Comments
 (0)