changed perspective checked logic

This commit is contained in:
Jan Prochazka
2022-08-27 11:57:54 +02:00
parent 6cb2616d87
commit 1a16d7c69e
2 changed files with 18 additions and 15 deletions

View File

@@ -57,7 +57,7 @@ export interface PerspectiveNodeConfig {
expandedColumns: string[]; expandedColumns: string[];
checkedColumns: string[]; checkedColumns: string[];
uncheckedColumns: string[]; // uncheckedColumns: string[];
sort: { sort: {
columnName: string; columnName: string;
@@ -66,6 +66,7 @@ export interface PerspectiveNodeConfig {
filters: { [uniqueName: string]: string }; filters: { [uniqueName: string]: string };
isAutoGenerated?: true | undefined; isAutoGenerated?: true | undefined;
isNodeChecked?: boolean;
position?: { position?: {
x: number; x: number;
@@ -101,7 +102,7 @@ export function createPerspectiveNodeConfig(name: { schemaName?: string; pureNam
expandedColumns: [], expandedColumns: [],
checkedColumns: [], checkedColumns: [],
uncheckedColumns: [], // uncheckedColumns: [],
sort: [], sort: [],
filters: {}, filters: {},

View File

@@ -78,7 +78,7 @@ export abstract class PerspectiveTreeNode {
} }
readonly nodeConfig: PerspectiveNodeConfig; readonly nodeConfig: PerspectiveNodeConfig;
readonly parentNodeConfig: PerspectiveNodeConfig; readonly parentNodeConfig: PerspectiveNodeConfig;
defaultChecked: boolean; // defaultChecked: boolean;
abstract get title(); abstract get title();
abstract get codeName(); abstract get codeName();
abstract get isExpandable(); abstract get isExpandable();
@@ -135,8 +135,9 @@ export abstract class PerspectiveTreeNode {
} }
get isChecked() { get isChecked() {
if (this.parentNodeConfig?.checkedColumns?.includes(this.codeName)) return true; if (this.parentNodeConfig?.checkedColumns?.includes(this.codeName)) return true;
if (this.parentNodeConfig?.uncheckedColumns?.includes(this.codeName)) return false; // if (this.parentNodeConfig?.uncheckedColumns?.includes(this.codeName)) return false;
return this.defaultChecked; // return this.defaultChecked;
return false;
} }
get columnTitle() { get columnTitle() {
return this.title; return this.title;
@@ -183,11 +184,12 @@ export abstract class PerspectiveTreeNode {
} }
toggleChecked(value?: boolean) { toggleChecked(value?: boolean) {
if (this.defaultChecked) { this.includeInNodeSet('checkedColumns', value == null ? !this.isChecked : value);
this.includeInNodeSet('uncheckedColumns', value == null ? this.isChecked : value); // if (this.defaultChecked) {
} else { // this.includeInNodeSet('uncheckedColumns', value == null ? this.isChecked : value);
this.includeInNodeSet('checkedColumns', value == null ? !this.isChecked : value); // } else {
} // this.includeInNodeSet('checkedColumns', value == null ? !this.isChecked : value);
// }
} }
createReferenceConfigColumns(): PerspectiveReferenceConfig['columns'] { createReferenceConfigColumns(): PerspectiveReferenceConfig['columns'] {
@@ -998,11 +1000,11 @@ export function getTableChildPerspectiveNodes(
) )
) )
); );
const circularColumns = columnNodes.filter(x => x.isCircular).map(x => x.columnName); // const circularColumns = columnNodes.filter(x => x.isCircular).map(x => x.columnName);
const defaultColumns = getPerspectiveDefaultColumns(table, db, circularColumns); // const defaultColumns = getPerspectiveDefaultColumns(table, db, circularColumns);
for (const node of columnNodes) { // for (const node of columnNodes) {
node.defaultChecked = defaultColumns.includes(node.columnName); // node.defaultChecked = defaultColumns.includes(node.columnName);
} // }
const res = []; const res = [];
res.push(...columnNodes); res.push(...columnNodes);