MCPcopy Create free account
hub / github.com/IQEngine/IQEngine / MetadataQuery

Function MetadataQuery

client/src/pages/metadata-query/metadata-query.tsx:8–155  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6import { queries } from './queries';
7
8export const MetadataQuery = () => {
9 const [selections, setSelections] = useState(queries);
10 const [queryString, setQueryString] = useState('');
11 const [geoPositionUpdate, setGeoPositionUpdate] = useState('manual');
12 const [selectedTrack, setSelectedTrack] = useState({
13 account: '',
14 container: '',
15 filepath: '',
16 });
17 const { status, data, error } = useQueryTrack(
18 CLIENT_TYPE_API,
19 selectedTrack.account,
20 selectedTrack.container,
21 selectedTrack.filepath
22 );
23
24 const toggleSelected = (e) => {
25 const name = e.target.name;
26 const newSelections = { ...selections };
27 newSelections[name].selected = !newSelections[name].selected;
28 newSelections[name].value = '';
29 setSelections(newSelections);
30 };
31
32 const renderQuerySelection = () => {
33 return Object.keys(selections).map((item) => {
34 return (
35 <label key={item} className="cursor-pointer label">
36 <span className="label-text">{item}</span>
37 <input
38 onChange={toggleSelected}
39 type="checkbox"
40 name={item}
41 checked={selections[item].selected}
42 className="checkbox checkbox-success"
43 />
44 </label>
45 );
46 });
47 };
48
49 const renderQueryComponents = () => {
50 return Object.keys(selections).map((item) => {
51 if (selections[item].selected) {
52 const Component = selections[item].component;
53 if (item === 'geo') {
54 return (
55 <Component
56 key={item}
57 queryName={item}
58 validator={selections[item].validator}
59 description={selections[item].description}
60 handleQueryValid={handleQueryValid}
61 handleQueryInvalid={handleQueryInvalid}
62 trackData={data ?? []}
63 geoPositionUpdate={geoPositionUpdate}
64 setGeoPositionUpdate={setGeoPositionUpdate}
65 />

Callers

nothing calls this directly

Calls 5

useQueryTrackFunction · 0.90
renderQuerySelectionFunction · 0.85
renderQueryComponentsFunction · 0.85
showQueryButtonFunction · 0.85
renderResultsFunction · 0.70

Tested by

no test coverage detected