@@ -39,33 +39,23 @@ export default function usePointer (props, context, dep)
39
39
return pointer . value && pointer . value . group
40
40
} )
41
41
42
- const currentGroupIndex = computed ( ( ) => {
43
- return getParentGroupIndex ( pointer . value )
44
- } )
45
-
46
42
const currentGroup = computed ( ( ) => {
47
- return groups . value [ currentGroupIndex . value ]
43
+ return getParentGroup ( pointer . value )
48
44
} )
49
45
50
- const prevGroupIndex = computed ( ( ) => {
51
- let group = isPointerGroup . value ? pointer . value : /* istanbul ignore next */ getParentGroup ( pointer . value )
52
- let groupIndex = groups . value . map ( g => g [ groupLabel . value ] ) . indexOf ( group [ groupLabel . value ] )
53
- let prevGroupIndex = groupIndex - 1
54
-
55
- let prevGroup = groups . value [ prevGroupIndex ]
46
+ const prevGroup = computed ( ( ) => {
47
+ const group = isPointerGroup . value ? pointer . value : /* istanbul ignore next */ getParentGroup ( pointer . value )
48
+ const groupIndex = groups . value . map ( g => g [ groupLabel . value ] ) . indexOf ( group [ groupLabel . value ] )
49
+ let prevGroup = groups . value [ groupIndex - 1 ]
56
50
57
51
if ( prevGroup === undefined ) {
58
- prevGroupIndex = lastGroupIndex . value
52
+ prevGroup = lastGroup . value
59
53
}
60
54
61
- return prevGroupIndex
62
- } )
63
-
64
- const prevGroup = computed ( ( ) => {
65
- return groups . value [ prevGroupIndex . value ]
55
+ return prevGroup
66
56
} )
67
57
68
- const nextGroupIndex = computed ( ( ) => {
58
+ const nextGroup = computed ( ( ) => {
69
59
let nextIndex = groups . value . map ( g => g . label ) . indexOf ( isPointerGroup . value
70
60
? pointer . value [ groupLabel . value ]
71
61
: getParentGroup ( pointer . value ) [ groupLabel . value ] ) + 1
@@ -74,19 +64,11 @@ export default function usePointer (props, context, dep)
74
64
nextIndex = 0
75
65
}
76
66
77
- return nextIndex
78
- } )
79
-
80
- const nextGroup = computed ( ( ) => {
81
- return groups . value [ nextGroupIndex . value ]
82
- } )
83
-
84
- const lastGroupIndex = computed ( ( ) => {
85
- return groups . value . length - 1
67
+ return groups . value [ nextIndex ]
86
68
} )
87
69
88
70
const lastGroup = computed ( ( ) => {
89
- return groups . value [ lastGroupIndex . value ]
71
+ return [ ... groups . value ] . slice ( - 1 ) [ 0 ]
90
72
} )
91
73
92
74
const currentGroupFirstEnabledOption = computed ( ( ) => {
@@ -115,8 +97,8 @@ export default function usePointer (props, context, dep)
115
97
116
98
const isPointed = ( option ) => {
117
99
return ( ! ! pointer . value && (
118
- ( ! option . group && pointer . value [ valueProp . value ] == option [ valueProp . value ] ) ||
119
- ( option . group !== undefined && pointer . value [ groupLabel . value ] == option [ groupLabel . value ] )
100
+ ( ! option . group && pointer . value [ valueProp . value ] == option [ valueProp . value ] ) ||
101
+ ( option . group !== undefined && pointer . value [ groupLabel . value ] == option [ groupLabel . value ] )
120
102
) ) ? true : undefined
121
103
}
122
104
@@ -138,18 +120,16 @@ export default function usePointer (props, context, dep)
138
120
139
121
const forwardPointer = ( ) => {
140
122
if ( pointer . value === null ) {
141
- setPointer ( ( groupped . value && canPointGroups . value ? groups . value [ 0 ] : options . value [ 0 ] ) || null , 0 )
123
+ setPointer ( ( groupped . value && canPointGroups . value ? groups . value [ 0 ] : options . value [ 0 ] ) || null )
142
124
}
143
125
else if ( groupped . value && canPointGroups . value ) {
144
126
let nextPointer = isPointerGroup . value ? currentGroupFirstEnabledOption . value : currentGroupNextEnabledOption . value
145
- let nGroupIndex = null
146
127
147
128
if ( nextPointer === undefined ) {
148
129
nextPointer = nextGroup . value
149
- nGroupIndex = nextGroupIndex . value
150
130
}
151
131
152
- setPointer ( nextPointer || /* istanbul ignore next */ null , nGroupIndex )
132
+ setPointer ( nextPointer || /* istanbul ignore next */ null )
153
133
} else {
154
134
let next = options . value . map ( o => o [ valueProp . value ] ) . indexOf ( pointer . value [ valueProp . value ] ) + 1
155
135
@@ -168,29 +148,25 @@ export default function usePointer (props, context, dep)
168
148
const backwardPointer = ( ) => {
169
149
if ( pointer . value === null ) {
170
150
let prevPointer = options . value [ options . value . length - 1 ]
171
- let pGroupIndex = null
172
151
173
152
if ( groupped . value && canPointGroups . value ) {
174
153
prevPointer = lastGroupLastEnabledOption . value
175
154
176
155
if ( prevPointer === undefined ) {
177
- prevPointer = groups . value [ lastGroupIndex . value ]
178
- pGroupIndex = lastGroupIndex . value
156
+ prevPointer = lastGroup . value
179
157
}
180
158
}
181
159
182
- setPointer ( prevPointer || null , pGroupIndex )
160
+ setPointer ( prevPointer || null )
183
161
}
184
162
else if ( groupped . value && canPointGroups . value ) {
185
163
let prevPointer = isPointerGroup . value ? prevGroupLastEnabledOption . value : currentGroupPrevEnabledOption . value
186
- let pGroupIndex = null
187
164
188
165
if ( prevPointer === undefined ) {
189
166
prevPointer = isPointerGroup . value ? prevGroup . value : currentGroup . value
190
- pGroupIndex = isPointerGroup . value ? prevGroupIndex . value : currentGroupIndex . value
191
167
}
192
168
193
- setPointer ( prevPointer || /* istanbul ignore next */ null , pGroupIndex )
169
+ setPointer ( prevPointer || /* istanbul ignore next */ null )
194
170
} else {
195
171
let prevIndex = options . value . map ( o => o [ valueProp . value ] ) . indexOf ( pointer . value [ valueProp . value ] ) - 1
196
172
@@ -212,12 +188,6 @@ export default function usePointer (props, context, dep)
212
188
} )
213
189
}
214
190
215
- const getParentGroupIndex = ( option ) => {
216
- return groups . value . findIndex ( ( group ) => {
217
- return group . __VISIBLE__ . map ( o => o [ valueProp . value ] ) . indexOf ( option [ valueProp . value ] ) !== - 1
218
- } )
219
- }
220
-
221
191
// no export
222
192
/* istanbul ignore next */
223
193
const adjustWrapperScrollToPointer = ( ) => {
0 commit comments