target list from domain
This commit is contained in:
parent
8556f5edbc
commit
6a38cd64ea
|
@ -10,6 +10,7 @@ import readProbeReducer from '@overflow/probe/redux/reducer/read';
|
|||
import readNoAuthProbeReducer from '@overflow/noauthprobe/redux/reducer/read_all_by_domain';
|
||||
|
||||
import readAllTargetByProbeReducer from '@overflow/target/redux/reducer/readAllByProbe';
|
||||
import readAllTargetByDomainReducer from '@overflow/target/redux/reducer/read_all_by_domain';
|
||||
import readTargetReducer from '@overflow/target/redux/reducer/read';
|
||||
|
||||
import sensorReadAllByTargetReducer from '@overflow/sensor/redux/reducer/read_all_by_target';
|
||||
|
@ -66,6 +67,7 @@ const reduxConfig: ReduxConfig = {
|
|||
signUpReducer,
|
||||
SensorItemReadAllBySensorReducer,
|
||||
readAllTargetByProbeReducer,
|
||||
readAllTargetByDomainReducer,
|
||||
readTargetReducer,
|
||||
readNoAuthProbeReducer,
|
||||
readMachineReducer,
|
||||
|
|
|
@ -153,11 +153,11 @@ export class InfraDetail extends React.Component<Props, State> {
|
|||
|
||||
NewTableDatas = [{
|
||||
header: 'IP',
|
||||
contents: infraChild.ip,
|
||||
contents: Utils.int2ip(infraChild.ip),
|
||||
},
|
||||
{
|
||||
header: 'MAC',
|
||||
contents: infraChild.mac,
|
||||
contents: Utils.intToMac(infraChild.mac),
|
||||
},
|
||||
];
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import {
|
|||
} from './components/TargetList';
|
||||
|
||||
import Probe from '@overflow/probe/api/model/Probe';
|
||||
import Domain from '@overflow/domain/api/model/Domain';
|
||||
import * as targetListActions from '../redux/action/read_all_by_probe';
|
||||
import { push as routerPush } from 'react-router-redux';
|
||||
import * as asyncRequestActions from '@overflow/commons/redux/action/asyncRequest';
|
||||
|
@ -22,6 +23,9 @@ export function mapDispatchToProps(dispatch: Dispatch<any>): DispatchProps {
|
|||
onReadAllByProbe: (probe: Probe) => {
|
||||
dispatch(asyncRequestActions.request('InfraService', 'readAllByProbe', targetListActions.REQUEST, JSON.stringify(probe)));
|
||||
},
|
||||
onReadAllByDomain: (domain: Domain) => {
|
||||
dispatch(asyncRequestActions.request('InfraService', 'readAllByDomain', targetListActions.REQUEST, JSON.stringify(domain)));
|
||||
},
|
||||
onTargetSelection: (id: string) => {
|
||||
dispatch(routerPush('/target/' + id));
|
||||
},
|
||||
|
|
|
@ -3,17 +3,19 @@ import { Table, Button, Modal, Input, Header, Container, InputOnChangeData, Butt
|
|||
import { TargetDetail } from './TargetDetail';
|
||||
import Infra from '@overflow/infra/api/model/Infra';
|
||||
import Probe from '@overflow/probe/api/model/Probe';
|
||||
import Domain from '@overflow/domain/api/model/Domain';
|
||||
import { ListContainer } from '@overflow/commons/react/component/ListContainer';
|
||||
import { Discovery } from '../../../discovery/react/components/Discovery';
|
||||
|
||||
export interface StateProps {
|
||||
probeId: string;
|
||||
infraList: Infra[];
|
||||
probeId?: string;
|
||||
infraList?: Infra[];
|
||||
}
|
||||
|
||||
export interface DispatchProps {
|
||||
onReadAllByProbe(probe: Probe): void;
|
||||
onTargetSelection(id: string): void;
|
||||
onReadAllByProbe?(probe: Probe): void;
|
||||
onReadAllByDomain?(domain: Domain): void;
|
||||
onTargetSelection?(id: string): void;
|
||||
}
|
||||
|
||||
export type Props = StateProps & DispatchProps;
|
||||
|
@ -34,10 +36,21 @@ export class TargetList extends React.Component<Props, State> {
|
|||
}
|
||||
|
||||
public componentWillMount(): void {
|
||||
let probe: Probe = {
|
||||
id: Number(1),
|
||||
};
|
||||
this.props.onReadAllByProbe(probe);
|
||||
|
||||
if (this.props.probeId === undefined) {
|
||||
// FIXME: get domain
|
||||
let domain: Domain = {
|
||||
id: 1,
|
||||
};
|
||||
this.props.onReadAllByDomain(domain);
|
||||
} else {
|
||||
let probe: Probe = {
|
||||
id: Number(this.props.probeId),
|
||||
};
|
||||
this.props.onReadAllByProbe(probe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public handleSelect(selectedTarget: any): void {
|
||||
|
@ -81,7 +94,7 @@ export class TargetList extends React.Component<Props, State> {
|
|||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
if(this.props.infraList === undefined) {
|
||||
if (this.props.infraList === undefined) {
|
||||
return null;
|
||||
}
|
||||
let targetList =
|
||||
|
@ -103,7 +116,7 @@ export class TargetList extends React.Component<Props, State> {
|
|||
{this.props.infraList.map((infra: Infra, index: number) => (
|
||||
<Table.Row key={index} onClick={this.handleSelect.bind(this, infra)}>
|
||||
<Table.Cell textAlign={'center'}>{index + 1}</Table.Cell>
|
||||
<Table.Cell textAlign={'center'}>{infra.infraType.name}</Table.Cell>
|
||||
<Table.Cell textAlign={'center'}>{infra.infraType.name}</Table.Cell>
|
||||
<Table.Cell textAlign={'center'}>{infra.target.displayName}</Table.Cell>
|
||||
<Table.Cell>TODO</Table.Cell>
|
||||
<Table.Cell>{infra.target.createDate}</Table.Cell>
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// Action Type
|
||||
export type REQUEST = '@overflow/target/read_all_by_domain/REQUEST';
|
||||
export type REQUEST_SUCCESS = '@overflow/target/read_all_by_domain/REQUEST/SUCCESS';
|
||||
export type REQUEST_FAILURE = '@overflow/target/read_all_by_domain/REQUEST/FAILURE';
|
||||
|
||||
export const REQUEST: REQUEST = '@overflow/target/read_all_by_domain/REQUEST';
|
||||
export const REQUEST_SUCCESS: REQUEST_SUCCESS = '@overflow/target/read_all_by_domain/REQUEST/SUCCESS';
|
||||
export const REQUEST_FAILURE: REQUEST_FAILURE = '@overflow/target/read_all_by_domain/REQUEST/FAILURE';
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
import Domain from '@overflow/domain/api/model/Domain';
|
||||
|
||||
interface ReadAllByDomainPayload {
|
||||
probe: Domain;
|
||||
}
|
||||
|
||||
export default ReadAllByDomainPayload;
|
24
src/ts/@overflow/target/redux/reducer/read_all_by_domain.ts
Normal file
24
src/ts/@overflow/target/redux/reducer/read_all_by_domain.ts
Normal 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 ReadAllByDomainActionTypes from '../action/read_all_by_domain';
|
||||
import ReadAllByDomainState, { defaultState as ReadAllByDomainDefaultState } from '../state/ReadAllByDomain';
|
||||
|
||||
const reducer: ReducersMapObject = {
|
||||
[ReadAllByDomainActionTypes.REQUEST_SUCCESS]:
|
||||
(state: ReadAllByDomainState = ReadAllByDomainDefaultState, action: Action<Infra>):
|
||||
ReadAllByDomainState => {
|
||||
return {
|
||||
...state,
|
||||
infraList: <Infra[]>action.payload,
|
||||
};
|
||||
},
|
||||
[ReadAllByDomainActionTypes.REQUEST_FAILURE]:
|
||||
(state: ReadAllByDomainState = ReadAllByDomainDefaultState, action: Action<Infra>):
|
||||
ReadAllByDomainState => {
|
||||
return state;
|
||||
},
|
||||
};
|
||||
|
||||
export default reducer;
|
13
src/ts/@overflow/target/redux/state/ReadAllByDomain.ts
Normal file
13
src/ts/@overflow/target/redux/state/ReadAllByDomain.ts
Normal file
|
@ -0,0 +1,13 @@
|
|||
import Infra from '@overflow/infra/api/model/Infra';
|
||||
|
||||
export interface State {
|
||||
readonly infraList?: Infra[];
|
||||
readonly error?: Error;
|
||||
}
|
||||
|
||||
export const defaultState: State = {
|
||||
infraList: undefined,
|
||||
error: undefined,
|
||||
};
|
||||
|
||||
export default State;
|
Loading…
Reference in New Issue
Block a user