renderReportBody()

in widgets/agile-charts/src/app/content.js [95:143]


  renderReportBody() {
    const {report, datePattern, dateNoYearPattern} = this.props;

    if (ReportModel.isReportCalculation(report)) {
      const fromPercentsCoefficient = 0.01;
      const progressValue = report.status.progress * fromPercentsCoefficient;
      return (
        <div className="report-widget__progress">
          <div>{i18n('Calculating...')}</div>
          <ProgressBar
            className="report-widget__progress-bar"
            value={progressValue}
          />
        </div>
      );
    }

    if (ReportModel.isReportError(report)) {
      return this.renderReportError(report.status.errorMessage);
    }

    if (ReportModel.isTooBigReportDataError(report)) {
      return this.renderReportError(
        i18n('The report cannot be calculated: the filters in the report settings return too many issues')
      );
    }

    if (ReportModel.isNoReportDataError(report)) {
      return this.renderReportError(i18n('There aren\'t any issues that match the filters in the report settings'));
    }

    if (ReportModel.ReportTypes.isBurnDown(report)) {
      return (
        <BurnDownChart
          reportData={report.data}
          datePattern={datePattern}
          dateNoYearPattern={dateNoYearPattern}
        />
      );
    }

    return (
      <CumulativeFlowChart
        reportData={report.data}
        datePattern={datePattern}
        dateNoYearPattern={dateNoYearPattern}
      />
    );
  }