Files
dbgate/packages/datalib/src/JslGridDisplay.ts
Jan Prochazka 6af21b8bae nosql queries
2021-04-08 14:30:35 +02:00

45 lines
1.2 KiB
TypeScript

import { GridDisplay, ChangeCacheFunc, ChangeConfigFunc } from './GridDisplay';
import { QueryResultColumn } from 'dbgate-types';
import { GridConfig, GridCache } from './GridConfig';
import { analyseCollectionDisplayColumns } from './CollectionGridDisplay';
export class JslGridDisplay extends GridDisplay {
constructor(
jslid,
structure,
config: GridConfig,
setConfig: ChangeConfigFunc,
cache: GridCache,
setCache: ChangeCacheFunc,
rows: any
) {
super(config, setConfig, cache, setCache, null);
this.filterable = true;
if (structure.columns) {
this.columns = structure.columns
.map(col => ({
columnName: col.columnName,
headerText: col.columnName,
uniqueName: col.columnName,
uniquePath: [col.columnName],
notNull: col.notNull,
autoIncrement: col.autoIncrement,
pureName: null,
schemaName: null,
}))
?.map(col => ({
...col,
isChecked: this.isColumnChecked(col),
}));
}
if (structure.__isDynamicStructure) {
this.columns = analyseCollectionDisplayColumns(rows, this);
}
if (!this.columns) this.columns = [];
}
}