mirror of
https://github.com/apache/superset.git
synced 2024-09-06 22:07:34 -04:00
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:
parent
c348a095b9
commit
e12ee59b13
@ -72,7 +72,7 @@ export const dndColumnsControl: typeof dndGroupByControl = {
|
|||||||
|
|
||||||
export const dndSeries: typeof dndGroupByControl = {
|
export const dndSeries: typeof dndGroupByControl = {
|
||||||
...dndGroupByControl,
|
...dndGroupByControl,
|
||||||
label: t('Dimensions'),
|
label: t('Dimension'),
|
||||||
multi: false,
|
multi: false,
|
||||||
default: null,
|
default: null,
|
||||||
description: t(
|
description: t(
|
||||||
|
@ -43,6 +43,10 @@ class StandardizedControlsManager {
|
|||||||
return this.controls.metrics.shift();
|
return this.controls.metrics.shift();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
shiftColumn() {
|
||||||
|
return this.controls.columns.shift();
|
||||||
|
}
|
||||||
|
|
||||||
popAllMetrics() {
|
popAllMetrics() {
|
||||||
return this.controls.metrics.splice(0, this.controls.metrics.length);
|
return this.controls.metrics.splice(0, this.controls.metrics.length);
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ import {
|
|||||||
D3_FORMAT_DOCS,
|
D3_FORMAT_DOCS,
|
||||||
D3_TIME_FORMAT_OPTIONS,
|
D3_TIME_FORMAT_OPTIONS,
|
||||||
formatSelectOptions,
|
formatSelectOptions,
|
||||||
|
getStandardizedControls,
|
||||||
sections,
|
sections,
|
||||||
} from '@superset-ui/chart-controls';
|
} from '@superset-ui/chart-controls';
|
||||||
|
|
||||||
@ -191,6 +192,10 @@ const config: ControlPanelConfig = {
|
|||||||
label: t('Number Format'),
|
label: t('Number Format'),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
formDataOverrides: formData => ({
|
||||||
|
...formData,
|
||||||
|
metrics: getStandardizedControls().popAllMetrics(),
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
@ -16,8 +16,12 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
import { t, validateNonEmpty } from '@superset-ui/core';
|
import { ensureIsArray, 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 = {
|
const config: ControlPanelConfig = {
|
||||||
controlPanelSections: [
|
controlPanelSections: [
|
||||||
@ -69,6 +73,16 @@ const config: ControlPanelConfig = {
|
|||||||
description: t('Choose a target'),
|
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;
|
export default config;
|
||||||
|
@ -22,6 +22,7 @@ import {
|
|||||||
D3_FORMAT_OPTIONS,
|
D3_FORMAT_OPTIONS,
|
||||||
D3_FORMAT_DOCS,
|
D3_FORMAT_DOCS,
|
||||||
sections,
|
sections,
|
||||||
|
getStandardizedControls,
|
||||||
} from '@superset-ui/chart-controls';
|
} from '@superset-ui/chart-controls';
|
||||||
import { countryOptions } from './countries';
|
import { countryOptions } from './countries';
|
||||||
|
|
||||||
@ -88,6 +89,11 @@ const config: ControlPanelConfig = {
|
|||||||
renderTrigger: false,
|
renderTrigger: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
formDataOverrides: formData => ({
|
||||||
|
...formData,
|
||||||
|
entity: getStandardizedControls().shiftColumn(),
|
||||||
|
metric: getStandardizedControls().shiftMetric(),
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
@ -30,6 +30,7 @@ import {
|
|||||||
formatSelectOptionsForRange,
|
formatSelectOptionsForRange,
|
||||||
sections,
|
sections,
|
||||||
dndEntity,
|
dndEntity,
|
||||||
|
getStandardizedControls,
|
||||||
} from '@superset-ui/chart-controls';
|
} from '@superset-ui/chart-controls';
|
||||||
|
|
||||||
const sortAxisChoices = [
|
const sortAxisChoices = [
|
||||||
@ -329,6 +330,10 @@ const config: ControlPanelConfig = {
|
|||||||
label: t('Value Format'),
|
label: t('Value Format'),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
formDataOverrides: formData => ({
|
||||||
|
...formData,
|
||||||
|
metric: getStandardizedControls().shiftMetric(),
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
@ -29,6 +29,7 @@ import {
|
|||||||
formatSelectOptions,
|
formatSelectOptions,
|
||||||
sections,
|
sections,
|
||||||
dndColumnsControl,
|
dndColumnsControl,
|
||||||
|
getStandardizedControls,
|
||||||
} from '@superset-ui/chart-controls';
|
} from '@superset-ui/chart-controls';
|
||||||
|
|
||||||
const allColumns = {
|
const allColumns = {
|
||||||
@ -160,5 +161,9 @@ const config: ControlPanelConfig = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
formDataOverrides: formData => ({
|
||||||
|
...formData,
|
||||||
|
groupby: getStandardizedControls().popAllColumns(),
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
export default config;
|
export default config;
|
||||||
|
@ -22,6 +22,7 @@ import {
|
|||||||
formatSelectOptions,
|
formatSelectOptions,
|
||||||
D3_FORMAT_OPTIONS,
|
D3_FORMAT_OPTIONS,
|
||||||
sections,
|
sections,
|
||||||
|
getStandardizedControls,
|
||||||
} from '@superset-ui/chart-controls';
|
} from '@superset-ui/chart-controls';
|
||||||
import {
|
import {
|
||||||
showLegend,
|
showLegend,
|
||||||
@ -128,6 +129,11 @@ const config: ControlPanelConfig = {
|
|||||||
renderTrigger: false,
|
renderTrigger: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
formDataOverrides: formData => ({
|
||||||
|
...formData,
|
||||||
|
series: getStandardizedControls().shiftColumn(),
|
||||||
|
entity: getStandardizedControls().shiftColumn(),
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
@ -17,7 +17,11 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
import { t } from '@superset-ui/core';
|
import { t } from '@superset-ui/core';
|
||||||
import { ControlPanelConfig, sections } from '@superset-ui/chart-controls';
|
import {
|
||||||
|
ControlPanelConfig,
|
||||||
|
getStandardizedControls,
|
||||||
|
sections,
|
||||||
|
} from '@superset-ui/chart-controls';
|
||||||
import {
|
import {
|
||||||
xAxisLabel,
|
xAxisLabel,
|
||||||
yAxisLabel,
|
yAxisLabel,
|
||||||
@ -62,6 +66,11 @@ const config: ControlPanelConfig = {
|
|||||||
timeSeriesSection[1],
|
timeSeriesSection[1],
|
||||||
sections.annotations,
|
sections.annotations,
|
||||||
],
|
],
|
||||||
|
formDataOverrides: formData => ({
|
||||||
|
...formData,
|
||||||
|
groupby: getStandardizedControls().popAllColumns(),
|
||||||
|
metrics: getStandardizedControls().popAllMetrics(),
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
import {
|
import {
|
||||||
ControlPanelConfig,
|
ControlPanelConfig,
|
||||||
emitFilterControl,
|
emitFilterControl,
|
||||||
|
getStandardizedControls,
|
||||||
sections,
|
sections,
|
||||||
} from '@superset-ui/chart-controls';
|
} from '@superset-ui/chart-controls';
|
||||||
import { addLocaleData, t } from '@superset-ui/core';
|
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;
|
export default config;
|
||||||
|
Loading…
Reference in New Issue
Block a user