mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 19:36:00 +00:00
column manager search box, hide all, show all
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
|
||||
export default interface GridConfig {
|
||||
hiddenColumns: string[];
|
||||
export interface GridConfig {
|
||||
hiddenColumns: string[];
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import _ from 'lodash';
|
||||
import GridConfig from './GridConfig';
|
||||
import { GridConfig } from './GridConfig';
|
||||
import { ForeignKeyInfo } from '@dbgate/types';
|
||||
|
||||
export interface DisplayColumn {
|
||||
@@ -14,7 +14,7 @@ export interface DisplayColumn {
|
||||
isChecked: boolean;
|
||||
}
|
||||
|
||||
export default abstract class GridDisplay {
|
||||
export abstract class GridDisplay {
|
||||
constructor(public config: GridConfig, protected setConfig: (config: GridConfig) => void) {}
|
||||
abstract getPageQuery(offset: number, count: number): string;
|
||||
columns: DisplayColumn[];
|
||||
@@ -32,6 +32,20 @@ export default abstract class GridDisplay {
|
||||
}
|
||||
}
|
||||
|
||||
showAllColumns() {
|
||||
this.setConfig({
|
||||
...this.config,
|
||||
hiddenColumns: [],
|
||||
});
|
||||
}
|
||||
|
||||
hideAllColumns() {
|
||||
this.setConfig({
|
||||
...this.config,
|
||||
hiddenColumns: this.columns.map(x => x.uniqueName),
|
||||
});
|
||||
}
|
||||
|
||||
get hiddenColumnIndexes() {
|
||||
return (this.config.hiddenColumns || []).map(x => _.findIndex(this.columns, y => y.uniqueName == x));
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import GridDisplay from './GridDisplay';
|
||||
import { GridDisplay } from './GridDisplay';
|
||||
import { Select, treeToSql, dumpSqlSelect } from '@dbgate/sqltree';
|
||||
import { TableInfo, EngineDriver } from '@dbgate/types';
|
||||
import GridConfig from './GridConfig';
|
||||
import { GridConfig } from './GridConfig';
|
||||
|
||||
export default class TableGridDisplay extends GridDisplay {
|
||||
export class TableGridDisplay extends GridDisplay {
|
||||
constructor(
|
||||
public table: TableInfo,
|
||||
public driver: EngineDriver,
|
||||
|
||||
5
packages/datalib/src/filterName.ts
Normal file
5
packages/datalib/src/filterName.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export function filterName(filter: string, name: string) {
|
||||
if (!filter) return true;
|
||||
if (!name) return false;
|
||||
return name.toUpperCase().includes(filter.toUpperCase());
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
export { default as GridDisplay, DisplayColumn } from "./GridDisplay";
|
||||
export { default as TableGridDisplay } from "./TableGridDisplay";
|
||||
export * from "./GridDisplay";
|
||||
export * from "./TableGridDisplay";
|
||||
export * from "./filterName";
|
||||
|
||||
Reference in New Issue
Block a user