Как перевести метки в Kendo Chart Legend? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть таблица кендо p ie, которая создается следующим образом:

<kendo-chart theme="material" id="pieChart">
    <kendo-chart-legend position="bottom">
      <kendo-chart-legend-item [cursor]="'pointer'">

      </kendo-chart-legend-item>
    </kendo-chart-legend>
    <kendo-chart-series>
      <kendo-chart-series-item type="pie"
                               [data]="distributionOpenTasks | async"
                               field="amount"
                               categoryField="poolName">
        <kendo-chart-series-item-tooltip>
          <ng-template let-value="value" let-category="category">
            {{category | translate }}: {{value}}
          </ng-template>
        </kendo-chart-series-item-tooltip>
      </kendo-chart-series-item>
    </kendo-chart-series>
  </kendo-chart>

И данные asyn c создаются следующим образом:

  loadCard() {
    this.distributionOpenTasks = this.getDistributionOpenTasks().pipe(
      map(distribution => distribution.sort((a, b) => a.amount - b.amount))
    );
  }

  getDistributionOpenTasks(): Observable<DistributionOpenTasks[]> {
    return this.authService.get<DistributionOpenTasks[]>('statistics/' + this.apiPort);
  }

Я пытался перевести такие значения в сам компонент, но это приводит к состоянию, в котором он иногда переводится, а иногда нет, кажется, что я создаю какое-то гоночное условие:

  loadCard() {
    this.distributionOpenTasks = this.getDistributionOpenTasks().pipe(
      map(distribution => distribution.sort((a, b) => a.amount - b.amount)),
      map(distribution => {
        distribution.forEach(dist =>
          this.translate.get(dist.poolName).subscribe(res => dist.poolName = res).unsubscribe()
        );
        return distribution;
      })
    );
  }

  getDistributionOpenTasks(): Observable<DistributionOpenTasks[]> {
    return this.authService.get<DistributionOpenTasks[]>('statistics/' + this.apiPort);
  }

Легенда о кендо-карте не переводится. Я понимаю, почему, поскольку во всплывающей подсказке есть ng-template, что позволяет легко переводить.

Для легенды невозможно использовать ng-template.

Как перевести значения в kendo-chart-legend? Я хочу либо перевести в HTML напрямую и работать без map в компоненте, либо в качестве альтернативы хотел бы исправить отображение в коде компонента.

Спасибо.

...