mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
Update DocSearch.js to latest version
The latest (2.6.2) docsearch.js version now displays results as standard `<a href>` links, allowing users to `ctrl`-click on them to trigger default browser behavior of opening in a new tab. To maintain backward compatibility, this behavior has only been enabled to users that didn't define their own `handleSelected` method. This PR updates your `docsearch()` code to take advantage of the new `<a href>` template, by removing your custom `handleSelected` and moving its behavior to the `transformData` call. Namely, what you wanted to avoid was jumping to the first `<h1>` of the pages, which would prevent users from seeing the header. This PR checks if the suggestion targets the `#content` anchor (meaning it goes to this first `<h1>`) and remove it. Behavior should be the same, but at least now you can enjoy the `ctrl`-click :)
This commit is contained in:
parent
8a7ed6047b
commit
3e25bf403a
1 changed files with 6 additions and 6 deletions
|
@ -32,12 +32,6 @@
|
|||
algoliaOptions: {
|
||||
facetFilters: ['version:' + siteDocsVersion]
|
||||
},
|
||||
handleSelected: function (input, event, suggestion) {
|
||||
var url = suggestion.url
|
||||
url = suggestion.isLvl1 ? url.split('#')[0] : url
|
||||
// If it's a title we remove the anchor so it does not jump.
|
||||
window.location.href = url
|
||||
},
|
||||
transformData: function (hits) {
|
||||
return hits.map(function (hit) {
|
||||
var siteurl = getOrigin()
|
||||
|
@ -47,6 +41,12 @@
|
|||
// otherwise remove our url from it.
|
||||
hit.url = siteurl.match(urlRE) ? hit.url : hit.url.replace(urlRE, '')
|
||||
|
||||
// Prevent jumping to first header
|
||||
if (hit.anchor === 'content') {
|
||||
hit.url = hit.url.replace(/#content$/, '')
|
||||
hit.anchor = null
|
||||
}
|
||||
|
||||
return hit
|
||||
})
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue