import { find } from "lodash"; import React, { useState, useEffect } from "react"; import PropTypes from "prop-types"; import cx from "classnames"; import Input from "antd/lib/input"; import Select from "antd/lib/select"; import { Query } from "@/services/query"; import PlainButton from "@/components/PlainButton"; import notification from "@/services/notification"; import { QueryTagsControl } from "@/components/tags-control/TagsControl"; import useSearchResults from "@/lib/hooks/useSearchResults"; const { Option } = Select; function search(term) { if (term === null) { return Promise.resolve(null); } // get recent if (!term) { return Query.recent().then(results => results.filter(item => !item.is_draft)); // filter out draft } // search by query return Query.query({ q: term }).then(({ results }) => results); } export default function QuerySelector(props) { const [searchTerm, setSearchTerm] = useState(""); const [selectedQuery, setSelectedQuery] = useState(); const [doSearch, searchResults, searching] = useSearchResults(search, { initialResults: [] }); const placeholder = "Search a query by name"; const clearIcon = ( selectQuery(null)} /> ); const spinIcon = (