This is an automated email from the ASF dual-hosted git repository.
junlin 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 a07c9d5 fix(dashboard): recursive parent on dashboard components
(#16933)
a07c9d5 is described below
commit a07c9d591b073203be042b5512c52fbb47184189
Author: Ville Brofeldt <[email protected]>
AuthorDate: Fri Oct 1 17:13:38 2021 +0200
fix(dashboard): recursive parent on dashboard components (#16933)
* fix(dashboard): don't add recursive parents on wrapper component
* add test
* refine logic and add new test
---
.../spec/javascripts/dashboard/util/newEntitiesFromDrop_spec.js | 8 ++++++--
superset-frontend/src/dashboard/util/newEntitiesFromDrop.js | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git
a/superset-frontend/spec/javascripts/dashboard/util/newEntitiesFromDrop_spec.js
b/superset-frontend/spec/javascripts/dashboard/util/newEntitiesFromDrop_spec.js
index 339ab1e..6ab8056 100644
---
a/superset-frontend/spec/javascripts/dashboard/util/newEntitiesFromDrop_spec.js
+++
b/superset-frontend/spec/javascripts/dashboard/util/newEntitiesFromDrop_spec.js
@@ -94,7 +94,11 @@ describe('newEntitiesFromDrop', () => {
expect(result.a.children).toHaveLength(1);
expect(Object.keys(result)).toHaveLength(3);
- expect(result[newRowId].type).toBe(ROW_TYPE);
- expect(result[newChartId].type).toBe(CHART_TYPE);
+ const newRow = result[newRowId];
+ expect(newRow.type).toBe(ROW_TYPE);
+ expect(newRow.parents).toEqual(['a']);
+ const newChart = result[newChartId];
+ expect(newChart.type).toBe(CHART_TYPE);
+ expect(newChart.parents).toEqual(['a', newRowId]);
});
});
diff --git a/superset-frontend/src/dashboard/util/newEntitiesFromDrop.js
b/superset-frontend/src/dashboard/util/newEntitiesFromDrop.js
index c0e5157..3b3a914 100644
--- a/superset-frontend/src/dashboard/util/newEntitiesFromDrop.js
+++ b/superset-frontend/src/dashboard/util/newEntitiesFromDrop.js
@@ -51,8 +51,8 @@ export default function newEntitiesFromDrop({ dropResult,
layout }) {
rowWrapper.children = [newDropChild.id];
rowWrapper.parents = (dropEntity.parents || []).concat(dropEntity.id);
newEntities[rowWrapper.id] = rowWrapper;
- newDropChild = rowWrapper;
newDropChild.parents = rowWrapper.parents.concat(rowWrapper.id);
+ newDropChild = rowWrapper;
} else if (dragType === TABS_TYPE) {
// create a new tab component
const tabChild = newComponentFactory(TAB_TYPE);