From: Jason Etheridge Date: Mon, 15 May 2023 06:09:27 +0000 (-0400) Subject: deleteNodes X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e482fcc74c3f05df2cfa93ce4f794901e6673112;p=working%2FEvergreen.git deleteNodes Signed-off-by: Jason Etheridge --- diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.html b/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.html index f20a56f4e6..30e5f664d6 100644 --- a/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.html +++ b/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.html @@ -40,6 +40,7 @@ [tree]="custom_tree" (nodeClicked)="custom_nodeClicked($event)" (nodeChecked)="custon_nodeChecked($event)"> + diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.ts index 35f09dd1c4..b2bba4137a 100644 --- a/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/admin/server/custom-org-unit-trees.component.ts @@ -23,6 +23,7 @@ export class CustomOrgUnitTreesComponent implements OnInit { custom_selected: TreeNode; orgUnitTab: string; copyNodesDisabled = true; + deleteNodesDisabled = true; @ViewChild('editString', { static: true }) editString: StringComponent; @ViewChild('errorString', { static: true }) errorString: StringComponent; @@ -170,12 +171,14 @@ export class CustomOrgUnitTreesComponent implements OnInit { //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) { @@ -228,5 +231,35 @@ export class CustomOrgUnitTreesComponent implements OnInit { } } + 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(); + } }