renderXAxisBlock()

in widgets/time-tracking-report/src/app/time-tracking-report-form.js [178:229]


  renderXAxisBlock(report, disabled) {
    const reportScale = report.scale;

    const scales = Object.keys(ReportTimeScales).
      map(key => ({
        id: ReportTimeScales[key].id,
        label: ReportTimeScales[key].text()
      }));

    const timeOption = {
      key: 'time',
      label: i18n('Time')
    };

    const workTypesOption = {
      key: 'work-types',
      label: i18n('Work types')
    };

    return (
      <StandardFormGroup label={i18n('X axis')}>
        <span>
          {
            TimeTrackingReportForm.isNewReport(report) &&
            <Select
              data={[timeOption, workTypesOption]}
              selected={reportScale ? timeOption : workTypesOption}
              onSelect={this.changeReportType}
              type={Select.Type.INLINE}
            />
          }
          {
            !TimeTrackingReportForm.isNewReport(report) &&
            <span>
              {reportScale ? i18n('Time') : i18n('Work types')}
            </span>
          }
          {
            reportScale &&
            <span className="time-report-widget__sub-control">
              <EnumButtonGroup
                values={scales}
                selected={reportScale}
                onChange={this.getReportEditOperationHandler('scale')}
                disabled={disabled}
              />
            </span>
          }
        </span>
      </StandardFormGroup>
    );
  }