custom_selected: TreeNode;
orgUnitTab: string;
copyNodesDisabled = true;
+ deleteNodesDisabled = true;
@ViewChild('editString', { static: true }) editString: StringComponent;
@ViewChild('errorString', { static: true }) errorString: StringComponent;
//this.selected = $event;
console.log('custom: nodeClicked',typeof $event);
this.copyNodesDisabled = !this.isCopyNodesAllowed();
+ this.deleteNodesDisabled = !this.isDeleteNodesAllowed();
}
custom_nodeClicked($event: any) {
//this.custom_selected = $event;
console.log('custom: custom_nodeClicked',typeof $event);
this.copyNodesDisabled = !this.isCopyNodesAllowed();
+ this.deleteNodesDisabled = !this.isDeleteNodesAllowed();
}
nodeChecked($event: any) {
}
}
+ isDeleteNodesAllowed(): boolean {
+ const targetNodes = this.custom_tree.selectedNodes();
+ if (targetNodes.length === 0) {
+ console.log('isDeleteNodesAllowed: no targetNodes selected', false);
+ return false;
+ }
+ for (let targetNode of targetNodes) {
+ if (targetNode === this.custom_tree.rootNode) {
+ console.log('isDeleteNodesAllowed: rootNode is sacrosanct', false);
+ return false;
+ }
+ }
+ console.log('isDeleteNodesAllowed', true);
+ return true;
+ }
+
+ deleteNodes() {
+ const targetNodes = this.custom_tree.selectedNodes();
+ this.deleteNodesDisabled = !this.isDeleteNodesAllowed();
+ if (this.deleteNodesDisabled) {
+ return;
+ }
+ for (let targetNode of targetNodes) {
+ if (targetNode !== this.custom_tree.rootNode) {
+ console.log('removing node',targetNode);
+ this.custom_tree.removeNode(targetNode);
+ }
+ }
+ this.deleteNodesDisabled = !this.isDeleteNodesAllowed();
+ }
}