dd
This commit is contained in:
parent
6b114c498b
commit
639b803b47
|
@ -38,6 +38,10 @@ export function mapDispatchToProps(dispatch: Dispatch<HistoryDispatchProps>, own
|
||||||
dispatch(asyncRequestActions.request('HistoryService', 'readAllByProbeAndType', readAllByProbeAndTypeActions.REQUEST,
|
dispatch(asyncRequestActions.request('HistoryService', 'readAllByProbeAndType', readAllByProbeAndTypeActions.REQUEST,
|
||||||
JSON.stringify(probe), JSON.stringify(type), pageNo, countPerPage));
|
JSON.stringify(probe), JSON.stringify(type), pageNo, countPerPage));
|
||||||
},
|
},
|
||||||
|
onReadAllByDomainAndType: (domain: Domain, type: MetaHistoryType, pageNo: string, countPerPage: string) => {
|
||||||
|
dispatch(asyncRequestActions.request('HistoryService', 'readAllByProbeAndType', readAllByProbeAndTypeActions.REQUEST,
|
||||||
|
JSON.stringify(domain), JSON.stringify(type), pageNo, countPerPage));
|
||||||
|
},
|
||||||
onReadAllProbeByDomain: (domain: Domain) => {
|
onReadAllProbeByDomain: (domain: Domain) => {
|
||||||
dispatch(asyncRequestActions.request('ProbeService', 'readAllByDomain', probeListActions.REQUEST, JSON.stringify(domain)));
|
dispatch(asyncRequestActions.request('ProbeService', 'readAllByDomain', probeListActions.REQUEST, JSON.stringify(domain)));
|
||||||
},
|
},
|
||||||
|
|
|
@ -23,6 +23,7 @@ export interface DispatchProps {
|
||||||
onReadAllByDomain?(domain: Domain, pageNo: string, countPerPage: string): void;
|
onReadAllByDomain?(domain: Domain, pageNo: string, countPerPage: string): void;
|
||||||
onReadAllByProbe?(probe: Probe, pageNo: string, countPerPage: string): void;
|
onReadAllByProbe?(probe: Probe, pageNo: string, countPerPage: string): void;
|
||||||
onReadAllByProbeAndType?(probe: Probe, type: MetaHistoryType, pageNo: string, countPerPage: string): void;
|
onReadAllByProbeAndType?(probe: Probe, type: MetaHistoryType, pageNo: string, countPerPage: string): void;
|
||||||
|
onReadAllByDomainAndType?(domain: Domain, type: MetaHistoryType, pageNo: string, countPerPage: string): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Props = StateProps & DispatchProps;
|
export type Props = StateProps & DispatchProps;
|
||||||
|
@ -35,6 +36,7 @@ export class HistoryList extends React.Component<Props, State> {
|
||||||
|
|
||||||
private countPerPage: number = 10;
|
private countPerPage: number = 10;
|
||||||
private selectedProbeId: number = 0;
|
private selectedProbeId: number = 0;
|
||||||
|
private selectedTypeId: number = 0;
|
||||||
|
|
||||||
constructor(props: Props, context: State) {
|
constructor(props: Props, context: State) {
|
||||||
super(props, context);
|
super(props, context);
|
||||||
|
@ -66,12 +68,12 @@ export class HistoryList extends React.Component<Props, State> {
|
||||||
public getAllHistory(pageNo: number): void {
|
public getAllHistory(pageNo: number): void {
|
||||||
if (this.selectedProbeId === 0) {
|
if (this.selectedProbeId === 0) {
|
||||||
let domain: Domain = {
|
let domain: Domain = {
|
||||||
id: Number(1),
|
id: 1,
|
||||||
};
|
};
|
||||||
this.props.onReadAllByDomain(domain, String(pageNo), String(this.countPerPage));
|
this.props.onReadAllByDomain(domain, String(pageNo), String(this.countPerPage));
|
||||||
} else {
|
} else {
|
||||||
let probe: Probe = {
|
let probe: Probe = {
|
||||||
id: Number(this.selectedProbeId),
|
id: this.selectedProbeId,
|
||||||
};
|
};
|
||||||
this.props.onReadAllByProbe(probe, String(pageNo), String(this.countPerPage));
|
this.props.onReadAllByProbe(probe, String(pageNo), String(this.countPerPage));
|
||||||
}
|
}
|
||||||
|
@ -79,7 +81,7 @@ export class HistoryList extends React.Component<Props, State> {
|
||||||
|
|
||||||
public getTypedHistory(pageNo: number): void {
|
public getTypedHistory(pageNo: number): void {
|
||||||
let probe: Probe = {
|
let probe: Probe = {
|
||||||
id: Number(1),
|
id: this.selectedProbeId,
|
||||||
};
|
};
|
||||||
let type = this.props.path.split('/')[1];
|
let type = this.props.path.split('/')[1];
|
||||||
this.props.onReadAllByProbeAndType(probe, this.getMetaType(type), String(pageNo), String(this.countPerPage));
|
this.props.onReadAllByProbeAndType(probe, this.getMetaType(type), String(pageNo), String(this.countPerPage));
|
||||||
|
@ -122,6 +124,7 @@ export class HistoryList extends React.Component<Props, State> {
|
||||||
<Table.Header>
|
<Table.Header>
|
||||||
<Table.Row>
|
<Table.Row>
|
||||||
<Table.HeaderCell textAlign={'center'}>No.</Table.HeaderCell>
|
<Table.HeaderCell textAlign={'center'}>No.</Table.HeaderCell>
|
||||||
|
<Table.HeaderCell textAlign={'center'}>Probe</Table.HeaderCell>
|
||||||
<Table.HeaderCell textAlign={'center'}>Type</Table.HeaderCell>
|
<Table.HeaderCell textAlign={'center'}>Type</Table.HeaderCell>
|
||||||
<Table.HeaderCell textAlign={'center'}>Message</Table.HeaderCell>
|
<Table.HeaderCell textAlign={'center'}>Message</Table.HeaderCell>
|
||||||
<Table.HeaderCell textAlign={'center'}>Created At</Table.HeaderCell>
|
<Table.HeaderCell textAlign={'center'}>Created At</Table.HeaderCell>
|
||||||
|
@ -133,17 +136,20 @@ export class HistoryList extends React.Component<Props, State> {
|
||||||
{this.props.histories && this.props.histories.content ?
|
{this.props.histories && this.props.histories.content ?
|
||||||
this.props.histories.content.map((history: History, index: number) => (
|
this.props.histories.content.map((history: History, index: number) => (
|
||||||
<Table.Row key={index} >
|
<Table.Row key={index} >
|
||||||
<Table.Cell textAlign={'center'}>{history.id}</Table.Cell>
|
<Table.Cell textAlign={'center'} collapsing>{history.id}</Table.Cell>
|
||||||
<Table.Cell textAlign={'center'}>
|
<Table.Cell textAlign={'center'} collapsing>
|
||||||
|
{history.probe.displayName}
|
||||||
|
</Table.Cell>
|
||||||
|
<Table.Cell textAlign={'center'} collapsing>
|
||||||
{history.type.name}
|
{history.type.name}
|
||||||
</Table.Cell>
|
</Table.Cell>
|
||||||
<Table.Cell>
|
<Table.Cell>
|
||||||
{history.message}
|
{history.message}
|
||||||
</Table.Cell>
|
</Table.Cell>
|
||||||
<Table.Cell>
|
<Table.Cell collapsing>
|
||||||
{history.createDate}
|
{history.createDate}
|
||||||
</Table.Cell>
|
</Table.Cell>
|
||||||
<Table.Cell>
|
<Table.Cell collapsing>
|
||||||
{history.member.name}
|
{history.member.name}
|
||||||
</Table.Cell>
|
</Table.Cell>
|
||||||
</Table.Row>
|
</Table.Row>
|
||||||
|
@ -163,6 +169,7 @@ export class HistoryList extends React.Component<Props, State> {
|
||||||
let filter = <HistoryFilter probes={this.props.probes}
|
let filter = <HistoryFilter probes={this.props.probes}
|
||||||
onProbeChange={this.handleProbeChange}
|
onProbeChange={this.handleProbeChange}
|
||||||
historyTypes={this.props.historyTypes}
|
historyTypes={this.props.historyTypes}
|
||||||
|
onTypeChange={this.handleTypeChange}
|
||||||
/>;
|
/>;
|
||||||
return (
|
return (
|
||||||
<ListContainer
|
<ListContainer
|
||||||
|
@ -173,9 +180,45 @@ export class HistoryList extends React.Component<Props, State> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo. refactoring
|
||||||
private handleProbeChange = (probeId: number) => {
|
private handleProbeChange = (probeId: number) => {
|
||||||
this.selectedProbeId = probeId;
|
this.selectedProbeId = probeId;
|
||||||
this.getAllHistory(0);
|
this.getHistoryByFilter();
|
||||||
|
}
|
||||||
|
// todo. refactoring
|
||||||
|
private handleTypeChange = (typeId: number) => {
|
||||||
|
this.selectedTypeId = typeId;
|
||||||
|
this.getHistoryByFilter();
|
||||||
|
}
|
||||||
|
// todo. refactoring
|
||||||
|
private getHistoryByFilter = () => {
|
||||||
|
if (this.selectedProbeId === 0) {
|
||||||
|
// readAllByDomain or readAllByDomainAndType
|
||||||
|
const domain: Domain = {
|
||||||
|
id: 1,
|
||||||
|
};
|
||||||
|
if (this.selectedTypeId === 0) {
|
||||||
|
this.props.onReadAllByDomain(domain, String(0), String(this.countPerPage));
|
||||||
|
} else {
|
||||||
|
const type: MetaHistoryType = {
|
||||||
|
id: this.selectedTypeId,
|
||||||
|
};
|
||||||
|
this.props.onReadAllByDomainAndType(domain, type, String(0), String(this.countPerPage));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// readAllByProbe or readAllByProbeAndType
|
||||||
|
const probe: Probe = {
|
||||||
|
id: this.selectedProbeId,
|
||||||
|
};
|
||||||
|
if (this.selectedTypeId === 0) {
|
||||||
|
this.props.onReadAllByProbe(probe, String(0), String(this.countPerPage));
|
||||||
|
} else {
|
||||||
|
const type: MetaHistoryType = {
|
||||||
|
id: this.selectedTypeId,
|
||||||
|
};
|
||||||
|
this.props.onReadAllByProbeAndType(probe, type, String(0), String(this.countPerPage));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,10 +229,12 @@ export interface FilterProps {
|
||||||
probes: Probe[];
|
probes: Probe[];
|
||||||
historyTypes: MetaHistoryType[];
|
historyTypes: MetaHistoryType[];
|
||||||
onProbeChange(probeId: number): void;
|
onProbeChange(probeId: number): void;
|
||||||
|
onTypeChange(typeId: number): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FilterState {
|
export interface FilterState {
|
||||||
selectedProbeId: number;
|
selectedProbeId: number;
|
||||||
|
selectedTypeId: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
import { Dropdown, Form, Radio } from 'semantic-ui-react';
|
import { Dropdown, Form, Radio } from 'semantic-ui-react';
|
||||||
|
@ -200,6 +245,7 @@ export class HistoryFilter extends React.Component<FilterProps, FilterState> {
|
||||||
super(props, context);
|
super(props, context);
|
||||||
this.state = {
|
this.state = {
|
||||||
selectedProbeId: 0,
|
selectedProbeId: 0,
|
||||||
|
selectedTypeId: 0,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,7 +253,6 @@ export class HistoryFilter extends React.Component<FilterProps, FilterState> {
|
||||||
if (this.props.probes === null || this.props.probes === undefined) {
|
if (this.props.probes === null || this.props.probes === undefined) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
console.log(this.props.historyTypes);
|
|
||||||
return (
|
return (
|
||||||
<Form>
|
<Form>
|
||||||
<Form.Field>Probe</Form.Field>
|
<Form.Field>Probe</Form.Field>
|
||||||
|
@ -221,24 +266,35 @@ export class HistoryFilter extends React.Component<FilterProps, FilterState> {
|
||||||
}} />
|
}} />
|
||||||
</Form.Field>
|
</Form.Field>
|
||||||
<Form.Field>Type</Form.Field>
|
<Form.Field>Type</Form.Field>
|
||||||
<Form.Field>
|
{this.renderTypesRadio()}
|
||||||
<Radio
|
|
||||||
label={this.props.historyTypes[0].name}
|
|
||||||
name='radioGroup'
|
|
||||||
value='this'
|
|
||||||
/>
|
|
||||||
</Form.Field>
|
|
||||||
<Form.Field>
|
|
||||||
<Radio
|
|
||||||
label='Or that'
|
|
||||||
name='radioGroup'
|
|
||||||
value='that'
|
|
||||||
/>
|
|
||||||
</Form.Field>
|
|
||||||
</Form>
|
</Form>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private renderTypesRadio = (): JSX.Element[] => {
|
||||||
|
if (this.props.historyTypes === undefined) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return this.props.historyTypes.map((type: MetaHistoryType, index: number) => (
|
||||||
|
<Form.Field key={index}>
|
||||||
|
<Radio
|
||||||
|
slider
|
||||||
|
label={type.name}
|
||||||
|
name='historyType'
|
||||||
|
value={type.id}
|
||||||
|
checked={this.state.selectedTypeId === type.id}
|
||||||
|
onChange={this.handleTypeChange}
|
||||||
|
/>
|
||||||
|
</Form.Field>
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
private handleTypeChange = (e: React.SyntheticEvent<HTMLInputElement>, data: any) => {
|
||||||
|
this.setState({ selectedTypeId: data.value });
|
||||||
|
this.props.onTypeChange(data.value);
|
||||||
|
}
|
||||||
|
|
||||||
private getOptions(): Array<object> {
|
private getOptions(): Array<object> {
|
||||||
let res = new Array;
|
let res = new Array;
|
||||||
let all = {
|
let all = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user