mirror of
https://github.com/dbgate/dbgate
synced 2024-11-07 20:26:23 +00:00
fixes
This commit is contained in:
parent
646a83b288
commit
380ab2e69e
@ -51,7 +51,7 @@ function addObjectToColumns(columns: PerspectiveDataPatternColumn[], row) {
|
||||
if (!column.types.includes(type)) {
|
||||
column.types.push(type);
|
||||
}
|
||||
if (_isPlainObject(value)) {
|
||||
if (_isPlainObject(value) && type != 'oid') {
|
||||
addObjectToColumns(column.columns, value);
|
||||
}
|
||||
if (_isArray(value)) {
|
||||
|
@ -54,7 +54,7 @@ export class PerspectiveDataProvider {
|
||||
...props,
|
||||
bindingValues: uncached,
|
||||
});
|
||||
// console.log('COUNTS', counts);
|
||||
// console.log('loadDataNested COUNTS', counts);
|
||||
for (const resetItem of uncached) {
|
||||
tableCache.storeGroupSize(props, resetItem, 0);
|
||||
}
|
||||
|
@ -1248,7 +1248,7 @@ export class PerspectiveCustomJoinTreeNode extends PerspectiveTableNode {
|
||||
}
|
||||
|
||||
matchChildRow(parentRow: any, childRow: any): boolean {
|
||||
// console.log('MATCH ROW', parentRow, childRow);
|
||||
console.log('MATCH ROW', parentRow, childRow);
|
||||
for (const column of this.customJoin.columns) {
|
||||
if (parentRow[getPerspectiveMostNestedChildColumnName(column.baseColumnName)] != childRow[column.refColumnName]) {
|
||||
return false;
|
||||
|
@ -79,8 +79,12 @@
|
||||
const lastVisibleRowIndexRef = createRef(0);
|
||||
const disableLoadNextRef = createRef(false);
|
||||
|
||||
// Essential function !!
|
||||
// Fills nested data into parentRows (assigns into array parentRows[i][node.fieldName])
|
||||
// eg. when node is CustomJoinTreeNode, loads data from data provider
|
||||
async function loadLevelData(node: PerspectiveTreeNode, parentRows: any[], counts) {
|
||||
/// console.log('loadLevelData', node, parentRows, counts);
|
||||
// console.log('loadLevelData', node.codeName, node.fieldName, parentRows);
|
||||
// console.log('COUNTS', node.codeName, counts);
|
||||
dbg('load level data', counts);
|
||||
// const loadProps: PerspectiveDataLoadPropsWithNode[] = [];
|
||||
const loadChildNodes = [];
|
||||
@ -115,6 +119,9 @@
|
||||
incompleteRowsIndicator: [node.designerId],
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// this is needed for nested call
|
||||
rows = _.compact(_.flatten(parentRows.map(x => x[node.fieldName])));
|
||||
}
|
||||
|
||||
// console.log('TESTING NODE', node);
|
||||
@ -127,14 +134,21 @@
|
||||
// if (child.preloadedLevelData) console.log('LOADING CHILD DATA', rows);
|
||||
// console.log(child.preloadedLevelData, child);
|
||||
// console.log('LOADING FOR CHILD', child.codeName, child.columnName, child);
|
||||
// console.log('ROWS', child.preloadedLevelData ? parentRows : rows);
|
||||
// console.log('CALL CHILD', child.codeName, rows, parentRows);
|
||||
await loadLevelData(
|
||||
child,
|
||||
child.preloadedLevelData
|
||||
? _.compact(_.flatten(parentRows.map(x => x[child.columnName])))
|
||||
: node.preloadedLevelData
|
||||
? parentRows
|
||||
: rows,
|
||||
rows,
|
||||
// node.preloadedLevelData
|
||||
// ? _.compact(_.flatten(parentRows.map(x => x[child.columnName])))
|
||||
// : child.preloadedLevelData
|
||||
// ? parentRows
|
||||
// : rows,
|
||||
// child.preloadedLevelData
|
||||
// ? _.compact(_.flatten(parentRows.map(x => x[child.columnName])))
|
||||
// : node.preloadedLevelData
|
||||
// ? parentRows
|
||||
// : rows,
|
||||
|
||||
counts
|
||||
);
|
||||
// loadProps.push(child.getNodeLoadProps());
|
||||
|
@ -258,7 +258,7 @@ const driver = {
|
||||
const count = await collection.countDocuments(convertObjectId(options.condition) || {});
|
||||
return { count };
|
||||
} else if (options.aggregate) {
|
||||
let cursor = await collection.aggregate(options.aggregate);
|
||||
let cursor = await collection.aggregate(convertObjectId(options.aggregate));
|
||||
const rows = await cursor.toArray();
|
||||
return { rows: rows.map(transformMongoData) };
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user