UNPKG

@mcdevsl/superset-ui

Version:
35 lines (32 loc) 1.22 kB
import { buildQueryContext, QueryFormMetric } from '@superset-ui/core'; import TableFormData from './TableFormData'; export default function buildQuery(formData: TableFormData) { // Set the single QueryObject's groupby field with series in formData return buildQueryContext(formData, baseQueryObject => { const isTimeseries = formData.include_time; let columns: string[] = []; let { groupby } = baseQueryObject; const orderby: [QueryFormMetric, boolean][] = []; const sortby = formData.timeseries_limit_metric; if (formData.all_columns && formData.all_columns.length > 0) { columns = [...formData.all_columns]; const orderByColumns = formData.order_by_cols || []; orderByColumns.forEach(columnOrder => { const parsedColumnOrder: [QueryFormMetric, boolean] = JSON.parse(columnOrder); orderby.push([parsedColumnOrder[0], parsedColumnOrder[1]]); }); groupby = []; } else if (sortby) { orderby.push([sortby, !formData.order_desc]); } return [ { ...baseQueryObject, columns, groupby, is_timeseries: isTimeseries, orderby, }, ]; }); }