import React from "react";
import Loader from "../loader/loader";
import PropTypes from "prop-types";
import { Map, List } from "immutable";
// TODO: udpate this
import { OverlayTrigger, Tooltip } from "react-bootstrap";
const Modules = props => {
if (props.isLoading) {
return ;
}
return (
{props.modules &&
props.modules
.keySeq()
.map((value, key) => (
))}
);
};
Modules.propTypes = {
isLoading: PropTypes.bool.isRequired,
modules: PropTypes.instanceOf(Map)
};
export default Modules;
const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1);
const ModulesByVideoType = props => (
{`${capitalize(props.videoType)} modules`}
{props.data.keySeq().map((value, key) => (
))}
);
ModulesByVideoType.propTypes = {
videoType: PropTypes.string.isRequired,
data: PropTypes.instanceOf(Map)
};
const ModuleByType = props => (
{capitalize(props.type)}
{props.data.map(function(value, key) {
return ;
})}
);
ModuleByType.propTypes = {
type: PropTypes.string.isRequired,
data: PropTypes.instanceOf(List)
};
const Module = props => {
let iconClass, prettyStatus, badgeClass;
const name = props.data.get("name");
switch (props.data.get("status")) {
case "ok":
iconClass = "fa fa-check-circle";
badgeClass = "badge badge-pill badge-success";
prettyStatus = "OK";
break;
case "fail":
iconClass = "fa fa-times-circle";
badgeClass = "badge badge-pill badge-danger";
prettyStatus = "Fail";
break;
case "not_implemented":
iconClass = "fa fa-question-circle";
badgeClass = "badge badge-pill badge-default";
prettyStatus = "Not implemented";
break;
default:
iconClass = "fa fa-question-circle";
badgeClass = "badge badge-pill badge-warning";
prettyStatus = "Unknown";
}
const tooltip = (
Status: {prettyStatus}
{props.data.get("error") !== "" && (
Error: {props.data.get("error")}
)}
);
return (
{name} |
{prettyStatus}
|
);
};
Module.propTypes = {
data: PropTypes.instanceOf(Map)
};