mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-30 15:03:57 +00:00
checkedNodes => checkedColumns
This commit is contained in:
@@ -55,9 +55,9 @@ export interface PerspectiveNodeConfig {
|
|||||||
|
|
||||||
isParentFilter?: true | undefined;
|
isParentFilter?: true | undefined;
|
||||||
|
|
||||||
expandedNodes: string[];
|
expandedColumns: string[];
|
||||||
checkedNodes: string[];
|
checkedColumns: string[];
|
||||||
uncheckedNodes: string[];
|
uncheckedColumns: string[];
|
||||||
|
|
||||||
sort: {
|
sort: {
|
||||||
columnName: string;
|
columnName: string;
|
||||||
@@ -98,9 +98,9 @@ export function createPerspectiveNodeConfig(name: { schemaName?: string; pureNam
|
|||||||
...name,
|
...name,
|
||||||
designerId: uuidv1(),
|
designerId: uuidv1(),
|
||||||
|
|
||||||
expandedNodes: [],
|
expandedColumns: [],
|
||||||
checkedNodes: [],
|
checkedColumns: [],
|
||||||
uncheckedNodes: [],
|
uncheckedColumns: [],
|
||||||
|
|
||||||
sort: [],
|
sort: [],
|
||||||
filters: {},
|
filters: {},
|
||||||
|
|||||||
@@ -131,11 +131,11 @@ export abstract class PerspectiveTreeNode {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
get isExpanded() {
|
get isExpanded() {
|
||||||
return this.parentNodeConfig?.expandedNodes?.includes(this.codeName);
|
return this.parentNodeConfig?.expandedColumns?.includes(this.codeName);
|
||||||
}
|
}
|
||||||
get isChecked() {
|
get isChecked() {
|
||||||
if (this.parentNodeConfig?.checkedNodes?.includes(this.codeName)) return true;
|
if (this.parentNodeConfig?.checkedColumns?.includes(this.codeName)) return true;
|
||||||
if (this.parentNodeConfig?.uncheckedNodes?.includes(this.codeName)) return false;
|
if (this.parentNodeConfig?.uncheckedColumns?.includes(this.codeName)) return false;
|
||||||
return this.defaultChecked;
|
return this.defaultChecked;
|
||||||
}
|
}
|
||||||
get columnTitle() {
|
get columnTitle() {
|
||||||
@@ -179,14 +179,14 @@ export abstract class PerspectiveTreeNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
toggleExpanded(value?: boolean) {
|
toggleExpanded(value?: boolean) {
|
||||||
this.includeInNodeSet('expandedNodes', value == null ? !this.isExpanded : value);
|
this.includeInNodeSet('expandedColumns', value == null ? !this.isExpanded : value);
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleChecked(value?: boolean) {
|
toggleChecked(value?: boolean) {
|
||||||
if (this.defaultChecked) {
|
if (this.defaultChecked) {
|
||||||
this.includeInNodeSet('uncheckedNodes', value == null ? this.isChecked : value);
|
this.includeInNodeSet('uncheckedColumns', value == null ? this.isChecked : value);
|
||||||
} else {
|
} else {
|
||||||
this.includeInNodeSet('checkedNodes', value == null ? !this.isChecked : value);
|
this.includeInNodeSet('checkedColumns', value == null ? !this.isChecked : value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -217,7 +217,7 @@ export abstract class PerspectiveTreeNode {
|
|||||||
return cfg;
|
return cfg;
|
||||||
}
|
}
|
||||||
|
|
||||||
includeInNodeSet(field: 'expandedNodes' | 'uncheckedNodes' | 'checkedNodes', isIncluded: boolean) {
|
includeInNodeSet(field: 'expandedColumns' | 'uncheckedColumns' | 'checkedColumns', isIncluded: boolean) {
|
||||||
this.setConfig(cfg => {
|
this.setConfig(cfg => {
|
||||||
const changedFields = n => ({
|
const changedFields = n => ({
|
||||||
...n,
|
...n,
|
||||||
@@ -225,7 +225,7 @@ export abstract class PerspectiveTreeNode {
|
|||||||
});
|
});
|
||||||
|
|
||||||
cfg = this.parentNode?.ensureNodeConfig(cfg);
|
cfg = this.parentNode?.ensureNodeConfig(cfg);
|
||||||
if (isIncluded && field == 'expandedNodes') {
|
if (isIncluded && field == 'expandedColumns') {
|
||||||
cfg = this.ensureNodeConfig(cfg);
|
cfg = this.ensureNodeConfig(cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ test('test flat view', () => {
|
|||||||
test('test one level nesting', () => {
|
test('test one level nesting', () => {
|
||||||
const artistTable = chinookDbInfo.tables.find(x => x.pureName == 'Artist');
|
const artistTable = chinookDbInfo.tables.find(x => x.pureName == 'Artist');
|
||||||
const config = createPerspectiveConfig({ pureName: 'Artist' });
|
const config = createPerspectiveConfig({ pureName: 'Artist' });
|
||||||
config.nodes[0].checkedNodes = ['Album'];
|
config.nodes[0].checkedColumns = ['Album'];
|
||||||
const root = new PerspectiveTableNode(
|
const root = new PerspectiveTableNode(
|
||||||
artistTable,
|
artistTable,
|
||||||
{ conid: { db: chinookDbInfo } },
|
{ conid: { db: chinookDbInfo } },
|
||||||
@@ -98,8 +98,8 @@ test('test two level nesting', () => {
|
|||||||
designerId: '1',
|
designerId: '1',
|
||||||
columns: [{ source: 'ArtistId', target: 'ArtistId' }],
|
columns: [{ source: 'ArtistId', target: 'ArtistId' }],
|
||||||
});
|
});
|
||||||
config.nodes[0].checkedNodes = ['Album'];
|
config.nodes[0].checkedColumns = ['Album'];
|
||||||
config.nodes[1].checkedNodes = ['Track'];
|
config.nodes[1].checkedColumns = ['Track'];
|
||||||
|
|
||||||
const root = new PerspectiveTableNode(
|
const root = new PerspectiveTableNode(
|
||||||
artistTable,
|
artistTable,
|
||||||
|
|||||||
Reference in New Issue
Block a user