@@ -9,14 +9,44 @@ class NavbarDocs extends React.Component {
9
9
constructor ( props ) {
10
10
super ( props )
11
11
}
12
+
13
+ componentDidMount ( ) {
14
+ var cx = '017213726194841070573:WMX6838984' ;
15
+ var gcse = document . createElement ( 'script' ) ;
16
+ gcse . type = 'text/javascript' ;
17
+ gcse . async = true ;
18
+ gcse . src = 'https://cse.google.com/cse.js?cx=' + cx ;
19
+ gcse . onload = gcse . onreadystatechange = function ( ) {
20
+ $ ( function ( ) {
21
+ // hack to set a placeholder in google's custom search input
22
+ var pollInput = window . setInterval ( function ( ) {
23
+ var $input = $ ( '.gsc-input input.gsc-input' ) ,
24
+ $div = $ ( '.search-db' ) ;
25
+ if ( $input . length ) {
26
+ $input . on ( 'focus' , function ( e ) { $div . addClass ( 'wide' ) . removeClass ( 'narrow' ) ; } ) ;
27
+ $input . on ( 'blur' , function ( e ) {
28
+ if ( ! $input . val ( ) . length ) { $div . addClass ( 'narrow' ) . removeClass ( 'wide' ) ; }
29
+ } ) ;
30
+ $input . attr ( 'placeholder' , "Search" ) ;
31
+ window . clearInterval ( pollInput ) ;
32
+ }
33
+ } , 10 ) ;
34
+ } ) ;
35
+ } ;
36
+
37
+ var s = document . getElementsByTagName ( 'script' ) [ 0 ] ;
38
+ s . parentNode . insertBefore ( gcse , s ) ;
39
+ }
12
40
13
41
render ( ) {
14
42
return (
15
43
< Navbar baseURL = { baseURL } assetsPrefix = "/_static" >
16
- < input type = "search" className = "navbar-search" placeholder = "Search" />
44
+ < div className = "navbar-search" >
45
+ < div id = "gsearch" className = "gcse-searchbox-only" data-resultsUrl = "http://docs.mongodb.com/manual/search/" data-queryParameterName = "query" > </ div >
46
+ </ div >
17
47
</ Navbar >
18
48
)
19
49
}
20
50
}
21
51
22
- ReactDOM . render ( < NavbarDocs /> , document . getElementById ( 'navbar-docs' ) )
52
+ ReactDOM . render ( < NavbarDocs /> , document . getElementById ( 'navbar-docs' ) )
0 commit comments