summaryrefslogtreecommitdiff
path: root/_includes/search-providers/google-custom-search-engine/search.js
diff options
context:
space:
mode:
Diffstat (limited to '_includes/search-providers/google-custom-search-engine/search.js')
-rw-r--r--_includes/search-providers/google-custom-search-engine/search.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/_includes/search-providers/google-custom-search-engine/search.js b/_includes/search-providers/google-custom-search-engine/search.js
new file mode 100644
index 0000000..09e5273
--- /dev/null
+++ b/_includes/search-providers/google-custom-search-engine/search.js
@@ -0,0 +1,33 @@
+var SOURCES = window.TEXT_VARIABLES.sources;
+window.Lazyload.js(SOURCES.jquery, function() {
+ /* global google */
+ var search = (window.search || (window.search = {}));
+ var searchBox, searchInput, clearIcon, searchModal;
+
+ search.clear = function() {
+ searchBox && searchBox.clearAllResults();
+ };
+ search.onShow = function() {
+ searchInput && searchInput.focus();
+ };
+ search.onHide = function() {
+ searchInput && searchInput.blur();
+ };
+
+ window.__gcse = {
+ callback: function() {
+ searchBox = google.search.cse.element.getElement('search-box');
+ searchInput = document.getElementById('gsc-i-id1');
+ clearIcon = document.getElementById('gs_cb50');
+ searchModal = search.searchModal;
+ searchModal && searchModal.$el && searchModal.$el.on('click', function(e) {
+ (e.target === this || e.target === clearIcon || e.target.className === 'gs-title') && searchModal.hide();
+ });
+ }
+ };
+ var cx = '{{ site.search.google.custom_search_engine_id }}'; // Insert your own Custom Search Engine ID here
+ var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
+ gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
+ '//cse.google.com/cse.js?cx=' + cx;
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
+});