sensor setup ing
This commit is contained in:
parent
33d0b896aa
commit
7cc5082a50
|
@ -4,10 +4,10 @@ import MetaSensorItemType from './MetaSensorItemType';
|
|||
|
||||
interface MetaSensorItem {
|
||||
id?: number;
|
||||
itemType: MetaSensorItemType;
|
||||
key: string;
|
||||
name: string;
|
||||
createDate: Date;
|
||||
itemType?: MetaSensorItemType;
|
||||
key?: string;
|
||||
name?: string;
|
||||
createDate?: Date;
|
||||
}
|
||||
|
||||
export default MetaSensorItem;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
interface MetaSensorStatus {
|
||||
id?: number;
|
||||
name: string;
|
||||
name?: string;
|
||||
}
|
||||
|
||||
export enum MetaSensorStatus_ID {
|
||||
|
|
|
@ -69,7 +69,7 @@ export class CrawlerSelector extends React.Component<CrawlerSelectorProps, Crawl
|
|||
let option = {
|
||||
// key: crawler.id,
|
||||
text: crawler.name,
|
||||
value: crawler.id,
|
||||
value: JSON.stringify(crawler),
|
||||
icon: 'check', // or close?
|
||||
};
|
||||
crawlerOptions.push(option);
|
||||
|
@ -83,15 +83,18 @@ export class CrawlerSelector extends React.Component<CrawlerSelectorProps, Crawl
|
|||
// selected: data.key,
|
||||
// });
|
||||
this.checkInstall();
|
||||
|
||||
let vCrawler: MetaCrawler = JSON.parse(String(data.value));
|
||||
|
||||
let crawler: MetaCrawler = {
|
||||
id: Number(data.value),
|
||||
id: vCrawler.id,
|
||||
};
|
||||
this.props.onCrawlerReadAllByMetaCrawler(crawler);
|
||||
|
||||
this.props.onSelectCrawlerId(Number(data.value));
|
||||
this.props.onSelectCrawlerId(vCrawler.id);
|
||||
|
||||
let sd = this.props.getSensor();
|
||||
sd.crawlerId = Number(data.value);
|
||||
sd.crawler = vCrawler;
|
||||
this.props.setSensor(sd);
|
||||
}
|
||||
|
||||
|
|
|
@ -177,19 +177,6 @@ export class SensorItemTree extends React.Component<SensorItemTreeProps, SensorI
|
|||
}
|
||||
}
|
||||
|
||||
// SensorJsonData.map((data: any, idx: number) => {
|
||||
// let sensorItem: MetaSensorItem = data;
|
||||
|
||||
// if (this.itemMap.has(sensorItem.itemType.id)) {
|
||||
// this.itemMap.get(sensorItem.itemType.id).metaSensorItemList.push(sensorItem);
|
||||
// } else {
|
||||
// let item: TreeItem = { metaSensorItemList: null, metaSensorItemType: null };
|
||||
// item.metaSensorItemList = [];
|
||||
// item.metaSensorItemList.push(sensorItem);
|
||||
// item.metaSensorItemType = this.GetMetaSensorItemType(sensorItem.itemType.id);
|
||||
// this.itemMap.set(sensorItem.itemType.id, item);
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
private onItemClick = (parentKey: number, idx: number) => {
|
||||
|
@ -199,17 +186,17 @@ export class SensorItemTree extends React.Component<SensorItemTreeProps, SensorI
|
|||
}
|
||||
|
||||
private onItemCheckCBox = (parentKey: number, checkProps: CheckboxProps, item: MetaSensorItem) => {
|
||||
if (this.selectedItemMap[parentKey] === undefined) {
|
||||
this.selectedItemMap[parentKey] = [];
|
||||
if (this.selectedItemMap.get(parentKey) === undefined) {
|
||||
this.selectedItemMap.set(parentKey, []);
|
||||
}
|
||||
if (checkProps.checked) {
|
||||
this.selectedItemMap[parentKey].push(item);
|
||||
this.selectedItemMap.get(parentKey).push(item);
|
||||
} else {
|
||||
let index: number = this.selectedItemMap[parentKey].indexOf(item);
|
||||
let index: number = this.selectedItemMap.get(parentKey).indexOf(item);
|
||||
if (index >= 0) {
|
||||
this.selectedItemMap[parentKey].splice(index, 1);
|
||||
this.selectedItemMap.get(parentKey).splice(index, 1);
|
||||
}
|
||||
if (this.selectedItemMap[parentKey].length <= 0) {
|
||||
if (this.selectedItemMap.get(parentKey).length <= 0) {
|
||||
let newCheckState: Map<number, boolean> = _.clone(this.state.categoryCheckState);
|
||||
newCheckState[parentKey] = false;
|
||||
this.setState({ categoryCheckState: newCheckState });
|
||||
|
@ -234,11 +221,15 @@ export class SensorItemTree extends React.Component<SensorItemTreeProps, SensorI
|
|||
}
|
||||
newItemState[key].fill(checkProps.checked);
|
||||
if (checkProps.checked) {
|
||||
this.selectedItemMap[key] = _.clone(data.metaSensorItemList);
|
||||
this.selectedItemMap.set(key, _.clone(data.metaSensorItemList));
|
||||
} else {
|
||||
this.selectedItemMap[key].length = 0;
|
||||
this.selectedItemMap.get(key).length = 0;
|
||||
}
|
||||
this.setState({ itemState: newItemState });
|
||||
|
||||
let sd = this.props.getSensor();
|
||||
sd.sensorItemMap = this.selectedItemMap;
|
||||
this.props.setSensor(sd);
|
||||
}
|
||||
|
||||
private checkUnCheckParent(metaSensorItemList: Array<MetaSensorItem>): boolean {
|
||||
|
@ -267,74 +258,4 @@ export class SensorItemTree extends React.Component<SensorItemTreeProps, SensorI
|
|||
|
||||
}
|
||||
|
||||
// const SensorTypeJsonData: any = [
|
||||
// {
|
||||
// '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,
|
||||
// 'itemType': {
|
||||
// 'id': 1,
|
||||
// 'name': 'CPU',
|
||||
// 'description': 'CPU blah blah blah',
|
||||
// 'createDate': 1498474179690,
|
||||
// },
|
||||
// 'key': 'cpu.usage',
|
||||
// 'name': 'CPU USAGE',
|
||||
// 'createDate': 1498475408269,
|
||||
// },
|
||||
// {
|
||||
// 'id': 2,
|
||||
// 'itemType': {
|
||||
// 'id': 1,
|
||||
// 'name': 'CPU',
|
||||
// 'description': 'CPU blah blah blah',
|
||||
// 'createDate': 1498474179690,
|
||||
// },
|
||||
// 'key': 'cpu.free',
|
||||
// 'name': 'CPU FREE',
|
||||
// 'createDate': 1498475408361,
|
||||
// },
|
||||
// {
|
||||
// 'id': 3,
|
||||
// 'itemType': {
|
||||
// 'id': 2,
|
||||
// 'name': 'MEMORY',
|
||||
// 'description': 'MEMORY blah blah blah',
|
||||
// 'createDate': 1498474179811,
|
||||
// },
|
||||
// 'key': 'mem.usage',
|
||||
// 'name': 'MEMORY USAGE',
|
||||
// 'createDate': 1498475408376,
|
||||
// },
|
||||
// {
|
||||
// 'id': 4,
|
||||
// 'itemType': {
|
||||
// 'id': 2,
|
||||
// 'name': 'MEMORY',
|
||||
// 'description': 'MEMORY blah blah blah',
|
||||
// 'createDate': 1498474179811,
|
||||
// },
|
||||
// 'key': 'mem.free',
|
||||
// 'name': 'MEMORY FREE',
|
||||
// 'createDate': 1498475408394,
|
||||
// }];
|
||||
|
||||
export default SensorItemTree;
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
|
||||
import MetaSensorItem from '@overflow/meta/api/model/MetaSensorItem';
|
||||
import Infra from '@overflow/infra/api/model/Infra';
|
||||
import Crawler from '@overflow/meta/api/model/MetaCrawler';
|
||||
|
||||
interface SensorRegistInfo {
|
||||
sensorItemMap: Map<number, Array<MetaSensorItem>>;
|
||||
crawlerId: number;
|
||||
targetId: number;
|
||||
crawler: Crawler;
|
||||
// targetId: number;
|
||||
interval: number;
|
||||
// type: string;
|
||||
infra: Infra;
|
||||
}
|
||||
|
||||
export default SensorRegistInfo;
|
||||
|
|
|
@ -28,11 +28,13 @@ import Domain from '@overflow/domain/api/model/Domain';
|
|||
|
||||
import Page from '@overflow/commons/api/model/Page';
|
||||
import SensorRegistInfo from '../../api/model/SensorRegistInfo';
|
||||
|
||||
import Sensor from '../../api/model/Sensor';
|
||||
import SensorItem from '../../api/model/SensorItem';
|
||||
import MetaSensorItem from '@overflow/meta/api/model/MetaSensorItem';
|
||||
import SensorItemTree from '@overflow/meta/react/SensorItemTree';
|
||||
import CrawlerSelectorContainer from '@overflow/meta/react/CrawlerSelector';
|
||||
|
||||
|
||||
import { MetaSensorStatus_ID } from '@overflow/meta/api/model/MetaSensorStatus';
|
||||
|
||||
|
||||
export interface SensorConfigStepperStateProps {
|
||||
|
@ -105,9 +107,40 @@ export class SensorConfigStepper extends React.Component<SensorConfigStepperProp
|
|||
if (step === this.props.steps.length + 1) {
|
||||
console.log('Done');
|
||||
console.log(this.props.getSensor());
|
||||
this.registSensor();
|
||||
}
|
||||
}
|
||||
|
||||
public registSensor(): void {
|
||||
let sensorData = this.props.getSensor();
|
||||
let sensor: Sensor = {};
|
||||
|
||||
sensor.crawler = { id: sensorData.crawler.id };
|
||||
sensor.target = { id: sensorData.infra.target.id };
|
||||
sensor.status = { id: MetaSensorStatus_ID.RUNNING };
|
||||
sensor.description = sensorData.infra.infraType.name + '-' + sensorData.crawler.name;
|
||||
|
||||
let msiList: Array<MetaSensorItem> = new Array;
|
||||
|
||||
// let msiArray: MetaSensorItem[];
|
||||
// let msi: MetaSensorItem;
|
||||
// for (let key of Array.from(sensorData.sensorItemMap.keys())) {
|
||||
// msiArray = sensorData.sensorItemMap[key];
|
||||
// for (let msi of msiArray) {
|
||||
// msiList.push(msi);
|
||||
// }
|
||||
// }
|
||||
|
||||
sensorData.sensorItemMap.forEach( (value: MetaSensorItem[], key: number) => {
|
||||
for(let msi of value) {
|
||||
msiList.push(msi);
|
||||
}
|
||||
});
|
||||
|
||||
console.log(sensor);
|
||||
console.log(msiList);
|
||||
}
|
||||
|
||||
public showContent(): any {
|
||||
return this.props.steps[this.state.currentStep - 1];
|
||||
}
|
||||
|
@ -154,7 +187,9 @@ export class SensorConfigStepper extends React.Component<SensorConfigStepperProp
|
|||
this.selectOptions = selectionOptions;
|
||||
|
||||
let sd = this.props.getSensor();
|
||||
sd.targetId = this.props.infra.target.id;
|
||||
// sd.targetId = this.props.infra.target.id;
|
||||
// sd.type = this.props.infra.infraType.name;
|
||||
sd.infra = this.props.infra;
|
||||
this.props.setSensor(sd);
|
||||
}
|
||||
|
||||
|
@ -162,7 +197,8 @@ export class SensorConfigStepper extends React.Component<SensorConfigStepperProp
|
|||
let option = {
|
||||
key: infra.id,
|
||||
text: infra.infraType.name + '-' + infra.target.displayName,
|
||||
value: infra.target.id,
|
||||
// value: infra.target.id,
|
||||
value: JSON.stringify(infra),
|
||||
// icon: 'check', // or close?
|
||||
};
|
||||
return option;
|
||||
|
@ -177,8 +213,10 @@ export class SensorConfigStepper extends React.Component<SensorConfigStepperProp
|
|||
|
||||
public onChangeTarget(event: React.SyntheticEvent<HTMLElement>, data: DropdownProps): void {
|
||||
let sd = this.props.getSensor();
|
||||
|
||||
sd.targetId = Number(data.value);
|
||||
// let infra: Infra = JSON.parse(String(data.value));
|
||||
// sd.targetId = infra.target.id;
|
||||
// sd.type = infra.infraType.name;
|
||||
sd.infra = JSON.parse(String(data.value));
|
||||
this.props.setSensor(sd);
|
||||
}
|
||||
|
||||
|
|
|
@ -113,14 +113,14 @@ export interface ETCSelectorProps {
|
|||
}
|
||||
|
||||
export interface ETCSelectorState {
|
||||
interval: number;
|
||||
interval: string;
|
||||
}
|
||||
|
||||
export class ETCSelector extends React.Component<ETCSelectorProps, ETCSelectorState> {
|
||||
constructor(props: any, context: any) {
|
||||
super(props, context);
|
||||
this.state = {
|
||||
interval: 5,
|
||||
interval: '5',
|
||||
};
|
||||
}
|
||||
public handleIntervalChange = (e: any, { value }: any) => {
|
||||
|
@ -145,21 +145,21 @@ export class ETCSelector extends React.Component<ETCSelectorProps, ETCSelectorSt
|
|||
label='5 seconds'
|
||||
name='radioGroup'
|
||||
value='5'
|
||||
checked={this.state.interval === 5}
|
||||
checked={this.state.interval === '5'}
|
||||
onChange={this.handleIntervalChange}
|
||||
/>
|
||||
<Form.Radio
|
||||
label='10 seconds'
|
||||
name='radioGroup'
|
||||
value='10'
|
||||
checked={this.state.interval === 10}
|
||||
checked={this.state.interval === '10'}
|
||||
onChange={this.handleIntervalChange}
|
||||
/>
|
||||
<Form.Radio
|
||||
label='15 seconds'
|
||||
name='radioGroup'
|
||||
value='15'
|
||||
checked={this.state.interval === 15}
|
||||
checked={this.state.interval === '15'}
|
||||
onChange={this.handleIntervalChange}
|
||||
/>
|
||||
</Form.Group>
|
||||
|
|
Loading…
Reference in New Issue
Block a user