You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by di...@apache.org on 2021/08/02 09:17:01 UTC
[superset] branch master updated: fix: Sort Metrics by ID DESC
(order of creation) in the Datasource Editor (#15971)
This is an automated email from the ASF dual-hosted git repository.
diegopucci pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 475f9cd fix: Sort Metrics by ID DESC (order of creation) in the Datasource Editor (#15971)
475f9cd is described below
commit 475f9cdc35aa325f98bfbd03e04c70ef3a53db28
Author: Geido <60...@users.noreply.github.com>
AuthorDate: Mon Aug 2 11:16:01 2021 +0200
fix: Sort Metrics by ID DESC (order of creation) in the Datasource Editor (#15971)
* Sort metrics by ID
* Fix undefined metrics
---
superset-frontend/src/datasource/DatasourceEditor.jsx | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/superset-frontend/src/datasource/DatasourceEditor.jsx b/superset-frontend/src/datasource/DatasourceEditor.jsx
index faf38f6..046f14f 100644
--- a/superset-frontend/src/datasource/DatasourceEditor.jsx
+++ b/superset-frontend/src/datasource/DatasourceEditor.jsx
@@ -571,6 +571,10 @@ class DatasourceEditor extends React.PureComponent {
this.setState({ activeTabKey });
}
+ sortMetrics(metrics) {
+ return metrics.sort(({ id: a }, { id: b }) => b - a);
+ }
+
renderSettingsFieldset() {
const { datasource } = this.state;
return (
@@ -910,6 +914,10 @@ class DatasourceEditor extends React.PureComponent {
}
renderMetricCollection() {
+ const { datasource } = this.state;
+ const { metrics } = datasource;
+ const sortedMetrics = metrics?.length ? this.sortMetrics(metrics) : [];
+
return (
<CollectionTable
tableColumns={['metric_name', 'verbose_name', 'expression']}
@@ -983,7 +991,7 @@ class DatasourceEditor extends React.PureComponent {
</Fieldset>
</FormContainer>
}
- collection={this.state.datasource.metrics}
+ collection={sortedMetrics}
allowAddItem
onChange={this.onDatasourcePropChange.bind(this, 'metrics')}
itemGenerator={() => ({
@@ -1041,6 +1049,9 @@ class DatasourceEditor extends React.PureComponent {
render() {
const { datasource, activeTabKey } = this.state;
+ const { metrics } = datasource;
+ const sortedMetrics = metrics?.length ? this.sortMetrics(metrics) : [];
+
return (
<DatasourceContainer>
{this.renderErrors()}
@@ -1070,7 +1081,7 @@ class DatasourceEditor extends React.PureComponent {
<Tabs.TabPane
tab={
<CollectionTabTitle
- collection={datasource.metrics}
+ collection={sortedMetrics}
title={t('Metrics')}
/>
}