frontend/app/validation/ValidateMdcPing.jsx (25 lines of code) (raw):
import ValidationComponent from "./ValidationComponent.jsx";
class ValidateMdcPing extends ValidationComponent {
performValidation() {
if(!this.props.listData){
this.setState({tooltip: "No data provided"});
return "problem";
}
const visibleMdcList = this.props.listData.filter(entry=>entry.visible);
if(visibleMdcList.length===0){
this.setState({tooltip: "No metadata controllers visible"});
return "problem";
}
if(visibleMdcList.length!==this.props.listData.length){
this.setState({tooltip: "Not all metadata controllers visible"});
return "warning";
}
const highPacketCounts = this.props.listData.filter(entry=>entry.packetloss>0);
if(highPacketCounts.length>0){
this.setState({tooltip: "Packet loss seen, check network connections"});
return "warning";
}
return "normal";
}
}
export default ValidateMdcPing;