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
This commit is contained in:
Ville Brofeldt 2021-10-01 17:13:38 +02:00 committed by GitHub
parent 90f711f45c
commit a07c9d591b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 3 deletions

View File

@ -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]);
});
});

View File

@ -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);