@gowiz/searchbar
Version:
Different search bars powered by Gowiz search engine technology
40 lines • 2.31 kB
JavaScript
;
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