@visactor/vue-vtable 1.9.0 → 1.9.2-alpha.0
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/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/tables/base-table.vue.d.ts +221 -58
- package/cjs/tables/list-table.vue.d.ts +18 -7
- package/cjs/tables/list-table.vue.js +1 -0
- package/cjs/tables/pivot-chart.vue.d.ts +18 -7
- package/cjs/tables/pivot-chart.vue.js +1 -0
- package/cjs/tables/pivot-table.vue.d.ts +18 -7
- package/cjs/tables/pivot-table.vue.js +1 -0
- package/cjs/tables/utils.d.ts +2 -0
- package/cjs/tables/utils.js +24 -2
- package/dist/vue-vtable.js +26 -3
- package/dist/vue-vtable.min.js +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/tables/base-table.vue.d.ts +221 -58
- package/es/tables/list-table.vue.d.ts +18 -7
- package/es/tables/list-table.vue.js +2 -1
- package/es/tables/pivot-chart.vue.d.ts +18 -7
- package/es/tables/pivot-chart.vue.js +2 -1
- package/es/tables/pivot-table.vue.d.ts +18 -7
- package/es/tables/pivot-table.vue.js +2 -1
- package/es/tables/utils.d.ts +2 -0
- package/es/tables/utils.js +23 -3
- package/package.json +4 -4
package/cjs/index.d.ts
CHANGED
package/cjs/index.js
CHANGED
|
@@ -40,7 +40,7 @@ function _interopNamespaceDefault(e) {
|
|
|
40
40
|
|
|
41
41
|
var VTable__namespace = /*#__PURE__*/_interopNamespaceDefault(VTable);
|
|
42
42
|
|
|
43
|
-
const version = "1.9.0";
|
|
43
|
+
const version = "1.9.2-alpha.0";
|
|
44
44
|
|
|
45
45
|
exports.VTable = VTable__namespace;
|
|
46
46
|
Object.defineProperty(exports, 'register', {
|
|
@@ -232,63 +232,226 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
232
232
|
};
|
|
233
233
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
234
234
|
[key: string]: any;
|
|
235
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<{
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
235
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
236
|
+
type: {
|
|
237
|
+
type: StringConstructor;
|
|
238
|
+
required: false;
|
|
239
|
+
};
|
|
240
|
+
options: {
|
|
241
|
+
type: any;
|
|
242
|
+
required: false;
|
|
243
|
+
};
|
|
244
|
+
records: {
|
|
245
|
+
type: ArrayConstructor;
|
|
246
|
+
required: false;
|
|
247
|
+
};
|
|
248
|
+
width: {
|
|
249
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
250
|
+
required: false;
|
|
251
|
+
default: string;
|
|
252
|
+
};
|
|
253
|
+
height: {
|
|
254
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
255
|
+
required: false;
|
|
256
|
+
default: string;
|
|
257
|
+
};
|
|
258
|
+
onReady: {
|
|
259
|
+
type: FunctionConstructor;
|
|
260
|
+
required: false;
|
|
261
|
+
};
|
|
262
|
+
onError: {
|
|
263
|
+
type: FunctionConstructor;
|
|
264
|
+
required: false;
|
|
265
|
+
};
|
|
266
|
+
onClickCell: {
|
|
267
|
+
type: any;
|
|
268
|
+
required: false;
|
|
269
|
+
};
|
|
270
|
+
onDblClickCell: {
|
|
271
|
+
type: any;
|
|
272
|
+
required: false;
|
|
273
|
+
};
|
|
274
|
+
onMouseDownCell: {
|
|
275
|
+
type: any;
|
|
276
|
+
required: false;
|
|
277
|
+
};
|
|
278
|
+
onMouseUpCell: {
|
|
279
|
+
type: any;
|
|
280
|
+
required: false;
|
|
281
|
+
};
|
|
282
|
+
onSelectedCell: {
|
|
283
|
+
type: any;
|
|
284
|
+
required: false;
|
|
285
|
+
};
|
|
286
|
+
onKeyDown: {
|
|
287
|
+
type: any;
|
|
288
|
+
required: false;
|
|
289
|
+
};
|
|
290
|
+
onMouseEnterTable: {
|
|
291
|
+
type: any;
|
|
292
|
+
required: false;
|
|
293
|
+
};
|
|
294
|
+
onMouseLeaveTable: {
|
|
295
|
+
type: any;
|
|
296
|
+
required: false;
|
|
297
|
+
};
|
|
298
|
+
onMouseDownTable: {
|
|
299
|
+
type: any;
|
|
300
|
+
required: false;
|
|
301
|
+
};
|
|
302
|
+
onMouseMoveCell: {
|
|
303
|
+
type: any;
|
|
304
|
+
required: false;
|
|
305
|
+
};
|
|
306
|
+
onMouseEnterCell: {
|
|
307
|
+
type: any;
|
|
308
|
+
required: false;
|
|
309
|
+
};
|
|
310
|
+
onMouseLeaveCell: {
|
|
311
|
+
type: any;
|
|
312
|
+
required: false;
|
|
313
|
+
};
|
|
314
|
+
onContextMenuCell: {
|
|
315
|
+
type: any;
|
|
316
|
+
required: false;
|
|
317
|
+
};
|
|
318
|
+
onResizeColumn: {
|
|
319
|
+
type: any;
|
|
320
|
+
required: false;
|
|
321
|
+
};
|
|
322
|
+
onResizeColumnEnd: {
|
|
323
|
+
type: any;
|
|
324
|
+
required: false;
|
|
325
|
+
};
|
|
326
|
+
onChangeHeaderPosition: {
|
|
327
|
+
type: any;
|
|
328
|
+
required: false;
|
|
329
|
+
};
|
|
330
|
+
onSortClick: {
|
|
331
|
+
type: any;
|
|
332
|
+
required: false;
|
|
333
|
+
};
|
|
334
|
+
onFreezeClick: {
|
|
335
|
+
type: any;
|
|
336
|
+
required: false;
|
|
337
|
+
};
|
|
338
|
+
onScroll: {
|
|
339
|
+
type: any;
|
|
340
|
+
required: false;
|
|
341
|
+
};
|
|
342
|
+
onDropdownMenuClick: {
|
|
343
|
+
type: any;
|
|
344
|
+
required: false;
|
|
345
|
+
};
|
|
346
|
+
onMouseOverChartSymbol: {
|
|
347
|
+
type: any;
|
|
348
|
+
required: false;
|
|
349
|
+
};
|
|
350
|
+
onDragSelectEnd: {
|
|
351
|
+
type: any;
|
|
352
|
+
required: false;
|
|
353
|
+
};
|
|
354
|
+
onDropdownIconClick: {
|
|
355
|
+
type: any;
|
|
356
|
+
required: false;
|
|
357
|
+
};
|
|
358
|
+
onDropdownMenuClear: {
|
|
359
|
+
type: any;
|
|
360
|
+
required: false;
|
|
361
|
+
};
|
|
362
|
+
onTreeHierarchyStateChange: {
|
|
363
|
+
type: any;
|
|
364
|
+
required: false;
|
|
365
|
+
};
|
|
366
|
+
onShowMenu: {
|
|
367
|
+
type: any;
|
|
368
|
+
required: false;
|
|
369
|
+
};
|
|
370
|
+
onHideMenu: {
|
|
371
|
+
type: any;
|
|
372
|
+
required: false;
|
|
373
|
+
};
|
|
374
|
+
onIconClick: {
|
|
375
|
+
type: any;
|
|
376
|
+
required: false;
|
|
377
|
+
};
|
|
378
|
+
onLegendItemClick: {
|
|
379
|
+
type: any;
|
|
380
|
+
required: false;
|
|
381
|
+
};
|
|
382
|
+
onLegendItemHover: {
|
|
383
|
+
type: any;
|
|
384
|
+
required: false;
|
|
385
|
+
};
|
|
386
|
+
onLegendItemUnHover: {
|
|
387
|
+
type: any;
|
|
388
|
+
required: false;
|
|
389
|
+
};
|
|
390
|
+
onLegendChange: {
|
|
391
|
+
type: any;
|
|
392
|
+
required: false;
|
|
393
|
+
};
|
|
394
|
+
onMouseEnterAxis: {
|
|
395
|
+
type: any;
|
|
396
|
+
required: false;
|
|
397
|
+
};
|
|
398
|
+
onMouseLeaveAxis: {
|
|
399
|
+
type: any;
|
|
400
|
+
required: false;
|
|
401
|
+
};
|
|
402
|
+
onCheckboxStateChange: {
|
|
403
|
+
type: any;
|
|
404
|
+
required: false;
|
|
405
|
+
};
|
|
406
|
+
onRadioStateChange: {
|
|
407
|
+
type: any;
|
|
408
|
+
required: false;
|
|
409
|
+
};
|
|
410
|
+
onAfterRender: {
|
|
411
|
+
type: any;
|
|
412
|
+
required: false;
|
|
413
|
+
};
|
|
414
|
+
onInitialized: {
|
|
415
|
+
type: any;
|
|
416
|
+
required: false;
|
|
417
|
+
};
|
|
418
|
+
onPivotSortClick: {
|
|
419
|
+
type: any;
|
|
420
|
+
required: false;
|
|
421
|
+
};
|
|
422
|
+
onDrillMenuClick: {
|
|
423
|
+
type: any;
|
|
424
|
+
required: false;
|
|
425
|
+
};
|
|
426
|
+
onVChartEventType: {
|
|
427
|
+
type: any;
|
|
428
|
+
required: false;
|
|
429
|
+
};
|
|
430
|
+
onChangCellValue: {
|
|
431
|
+
type: any;
|
|
432
|
+
required: false;
|
|
433
|
+
};
|
|
434
|
+
onMousedownFillHandle: {
|
|
435
|
+
type: any;
|
|
436
|
+
required: false;
|
|
437
|
+
};
|
|
438
|
+
onDragFillHandleEnd: {
|
|
439
|
+
type: any;
|
|
440
|
+
required: false;
|
|
441
|
+
};
|
|
442
|
+
onDblclickFillHandle: {
|
|
443
|
+
type: any;
|
|
444
|
+
required: false;
|
|
445
|
+
};
|
|
446
|
+
onScrollVerticalEnd: {
|
|
447
|
+
type: any;
|
|
448
|
+
required: false;
|
|
449
|
+
};
|
|
450
|
+
onScrollHorizontalEnd: {
|
|
451
|
+
type: any;
|
|
452
|
+
required: false;
|
|
453
|
+
};
|
|
454
|
+
}>> & Readonly<{
|
|
292
455
|
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
293
456
|
}>, {
|
|
294
457
|
options: any;
|
|
@@ -341,5 +504,5 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
341
504
|
onDblclickFillHandle: any;
|
|
342
505
|
onScrollVerticalEnd: any;
|
|
343
506
|
onScrollHorizontalEnd: any;
|
|
344
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}>;
|
|
507
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
345
508
|
export default _default;
|
|
@@ -17,11 +17,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
17
17
|
};
|
|
18
18
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
19
|
[key: string]: any;
|
|
20
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
21
|
-
options:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
options: {
|
|
22
|
+
type: ObjectConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
records: {
|
|
26
|
+
type: ArrayConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
width: {
|
|
30
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
height: {
|
|
34
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
37
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
27
38
|
export default _default;
|
|
@@ -35,6 +35,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
35
35
|
};
|
|
36
36
|
vnodes.forEach(vnode => {
|
|
37
37
|
var _a, _b;
|
|
38
|
+
vnode.props = utils.convertPropsToCamelCase(vnode.props);
|
|
38
39
|
const typeName = ((_a = vnode.type) === null || _a === void 0 ? void 0 : _a.symbol) || ((_b = vnode.type) === null || _b === void 0 ? void 0 : _b.name);
|
|
39
40
|
const optionKey = typeMapping[typeName];
|
|
40
41
|
if (optionKey) {
|
|
@@ -17,11 +17,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
17
17
|
};
|
|
18
18
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
19
|
[key: string]: any;
|
|
20
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
21
|
-
options:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
options: {
|
|
22
|
+
type: ObjectConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
records: {
|
|
26
|
+
type: ArrayConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
width: {
|
|
30
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
height: {
|
|
34
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
37
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
27
38
|
export default _default;
|
|
@@ -41,6 +41,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
41
41
|
};
|
|
42
42
|
flattenedSlots.forEach(vnode => {
|
|
43
43
|
var _a, _b;
|
|
44
|
+
vnode.props = utils.convertPropsToCamelCase(vnode.props);
|
|
44
45
|
const typeName = ((_a = vnode.type) === null || _a === void 0 ? void 0 : _a.symbol) || ((_b = vnode.type) === null || _b === void 0 ? void 0 : _b.name);
|
|
45
46
|
const optionKey = typeMapping[typeName];
|
|
46
47
|
if (optionKey) {
|
|
@@ -17,11 +17,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
17
17
|
};
|
|
18
18
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
19
|
[key: string]: any;
|
|
20
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
21
|
-
options:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
options: {
|
|
22
|
+
type: ObjectConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
records: {
|
|
26
|
+
type: ArrayConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
width: {
|
|
30
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
height: {
|
|
34
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
37
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
27
38
|
export default _default;
|
|
@@ -41,6 +41,7 @@ var _sfc_main = vue.defineComponent({
|
|
|
41
41
|
};
|
|
42
42
|
flattenedSlots.forEach(vnode => {
|
|
43
43
|
var _a, _b;
|
|
44
|
+
vnode.props = utils.convertPropsToCamelCase(vnode.props);
|
|
44
45
|
const typeName = ((_a = vnode.type) === null || _a === void 0 ? void 0 : _a.symbol) || ((_b = vnode.type) === null || _b === void 0 ? void 0 : _b.name);
|
|
45
46
|
const optionKey = typeMapping[typeName];
|
|
46
47
|
if (optionKey) {
|
package/cjs/tables/utils.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export declare function flattenVNodes(vnodes: any[]): any[];
|
|
2
|
+
export declare function toCamelCase(str: string): string;
|
|
3
|
+
export declare function convertPropsToCamelCase(props: Record<string, any>): Record<string, any>;
|
|
2
4
|
export declare function createCustomLayout(children: any): any;
|
package/cjs/tables/utils.js
CHANGED
|
@@ -25,6 +25,19 @@ var VTable__namespace = /*#__PURE__*/_interopNamespaceDefault(VTable);
|
|
|
25
25
|
function flattenVNodes(vnodes) {
|
|
26
26
|
return vnodes.flatMap(vnode => (Array.isArray(vnode.children) ? flattenVNodes(vnode.children) : vnode));
|
|
27
27
|
}
|
|
28
|
+
function toCamelCase(str) {
|
|
29
|
+
return str.replace(/-([a-z])/g, g => g[1].toUpperCase());
|
|
30
|
+
}
|
|
31
|
+
function convertPropsToCamelCase(props) {
|
|
32
|
+
const newProps = {};
|
|
33
|
+
for (const key in props) {
|
|
34
|
+
if (props.hasOwnProperty(key)) {
|
|
35
|
+
const camelCaseKey = toCamelCase(key);
|
|
36
|
+
newProps[camelCaseKey] = props[key];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return newProps;
|
|
40
|
+
}
|
|
28
41
|
function isEventProp(key, props) {
|
|
29
42
|
return key.startsWith('on') && vutils.isFunction(props[key]);
|
|
30
43
|
}
|
|
@@ -41,7 +54,8 @@ function createCustomLayout(children) {
|
|
|
41
54
|
if (!child) {
|
|
42
55
|
return null;
|
|
43
56
|
}
|
|
44
|
-
const { type,
|
|
57
|
+
const { type, children: childChildren } = child;
|
|
58
|
+
const props = convertPropsToCamelCase(child.props);
|
|
45
59
|
const componentName = (type === null || type === void 0 ? void 0 : type.symbol) || (type === null || type === void 0 ? void 0 : type.name);
|
|
46
60
|
const ComponentClass = componentMap[componentName];
|
|
47
61
|
if (!ComponentClass) {
|
|
@@ -73,7 +87,13 @@ function createCustomLayout(children) {
|
|
|
73
87
|
function bindComponentEvents(component, props) {
|
|
74
88
|
Object.keys(props).forEach(key => {
|
|
75
89
|
if (isEventProp(key, props)) {
|
|
76
|
-
|
|
90
|
+
let eventName;
|
|
91
|
+
if (key.startsWith('on')) {
|
|
92
|
+
eventName = key.slice(2).toLowerCase();
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
eventName = toCamelCase(key.slice(2)).toLowerCase();
|
|
96
|
+
}
|
|
77
97
|
component.addEventListener(eventName, props[key]);
|
|
78
98
|
}
|
|
79
99
|
});
|
|
@@ -81,5 +101,7 @@ function createCustomLayout(children) {
|
|
|
81
101
|
return { rootComponent: createComponent(children) };
|
|
82
102
|
}
|
|
83
103
|
|
|
104
|
+
exports.convertPropsToCamelCase = convertPropsToCamelCase;
|
|
84
105
|
exports.createCustomLayout = createCustomLayout;
|
|
85
106
|
exports.flattenVNodes = flattenVNodes;
|
|
107
|
+
exports.toCamelCase = toCamelCase;
|
package/dist/vue-vtable.js
CHANGED
|
@@ -26,6 +26,19 @@
|
|
|
26
26
|
function flattenVNodes(vnodes) {
|
|
27
27
|
return vnodes.flatMap(vnode => (Array.isArray(vnode.children) ? flattenVNodes(vnode.children) : vnode));
|
|
28
28
|
}
|
|
29
|
+
function toCamelCase(str) {
|
|
30
|
+
return str.replace(/-([a-z])/g, g => g[1].toUpperCase());
|
|
31
|
+
}
|
|
32
|
+
function convertPropsToCamelCase(props) {
|
|
33
|
+
const newProps = {};
|
|
34
|
+
for (const key in props) {
|
|
35
|
+
if (props.hasOwnProperty(key)) {
|
|
36
|
+
const camelCaseKey = toCamelCase(key);
|
|
37
|
+
newProps[camelCaseKey] = props[key];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return newProps;
|
|
41
|
+
}
|
|
29
42
|
function isEventProp(key, props) {
|
|
30
43
|
return key.startsWith('on') && vutils.isFunction(props[key]);
|
|
31
44
|
}
|
|
@@ -42,7 +55,8 @@
|
|
|
42
55
|
if (!child) {
|
|
43
56
|
return null;
|
|
44
57
|
}
|
|
45
|
-
const { type,
|
|
58
|
+
const { type, children: childChildren } = child;
|
|
59
|
+
const props = convertPropsToCamelCase(child.props);
|
|
46
60
|
const componentName = type?.symbol || type?.name;
|
|
47
61
|
const ComponentClass = componentMap[componentName];
|
|
48
62
|
if (!ComponentClass) {
|
|
@@ -73,7 +87,13 @@
|
|
|
73
87
|
function bindComponentEvents(component, props) {
|
|
74
88
|
Object.keys(props).forEach(key => {
|
|
75
89
|
if (isEventProp(key, props)) {
|
|
76
|
-
|
|
90
|
+
let eventName;
|
|
91
|
+
if (key.startsWith('on')) {
|
|
92
|
+
eventName = key.slice(2).toLowerCase();
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
eventName = toCamelCase(key.slice(2)).toLowerCase();
|
|
96
|
+
}
|
|
77
97
|
component.addEventListener(eventName, props[key]);
|
|
78
98
|
}
|
|
79
99
|
});
|
|
@@ -339,6 +359,7 @@
|
|
|
339
359
|
Menu: 'menu',
|
|
340
360
|
};
|
|
341
361
|
vnodes.forEach(vnode => {
|
|
362
|
+
vnode.props = convertPropsToCamelCase(vnode.props);
|
|
342
363
|
const typeName = vnode.type?.symbol || vnode.type?.name;
|
|
343
364
|
const optionKey = typeMapping[typeName];
|
|
344
365
|
if (optionKey) {
|
|
@@ -423,6 +444,7 @@
|
|
|
423
444
|
'Menu': 'menu',
|
|
424
445
|
};
|
|
425
446
|
flattenedSlots.forEach(vnode => {
|
|
447
|
+
vnode.props = convertPropsToCamelCase(vnode.props);
|
|
426
448
|
const typeName = vnode.type?.symbol || vnode.type?.name;
|
|
427
449
|
const optionKey = typeMapping[typeName];
|
|
428
450
|
if (optionKey) {
|
|
@@ -499,6 +521,7 @@
|
|
|
499
521
|
'Menu': 'menu',
|
|
500
522
|
};
|
|
501
523
|
flattenedSlots.forEach(vnode => {
|
|
524
|
+
vnode.props = convertPropsToCamelCase(vnode.props);
|
|
502
525
|
const typeName = vnode.type?.symbol || vnode.type?.name;
|
|
503
526
|
const optionKey = typeMapping[typeName];
|
|
504
527
|
if (optionKey) {
|
|
@@ -624,7 +647,7 @@
|
|
|
624
647
|
}
|
|
625
648
|
CheckBox.symbol = 'CheckBox';
|
|
626
649
|
|
|
627
|
-
const version = "1.9.0";
|
|
650
|
+
const version = "1.9.2-alpha.0";
|
|
628
651
|
|
|
629
652
|
exports.VTable = VTable__namespace;
|
|
630
653
|
Object.defineProperty(exports, 'register', {
|
package/dist/vue-vtable.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@visactor/vtable"),require("vue"),require("@visactor/vutils")):"function"==typeof define&&define.amd?define(["exports","@visactor/vtable","vue","@visactor/vutils"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).VueVTable={},e.VTable,e.vue,e.vutils)}(this,(function(e,o,n,t){"use strict";function r(e){var o=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),o.default=e,Object.freeze(o)}var l=r(o);function i(e){return e.flatMap((e=>Array.isArray(e.children)?i(e.children):e))}function u(e){const o={Group:l.CustomLayout.Group,Image:l.CustomLayout.Image,Text:l.CustomLayout.Text,Tag:l.CustomLayout.Tag,Radio:l.CustomLayout.Radio,CheckBox:l.CustomLayout.CheckBox};return{rootComponent:function e(n){if(!n)return null;const{type:r,props:l,children:i}=n,u=o[r?.symbol||r?.name];if(!u)return null;const s=new u({...l});!function(e,o){Object.keys(o).forEach((n=>{if(function(e,o){return e.startsWith("on")&&t.isFunction(o[e])}(n,o)){const t=n.slice(2).toLowerCase();e.addEventListener(t,o[n])}}))}(s,l);return function(e){return e?.default?.()||e||[]}(i).forEach((o=>{const n=e(o);n?s.add(n):o.type===Symbol.for("v-fgt")&&o.children.forEach((o=>{const n=e(o);n&&s.add(n)}))})),s}(e)}}const s={...o.ListTable.EVENT_TYPE,...o.PivotTable.EVENT_TYPE,...o.PivotChart.EVENT_TYPE},a={onClickCell:s.CLICK_CELL,onDblClickCell:s.DBLCLICK_CELL,onMouseDownCell:s.MOUSEDOWN_CELL,onMouseUpCell:s.MOUSEUP_CELL,onSelectedCell:s.SELECTED_CELL,onKeyDown:s.KEYDOWN,onMouseEnterTable:s.MOUSEENTER_TABLE,onMouseLeaveTable:s.MOUSELEAVE_TABLE,onMouseDownTable:s.MOUSEDOWN_TABLE,onMouseMoveCell:s.MOUSEMOVE_CELL,onMouseEnterCell:s.MOUSEENTER_CELL,onMouseLeaveCell:s.MOUSELEAVE_CELL,onContextMenuCell:s.CONTEXTMENU_CELL,onResizeColumn:s.RESIZE_COLUMN,onResizeColumnEnd:s.RESIZE_COLUMN_END,onChangeHeaderPosition:s.CHANGE_HEADER_POSITION,onSortClick:s.SORT_CLICK,onFreezeClick:s.FREEZE_CLICK,onScroll:s.SCROLL,onDropdownMenuClick:s.DROPDOWN_MENU_CLICK,onMouseOverChartSymbol:s.MOUSEOVER_CHART_SYMBOL,onDragSelectEnd:s.DRAG_SELECT_END,onDropdownIconClick:s.DROPDOWN_ICON_CLICK,onDropdownMenuClear:s.DROPDOWN_MENU_CLEAR,onTreeHierarchyStateChange:s.TREE_HIERARCHY_STATE_CHANGE,onShowMenu:s.SHOW_MENU,onHideMenu:s.HIDE_MENU,onIconClick:s.ICON_CLICK,onLegendItemClick:s.LEGEND_ITEM_CLICK,onLegendItemHover:s.LEGEND_ITEM_HOVER,onLegendItemUnHover:s.LEGEND_ITEM_UNHOVER,onLegendChange:s.LEGEND_CHANGE,onMouseEnterAxis:s.MOUSEENTER_AXIS,onMouseLeaveAxis:s.MOUSELEAVE_AXIS,onCheckboxStateChange:s.CHECKBOX_STATE_CHANGE,onRadioStateChange:s.RADIO_STATE_CHANGE,onAfterRender:s.AFTER_RENDER,onInitialized:s.INITIALIZED,onPivotSortClick:s.PIVOT_SORT_CLICK,onDrillMenuClick:s.DRILLMENU_CLICK,onVChartEventType:s.VCHART_EVENT_TYPE,onChangCellValue:s.CHANGE_CELL_VALUE,onMousedownFillHandle:s.MOUSEDOWN_FILL_HANDLE,onDragFillHandleEnd:s.DRAG_FILL_HANDLE_END,onDblclickFillHandle:s.DBLCLICK_FILL_HANDLE,onScrollVerticalEnd:s.SCROLL_VERTICAL_END,onScrollHorizontalEnd:s.SCROLL_HORIZONTAL_END},c=Object.keys(a);var d=n.defineComponent({__name:"base-table",props:{type:{type:String,required:!1},options:{type:null,required:!1},records:{type:Array,required:!1},width:{type:[Number,String],required:!1,default:"100%"},height:{type:[Number,String],required:!1,default:"100%"},onReady:{type:Function,required:!1},onError:{type:Function,required:!1},onClickCell:{type:null,required:!1},onDblClickCell:{type:null,required:!1},onMouseDownCell:{type:null,required:!1},onMouseUpCell:{type:null,required:!1},onSelectedCell:{type:null,required:!1},onKeyDown:{type:null,required:!1},onMouseEnterTable:{type:null,required:!1},onMouseLeaveTable:{type:null,required:!1},onMouseDownTable:{type:null,required:!1},onMouseMoveCell:{type:null,required:!1},onMouseEnterCell:{type:null,required:!1},onMouseLeaveCell:{type:null,required:!1},onContextMenuCell:{type:null,required:!1},onResizeColumn:{type:null,required:!1},onResizeColumnEnd:{type:null,required:!1},onChangeHeaderPosition:{type:null,required:!1},onSortClick:{type:null,required:!1},onFreezeClick:{type:null,required:!1},onScroll:{type:null,required:!1},onDropdownMenuClick:{type:null,required:!1},onMouseOverChartSymbol:{type:null,required:!1},onDragSelectEnd:{type:null,required:!1},onDropdownIconClick:{type:null,required:!1},onDropdownMenuClear:{type:null,required:!1},onTreeHierarchyStateChange:{type:null,required:!1},onShowMenu:{type:null,required:!1},onHideMenu:{type:null,required:!1},onIconClick:{type:null,required:!1},onLegendItemClick:{type:null,required:!1},onLegendItemHover:{type:null,required:!1},onLegendItemUnHover:{type:null,required:!1},onLegendChange:{type:null,required:!1},onMouseEnterAxis:{type:null,required:!1},onMouseLeaveAxis:{type:null,required:!1},onCheckboxStateChange:{type:null,required:!1},onRadioStateChange:{type:null,required:!1},onAfterRender:{type:null,required:!1},onInitialized:{type:null,required:!1},onPivotSortClick:{type:null,required:!1},onDrillMenuClick:{type:null,required:!1},onVChartEventType:{type:null,required:!1},onChangCellValue:{type:null,required:!1},onMousedownFillHandle:{type:null,required:!1},onDragFillHandleEnd:{type:null,required:!1},onDblclickFillHandle:{type:null,required:!1},onScrollVerticalEnd:{type:null,required:!1},onScrollHorizontalEnd:{type:null,required:!1}},emits:c,setup(e,{expose:t,emit:r}){const l=e,i=n.ref(null),u=n.shallowRef(null);t({vTableInstance:u});const s=n.computed((()=>"number"==typeof l.width?`${l.width}px`:l.width)),d=n.computed((()=>"number"==typeof l.height?`${l.height}px`:l.height)),p=r,C=()=>{if(!i.value)return;u.value&&u.value.release();const e=()=>void 0!==l.records&&null!==l.records&&l.records.length>0?l.records:l.options.records,n=(e,o)=>{u.value=new e(i.value,o)};try{switch(l.type){case"list":n(o.ListTable,{...l.options,records:e()});break;case"pivot":n(o.PivotTable,{...l.options,records:e()});break;case"chart":n(o.PivotChart,{...l.options,records:e()})}t=u.value,c.forEach((e=>{t.on(a[e],(o=>{p(e,o)}))})),l.onReady?.(u.value,!0)}catch(e){}var t},m=e=>{if(u.value)try{switch(l.type){case"list":u.value instanceof o.ListTable&&u.value.updateOption(e);break;case"pivot":u.value instanceof o.PivotTable&&u.value.updateOption(e);break;case"chart":u.value instanceof o.PivotChart&&u.value.updateOption(e)}}catch(e){l.onError?.(e)}};return n.onMounted(C),n.onBeforeUnmount((()=>u.value?.release())),n.watch((()=>l.options),(e=>{u.value?m(e):C()}),{deep:!0}),n.watch((()=>l.records),((e,o)=>{u.value?m({...l.options,records:e}):C()}),{deep:!0}),(e,o)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"vTableContainer",ref:i,style:n.normalizeStyle([{width:s.value,height:d.value},{position:"relative"}])},null,4))}}),p=n.defineComponent({__name:"list-table",props:{options:{type:Object,required:!0},records:{type:Array,required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1}},setup(e,{expose:o}){const t=e,r=n.ref(null),l=n.useSlots(),s=n.computed((()=>{const e=function(e){const o={columns:[],tooltip:{},menu:{}},n={ListColumn:"columns",Tooltip:"tooltip",Menu:"menu"};return e.forEach((e=>{const t=e.type?.symbol||e.type?.name,r=n[t];var l;r&&("columns"===r&&e.children&&(e.props.customLayout=(l=e.children,e=>{const{table:o,row:n,col:t,rect:r}=e,i=o.getCellOriginRecord(t,n),{height:s,width:a}=r??o.getCellRect(t,n),c=l.customLayout({table:o,row:n,col:t,rect:r,record:i,height:s,width:a})[0],{rootComponent:d}=u(c);return{rootContainer:d,renderDefault:!1}})),Array.isArray(o[r])?o[r].push(e.props):o[r]=e.props)})),o}(i(l.default?.()||[]));return{...t.options,columns:e.columns.length?e.columns:t.options.columns,tooltip:e.tooltip||t.options.tooltip,menu:e.menu||t.options.menu}}));return o({vTableInstance:n.computed((()=>r.value?.vTableInstance||null))}),(e,o)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(d,n.mergeProps({type:"list",options:s.value,records:e.records,width:e.width,height:e.height,ref_key:"baseTableRef",ref:r},e.$attrs),null,16,["options","records","width","height"]),n.renderSlot(e.$slots,"default")],64))}}),C=n.defineComponent({__name:"pivot-table",props:{options:{type:Object,required:!0},records:{type:Array,required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1}},setup(e,{expose:o}){const t=e,r=n.shallowRef(null),l=n.useSlots(),u=n.computed((()=>{const e=i(l.default?.()||[]),o={columns:[],columnHeaderTitle:[],rows:[],rowHeaderTitle:[],indicators:[],corner:Object,tooltip:Object,menu:Object},n={PivotColumnDimension:"columns",PivotColumnHeaderTitle:"columnHeaderTitle",PivotRowDimension:"rows",PivotRowHeaderTitle:"rowHeaderTitle",PivotCorner:"corner",PivotIndicator:"indicators",Tooltip:"tooltip",Menu:"menu"};return e.forEach((e=>{const t=e.type?.symbol||e.type?.name,r=n[t];r&&(Array.isArray(o[r])?o[r].push(e.props):o[r]=e.props)})),{...t.options,columns:o.columns.length?o.columns:t.options.columns,columnHeaderTitle:o.columnHeaderTitle.length?o.columnHeaderTitle:t.options.columnHeaderTitle,rows:o.rows.length?o.rows:t.options.rows,rowHeaderTitle:o.rowHeaderTitle.length?o.rowHeaderTitle:t.options.rowHeaderTitle,indicators:o.indicators.length?o.indicators:t.options.indicators,corner:t.options.corner||o.corner,tooltip:t.options.tooltip||o.tooltip,menu:t.options.menu||o.menu}}));return o({vTableInstance:n.computed((()=>r.value?.vTableInstance||null))}),(e,o)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(d,n.mergeProps({type:"pivot",options:u.value,records:e.records,width:e.width,height:e.height,ref_key:"baseTableRef",ref:r},e.$attrs),null,16,["options","records","width","height"]),n.renderSlot(e.$slots,"default")],64))}}),m=n.defineComponent({__name:"pivot-chart",props:{options:{type:Object,required:!0},records:{type:Array,required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1}},setup(e,{expose:o}){const t=e,r=n.shallowRef(null),l=n.useSlots(),u=n.computed((()=>{const e=i(l.default?.()||[]),o={columns:[],columnHeaderTitle:[],rows:[],rowHeaderTitle:[],indicators:[],corner:Object,tooltip:Object,menu:Object},n={PivotColumnDimension:"columns",PivotColumnHeaderTitle:"columnHeaderTitle",PivotRowDimension:"rows",PivotRowHeaderTitle:"rowHeaderTitle",PivotCorner:"corner",PivotIndicator:"indicators",Tooltip:"tooltip",Menu:"menu"};return e.forEach((e=>{const t=e.type?.symbol||e.type?.name,r=n[t];r&&(Array.isArray(o[r])?e.props.hasOwnProperty("objectHandler")?o[r].push(e.props.objectHandler):o[r].push(e.props):o[r]=e.props)})),{...t.options,columns:o.columns.length?o.columns:t.options.columns,columnHeaderTitle:o.columnHeaderTitle.length?o.columnHeaderTitle:t.options.columnHeaderTitle,rows:o.rows.length?o.rows:t.options.rows,rowHeaderTitle:o.rowHeaderTitle.length?o.rowHeaderTitle:t.options.rowHeaderTitle,indicators:o.indicators.length?o.indicators:t.options.indicators,corner:o.corner||t.options.corner,tooltip:o.tooltip||t.options.tooltip,menu:o.menu||t.options.menu}}));return o({vTableInstance:n.computed((()=>r.value?.vTableInstance||null))}),(e,o)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(d,n.mergeProps({type:"chart",options:u.value,records:e.records,width:e.width,height:e.height,ref_key:"baseTableRef",ref:r},e.$attrs),null,16,["options","records","width","height"]),n.renderSlot(e.$slots,"default")],64))}});function y(e){return null}function E(e){return null}function h(e){return null}function T(e){return null}function v(e){return null}function b(e){return null}function L(e){return null}function f(e){return null}function g(e){return null}function _(){return null}function w(){return null}function H(){return null}function M(e){return null}function O(e){return null}function S(e){return null}y.symbol="ListColumn",E.symbol="PivotColumnDimension",h.symbol="PivotRowDimension",T.symbol="PivotColumnHeaderTitle",v.symbol="PivotRowHeaderTitle",b.symbol="PivotIndicator",L.symbol="PivotCorner",f.symbol="Menu",g.symbol="Tooltip",_.symbol="Group",w.symbol="Image",H.symbol="Text",M.symbol="Tag",O.symbol="Radio",S.symbol="CheckBox";e.VTable=l,Object.defineProperty(e,"register",{enumerable:!0,get:function(){return o.register}}),e.CheckBox=S,e.Group=_,e.Image=w,e.ListColumn=y,e.ListTable=p,e.Menu=f,e.PivotChart=m,e.PivotColumnDimension=E,e.PivotColumnHeaderTitle=T,e.PivotCorner=L,e.PivotIndicator=b,e.PivotRowDimension=h,e.PivotRowHeaderTitle=v,e.PivotTable=C,e.Radio=O,e.Tag=M,e.Text=H,e.Tooltip=g,e.registerChartModule=(e,o)=>{l.register.chartModule(e,o)},e.version="1.9.0"}));
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@visactor/vtable"),require("vue"),require("@visactor/vutils")):"function"==typeof define&&define.amd?define(["exports","@visactor/vtable","vue","@visactor/vutils"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).VueVTable={},e.VTable,e.vue,e.vutils)}(this,(function(e,o,n,t){"use strict";function r(e){var o=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),o.default=e,Object.freeze(o)}var l=r(o);function i(e){return e.flatMap((e=>Array.isArray(e.children)?i(e.children):e))}function u(e){return e.replace(/-([a-z])/g,(e=>e[1].toUpperCase()))}function s(e){const o={};for(const n in e)if(e.hasOwnProperty(n)){o[u(n)]=e[n]}return o}function a(e){const o={Group:l.CustomLayout.Group,Image:l.CustomLayout.Image,Text:l.CustomLayout.Text,Tag:l.CustomLayout.Tag,Radio:l.CustomLayout.Radio,CheckBox:l.CustomLayout.CheckBox};return{rootComponent:function e(n){if(!n)return null;const{type:r,children:l}=n,i=s(n.props),a=o[r?.symbol||r?.name];if(!a)return null;const c=new a({...i});!function(e,o){Object.keys(o).forEach((n=>{if(function(e,o){return e.startsWith("on")&&t.isFunction(o[e])}(n,o)){let t;t=n.startsWith("on")?n.slice(2).toLowerCase():u(n.slice(2)).toLowerCase(),e.addEventListener(t,o[n])}}))}(c,i);return function(e){return e?.default?.()||e||[]}(l).forEach((o=>{const n=e(o);n?c.add(n):o.type===Symbol.for("v-fgt")&&o.children.forEach((o=>{const n=e(o);n&&c.add(n)}))})),c}(e)}}const c={...o.ListTable.EVENT_TYPE,...o.PivotTable.EVENT_TYPE,...o.PivotChart.EVENT_TYPE},d={onClickCell:c.CLICK_CELL,onDblClickCell:c.DBLCLICK_CELL,onMouseDownCell:c.MOUSEDOWN_CELL,onMouseUpCell:c.MOUSEUP_CELL,onSelectedCell:c.SELECTED_CELL,onKeyDown:c.KEYDOWN,onMouseEnterTable:c.MOUSEENTER_TABLE,onMouseLeaveTable:c.MOUSELEAVE_TABLE,onMouseDownTable:c.MOUSEDOWN_TABLE,onMouseMoveCell:c.MOUSEMOVE_CELL,onMouseEnterCell:c.MOUSEENTER_CELL,onMouseLeaveCell:c.MOUSELEAVE_CELL,onContextMenuCell:c.CONTEXTMENU_CELL,onResizeColumn:c.RESIZE_COLUMN,onResizeColumnEnd:c.RESIZE_COLUMN_END,onChangeHeaderPosition:c.CHANGE_HEADER_POSITION,onSortClick:c.SORT_CLICK,onFreezeClick:c.FREEZE_CLICK,onScroll:c.SCROLL,onDropdownMenuClick:c.DROPDOWN_MENU_CLICK,onMouseOverChartSymbol:c.MOUSEOVER_CHART_SYMBOL,onDragSelectEnd:c.DRAG_SELECT_END,onDropdownIconClick:c.DROPDOWN_ICON_CLICK,onDropdownMenuClear:c.DROPDOWN_MENU_CLEAR,onTreeHierarchyStateChange:c.TREE_HIERARCHY_STATE_CHANGE,onShowMenu:c.SHOW_MENU,onHideMenu:c.HIDE_MENU,onIconClick:c.ICON_CLICK,onLegendItemClick:c.LEGEND_ITEM_CLICK,onLegendItemHover:c.LEGEND_ITEM_HOVER,onLegendItemUnHover:c.LEGEND_ITEM_UNHOVER,onLegendChange:c.LEGEND_CHANGE,onMouseEnterAxis:c.MOUSEENTER_AXIS,onMouseLeaveAxis:c.MOUSELEAVE_AXIS,onCheckboxStateChange:c.CHECKBOX_STATE_CHANGE,onRadioStateChange:c.RADIO_STATE_CHANGE,onAfterRender:c.AFTER_RENDER,onInitialized:c.INITIALIZED,onPivotSortClick:c.PIVOT_SORT_CLICK,onDrillMenuClick:c.DRILLMENU_CLICK,onVChartEventType:c.VCHART_EVENT_TYPE,onChangCellValue:c.CHANGE_CELL_VALUE,onMousedownFillHandle:c.MOUSEDOWN_FILL_HANDLE,onDragFillHandleEnd:c.DRAG_FILL_HANDLE_END,onDblclickFillHandle:c.DBLCLICK_FILL_HANDLE,onScrollVerticalEnd:c.SCROLL_VERTICAL_END,onScrollHorizontalEnd:c.SCROLL_HORIZONTAL_END},p=Object.keys(d);var C=n.defineComponent({__name:"base-table",props:{type:{type:String,required:!1},options:{type:null,required:!1},records:{type:Array,required:!1},width:{type:[Number,String],required:!1,default:"100%"},height:{type:[Number,String],required:!1,default:"100%"},onReady:{type:Function,required:!1},onError:{type:Function,required:!1},onClickCell:{type:null,required:!1},onDblClickCell:{type:null,required:!1},onMouseDownCell:{type:null,required:!1},onMouseUpCell:{type:null,required:!1},onSelectedCell:{type:null,required:!1},onKeyDown:{type:null,required:!1},onMouseEnterTable:{type:null,required:!1},onMouseLeaveTable:{type:null,required:!1},onMouseDownTable:{type:null,required:!1},onMouseMoveCell:{type:null,required:!1},onMouseEnterCell:{type:null,required:!1},onMouseLeaveCell:{type:null,required:!1},onContextMenuCell:{type:null,required:!1},onResizeColumn:{type:null,required:!1},onResizeColumnEnd:{type:null,required:!1},onChangeHeaderPosition:{type:null,required:!1},onSortClick:{type:null,required:!1},onFreezeClick:{type:null,required:!1},onScroll:{type:null,required:!1},onDropdownMenuClick:{type:null,required:!1},onMouseOverChartSymbol:{type:null,required:!1},onDragSelectEnd:{type:null,required:!1},onDropdownIconClick:{type:null,required:!1},onDropdownMenuClear:{type:null,required:!1},onTreeHierarchyStateChange:{type:null,required:!1},onShowMenu:{type:null,required:!1},onHideMenu:{type:null,required:!1},onIconClick:{type:null,required:!1},onLegendItemClick:{type:null,required:!1},onLegendItemHover:{type:null,required:!1},onLegendItemUnHover:{type:null,required:!1},onLegendChange:{type:null,required:!1},onMouseEnterAxis:{type:null,required:!1},onMouseLeaveAxis:{type:null,required:!1},onCheckboxStateChange:{type:null,required:!1},onRadioStateChange:{type:null,required:!1},onAfterRender:{type:null,required:!1},onInitialized:{type:null,required:!1},onPivotSortClick:{type:null,required:!1},onDrillMenuClick:{type:null,required:!1},onVChartEventType:{type:null,required:!1},onChangCellValue:{type:null,required:!1},onMousedownFillHandle:{type:null,required:!1},onDragFillHandleEnd:{type:null,required:!1},onDblclickFillHandle:{type:null,required:!1},onScrollVerticalEnd:{type:null,required:!1},onScrollHorizontalEnd:{type:null,required:!1}},emits:p,setup(e,{expose:t,emit:r}){const l=e,i=n.ref(null),u=n.shallowRef(null);t({vTableInstance:u});const s=n.computed((()=>"number"==typeof l.width?`${l.width}px`:l.width)),a=n.computed((()=>"number"==typeof l.height?`${l.height}px`:l.height)),c=r,C=()=>{if(!i.value)return;u.value&&u.value.release();const e=()=>void 0!==l.records&&null!==l.records&&l.records.length>0?l.records:l.options.records,n=(e,o)=>{u.value=new e(i.value,o)};try{switch(l.type){case"list":n(o.ListTable,{...l.options,records:e()});break;case"pivot":n(o.PivotTable,{...l.options,records:e()});break;case"chart":n(o.PivotChart,{...l.options,records:e()})}t=u.value,p.forEach((e=>{t.on(d[e],(o=>{c(e,o)}))})),l.onReady?.(u.value,!0)}catch(e){}var t},m=e=>{if(u.value)try{switch(l.type){case"list":u.value instanceof o.ListTable&&u.value.updateOption(e);break;case"pivot":u.value instanceof o.PivotTable&&u.value.updateOption(e);break;case"chart":u.value instanceof o.PivotChart&&u.value.updateOption(e)}}catch(e){l.onError?.(e)}};return n.onMounted(C),n.onBeforeUnmount((()=>u.value?.release())),n.watch((()=>l.options),(e=>{u.value?m(e):C()}),{deep:!0}),n.watch((()=>l.records),((e,o)=>{u.value?m({...l.options,records:e}):C()}),{deep:!0}),(e,o)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"vTableContainer",ref:i,style:n.normalizeStyle([{width:s.value,height:a.value},{position:"relative"}])},null,4))}}),m=n.defineComponent({__name:"list-table",props:{options:{type:Object,required:!0},records:{type:Array,required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1}},setup(e,{expose:o}){const t=e,r=n.ref(null),l=n.useSlots(),u=n.computed((()=>{const e=function(e){const o={columns:[],tooltip:{},menu:{}},n={ListColumn:"columns",Tooltip:"tooltip",Menu:"menu"};return e.forEach((e=>{e.props=s(e.props);const t=e.type?.symbol||e.type?.name,r=n[t];var l;r&&("columns"===r&&e.children&&(e.props.customLayout=(l=e.children,e=>{const{table:o,row:n,col:t,rect:r}=e,i=o.getCellOriginRecord(t,n),{height:u,width:s}=r??o.getCellRect(t,n),c=l.customLayout({table:o,row:n,col:t,rect:r,record:i,height:u,width:s})[0],{rootComponent:d}=a(c);return{rootContainer:d,renderDefault:!1}})),Array.isArray(o[r])?o[r].push(e.props):o[r]=e.props)})),o}(i(l.default?.()||[]));return{...t.options,columns:e.columns.length?e.columns:t.options.columns,tooltip:e.tooltip||t.options.tooltip,menu:e.menu||t.options.menu}}));return o({vTableInstance:n.computed((()=>r.value?.vTableInstance||null))}),(e,o)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(C,n.mergeProps({type:"list",options:u.value,records:e.records,width:e.width,height:e.height,ref_key:"baseTableRef",ref:r},e.$attrs),null,16,["options","records","width","height"]),n.renderSlot(e.$slots,"default")],64))}}),y=n.defineComponent({__name:"pivot-table",props:{options:{type:Object,required:!0},records:{type:Array,required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1}},setup(e,{expose:o}){const t=e,r=n.shallowRef(null),l=n.useSlots(),u=n.computed((()=>{const e=i(l.default?.()||[]),o={columns:[],columnHeaderTitle:[],rows:[],rowHeaderTitle:[],indicators:[],corner:Object,tooltip:Object,menu:Object},n={PivotColumnDimension:"columns",PivotColumnHeaderTitle:"columnHeaderTitle",PivotRowDimension:"rows",PivotRowHeaderTitle:"rowHeaderTitle",PivotCorner:"corner",PivotIndicator:"indicators",Tooltip:"tooltip",Menu:"menu"};return e.forEach((e=>{e.props=s(e.props);const t=e.type?.symbol||e.type?.name,r=n[t];r&&(Array.isArray(o[r])?o[r].push(e.props):o[r]=e.props)})),{...t.options,columns:o.columns.length?o.columns:t.options.columns,columnHeaderTitle:o.columnHeaderTitle.length?o.columnHeaderTitle:t.options.columnHeaderTitle,rows:o.rows.length?o.rows:t.options.rows,rowHeaderTitle:o.rowHeaderTitle.length?o.rowHeaderTitle:t.options.rowHeaderTitle,indicators:o.indicators.length?o.indicators:t.options.indicators,corner:t.options.corner||o.corner,tooltip:t.options.tooltip||o.tooltip,menu:t.options.menu||o.menu}}));return o({vTableInstance:n.computed((()=>r.value?.vTableInstance||null))}),(e,o)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(C,n.mergeProps({type:"pivot",options:u.value,records:e.records,width:e.width,height:e.height,ref_key:"baseTableRef",ref:r},e.$attrs),null,16,["options","records","width","height"]),n.renderSlot(e.$slots,"default")],64))}}),E=n.defineComponent({__name:"pivot-chart",props:{options:{type:Object,required:!0},records:{type:Array,required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1}},setup(e,{expose:o}){const t=e,r=n.shallowRef(null),l=n.useSlots(),u=n.computed((()=>{const e=i(l.default?.()||[]),o={columns:[],columnHeaderTitle:[],rows:[],rowHeaderTitle:[],indicators:[],corner:Object,tooltip:Object,menu:Object},n={PivotColumnDimension:"columns",PivotColumnHeaderTitle:"columnHeaderTitle",PivotRowDimension:"rows",PivotRowHeaderTitle:"rowHeaderTitle",PivotCorner:"corner",PivotIndicator:"indicators",Tooltip:"tooltip",Menu:"menu"};return e.forEach((e=>{e.props=s(e.props);const t=e.type?.symbol||e.type?.name,r=n[t];r&&(Array.isArray(o[r])?e.props.hasOwnProperty("objectHandler")?o[r].push(e.props.objectHandler):o[r].push(e.props):o[r]=e.props)})),{...t.options,columns:o.columns.length?o.columns:t.options.columns,columnHeaderTitle:o.columnHeaderTitle.length?o.columnHeaderTitle:t.options.columnHeaderTitle,rows:o.rows.length?o.rows:t.options.rows,rowHeaderTitle:o.rowHeaderTitle.length?o.rowHeaderTitle:t.options.rowHeaderTitle,indicators:o.indicators.length?o.indicators:t.options.indicators,corner:o.corner||t.options.corner,tooltip:o.tooltip||t.options.tooltip,menu:o.menu||t.options.menu}}));return o({vTableInstance:n.computed((()=>r.value?.vTableInstance||null))}),(e,o)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(C,n.mergeProps({type:"chart",options:u.value,records:e.records,width:e.width,height:e.height,ref_key:"baseTableRef",ref:r},e.$attrs),null,16,["options","records","width","height"]),n.renderSlot(e.$slots,"default")],64))}});function h(e){return null}function T(e){return null}function v(e){return null}function b(e){return null}function f(e){return null}function L(e){return null}function g(e){return null}function w(e){return null}function _(e){return null}function H(){return null}function M(){return null}function O(){return null}function S(e){return null}function q(e){return null}function D(e){return null}h.symbol="ListColumn",T.symbol="PivotColumnDimension",v.symbol="PivotRowDimension",b.symbol="PivotColumnHeaderTitle",f.symbol="PivotRowHeaderTitle",L.symbol="PivotIndicator",g.symbol="PivotCorner",w.symbol="Menu",_.symbol="Tooltip",H.symbol="Group",M.symbol="Image",O.symbol="Text",S.symbol="Tag",q.symbol="Radio",D.symbol="CheckBox";e.VTable=l,Object.defineProperty(e,"register",{enumerable:!0,get:function(){return o.register}}),e.CheckBox=D,e.Group=H,e.Image=M,e.ListColumn=h,e.ListTable=m,e.Menu=w,e.PivotChart=E,e.PivotColumnDimension=T,e.PivotColumnHeaderTitle=b,e.PivotCorner=g,e.PivotIndicator=L,e.PivotRowDimension=v,e.PivotRowHeaderTitle=f,e.PivotTable=y,e.Radio=q,e.Tag=S,e.Text=O,e.Tooltip=_,e.registerChartModule=(e,o)=>{l.register.chartModule(e,o)},e.version="1.9.2-alpha.0"}));
|
package/es/index.d.ts
CHANGED
package/es/index.js
CHANGED
|
@@ -21,6 +21,6 @@ export { default as Tag } from './components/custom/tag.js';
|
|
|
21
21
|
export { default as Radio } from './components/custom/radio.js';
|
|
22
22
|
export { default as CheckBox } from './components/custom/checkBox.js';
|
|
23
23
|
|
|
24
|
-
const version = "1.9.0";
|
|
24
|
+
const version = "1.9.2-alpha.0";
|
|
25
25
|
|
|
26
26
|
export { version };
|
|
@@ -232,63 +232,226 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
232
232
|
};
|
|
233
233
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
234
234
|
[key: string]: any;
|
|
235
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<{
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
235
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
236
|
+
type: {
|
|
237
|
+
type: StringConstructor;
|
|
238
|
+
required: false;
|
|
239
|
+
};
|
|
240
|
+
options: {
|
|
241
|
+
type: any;
|
|
242
|
+
required: false;
|
|
243
|
+
};
|
|
244
|
+
records: {
|
|
245
|
+
type: ArrayConstructor;
|
|
246
|
+
required: false;
|
|
247
|
+
};
|
|
248
|
+
width: {
|
|
249
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
250
|
+
required: false;
|
|
251
|
+
default: string;
|
|
252
|
+
};
|
|
253
|
+
height: {
|
|
254
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
255
|
+
required: false;
|
|
256
|
+
default: string;
|
|
257
|
+
};
|
|
258
|
+
onReady: {
|
|
259
|
+
type: FunctionConstructor;
|
|
260
|
+
required: false;
|
|
261
|
+
};
|
|
262
|
+
onError: {
|
|
263
|
+
type: FunctionConstructor;
|
|
264
|
+
required: false;
|
|
265
|
+
};
|
|
266
|
+
onClickCell: {
|
|
267
|
+
type: any;
|
|
268
|
+
required: false;
|
|
269
|
+
};
|
|
270
|
+
onDblClickCell: {
|
|
271
|
+
type: any;
|
|
272
|
+
required: false;
|
|
273
|
+
};
|
|
274
|
+
onMouseDownCell: {
|
|
275
|
+
type: any;
|
|
276
|
+
required: false;
|
|
277
|
+
};
|
|
278
|
+
onMouseUpCell: {
|
|
279
|
+
type: any;
|
|
280
|
+
required: false;
|
|
281
|
+
};
|
|
282
|
+
onSelectedCell: {
|
|
283
|
+
type: any;
|
|
284
|
+
required: false;
|
|
285
|
+
};
|
|
286
|
+
onKeyDown: {
|
|
287
|
+
type: any;
|
|
288
|
+
required: false;
|
|
289
|
+
};
|
|
290
|
+
onMouseEnterTable: {
|
|
291
|
+
type: any;
|
|
292
|
+
required: false;
|
|
293
|
+
};
|
|
294
|
+
onMouseLeaveTable: {
|
|
295
|
+
type: any;
|
|
296
|
+
required: false;
|
|
297
|
+
};
|
|
298
|
+
onMouseDownTable: {
|
|
299
|
+
type: any;
|
|
300
|
+
required: false;
|
|
301
|
+
};
|
|
302
|
+
onMouseMoveCell: {
|
|
303
|
+
type: any;
|
|
304
|
+
required: false;
|
|
305
|
+
};
|
|
306
|
+
onMouseEnterCell: {
|
|
307
|
+
type: any;
|
|
308
|
+
required: false;
|
|
309
|
+
};
|
|
310
|
+
onMouseLeaveCell: {
|
|
311
|
+
type: any;
|
|
312
|
+
required: false;
|
|
313
|
+
};
|
|
314
|
+
onContextMenuCell: {
|
|
315
|
+
type: any;
|
|
316
|
+
required: false;
|
|
317
|
+
};
|
|
318
|
+
onResizeColumn: {
|
|
319
|
+
type: any;
|
|
320
|
+
required: false;
|
|
321
|
+
};
|
|
322
|
+
onResizeColumnEnd: {
|
|
323
|
+
type: any;
|
|
324
|
+
required: false;
|
|
325
|
+
};
|
|
326
|
+
onChangeHeaderPosition: {
|
|
327
|
+
type: any;
|
|
328
|
+
required: false;
|
|
329
|
+
};
|
|
330
|
+
onSortClick: {
|
|
331
|
+
type: any;
|
|
332
|
+
required: false;
|
|
333
|
+
};
|
|
334
|
+
onFreezeClick: {
|
|
335
|
+
type: any;
|
|
336
|
+
required: false;
|
|
337
|
+
};
|
|
338
|
+
onScroll: {
|
|
339
|
+
type: any;
|
|
340
|
+
required: false;
|
|
341
|
+
};
|
|
342
|
+
onDropdownMenuClick: {
|
|
343
|
+
type: any;
|
|
344
|
+
required: false;
|
|
345
|
+
};
|
|
346
|
+
onMouseOverChartSymbol: {
|
|
347
|
+
type: any;
|
|
348
|
+
required: false;
|
|
349
|
+
};
|
|
350
|
+
onDragSelectEnd: {
|
|
351
|
+
type: any;
|
|
352
|
+
required: false;
|
|
353
|
+
};
|
|
354
|
+
onDropdownIconClick: {
|
|
355
|
+
type: any;
|
|
356
|
+
required: false;
|
|
357
|
+
};
|
|
358
|
+
onDropdownMenuClear: {
|
|
359
|
+
type: any;
|
|
360
|
+
required: false;
|
|
361
|
+
};
|
|
362
|
+
onTreeHierarchyStateChange: {
|
|
363
|
+
type: any;
|
|
364
|
+
required: false;
|
|
365
|
+
};
|
|
366
|
+
onShowMenu: {
|
|
367
|
+
type: any;
|
|
368
|
+
required: false;
|
|
369
|
+
};
|
|
370
|
+
onHideMenu: {
|
|
371
|
+
type: any;
|
|
372
|
+
required: false;
|
|
373
|
+
};
|
|
374
|
+
onIconClick: {
|
|
375
|
+
type: any;
|
|
376
|
+
required: false;
|
|
377
|
+
};
|
|
378
|
+
onLegendItemClick: {
|
|
379
|
+
type: any;
|
|
380
|
+
required: false;
|
|
381
|
+
};
|
|
382
|
+
onLegendItemHover: {
|
|
383
|
+
type: any;
|
|
384
|
+
required: false;
|
|
385
|
+
};
|
|
386
|
+
onLegendItemUnHover: {
|
|
387
|
+
type: any;
|
|
388
|
+
required: false;
|
|
389
|
+
};
|
|
390
|
+
onLegendChange: {
|
|
391
|
+
type: any;
|
|
392
|
+
required: false;
|
|
393
|
+
};
|
|
394
|
+
onMouseEnterAxis: {
|
|
395
|
+
type: any;
|
|
396
|
+
required: false;
|
|
397
|
+
};
|
|
398
|
+
onMouseLeaveAxis: {
|
|
399
|
+
type: any;
|
|
400
|
+
required: false;
|
|
401
|
+
};
|
|
402
|
+
onCheckboxStateChange: {
|
|
403
|
+
type: any;
|
|
404
|
+
required: false;
|
|
405
|
+
};
|
|
406
|
+
onRadioStateChange: {
|
|
407
|
+
type: any;
|
|
408
|
+
required: false;
|
|
409
|
+
};
|
|
410
|
+
onAfterRender: {
|
|
411
|
+
type: any;
|
|
412
|
+
required: false;
|
|
413
|
+
};
|
|
414
|
+
onInitialized: {
|
|
415
|
+
type: any;
|
|
416
|
+
required: false;
|
|
417
|
+
};
|
|
418
|
+
onPivotSortClick: {
|
|
419
|
+
type: any;
|
|
420
|
+
required: false;
|
|
421
|
+
};
|
|
422
|
+
onDrillMenuClick: {
|
|
423
|
+
type: any;
|
|
424
|
+
required: false;
|
|
425
|
+
};
|
|
426
|
+
onVChartEventType: {
|
|
427
|
+
type: any;
|
|
428
|
+
required: false;
|
|
429
|
+
};
|
|
430
|
+
onChangCellValue: {
|
|
431
|
+
type: any;
|
|
432
|
+
required: false;
|
|
433
|
+
};
|
|
434
|
+
onMousedownFillHandle: {
|
|
435
|
+
type: any;
|
|
436
|
+
required: false;
|
|
437
|
+
};
|
|
438
|
+
onDragFillHandleEnd: {
|
|
439
|
+
type: any;
|
|
440
|
+
required: false;
|
|
441
|
+
};
|
|
442
|
+
onDblclickFillHandle: {
|
|
443
|
+
type: any;
|
|
444
|
+
required: false;
|
|
445
|
+
};
|
|
446
|
+
onScrollVerticalEnd: {
|
|
447
|
+
type: any;
|
|
448
|
+
required: false;
|
|
449
|
+
};
|
|
450
|
+
onScrollHorizontalEnd: {
|
|
451
|
+
type: any;
|
|
452
|
+
required: false;
|
|
453
|
+
};
|
|
454
|
+
}>> & Readonly<{
|
|
292
455
|
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
293
456
|
}>, {
|
|
294
457
|
options: any;
|
|
@@ -341,5 +504,5 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
341
504
|
onDblclickFillHandle: any;
|
|
342
505
|
onScrollVerticalEnd: any;
|
|
343
506
|
onScrollHorizontalEnd: any;
|
|
344
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}>;
|
|
507
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
345
508
|
export default _default;
|
|
@@ -17,11 +17,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
17
17
|
};
|
|
18
18
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
19
|
[key: string]: any;
|
|
20
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
21
|
-
options:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
options: {
|
|
22
|
+
type: ObjectConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
records: {
|
|
26
|
+
type: ArrayConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
width: {
|
|
30
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
height: {
|
|
34
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
37
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
27
38
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, useSlots, computed, openBlock, createElementBlock, Fragment, createVNode, mergeProps, renderSlot } from 'vue';
|
|
2
|
-
import { flattenVNodes, createCustomLayout } from './utils.js';
|
|
2
|
+
import { flattenVNodes, convertPropsToCamelCase, createCustomLayout } from './utils.js';
|
|
3
3
|
import _sfc_main$1 from './base-table.vue.js';
|
|
4
4
|
|
|
5
5
|
var _sfc_main = defineComponent({
|
|
@@ -33,6 +33,7 @@ var _sfc_main = defineComponent({
|
|
|
33
33
|
};
|
|
34
34
|
vnodes.forEach(vnode => {
|
|
35
35
|
var _a, _b;
|
|
36
|
+
vnode.props = convertPropsToCamelCase(vnode.props);
|
|
36
37
|
const typeName = ((_a = vnode.type) === null || _a === void 0 ? void 0 : _a.symbol) || ((_b = vnode.type) === null || _b === void 0 ? void 0 : _b.name);
|
|
37
38
|
const optionKey = typeMapping[typeName];
|
|
38
39
|
if (optionKey) {
|
|
@@ -17,11 +17,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
17
17
|
};
|
|
18
18
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
19
|
[key: string]: any;
|
|
20
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
21
|
-
options:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
options: {
|
|
22
|
+
type: ObjectConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
records: {
|
|
26
|
+
type: ArrayConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
width: {
|
|
30
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
height: {
|
|
34
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
37
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
27
38
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, shallowRef, useSlots, computed, openBlock, createElementBlock, Fragment, createVNode, mergeProps, renderSlot } from 'vue';
|
|
2
|
-
import { flattenVNodes } from './utils.js';
|
|
2
|
+
import { flattenVNodes, convertPropsToCamelCase } from './utils.js';
|
|
3
3
|
import _sfc_main$1 from './base-table.vue.js';
|
|
4
4
|
|
|
5
5
|
var _sfc_main = defineComponent({
|
|
@@ -39,6 +39,7 @@ var _sfc_main = defineComponent({
|
|
|
39
39
|
};
|
|
40
40
|
flattenedSlots.forEach(vnode => {
|
|
41
41
|
var _a, _b;
|
|
42
|
+
vnode.props = convertPropsToCamelCase(vnode.props);
|
|
42
43
|
const typeName = ((_a = vnode.type) === null || _a === void 0 ? void 0 : _a.symbol) || ((_b = vnode.type) === null || _b === void 0 ? void 0 : _b.name);
|
|
43
44
|
const optionKey = typeMapping[typeName];
|
|
44
45
|
if (optionKey) {
|
|
@@ -17,11 +17,22 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
17
17
|
};
|
|
18
18
|
}>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
19
|
[key: string]: any;
|
|
20
|
-
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
21
|
-
options:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
options: {
|
|
22
|
+
type: ObjectConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
records: {
|
|
26
|
+
type: ArrayConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
width: {
|
|
30
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
height: {
|
|
34
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
37
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
27
38
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, shallowRef, useSlots, computed, openBlock, createElementBlock, Fragment, createVNode, mergeProps, renderSlot } from 'vue';
|
|
2
|
-
import { flattenVNodes } from './utils.js';
|
|
2
|
+
import { flattenVNodes, convertPropsToCamelCase } from './utils.js';
|
|
3
3
|
import _sfc_main$1 from './base-table.vue.js';
|
|
4
4
|
|
|
5
5
|
var _sfc_main = defineComponent({
|
|
@@ -39,6 +39,7 @@ var _sfc_main = defineComponent({
|
|
|
39
39
|
};
|
|
40
40
|
flattenedSlots.forEach(vnode => {
|
|
41
41
|
var _a, _b;
|
|
42
|
+
vnode.props = convertPropsToCamelCase(vnode.props);
|
|
42
43
|
const typeName = ((_a = vnode.type) === null || _a === void 0 ? void 0 : _a.symbol) || ((_b = vnode.type) === null || _b === void 0 ? void 0 : _b.name);
|
|
43
44
|
const optionKey = typeMapping[typeName];
|
|
44
45
|
if (optionKey) {
|
package/es/tables/utils.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export declare function flattenVNodes(vnodes: any[]): any[];
|
|
2
|
+
export declare function toCamelCase(str: string): string;
|
|
3
|
+
export declare function convertPropsToCamelCase(props: Record<string, any>): Record<string, any>;
|
|
2
4
|
export declare function createCustomLayout(children: any): any;
|
package/es/tables/utils.js
CHANGED
|
@@ -4,6 +4,19 @@ import { isFunction } from '@visactor/vutils';
|
|
|
4
4
|
function flattenVNodes(vnodes) {
|
|
5
5
|
return vnodes.flatMap(vnode => (Array.isArray(vnode.children) ? flattenVNodes(vnode.children) : vnode));
|
|
6
6
|
}
|
|
7
|
+
function toCamelCase(str) {
|
|
8
|
+
return str.replace(/-([a-z])/g, g => g[1].toUpperCase());
|
|
9
|
+
}
|
|
10
|
+
function convertPropsToCamelCase(props) {
|
|
11
|
+
const newProps = {};
|
|
12
|
+
for (const key in props) {
|
|
13
|
+
if (props.hasOwnProperty(key)) {
|
|
14
|
+
const camelCaseKey = toCamelCase(key);
|
|
15
|
+
newProps[camelCaseKey] = props[key];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return newProps;
|
|
19
|
+
}
|
|
7
20
|
function isEventProp(key, props) {
|
|
8
21
|
return key.startsWith('on') && isFunction(props[key]);
|
|
9
22
|
}
|
|
@@ -20,7 +33,8 @@ function createCustomLayout(children) {
|
|
|
20
33
|
if (!child) {
|
|
21
34
|
return null;
|
|
22
35
|
}
|
|
23
|
-
const { type,
|
|
36
|
+
const { type, children: childChildren } = child;
|
|
37
|
+
const props = convertPropsToCamelCase(child.props);
|
|
24
38
|
const componentName = (type === null || type === void 0 ? void 0 : type.symbol) || (type === null || type === void 0 ? void 0 : type.name);
|
|
25
39
|
const ComponentClass = componentMap[componentName];
|
|
26
40
|
if (!ComponentClass) {
|
|
@@ -52,7 +66,13 @@ function createCustomLayout(children) {
|
|
|
52
66
|
function bindComponentEvents(component, props) {
|
|
53
67
|
Object.keys(props).forEach(key => {
|
|
54
68
|
if (isEventProp(key, props)) {
|
|
55
|
-
|
|
69
|
+
let eventName;
|
|
70
|
+
if (key.startsWith('on')) {
|
|
71
|
+
eventName = key.slice(2).toLowerCase();
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
eventName = toCamelCase(key.slice(2)).toLowerCase();
|
|
75
|
+
}
|
|
56
76
|
component.addEventListener(eventName, props[key]);
|
|
57
77
|
}
|
|
58
78
|
});
|
|
@@ -60,4 +80,4 @@ function createCustomLayout(children) {
|
|
|
60
80
|
return { rootComponent: createComponent(children) };
|
|
61
81
|
}
|
|
62
82
|
|
|
63
|
-
export { createCustomLayout, flattenVNodes };
|
|
83
|
+
export { convertPropsToCamelCase, createCustomLayout, flattenVNodes, toCamelCase };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vue-vtable",
|
|
3
|
-
"version": "1.9.0",
|
|
3
|
+
"version": "1.9.2-alpha.0",
|
|
4
4
|
"description": "The vue version of VTable",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@visactor/
|
|
47
|
-
"@visactor/
|
|
46
|
+
"@visactor/vtable": "1.9.2-alpha.0",
|
|
47
|
+
"@visactor/vutils": "~0.18.14"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@arco-design/web-vue": "^2.11.0",
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"axios": "^1.4.0",
|
|
88
88
|
"eslint-plugin-vue": "^9.26.0",
|
|
89
89
|
"vue-eslint-parser": "^9.4.2",
|
|
90
|
-
"@internal/bundler": "0.0.1",
|
|
91
90
|
"@internal/eslint-config": "0.0.1",
|
|
91
|
+
"@internal/bundler": "0.0.1",
|
|
92
92
|
"@internal/ts-config": "0.0.1"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|