@revolist/vue3-datagrid 3.2.3 → 3.2.16
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/.webpack/webpack.dev.js +1 -1
- package/dist/revogrid.d.ts +38 -352
- package/dist/vgrid.d.ts +2 -103
- package/dist/vgrid.js +1 -1
- package/dist/vue-component-lib/utils.d.ts +11 -11
- package/package.json +18 -18
- package/src/revogrid.ts +20 -15
- package/src/vgrid.ts +1 -11
- package/src/vue-component-lib/utils.ts +107 -46
package/.webpack/webpack.dev.js
CHANGED
|
@@ -33,7 +33,7 @@ module.exports = {
|
|
|
33
33
|
extensions: [ '.tsx', '.ts', '.js', '.vue' ],
|
|
34
34
|
alias: {
|
|
35
35
|
'vue$': 'vue/dist/vue.esm-bundler.js',
|
|
36
|
-
'@revolist/vue-datagrid': path.resolve(__dirname, '../
|
|
36
|
+
'@revolist/vue-datagrid': path.resolve(__dirname, '../dist/vgrid')
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
module: {
|
package/dist/revogrid.d.ts
CHANGED
|
@@ -1,364 +1,50 @@
|
|
|
1
1
|
import type { JSX } from '@revolist/revogrid';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
editors?: import("@revolist/revogrid/dist/types/interfaces").Edition.EditorBase;
|
|
18
|
-
plugins?: import("@revolist/revogrid/dist/types/interfaces").RevoPlugin.Plugin;
|
|
19
|
-
columnTypes?: unknown;
|
|
20
|
-
theme?: import("@revolist/revogrid/dist/types/interfaces").ThemeSpace.Theme;
|
|
21
|
-
rowClass?: string;
|
|
22
|
-
autoSizeColumn?: boolean | import("@revolist/revogrid/dist/types/plugins/autoSizeColumn").AutoSizeColumnConfig;
|
|
23
|
-
filter?: boolean | import("@revolist/revogrid/dist/types/plugins/filter/filter.plugin").ColumnFilterConfig;
|
|
24
|
-
canMoveColumns?: boolean;
|
|
25
|
-
trimmedRows?: unknown;
|
|
26
|
-
exporting?: boolean;
|
|
27
|
-
grouping?: import("@revolist/revogrid/dist/types/plugins/groupingRow/grouping.row.types").GroupingOptions;
|
|
28
|
-
stretch?: string | boolean;
|
|
29
|
-
toString?: string;
|
|
30
|
-
toLocaleString?: string;
|
|
31
|
-
modelValue?: string | boolean;
|
|
32
|
-
constructor?: Function;
|
|
33
|
-
valueOf?: unknown;
|
|
34
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
35
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
36
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
37
|
-
onAftercolumnresize?: (event: CustomEvent<Record<string | number, import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular>>) => void;
|
|
38
|
-
onAftercolumnsset?: (event: CustomEvent<{
|
|
39
|
-
columns: import("@revolist/revogrid/dist/types/services/column.data.provider").ColumnCollection;
|
|
40
|
-
order: Record<string | number, "asc" | "desc">;
|
|
41
|
-
}>) => void;
|
|
42
|
-
onAfteredit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails | import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeRangeSaveDataDetails>) => void;
|
|
43
|
-
onAftersourceset?: (event: CustomEvent<{
|
|
44
|
-
type: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DimensionRows;
|
|
45
|
-
source: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DataType[];
|
|
46
|
-
}>) => void;
|
|
47
|
-
onAftertrimmed?: (event: CustomEvent<any>) => void;
|
|
48
|
-
onBeforeaange?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.ChangedRange>) => void;
|
|
49
|
-
onBeforeautofill?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.ChangedRange>) => void;
|
|
50
|
-
onBeforecellfocus?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
51
|
-
onBeforecolumnapplied?: (event: CustomEvent<import("@revolist/revogrid/dist/types/services/column.data.provider").ColumnCollection>) => void;
|
|
52
|
-
onBeforecolumnsset?: (event: CustomEvent<import("@revolist/revogrid/dist/types/services/column.data.provider").ColumnCollection>) => void;
|
|
53
|
-
onBeforeedit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
54
|
-
onBeforeeditstart?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
55
|
-
onBeforeexport?: (event: CustomEvent<import("@revolist/revogrid/dist/types/plugins/export/types").DataInput>) => void;
|
|
56
|
-
onBeforefilterapply?: (event: CustomEvent<{
|
|
57
|
-
collection: Record<string | number, {
|
|
58
|
-
filter: import("@revolist/revogrid/dist/types/plugins/filter/filter.types").LogicFunction;
|
|
59
|
-
type: "none" | "empty" | "notEmpty" | "eq" | "notEq" | "begins" | "contains" | "notContains" | "eqN" | "neqN" | "gt" | "gte" | "lt" | "lte";
|
|
60
|
-
value?: any;
|
|
61
|
-
}>;
|
|
62
|
-
}>) => void;
|
|
63
|
-
onBeforefiltertrimmed?: (event: CustomEvent<{
|
|
64
|
-
collection: Record<string | number, {
|
|
65
|
-
filter: import("@revolist/revogrid/dist/types/plugins/filter/filter.types").LogicFunction;
|
|
66
|
-
type: "none" | "empty" | "notEmpty" | "eq" | "notEq" | "begins" | "contains" | "notContains" | "eqN" | "neqN" | "gt" | "gte" | "lt" | "lte";
|
|
67
|
-
value?: any;
|
|
68
|
-
}>;
|
|
69
|
-
itemsToFilter: Record<number, boolean>;
|
|
70
|
-
}>) => void;
|
|
71
|
-
onBeforefocuslost?: (event: CustomEvent<import("@revolist/revogrid/dist/types/components/revo-grid/viewport.service").FocusedData>) => void;
|
|
72
|
-
onBeforerangeedit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeRangeSaveDataDetails>) => void;
|
|
73
|
-
onBeforesorting?: (event: CustomEvent<{
|
|
74
|
-
column: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular;
|
|
75
|
-
order: "asc" | "desc";
|
|
76
|
-
additive: boolean;
|
|
77
|
-
}>) => void;
|
|
78
|
-
onBeforesortingapply?: (event: CustomEvent<{
|
|
79
|
-
column: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular;
|
|
80
|
-
order: "asc" | "desc";
|
|
81
|
-
additive: boolean;
|
|
82
|
-
}>) => void;
|
|
83
|
-
onBeforesourceset?: (event: CustomEvent<{
|
|
84
|
-
type: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DimensionRows;
|
|
85
|
-
source: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DataType[];
|
|
86
|
-
}>) => void;
|
|
87
|
-
onBeforesourcesortingapply?: (event: CustomEvent<any>) => void;
|
|
88
|
-
onBeforetrimmed?: (event: CustomEvent<{
|
|
89
|
-
trimmed: Record<number, boolean>;
|
|
90
|
-
trimmedType: string;
|
|
91
|
-
type: string;
|
|
92
|
-
}>) => void;
|
|
93
|
-
onHeaderclick?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular>) => void;
|
|
94
|
-
onRowdragstart?: (event: CustomEvent<{
|
|
95
|
-
pos: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.PositionItem;
|
|
96
|
-
text: string;
|
|
97
|
-
}>) => void;
|
|
98
|
-
onRoworderchanged?: (event: CustomEvent<{
|
|
99
|
-
from: number;
|
|
100
|
-
to: number;
|
|
101
|
-
}>) => void;
|
|
102
|
-
onViewportscroll?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ViewPortScrollEvent>) => void;
|
|
103
|
-
}>, {}>;
|
|
104
|
-
export declare const RevogrClipboard: import("vue").DefineComponent<JSX.RevogrClipboard & import("./vue-component-lib/utils").InputProps, object, {}, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {
|
|
105
|
-
toString?: string;
|
|
106
|
-
toLocaleString?: string;
|
|
107
|
-
modelValue?: string | boolean;
|
|
108
|
-
constructor?: Function;
|
|
109
|
-
valueOf?: unknown;
|
|
110
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
111
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
112
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
113
|
-
onCopyRegion?: (event: CustomEvent<DataTransfer>) => void;
|
|
114
|
-
onPasteRegion?: (event: CustomEvent<string[][]>) => void;
|
|
115
|
-
}>, {}>;
|
|
116
|
-
export declare const RevogrData: import("vue").DefineComponent<JSX.RevogrData & import("./vue-component-lib/utils").InputProps, object, {}, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
117
|
-
rowSelectionStore: any;
|
|
118
|
-
viewportRow: any;
|
|
119
|
-
viewportCol: any;
|
|
120
|
-
dimensionRow: any;
|
|
121
|
-
colData: any;
|
|
122
|
-
dataStore: any;
|
|
123
|
-
} & {
|
|
124
|
-
range?: boolean;
|
|
125
|
-
readonly?: boolean;
|
|
126
|
-
rowClass?: string;
|
|
127
|
-
toString?: string;
|
|
128
|
-
toLocaleString?: string;
|
|
129
|
-
modelValue?: string | boolean;
|
|
130
|
-
constructor?: Function;
|
|
131
|
-
valueOf?: unknown;
|
|
132
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
133
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
134
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
135
|
-
canDrag?: boolean;
|
|
136
|
-
onDragStartCell?: (event: CustomEvent<MouseEvent>) => void;
|
|
137
|
-
}>, {
|
|
138
|
-
rowSelectionStore: any;
|
|
139
|
-
viewportRow: any;
|
|
140
|
-
viewportCol: any;
|
|
2
|
+
import { RevoGrid as RevoGridComponent } from '@revolist/revogrid/custom-element/';
|
|
3
|
+
export { RevoGridComponent };
|
|
4
|
+
export declare const RevoGrid: import("vue").DefineComponent<JSX.RevoGrid & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevoGrid & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {}>;
|
|
5
|
+
export declare const RevogrClipboard: import("vue").DefineComponent<JSX.RevogrClipboard & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrClipboard & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {}>;
|
|
6
|
+
export declare const RevogrData: import("vue").DefineComponent<JSX.RevogrData & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrData & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {
|
|
7
|
+
rowSelectionStore?: any;
|
|
8
|
+
viewportRow?: any;
|
|
9
|
+
viewportCol?: any;
|
|
10
|
+
dimensionRow?: any;
|
|
11
|
+
colData?: any;
|
|
12
|
+
dataStore?: any;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const RevogrEdit: import("vue").DefineComponent<JSX.RevogrEdit & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrEdit & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {}>;
|
|
15
|
+
export declare const RevogrFilterPanel: import("vue").DefineComponent<JSX.RevogrFilterPanel & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrFilterPanel & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {}>;
|
|
16
|
+
export declare const RevogrFocus: import("vue").DefineComponent<JSX.RevogrFocus & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrFocus & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {
|
|
141
17
|
dimensionRow: any;
|
|
142
18
|
colData: any;
|
|
143
19
|
dataStore: any;
|
|
144
|
-
}>;
|
|
145
|
-
export declare const RevogrEdit: import("vue").DefineComponent<JSX.RevogrEdit & import("./vue-component-lib/utils").InputProps, object, {}, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {
|
|
146
|
-
toString?: string;
|
|
147
|
-
toLocaleString?: string;
|
|
148
|
-
modelValue?: string | boolean;
|
|
149
|
-
constructor?: Function;
|
|
150
|
-
valueOf?: unknown;
|
|
151
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
152
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
153
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
154
|
-
editCell?: import("@revolist/revogrid/dist/types/interfaces").Edition.EditCell;
|
|
155
|
-
column?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular;
|
|
156
|
-
editor?: import("@revolist/revogrid/dist/types/interfaces").Edition.EditorBase;
|
|
157
|
-
onCellEdit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.SaveDataDetails>) => void;
|
|
158
|
-
onCloseEdit?: (event: CustomEvent<boolean>) => void;
|
|
159
|
-
}>, {}>;
|
|
160
|
-
export declare const RevogrFilterPanel: import("vue").DefineComponent<JSX.RevogrFilterPanel & import("./vue-component-lib/utils").InputProps, object, {}, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{} & {
|
|
161
|
-
toString?: string;
|
|
162
|
-
toLocaleString?: string;
|
|
163
|
-
modelValue?: string | boolean;
|
|
164
|
-
constructor?: Function;
|
|
165
|
-
valueOf?: unknown;
|
|
166
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
167
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
168
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
169
|
-
uuid?: string;
|
|
170
|
-
filterItems?: unknown;
|
|
171
|
-
filterTypes?: unknown;
|
|
172
|
-
filterNames?: unknown;
|
|
173
|
-
filterEntities?: boolean;
|
|
174
|
-
filterCaptions?: import("@revolist/revogrid/dist/types/plugins/filter/filter.plugin").FilterCaptions;
|
|
175
|
-
disableDynamicFiltering?: boolean;
|
|
176
|
-
onFilterChange?: (event: CustomEvent<import("@revolist/revogrid/dist/types/plugins/filter/filter.pop").MultiFilterItem>) => void;
|
|
177
|
-
}>, {}>;
|
|
178
|
-
export declare const RevogrFocus: import("vue").DefineComponent<JSX.RevogrFocus & import("./vue-component-lib/utils").InputProps, object, {}, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
179
|
-
dimensionRow: any;
|
|
180
|
-
selectionStore: any;
|
|
181
|
-
dimensionCol: any;
|
|
182
|
-
} & {
|
|
183
|
-
toString?: string;
|
|
184
|
-
toLocaleString?: string;
|
|
185
|
-
modelValue?: string | boolean;
|
|
186
|
-
constructor?: Function;
|
|
187
|
-
valueOf?: unknown;
|
|
188
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
189
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
190
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
191
|
-
}>, {
|
|
192
|
-
dimensionRow: any;
|
|
193
20
|
selectionStore: any;
|
|
194
21
|
dimensionCol: any;
|
|
195
22
|
}>;
|
|
196
|
-
export declare const RevogrHeader: import("vue").DefineComponent<JSX.RevogrHeader & import("./vue-component-lib/utils").InputProps
|
|
197
|
-
viewportCol
|
|
198
|
-
selectionStore
|
|
199
|
-
dimensionCol
|
|
200
|
-
} & {
|
|
201
|
-
toString?: string;
|
|
202
|
-
toLocaleString?: string;
|
|
203
|
-
modelValue?: string | boolean;
|
|
204
|
-
constructor?: Function;
|
|
205
|
-
valueOf?: unknown;
|
|
206
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
207
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
208
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
209
|
-
colData?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular[];
|
|
210
|
-
parent?: string;
|
|
211
|
-
groups?: unknown;
|
|
212
|
-
groupingDepth?: number;
|
|
213
|
-
canResize?: boolean;
|
|
214
|
-
columnFilter?: boolean;
|
|
215
|
-
onHeaderdblClick?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.InitialHeaderClick>) => void;
|
|
216
|
-
onHeaderresize?: (event: CustomEvent<Record<string, number>>) => void;
|
|
217
|
-
onInitialHeaderClick?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.InitialHeaderClick>) => void;
|
|
218
|
-
}>, {
|
|
219
|
-
viewportCol: any;
|
|
220
|
-
selectionStore: any;
|
|
221
|
-
dimensionCol: any;
|
|
23
|
+
export declare const RevogrHeader: import("vue").DefineComponent<JSX.RevogrHeader & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrHeader & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {
|
|
24
|
+
viewportCol?: any;
|
|
25
|
+
selectionStore?: any;
|
|
26
|
+
dimensionCol?: any;
|
|
222
27
|
}>;
|
|
223
|
-
export declare const RevogrOrderEditor: import("vue").DefineComponent<JSX.RevogrOrderEditor & import("./vue-component-lib/utils").InputProps
|
|
224
|
-
dimensionRow
|
|
225
|
-
dataStore
|
|
226
|
-
dimensionCol
|
|
227
|
-
} & {
|
|
228
|
-
toString?: string;
|
|
229
|
-
toLocaleString?: string;
|
|
230
|
-
modelValue?: string | boolean;
|
|
231
|
-
constructor?: Function;
|
|
232
|
-
valueOf?: unknown;
|
|
233
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
234
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
235
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
236
|
-
parent?: HTMLElement;
|
|
237
|
-
onInitialRowDropped?: (event: CustomEvent<{
|
|
238
|
-
from: number;
|
|
239
|
-
to: number;
|
|
240
|
-
}>) => void;
|
|
241
|
-
onInternalRowDrag?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.PositionItem>) => void;
|
|
242
|
-
onInternalRowDragEnd?: (event: CustomEvent<any>) => void;
|
|
243
|
-
onInternalRowDragStart?: (event: CustomEvent<{
|
|
244
|
-
cell: import("@revolist/revogrid/dist/types/interfaces").Selection.Cell;
|
|
245
|
-
text: string;
|
|
246
|
-
pos: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.PositionItem;
|
|
247
|
-
event: MouseEvent;
|
|
248
|
-
}>) => void;
|
|
249
|
-
onInternalRowMouseMove?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.Cell>) => void;
|
|
250
|
-
}>, {
|
|
251
|
-
dimensionRow: any;
|
|
252
|
-
dataStore: any;
|
|
253
|
-
dimensionCol: any;
|
|
28
|
+
export declare const RevogrOrderEditor: import("vue").DefineComponent<JSX.RevogrOrderEditor & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrOrderEditor & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {
|
|
29
|
+
dimensionRow?: any;
|
|
30
|
+
dataStore?: any;
|
|
31
|
+
dimensionCol?: any;
|
|
254
32
|
}>;
|
|
255
|
-
export declare const RevogrOverlaySelection: import("vue").DefineComponent<JSX.RevogrOverlaySelection & import("./vue-component-lib/utils").InputProps
|
|
256
|
-
dimensionRow
|
|
257
|
-
colData
|
|
258
|
-
dataStore
|
|
259
|
-
selectionStore
|
|
260
|
-
dimensionCol
|
|
261
|
-
} & {
|
|
262
|
-
range?: boolean;
|
|
263
|
-
readonly?: boolean;
|
|
264
|
-
useClipboard?: boolean;
|
|
265
|
-
editors?: import("@revolist/revogrid/dist/types/interfaces").Edition.EditorBase;
|
|
266
|
-
toString?: string;
|
|
267
|
-
toLocaleString?: string;
|
|
268
|
-
modelValue?: string | boolean;
|
|
269
|
-
constructor?: Function;
|
|
270
|
-
valueOf?: unknown;
|
|
271
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
272
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
273
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
274
|
-
canDrag?: boolean;
|
|
275
|
-
lastCell?: import("@revolist/revogrid/dist/types/interfaces").Selection.Cell;
|
|
276
|
-
onFocusCell?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.FocusedCells>) => void;
|
|
277
|
-
onInternalCellEdit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
278
|
-
onInternalCopy?: (event: CustomEvent<any>) => void;
|
|
279
|
-
onInternalFocusCell?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
280
|
-
onInternalPaste?: (event: CustomEvent<any>) => void;
|
|
281
|
-
onInternalRangeDataApply?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeRangeSaveDataDetails>) => void;
|
|
282
|
-
onInternalSelectionChanged?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.ChangedRange>) => void;
|
|
283
|
-
onSetEdit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeEdit>) => void;
|
|
284
|
-
onSetRange?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.RangeArea>) => void;
|
|
285
|
-
onSetTempRange?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.TempRange>) => void;
|
|
286
|
-
}>, {
|
|
287
|
-
dimensionRow: any;
|
|
288
|
-
colData: any;
|
|
289
|
-
dataStore: any;
|
|
290
|
-
selectionStore: any;
|
|
291
|
-
dimensionCol: any;
|
|
33
|
+
export declare const RevogrOverlaySelection: import("vue").DefineComponent<JSX.RevogrOverlaySelection & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrOverlaySelection & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {
|
|
34
|
+
dimensionRow?: any;
|
|
35
|
+
colData?: any;
|
|
36
|
+
dataStore?: any;
|
|
37
|
+
selectionStore?: any;
|
|
38
|
+
dimensionCol?: any;
|
|
292
39
|
}>;
|
|
293
|
-
export declare const RevogrRowHeaders: import("vue").DefineComponent<JSX.RevogrRowHeaders & import("./vue-component-lib/utils").InputProps
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
modelValue?: string | boolean;
|
|
298
|
-
constructor?: Function;
|
|
299
|
-
valueOf?: unknown;
|
|
300
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
301
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
302
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
303
|
-
height?: number;
|
|
304
|
-
dataPorts?: import("@revolist/revogrid/dist/types/components/revo-grid/viewport.interfaces").ViewportData[];
|
|
305
|
-
headerProp?: unknown;
|
|
306
|
-
uiid?: string;
|
|
307
|
-
rowHeaderColumn?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.RowHeaders;
|
|
308
|
-
onElementToScroll?: (event: CustomEvent<import("@revolist/revogrid/dist/types/components/revo-grid/viewport.scrolling.service").ElementScroll>) => void;
|
|
309
|
-
onScrollViewport?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ViewPortScrollEvent>) => void;
|
|
310
|
-
}>, {}>;
|
|
311
|
-
export declare const RevogrScrollVirtual: import("vue").DefineComponent<JSX.RevogrScrollVirtual & import("./vue-component-lib/utils").InputProps, object, {}, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
312
|
-
viewportStore: any;
|
|
313
|
-
dimensionStore: any;
|
|
314
|
-
} & {
|
|
315
|
-
toString?: string;
|
|
316
|
-
toLocaleString?: string;
|
|
317
|
-
modelValue?: string | boolean;
|
|
318
|
-
constructor?: Function;
|
|
319
|
-
valueOf?: unknown;
|
|
320
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
321
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
322
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
323
|
-
dimension?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DimensionType;
|
|
324
|
-
onScrollVirtual?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ViewPortScrollEvent>) => void;
|
|
325
|
-
}>, {
|
|
326
|
-
viewportStore: any;
|
|
327
|
-
dimensionStore: any;
|
|
40
|
+
export declare const RevogrRowHeaders: import("vue").DefineComponent<JSX.RevogrRowHeaders & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrRowHeaders & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {}>;
|
|
41
|
+
export declare const RevogrScrollVirtual: import("vue").DefineComponent<JSX.RevogrScrollVirtual & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrScrollVirtual & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {
|
|
42
|
+
viewportStore?: any;
|
|
43
|
+
dimensionStore?: any;
|
|
328
44
|
}>;
|
|
329
|
-
export declare const RevogrTempRange: import("vue").DefineComponent<JSX.RevogrTempRange & import("./vue-component-lib/utils").InputProps
|
|
330
|
-
dimensionRow
|
|
331
|
-
selectionStore
|
|
332
|
-
dimensionCol
|
|
333
|
-
} & {
|
|
334
|
-
toString?: string;
|
|
335
|
-
toLocaleString?: string;
|
|
336
|
-
modelValue?: string | boolean;
|
|
337
|
-
constructor?: Function;
|
|
338
|
-
valueOf?: unknown;
|
|
339
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
340
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
341
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
342
|
-
}>, {
|
|
343
|
-
dimensionRow: any;
|
|
344
|
-
selectionStore: any;
|
|
345
|
-
dimensionCol: any;
|
|
45
|
+
export declare const RevogrTempRange: import("vue").DefineComponent<JSX.RevogrTempRange & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrTempRange & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {
|
|
46
|
+
dimensionRow?: any;
|
|
47
|
+
selectionStore?: any;
|
|
48
|
+
dimensionCol?: any;
|
|
346
49
|
}>;
|
|
347
|
-
export declare const RevogrViewportScroll: import("vue").DefineComponent<JSX.RevogrViewportScroll & import("./vue-component-lib/utils").InputProps
|
|
348
|
-
toString?: string;
|
|
349
|
-
toLocaleString?: string;
|
|
350
|
-
modelValue?: string | boolean;
|
|
351
|
-
constructor?: Function;
|
|
352
|
-
valueOf?: unknown;
|
|
353
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
354
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
355
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
356
|
-
onScrollViewport?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ViewPortScrollEvent>) => void;
|
|
357
|
-
contentWidth?: number;
|
|
358
|
-
contentHeight?: number;
|
|
359
|
-
onResizeViewport?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ViewPortResizeEvent>) => void;
|
|
360
|
-
onScrollchange?: (event: CustomEvent<{
|
|
361
|
-
type: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DimensionType;
|
|
362
|
-
hasScroll: boolean;
|
|
363
|
-
}>) => void;
|
|
364
|
-
}>, {}>;
|
|
50
|
+
export declare const RevogrViewportScroll: import("vue").DefineComponent<JSX.RevogrViewportScroll & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<JSX.RevogrViewportScroll & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {}>;
|
package/dist/vgrid.d.ts
CHANGED
|
@@ -1,110 +1,9 @@
|
|
|
1
1
|
import { App } from "vue";
|
|
2
|
-
export declare const VGrid: import("vue").DefineComponent<import("@revolist/revogrid/dist/types/components").JSX.RevoGrid & import("./vue-component-lib/utils").InputProps
|
|
3
|
-
rowHeaders?: boolean | import("@revolist/revogrid/dist/types/interfaces").RevoGrid.RowHeaders;
|
|
4
|
-
frameSize?: number;
|
|
5
|
-
rowSize?: number;
|
|
6
|
-
colSize?: number;
|
|
7
|
-
range?: boolean;
|
|
8
|
-
readonly?: boolean;
|
|
9
|
-
resize?: boolean;
|
|
10
|
-
canFocus?: boolean;
|
|
11
|
-
useClipboard?: boolean;
|
|
12
|
-
columns?: (import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular | import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnGrouping)[];
|
|
13
|
-
source?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DataType[];
|
|
14
|
-
pinnedTopSource?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DataType[];
|
|
15
|
-
pinnedBottomSource?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DataType[];
|
|
16
|
-
rowDefinitions?: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.RowDefinition[];
|
|
17
|
-
editors?: import("@revolist/revogrid/dist/types/interfaces").Edition.EditorBase;
|
|
18
|
-
plugins?: import("@revolist/revogrid/dist/types/interfaces").RevoPlugin.Plugin;
|
|
19
|
-
columnTypes?: unknown;
|
|
20
|
-
theme?: import("@revolist/revogrid/dist/types/interfaces").ThemeSpace.Theme;
|
|
21
|
-
rowClass?: string;
|
|
22
|
-
autoSizeColumn?: boolean | import("@revolist/revogrid/dist/types/plugins/autoSizeColumn").AutoSizeColumnConfig;
|
|
23
|
-
filter?: boolean | import("@revolist/revogrid/dist/types/plugins/filter/filter.plugin").ColumnFilterConfig;
|
|
24
|
-
canMoveColumns?: boolean;
|
|
25
|
-
trimmedRows?: unknown;
|
|
26
|
-
exporting?: boolean;
|
|
27
|
-
grouping?: import("@revolist/revogrid/dist/types/plugins/groupingRow/grouping.row.types").GroupingOptions;
|
|
28
|
-
stretch?: string | boolean;
|
|
29
|
-
toString?: string;
|
|
30
|
-
toLocaleString?: string;
|
|
31
|
-
modelValue?: string | boolean;
|
|
32
|
-
constructor?: Function;
|
|
33
|
-
valueOf?: unknown;
|
|
34
|
-
hasOwnProperty?: (v: string | number | symbol) => boolean;
|
|
35
|
-
isPrototypeOf?: (v: Object) => boolean;
|
|
36
|
-
propertyIsEnumerable?: (v: string | number | symbol) => boolean;
|
|
37
|
-
onAftercolumnresize?: (event: CustomEvent<Record<string | number, import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular>>) => void;
|
|
38
|
-
onAftercolumnsset?: (event: CustomEvent<{
|
|
39
|
-
columns: import("@revolist/revogrid/dist/types/services/column.data.provider").ColumnCollection;
|
|
40
|
-
order: Record<string | number, "asc" | "desc">;
|
|
41
|
-
}>) => void;
|
|
42
|
-
onAfteredit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails | import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeRangeSaveDataDetails>) => void;
|
|
43
|
-
onAftersourceset?: (event: CustomEvent<{
|
|
44
|
-
type: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DimensionRows;
|
|
45
|
-
source: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DataType[];
|
|
46
|
-
}>) => void;
|
|
47
|
-
onAftertrimmed?: (event: CustomEvent<any>) => void;
|
|
48
|
-
onBeforeaange?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.ChangedRange>) => void;
|
|
49
|
-
onBeforeautofill?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Selection.ChangedRange>) => void;
|
|
50
|
-
onBeforecellfocus?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
51
|
-
onBeforecolumnapplied?: (event: CustomEvent<import("@revolist/revogrid/dist/types/services/column.data.provider").ColumnCollection>) => void;
|
|
52
|
-
onBeforecolumnsset?: (event: CustomEvent<import("@revolist/revogrid/dist/types/services/column.data.provider").ColumnCollection>) => void;
|
|
53
|
-
onBeforeedit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
54
|
-
onBeforeeditstart?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeSaveDataDetails>) => void;
|
|
55
|
-
onBeforeexport?: (event: CustomEvent<import("@revolist/revogrid/dist/types/plugins/export/types").DataInput>) => void;
|
|
56
|
-
onBeforefilterapply?: (event: CustomEvent<{
|
|
57
|
-
collection: Record<string | number, {
|
|
58
|
-
filter: import("@revolist/revogrid/dist/types/plugins/filter/filter.types").LogicFunction;
|
|
59
|
-
type: "none" | "empty" | "notEmpty" | "eq" | "notEq" | "begins" | "contains" | "notContains" | "eqN" | "neqN" | "gt" | "gte" | "lt" | "lte";
|
|
60
|
-
value?: any;
|
|
61
|
-
}>;
|
|
62
|
-
}>) => void;
|
|
63
|
-
onBeforefiltertrimmed?: (event: CustomEvent<{
|
|
64
|
-
collection: Record<string | number, {
|
|
65
|
-
filter: import("@revolist/revogrid/dist/types/plugins/filter/filter.types").LogicFunction;
|
|
66
|
-
type: "none" | "empty" | "notEmpty" | "eq" | "notEq" | "begins" | "contains" | "notContains" | "eqN" | "neqN" | "gt" | "gte" | "lt" | "lte";
|
|
67
|
-
value?: any;
|
|
68
|
-
}>;
|
|
69
|
-
itemsToFilter: Record<number, boolean>;
|
|
70
|
-
}>) => void;
|
|
71
|
-
onBeforefocuslost?: (event: CustomEvent<import("@revolist/revogrid/dist/types/components/revo-grid/viewport.service").FocusedData>) => void;
|
|
72
|
-
onBeforerangeedit?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").Edition.BeforeRangeSaveDataDetails>) => void;
|
|
73
|
-
onBeforesorting?: (event: CustomEvent<{
|
|
74
|
-
column: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular;
|
|
75
|
-
order: "asc" | "desc";
|
|
76
|
-
additive: boolean;
|
|
77
|
-
}>) => void;
|
|
78
|
-
onBeforesortingapply?: (event: CustomEvent<{
|
|
79
|
-
column: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular;
|
|
80
|
-
order: "asc" | "desc";
|
|
81
|
-
additive: boolean;
|
|
82
|
-
}>) => void;
|
|
83
|
-
onBeforesourceset?: (event: CustomEvent<{
|
|
84
|
-
type: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DimensionRows;
|
|
85
|
-
source: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.DataType[];
|
|
86
|
-
}>) => void;
|
|
87
|
-
onBeforesourcesortingapply?: (event: CustomEvent<any>) => void;
|
|
88
|
-
onBeforetrimmed?: (event: CustomEvent<{
|
|
89
|
-
trimmed: Record<number, boolean>;
|
|
90
|
-
trimmedType: string;
|
|
91
|
-
type: string;
|
|
92
|
-
}>) => void;
|
|
93
|
-
onHeaderclick?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnRegular>) => void;
|
|
94
|
-
onRowdragstart?: (event: CustomEvent<{
|
|
95
|
-
pos: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.PositionItem;
|
|
96
|
-
text: string;
|
|
97
|
-
}>) => void;
|
|
98
|
-
onRoworderchanged?: (event: CustomEvent<{
|
|
99
|
-
from: number;
|
|
100
|
-
to: number;
|
|
101
|
-
}>) => void;
|
|
102
|
-
onViewportscroll?: (event: CustomEvent<import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ViewPortScrollEvent>) => void;
|
|
103
|
-
}>, {}>;
|
|
2
|
+
export declare const VGrid: import("vue").DefineComponent<import("@revolist/revogrid/dist/types/components").JSX.RevoGrid & import("./vue-component-lib/utils").InputProps<string | number | boolean>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("@revolist/revogrid/dist/types/components").JSX.RevoGrid & import("./vue-component-lib/utils").InputProps<string | number | boolean>>, {}>;
|
|
104
3
|
export declare const VGridPlugin: {
|
|
105
4
|
install(app: App): void;
|
|
106
5
|
};
|
|
107
6
|
export declare const VGridVueTemplate: (vueConstructor: any) => (h: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.HyperFunc<import("@revolist/revogrid/dist/types/stencil-public-runtime").VNode>, p: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnDataSchemaModel) => JSX.Element;
|
|
108
|
-
export declare const VGridVueTemplateConstructor: (vueConstructor: import("vue").DefineComponent<{}, {}, {},
|
|
7
|
+
export declare const VGridVueTemplateConstructor: (vueConstructor: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, e: HTMLElement, p: Record<string, any>) => any;
|
|
109
8
|
export declare const VGridVueEditor: (vueConstructor: any) => (column: import("@revolist/revogrid/dist/types/interfaces").RevoGrid.ColumnDataSchemaModel, save: Function, close: Function) => import("./vue-editor-adapter").default;
|
|
110
9
|
export default VGrid;
|
package/dist/vgrid.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("vue"),require("@revolist/revogrid/custom-element/")):"function"==typeof define&&define.amd?define("VGrid",["vue","@revolist/revogrid/custom-element/"],r):"object"==typeof exports?exports.VGrid=r(require("vue"),require("@revolist/revogrid/custom-element/")):e.VGrid=r(e.vue,e["@revolist/revogrid/custom-element/"])}(self,((e,r)=>(()=>{"use strict";var o={863:e=>{e.exports=r},748:r=>{r.exports=e}},t={};function n(e){var r=t[e];if(void 0!==r)return r.exports;var s=t[e]={exports:{}};return o[e](s,s.exports,n),s.exports}n.d=(e,r)=>{for(var o in r)n.o(r,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{n.r(s),n.d(s,{VGrid:()=>f,VGridPlugin:()=>v,VGridVueEditor:()=>g,VGridVueTemplate:()=>m,VGridVueTemplateConstructor:()=>b,default:()=>h});var e=n(748);const r="update:modelValue",o=Symbol(),t={default:o},i=e=>(null==e?void 0:e.split(" "))||[],l=(e,r,o=[])=>{var t;return[...Array.from((null===(t=e.value)||void 0===t?void 0:t.classList)||[]),...o].filter(((e,o,t)=>!r.has(e)&&t.indexOf(e)===o))},a=(n,s,a=[],u,d,c)=>{void 0!==s&&s();const f=(0,e.defineComponent)(((t,{attrs:s,slots:a,emit:f})=>{var p;let v=t[u];const m=(0,e.ref)(),b=new Set(i(s.class)),g=e=>{e.el&&(Array.isArray(d)?d:[d]).forEach((o=>{e.el.addEventListener(o.toLowerCase(),(e=>{v=(null==e?void 0:e.target)[u],f(r,v),c&&f(c,e)}))}))},h=(0,e.getCurrentInstance)(),y=(null===(p=null==h?void 0:h.appContext)||void 0===p?void 0:p.provides.navManager)?(0,e.inject)("navManager"):void 0;return()=>{v=t[u],i(s.class).forEach((e=>{b.add(e)}));const r=t.onClick;let c={ref:m,class:l(m,b),onClick:e=>{void 0!==r&&r(e),e.defaultPrevented||(e=>{const{routerLink:r}=t;if(r!==o)if(void 0!==y){let r={event:e};for(const e in t){const n=t[e];t.hasOwnProperty(e)&&e.startsWith("router")&&n!==o&&(r[e]=n)}y.navigate(r)}else console.warn("Tried to navigate, but no router was found. Make sure you have mounted Vue Router.")})(e)},onVnodeBeforeMount:d?g:void 0};for(const e in t){const r=t[e];t.hasOwnProperty(e)&&r!==o&&(c[e]=r)}return u&&(t.modelValue!==o?c=Object.assign(Object.assign({},c),{[u]:t.modelValue}):v!==o&&(c=Object.assign(Object.assign({},c),{[u]:v}))),(0,e.h)(n,c,a.default&&a.default())}}));return f.displayName=n,f.props={routerLink:t},a.forEach((e=>{f.props[e]=t})),u&&(f.props.modelValue=t,f.emits=[r,c]),f};n(863);const u=a("revo-grid",void 0,["rowHeaders","frameSize","rowSize","colSize","range","readonly","resize","canFocus","useClipboard","columns","source","pinnedTopSource","pinnedBottomSource","rowDefinitions","editors","plugins","columnTypes","theme","rowClass","autoSizeColumn","filter","canMoveColumns","trimmedRows","exporting","grouping","stretch","beforeedit","beforerangeedit","afteredit","beforeautofill","beforeaange","afterfocus","roworderchanged","beforesourcesortingapply","beforesortingapply","beforesorting","rowdragstart","headerclick","beforecellfocus","beforefocuslost","beforesourceset","aftersourceset","beforecolumnsset","beforecolumnapplied","aftercolumnsset","beforefilterapply","beforefiltertrimmed","beforetrimmed","aftertrimmed","viewportscroll","beforeexport","beforeeditstart","aftercolumnresize"]),d=(r,o,t)=>{if(!o)return null;let n;(null==o?void 0:o.childNodes.length)&&(n=o.childNodes[0]),n||(n=document.createElement("span"),o.appendChild(n));let s=n._vnode;if(s)for(const e in t)s.component.props[e]=t[e];else{const o=(0,e.createVNode)(r,t);(0,e.render)(o,n)}return s};class c{constructor(e,r,o,t){this.VueEditorConstructor=e,this.column=r,this.save=o,this.close=t,this.element=null,this.editCell=null}componentDidRender(){}disconnectedCallback(){var e;null===(e=this.vueEl)||void 0===e||e.$destroy(),this.vueEl=void 0}render(e){return e("span",{ref:e=>{this.vueEl=d(this.VueEditorConstructor,e,Object.assign(Object.assign({},this.editCell),{column:this.column,save:this.save,close:this.close}))}})}}const f=u;let p=!1;const v={install(e){p||(p=!0,e.component("vue-data-grid",f))}},m=e=>(r,o)=>r("span",{ref:r=>d(e,r,o)}),b=d,g=e=>function(r,o,t){return new c(e,r,o,t)},h=u})(),s})()));
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
export interface InputProps
|
|
2
|
-
modelValue
|
|
3
|
-
}
|
|
4
|
-
interface ComponentOptions {
|
|
5
|
-
modelProp?: string;
|
|
6
|
-
modelUpdateEvent?: string;
|
|
1
|
+
export interface InputProps<T> {
|
|
2
|
+
modelValue?: T;
|
|
7
3
|
}
|
|
8
4
|
/**
|
|
9
5
|
* Create a callback to define a Vue component wrapper around a Web Component.
|
|
@@ -12,9 +8,13 @@ interface ComponentOptions {
|
|
|
12
8
|
* @prop componentProps - An array of properties on the
|
|
13
9
|
* component. These usually match up with the @Prop definitions
|
|
14
10
|
* in each component's TSX file.
|
|
15
|
-
* @prop
|
|
16
|
-
*
|
|
17
|
-
*
|
|
11
|
+
* @prop customElement - An option custom element instance to pass
|
|
12
|
+
* to customElements.define. Only set if `includeImportCustomElements: true` in your config.
|
|
13
|
+
* @prop modelProp - The prop that v-model binds to (i.e. value)
|
|
14
|
+
* @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange)
|
|
15
|
+
* @prop externalModelUpdateEvent - The external event to fire from your Vue component when modelUpdateEvent fires. This is used for ensuring that v-model references have been
|
|
16
|
+
* correctly updated when a user's event callback fires.
|
|
18
17
|
*/
|
|
19
|
-
export declare const defineContainer: <Props>(name: string, componentProps?: string[],
|
|
20
|
-
|
|
18
|
+
export declare const defineContainer: <Props, VModelType = string | number | boolean>(name: string, defineCustomElement: any, componentProps?: string[], modelProp?: string, modelUpdateEvent?: string, externalModelUpdateEvent?: string) => import("vue").DefineComponent<Props & InputProps<VModelType>, object, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<Props & InputProps<VModelType> extends infer T ? T extends Props & InputProps<VModelType> ? T extends import("vue").ComponentPropsOptions<{
|
|
19
|
+
[x: string]: unknown;
|
|
20
|
+
}> ? import("vue").ExtractPropTypes<T> : T : never : never>, import("vue").ExtractDefaultPropTypes<Props & InputProps<VModelType>>>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revolist/vue3-datagrid",
|
|
3
|
-
"version": "3.2.
|
|
4
|
-
"description": "Vue 3
|
|
3
|
+
"version": "3.2.16",
|
|
4
|
+
"description": "Vue 3 DataGrid Spreadsheet",
|
|
5
5
|
"main": "dist/vgrid.js",
|
|
6
6
|
"types": "dist/vgrid.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -34,24 +34,24 @@
|
|
|
34
34
|
"homepage": "https://github.com/revolist/vue3-datagrid#readme",
|
|
35
35
|
"license": "MIT",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@revolist/revogrid": "^3.2.
|
|
38
|
-
"@stencil/core": "^2.
|
|
37
|
+
"@revolist/revogrid": "^3.2.16",
|
|
38
|
+
"@stencil/core": "^2.17.3"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@vue/compiler-sfc": "^3.
|
|
42
|
-
"clean-webpack-plugin": "^
|
|
43
|
-
"css-loader": "^
|
|
44
|
-
"html-webpack-plugin": "^
|
|
45
|
-
"sass": "^1.
|
|
41
|
+
"@vue/compiler-sfc": "^3.2.37",
|
|
42
|
+
"clean-webpack-plugin": "^4.0.0",
|
|
43
|
+
"css-loader": "^6.7.1",
|
|
44
|
+
"html-webpack-plugin": "^5.5.0",
|
|
45
|
+
"sass": "^1.54.4",
|
|
46
46
|
"sass-loader": "^13.0.2",
|
|
47
|
-
"style-loader": "^
|
|
48
|
-
"ts-loader": "^
|
|
49
|
-
"typescript": "^4.
|
|
50
|
-
"vue": "^3.
|
|
51
|
-
"vue-loader": "^
|
|
52
|
-
"vue-style-loader": "^4.1.
|
|
53
|
-
"webpack": "^5.
|
|
54
|
-
"webpack-cli": "^4.
|
|
55
|
-
"webpack-dev-server": "^
|
|
47
|
+
"style-loader": "^3.3.1",
|
|
48
|
+
"ts-loader": "^9.3.1",
|
|
49
|
+
"typescript": "^4.7.4",
|
|
50
|
+
"vue": "^3.2.37",
|
|
51
|
+
"vue-loader": "^17.0.0",
|
|
52
|
+
"vue-style-loader": "^4.1.3",
|
|
53
|
+
"webpack": "^5.74.0",
|
|
54
|
+
"webpack-cli": "^4.10.0",
|
|
55
|
+
"webpack-dev-server": "^4.10.0"
|
|
56
56
|
}
|
|
57
57
|
}
|
package/src/revogrid.ts
CHANGED
|
@@ -5,10 +5,11 @@ import { defineContainer } from './vue-component-lib/utils';
|
|
|
5
5
|
|
|
6
6
|
import type { JSX } from '@revolist/revogrid';
|
|
7
7
|
|
|
8
|
+
import { RevoGrid as RevoGridComponent } from '@revolist/revogrid/custom-element/';
|
|
8
9
|
|
|
10
|
+
export {RevoGridComponent};
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
export const RevoGrid = /*@__PURE__*/ defineContainer<JSX.RevoGrid>('revo-grid', [
|
|
12
|
+
export const RevoGrid = /*@__PURE__*/ defineContainer<JSX.RevoGrid>('revo-grid', undefined, [
|
|
12
13
|
'rowHeaders',
|
|
13
14
|
'frameSize',
|
|
14
15
|
'rowSize',
|
|
@@ -40,6 +41,7 @@ export const RevoGrid = /*@__PURE__*/ defineContainer<JSX.RevoGrid>('revo-grid',
|
|
|
40
41
|
'afteredit',
|
|
41
42
|
'beforeautofill',
|
|
42
43
|
'beforeaange',
|
|
44
|
+
'afterfocus',
|
|
43
45
|
'roworderchanged',
|
|
44
46
|
'beforesourcesortingapply',
|
|
45
47
|
'beforesortingapply',
|
|
@@ -64,13 +66,13 @@ export const RevoGrid = /*@__PURE__*/ defineContainer<JSX.RevoGrid>('revo-grid',
|
|
|
64
66
|
]);
|
|
65
67
|
|
|
66
68
|
|
|
67
|
-
export const RevogrClipboard = /*@__PURE__*/ defineContainer<JSX.RevogrClipboard>('revogr-clipboard', [
|
|
69
|
+
export const RevogrClipboard = /*@__PURE__*/ defineContainer<JSX.RevogrClipboard>('revogr-clipboard', undefined, [
|
|
68
70
|
'copyRegion',
|
|
69
71
|
'pasteRegion'
|
|
70
72
|
]);
|
|
71
73
|
|
|
72
74
|
|
|
73
|
-
export const RevogrData = /*@__PURE__*/ defineContainer<JSX.RevogrData>('revogr-data', [
|
|
75
|
+
export const RevogrData = /*@__PURE__*/ defineContainer<JSX.RevogrData>('revogr-data', undefined, [
|
|
74
76
|
'readonly',
|
|
75
77
|
'range',
|
|
76
78
|
'canDrag',
|
|
@@ -85,7 +87,7 @@ export const RevogrData = /*@__PURE__*/ defineContainer<JSX.RevogrData>('revogr-
|
|
|
85
87
|
]);
|
|
86
88
|
|
|
87
89
|
|
|
88
|
-
export const RevogrEdit = /*@__PURE__*/ defineContainer<JSX.RevogrEdit>('revogr-edit', [
|
|
90
|
+
export const RevogrEdit = /*@__PURE__*/ defineContainer<JSX.RevogrEdit>('revogr-edit', undefined, [
|
|
89
91
|
'editCell',
|
|
90
92
|
'column',
|
|
91
93
|
'editor',
|
|
@@ -94,7 +96,7 @@ export const RevogrEdit = /*@__PURE__*/ defineContainer<JSX.RevogrEdit>('revogr-
|
|
|
94
96
|
]);
|
|
95
97
|
|
|
96
98
|
|
|
97
|
-
export const RevogrFilterPanel = /*@__PURE__*/ defineContainer<JSX.RevogrFilterPanel>('revogr-filter-panel', [
|
|
99
|
+
export const RevogrFilterPanel = /*@__PURE__*/ defineContainer<JSX.RevogrFilterPanel>('revogr-filter-panel', undefined, [
|
|
98
100
|
'uuid',
|
|
99
101
|
'filterItems',
|
|
100
102
|
'filterTypes',
|
|
@@ -106,14 +108,17 @@ export const RevogrFilterPanel = /*@__PURE__*/ defineContainer<JSX.RevogrFilterP
|
|
|
106
108
|
]);
|
|
107
109
|
|
|
108
110
|
|
|
109
|
-
export const RevogrFocus = /*@__PURE__*/ defineContainer<JSX.RevogrFocus>('revogr-focus', [
|
|
111
|
+
export const RevogrFocus = /*@__PURE__*/ defineContainer<JSX.RevogrFocus>('revogr-focus', undefined, [
|
|
112
|
+
'dataStore',
|
|
113
|
+
'colData',
|
|
110
114
|
'selectionStore',
|
|
111
115
|
'dimensionRow',
|
|
112
|
-
'dimensionCol'
|
|
116
|
+
'dimensionCol',
|
|
117
|
+
'afterfocus'
|
|
113
118
|
]);
|
|
114
119
|
|
|
115
120
|
|
|
116
|
-
export const RevogrHeader = /*@__PURE__*/ defineContainer<JSX.RevogrHeader>('revogr-header', [
|
|
121
|
+
export const RevogrHeader = /*@__PURE__*/ defineContainer<JSX.RevogrHeader>('revogr-header', undefined, [
|
|
117
122
|
'viewportCol',
|
|
118
123
|
'dimensionCol',
|
|
119
124
|
'selectionStore',
|
|
@@ -129,7 +134,7 @@ export const RevogrHeader = /*@__PURE__*/ defineContainer<JSX.RevogrHeader>('rev
|
|
|
129
134
|
]);
|
|
130
135
|
|
|
131
136
|
|
|
132
|
-
export const RevogrOrderEditor = /*@__PURE__*/ defineContainer<JSX.RevogrOrderEditor>('revogr-order-editor', [
|
|
137
|
+
export const RevogrOrderEditor = /*@__PURE__*/ defineContainer<JSX.RevogrOrderEditor>('revogr-order-editor', undefined, [
|
|
133
138
|
'parent',
|
|
134
139
|
'dimensionRow',
|
|
135
140
|
'dimensionCol',
|
|
@@ -142,7 +147,7 @@ export const RevogrOrderEditor = /*@__PURE__*/ defineContainer<JSX.RevogrOrderEd
|
|
|
142
147
|
]);
|
|
143
148
|
|
|
144
149
|
|
|
145
|
-
export const RevogrOverlaySelection = /*@__PURE__*/ defineContainer<JSX.RevogrOverlaySelection>('revogr-overlay-selection', [
|
|
150
|
+
export const RevogrOverlaySelection = /*@__PURE__*/ defineContainer<JSX.RevogrOverlaySelection>('revogr-overlay-selection', undefined, [
|
|
146
151
|
'readonly',
|
|
147
152
|
'range',
|
|
148
153
|
'canDrag',
|
|
@@ -167,7 +172,7 @@ export const RevogrOverlaySelection = /*@__PURE__*/ defineContainer<JSX.RevogrOv
|
|
|
167
172
|
]);
|
|
168
173
|
|
|
169
174
|
|
|
170
|
-
export const RevogrRowHeaders = /*@__PURE__*/ defineContainer<JSX.RevogrRowHeaders>('revogr-row-headers', [
|
|
175
|
+
export const RevogrRowHeaders = /*@__PURE__*/ defineContainer<JSX.RevogrRowHeaders>('revogr-row-headers', undefined, [
|
|
171
176
|
'height',
|
|
172
177
|
'dataPorts',
|
|
173
178
|
'headerProp',
|
|
@@ -179,7 +184,7 @@ export const RevogrRowHeaders = /*@__PURE__*/ defineContainer<JSX.RevogrRowHeade
|
|
|
179
184
|
]);
|
|
180
185
|
|
|
181
186
|
|
|
182
|
-
export const RevogrScrollVirtual = /*@__PURE__*/ defineContainer<JSX.RevogrScrollVirtual>('revogr-scroll-virtual', [
|
|
187
|
+
export const RevogrScrollVirtual = /*@__PURE__*/ defineContainer<JSX.RevogrScrollVirtual>('revogr-scroll-virtual', undefined, [
|
|
183
188
|
'dimension',
|
|
184
189
|
'viewportStore',
|
|
185
190
|
'dimensionStore',
|
|
@@ -187,14 +192,14 @@ export const RevogrScrollVirtual = /*@__PURE__*/ defineContainer<JSX.RevogrScrol
|
|
|
187
192
|
]);
|
|
188
193
|
|
|
189
194
|
|
|
190
|
-
export const RevogrTempRange = /*@__PURE__*/ defineContainer<JSX.RevogrTempRange>('revogr-temp-range', [
|
|
195
|
+
export const RevogrTempRange = /*@__PURE__*/ defineContainer<JSX.RevogrTempRange>('revogr-temp-range', undefined, [
|
|
191
196
|
'selectionStore',
|
|
192
197
|
'dimensionRow',
|
|
193
198
|
'dimensionCol'
|
|
194
199
|
]);
|
|
195
200
|
|
|
196
201
|
|
|
197
|
-
export const RevogrViewportScroll = /*@__PURE__*/ defineContainer<JSX.RevogrViewportScroll>('revogr-viewport-scroll', [
|
|
202
|
+
export const RevogrViewportScroll = /*@__PURE__*/ defineContainer<JSX.RevogrViewportScroll>('revogr-viewport-scroll', undefined, [
|
|
198
203
|
'contentWidth',
|
|
199
204
|
'contentHeight',
|
|
200
205
|
'scrollViewport',
|
package/src/vgrid.ts
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
import { App, defineAsyncComponent } from "vue";
|
|
2
|
-
import * as loader from "@revolist/revogrid/custom-element";
|
|
3
2
|
import {RevoGrid} from "./revogrid";
|
|
4
3
|
import vueTemplate, {vueTemplateConstructor} from "./vue-template";
|
|
5
4
|
import vueEditor from "./vue-editor";
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
export const VGrid = defineAsyncComponent(
|
|
9
|
-
() => new Promise<typeof RevoGrid>((resolve) => {
|
|
10
|
-
if (!isDefined && loader) {
|
|
11
|
-
loader.defineCustomElements();
|
|
12
|
-
isDefined = true;
|
|
13
|
-
}
|
|
14
|
-
return resolve(RevoGrid);
|
|
15
|
-
})
|
|
16
|
-
);
|
|
6
|
+
export const VGrid = RevoGrid;
|
|
17
7
|
|
|
18
8
|
let installed = false;
|
|
19
9
|
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import { VNode, defineComponent, getCurrentInstance, h, inject, ref, Ref } from 'vue';
|
|
2
2
|
|
|
3
|
-
export interface InputProps
|
|
4
|
-
modelValue
|
|
3
|
+
export interface InputProps<T> {
|
|
4
|
+
modelValue?: T;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
const UPDATE_VALUE_EVENT = 'update:modelValue';
|
|
8
8
|
const MODEL_VALUE = 'modelValue';
|
|
9
9
|
const ROUTER_LINK_VALUE = 'routerLink';
|
|
10
10
|
const NAV_MANAGER = 'navManager';
|
|
11
|
-
const
|
|
11
|
+
const ROUTER_PROP_PREFIX = 'router';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Starting in Vue 3.1.0, all properties are
|
|
15
|
+
* added as keys to the props object, even if
|
|
16
|
+
* they are not being used. In order to correctly
|
|
17
|
+
* account for both value props and v-model props,
|
|
18
|
+
* we need to check if the key exists for Vue <3.1.0
|
|
19
|
+
* and then check if it is not undefined for Vue >= 3.1.0.
|
|
20
|
+
* See https://github.com/vuejs/vue-next/issues/3889
|
|
21
|
+
*/
|
|
22
|
+
const EMPTY_PROP = Symbol();
|
|
23
|
+
const DEFAULT_EMPTY_PROP = { default: EMPTY_PROP };
|
|
12
24
|
|
|
13
25
|
interface NavManager<T = any> {
|
|
14
26
|
navigate: (options: T) => void;
|
|
15
27
|
}
|
|
16
28
|
|
|
17
|
-
interface ComponentOptions {
|
|
18
|
-
modelProp?: string;
|
|
19
|
-
modelUpdateEvent?: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
29
|
const getComponentClasses = (classes: unknown) => {
|
|
23
30
|
return (classes as string)?.split(' ') || [];
|
|
24
31
|
};
|
|
@@ -35,39 +42,56 @@ const getElementClasses = (ref: Ref<HTMLElement | undefined>, componentClasses:
|
|
|
35
42
|
* @prop componentProps - An array of properties on the
|
|
36
43
|
* component. These usually match up with the @Prop definitions
|
|
37
44
|
* in each component's TSX file.
|
|
38
|
-
* @prop
|
|
39
|
-
*
|
|
40
|
-
*
|
|
45
|
+
* @prop customElement - An option custom element instance to pass
|
|
46
|
+
* to customElements.define. Only set if `includeImportCustomElements: true` in your config.
|
|
47
|
+
* @prop modelProp - The prop that v-model binds to (i.e. value)
|
|
48
|
+
* @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange)
|
|
49
|
+
* @prop externalModelUpdateEvent - The external event to fire from your Vue component when modelUpdateEvent fires. This is used for ensuring that v-model references have been
|
|
50
|
+
* correctly updated when a user's event callback fires.
|
|
41
51
|
*/
|
|
42
|
-
export const defineContainer = <Props
|
|
43
|
-
|
|
44
|
-
|
|
52
|
+
export const defineContainer = <Props, VModelType=string|number|boolean>(
|
|
53
|
+
name: string,
|
|
54
|
+
defineCustomElement: any,
|
|
55
|
+
componentProps: string[] = [],
|
|
56
|
+
modelProp?: string,
|
|
57
|
+
modelUpdateEvent?: string,
|
|
58
|
+
externalModelUpdateEvent?: string
|
|
59
|
+
) => {
|
|
45
60
|
/**
|
|
46
61
|
* Create a Vue component wrapper around a Web Component.
|
|
47
62
|
* Note: The `props` here are not all properties on a component.
|
|
48
63
|
* They refer to whatever properties are set on an instance of a component.
|
|
49
64
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
65
|
+
|
|
66
|
+
if (defineCustomElement !== undefined) {
|
|
67
|
+
defineCustomElement();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const Container = defineComponent<Props & InputProps<VModelType>>((props: any, { attrs, slots, emit }) => {
|
|
71
|
+
let modelPropValue = props[modelProp];
|
|
52
72
|
const containerRef = ref<HTMLElement>();
|
|
53
73
|
const classes = new Set(getComponentClasses(attrs.class));
|
|
54
74
|
const onVnodeBeforeMount = (vnode: VNode) => {
|
|
55
75
|
// Add a listener to tell Vue to update the v-model
|
|
56
76
|
if (vnode.el) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
const eventsNames = Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent];
|
|
78
|
+
eventsNames.forEach((eventName: string) => {
|
|
79
|
+
vnode.el!.addEventListener(eventName.toLowerCase(), (e: Event) => {
|
|
80
|
+
modelPropValue = (e?.target as any)[modelProp];
|
|
81
|
+
emit(UPDATE_VALUE_EVENT, modelPropValue);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* We need to emit the change event here
|
|
85
|
+
* rather than on the web component to ensure
|
|
86
|
+
* that any v-model bindings have been updated.
|
|
87
|
+
* Otherwise, the developer will listen on the
|
|
88
|
+
* native web component, but the v-model will
|
|
89
|
+
* not have been updated yet.
|
|
90
|
+
*/
|
|
91
|
+
if (externalModelUpdateEvent) {
|
|
92
|
+
emit(externalModelUpdateEvent, e);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
71
95
|
});
|
|
72
96
|
}
|
|
73
97
|
};
|
|
@@ -76,16 +100,18 @@ export const defineContainer = <Props>(name: string, componentProps: string[] =
|
|
|
76
100
|
const hasRouter = currentInstance?.appContext?.provides[NAV_MANAGER];
|
|
77
101
|
const navManager: NavManager | undefined = hasRouter ? inject(NAV_MANAGER) : undefined;
|
|
78
102
|
const handleRouterLink = (ev: Event) => {
|
|
79
|
-
const { routerLink } = props
|
|
80
|
-
if (
|
|
81
|
-
|
|
82
|
-
const routerProps = Object.keys(props).filter(p => p.startsWith(ROUTER_PROP_REFIX));
|
|
103
|
+
const { routerLink } = props;
|
|
104
|
+
if (routerLink === EMPTY_PROP) return;
|
|
83
105
|
|
|
84
106
|
if (navManager !== undefined) {
|
|
85
107
|
let navigationPayload: any = { event: ev };
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
108
|
+
for (const key in props) {
|
|
109
|
+
const value = props[key];
|
|
110
|
+
if (props.hasOwnProperty(key) && key.startsWith(ROUTER_PROP_PREFIX) && value !== EMPTY_PROP) {
|
|
111
|
+
navigationPayload[key] = value;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
89
115
|
navManager.navigate(navigationPayload);
|
|
90
116
|
} else {
|
|
91
117
|
console.warn('Tried to navigate, but no router was found. Make sure you have mounted Vue Router.');
|
|
@@ -93,11 +119,13 @@ export const defineContainer = <Props>(name: string, componentProps: string[] =
|
|
|
93
119
|
}
|
|
94
120
|
|
|
95
121
|
return () => {
|
|
122
|
+
modelPropValue = props[modelProp];
|
|
123
|
+
|
|
96
124
|
getComponentClasses(attrs.class).forEach(value => {
|
|
97
125
|
classes.add(value);
|
|
98
126
|
});
|
|
99
127
|
|
|
100
|
-
const oldClick =
|
|
128
|
+
const oldClick = props.onClick;
|
|
101
129
|
const handleClick = (ev: Event) => {
|
|
102
130
|
if (oldClick !== undefined) {
|
|
103
131
|
oldClick(ev);
|
|
@@ -107,18 +135,43 @@ export const defineContainer = <Props>(name: string, componentProps: string[] =
|
|
|
107
135
|
}
|
|
108
136
|
}
|
|
109
137
|
|
|
110
|
-
let propsToAdd = {
|
|
111
|
-
...props,
|
|
138
|
+
let propsToAdd: any = {
|
|
112
139
|
ref: containerRef,
|
|
113
140
|
class: getElementClasses(containerRef, classes),
|
|
114
141
|
onClick: handleClick,
|
|
115
142
|
onVnodeBeforeMount: (modelUpdateEvent) ? onVnodeBeforeMount : undefined
|
|
116
143
|
};
|
|
117
144
|
|
|
145
|
+
/**
|
|
146
|
+
* We can use Object.entries here
|
|
147
|
+
* to avoid the hasOwnProperty check,
|
|
148
|
+
* but that would require 2 iterations
|
|
149
|
+
* where as this only requires 1.
|
|
150
|
+
*/
|
|
151
|
+
for (const key in props) {
|
|
152
|
+
const value = props[key];
|
|
153
|
+
if (props.hasOwnProperty(key) && value !== EMPTY_PROP) {
|
|
154
|
+
propsToAdd[key] = value;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
118
158
|
if (modelProp) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
159
|
+
/**
|
|
160
|
+
* If form value property was set using v-model
|
|
161
|
+
* then we should use that value.
|
|
162
|
+
* Otherwise, check to see if form value property
|
|
163
|
+
* was set as a static value (i.e. no v-model).
|
|
164
|
+
*/
|
|
165
|
+
if (props[MODEL_VALUE] !== EMPTY_PROP) {
|
|
166
|
+
propsToAdd = {
|
|
167
|
+
...propsToAdd,
|
|
168
|
+
[modelProp]: props[MODEL_VALUE]
|
|
169
|
+
}
|
|
170
|
+
} else if (modelPropValue !== EMPTY_PROP) {
|
|
171
|
+
propsToAdd = {
|
|
172
|
+
...propsToAdd,
|
|
173
|
+
[modelProp]: modelPropValue
|
|
174
|
+
}
|
|
122
175
|
}
|
|
123
176
|
}
|
|
124
177
|
|
|
@@ -127,10 +180,18 @@ export const defineContainer = <Props>(name: string, componentProps: string[] =
|
|
|
127
180
|
});
|
|
128
181
|
|
|
129
182
|
Container.displayName = name;
|
|
130
|
-
|
|
183
|
+
|
|
184
|
+
Container.props = {
|
|
185
|
+
[ROUTER_LINK_VALUE]: DEFAULT_EMPTY_PROP
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
componentProps.forEach(componentProp => {
|
|
189
|
+
Container.props[componentProp] = DEFAULT_EMPTY_PROP;
|
|
190
|
+
});
|
|
191
|
+
|
|
131
192
|
if (modelProp) {
|
|
132
|
-
Container.props
|
|
133
|
-
Container.emits = [UPDATE_VALUE_EVENT,
|
|
193
|
+
Container.props[MODEL_VALUE] = DEFAULT_EMPTY_PROP;
|
|
194
|
+
Container.emits = [UPDATE_VALUE_EVENT, externalModelUpdateEvent];
|
|
134
195
|
}
|
|
135
196
|
|
|
136
197
|
return Container;
|