add test tree

This commit is contained in:
snoop 2017-07-17 14:51:12 +09:00
parent 0d841948aa
commit 6091b77ace
5 changed files with 245 additions and 151 deletions

View File

@ -0,0 +1,14 @@
import Port from './Port';
interface Host {
id?: number;
ip: number;
mac: number;
createDate?: Date;
updateDate: Date;
os: string;
target: boolean;
ports?: Port[];
}
export default Host;

View File

@ -0,0 +1,15 @@
import Host from './Host';
import Service from './Service';
import PortType from './PortType';
interface Port {
id?: number;
host: Host;
portType: PortType;
portNumber: number;
services?: Service[];
createDate?: Date;
updateDate: Date;
}
export default Port;

View File

@ -0,0 +1,10 @@
// enum PortType {
// TCP = 1,
// UDP = 2,
// TLS = 3,
// }
type PortType = 'TCP' | 'UDP' | 'TLS';
export default PortType;

View File

@ -0,0 +1,14 @@
import Port from './Port';
import PortType from './PortType';
interface Service {
id: number;
port: Port;
portType: PortType;
serviceName: string;
createDate: Date;
updateDate: Date;
target: boolean;
}
export default Service;

View File

@ -3,9 +3,11 @@ import * as React from 'react';
import { Checkbox, Container, Label, Accordion, Icon, List, ListItemProps } from 'semantic-ui-react';
import Host from '../../../@overflow/discovery/api/model/Host';
import Port from '../../../@overflow/discovery/api/model/Port';
import Service from '../../../@overflow/discovery/api/model/Service';
import * as Utils from '../../../components/Utils';
export class Tree extends React.Component<any, any> {
@ -17,7 +19,7 @@ export class Tree extends React.Component<any, any> {
};
console.log(jsonData);
// fs.readFile('../../../../../dh.json', this.handlJSONFile);
}
@ -30,15 +32,54 @@ export class Tree extends React.Component<any, any> {
render() {
return (
<Container>
<List>
{
{jsonData.map((data: any) => {
jsonData.map((data: any, index: number) => {
let hh: Host = data;
return (
<List.Item key={index}>
<List.Icon name='folder' />
<List.Content>
<List.Header>{Utils.int2ip(hh.ip)} {hh.os}</List.Header>
<List.Description>Host</List.Description>
{hh.ports ? hh.ports.map((port: Port, idx: number) => {
return (
<List.List key={idx * 1000}>
<List.Item>
<List.Icon name='folder' />
<List.Content>
<List.Header>{port.portNumber} {port.portType}</List.Header>
<List.Description>Port</List.Description>
{port.services ? port.services.map((service: Service, sIdx: number) => {
return (
<List.List key={sIdx * 10000}>
<List.Item>
<List.Icon name='folder' />
<List.Content>
<List.Header>{service.serviceName} {service.portType}</List.Header>
<List.Description>Service</List.Description>
</List.Content>
</List.Item>
</List.List>
);
}) : ''}
</List.Content>
</List.Item>
</List.List>
);
}) : ''}
</List.Content>
</List.Item>
);
})}
</List>
<List>
{/*<List>
<List.Item >
<Label basic onClick={() => {
this.setState({ tt: !this.state.tt });
@ -52,7 +93,7 @@ export class Tree extends React.Component<any, any> {
<List.Item>Port 80 NOR </List.Item>
</List.List>
</List.Item> : ''}
</List>
</List>*/}
</Container>
);
}