From 699dce9391837884066ee800baf35a7c6c529e1e Mon Sep 17 00:00:00 2001 From: Ville Brofeldt <33317356+villebro@users.noreply.github.com> Date: Wed, 24 Mar 2021 16:09:58 +0200 Subject: [PATCH] fix(generator-superset): update plugin template to 0.17 standards (#1013) --- .../plugin-chart/templates/package.erb | 4 +- .../templates/src/plugin/buildQuery.erb | 3 ++ .../templates/src/plugin/controlPanel.erb | 53 +++++++++++-------- 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/package.erb b/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/package.erb index 9d7ba4ddc948..0dc317e2da4f 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/package.erb +++ b/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/package.erb @@ -26,8 +26,8 @@ "access": "public" }, "dependencies": { - "@superset-ui/core": "^0.15.2", - "@superset-ui/chart-controls": "^0.15.2" + "@superset-ui/core": "^0.17.0", + "@superset-ui/chart-controls": "^0.17.0" }, "peerDependencies": { "react": "^16.13.1" diff --git a/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/buildQuery.erb b/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/buildQuery.erb index ba82222b91f0..0eef57c51309 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/buildQuery.erb +++ b/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/buildQuery.erb @@ -33,9 +33,12 @@ import { buildQueryContext, QueryFormData } from '@superset-ui/core'; * if a viz needs multiple different result sets. */ export default function buildQuery(formData: QueryFormData) { + const { cols: groupby } = formData; return buildQueryContext(formData, baseQueryObject => [ { ...baseQueryObject, + groupby,<%if (chartType === 'timeseries') { %> + is_timeseries: true,<% } %> }, ]); } diff --git a/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/controlPanel.erb b/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/controlPanel.erb index ca913652dc5d..92e644a2ab52 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/controlPanel.erb +++ b/superset-frontend/temporary_superset_ui/superset-ui/packages/generator-superset/generators/plugin-chart/templates/src/plugin/controlPanel.erb @@ -17,7 +17,7 @@ * under the License. */ import { t, validateNonEmpty } from '@superset-ui/core'; -import { ControlPanelConfig } from '@superset-ui/chart-controls'; +import { ControlPanelConfig, sections, sharedControls } from '@superset-ui/chart-controls'; const config: ControlPanelConfig = { /** @@ -96,10 +96,40 @@ const config: ControlPanelConfig = { // For control input types, see: superset-frontend/src/explore/components/controls/index.js controlPanelSections: [ + <%if (chartType === 'timeseries') { %>sections.legacyTimeseriesTime,<% } else { %>sections.legacyRegularTime,<% } %> { label: t('Query'), expanded: true, - controlSetRows: [['groupby'], ['metrics'], ['adhoc_filters'], ['row_limit', null]], + controlSetRows: [ + [ + { + name: 'cols', + config: { + ...sharedControls.groupby, + label: t('Columns'), + description: t('Columns to group by'), + }, + }, + ], + [ + { + name: 'metrics', + config: { + ...sharedControls.metrics, + // it's possible to add validators to controls if + // certain selections/types need to be enforced + validators: [validateNonEmpty], + }, + }, + ], + ['adhoc_filters'], + [ + { + name: 'row_limit', + config: sharedControls.row_limit, + }, + ], + ], }, { label: t('Hello Controls!'), @@ -155,25 +185,6 @@ const config: ControlPanelConfig = { ], }, ], -<%if (chartType === 'timeseries') { %> // Time series charts need to override the `druidTimeSeries` and `sqlaTimeSeries` - // sections to add the time grain dropdown. - sectionOverrides: { - druidTimeSeries: { - controlSetRows: [['granularity', 'druid_time_origin'], ['time_range']], - }, - sqlaTimeSeries: { - controlSetRows: [['granularity_sqla', 'time_grain_sqla'], ['time_range']], - }, - },<% } %> - controlOverrides: { - series: { - validators: [validateNonEmpty], - clearable: false, - }, - row_limit: { - default: 100, - }, - }, }; export default config;