diff --git a/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber/BigNumberStories.tsx b/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber/BigNumberStories.tsx index 7578a51eff..f38362afba 100644 --- a/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber/BigNumberStories.tsx +++ b/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber/BigNumberStories.tsx @@ -37,6 +37,7 @@ const formData = { metric: 'sum__SP_POP_TOTL', showTrendLine: true, startYAxisAtZero: true, + timeGrainSqla: 'P1Y', vizType: 'big_number', yAxisFormat: '.3s', }; @@ -68,19 +69,29 @@ export const basicWithTrendline = () => ( /> ); -export const nullInTheMiddle = () => ( +export const weeklyTimeGranularity = () => ( ); +export const nullInTheMiddle = () => ( + +); + export const fixedRange = () => ( ( }} formData={{ ...formData, - timeGrainSqla: 'P1Y', timeRangeFixed: true, }} /> diff --git a/packages/superset-ui-time-format/src/factories/getTimeFormatterForGranularity.ts b/packages/superset-ui-time-format/src/factories/getTimeFormatterForGranularity.ts index 9946b48211..6f1964e34d 100644 --- a/packages/superset-ui-time-format/src/factories/getTimeFormatterForGranularity.ts +++ b/packages/superset-ui-time-format/src/factories/getTimeFormatterForGranularity.ts @@ -19,6 +19,7 @@ import TimeFormats from '../TimeFormats'; import { getTimeFormatter } from '../TimeFormatterRegistrySingleton'; import smartDateVerboseFormatter from '../formatters/smartDateVerbose'; +import { TimeGranularity } from '../types'; // Translate time granularity to d3-format const MINUTE = '%Y-%m-%d %H:%M'; @@ -47,23 +48,6 @@ const formats = { 'P1W/1970-01-04T00:00:00Z': MONDAY_BASED_WEEK, // 'week_ending_sunday' }; -export type TimeGranularity = - | 'date' - | 'PT1S' - | 'PT1M' - | 'PT5M' - | 'PT10M' - | 'PT15M' - | 'PT0.5H' - | 'PT1H' - | 'P1D' - | 'P1W' - | 'P0.25Y' - | 'P1Y' - | '1969-12-28T00:00:00Z/P1W' - | '1969-12-29T00:00:00Z/P1W' - | 'P1W/1970-01-03T00:00:00Z'; - export default function getTimeFormatterForGranularity(granularity?: TimeGranularity) { return granularity && granularity in formats ? getTimeFormatter(formats[granularity]) diff --git a/packages/superset-ui-time-format/src/index.ts b/packages/superset-ui-time-format/src/index.ts index ef09daacee..3c964ef133 100644 --- a/packages/superset-ui-time-format/src/index.ts +++ b/packages/superset-ui-time-format/src/index.ts @@ -9,10 +9,9 @@ export { export { default as createD3TimeFormatter } from './factories/createD3TimeFormatter'; export { default as createMultiFormatter } from './factories/createMultiFormatter'; -export { - default as getTimeFormatterForGranularity, - TimeGranularity, -} from './factories/getTimeFormatterForGranularity'; +export { default as getTimeFormatterForGranularity } from './factories/getTimeFormatterForGranularity'; export { default as smartDateFormatter } from './formatters/smartDate'; export { default as smartDateVerboseFormatter } from './formatters/smartDateVerbose'; + +export * from './types'; diff --git a/packages/superset-ui-time-format/src/types.ts b/packages/superset-ui-time-format/src/types.ts index 21f36481df..d27c954550 100644 --- a/packages/superset-ui-time-format/src/types.ts +++ b/packages/superset-ui-time-format/src/types.ts @@ -1 +1,18 @@ export type TimeFormatFunction = (value: Date) => string; + +export type TimeGranularity = + | 'date' + | 'PT1S' + | 'PT1M' + | 'PT5M' + | 'PT10M' + | 'PT15M' + | 'PT0.5H' + | 'PT1H' + | 'P1D' + | 'P1W' + | 'P0.25Y' + | 'P1Y' + | '1969-12-28T00:00:00Z/P1W' + | '1969-12-29T00:00:00Z/P1W' + | 'P1W/1970-01-03T00:00:00Z';