You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by el...@apache.org on 2022/09/20 20:50:22 UTC
[superset] 12/29: fix(plugin-chart-handlebars): order by control not work (#21005)
This is an automated email from the ASF dual-hosted git repository.
elizabeth pushed a commit to branch 2.0-test
in repository https://gitbox.apache.org/repos/asf/superset.git
commit c3e04d7ebf1b7703d108a3658d4ccd60f1d7de49
Author: Stephen Liu <75...@qq.com>
AuthorDate: Mon Aug 22 15:00:34 2022 +0800
fix(plugin-chart-handlebars): order by control not work (#21005)
(cherry picked from commit e70699fb433849e07af81ea1812f20aa271d028e)
---
.../plugins/plugin-chart-handlebars/src/plugin/buildQuery.ts | 10 +++++++---
.../plugin-chart-handlebars/src/plugin/controlPanel.tsx | 3 ++-
.../plugin-chart-handlebars/src/plugin/controls/orderBy.tsx | 8 +++++++-
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/buildQuery.ts b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/buildQuery.ts
index 36bcb96515..3dc7bf87a3 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/buildQuery.ts
+++ b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/buildQuery.ts
@@ -16,15 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { buildQueryContext, QueryFormData } from '@superset-ui/core';
+import {
+ buildQueryContext,
+ normalizeOrderBy,
+ QueryFormData,
+} from '@superset-ui/core';
export default function buildQuery(formData: QueryFormData) {
- const { metric, sort_by_metric, groupby } = formData;
+ const { groupby } = formData;
return buildQueryContext(formData, baseQueryObject => [
{
...baseQueryObject,
- ...(sort_by_metric && { orderby: [[metric, false]] }),
+ orderby: normalizeOrderBy(baseQueryObject).orderby,
...(groupby && { groupby }),
},
]);
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controlPanel.tsx
index da0ba7d589..aa4efe6212 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controlPanel.tsx
@@ -61,9 +61,10 @@ const config: ControlPanelConfig = {
[metricsControlSetItem, allColumnsControlSetItem],
[percentMetricsControlSetItem],
[timeSeriesLimitMetricControlSetItem, orderByControlSetItem],
+ [orderDescendingControlSetItem],
serverPaginationControlSetRow,
[rowLimitControlSetItem, serverPageLengthControlSetItem],
- [includeTimeControlSetItem, orderDescendingControlSetItem],
+ [includeTimeControlSetItem],
[showTotalsControlSetItem],
['adhoc_filters'],
emitFilterControl,
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/orderBy.tsx b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/orderBy.tsx
index 93002bd49b..d2f52e8e9b 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/orderBy.tsx
+++ b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/orderBy.tsx
@@ -18,6 +18,7 @@
*/
import { ControlSetItem, Dataset } from '@superset-ui/chart-controls';
import { t } from '@superset-ui/core';
+import { isEmpty } from 'lodash';
import { isAggMode, isRawMode } from './shared';
export const orderByControlSetItem: ControlSetItem = {
@@ -45,7 +46,12 @@ export const orderDescendingControlSetItem: ControlSetItem = {
label: t('Sort descending'),
default: true,
description: t('Whether to sort descending or ascending'),
- visibility: isAggMode,
+ visibility: ({ controls }) =>
+ !!(
+ isAggMode({ controls }) &&
+ controls?.timeseries_limit_metric.value &&
+ !isEmpty(controls?.timeseries_limit_metric.value)
+ ),
resetOnHide: false,
},
};