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) };