Skip to content

Commit

Permalink
feat: apply standardized form data to tier 2 charts (#20530)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhaoyongjie committed Jun 29, 2022
1 parent 927d066 commit de524bc
Show file tree
Hide file tree
Showing 11 changed files with 94 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import {
formatSelectOptions,
sections,
dndEntity,
getStandardizedControls,
} from '@superset-ui/chart-controls';

const allColumns = {
Expand Down Expand Up @@ -328,6 +329,10 @@ const config: ControlPanelConfig = {
),
},
},
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
}),
};

export default config;
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import {
D3_FORMAT_OPTIONS,
D3_TIME_FORMAT_OPTIONS,
formatSelectOptions,
getStandardizedControls,
sections,
} from '@superset-ui/chart-controls';
import OptionDescription from './OptionDescription';
Expand All @@ -39,7 +40,8 @@ const config: ControlPanelConfig = {
['metrics'],
['adhoc_filters'],
['groupby'],
['limit', 'timeseries_limit_metric'],
['limit'],
['timeseries_limit_metric'],
['order_desc'],
[
{
Expand All @@ -52,7 +54,7 @@ const config: ControlPanelConfig = {
},
},
],
['row_limit', null],
['row_limit'],
],
},
{
Expand Down Expand Up @@ -383,6 +385,11 @@ const config: ControlPanelConfig = {
],
},
],
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
metrics: getStandardizedControls().popAllMetrics(),
}),
};

export default config;
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import {
D3_FORMAT_OPTIONS,
D3_TIME_FORMAT_OPTIONS,
sections,
getStandardizedControls,
} from '@superset-ui/chart-controls';

const config: ControlPanelConfig = {
Expand Down Expand Up @@ -266,6 +267,11 @@ const config: ControlPanelConfig = {
],
},
],
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
metrics: getStandardizedControls().popAllMetrics(),
}),
};

export default config;
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@
* under the License.
*/
import { t } from '@superset-ui/core';
import { ControlPanelConfig, sections } from '@superset-ui/chart-controls';
import {
ControlPanelConfig,
getStandardizedControls,
sections,
} from '@superset-ui/chart-controls';

const config: ControlPanelConfig = {
controlPanelSections: [
Expand Down Expand Up @@ -67,6 +71,11 @@ const config: ControlPanelConfig = {
controlSetRows: [['color_scheme']],
},
],
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
metric: getStandardizedControls().shiftMetric(),
}),
};

export default config;
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { t } from '@superset-ui/core';
import {
ControlPanelConfig,
ControlPanelsContainerProps,
getStandardizedControls,
sections,
} from '@superset-ui/chart-controls';

Expand Down Expand Up @@ -96,6 +97,12 @@ const config: ControlPanelConfig = {
description: t('This defines the level of the hierarchy'),
},
},
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
metric: getStandardizedControls().shiftMetric(),
secondary_metric: getStandardizedControls().shiftMetric(),
}),
};

export default config;
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,8 @@ const config: ControlPanelConfig = {
},
formDataOverrides: formData => ({
...formData,
metrics: getStandardizedControls().popAllMetrics(),
entity: getStandardizedControls().shiftColumn(),
metric: getStandardizedControls().shiftMetric(),
}),
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,9 @@ const config: ControlPanelConfig = {
...formData,
series: getStandardizedControls().shiftColumn(),
entity: getStandardizedControls().shiftColumn(),
x: getStandardizedControls().shiftMetric(),
y: getStandardizedControls().shiftMetric(),
size: getStandardizedControls().shiftMetric(),
}),
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@
* under the License.
*/
import { t, validateNonEmpty } from '@superset-ui/core';
import { ControlPanelConfig, sections } from '@superset-ui/chart-controls';
import {
ControlPanelConfig,
getStandardizedControls,
sections,
} from '@superset-ui/chart-controls';

const config: ControlPanelConfig = {
controlPanelSections: [
Expand Down Expand Up @@ -103,6 +107,11 @@ const config: ControlPanelConfig = {
default: 100,
},
},
formDataOverrides: formData => ({
...formData,
series: getStandardizedControls().shiftColumn(),
metric: getStandardizedControls().shiftMetric(),
}),
};

export default config;
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,17 @@ describe('should collect control values and create SFD', () => {
metrics: ['m2'],
metric_2: 'm3',
size: 'm4',
x: 'm5',
y: 'm6',
secondary_metric: 'm7',
// columns
groupby: ['c1'],
columns: ['c2'],
groupbyColumns: ['c3'],
groupbyRows: ['c4'],
series: 'c5',
entity: 'c6',
series_columns: ['c7'],
};
const publicControlsFormData = {
// time section
Expand Down Expand Up @@ -171,14 +175,23 @@ describe('should collect control values and create SFD', () => {
Object.entries(sharedKey).length,
);
const sfd = new StandardizedFormData(sourceMockFormData);
expect(sfd.serialize().controls.metrics).toEqual(['m1', 'm2', 'm3', 'm4']);
expect(sfd.serialize().controls.metrics).toEqual([
'm1',
'm2',
'm3',
'm4',
'm5',
'm6',
'm7',
]);
expect(sfd.serialize().controls.columns).toEqual([
'c1',
'c2',
'c3',
'c4',
'c5',
'c6',
'c7',
]);
});

Expand All @@ -193,8 +206,24 @@ describe('should collect control values and create SFD', () => {
expect(formData).toHaveProperty(key);
expect(value).toEqual(publicControlsFormData[key]);
});
expect(formData.columns).toEqual(['c1', 'c2', 'c3', 'c4', 'c5', 'c6']);
expect(formData.metrics).toEqual(['m1', 'm2', 'm3', 'm4']);
expect(formData.columns).toEqual([
'c1',
'c2',
'c3',
'c4',
'c5',
'c6',
'c7',
]);
expect(formData.metrics).toEqual([
'm1',
'm2',
'm3',
'm4',
'm5',
'm6',
'm7',
]);
});

test('should inherit standardizedFormData and memorizedFormData is LIFO', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ export const sharedMetricsKey = [
'metrics', // via sharedControls, array
'metric_2', // via sharedControls, scalar
'size', // via sharedControls, scalar
'x', // via sharedControls, scalar
'y', // via sharedControls, scalar
'secondary_metric', // via sharedControls, scalar
];
export const sharedColumnsKey = [
'groupby', // via sharedControls, array
Expand All @@ -46,6 +49,7 @@ export const sharedColumnsKey = [
'groupbyRows', // via pivot table v2, array
'entity', // via sharedControls, scalar
'series', // via sharedControls, scalar
'series_columns', // via sharedControls, array
];

export const publicControls = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* under the License.
*/
import { t, validateNonEmpty } from '@superset-ui/core';
import { sections } from '@superset-ui/chart-controls';
import { getStandardizedControls, sections } from '@superset-ui/chart-controls';

export default {
controlPanelSections: [
Expand Down Expand Up @@ -65,4 +65,9 @@ export default {
multiple: false,
},
},
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
metrics: getStandardizedControls().popAllMetrics(),
}),
};

0 comments on commit de524bc

Please sign in to comment.