renderVisibilityBlock()

in widgets/agile-charts/src/app/burn-down-chart-form.js [206:259]


  renderVisibilityBlock() {
    const {
      report,
      disabled,
      userGroups,
      currentUser
    } = this.state;

    const visibilityPresentation = report.visibleTo
      ? report.visibleTo.name
      : BurnDownChartForm.ME_ONLY_VISIBILITY_OPTION.label;

    const renderVisibilityIcon = () => (
      <Tooltip
        title={
          report.visibleTo
            ? i18n('Report is visible to members of {{visibilityPresentation}}', {visibilityPresentation})
            : i18n('Report is private')
        }
      >
        <PermissionIcon
          className="report-widget__icon"
          color={PermissionIcon.Color.GRAY}
          size={PermissionIcon.Size.Size14}
        />&nbsp;
      </Tooltip>
    );

    if (disabled) {
      return (
        <div className="ring-form__group">
          { renderVisibilityIcon() }
          <span>{ visibilityPresentation }</span>
        </div>
      );
    }

    return (
      <div className="ring-form__group">
        { renderVisibilityIcon() }
        <RerenderableSelect
          data={BurnDownChartForm.getVisibilityOptions(
            userGroups, currentUser
          )}
          label={visibilityPresentation}
          loading={!userGroups.length}
          onSelect={this.changeVisibility}
          onOpen={this.openVisibilitySelector}
          filter={true}
          type={RerenderableSelect.Type.INLINE}
        />
      </div>
    );
  }