11import { tags } from './hyperscript'
22import { sendEvent } from './events'
3- const searchWithYourKeyboard = require ( 'search-with-your-keyboard' )
4- const truncate = require ( 'html-truncate' )
5- const languages = require ( '../lib/languages' )
6- const allVersions = require ( '../lib/all-versions' )
7- const nonEnterpriseDefaultVersion = require ( '../lib/non-enterprise-default-version' )
3+ import searchWithYourKeyboard from 'search-with-your-keyboard'
4+ import truncate from 'html-truncate'
85
9- const languageCodes = Object . keys ( languages )
106const maxContentLength = 300
117
128let $searchInputContainer
@@ -29,8 +25,13 @@ export default function search () {
2925 $searchOverlay = document . querySelector ( '.search-overlay-desktop' )
3026
3127 // There's an index for every version/language combination
32- version = deriveVersionFromPath ( )
33- language = deriveLanguageCodeFromPath ( )
28+ const {
29+ languages,
30+ versions,
31+ nonEnterpriseDefaultVersion
32+ } = JSON . parse ( document . getElementById ( 'search-options' ) . text )
33+ version = deriveVersionFromPath ( versions , nonEnterpriseDefaultVersion )
34+ language = deriveLanguageCodeFromPath ( languages )
3435
3536 // Find search placeholder text in a <meta> tag, falling back to a default
3637 const $placeholderMeta = document . querySelector ( 'meta[name="site.data.ui.search.placeholder"]' )
@@ -109,23 +110,16 @@ function closeSearch () {
109110 onSearch ( )
110111}
111112
112- function deriveLanguageCodeFromPath ( ) {
113+ function deriveLanguageCodeFromPath ( languageCodes ) {
113114 let languageCode = location . pathname . split ( '/' ) [ 1 ]
114115 if ( ! languageCodes . includes ( languageCode ) ) languageCode = 'en'
115116 return languageCode
116117}
117118
118- function deriveVersionFromPath ( ) {
119+ function deriveVersionFromPath ( allVersions , nonEnterpriseDefaultVersion ) {
119120 // fall back to the non-enterprise default version (FPT currently) on the homepage, 404 page, etc.
120121 const versionStr = location . pathname . split ( '/' ) [ 2 ] || nonEnterpriseDefaultVersion
121- const versionObject = allVersions [ versionStr ] || allVersions [ nonEnterpriseDefaultVersion ]
122-
123- // if GHES, returns the release number like 2.21, 2.22, etc.
124- // if FPT, returns 'dotcom'
125- // if GHAE, returns 'ghae'
126- return versionObject . plan === 'enterprise-server'
127- ? versionObject . currentRelease
128- : versionObject . miscBaseName
122+ return allVersions [ versionStr ] || allVersions [ nonEnterpriseDefaultVersion ]
129123}
130124
131125// Wait for the event to stop triggering for X milliseconds before responding
0 commit comments