From bb3dd0054b606291ddfd6cd2ab1150939c9d9070 Mon Sep 17 00:00:00 2001 From: Artem Dzhereleiko Date: Wed, 12 Mar 2025 09:09:38 +0200 Subject: [PATCH 1/3] UI: Fixed changed event on customer hierarchy --- ui-ngx/src/app/shared/components/nav-tree.component.ts | 4 ++-- ui-ngx/src/typings/jquery.jstree.typings.d.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ui-ngx/src/app/shared/components/nav-tree.component.ts b/ui-ngx/src/app/shared/components/nav-tree.component.ts index 789b352a92..546275d9a3 100644 --- a/ui-ngx/src/app/shared/components/nav-tree.component.ts +++ b/ui-ngx/src/app/shared/components/nav-tree.component.ts @@ -149,9 +149,9 @@ export class NavTreeComponent implements OnInit { this.treeElement = $('.tb-nav-tree-container', this.elementRef.nativeElement).jstree(config); - this.treeElement.on('select_node.jstree', (e: any, data) => { + this.treeElement.on('changed.jstree', (e: any, data) => { const node: NavTreeNode = data.instance.get_selected(true)[0]; - if (this.onNodeSelected) { + if (this.onNodeSelected && data.action !== 'ready') { this.ngZone.run(() => this.onNodeSelected(node, e as Event)); } }); diff --git a/ui-ngx/src/typings/jquery.jstree.typings.d.ts b/ui-ngx/src/typings/jquery.jstree.typings.d.ts index 0aa6a0b92e..d11bfec612 100644 --- a/ui-ngx/src/typings/jquery.jstree.typings.d.ts +++ b/ui-ngx/src/typings/jquery.jstree.typings.d.ts @@ -26,6 +26,7 @@ interface JQuery { } interface JSTreeEventData { + action: string; instance: JSTree; } From 492ae5dece8c06b81247d74788d5832b5a55da0e Mon Sep 17 00:00:00 2001 From: Artem Dzhereleiko Date: Wed, 12 Mar 2025 10:22:33 +0200 Subject: [PATCH 2/3] UI: Refactoring --- ui-ngx/src/app/shared/components/nav-tree.component.ts | 6 +++++- ui-ngx/src/typings/jquery.jstree.typings.d.ts | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ui-ngx/src/app/shared/components/nav-tree.component.ts b/ui-ngx/src/app/shared/components/nav-tree.component.ts index 546275d9a3..60405613fb 100644 --- a/ui-ngx/src/app/shared/components/nav-tree.component.ts +++ b/ui-ngx/src/app/shared/components/nav-tree.component.ts @@ -52,6 +52,10 @@ export interface NavTreeEditCallbacks { clearSearch?: () => void; } +interface JSTreeEventDataWithAction extends JSTreeEventData { + action: string; +} + export type NodesCallback = (nodes: NavTreeNode[]) => void; export type LoadNodesCallback = (node: NavTreeNode, cb: NodesCallback) => void; export type NodeSearchCallback = (searchText: string, node: NavTreeNode) => boolean; @@ -149,7 +153,7 @@ export class NavTreeComponent implements OnInit { this.treeElement = $('.tb-nav-tree-container', this.elementRef.nativeElement).jstree(config); - this.treeElement.on('changed.jstree', (e: any, data) => { + this.treeElement.on('changed.jstree', (e: any, data: JSTreeEventDataWithAction) => { const node: NavTreeNode = data.instance.get_selected(true)[0]; if (this.onNodeSelected && data.action !== 'ready') { this.ngZone.run(() => this.onNodeSelected(node, e as Event)); diff --git a/ui-ngx/src/typings/jquery.jstree.typings.d.ts b/ui-ngx/src/typings/jquery.jstree.typings.d.ts index d11bfec612..0aa6a0b92e 100644 --- a/ui-ngx/src/typings/jquery.jstree.typings.d.ts +++ b/ui-ngx/src/typings/jquery.jstree.typings.d.ts @@ -26,7 +26,6 @@ interface JQuery { } interface JSTreeEventData { - action: string; instance: JSTree; } From fdfb9264ad7738a45d08df538bb860a3e9849e01 Mon Sep 17 00:00:00 2001 From: Artem Dzhereleiko Date: Wed, 12 Mar 2025 12:03:15 +0200 Subject: [PATCH 3/3] UI: Refactoring --- ui-ngx/src/app/shared/components/nav-tree.component.ts | 8 ++------ ui-ngx/src/typings/jquery.jstree.typings.d.ts | 1 + 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/ui-ngx/src/app/shared/components/nav-tree.component.ts b/ui-ngx/src/app/shared/components/nav-tree.component.ts index 60405613fb..5b698a37d3 100644 --- a/ui-ngx/src/app/shared/components/nav-tree.component.ts +++ b/ui-ngx/src/app/shared/components/nav-tree.component.ts @@ -52,10 +52,6 @@ export interface NavTreeEditCallbacks { clearSearch?: () => void; } -interface JSTreeEventDataWithAction extends JSTreeEventData { - action: string; -} - export type NodesCallback = (nodes: NavTreeNode[]) => void; export type LoadNodesCallback = (node: NavTreeNode, cb: NodesCallback) => void; export type NodeSearchCallback = (searchText: string, node: NavTreeNode) => boolean; @@ -153,9 +149,9 @@ export class NavTreeComponent implements OnInit { this.treeElement = $('.tb-nav-tree-container', this.elementRef.nativeElement).jstree(config); - this.treeElement.on('changed.jstree', (e: any, data: JSTreeEventDataWithAction) => { - const node: NavTreeNode = data.instance.get_selected(true)[0]; + this.treeElement.on('changed.jstree', (e: any, data) => { if (this.onNodeSelected && data.action !== 'ready') { + const node: NavTreeNode = data.instance.get_selected(true)[0]; this.ngZone.run(() => this.onNodeSelected(node, e as Event)); } }); diff --git a/ui-ngx/src/typings/jquery.jstree.typings.d.ts b/ui-ngx/src/typings/jquery.jstree.typings.d.ts index 0aa6a0b92e..933a9c60d5 100644 --- a/ui-ngx/src/typings/jquery.jstree.typings.d.ts +++ b/ui-ngx/src/typings/jquery.jstree.typings.d.ts @@ -27,6 +27,7 @@ interface JQuery { interface JSTreeEventData { instance: JSTree; + action: string; } interface JSTreeModelEventData extends JSTreeEventData {