Skip to content

Commit a2c9ae6

Browse files
Add select strategy prop
1 parent d011fb3 commit a2c9ae6

File tree

4 files changed

+54
-50
lines changed

4 files changed

+54
-50
lines changed
Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export default {
22
color: 'primary', // ? Not sure what this does. Needs Testing
3-
colors: { // * Works
3+
colors: {
44
body: {
55
base: '--v-theme-surface',
66
bg: '--v-theme-surface',
@@ -30,27 +30,27 @@ export default {
3030
percentageChange: 25,
3131
percentageDirection: 'desc',
3232
},
33-
density: 'compact', // * Works
34-
drilldownKey: 'id', // * Works
35-
elevation: 5, // * Works
36-
expandOnClick: false, // * Works
37-
firstIcon: '$first', // * Works
33+
density: 'compact',
34+
drilldownKey: 'id',
35+
elevation: 5,
36+
expandOnClick: false,
37+
firstIcon: '$first',
3838
fixedFooter: true, // ? Not sure what this does. Needs Testing
3939
fixedHeader: true, // ? Not sure what this does. Needs Testing
40-
footers: [], // * Works
41-
headers: [], // * Works
42-
height: 'auto', // * Works
43-
hideDrilldownWhenLoading: true, // * Works
40+
footers: [],
41+
headers: [],
42+
height: 'auto',
43+
hideDrilldownWhenLoading: true,
4444
hideNoData: false,
45-
hover: false, // * Works
46-
itemChildrenKey: 'child', // * Works
45+
hover: false,
46+
itemChildrenKey: 'child',
4747
itemProps: [], // ? Not sure what this does. Needs Testing
48-
itemTitle: 'title', // * Works, but is weird
49-
itemValue: 'id', // * Works, but is weird
50-
items: [], // * Works
51-
itemsLength: 0, // * Works
52-
itemsPerPage: 5, // * Works
53-
itemsPerPageOptions: [ // * Works
48+
itemTitle: 'title', // ? Not sure what this does. Needs Testing
49+
itemValue: 'id',
50+
items: [],
51+
itemsLength: 0,
52+
itemsPerPage: 5,
53+
itemsPerPageOptions: [
5454
{
5555
title: '5',
5656
value: 5,
@@ -76,36 +76,36 @@ export default {
7676
value: -1,
7777
}
7878
],
79-
itemsPerPageText: '$vuetify.dataFooter.itemsPerPageText', // * Works
80-
lastIcon: '$last', // * Works
79+
itemsPerPageText: '$vuetify.dataFooter.itemsPerPageText',
80+
lastIcon: '$last',
8181
lastPageLabel: '$vuetify.dataFooter.lastPage', // ? Not sure what this does. Needs Testing
82-
level: 1, // * Works
83-
levels: 3, // * Works
84-
loaderHeight: '2px', // * Works
85-
loaderSize: 'default', // * Works
86-
loaderType: [ // * Works
82+
level: 1,
83+
levels: 3,
84+
loaderHeight: '2px',
85+
loaderSize: 'default',
86+
loaderType: [
8787
'linear',
8888
// 'circular',
8989
// 'text',
9090
// 'skelton',
9191
],
92-
loading: false, // * Works
93-
loadingText: '$vuetify.dataIterator.loadingText', // * Works
94-
multiSort: false, // * Works
92+
loading: false,
93+
loadingText: '$vuetify.dataIterator.loadingText',
94+
multiSort: false,
9595
mustSort: false,
96-
nextIcon: '$next', // * Works
96+
nextIcon: '$next',
9797
nextPageLabel: '$vuetify.dataFooter.nextPage', // ? Not sure what this does. Needs Testing
98-
noDataText: '$vuetify.noDataText', // * Works
98+
noDataText: '$vuetify.noDataText',
9999
// noFilter: false, // ? Not sure what this does. Needs Testing
100-
page: 1, // * Works
101-
pageText: '$vuetify.dataFooter.pageText', // * Works
102-
prevIcon: '$prev', // * Works
100+
page: 1,
101+
pageText: '$vuetify.dataFooter.pageText',
102+
prevIcon: '$prev',
103103
prevPageLabel: '$vuetify.dataFooter.prevPage', // ? Not sure what this does. Needs Testing
104104
returnObject: false, // ? Not sure what this does. Needs Testing
105105
rowHeight: undefined, // ? Not sure what this does. Needs Testing
106-
search: '', // * Works
107-
searchDebounce: 750, // * Works
108-
searchMaxWait: 1000, // * Works
106+
search: '',
107+
searchDebounce: 750,
108+
searchMaxWait: 1000,
109109
searchProps: { // ? VDrilldownTable Custom Prop
110110
cols: {
111111
lg: 3,
@@ -118,18 +118,19 @@ export default {
118118
density: 'compact',
119119
variant: 'underlined',
120120
},
121-
server: false, // * Works
122-
showCurrentPage: false, // * Works
123-
showDrilldownWhenLoading: true, // * Works
124-
showExpand: false, // * Works
125-
showFooterRow: true, // * Works
121+
selectStrategy: 'page', // ! Testing
122+
server: false,
123+
showCurrentPage: false,
124+
showDrilldownWhenLoading: true,
125+
showExpand: false,
126+
showFooterRow: true,
126127
showSearch: false, // * Works - May or may not keep
127-
showSelect: false, // * Works
128-
skeltonType: 'heading@1', // * Works
129-
sortAscIcon: '$sortAsc', // * Works
130-
sortBy: [], // * Works
128+
showSelect: false,
129+
skeltonType: 'heading@1',
130+
sortAscIcon: '$sortAsc',
131+
sortBy: [],
131132
sticky: false, // ? Not sure what this does. Needs Testing
132-
tag: 'div', // * Works
133-
theme: undefined, // * Works
133+
tag: 'div',
134+
theme: undefined,
134135
width: undefined, // ? Not sure what this does. Needs Testing
135136
};

src/plugin/VDrilldownTable.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
:page="loadedDrilldown.page"
2525
:return-object="loadedDrilldown.returnObject"
2626
:search="levelSearch"
27+
:select-strategy="loadedDrilldown.selectStrategy"
2728
:show-expand="loadedDrilldown.showExpand"
2829
:sort-by="currentSortBy"
2930
:style="tableStyles"

src/plugin/utils/props.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,17 @@ export const AllProps = {
111111
density: 'comfortable',
112112
variant: 'underlined',
113113
}) as const,
114+
selectStrategy: 'page' as const, // ! Not working properly //
114115
// separator: '', // TODO: Maybe add this //
115-
server: false,
116-
showDrilldownWhenLoading: true,
116+
server: false, // * Works
117+
showDrilldownWhenLoading: true, // * Works
117118
showExpand: false, // ? Works but needs testing.- Not sure if needed in this object
118119
showFooterRow: false, // ? Not sure if I will use this. Depends on a possible footer slot
119120
showSearch: false, // * Custom Prop
120121
showSelect: false, // * Works
121122
skeltonType: 'heading@1', // * Works
122123
sortAscIcon: '$sortAsc', // * Works
123124
sortBy: () => [], // * Works
124-
tableType: () => ({}),
125+
tableType: () => ({}), // * Works
125126
width: '100%', // ! Not working properly //
126127
};

src/types/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ export interface Props {
169169
searchProps?: SearchProps; // * Custom Property
170170
separator?: string; // TODO: Maybe add this //
171171
server?: boolean; // * Custom Property
172+
selectStrategy?: VDataTable['$props']['selectStrategy'];
172173
showDrilldownWhenLoading?: boolean; // * Custom Property
173174
showExpand?: VDataTable['$props']['showExpand'];
174175
showFooterRow?: boolean; // * Custom Property

0 commit comments

Comments
 (0)