2020-03-07 21:39:19 +00:00
|
|
|
import { DisplayColumn } from './GridDisplay';
|
2020-03-08 17:51:37 +00:00
|
|
|
import { TableInfo } from '@dbgate/types';
|
2020-03-07 21:39:19 +00:00
|
|
|
|
2020-03-12 07:02:13 +00:00
|
|
|
export interface GridConfigColumns {
|
2020-03-07 17:13:44 +00:00
|
|
|
hiddenColumns: string[];
|
2020-03-07 21:39:19 +00:00
|
|
|
expandedColumns: string[];
|
2020-03-08 13:58:32 +00:00
|
|
|
addedColumns: string[];
|
2020-03-07 21:39:19 +00:00
|
|
|
}
|
|
|
|
|
2020-05-10 06:58:56 +00:00
|
|
|
export interface GridReferenceDefinition {
|
|
|
|
schemaName: string;
|
|
|
|
pureName: string;
|
|
|
|
columns: {
|
|
|
|
baseName: string;
|
|
|
|
refName: string;
|
|
|
|
}[];
|
|
|
|
}
|
|
|
|
|
2020-03-12 07:02:13 +00:00
|
|
|
export interface GridConfig extends GridConfigColumns {
|
|
|
|
filters: { [uniqueName: string]: string };
|
2020-04-27 16:47:09 +00:00
|
|
|
focusedColumn?: string;
|
2020-05-10 16:52:14 +00:00
|
|
|
columnWidths: { [uniqueName: string]: number };
|
2020-04-04 09:06:27 +00:00
|
|
|
sort: {
|
|
|
|
uniqueName: string;
|
|
|
|
order: 'ASC' | 'DESC';
|
|
|
|
}[];
|
2020-03-12 07:02:13 +00:00
|
|
|
}
|
|
|
|
|
2020-03-07 21:39:19 +00:00
|
|
|
export interface GridCache {
|
2020-03-08 17:51:37 +00:00
|
|
|
refreshTime: number;
|
2020-03-07 21:39:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export function createGridConfig(): GridConfig {
|
|
|
|
return {
|
|
|
|
hiddenColumns: [],
|
|
|
|
expandedColumns: [],
|
2020-03-08 13:58:32 +00:00
|
|
|
addedColumns: [],
|
2020-03-12 07:02:13 +00:00
|
|
|
filters: {},
|
2020-05-10 16:52:14 +00:00
|
|
|
columnWidths: {},
|
2020-04-04 09:06:27 +00:00
|
|
|
sort: [],
|
2020-04-26 15:27:07 +00:00
|
|
|
focusedColumn: null,
|
2020-03-07 21:39:19 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function createGridCache(): GridCache {
|
|
|
|
return {
|
2020-03-08 17:51:37 +00:00
|
|
|
refreshTime: new Date().getTime(),
|
2020-03-07 21:39:19 +00:00
|
|
|
};
|
2020-03-05 10:42:16 +00:00
|
|
|
}
|