import React from "react"; import {gql, useQuery} from "@apollo/client"; import {HStack, Text} from "@chakra-ui/layout"; import {Tag, TagLabel} from "@chakra-ui/react"; function MultipleDisplay(props: any) { const { displayColumns, tableName, cols, placeholder, OnChange, defaultValues, returnColumn } = props; // create a function to generate graphql query const generateQuery = (tableName: string, cols: Array) => { let query = `query { ${tableName} { ${cols.join("\n")} } }`; return query; }; let getQuery = generateQuery(tableName, cols); let theQuery = gql` ${getQuery} `; const {data, loading, error} = useQuery(theQuery); if (loading) { return
Loading...
; } if (error) { console.log("error ", error); return
Error...
; } if (!data) { return No data; } return ( {data[tableName]?.map((item: any, itemIndex: number) => { if (defaultValues?.includes(item.id)) { return ( item.color ? {item.name} : {item.name} ) } }) } ); } export default MultipleDisplay;