import * as React from 'react'; import MobxPromise from 'mobxpromise'; import { observer } from 'mobx-react'; import styles from './styles.module.scss'; import classNames from 'classnames'; import ErrorBox from '../errorBox/ErrorBox'; import ReactElement = React.ReactElement; import { ThreeBounce } from 'better-react-spinkit'; import LoadingIndicator from '../loadingIndicator/LoadingIndicator'; interface ISectionHeaderProps extends React.DetailedHTMLProps< React.HTMLAttributes, HTMLDivElement > { promises?: MobxPromise[]; secondaryComponent?: ReactElement; } @observer export default class SectionHeader extends React.Component< ISectionHeaderProps, {} > { render() { let { promises, children, className, secondaryComponent, ...divProps } = this.props; return (

{children} {!!( promises && promises.some(promise => promise.isPending) ) && }

{!!secondaryComponent && secondaryComponent} {promises && promises.map( promise => !!promise.error && ( ) )}
); } }