@vuetify/nightly 3.1.0-dev-20230104.0 → 3.1.0-dev-20230105.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/CHANGELOG.md +3 -2
- package/dist/json/importMap.json +20 -20
- package/dist/vuetify-labs.d.ts +28 -2
- package/dist/vuetify-labs.js +29 -7
- package/dist/vuetify.css +1 -1
- package/dist/vuetify.d.ts +5 -5
- package/dist/vuetify.esm.js +3 -3
- package/dist/vuetify.js +3 -3
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +3 -3
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +5 -5
- package/lib/labs/VDataTable/VDataTable.mjs +5 -2
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +12 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +6 -3
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +28 -2
- package/lib/labs/components.d.ts +28 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# [](https://github.com/vuetifyjs/vuetify/compare/v3.1.0-dev-
|
|
1
|
+
# [](https://github.com/vuetifyjs/vuetify/compare/v3.1.0-dev-20230105.0...v) (2023-01-05)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
# [3.1.0-dev-
|
|
5
|
+
# [3.1.0-dev-20230105.0](https://github.com/vuetifyjs/vuetify/compare/v3.0.6...v3.1.0-dev-20230105.0) (2023-01-05)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
### Bug Fixes
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
* **labs:** add labs export ([#16341](https://github.com/vuetifyjs/vuetify/issues/16341)) ([cd013a9](https://github.com/vuetifyjs/vuetify/commit/cd013a9c3723a2657e11006a82ba153728e4c304))
|
|
20
20
|
* **VBreadcrumbs:** improve DX when using explicit components ([#16229](https://github.com/vuetifyjs/vuetify/issues/16229)) ([a11e937](https://github.com/vuetifyjs/vuetify/commit/a11e937c624ee1bf58ab3a93f9139181f89e0612))
|
|
21
|
+
* **VDataTable:** add click:row event ([a7cc135](https://github.com/vuetifyjs/vuetify/commit/a7cc13513a9677006541db79905897027051012e))
|
|
21
22
|
* **VDataTable:** port to v3 ([#16235](https://github.com/vuetifyjs/vuetify/issues/16235)) ([807e729](https://github.com/vuetifyjs/vuetify/commit/807e7298c2e9e876b89dce8bdec1d218d8e04c26)), closes [#13479](https://github.com/vuetifyjs/vuetify/issues/13479)
|
|
22
23
|
* **VIcon:** allow components in default slot ([#16168](https://github.com/vuetifyjs/vuetify/issues/16168)) ([aa0a697](https://github.com/vuetifyjs/vuetify/commit/aa0a697276f6ff412d9c8c04fa9956d8dee7e0c7)), closes [#15164](https://github.com/vuetifyjs/vuetify/issues/15164)
|
|
23
24
|
* **VNavigationDrawer:** add rail prop v-model support ([#16352](https://github.com/vuetifyjs/vuetify/issues/16352)) ([22f591b](https://github.com/vuetifyjs/vuetify/commit/22f591bfb56ae641eac0090a6db60800595430bd)), closes [#16022](https://github.com/vuetifyjs/vuetify/issues/16022)
|
package/dist/json/importMap.json
CHANGED
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
"from": "components/VDefaultsProvider/index.mjs",
|
|
5
5
|
"styles": []
|
|
6
6
|
},
|
|
7
|
-
"VHover": {
|
|
8
|
-
"from": "components/VHover/index.mjs",
|
|
9
|
-
"styles": []
|
|
10
|
-
},
|
|
11
7
|
"VForm": {
|
|
12
8
|
"from": "components/VForm/index.mjs",
|
|
13
9
|
"styles": []
|
|
@@ -28,6 +24,10 @@
|
|
|
28
24
|
"from": "components/VGrid/index.mjs",
|
|
29
25
|
"styles": []
|
|
30
26
|
},
|
|
27
|
+
"VHover": {
|
|
28
|
+
"from": "components/VHover/index.mjs",
|
|
29
|
+
"styles": []
|
|
30
|
+
},
|
|
31
31
|
"VLayout": {
|
|
32
32
|
"from": "components/VLayout/index.mjs",
|
|
33
33
|
"styles": []
|
|
@@ -52,10 +52,6 @@
|
|
|
52
52
|
"from": "components/VRadio/index.mjs",
|
|
53
53
|
"styles": []
|
|
54
54
|
},
|
|
55
|
-
"VParallax": {
|
|
56
|
-
"from": "components/VParallax/index.mjs",
|
|
57
|
-
"styles": []
|
|
58
|
-
},
|
|
59
55
|
"VRangeSlider": {
|
|
60
56
|
"from": "components/VRangeSlider/index.mjs",
|
|
61
57
|
"styles": []
|
|
@@ -244,10 +240,6 @@
|
|
|
244
240
|
"from": "components/VCarousel/index.mjs",
|
|
245
241
|
"styles": []
|
|
246
242
|
},
|
|
247
|
-
"VChip": {
|
|
248
|
-
"from": "components/VChip/index.mjs",
|
|
249
|
-
"styles": []
|
|
250
|
-
},
|
|
251
243
|
"VCheckbox": {
|
|
252
244
|
"from": "components/VCheckbox/index.mjs",
|
|
253
245
|
"styles": []
|
|
@@ -256,6 +248,10 @@
|
|
|
256
248
|
"from": "components/VCheckbox/index.mjs",
|
|
257
249
|
"styles": []
|
|
258
250
|
},
|
|
251
|
+
"VChip": {
|
|
252
|
+
"from": "components/VChip/index.mjs",
|
|
253
|
+
"styles": []
|
|
254
|
+
},
|
|
259
255
|
"VChipGroup": {
|
|
260
256
|
"from": "components/VChipGroup/index.mjs",
|
|
261
257
|
"styles": []
|
|
@@ -308,14 +304,14 @@
|
|
|
308
304
|
"from": "components/VField/index.mjs",
|
|
309
305
|
"styles": []
|
|
310
306
|
},
|
|
311
|
-
"VFooter": {
|
|
312
|
-
"from": "components/VFooter/index.mjs",
|
|
313
|
-
"styles": []
|
|
314
|
-
},
|
|
315
307
|
"VFileInput": {
|
|
316
308
|
"from": "components/VFileInput/index.mjs",
|
|
317
309
|
"styles": []
|
|
318
310
|
},
|
|
311
|
+
"VFooter": {
|
|
312
|
+
"from": "components/VFooter/index.mjs",
|
|
313
|
+
"styles": []
|
|
314
|
+
},
|
|
319
315
|
"VIcon": {
|
|
320
316
|
"from": "components/VIcon/index.mjs",
|
|
321
317
|
"styles": []
|
|
@@ -492,6 +488,10 @@
|
|
|
492
488
|
"from": "components/VTextarea/index.mjs",
|
|
493
489
|
"styles": []
|
|
494
490
|
},
|
|
491
|
+
"VTextField": {
|
|
492
|
+
"from": "components/VTextField/index.mjs",
|
|
493
|
+
"styles": []
|
|
494
|
+
},
|
|
495
495
|
"VTimeline": {
|
|
496
496
|
"from": "components/VTimeline/index.mjs",
|
|
497
497
|
"styles": []
|
|
@@ -500,10 +500,6 @@
|
|
|
500
500
|
"from": "components/VTimeline/index.mjs",
|
|
501
501
|
"styles": []
|
|
502
502
|
},
|
|
503
|
-
"VTextField": {
|
|
504
|
-
"from": "components/VTextField/index.mjs",
|
|
505
|
-
"styles": []
|
|
506
|
-
},
|
|
507
503
|
"VToolbar": {
|
|
508
504
|
"from": "components/VToolbar/index.mjs",
|
|
509
505
|
"styles": []
|
|
@@ -527,6 +523,10 @@
|
|
|
527
523
|
"VWindowItem": {
|
|
528
524
|
"from": "components/VWindow/index.mjs",
|
|
529
525
|
"styles": []
|
|
526
|
+
},
|
|
527
|
+
"VParallax": {
|
|
528
|
+
"from": "components/VParallax/index.mjs",
|
|
529
|
+
"styles": []
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
532
|
"directives": [
|
package/dist/vuetify-labs.d.ts
CHANGED
|
@@ -145,6 +145,9 @@ declare const VDataTable: vue.DefineComponent<{
|
|
|
145
145
|
'update:options': (value: any) => true;
|
|
146
146
|
'update:groupBy': (value: any) => true;
|
|
147
147
|
'update:expanded': (value: any) => true;
|
|
148
|
+
'click:row': (event: Event, value: {
|
|
149
|
+
item: DataTableItem;
|
|
150
|
+
}) => true;
|
|
148
151
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
149
152
|
customFilter: vue.PropType<FilterFunction>;
|
|
150
153
|
customKeyFilter: vue.PropType<FilterKeyFunctions>;
|
|
@@ -225,6 +228,9 @@ declare const VDataTable: vue.DefineComponent<{
|
|
|
225
228
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
226
229
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
227
230
|
"onUpdate:expanded"?: ((value: any) => any) | undefined;
|
|
231
|
+
"onClick:row"?: ((event: Event, value: {
|
|
232
|
+
item: DataTableItem;
|
|
233
|
+
}) => any) | undefined;
|
|
228
234
|
"onUpdate:page"?: ((value: number) => any) | undefined;
|
|
229
235
|
"onUpdate:itemsPerPage"?: ((value: number) => any) | undefined;
|
|
230
236
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
@@ -273,7 +279,11 @@ declare const VDataTableRows: vue.DefineComponent<{
|
|
|
273
279
|
default: string;
|
|
274
280
|
};
|
|
275
281
|
rowHeight: NumberConstructor;
|
|
276
|
-
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
282
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
283
|
+
'click:row': (event: Event, value: {
|
|
284
|
+
item: DataTableItem;
|
|
285
|
+
}) => true;
|
|
286
|
+
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
277
287
|
loading: (StringConstructor | BooleanConstructor)[];
|
|
278
288
|
loadingText: {
|
|
279
289
|
type: StringConstructor;
|
|
@@ -289,7 +299,11 @@ declare const VDataTableRows: vue.DefineComponent<{
|
|
|
289
299
|
default: string;
|
|
290
300
|
};
|
|
291
301
|
rowHeight: NumberConstructor;
|
|
292
|
-
}
|
|
302
|
+
}>> & {
|
|
303
|
+
"onClick:row"?: ((event: Event, value: {
|
|
304
|
+
item: DataTableItem;
|
|
305
|
+
}) => any) | undefined;
|
|
306
|
+
}, {
|
|
293
307
|
noDataText: string;
|
|
294
308
|
loadingText: string;
|
|
295
309
|
items: InternalDataTableItem[];
|
|
@@ -386,6 +400,9 @@ declare const VDataTableVirtual: vue.DefineComponent<{
|
|
|
386
400
|
'update:options': (value: any) => true;
|
|
387
401
|
'update:groupBy': (value: any) => true;
|
|
388
402
|
'update:expanded': (value: any) => true;
|
|
403
|
+
'click:row': (event: Event, value: {
|
|
404
|
+
item: DataTableItem;
|
|
405
|
+
}) => true;
|
|
389
406
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
390
407
|
customFilter: vue.PropType<FilterFunction>;
|
|
391
408
|
customKeyFilter: vue.PropType<FilterKeyFunctions>;
|
|
@@ -466,6 +483,9 @@ declare const VDataTableVirtual: vue.DefineComponent<{
|
|
|
466
483
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
467
484
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
468
485
|
"onUpdate:expanded"?: ((value: any) => any) | undefined;
|
|
486
|
+
"onClick:row"?: ((event: Event, value: {
|
|
487
|
+
item: DataTableItem;
|
|
488
|
+
}) => any) | undefined;
|
|
469
489
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
470
490
|
"onUpdate:groupBy"?: ((value: any) => any) | undefined;
|
|
471
491
|
}, {
|
|
@@ -573,6 +593,9 @@ declare const VDataTableServer: vue.DefineComponent<{
|
|
|
573
593
|
'update:sortBy': (sortBy: any) => true;
|
|
574
594
|
'update:options': (options: any) => true;
|
|
575
595
|
'update:expanded': (options: any) => true;
|
|
596
|
+
'click:row': (event: Event, value: {
|
|
597
|
+
item: DataTableItem;
|
|
598
|
+
}) => true;
|
|
576
599
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
577
600
|
page: {
|
|
578
601
|
type: (StringConstructor | NumberConstructor)[];
|
|
@@ -647,6 +670,9 @@ declare const VDataTableServer: vue.DefineComponent<{
|
|
|
647
670
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
648
671
|
"onUpdate:sortBy"?: ((sortBy: any) => any) | undefined;
|
|
649
672
|
"onUpdate:expanded"?: ((options: any) => any) | undefined;
|
|
673
|
+
"onClick:row"?: ((event: Event, value: {
|
|
674
|
+
item: DataTableItem;
|
|
675
|
+
}) => any) | undefined;
|
|
650
676
|
"onUpdate:page"?: ((page: number) => any) | undefined;
|
|
651
677
|
"onUpdate:itemsPerPage"?: ((page: number) => any) | undefined;
|
|
652
678
|
"onUpdate:options"?: ((options: any) => any) | undefined;
|
package/dist/vuetify-labs.js
CHANGED
|
@@ -4589,8 +4589,12 @@
|
|
|
4589
4589
|
},
|
|
4590
4590
|
rowHeight: Number
|
|
4591
4591
|
},
|
|
4592
|
+
emits: {
|
|
4593
|
+
'click:row': (event, value) => true
|
|
4594
|
+
},
|
|
4592
4595
|
setup(props, _ref) {
|
|
4593
4596
|
let {
|
|
4597
|
+
emit,
|
|
4594
4598
|
slots
|
|
4595
4599
|
} = _ref;
|
|
4596
4600
|
const {
|
|
@@ -4626,7 +4630,14 @@
|
|
|
4626
4630
|
}
|
|
4627
4631
|
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VDataTableRow, {
|
|
4628
4632
|
"key": `item_${item.value}`,
|
|
4629
|
-
"onClick":
|
|
4633
|
+
"onClick": event => {
|
|
4634
|
+
if (expandOnClick.value) {
|
|
4635
|
+
expand(item, !expanded.value.has(item.value));
|
|
4636
|
+
}
|
|
4637
|
+
emit('click:row', event, {
|
|
4638
|
+
item
|
|
4639
|
+
});
|
|
4640
|
+
},
|
|
4630
4641
|
"item": item
|
|
4631
4642
|
}, slots), expanded.value.has(item.value) && ((_slots$expandedRow = slots['expanded-row']) == null ? void 0 : _slots$expandedRow.call(slots, {
|
|
4632
4643
|
item,
|
|
@@ -9162,10 +9173,12 @@
|
|
|
9162
9173
|
'update:sortBy': value => true,
|
|
9163
9174
|
'update:options': value => true,
|
|
9164
9175
|
'update:groupBy': value => true,
|
|
9165
|
-
'update:expanded': value => true
|
|
9176
|
+
'update:expanded': value => true,
|
|
9177
|
+
'click:row': (event, value) => true
|
|
9166
9178
|
},
|
|
9167
9179
|
setup(props, _ref) {
|
|
9168
9180
|
let {
|
|
9181
|
+
emit,
|
|
9169
9182
|
slots
|
|
9170
9183
|
} = _ref;
|
|
9171
9184
|
const groupBy = useProxiedModel(props, 'groupBy');
|
|
@@ -9240,7 +9253,8 @@
|
|
|
9240
9253
|
"sticky": props.fixedHeader,
|
|
9241
9254
|
"multiSort": props.multiSort
|
|
9242
9255
|
}, slots)]), (_slots$thead = slots.thead) == null ? void 0 : _slots$thead.call(slots), vue.createVNode("tbody", null, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
|
|
9243
|
-
"items": paginatedItems.value
|
|
9256
|
+
"items": paginatedItems.value,
|
|
9257
|
+
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
9244
9258
|
}, slots)]), (_slots$tbody = slots.tbody) == null ? void 0 : _slots$tbody.call(slots), (_slots$tfoot = slots.tfoot) == null ? void 0 : _slots$tfoot.call(slots)]);
|
|
9245
9259
|
},
|
|
9246
9260
|
bottom: slots.bottom ? slots.bottom() : () => vue.createVNode(VDataTableFooter, null, {
|
|
@@ -9351,10 +9365,12 @@
|
|
|
9351
9365
|
'update:sortBy': value => true,
|
|
9352
9366
|
'update:options': value => true,
|
|
9353
9367
|
'update:groupBy': value => true,
|
|
9354
|
-
'update:expanded': value => true
|
|
9368
|
+
'update:expanded': value => true,
|
|
9369
|
+
'click:row': (event, value) => true
|
|
9355
9370
|
},
|
|
9356
9371
|
setup(props, _ref) {
|
|
9357
9372
|
let {
|
|
9373
|
+
emit,
|
|
9358
9374
|
slots
|
|
9359
9375
|
} = _ref;
|
|
9360
9376
|
const groupBy = useProxiedModel(props, 'groupBy');
|
|
@@ -9445,7 +9461,8 @@
|
|
|
9445
9461
|
border: 0
|
|
9446
9462
|
}
|
|
9447
9463
|
}, null)]), vue.createVNode(VDataTableRows, {
|
|
9448
|
-
"items": visibleItems.value
|
|
9464
|
+
"items": visibleItems.value,
|
|
9465
|
+
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
9449
9466
|
}, slots), vue.createVNode("tr", {
|
|
9450
9467
|
"style": {
|
|
9451
9468
|
height: convertToUnit(paddingBottom.value),
|
|
@@ -9463,6 +9480,8 @@
|
|
|
9463
9480
|
}
|
|
9464
9481
|
});
|
|
9465
9482
|
|
|
9483
|
+
// Types
|
|
9484
|
+
|
|
9466
9485
|
const VDataTableServer = defineComponent({
|
|
9467
9486
|
name: 'VDataTableServer',
|
|
9468
9487
|
props: {
|
|
@@ -9487,10 +9506,12 @@
|
|
|
9487
9506
|
'update:itemsPerPage': page => true,
|
|
9488
9507
|
'update:sortBy': sortBy => true,
|
|
9489
9508
|
'update:options': options => true,
|
|
9490
|
-
'update:expanded': options => true
|
|
9509
|
+
'update:expanded': options => true,
|
|
9510
|
+
'click:row': (event, value) => true
|
|
9491
9511
|
},
|
|
9492
9512
|
setup(props, _ref) {
|
|
9493
9513
|
let {
|
|
9514
|
+
emit,
|
|
9494
9515
|
slots
|
|
9495
9516
|
} = _ref;
|
|
9496
9517
|
createExpanded(props);
|
|
@@ -9557,7 +9578,8 @@
|
|
|
9557
9578
|
"class": "v-data-table__tbody",
|
|
9558
9579
|
"role": "rowgroup"
|
|
9559
9580
|
}, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
|
|
9560
|
-
"items": items.value
|
|
9581
|
+
"items": items.value,
|
|
9582
|
+
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
9561
9583
|
}, slots)]), (_slots$tbody = slots.tbody) == null ? void 0 : _slots$tbody.call(slots), (_slots$tfoot = slots.tfoot) == null ? void 0 : _slots$tfoot.call(slots)]);
|
|
9562
9584
|
},
|
|
9563
9585
|
bottom: slots.bottom ? slots.bottom() : () => vue.createVNode(VDataTableFooter, null, {
|
package/dist/vuetify.css
CHANGED
package/dist/vuetify.d.ts
CHANGED
|
@@ -25971,19 +25971,18 @@ declare module '@vue/runtime-core' {
|
|
|
25971
25971
|
|
|
25972
25972
|
export interface GlobalComponents {
|
|
25973
25973
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
25974
|
-
VHover: typeof import('vuetify/components')['VHover']
|
|
25975
25974
|
VForm: typeof import('vuetify/components')['VForm']
|
|
25976
25975
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
25977
25976
|
VCol: typeof import('vuetify/components')['VCol']
|
|
25978
25977
|
VRow: typeof import('vuetify/components')['VRow']
|
|
25979
25978
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
|
25979
|
+
VHover: typeof import('vuetify/components')['VHover']
|
|
25980
25980
|
VLayout: typeof import('vuetify/components')['VLayout']
|
|
25981
25981
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
|
25982
25982
|
VLazy: typeof import('vuetify/components')['VLazy']
|
|
25983
25983
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
|
25984
25984
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
|
25985
25985
|
VRadio: typeof import('vuetify/components')['VRadio']
|
|
25986
|
-
VParallax: typeof import('vuetify/components')['VParallax']
|
|
25987
25986
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
|
25988
25987
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
25989
25988
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
|
@@ -26031,9 +26030,9 @@ declare module '@vue/runtime-core' {
|
|
|
26031
26030
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
26032
26031
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
26033
26032
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
26034
|
-
VChip: typeof import('vuetify/components')['VChip']
|
|
26035
26033
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
26036
26034
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
26035
|
+
VChip: typeof import('vuetify/components')['VChip']
|
|
26037
26036
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
26038
26037
|
VCode: typeof import('vuetify/components')['VCode']
|
|
26039
26038
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
@@ -26047,8 +26046,8 @@ declare module '@vue/runtime-core' {
|
|
|
26047
26046
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
26048
26047
|
VField: typeof import('vuetify/components')['VField']
|
|
26049
26048
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
26050
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
|
26051
26049
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
26050
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
|
26052
26051
|
VIcon: typeof import('vuetify/components')['VIcon']
|
|
26053
26052
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
|
26054
26053
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
@@ -26093,14 +26092,15 @@ declare module '@vue/runtime-core' {
|
|
|
26093
26092
|
VTab: typeof import('vuetify/components')['VTab']
|
|
26094
26093
|
VTable: typeof import('vuetify/components')['VTable']
|
|
26095
26094
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
26095
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
|
26096
26096
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
26097
26097
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
26098
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
|
26099
26098
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
26100
26099
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
26101
26100
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
26102
26101
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
26103
26102
|
VWindow: typeof import('vuetify/components')['VWindow']
|
|
26104
26103
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
26104
|
+
VParallax: typeof import('vuetify/components')['VParallax']
|
|
26105
26105
|
}
|
|
26106
26106
|
}
|
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.0-dev-
|
|
2
|
+
* Vuetify v3.1.0-dev-20230105.0
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -18303,7 +18303,7 @@ function createVuetify$1() {
|
|
|
18303
18303
|
locale
|
|
18304
18304
|
};
|
|
18305
18305
|
}
|
|
18306
|
-
const version$1 = "3.1.0-dev-
|
|
18306
|
+
const version$1 = "3.1.0-dev-20230105.0";
|
|
18307
18307
|
createVuetify$1.version = version$1;
|
|
18308
18308
|
|
|
18309
18309
|
// Vue's inject() can only be used in setup
|
|
@@ -18324,7 +18324,7 @@ const createVuetify = function () {
|
|
|
18324
18324
|
...options
|
|
18325
18325
|
});
|
|
18326
18326
|
};
|
|
18327
|
-
const version = "3.1.0-dev-
|
|
18327
|
+
const version = "3.1.0-dev-20230105.0";
|
|
18328
18328
|
createVuetify.version = version;
|
|
18329
18329
|
|
|
18330
18330
|
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.0-dev-
|
|
2
|
+
* Vuetify v3.1.0-dev-20230105.0
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -18307,7 +18307,7 @@
|
|
|
18307
18307
|
locale
|
|
18308
18308
|
};
|
|
18309
18309
|
}
|
|
18310
|
-
const version$1 = "3.1.0-dev-
|
|
18310
|
+
const version$1 = "3.1.0-dev-20230105.0";
|
|
18311
18311
|
createVuetify$1.version = version$1;
|
|
18312
18312
|
|
|
18313
18313
|
// Vue's inject() can only be used in setup
|
|
@@ -18328,7 +18328,7 @@
|
|
|
18328
18328
|
...options
|
|
18329
18329
|
});
|
|
18330
18330
|
};
|
|
18331
|
-
const version = "3.1.0-dev-
|
|
18331
|
+
const version = "3.1.0-dev-20230105.0";
|
|
18332
18332
|
createVuetify.version = version;
|
|
18333
18333
|
|
|
18334
18334
|
exports.components = components;
|
package/dist/vuetify.min.css
CHANGED
package/dist/vuetify.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.0-dev-
|
|
2
|
+
* Vuetify v3.1.0-dev-20230105.0
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1562,8 +1562,8 @@ e.mount=function(){const a=l(...arguments)
|
|
|
1562
1562
|
return t.nextTick((()=>c.update())),e.mount=l,a}}Le.reset(),e.mixin({computed:{$vuetify(){return t.reactive({defaults:eu.call(this,Pe),display:eu.call(this,$n),theme:eu.call(this,pt),icons:eu.call(this,Ul),locale:eu.call(this,$t)})}}})}
|
|
1563
1563
|
return{install:f,defaults:u,display:c,theme:d,icons:v,locale:p}}function eu(e){var t,l
|
|
1564
1564
|
const a=this.$,o=(null==(t=a.parent)?void 0:t.provides)??(null==(l=a.vnode.appContext)?void 0:l.provides)
|
|
1565
|
-
if(o&&e in o)return o[e]}Qs.version="3.1.0-dev-
|
|
1565
|
+
if(o&&e in o)return o[e]}Qs.version="3.1.0-dev-20230105.0"
|
|
1566
1566
|
const tu=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
|
|
1567
|
-
return Qs({components:Us,directives:Js,...e})},lu="3.1.0-dev-
|
|
1567
|
+
return Qs({components:Us,directives:Js,...e})},lu="3.1.0-dev-20230105.0"
|
|
1568
1568
|
tu.version=lu,e.components=Us,e.createVuetify=tu,e.directives=Js,e.useDisplay=Ln,e.useLayout=lt,e.useLocale=Et,e.useRtl=Tt,e.useTheme=yt,e.version=lu,Object.defineProperty(e,"__esModule",{value:!0})}))
|
|
1569
1569
|
//# sourceMappingURL=vuetify.min.js.map
|
package/lib/entry-bundler.mjs
CHANGED
|
@@ -10,7 +10,7 @@ export const createVuetify = function () {
|
|
|
10
10
|
...options
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
export const version = "3.1.0-dev-
|
|
13
|
+
export const version = "3.1.0-dev-20230105.0";
|
|
14
14
|
createVuetify.version = version;
|
|
15
15
|
export { components, directives };
|
|
16
16
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -315,19 +315,18 @@ declare module '@vue/runtime-core' {
|
|
|
315
315
|
|
|
316
316
|
export interface GlobalComponents {
|
|
317
317
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
318
|
-
VHover: typeof import('vuetify/components')['VHover']
|
|
319
318
|
VForm: typeof import('vuetify/components')['VForm']
|
|
320
319
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
321
320
|
VCol: typeof import('vuetify/components')['VCol']
|
|
322
321
|
VRow: typeof import('vuetify/components')['VRow']
|
|
323
322
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
|
323
|
+
VHover: typeof import('vuetify/components')['VHover']
|
|
324
324
|
VLayout: typeof import('vuetify/components')['VLayout']
|
|
325
325
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
|
326
326
|
VLazy: typeof import('vuetify/components')['VLazy']
|
|
327
327
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
|
328
328
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
|
329
329
|
VRadio: typeof import('vuetify/components')['VRadio']
|
|
330
|
-
VParallax: typeof import('vuetify/components')['VParallax']
|
|
331
330
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
|
332
331
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
333
332
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
|
@@ -375,9 +374,9 @@ declare module '@vue/runtime-core' {
|
|
|
375
374
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
376
375
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
377
376
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
378
|
-
VChip: typeof import('vuetify/components')['VChip']
|
|
379
377
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
380
378
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
379
|
+
VChip: typeof import('vuetify/components')['VChip']
|
|
381
380
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
382
381
|
VCode: typeof import('vuetify/components')['VCode']
|
|
383
382
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
@@ -391,8 +390,8 @@ declare module '@vue/runtime-core' {
|
|
|
391
390
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
392
391
|
VField: typeof import('vuetify/components')['VField']
|
|
393
392
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
394
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
|
395
393
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
394
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
|
396
395
|
VIcon: typeof import('vuetify/components')['VIcon']
|
|
397
396
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
|
398
397
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
@@ -437,14 +436,15 @@ declare module '@vue/runtime-core' {
|
|
|
437
436
|
VTab: typeof import('vuetify/components')['VTab']
|
|
438
437
|
VTable: typeof import('vuetify/components')['VTable']
|
|
439
438
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
439
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
|
440
440
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
441
441
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
442
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
|
443
442
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
444
443
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
445
444
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
446
445
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
447
446
|
VWindow: typeof import('vuetify/components')['VWindow']
|
|
448
447
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
448
|
+
VParallax: typeof import('vuetify/components')['VParallax']
|
|
449
449
|
}
|
|
450
450
|
}
|
|
@@ -52,10 +52,12 @@ export const VDataTable = defineComponent({
|
|
|
52
52
|
'update:sortBy': value => true,
|
|
53
53
|
'update:options': value => true,
|
|
54
54
|
'update:groupBy': value => true,
|
|
55
|
-
'update:expanded': value => true
|
|
55
|
+
'update:expanded': value => true,
|
|
56
|
+
'click:row': (event, value) => true
|
|
56
57
|
},
|
|
57
58
|
setup(props, _ref) {
|
|
58
59
|
let {
|
|
60
|
+
emit,
|
|
59
61
|
slots
|
|
60
62
|
} = _ref;
|
|
61
63
|
const groupBy = useProxiedModel(props, 'groupBy');
|
|
@@ -130,7 +132,8 @@ export const VDataTable = defineComponent({
|
|
|
130
132
|
"sticky": props.fixedHeader,
|
|
131
133
|
"multiSort": props.multiSort
|
|
132
134
|
}, slots)]), (_slots$thead = slots.thead) == null ? void 0 : _slots$thead.call(slots), _createVNode("tbody", null, [slots.body ? slots.body() : _createVNode(VDataTableRows, {
|
|
133
|
-
"items": paginatedItems.value
|
|
135
|
+
"items": paginatedItems.value,
|
|
136
|
+
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
134
137
|
}, slots)]), (_slots$tbody = slots.tbody) == null ? void 0 : _slots$tbody.call(slots), (_slots$tfoot = slots.tfoot) == null ? void 0 : _slots$tfoot.call(slots)]);
|
|
135
138
|
},
|
|
136
139
|
bottom: slots.bottom ? slots.bottom() : () => _createVNode(VDataTableFooter, null, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","useProxiedModel","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","useSortedItems","createGroupBy","makeDataTableGroupProps","useGroupedItems","createPagination","makeDataTablePaginateProps","usePaginatedItems","createSelection","makeDataTableSelectProps","createExpanded","makeDataTableExpandProps","useOptions","provideDefaults","computed","toRef","defineComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","VDataTable","name","props","search","emits","value","setup","slots","groupBy","columns","showSelect","showExpand","items","filteredItems","sortBy","sortByWithGroups","opened","extractRows","sortedItems","flatItems","page","itemsPerPage","startIndex","stopIndex","pageCount","paginatedItems","paginatedItemsWithoutGroups","top","colgroup","headers","multiSort","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, usePaginatedItems } from './composables/paginate'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { DataTableItem } from './types'\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n}, 'v-data-table')\n\nexport const VDataTable = defineComponent({\n name: 'VDataTable',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { filteredItems } = useFilter<DataTableItem>(props, items, toRef(props, 'search'))\n\n const { sortBy } = createSort(props)\n const { sortByWithGroups, opened, extractRows } = createGroupBy(props, groupBy, sortBy)\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const { page, itemsPerPage, startIndex, stopIndex, pageCount } = createPagination(props, flatItems)\n const { paginatedItems } = usePaginatedItems(flatItems, startIndex, stopIndex, itemsPerPage)\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n createSelection(props, paginatedItemsWithoutGroups)\n\n createExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n pageCount,\n startIndex,\n stopIndex,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ? slots.default() : () => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n ) }\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n v-slots={ slots }\n />\n ) }\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n ),\n bottom: slots.bottom ? slots.bottom() : () => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n ),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","useProxiedModel","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","useSortedItems","createGroupBy","makeDataTableGroupProps","useGroupedItems","createPagination","makeDataTablePaginateProps","usePaginatedItems","createSelection","makeDataTableSelectProps","createExpanded","makeDataTableExpandProps","useOptions","provideDefaults","computed","toRef","defineComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","VDataTable","name","props","search","emits","value","event","setup","emit","slots","groupBy","columns","showSelect","showExpand","items","filteredItems","sortBy","sortByWithGroups","opened","extractRows","sortedItems","flatItems","page","itemsPerPage","startIndex","stopIndex","pageCount","paginatedItems","paginatedItemsWithoutGroups","top","colgroup","headers","multiSort","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, usePaginatedItems } from './composables/paginate'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { DataTableItem } from './types'\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n}, 'v-data-table')\n\nexport const VDataTable = defineComponent({\n name: 'VDataTable',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { filteredItems } = useFilter<DataTableItem>(props, items, toRef(props, 'search'))\n\n const { sortBy } = createSort(props)\n const { sortByWithGroups, opened, extractRows } = createGroupBy(props, groupBy, sortBy)\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const { page, itemsPerPage, startIndex, stopIndex, pageCount } = createPagination(props, flatItems)\n const { paginatedItems } = usePaginatedItems(flatItems, startIndex, stopIndex, itemsPerPage)\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n createSelection(props, paginatedItemsWithoutGroups)\n\n createExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n pageCount,\n startIndex,\n stopIndex,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ? slots.default() : () => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n ) }\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n ) }\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n ),\n bottom: slots.bottom ? slots.bottom() : () => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n ),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
|
|
@@ -25,8 +25,12 @@ export const VDataTableRows = defineComponent({
|
|
|
25
25
|
},
|
|
26
26
|
rowHeight: Number
|
|
27
27
|
},
|
|
28
|
+
emits: {
|
|
29
|
+
'click:row': (event, value) => true
|
|
30
|
+
},
|
|
28
31
|
setup(props, _ref) {
|
|
29
32
|
let {
|
|
33
|
+
emit,
|
|
30
34
|
slots
|
|
31
35
|
} = _ref;
|
|
32
36
|
const {
|
|
@@ -62,7 +66,14 @@ export const VDataTableRows = defineComponent({
|
|
|
62
66
|
}
|
|
63
67
|
return _createVNode(_Fragment, null, [_createVNode(VDataTableRow, {
|
|
64
68
|
"key": `item_${item.value}`,
|
|
65
|
-
"onClick":
|
|
69
|
+
"onClick": event => {
|
|
70
|
+
if (expandOnClick.value) {
|
|
71
|
+
expand(item, !expanded.value.has(item.value));
|
|
72
|
+
}
|
|
73
|
+
emit('click:row', event, {
|
|
74
|
+
item
|
|
75
|
+
});
|
|
76
|
+
},
|
|
66
77
|
"item": item
|
|
67
78
|
}, slots), expanded.value.has(item.value) && ((_slots$expandedRow = slots['expanded-row']) == null ? void 0 : _slots$expandedRow.call(slots, {
|
|
68
79
|
item,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useHeaders","useLocale","defineComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","setup","slots","columns","expanded","expand","expandOnClick","t","undefined","length","map","item","index","id","
|
|
1
|
+
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useHeaders","useLocale","defineComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","emits","event","value","setup","emit","slots","columns","expanded","expand","expandOnClick","t","undefined","length","map","item","index","id","has"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem, InternalDataTableItem } from './types'\n\nexport const VDataTableRows = defineComponent({\n name: 'VDataTableRows',\n\n props: {\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n },\n\n emits: {\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expanded, expand, expandOnClick } = useExpanded()\n const { t } = useLocale()\n\n useRender(() => (\n <>\n { props.loading ? slots.loading?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"loading\"\n >\n { t(props.loadingText) }\n </VDataTableRow>\n ) : undefined }\n\n { !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n { t(props.noDataText) }\n </VDataTableRow>\n )) }\n\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n return (\n <>\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ (event: Event) => {\n if (expandOnClick.value) {\n expand(item, !expanded.value.has(item.value))\n }\n\n emit('click:row', event, { item })\n } }\n item={ item }\n v-slots={ slots }\n />\n\n { expanded.value.has(item.value) && slots['expanded-row']?.({ item, columns: columns.value }) }\n </>\n )\n }) }\n </>\n ))\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":";AAAA;AAAA,SACSA,wBAAwB;AAAA,SACxBC,aAAa,+BAEtB;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,SAAS,wCAElB;AAAA,SACSC,eAAe,EAAEC,SAAS,gCAEnC;AAIA,OAAO,MAAMC,cAAc,GAAGF,eAAe,CAAC;EAC5CG,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAE;IACLC,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM,CAAC;IAC1BC,WAAW,EAAE;MACXC,IAAI,EAAEF,MAAM;MACZG,OAAO,EAAE;IACX,CAAC;IACDC,UAAU,EAAEL,OAAO;IACnBM,KAAK,EAAE;MACLH,IAAI,EAAEI,KAA0C;MAChDH,OAAO,EAAE,MAAO;IAClB,CAAC;IACDI,UAAU,EAAE;MACVL,IAAI,EAAEF,MAAM;MACZG,OAAO,EAAE;IACX,CAAC;IACDK,SAAS,EAAEC;EACb,CAAC;EAEDC,KAAK,EAAE;IACL,WAAW,EAAE,CAACC,KAAY,EAAEC,KAA8B,KAAK;EACjE,CAAC;EAEDC,KAAK,CAAEhB,KAAK,QAAmB;IAAA,IAAjB;MAAEiB,IAAI;MAAEC;IAAM,CAAC;IAC3B,MAAM;MAAEC;IAAQ,CAAC,GAAGzB,UAAU,EAAE;IAChC,MAAM;MAAE0B,QAAQ;MAAEC,MAAM;MAAEC;IAAc,CAAC,GAAG7B,WAAW,EAAE;IACzD,MAAM;MAAE8B;IAAE,CAAC,GAAG5B,SAAS,EAAE;IAEzBE,SAAS,CAAC;MAAA;MAAA,sCAEJG,KAAK,CAACC,OAAO,GAAG,mBAAAiB,KAAK,CAACjB,OAAO,qBAAb,oBAAAiB,KAAK,CAAY;QAAA,SAEzB,2BAA2B;QAAA,OAC7B;MAAS;QAAA,gBAEXK,CAAC,CAACvB,KAAK,CAACI,WAAW,CAAC;MAAA,EAEzB,GAAGoB,SAAS,EAEX,CAACxB,KAAK,CAACC,OAAO,IAAI,CAACD,KAAK,CAACQ,KAAK,CAACiB,MAAM,IAAI,CAACzB,KAAK,CAACO,UAAU,KAAK,kBAAAW,KAAK,CAAC,SAAS,CAAC,qBAAhB,mBAAAA,KAAK,CAAe;QAAA,SAE3E,2BAA2B;QAAA,OAC7B;MAAS;QAAA,gBAEXK,CAAC,CAACvB,KAAK,CAACU,UAAU,CAAC;MAAA,EAExB,CAAC,EAEAV,KAAK,CAACQ,KAAK,CAACkB,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;QAAA;QACjC,IAAID,IAAI,CAACtB,IAAI,KAAK,cAAc,EAAE;UAChC;YAAA,OAEW,gBAAesB,IAAI,CAACE,EAAG,EAAC;YAAA,QACxBF;UAAI,GACDT,KAAK;QAGrB;QAEA;UAAA,OAGa,QAAOS,IAAI,CAACZ,KAAM,EAAC;UAAA,WACfD,KAAY,IAAK;YAC1B,IAAIQ,aAAa,CAACP,KAAK,EAAE;cACvBM,MAAM,CAACM,IAAI,EAAE,CAACP,QAAQ,CAACL,KAAK,CAACe,GAAG,CAACH,IAAI,CAACZ,KAAK,CAAC,CAAC;YAC/C;YAEAE,IAAI,CAAC,WAAW,EAAEH,KAAK,EAAE;cAAEa;YAAK,CAAC,CAAC;UACpC,CAAC;UAAA,QACMA;QAAI,GACDT,KAAK,GAGfE,QAAQ,CAACL,KAAK,CAACe,GAAG,CAACH,IAAI,CAACZ,KAAK,CAAC,2BAAIG,KAAK,CAAC,cAAc,CAAC,qBAArB,wBAAAA,KAAK,EAAmB;UAAES,IAAI;UAAER,OAAO,EAAEA,OAAO,CAACJ;QAAM,CAAC,CAAC;MAGnG,CAAC,CAAC;IAAA,CAEL,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -14,7 +14,7 @@ import { useOptions } from "./composables/options.mjs";
|
|
|
14
14
|
import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
|
|
15
15
|
import { provide, toRef } from 'vue';
|
|
16
16
|
import { defineComponent, useRender } from "../../util/index.mjs";
|
|
17
|
-
import { makeVDataTableProps } from "./VDataTable.mjs";
|
|
17
|
+
import { makeVDataTableProps } from "./VDataTable.mjs"; // Types
|
|
18
18
|
export const VDataTableServer = defineComponent({
|
|
19
19
|
name: 'VDataTableServer',
|
|
20
20
|
props: {
|
|
@@ -39,10 +39,12 @@ export const VDataTableServer = defineComponent({
|
|
|
39
39
|
'update:itemsPerPage': page => true,
|
|
40
40
|
'update:sortBy': sortBy => true,
|
|
41
41
|
'update:options': options => true,
|
|
42
|
-
'update:expanded': options => true
|
|
42
|
+
'update:expanded': options => true,
|
|
43
|
+
'click:row': (event, value) => true
|
|
43
44
|
},
|
|
44
45
|
setup(props, _ref) {
|
|
45
46
|
let {
|
|
47
|
+
emit,
|
|
46
48
|
slots
|
|
47
49
|
} = _ref;
|
|
48
50
|
createExpanded(props);
|
|
@@ -109,7 +111,8 @@ export const VDataTableServer = defineComponent({
|
|
|
109
111
|
"class": "v-data-table__tbody",
|
|
110
112
|
"role": "rowgroup"
|
|
111
113
|
}, [slots.body ? slots.body() : _createVNode(VDataTableRows, {
|
|
112
|
-
"items": items.value
|
|
114
|
+
"items": items.value,
|
|
115
|
+
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
113
116
|
}, slots)]), (_slots$tbody = slots.tbody) == null ? void 0 : _slots$tbody.call(slots), (_slots$tfoot = slots.tfoot) == null ? void 0 : _slots$tfoot.call(slots)]);
|
|
114
117
|
},
|
|
115
118
|
bottom: slots.bottom ? slots.bottom() : () => _createVNode(VDataTableFooter, null, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableServer.mjs","names":["VTable","VDataTableFooter","VDataTableHeaders","VDataTableRows","createExpanded","makeDataTableExpandProps","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","createSort","makeDataTableSortProps","createPagination","makeDataTablePaginateProps","createSelection","makeDataTableSelectProps","useOptions","provideDefaults","provide","toRef","defineComponent","useRender","makeVDataTableProps","VDataTableServer","name","props","color","String","loading","Boolean","loadingText","type","default","itemsLength","Number","emits","value","page","sortBy","options","setup","slots","columns","showSelect","showExpand","items","toggleSort","itemsPerPage","startIndex","stopIndex","pageCount","hideNoData","noDataText","fixedHeader","fixedFooter","height","top","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createSort, makeDataTableSortProps } from './composables/sort'\nimport { createPagination, makeDataTablePaginateProps } from './composables/paginate'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { provide, toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\nexport const VDataTableServer = defineComponent({\n name: 'VDataTableServer',\n\n props: {\n color: String,\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n itemsLength: [Number, String],\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n },\n\n setup (props, { slots }) {\n createExpanded(props)\n\n const { columns } = createHeaders(props, {\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { sortBy, toggleSort } = createSort(props)\n\n const { page, itemsPerPage, startIndex, stopIndex, pageCount } = createPagination(props, items)\n\n createSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n startIndex,\n stopIndex,\n pageCount,\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ? slots.default() : () => (\n <>\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n loading={ props.loading }\n color={ props.color }\n />\n ) }\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ items.value }\n v-slots={ slots }\n />\n ) }\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n ),\n bottom: slots.bottom ? slots.bottom() : () => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n ),\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":";AAAA;AAAA,SACSA,MAAM;AAAA,SACNC,gBAAgB;AAAA,SAChBC,iBAAiB;AAAA,SACjBC,cAAc,gCAEvB;AAAA,SACSC,cAAc,EAAEC,wBAAwB;AAAA,SACxCC,aAAa,EAAEC,wBAAwB;AAAA,SACvCC,sBAAsB,EAAEC,iBAAiB;AAAA,SACzCC,UAAU,EAAEC,sBAAsB;AAAA,SAClCC,gBAAgB,EAAEC,0BAA0B;AAAA,SAC5CC,eAAe,EAAEC,wBAAwB;AAAA,SACzCC,UAAU;AAAA,SACVC,eAAe,0CAExB;AACA,SAASC,OAAO,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC3BC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"VDataTableServer.mjs","names":["VTable","VDataTableFooter","VDataTableHeaders","VDataTableRows","createExpanded","makeDataTableExpandProps","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","createSort","makeDataTableSortProps","createPagination","makeDataTablePaginateProps","createSelection","makeDataTableSelectProps","useOptions","provideDefaults","provide","toRef","defineComponent","useRender","makeVDataTableProps","VDataTableServer","name","props","color","String","loading","Boolean","loadingText","type","default","itemsLength","Number","emits","value","page","sortBy","options","event","setup","emit","slots","columns","showSelect","showExpand","items","toggleSort","itemsPerPage","startIndex","stopIndex","pageCount","hideNoData","noDataText","fixedHeader","fixedFooter","height","top","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createSort, makeDataTableSortProps } from './composables/sort'\nimport { createPagination, makeDataTablePaginateProps } from './composables/paginate'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { provide, toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\n\nexport const VDataTableServer = defineComponent({\n name: 'VDataTableServer',\n\n props: {\n color: String,\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n itemsLength: [Number, String],\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n createExpanded(props)\n\n const { columns } = createHeaders(props, {\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { sortBy, toggleSort } = createSort(props)\n\n const { page, itemsPerPage, startIndex, stopIndex, pageCount } = createPagination(props, items)\n\n createSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n startIndex,\n stopIndex,\n pageCount,\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ? slots.default() : () => (\n <>\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n loading={ props.loading }\n color={ props.color }\n />\n ) }\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ items.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n ) }\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n ),\n bottom: slots.bottom ? slots.bottom() : () => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n ),\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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"}
|
|
@@ -37,10 +37,12 @@ export const VDataTableVirtual = defineComponent({
|
|
|
37
37
|
'update:sortBy': value => true,
|
|
38
38
|
'update:options': value => true,
|
|
39
39
|
'update:groupBy': value => true,
|
|
40
|
-
'update:expanded': value => true
|
|
40
|
+
'update:expanded': value => true,
|
|
41
|
+
'click:row': (event, value) => true
|
|
41
42
|
},
|
|
42
43
|
setup(props, _ref) {
|
|
43
44
|
let {
|
|
45
|
+
emit,
|
|
44
46
|
slots
|
|
45
47
|
} = _ref;
|
|
46
48
|
const groupBy = useProxiedModel(props, 'groupBy');
|
|
@@ -131,7 +133,8 @@ export const VDataTableVirtual = defineComponent({
|
|
|
131
133
|
border: 0
|
|
132
134
|
}
|
|
133
135
|
}, null)]), _createVNode(VDataTableRows, {
|
|
134
|
-
"items": visibleItems.value
|
|
136
|
+
"items": visibleItems.value,
|
|
137
|
+
"onClick:row": (event, value) => emit('click:row', event, value)
|
|
135
138
|
}, slots), _createVNode("tr", {
|
|
136
139
|
"style": {
|
|
137
140
|
height: convertToUnit(paddingBottom.value),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableVirtual.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","useProxiedModel","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","createExpanded","makeDataTableExpandProps","createSort","makeDataTableSortProps","useSortedItems","createGroupBy","makeDataTableGroupProps","useGroupedItems","createSelection","makeDataTableSelectProps","makeDataTableVirtualProps","useVirtual","useOptions","makeFilterProps","useFilter","provideDefaults","computed","ref","toRef","convertToUnit","defineComponent","useRender","makeVDataTableProps","VDataTableVirtual","name","props","search","String","emits","value","setup","slots","groupBy","columns","showSelect","showExpand","items","filteredItems","sortBy","sortByWithGroups","opened","extractRows","sortedItems","flatItems","allRows","containerRef","paddingTop","paddingBottom","startIndex","stopIndex","itemHeight","handleScroll","visibleItems","slice","page","length","pageCount","itemsPerPage","hideNoData","noDataText","height","fixedHeader","top","wrapper","multiSort","border","bottom"],"sources":["../../../src/labs/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createSort, makeDataTableSortProps, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { makeDataTableVirtualProps, useVirtual } from './composables/virtual'\nimport { useOptions } from './composables/options'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utlities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\n\nexport const VDataTableVirtual = defineComponent({\n name: 'VDataTableVirtual',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeVDataTableProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTableVirtualProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n const { items } = useDataTableItems(props, columns)\n\n const { filteredItems } = useFilter<DataTableItem>(props, items, toRef(props, 'search'))\n\n const { sortBy } = createSort(props)\n const { sortByWithGroups, opened, extractRows } = createGroupBy(props, groupBy, sortBy)\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allRows = computed(() => extractRows(flatItems.value))\n\n createSelection(props, allRows)\n createExpanded(props)\n\n const {\n containerRef,\n paddingTop,\n paddingBottom,\n startIndex,\n stopIndex,\n itemHeight,\n handleScroll,\n } = useVirtual(props, flatItems)\n\n const visibleItems = computed(() => {\n return flatItems.value.slice(startIndex.value, stopIndex.value)\n })\n\n useOptions({\n sortBy,\n page: ref(1),\n startIndex: ref(0),\n stopIndex: computed(() => flatItems.value.length - 1),\n pageCount: ref(1),\n itemsPerPage: ref(-1),\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class=\"v-data-table\"\n style={{\n '--v-table-row-height': convertToUnit(itemHeight.value),\n }}\n height={ props.height }\n fixedHeader={ props.fixedHeader }\n >\n {{\n top: slots.top,\n wrapper: () => (\n <div\n ref={ containerRef }\n onScroll={ handleScroll }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n <thead>\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n </thead>\n <tbody>\n <tr style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingTop.value), border: 0 }}></td>\n </tr>\n\n <VDataTableRows\n items={visibleItems.value}\n v-slots={ slots }\n />\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingBottom.value), border: 0 }}></td>\n </tr>\n </tbody>\n </table>\n </div>\n ),\n bottom: slots.bottom,\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VDataTableVirtual.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","useProxiedModel","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","createExpanded","makeDataTableExpandProps","createSort","makeDataTableSortProps","useSortedItems","createGroupBy","makeDataTableGroupProps","useGroupedItems","createSelection","makeDataTableSelectProps","makeDataTableVirtualProps","useVirtual","useOptions","makeFilterProps","useFilter","provideDefaults","computed","ref","toRef","convertToUnit","defineComponent","useRender","makeVDataTableProps","VDataTableVirtual","name","props","search","String","emits","value","event","setup","emit","slots","groupBy","columns","showSelect","showExpand","items","filteredItems","sortBy","sortByWithGroups","opened","extractRows","sortedItems","flatItems","allRows","containerRef","paddingTop","paddingBottom","startIndex","stopIndex","itemHeight","handleScroll","visibleItems","slice","page","length","pageCount","itemsPerPage","hideNoData","noDataText","height","fixedHeader","top","wrapper","multiSort","border","bottom"],"sources":["../../../src/labs/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createExpanded, makeDataTableExpandProps } from './composables/expand'\nimport { createSort, makeDataTableSortProps, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, useGroupedItems } from './composables/group'\nimport { createSelection, makeDataTableSelectProps } from './composables/select'\nimport { makeDataTableVirtualProps, useVirtual } from './composables/virtual'\nimport { useOptions } from './composables/options'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utlities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\n\nexport const VDataTableVirtual = defineComponent({\n name: 'VDataTableVirtual',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeVDataTableProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTableVirtualProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const groupBy = useProxiedModel(props, 'groupBy')\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n const { items } = useDataTableItems(props, columns)\n\n const { filteredItems } = useFilter<DataTableItem>(props, items, toRef(props, 'search'))\n\n const { sortBy } = createSort(props)\n const { sortByWithGroups, opened, extractRows } = createGroupBy(props, groupBy, sortBy)\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allRows = computed(() => extractRows(flatItems.value))\n\n createSelection(props, allRows)\n createExpanded(props)\n\n const {\n containerRef,\n paddingTop,\n paddingBottom,\n startIndex,\n stopIndex,\n itemHeight,\n handleScroll,\n } = useVirtual(props, flatItems)\n\n const visibleItems = computed(() => {\n return flatItems.value.slice(startIndex.value, stopIndex.value)\n })\n\n useOptions({\n sortBy,\n page: ref(1),\n startIndex: ref(0),\n stopIndex: computed(() => flatItems.value.length - 1),\n pageCount: ref(1),\n itemsPerPage: ref(-1),\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class=\"v-data-table\"\n style={{\n '--v-table-row-height': convertToUnit(itemHeight.value),\n }}\n height={ props.height }\n fixedHeader={ props.fixedHeader }\n >\n {{\n top: slots.top,\n wrapper: () => (\n <div\n ref={ containerRef }\n onScroll={ handleScroll }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n <thead>\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n </thead>\n <tbody>\n <tr style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingTop.value), border: 0 }}></td>\n </tr>\n\n <VDataTableRows\n items={visibleItems.value}\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={columns.value.length} style={{ height: convertToUnit(paddingBottom.value), border: 0 }}></td>\n </tr>\n </tbody>\n </table>\n </div>\n ),\n bottom: slots.bottom,\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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"}
|
|
@@ -145,6 +145,9 @@ declare const VDataTable: vue.DefineComponent<{
|
|
|
145
145
|
'update:options': (value: any) => true;
|
|
146
146
|
'update:groupBy': (value: any) => true;
|
|
147
147
|
'update:expanded': (value: any) => true;
|
|
148
|
+
'click:row': (event: Event, value: {
|
|
149
|
+
item: DataTableItem;
|
|
150
|
+
}) => true;
|
|
148
151
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
149
152
|
customFilter: vue.PropType<FilterFunction>;
|
|
150
153
|
customKeyFilter: vue.PropType<FilterKeyFunctions>;
|
|
@@ -225,6 +228,9 @@ declare const VDataTable: vue.DefineComponent<{
|
|
|
225
228
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
226
229
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
227
230
|
"onUpdate:expanded"?: ((value: any) => any) | undefined;
|
|
231
|
+
"onClick:row"?: ((event: Event, value: {
|
|
232
|
+
item: DataTableItem;
|
|
233
|
+
}) => any) | undefined;
|
|
228
234
|
"onUpdate:page"?: ((value: number) => any) | undefined;
|
|
229
235
|
"onUpdate:itemsPerPage"?: ((value: number) => any) | undefined;
|
|
230
236
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
@@ -273,7 +279,11 @@ declare const VDataTableRows: vue.DefineComponent<{
|
|
|
273
279
|
default: string;
|
|
274
280
|
};
|
|
275
281
|
rowHeight: NumberConstructor;
|
|
276
|
-
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
282
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
283
|
+
'click:row': (event: Event, value: {
|
|
284
|
+
item: DataTableItem;
|
|
285
|
+
}) => true;
|
|
286
|
+
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
277
287
|
loading: (StringConstructor | BooleanConstructor)[];
|
|
278
288
|
loadingText: {
|
|
279
289
|
type: StringConstructor;
|
|
@@ -289,7 +299,11 @@ declare const VDataTableRows: vue.DefineComponent<{
|
|
|
289
299
|
default: string;
|
|
290
300
|
};
|
|
291
301
|
rowHeight: NumberConstructor;
|
|
292
|
-
}
|
|
302
|
+
}>> & {
|
|
303
|
+
"onClick:row"?: ((event: Event, value: {
|
|
304
|
+
item: DataTableItem;
|
|
305
|
+
}) => any) | undefined;
|
|
306
|
+
}, {
|
|
293
307
|
noDataText: string;
|
|
294
308
|
loadingText: string;
|
|
295
309
|
items: InternalDataTableItem[];
|
|
@@ -386,6 +400,9 @@ declare const VDataTableVirtual: vue.DefineComponent<{
|
|
|
386
400
|
'update:options': (value: any) => true;
|
|
387
401
|
'update:groupBy': (value: any) => true;
|
|
388
402
|
'update:expanded': (value: any) => true;
|
|
403
|
+
'click:row': (event: Event, value: {
|
|
404
|
+
item: DataTableItem;
|
|
405
|
+
}) => true;
|
|
389
406
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
390
407
|
customFilter: vue.PropType<FilterFunction>;
|
|
391
408
|
customKeyFilter: vue.PropType<FilterKeyFunctions>;
|
|
@@ -466,6 +483,9 @@ declare const VDataTableVirtual: vue.DefineComponent<{
|
|
|
466
483
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
467
484
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
468
485
|
"onUpdate:expanded"?: ((value: any) => any) | undefined;
|
|
486
|
+
"onClick:row"?: ((event: Event, value: {
|
|
487
|
+
item: DataTableItem;
|
|
488
|
+
}) => any) | undefined;
|
|
469
489
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
470
490
|
"onUpdate:groupBy"?: ((value: any) => any) | undefined;
|
|
471
491
|
}, {
|
|
@@ -573,6 +593,9 @@ declare const VDataTableServer: vue.DefineComponent<{
|
|
|
573
593
|
'update:sortBy': (sortBy: any) => true;
|
|
574
594
|
'update:options': (options: any) => true;
|
|
575
595
|
'update:expanded': (options: any) => true;
|
|
596
|
+
'click:row': (event: Event, value: {
|
|
597
|
+
item: DataTableItem;
|
|
598
|
+
}) => true;
|
|
576
599
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
577
600
|
page: {
|
|
578
601
|
type: (StringConstructor | NumberConstructor)[];
|
|
@@ -647,6 +670,9 @@ declare const VDataTableServer: vue.DefineComponent<{
|
|
|
647
670
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
648
671
|
"onUpdate:sortBy"?: ((sortBy: any) => any) | undefined;
|
|
649
672
|
"onUpdate:expanded"?: ((options: any) => any) | undefined;
|
|
673
|
+
"onClick:row"?: ((event: Event, value: {
|
|
674
|
+
item: DataTableItem;
|
|
675
|
+
}) => any) | undefined;
|
|
650
676
|
"onUpdate:page"?: ((page: number) => any) | undefined;
|
|
651
677
|
"onUpdate:itemsPerPage"?: ((page: number) => any) | undefined;
|
|
652
678
|
"onUpdate:options"?: ((options: any) => any) | undefined;
|
package/lib/labs/components.d.ts
CHANGED
|
@@ -145,6 +145,9 @@ declare const VDataTable: vue.DefineComponent<{
|
|
|
145
145
|
'update:options': (value: any) => true;
|
|
146
146
|
'update:groupBy': (value: any) => true;
|
|
147
147
|
'update:expanded': (value: any) => true;
|
|
148
|
+
'click:row': (event: Event, value: {
|
|
149
|
+
item: DataTableItem;
|
|
150
|
+
}) => true;
|
|
148
151
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
149
152
|
customFilter: vue.PropType<FilterFunction>;
|
|
150
153
|
customKeyFilter: vue.PropType<FilterKeyFunctions>;
|
|
@@ -225,6 +228,9 @@ declare const VDataTable: vue.DefineComponent<{
|
|
|
225
228
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
226
229
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
227
230
|
"onUpdate:expanded"?: ((value: any) => any) | undefined;
|
|
231
|
+
"onClick:row"?: ((event: Event, value: {
|
|
232
|
+
item: DataTableItem;
|
|
233
|
+
}) => any) | undefined;
|
|
228
234
|
"onUpdate:page"?: ((value: number) => any) | undefined;
|
|
229
235
|
"onUpdate:itemsPerPage"?: ((value: number) => any) | undefined;
|
|
230
236
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
@@ -273,7 +279,11 @@ declare const VDataTableRows: vue.DefineComponent<{
|
|
|
273
279
|
default: string;
|
|
274
280
|
};
|
|
275
281
|
rowHeight: NumberConstructor;
|
|
276
|
-
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
282
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
283
|
+
'click:row': (event: Event, value: {
|
|
284
|
+
item: DataTableItem;
|
|
285
|
+
}) => true;
|
|
286
|
+
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
277
287
|
loading: (StringConstructor | BooleanConstructor)[];
|
|
278
288
|
loadingText: {
|
|
279
289
|
type: StringConstructor;
|
|
@@ -289,7 +299,11 @@ declare const VDataTableRows: vue.DefineComponent<{
|
|
|
289
299
|
default: string;
|
|
290
300
|
};
|
|
291
301
|
rowHeight: NumberConstructor;
|
|
292
|
-
}
|
|
302
|
+
}>> & {
|
|
303
|
+
"onClick:row"?: ((event: Event, value: {
|
|
304
|
+
item: DataTableItem;
|
|
305
|
+
}) => any) | undefined;
|
|
306
|
+
}, {
|
|
293
307
|
noDataText: string;
|
|
294
308
|
loadingText: string;
|
|
295
309
|
items: InternalDataTableItem[];
|
|
@@ -386,6 +400,9 @@ declare const VDataTableVirtual: vue.DefineComponent<{
|
|
|
386
400
|
'update:options': (value: any) => true;
|
|
387
401
|
'update:groupBy': (value: any) => true;
|
|
388
402
|
'update:expanded': (value: any) => true;
|
|
403
|
+
'click:row': (event: Event, value: {
|
|
404
|
+
item: DataTableItem;
|
|
405
|
+
}) => true;
|
|
389
406
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
390
407
|
customFilter: vue.PropType<FilterFunction>;
|
|
391
408
|
customKeyFilter: vue.PropType<FilterKeyFunctions>;
|
|
@@ -466,6 +483,9 @@ declare const VDataTableVirtual: vue.DefineComponent<{
|
|
|
466
483
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
467
484
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
468
485
|
"onUpdate:expanded"?: ((value: any) => any) | undefined;
|
|
486
|
+
"onClick:row"?: ((event: Event, value: {
|
|
487
|
+
item: DataTableItem;
|
|
488
|
+
}) => any) | undefined;
|
|
469
489
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
470
490
|
"onUpdate:groupBy"?: ((value: any) => any) | undefined;
|
|
471
491
|
}, {
|
|
@@ -573,6 +593,9 @@ declare const VDataTableServer: vue.DefineComponent<{
|
|
|
573
593
|
'update:sortBy': (sortBy: any) => true;
|
|
574
594
|
'update:options': (options: any) => true;
|
|
575
595
|
'update:expanded': (options: any) => true;
|
|
596
|
+
'click:row': (event: Event, value: {
|
|
597
|
+
item: DataTableItem;
|
|
598
|
+
}) => true;
|
|
576
599
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
577
600
|
page: {
|
|
578
601
|
type: (StringConstructor | NumberConstructor)[];
|
|
@@ -647,6 +670,9 @@ declare const VDataTableServer: vue.DefineComponent<{
|
|
|
647
670
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
648
671
|
"onUpdate:sortBy"?: ((sortBy: any) => any) | undefined;
|
|
649
672
|
"onUpdate:expanded"?: ((options: any) => any) | undefined;
|
|
673
|
+
"onClick:row"?: ((event: Event, value: {
|
|
674
|
+
item: DataTableItem;
|
|
675
|
+
}) => any) | undefined;
|
|
650
676
|
"onUpdate:page"?: ((page: number) => any) | undefined;
|
|
651
677
|
"onUpdate:itemsPerPage"?: ((page: number) => any) | undefined;
|
|
652
678
|
"onUpdate:options"?: ((options: any) => any) | undefined;
|