MCPcopy Create free account
hub / github.com/developmentseed/stac-react / QueryBuilder

Function QueryBuilder

example/src/pages/Main/QueryBuilder.jsx:10–82  ·  view source on GitHub ↗
({
  setIsBboxDrawEnabled,
  collections,
  selectedCollections,
  setCollections,
  handleSubmit,
  dateRangeFrom,
  setDateRangeFrom,
  dateRangeTo,
  setDateRangeTo,
})

Source from the content-addressed store, hash-verified

8import Section from '../../layout/Section';
9
10function QueryBuilder({
11 setIsBboxDrawEnabled,
12 collections,
13 selectedCollections,
14 setCollections,
15 handleSubmit,
16 dateRangeFrom,
17 setDateRangeFrom,
18 dateRangeTo,
19 setDateRangeTo,
20}) {
21 const handleEnableBbox = useCallback(() => setIsBboxDrawEnabled(true), [setIsBboxDrawEnabled]);
22
23 const handleRangeFromChange = useCallback(
24 (e) => setDateRangeFrom(e.target.value),
25 [setDateRangeFrom]
26 );
27 const handleRangeToChange = useCallback((e) => setDateRangeTo(e.target.value), [setDateRangeTo]);
28
29 const collectionOptions = useMemo(
30 () =>
31 collections.collections
32 ? collections.collections.map(({ id, title }) => ({ value: id, label: title }))
33 : [],
34 [collections]
35 );
36
37 return (
38 <Panel className="py-4 grid grid-rows-[min-content_auto_min-content_min-content_min-content] gap-4 h-[calc(100vh_-_90px)]">
39 <H2 className="px-4">Query Builder</H2>
40
41 <Section className="px-4 overflow-x-hidden overflow-y-auto">
42 <Checkbox
43 label="Select Collections"
44 name="collections"
45 options={collectionOptions}
46 values={selectedCollections || []}
47 onChange={setCollections}
48 />
49 </Section>
50
51 <Section className="px-4">
52 <fieldset>
53 <Legend>Select Date Range</Legend>
54 <label htmlFor="date_from">From</label>
55 <input
56 type="date"
57 name="date_from"
58 id="date_from"
59 onChange={handleRangeFromChange}
60 value={dateRangeFrom}
61 />
62 <label htmlFor="date_to">To</label>
63 <input
64 type="date"
65 name="date_to"
66 id="date_to"
67 onChange={handleRangeToChange}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected