From e2554b3dccbb48aba54e3e2968a5ea5a4dda9d48 Mon Sep 17 00:00:00 2001 From: Victor Malai Date: Wed, 10 Feb 2021 09:42:25 +0200 Subject: [PATCH] feat(plugin-chart-echarts): subject add sort by metric for Pie Chart (#946) --- .../plugin-chart-echarts/src/Pie/buildQuery.ts | 4 ++-- .../src/Pie/controlPanel.tsx | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/buildQuery.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/buildQuery.ts index d5e162ff9357f..8b47fb5e725cc 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/buildQuery.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/buildQuery.ts @@ -19,11 +19,11 @@ import { buildQueryContext, QueryFormData } from '@superset-ui/core'; export default function buildQuery(formData: QueryFormData) { - const { metric } = formData; + const { metric, sort_by_metric } = formData; return buildQueryContext(formData, baseQueryObject => [ { ...baseQueryObject, - orderby: [[metric, false]], + ...(sort_by_metric && { orderby: [[metric, false]] }), }, ]); } diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/controlPanel.tsx b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/controlPanel.tsx index 2e8f786a06862..f80be6ae3b458 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/controlPanel.tsx +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-echarts/src/Pie/controlPanel.tsx @@ -44,7 +44,22 @@ const config: ControlPanelConfig = { { label: t('Query'), expanded: true, - controlSetRows: [['groupby'], ['metric'], ['adhoc_filters'], ['row_limit']], + controlSetRows: [ + ['groupby'], + ['metric'], + ['adhoc_filters'], + ['row_limit'], + [ + { + name: 'sort_by_metric', + config: { + type: 'CheckboxControl', + label: t('Sort by metric'), + description: t('Whether to sort results by the selected metric in descending order.'), + }, + }, + ], + ], }, { label: t('Chart Options'),