/*! Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: MIT-0 */ import React, {useState, useEffect} from 'react'; import { Grid, Row, Col, Table, Tag, Stack } from 'rsuite'; import compmeddata from 'src/assets/compmed-pii.json'; import groupBy from 'lodash/groupBy'; const { Column, HeaderCell, Cell } = Table; const CompactCell = props => { if(props.dataKey === 'entity'){ return {props.rowData.entity} ; } if(props.dataKey === 'entity_type'){ return {props.rowData.entity_type} ; } if(props.dataKey === 'score'){ return {props.rowData.score} ; } if(props.dataKey === 'category'){ return {props.rowData.category} ; } if(props.dataKey === "traits"){ return { props.rowData.traits.map(elem=> { return Trait: {elem.name}, Confidence: {elem.score} }) } } return ; } const CompactHeaderCell = props => ; const defaultColumns = [ { key: 'entity', label: 'Entity', flexGrow: 2, verticalAlign: 'middle' }, { key: 'entity_type', label: 'Entity Type', flexGrow: 2, verticalAlign: 'middle' }, { key: 'category', label: 'Category', width: 0, verticalAlign: 'middle' }, { key: 'score', label: 'Confidence', flexGrow: 1, verticalAlign: 'middle', visible: false }, { key: 'traits', label: 'Traits', flexGrow: 2, verticalAlign: 'middle' } ]; const PiiDisplay = () => { const [columnKeys] = useState(defaultColumns.map(column => column.key)); const columns = defaultColumns.filter(column => columnKeys.some(key => key === column.key)); const [data, setdata] = useState(undefined) useEffect(() => { const entities = compmeddata["Entities"]; const dataset = []; for(const entity of entities){ let ent = {}; ent["entity"] = entity["Text"]; ent["entity_type"] = entity["Type"]; ent["score"] = parseInt(entity["Score"].toPrecision(2) * 100,10)+"%"; ent["category"] = entity["Category"]; let traits = entity["Traits"], trait_list = []; if(traits.length > 0){ for(const tr of traits){ const trt = {} trt["name"] = tr["Name"]; trt["score"] = parseInt(tr["Score"].toPrecision(2) * 100,10)+"%" trait_list.push(trt); } } ent["traits"] = trait_list; //.join(","); dataset.push(ent) } const grouped = groupBy(dataset, elem => elem.category); console.log(grouped) setdata(grouped); }, []) return (
{/*