blob: 43d411a28f79b698e3d1b3c1667e0d9a09b184b3 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import {
ChartDataResponseResult,
ChartProps,
DatasourceType,
GenericDataType,
} from '@superset-ui/core';
import { TableChartProps, TableChartFormData } from '../src/types';
const basicFormData: TableChartFormData = {
datasource: '1__abc',
viz_type: 'table',
align_pn: false,
color_pn: false,
show_cell_bars: true,
include_search: false,
order_desc: true,
page_length: 20,
metrics: [],
percent_metrics: null,
timeseries_limit_metric: '',
table_filter: false,
table_timestamp_format: '%Y-%m-%d %H:%M:%S',
};
const basicChartProps = {
width: 200,
height: 500,
datasource: {
id: 0,
name: '',
type: DatasourceType.Table,
columns: [],
metrics: [],
columnFormats: {},
verboseMap: {},
},
hooks: {},
initialValues: {},
queriesData: [
{
data: {
columns: [],
records: [],
},
},
],
formData: basicFormData,
};
const basicQueryResult: ChartDataResponseResult = {
annotation_data: null,
cache_key: null,
cache_dttm: null,
cache_timeout: null,
data: [],
colnames: [],
coltypes: [],
error: null,
is_cached: false,
query: 'SELECT ...',
rowcount: 100,
stacktrace: null,
status: 'success',
};
/**
* Basic data input
*/
const basic: TableChartProps = {
...new ChartProps(basicChartProps),
queriesData: [
{
...basicQueryResult,
colnames: ['__timestamp', 'name', 'sum__num', 'abc.com'],
coltypes: [
GenericDataType.TEMPORAL,
GenericDataType.STRING,
GenericDataType.NUMERIC,
GenericDataType.STRING,
],
data: [
{
__timestamp: '2020-01-01T12:34:56',
name: 'Michael',
sum__num: 2467063,
'%pct_nice': 0.123456,
'abc.com': 'foo',
},
{
__timestamp: 1585932584140,
name: 'Joe',
sum__num: 2467,
'%pct_nice': 0.00001,
'abc.com': 'bar',
},
],
},
],
};
/**
* Advanced data input with
* - verbose map
* - metric columns
*/
const advanced: TableChartProps = {
...basic,
datasource: {
...basic.datasource,
verboseMap: {
sum__num: 'Sum of Num',
},
},
rawFormData: {
...basicFormData,
metrics: ['sum__num'],
percent_metrics: ['pct_nice'],
},
queriesData: [
{
...basicQueryResult,
colnames: ['name', 'sum__num', '%pct_nice'],
coltypes: [GenericDataType.STRING, GenericDataType.NUMERIC, GenericDataType.NUMERIC],
data: [...(basic.queriesData[0].data || [])],
},
],
};
const empty = {
...advanced,
queriesData: [
{
...advanced.queriesData[0],
data: [],
},
],
};
export default {
basic,
advanced,
empty,
};