From 9e9991c675ed283b84acd6780e848ad17b317c36 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Sat, 3 Apr 2021 21:53:13 +0200 Subject: [PATCH] fixed expandable column order --- packages/datalib/src/CollectionGridDisplay.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/datalib/src/CollectionGridDisplay.ts b/packages/datalib/src/CollectionGridDisplay.ts index 4ba8540e2..dcf801c0b 100644 --- a/packages/datalib/src/CollectionGridDisplay.ts +++ b/packages/datalib/src/CollectionGridDisplay.ts @@ -59,12 +59,14 @@ export class CollectionGridDisplay extends GridDisplay { getColumnsForObject(basePath, obj, res: any[]) { for (const name of getObjectKeys(obj)) { - let column = res.find(x => x.columnName == name); + const uniqueName = [...basePath, name].join('.'); + let column = res.find(x => x.uniqueName == uniqueName); if (!column) { column = this.getDisplayColumn(basePath, name); if (basePath.length > 0) { - const lastIndex1 = _.findLastIndex(res, x => x.parentIdentifier == column.parentIdentifier); - const lastIndex2 = _.findLastIndex(res, x => x.headerText == column.parentIdentifier); + const lastIndex1 = _.findLastIndex(res, x => x.parentHeaderText.startsWith(column.parentHeaderText)); + const lastIndex2 = _.findLastIndex(res, x => x.headerText == column.parentHeaderText); + // console.log(uniqueName, lastIndex1, lastIndex2); if (lastIndex1 >= 0) res.splice(lastIndex1 + 1, 0, column); else if (lastIndex2 >= 0) res.splice(lastIndex2 + 1, 0, column); else res.push(column); @@ -91,7 +93,7 @@ export class CollectionGridDisplay extends GridDisplay { uniqueName, uniquePath, isStructured: true, - parentIdentifier: createHeaderText(basePath), + parentHeaderText: createHeaderText(basePath), }; } }