diff --git a/packages/datalib/src/PerspectiveTreeNode.ts b/packages/datalib/src/PerspectiveTreeNode.ts index 27ee36d4d..c23989252 100644 --- a/packages/datalib/src/PerspectiveTreeNode.ts +++ b/packages/datalib/src/PerspectiveTreeNode.ts @@ -177,6 +177,7 @@ export abstract class PerspectiveTreeNode { export class PerspectiveTableColumnNode extends PerspectiveTreeNode { foreignKey: ForeignKeyInfo; + refTable: TableInfo; constructor( public column: ColumnInfo, public table: TableInfo, @@ -192,6 +193,10 @@ export class PerspectiveTableColumnNode extends PerspectiveTreeNode { this.foreignKey = table.foreignKeys && table.foreignKeys.find(fk => fk.columns.length == 1 && fk.columns[0].columnName == column.columnName); + + this.refTable = db.tables.find( + x => x.pureName == this.foreignKey?.refTableName && x.schemaName == this.foreignKey?.refSchemaName + ); } matchChildRow(parentRow: any, childRow: any): boolean { @@ -221,7 +226,7 @@ export class PerspectiveTableColumnNode extends PerspectiveTreeNode { ), dataColumns: this.getDataLoadColumns(), databaseConfig: this.databaseConfig, - orderBy: this.table.primaryKey?.columns.map(x => x.columnName) || [this.table.columns[0].columnName], + orderBy: this.refTable?.primaryKey?.columns.map(x => x.columnName) || [this.refTable.columns[0].columnName], }; } diff --git a/packages/web/src/perspectives/PerspectiveTable.svelte b/packages/web/src/perspectives/PerspectiveTable.svelte index 53d892b08..fdcf81500 100644 --- a/packages/web/src/perspectives/PerspectiveTable.svelte +++ b/packages/web/src/perspectives/PerspectiveTable.svelte @@ -90,6 +90,7 @@ dbg('display rows', rows); errorMessage = null; } catch (err) { + console.error(err); errorMessage = err.message; dataRows = null; }