feat(explore): Apply denormalization to tier 2 charts form data (#20524)

* feat(explore): Denormalize form data in Calendar Heatmap

* feat(explore): Denormalize form data in Bubble

* feat(explore): Denormalize form data in Chord

* Dimensions -> Dimension for single selection

* feat(explore): Denormalize form data in Country Map

* feat(explore): Denormalize form data in Heatmap

* feat(explore): Denormalize form data in Histogram

* feat(explore): Denormalize form data in Handlebars

* feat(explore): Denormalize form data in Percent Change

* Use new standardized form data interface
This commit is contained in:
Kamil Gabryjelski 2022-06-28 20:21:36 +02:00 committed by GitHub
parent c348a095b9
commit e12ee59b13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 64 additions and 4 deletions

View File

@ -72,7 +72,7 @@ export const dndColumnsControl: typeof dndGroupByControl = {
export const dndSeries: typeof dndGroupByControl = {
...dndGroupByControl,
label: t('Dimensions'),
label: t('Dimension'),
multi: false,
default: null,
description: t(

View File

@ -43,6 +43,10 @@ class StandardizedControlsManager {
return this.controls.metrics.shift();
}
shiftColumn() {
return this.controls.columns.shift();
}
popAllMetrics() {
return this.controls.metrics.splice(0, this.controls.metrics.length);
}

View File

@ -22,6 +22,7 @@ import {
D3_FORMAT_DOCS,
D3_TIME_FORMAT_OPTIONS,
formatSelectOptions,
getStandardizedControls,
sections,
} from '@superset-ui/chart-controls';
@ -191,6 +192,10 @@ const config: ControlPanelConfig = {
label: t('Number Format'),
},
},
formDataOverrides: formData => ({
...formData,
metrics: getStandardizedControls().popAllMetrics(),
}),
};
export default config;

View File

@ -16,8 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
import { t, validateNonEmpty } from '@superset-ui/core';
import { ControlPanelConfig, sections } from '@superset-ui/chart-controls';
import { ensureIsArray, t, validateNonEmpty } from '@superset-ui/core';
import {
ControlPanelConfig,
getStandardizedControls,
sections,
} from '@superset-ui/chart-controls';
const config: ControlPanelConfig = {
controlPanelSections: [
@ -69,6 +73,16 @@ const config: ControlPanelConfig = {
description: t('Choose a target'),
},
},
formDataOverrides: formData => {
const groupby = getStandardizedControls()
.popAllColumns()
.filter(col => !ensureIsArray(formData.columns).includes(col));
return {
...formData,
groupby,
metric: getStandardizedControls().shiftMetric(),
};
},
};
export default config;

View File

@ -22,6 +22,7 @@ import {
D3_FORMAT_OPTIONS,
D3_FORMAT_DOCS,
sections,
getStandardizedControls,
} from '@superset-ui/chart-controls';
import { countryOptions } from './countries';
@ -88,6 +89,11 @@ const config: ControlPanelConfig = {
renderTrigger: false,
},
},
formDataOverrides: formData => ({
...formData,
entity: getStandardizedControls().shiftColumn(),
metric: getStandardizedControls().shiftMetric(),
}),
};
export default config;

View File

@ -30,6 +30,7 @@ import {
formatSelectOptionsForRange,
sections,
dndEntity,
getStandardizedControls,
} from '@superset-ui/chart-controls';
const sortAxisChoices = [
@ -329,6 +330,10 @@ const config: ControlPanelConfig = {
label: t('Value Format'),
},
},
formDataOverrides: formData => ({
...formData,
metric: getStandardizedControls().shiftMetric(),
}),
};
export default config;

View File

@ -29,6 +29,7 @@ import {
formatSelectOptions,
sections,
dndColumnsControl,
getStandardizedControls,
} from '@superset-ui/chart-controls';
const allColumns = {
@ -160,5 +161,9 @@ const config: ControlPanelConfig = {
],
},
],
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
}),
};
export default config;

View File

@ -22,6 +22,7 @@ import {
formatSelectOptions,
D3_FORMAT_OPTIONS,
sections,
getStandardizedControls,
} from '@superset-ui/chart-controls';
import {
showLegend,
@ -128,6 +129,11 @@ const config: ControlPanelConfig = {
renderTrigger: false,
},
},
formDataOverrides: formData => ({
...formData,
series: getStandardizedControls().shiftColumn(),
entity: getStandardizedControls().shiftColumn(),
}),
};
export default config;

View File

@ -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';
import {
xAxisLabel,
yAxisLabel,
@ -62,6 +66,11 @@ const config: ControlPanelConfig = {
timeSeriesSection[1],
sections.annotations,
],
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
metrics: getStandardizedControls().popAllMetrics(),
}),
};
export default config;

View File

@ -19,6 +19,7 @@
import {
ControlPanelConfig,
emitFilterControl,
getStandardizedControls,
sections,
} from '@superset-ui/chart-controls';
import { addLocaleData, t } from '@superset-ui/core';
@ -78,6 +79,11 @@ const config: ControlPanelConfig = {
],
},
],
formDataOverrides: formData => ({
...formData,
groupby: getStandardizedControls().popAllColumns(),
metrics: getStandardizedControls().popAllMetrics(),
}),
};
export default config;