diff --git a/packages/datalib/src/PerspectiveDisplay.ts b/packages/datalib/src/PerspectiveDisplay.ts index b10f31557..db3d1eb5a 100644 --- a/packages/datalib/src/PerspectiveDisplay.ts +++ b/packages/datalib/src/PerspectiveDisplay.ts @@ -47,6 +47,10 @@ export class PerspectiveDisplayColumn { return this.parentNodes[level]?.title; } + getParentDataAttributes(level) { + return this.parentNodes[level]?.headerDataAttributes; + } + // hasParentNode(node: PerspectiveTreeNode) { // return this.parentNodes.includes(node); // } diff --git a/packages/datalib/src/PerspectiveTreeNode.ts b/packages/datalib/src/PerspectiveTreeNode.ts index 6c7a0be6b..2d5bc54cd 100644 --- a/packages/datalib/src/PerspectiveTreeNode.ts +++ b/packages/datalib/src/PerspectiveTreeNode.ts @@ -68,6 +68,9 @@ export abstract class PerspectiveTreeNode { get fieldName() { return this.codeName; } + get headerDataAttributes() { + return {}; + } get dataField() { return this.codeName; } @@ -375,6 +378,18 @@ export class PerspectiveTableColumnNode extends PerspectiveTreeNode { return condition; } + + get headerDataAttributes() { + if (this.foreignKey) { + return { + schemaName: this.foreignKey.refSchemaName, + pureName: this.foreignKey.refTableName, + conid: this.databaseConfig.conid, + database: this.databaseConfig.database, + }; + } + return null; + } } export class PerspectiveTableNode extends PerspectiveTreeNode { @@ -432,6 +447,15 @@ export class PerspectiveTableNode extends PerspectiveTreeNode { getBaseTableFromThis() { return this.table; } + + get headerDataAttributes() { + return { + schemaName: this.table.schemaName, + pureName: this.table.pureName, + conid: this.databaseConfig.conid, + database: this.databaseConfig.database, + }; + } } export class PerspectiveViewNode extends PerspectiveTreeNode { diff --git a/packages/web/src/perspectives/PerspectiveHeaderControl.svelte b/packages/web/src/perspectives/PerspectiveHeaderControl.svelte index eba3c5c9e..e581d01c8 100644 --- a/packages/web/src/perspectives/PerspectiveHeaderControl.svelte +++ b/packages/web/src/perspectives/PerspectiveHeaderControl.svelte @@ -1,6 +1,6 @@ {#if column.isVisible(columnLevel)} - +
{column.title} @@ -51,7 +46,12 @@ {/if} {#if column.showParent(columnLevel)} - {column.getParentName(columnLevel)} + `data-${k}`)} + >{column.getParentName(columnLevel)} {/if}