Skip to content

Commit 9ed6723

Browse files
committed
refactor(defaultTheme): refine focusChildOnNavUp()
1 parent e81f924 commit 9ed6723

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

src/tpl/defaultTheme/frontend/index.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
var sepIndex = url.indexOf('?');
180180
if (sepIndex < 0) sepIndex = url.indexOf('#');
181181
if (sepIndex >= 0) {
182-
url = url.substring(0, sepIndex);
182+
url = url.slice(0, sepIndex);
183183
}
184184
return url;
185185
}
@@ -191,35 +191,37 @@
191191
var currUrl = extractCleanUrl(location.href);
192192

193193
if (prevUrl.length <= currUrl.length) return;
194-
if (prevUrl.substring(0, currUrl.length) !== currUrl) return;
195-
var goesUp = prevUrl.substring(currUrl.length);
194+
if (prevUrl.slice(0, currUrl.length) !== currUrl) return;
195+
var goesUp = prevUrl.slice(currUrl.length);
196196
if (currUrl[currUrl.length - 1] !== '/' && goesUp[0] !== '/') return;
197197
var matchInfo = /[^/]+/.exec(goesUp);
198198
if (!matchInfo) return;
199199
var prevChildName = matchInfo[0];
200200
if (!prevChildName) return;
201201
prevChildName = decodeURIComponent(prevChildName);
202+
if (!matchFilter(prevChildName)) return;
202203

203-
var items = document.body.querySelectorAll(selectorItem);
204+
var items = document.body.querySelectorAll(selectorItemList + '>' + selectorItemNotNone);
204205
items = Array.prototype.slice.call(items);
205206
var selectorName = '.field.name';
206207
var selectorLink = 'a';
207-
for (var i = 0, len = items.length; i < len; i++) {
208+
for (var i = 0; i < items.length; i++) {
208209
var item = items[i];
209210
var elName = item.querySelector(selectorName);
210211
if (!elName) continue;
212+
211213
var text = elName.textContent;
212214
if (text[text.length - 1] === '/') {
213-
text = text.substring(0, text.length - 1);
215+
text = text.slice(0, -1);
214216
}
215217
if (text !== prevChildName) continue;
218+
216219
var elLink = item.querySelector(selectorLink);
217-
if (elLink) {
218-
lastFocused = elLink;
219-
elLink.focus();
220-
elLink.scrollIntoView({block: 'center'});
221-
}
222-
break;
220+
if (!elLink) break;
221+
222+
lastFocused = elLink;
223+
elLink.focus();
224+
elLink.scrollIntoView({block: 'center'});
223225
}
224226
}
225227

0 commit comments

Comments
 (0)