From 8e6970a21673f072a5eafc198d07e7f164b5fa45 Mon Sep 17 00:00:00 2001 From: snoop Date: Wed, 19 Jul 2017 17:31:47 +0900 Subject: [PATCH] tree ing --- .../meta/api/model/MetaProbeArchitecture.ts | 12 ++ .../meta/api/model/MetaSensorItem.ts | 13 ++ .../meta/api/model/MetaSensorItemType.ts | 9 + src/ts/containers/test/commons/Tree.tsx | 204 ++++++++++++++---- 4 files changed, 193 insertions(+), 45 deletions(-) create mode 100644 src/ts/@overflow/meta/api/model/MetaProbeArchitecture.ts create mode 100644 src/ts/@overflow/meta/api/model/MetaSensorItem.ts create mode 100644 src/ts/@overflow/meta/api/model/MetaSensorItemType.ts diff --git a/src/ts/@overflow/meta/api/model/MetaProbeArchitecture.ts b/src/ts/@overflow/meta/api/model/MetaProbeArchitecture.ts new file mode 100644 index 0000000..0137ade --- /dev/null +++ b/src/ts/@overflow/meta/api/model/MetaProbeArchitecture.ts @@ -0,0 +1,12 @@ + +interface MetaProbeArchitecture { + id: number; + architecture: string; + createDate: Date; +} + +export enum MetaProbeArchitecture_ID { + x86_64bit = 1, +} + +export default MetaProbeArchitecture; diff --git a/src/ts/@overflow/meta/api/model/MetaSensorItem.ts b/src/ts/@overflow/meta/api/model/MetaSensorItem.ts new file mode 100644 index 0000000..a5451f9 --- /dev/null +++ b/src/ts/@overflow/meta/api/model/MetaSensorItem.ts @@ -0,0 +1,13 @@ + +import MetaProbeArchitecture from './MetaProbeArchitecture'; +import MetaSensorItemType from './MetaSensorItemType'; + +interface MetaSensorItem { + id: number; + metaSensorItemType: MetaSensorItemType; + key: string; + name: string; + createDate: Date; +} + +export default MetaSensorItem; diff --git a/src/ts/@overflow/meta/api/model/MetaSensorItemType.ts b/src/ts/@overflow/meta/api/model/MetaSensorItemType.ts new file mode 100644 index 0000000..d185a10 --- /dev/null +++ b/src/ts/@overflow/meta/api/model/MetaSensorItemType.ts @@ -0,0 +1,9 @@ + +interface MetaSensorItemType { + id: number; + name: string; + description: string; + createDate: Date; +} + +export default MetaSensorItemType; diff --git a/src/ts/containers/test/commons/Tree.tsx b/src/ts/containers/test/commons/Tree.tsx index 384cc99..e7ec18b 100644 --- a/src/ts/containers/test/commons/Tree.tsx +++ b/src/ts/containers/test/commons/Tree.tsx @@ -1,4 +1,10 @@ import * as React from 'react'; +import update from 'immutability-helper'; + + + + + import { Checkbox, Container, Label, Accordion, Icon, List, ListItemProps } from 'semantic-ui-react'; @@ -7,16 +13,125 @@ 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 MetaSensorItem from '../../../@overflow/meta/api/model/MetaSensorItem'; + import * as Utils from '../../../components/Utils'; + + +// import update from 'immutability-helper' + export class Tree extends React.Component { constructor(props: any, context: any) { super(props, context); this.state = { - portState: false, + + }; + + } + + render() { + return ( + + + + ); + } + + +} + + + +export class SensorItemTree extends React.Component { + + constructor(props: any, context: any) { + super(props, context); + + this.state = { + portState: [], + }; + + + // fs.readFile('../../../../../dh.json', this.handlJSONFile); + } + + render() { + return ( + + + {SensorJsonData.map((data: any, idx: number)=> { + + })} + + + ); + } + +} + +const SensorTypeJsonData = [ + { + "id" : 1, + "create_date" : "2017-06-26T10:49:39Z", + "description" : "CPU blah blah blah", + "name" : "CPU" + }, + { + "id" : 2, + "create_date" : "2017-06-26T10:49:39Z", + "description" : "MEMORY blah blah blah", + "name" : "MEMORY" + }, + { + "id" : 3, + "create_date" : "2017-06-26T10:49:39Z", + "description" : "DISK blah blah blah", + "name" : "DISK" + } +]; + +const SensorJsonData = [ + { + "id": 1, + "create_date": "2017-06-26T11:10:08Z", + "key": "cpu.usage", + "name": "CPU USAGE", + "type_id": 1 + }, + { + "id": 2, + "create_date": "2017-06-26T11:10:08Z", + "key": "cpu.free", + "name": "CPU FREE", + "type_id": 1 + }, + { + "id": 3, + "create_date": "2017-06-26T11:10:08Z", + "key": "mem.usage", + "name": "MEMORY USAGE", + "type_id": 2 + }, + { + "id": 4, + "create_date": "2017-06-26T11:10:08Z", + "key": "mem.free", + "name": "MEMORY FREE", + "type_id": 2 + } +]; + +export class DiscoveryResult extends React.Component { + + constructor(props: any, context: any) { + super(props, context); + + this.state = { + portState: [], }; @@ -24,59 +139,63 @@ export class Tree extends React.Component { } - handlJSONFile = (err: any, data: any) => { - - - } - render() { + return ( - + { jsonData.map((data: any, index: number) => { let hh: Host = data; -{/*this.state.portState[hh.ip] = false;*/} + this.state.portState[hh.ip] = false; return ( - + + { - {/*this.state.portState[hh.ip] = !this.state.portState[hh.ip];*/} - console.log(this.state.portState) - this.setState({portState:!this.state.portState}); - }}/> + + + + const newPortState = update.newContext()(this.state.portState, { + [hh.ip]: !this.state.portState[hh.ip] + }); + + {/*this.setState({ portState: newPortState });*/ } + + }} /> + Host - {this.state.portState? - hh.ports ? hh.ports.map((port: Port, idx: number) => { + {this.state.portState[hh.ip] ? + hh.ports ? hh.ports.map((port: Port, idx: number) => { - return ( - - - - - - Port - {port.services ? port.services.map((service: Service, sIdx: number) => { - return ( - - - - - - Service - - - - ); - }) : ''} - - - - ); - }) : '' :''} + return ( + + + + + + Port + {port.services ? port.services.map((service: Service, sIdx: number) => { + return ( + + + + + + Service + + + + ); + }) : ''} + + + + ); + }) : '' : ''} @@ -103,13 +222,8 @@ export class Tree extends React.Component { ); } - - - } - - const jsonData = [{ "firstScanRange": 1, "lastScanRange": 10000,