| /** |
| * 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, |
| }; |