У меня есть таблица кендо 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
в компоненте, либо в качестве альтернативы хотел бы исправить отображение в коде компонента.
Спасибо.