mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-17 19:06:40 +02: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:
@@ -32,12 +32,6 @@
|
|||||||
algoliaOptions: {
|
algoliaOptions: {
|
||||||
facetFilters: ['version:' + siteDocsVersion]
|
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) {
|
transformData: function (hits) {
|
||||||
return hits.map(function (hit) {
|
return hits.map(function (hit) {
|
||||||
var siteurl = getOrigin()
|
var siteurl = getOrigin()
|
||||||
@@ -47,6 +41,12 @@
|
|||||||
// otherwise remove our url from it.
|
// otherwise remove our url from it.
|
||||||
hit.url = siteurl.match(urlRE) ? hit.url : hit.url.replace(urlRE, '')
|
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
|
return hit
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user