diff options
author | Pixelastic <tim@pixelastic.com> | 2018-11-22 17:34:34 +0300 |
---|---|---|
committer | XhmikosR <xhmikosr@gmail.com> | 2018-11-22 18:38:27 +0300 |
commit | 3e25bf403a9d07dbeef701c340c1de47bb4e58ca (patch) | |
tree | cfa1712693a10ef4f5899fa67b639f82c9b5d86a | |
parent | 8a7ed6047b7613c0226bda8bc09d06f08ab49e45 (diff) |
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 :)
-rw-r--r-- | site/docs/4.1/assets/js/src/search.js | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/site/docs/4.1/assets/js/src/search.js b/site/docs/4.1/assets/js/src/search.js index 546cca5c7e..459d412df9 100644 --- a/site/docs/4.1/assets/js/src/search.js +++ b/site/docs/4.1/assets/js/src/search.js @@ -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 }) }, |