fixed sensor regist

This commit is contained in:
snoop 2017-08-24 15:54:26 +09:00
parent f4bbbdec3c
commit 03ba9a1e7b
5 changed files with 72 additions and 15 deletions

View File

@ -30,6 +30,7 @@ import readMachineReducer from '@overflow/infra/redux/reducer/machine_read';
import readHostReducer from '@overflow/infra/redux/reducer/host_read';
import readOSReducer from '@overflow/infra/redux/reducer/os_read';
import readServiceReducer from '@overflow/infra/redux/reducer/service_read';
import InfraReadServiceReducer from '@overflow/infra/redux/reducer/read';
import CrawlerReadAllByTargetReducer from '@overflow/meta/redux/reducer/crawler_read_all_by_target';
import CrawlerAuthInputsReducer from '@overflow/meta/redux/reducer/crawler_auth_inputs';
@ -106,6 +107,7 @@ const reduxConfig: ReduxConfig = {
HistoryReadAllByProbeReducer,
HistoryReadAllByProbeAndTypeReducer,
readAllTargetByInfraReducer,
InfraReadServiceReducer,
],
sagaWatchers: [
AsyncRequest,

View File

@ -0,0 +1,24 @@
import Action from '@overflow/commons/redux/Action';
import { ReducersMapObject } from 'redux';
import Infra from '@overflow/infra/api/model/Infra';
import * as readActionType from '../action/read';
import ReadState, { defaultState as ReadDefaultState } from '../state/Read';
const reducer: ReducersMapObject = {
[readActionType.REQUEST_SUCCESS]:
(state: ReadState = ReadDefaultState, action: Action<Infra>):
ReadState => {
return {
...state,
infra: <Infra>action.payload,
};
},
[readActionType.REQUEST_FAILURE]:
(state: ReadState = ReadDefaultState, action: Action<Error>):
ReadState => {
return state;
},
};
export default reducer;

View File

@ -0,0 +1,13 @@
import Infra from '@overflow/infra/api/model/Infra';
export interface State {
readonly infra?: Infra;
readonly error?: Error;
}
export const defaultState: State = {
infra: undefined,
error: undefined,
};
export default State;

View File

@ -17,6 +17,7 @@ import * as RegistActions from '../redux/action/regist';
import * as asyncRequestActions from '@overflow/commons/redux/action/asyncRequest';
import * as targetListActions from '@overflow/target/redux/action/read_all_by_probe';
import * as readActionType from '@overflow/infra/redux/action/read';
// FIXME::....
@ -24,27 +25,28 @@ export function mapStateToProps(state: any, props: any): SensorConfigurationStat
return {
infraList: state.infraList,
infraId: props.params.id,
infra: state.infra,
};
}
export function mapDispatchToProps(dispatch: Dispatch<any>): SensorConfigurationDispatchProps {
return {
onCrawlerReadAllByTarget: (target: Target) => {
dispatch(asyncRequestActions.request('MetaCrawlerService', 'readAll', CrawlerReadAllByTargetActions.REQUEST));
},
onReadAllTargetByDomain: (domain: Domain) => {
dispatch(asyncRequestActions.request('InfraService', 'readAllByDomain', targetListActions.REQUEST, JSON.stringify(domain)));
dispatch(asyncRequestActions.request('InfraService', 'readAllByDomain', targetListActions.REQUEST, JSON.stringify(domain)));
},
onCheckCrawlerAuth: (authInfo: string) => {
// dispatch(ReadActions.request(id));
onReadInfra: (infraId: number) => {
dispatch(asyncRequestActions.request('InfraService', 'read', readActionType.REQUEST, infraId));
},
// onCheckCrawlerAuth: (authInfo: string) => {
// // dispatch(ReadActions.request(id));
// },
// FIXME::how to sensor item?
onReadMetaSensorItem: () => {
// dispatch(SensorItemReadAllActions.request());
},
onSaveSensor: (sensor: Sensor) => {
// dispatch(RegistActions.request(sensor));
},
// onReadMetaSensorItem: () => {
// // dispatch(SensorItemReadAllActions.request());
// },
// onSaveSensor: (sensor: Sensor) => {
// // dispatch(RegistActions.request(sensor));
// },
};
}

View File

@ -12,10 +12,12 @@ import CrawlerSelectorContainer from '@overflow/meta/react/CrawlerSelector';
export interface SensorConfigurationStateProps {
infraId?: number;
infraList?: Infra[];
infra?: Infra;
}
export interface SensorConfigurationDispatchProps {
onReadAllTargetByDomain?(domain: Domain): void;
onReadInfra?(infraId: number ): void;
}
export interface SensorConfigurationState {
@ -33,6 +35,14 @@ export class SensorConfiguration extends React.Component<SensorConfigurationProp
};
}
public componentWillMount(): void {
if(this.props.infraId === undefined) {
this.props.onReadAllTargetByDomain({id: 1});
} else {
this.props.onReadInfra(this.props.infraId);
}
}
public onSelectCrawlerId = (id: number) => {
this.setState({
selectedCrawlerId: id,
@ -45,7 +55,7 @@ export class SensorConfiguration extends React.Component<SensorConfigurationProp
<Segment vertical><SensorItemTree crawlerId={this.state.selectedCrawlerId} /></Segment>, <ETCSelector />];
return (
<ConfigStepper steps={steps} />
<ConfigStepper steps={steps} infra={this.props.infra} infraList={this.props.infraList}/>
);
}
}
@ -53,6 +63,8 @@ export class SensorConfiguration extends React.Component<SensorConfigurationProp
export interface ConfigStepperProps {
steps: Array<JSX.Element>;
infraList?: Infra[];
infra?: Infra;
}
export interface ConfigStepperState {
@ -128,7 +140,11 @@ export class ConfigStepper extends React.Component<ConfigStepperProps, ConfigSte
}
}
public renderTarget(): JSX.Element[] {
public renderInfraList(): JSX.Element[] {
if(this.props.infraList === undefined) {
return null;
}
let elems: Array<JSX.Element> = new Array;
@ -159,7 +175,7 @@ export class ConfigStepper extends React.Component<ConfigStepperProps, ConfigSte
<Step.Content title='Step 3' description='나머지도 골라 아 빨리' />
</Step>
</Step.Group>
{this.renderInfraList()}
{this.showContent()}
<br />
<Button.Group floated='right'> {/* floated 사용시 레이아웃 깨지는 현상 */}