UNPKG

@gowiz/searchbar

Version:

Different search bars powered by Gowiz search engine technology

40 lines 2.31 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const searchcontainer_1 = __importDefault(require("./searchcontainer")); const component_validation_1 = require("../util/component_validation"); const request_1 = require("../util/request"); const searchcontainer_util_1 = require("../util/searchcontainer_util"); class Searchbar extends react_1.default.Component { constructor(props) { super(props); this.handleOnSubmit = this.handleOnSubmit.bind(this); } handleOnSubmit(event) { event.preventDefault(); const inputs = document.getElementById('gowiz_searchbox_form'); if (inputs === null) { return; } const useCaching = this.props.useCaching != null || this.props.useCaching != undefined; const res = searchcontainer_util_1.getQueryAndToken(useCaching); const query = res.query; const token = res.token; const should_send_request = query != null && query.length > 0 && token != null; if (should_send_request) { const API_KEY = this.props.API_KEY; const search_results = request_1.getSearchResults(token, query, API_KEY); this.props.onSubmit(search_results); } } render() { component_validation_1.api_key_is_valid(this.props.API_KEY); const { query = '', placeholder = 'Search on Gowiz', useCaching = true, showInputSearchIcon = true, showResultsSearchIcon = true, useAutoFocus = false, useDarkTheme = false, maxResults = 10, useAutoComplete, searchSuggestions, searchDomains, } = this.props; return (react_1.default.createElement(searchcontainer_1.default, { onSubmit: this.handleOnSubmit, query: query, placeholder: placeholder, useCaching: useCaching, showInputSearchIcon: showInputSearchIcon, showResultsSearchIcon: showResultsSearchIcon, useAutoComplete: useAutoComplete, useDarkTheme: useDarkTheme, useAutoFocus: useAutoFocus, maxResults: maxResults, searchSuggestions: searchSuggestions, searchDomains: searchDomains })); } } exports.default = Searchbar; //# sourceMappingURL=searchbar.js.map