{"version":3,"file":"index-BW5oQV58.cjs","sources":["../src/app/pages/TagPage/index.jsx"],"sourcesContent":["/**\n * For a given tag, displays nodes tagged with it\n */\nimport NamespaceHeader from '../../components/NamespaceHeader';\nimport React, { useContext, useEffect, useState } from 'react';\nimport 'styles/node-creation.scss';\nimport DJClientContext from '../../providers/djclient';\nimport { useParams } from 'react-router-dom';\n\nexport function TagPage() {\n  const [nodes, setNodes] = useState([]);\n  const [tag, setTag] = useState([]);\n\n  const { name } = useParams();\n\n  const djClient = useContext(DJClientContext).DataJunctionAPI;\n  useEffect(() => {\n    const fetchData = async () => {\n      const data = await djClient.listNodesForTag(name);\n      const tagData = await djClient.getTag(name);\n      setNodes(data);\n      setTag(tagData);\n    };\n    fetchData().catch(console.error);\n  }, [djClient, name]);\n\n  return (\n    <div className=\"mid\">\n      <NamespaceHeader namespace=\"\" />\n      <div className=\"card\">\n        <div className=\"card-header\">\n          <h3\n            className=\"card-title align-items-start flex-column\"\n            style={{ display: 'inline-block' }}\n          >\n            Tag\n          </h3>\n          <div>\n            <div style={{ marginBottom: '1.5rem' }}>\n              <h6 className=\"mb-0 w-100\">Display Name</h6>\n              <p className=\"mb-0 opacity-75\">{tag.display_name}</p>\n            </div>\n            <div style={{ marginBottom: '1.5rem' }}>\n              <h6 className=\"mb-0 w-100\">Name</h6>\n              <p className=\"mb-0 opacity-75\">{name}</p>\n            </div>\n            <div style={{ marginBottom: '1.5rem' }}>\n              <h6 className=\"mb-0 w-100\">Tag Type</h6>\n              <p className=\"mb-0 opacity-75\">{tag.tag_type}</p>\n            </div>\n            <div style={{ marginBottom: '1.5rem' }}>\n              <h6 className=\"mb-0 w-100\">Description</h6>\n              <p className=\"mb-0 opacity-75\">{tag.description}</p>\n            </div>\n            <div style={{ marginBottom: '1.5rem' }}>\n              <h6 className=\"mb-0 w-100\">Nodes</h6>\n              <div className={`list-group-item`}>\n                {nodes?.map(node => (\n                  <div\n                    className=\"button-3 cube-element\"\n                    key={node.name}\n                    role=\"cell\"\n                    aria-label=\"CubeElement\"\n                    aria-hidden=\"false\"\n                  >\n                    <a href={`/nodes/${node.name}`}>{node.display_name}</a>\n                    <span className={`badge node_type__${node.type}`}>\n                      {node.type}\n                    </span>\n                  </div>\n                ))}\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n}\n"],"names":["TagPage","nodes","setNodes","useState","tag","setTag","name","useParams","djClient","useContext","DJClientContext","useEffect","data","tagData","jsxs","jsx","NamespaceHeader","node"],"mappings":"wMASO,SAASA,GAAU,CACxB,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAAS,CAAA,CAAE,EAC/B,CAACC,EAAKC,CAAM,EAAIF,EAAAA,SAAS,CAAA,CAAE,EAE3B,CAAE,KAAAG,CAAA,EAASC,YAAA,EAEXC,EAAWC,EAAAA,WAAWC,EAAAA,eAAe,EAAE,gBAC7CC,OAAAA,EAAAA,UAAU,IAAM,EACI,SAAY,CAC5B,MAAMC,EAAO,MAAMJ,EAAS,gBAAgBF,CAAI,EAC1CO,EAAU,MAAML,EAAS,OAAOF,CAAI,EAC1CJ,EAASU,CAAI,EACbP,EAAOQ,CAAO,CAChB,KACY,MAAM,QAAQ,KAAK,CACjC,EAAG,CAACL,EAAUF,CAAI,CAAC,EAGjBQ,EAAAA,KAAC,MAAA,CAAI,UAAU,MACb,SAAA,CAAAC,EAAAA,IAACC,EAAAA,gBAAA,CAAgB,UAAU,EAAA,CAAG,QAC7B,MAAA,CAAI,UAAU,OACb,SAAAF,EAAAA,KAAC,MAAA,CAAI,UAAU,cACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CACC,UAAU,2CACV,MAAO,CAAE,QAAS,cAAA,EACnB,SAAA,KAAA,CAAA,SAGA,MAAA,CACC,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,MAAO,CAAE,aAAc,UAC1B,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,aAAa,SAAA,eAAY,EACvCA,EAAAA,IAAC,IAAA,CAAE,UAAU,kBAAmB,WAAI,YAAA,CAAa,CAAA,EACnD,SACC,MAAA,CAAI,MAAO,CAAE,aAAc,UAC1B,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,aAAa,SAAA,OAAI,EAC/BA,EAAAA,IAAC,IAAA,CAAE,UAAU,kBAAmB,SAAAT,CAAA,CAAK,CAAA,EACvC,SACC,MAAA,CAAI,MAAO,CAAE,aAAc,UAC1B,SAAA,CAAAS,EAAAA,IAAC,KAAA,CAAG,UAAU,aAAa,SAAA,WAAQ,EACnCA,EAAAA,IAAC,IAAA,CAAE,UAAU,kBAAmB,WAAI,QAAA,CAAS,CAAA,EAC/C,SACC,MAAA,CAAI,MAAO,CAAE,aAAc,UAC1B,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,aAAa,SAAA,cAAW,EACtCA,EAAAA,IAAC,IAAA,CAAE,UAAU,kBAAmB,WAAI,WAAA,CAAY,CAAA,EAClD,SACC,MAAA,CAAI,MAAO,CAAE,aAAc,UAC1B,SAAA,CAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,aAAa,SAAA,QAAK,QAC/B,MAAA,CAAI,UAAW,kBACb,SAAAd,GAAA,YAAAA,EAAO,IAAIgB,GACVH,EAAAA,KAAC,MAAA,CACC,UAAU,wBAEV,KAAK,OACL,aAAW,cACX,cAAY,QAEZ,SAAA,CAAAC,EAAAA,IAAC,KAAE,KAAM,UAAUE,EAAK,IAAI,GAAK,WAAK,YAAA,CAAa,EACnDF,EAAAA,IAAC,QAAK,UAAW,oBAAoBE,EAAK,IAAI,GAC3C,WAAK,IAAA,CACR,CAAA,CAAA,EARKA,EAAK,IAAA,EAUb,CACH,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ"}