in src/visualComponent/table/body/bodyRowComponent.ts [610:717]
private renderCells(options: IBodyRowRenderOptions): void {
const {
y,
series,
settings,
hyperlinkAdapter,
type,
metadata,
viewport,
} = options;
// As of Date's formatter
const asOfDateFormatter: valueFormatter.IValueFormatter = FormattingUtils.getFormatterOfAxisValue(
series.x.min,
series.x.max,
type,
metadata,
series.settings.asOfDate);
// As of Date
const formattedValue: string = series.axisValue === undefined
? ""
: asOfDateFormatter.format(series.axisValue);
this.components[0].render({
fontSettings: series.settings.asOfDate,
order: settings.asOfDate.order,
value: formattedValue,
} as ITextCellRenderOptions);
this.verticalDraggableComponents[0].updateOrder(settings.asOfDate.order);
// Metric Name
this.components[1].render({
fontSettings: series.settings.metricName,
hyperlink: series.hyperlink,
hyperlinkAdapter,
image: series.image,
order: settings.metricName.order,
value: series.name,
} as ITextCellRenderOptions);
this.verticalDraggableComponents[1].updateOrder(settings.metricName.order);
// Current Value
this.components[2].render({
fontSettings: series.settings.currentValue,
order: settings.currentValue.order,
value: this.getFormattedValueBySettings(series.currentValue, series.settings.currentValue),
} as ITextCellRenderOptions);
this.verticalDraggableComponents[2].updateOrder(settings.currentValue.order);
// KPI Indicator
this.components[3].render({
fontSettings: series.settings.kpiIndicatorValue,
kpiIndicatorIndex: series.kpiIndicatorIndex,
kpiIndicatorSettings: series.settings.kpiIndicator,
order: settings.kpiIndicatorValue.order,
value: this.getFormattedValueBySettings(series.kpiIndicatorValue, series.settings.kpiIndicatorValue),
} as IKPIIndicatorCellRenderOptions);
this.verticalDraggableComponents[3].updateOrder(settings.kpiIndicatorValue.order);
// Comparison Value
this.components[4].render({
fontSettings: series.settings.comparisonValue,
order: settings.comparisonValue.order,
value: this.getFormattedValueBySettings(series.comparisonValue, series.settings.comparisonValue),
} as ITextCellRenderOptions);
this.verticalDraggableComponents[4].updateOrder(settings.comparisonValue.order);
const sparklineCellRenderOptions: ISparklineCellRenderOptions = {
kpiIndicatorIndex: series.kpiIndicatorIndex,
kpiIndicatorSettings: settings.kpiIndicator,
metadata,
offset: settings.sparklineSettings.getOffset(),
order: settings.sparklineSettings.order,
series,
settings,
viewport,
y,
};
// Sparkline
this.components[5].render(sparklineCellRenderOptions);
this.verticalDraggableComponents[5].updateOrder(settings.sparklineSettings.order);
this.bindClickEventToOpenModalWindow(sparklineCellRenderOptions);
this.components[6].render({
fontSettings: series.settings.secondComparisonValue,
order: settings.secondComparisonValue.order,
value: this.getFormattedValueBySettings(series.secondComparisonValue, series.settings.secondComparisonValue),
} as ITextCellRenderOptions);
this.verticalDraggableComponents[6].updateOrder(settings.secondComparisonValue.order);
this.components[7].render({
fontSettings: series.settings.secondKPIIndicatorValue,
order: settings.secondKPIIndicatorValue.order,
value: this.getFormattedValueBySettings(series.secondKPIIndicatorValue, series.settings.secondKPIIndicatorValue),
} as ITextCellRenderOptions);
this.verticalDraggableComponents[7].updateOrder(settings.secondKPIIndicatorValue.order);
}