github.com/replicatedhq/ship@v0.55.0/web/init/src/components/config_render/ConfigItemTitle.jsx (about)

     1  import React from "react";
     2  import Markdown from "react-remarkable";
     3  import classNames from "classnames";
     4  
     5  export default class ConfigItemTitle extends React.Component {
     6  
     7    render() {
     8      const {
     9        title,
    10        recommended,
    11        required,
    12        hidden,
    13        when,
    14        error = ""
    15      } = this.props;
    16  
    17      var isHidden = hidden || when === "false" || (!title && !required && !recommended);
    18  
    19      if (isHidden) {
    20        return null;
    21      }
    22  
    23      return (
    24        <h4 className="sub-header-color field-section-sub-header" style={title ? { marginBottom: -18 } : {}}>
    25          {title &&
    26            <div className="u-display--inlineBlock u-verticalAlign--top u-marginRight--small">
    27              <Markdown
    28                options={{
    29                  linkTarget: "_blank",
    30                  linkify: true,
    31                }}
    32              >
    33                {title}
    34              </Markdown>
    35            </div>
    36          }
    37          <div className="u-display--inlineBlock u-verticalAlign--top">
    38            {required ? 
    39              <span className="field-label required">Required</span> :
    40                recommended ? 
    41                  <span className="field-label recommended">Recommended</span> :
    42                    null}
    43            <span className={classNames("u-marginLeft--small config-errblock", { "visible": !!error })} id={`${this.props.name}-errblock`}>{error || ""}</span>
    44          </div>
    45        </h4>
    46      );
    47    }
    48  }