From fc232e0e09dbb3f39b60feaa5b6ad499c86b9c08 Mon Sep 17 00:00:00 2001 From: Victor Malai Date: Mon, 8 Feb 2021 07:28:44 +0200 Subject: [PATCH] feat(plugin-chart-word-cloud): subject Add order by desc on metric (#939) * feat(plugin-chart-word-cloud): subject Add order by desc * Add checkbox to control order by --- .../src/plugin/buildQuery.ts | 3 +++ .../src/plugin/controlPanel.ts | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/buildQuery.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/buildQuery.ts index b9aa36b5f5013..f47cb36962677 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/buildQuery.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/buildQuery.ts @@ -3,9 +3,12 @@ import { WordCloudFormData } from '../types'; export default function buildQuery(formData: WordCloudFormData) { // Set the single QueryObject's groupby field with series in formData + const { metric, sort_by_metric } = formData; + return buildQueryContext(formData, baseQueryObject => [ { ...baseQueryObject, + ...(sort_by_metric && { orderby: [[metric, false]] }), }, ]); } diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts index 4a33633174177..715d9eb120138 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts @@ -25,7 +25,22 @@ const config: ControlPanelConfig = { { label: t('Query'), expanded: true, - controlSetRows: [['series'], ['metric'], ['adhoc_filters'], ['row_limit']], + controlSetRows: [ + ['series'], + ['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('Options'),