Skip to content

Commit

Permalink
Filter out non-dimension values
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniil Suleiman committed Jan 29, 2021
1 parent c4ddf8d commit 6580fc3
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ import { getFormatService } from '../services';
import { FormattedColumn, FormattedColumns, TableVisConfig, TableContext } from '../types';
import { AggTypes } from '../../common';

export const createFormattedColumns = (
export const createFormattedTable = (
table: Datatable | TableContext,
visConfig: TableVisConfig
) => {
const { buckets, metrics } = visConfig.dimensions;

return table.columns.reduce<FormattedColumns>((acc, col, i) => {
const formattedColumns = table.columns.reduce<FormattedColumns>((acc, col, i) => {
const isBucket = buckets.find(({ accessor }) => accessor === i);
const dimension = isBucket || metrics.find(({ accessor }) => accessor === i);

Expand Down Expand Up @@ -87,4 +87,11 @@ export const createFormattedColumns = (

return acc;
}, {});

return {
// filter out columns which are not dimensions
columns: table.columns.filter((col) => formattedColumns[col.id]),
rows: table.rows,
formattedColumns,
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { Datatable } from 'src/plugins/expressions';
import { getFormatService } from '../services';
import { TableVisData, TableGroup, TableVisConfig, TableContext } from '../types';
import { addPercentageColumn } from './add_percentage_column';
import { createFormattedColumns } from './create_formatted_columns';
import { createFormattedTable } from './create_formatted_table';

/**
* Converts datatable input from response into appropriate format for consuming renderer
Expand Down Expand Up @@ -53,18 +53,14 @@ export function tableVisResponseHandler(input: Datatable, visConfig: TableVisCon
});

tables.forEach((tg) => {
tg.table.formattedColumns = createFormattedColumns(
{ ...tg.table, columns: input.columns },
visConfig
);
tg.table = addPercentageColumn(tg.table, visConfig.percentageCol);
tg.table = createFormattedTable({ ...tg.table, columns: input.columns }, visConfig);

if (visConfig.percentageCol) {
tg.table = addPercentageColumn(tg.table, visConfig.percentageCol);
}
});
} else {
const formattedColumns = createFormattedColumns(input, visConfig);
table = {
...input,
formattedColumns,
};
table = createFormattedTable(input, visConfig);

if (visConfig.percentageCol) {
table = addPercentageColumn(table, visConfig.percentageCol);
Expand Down

0 comments on commit 6580fc3

Please sign in to comment.