diff options
author | waynedunican <wayne.dunican@est.tech> | 2023-04-14 16:25:18 +0100 |
---|---|---|
committer | waynedunican <wayne.dunican@est.tech> | 2023-04-18 15:41:17 +0100 |
commit | 5a87ef15be1dd27dedacb748c58add2502e956c5 (patch) | |
tree | cd1ed00a275d6e8ce9fb75fe6a1c174abc300d44 /gui-clamp/ui-react/src/components/dialogs/Policy/PoliciesTreeViewer.js | |
parent | 02de4ef3ee93b49abd74821a0dfbd4b185ce7246 (diff) |
Restructure policy-gui repo
- Removed gui-clamp module
- Added gui-runtime module
- Created gui-acm for future gui development work
Issue-ID: POLICY-4638
Change-Id: I6d6468ae1c83d39e5b837f1dadf42bda5671ee70
Signed-off-by: waynedunican <wayne.dunican@est.tech>
Diffstat (limited to 'gui-clamp/ui-react/src/components/dialogs/Policy/PoliciesTreeViewer.js')
-rw-r--r-- | gui-clamp/ui-react/src/components/dialogs/Policy/PoliciesTreeViewer.js | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/gui-clamp/ui-react/src/components/dialogs/Policy/PoliciesTreeViewer.js b/gui-clamp/ui-react/src/components/dialogs/Policy/PoliciesTreeViewer.js deleted file mode 100644 index 7ec7eef..0000000 --- a/gui-clamp/ui-react/src/components/dialogs/Policy/PoliciesTreeViewer.js +++ /dev/null @@ -1,121 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP POLICY-CLAMP - * ================================================================================ - * Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2022 Nordix Foundation. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -import React from 'react' -import TreeView from '@material-ui/lab/TreeView'; -import TreeItem from '@material-ui/lab/TreeItem'; -import FolderIcon from '@material-ui/icons/Folder'; -import FolderOpenIcon from '@material-ui/icons/FolderOpen'; -import DescriptionIcon from '@material-ui/icons/Description'; - - -export default class PoliciesTreeViewer extends React.Component { - - separator = "."; - - nodesList = new Map(); - - constructor(props, context) { - super(props, context); - this.createPoliciesTree = this.createPoliciesTree.bind(this); - this.handleTreeItemClick = this.handleTreeItemClick.bind(this); - this.buildNameWithParent = this.buildNameWithParent.bind(this); - - } - - state = { - policiesTreeData: this.createPoliciesTree(this.props.policiesData), - } - - componentDidUpdate(prevProps) { - if (prevProps.policiesData !== this.props.policiesData) { - this.setState({policiesTreeData: this.createPoliciesTree(this.props.policiesData)}) - } - } - - createPoliciesTree(policiesArray) { - console.log('createPoliciesTree called') - // put my policies array in a Json - let nodeId = 1; - let root = {id: nodeId, policyCount: 0, name: "ROOT", children: [], parent: undefined}; - this.nodesList.set(nodeId++, root); - - if (policiesArray !== null && policiesArray.forEach !== undefined) { - - policiesArray.forEach(policy => { - let currentTreeNode = root; - policy[this.props.valueForTreeCreation].split(this.separator).forEach((policyNamePart, index, policyNamePartsArray) => { - let node = currentTreeNode["children"].find(element => element.name === policyNamePart); - if (typeof (node) === "undefined") { - node = { - id: nodeId, - policyCount: 0, - children: [], - name: policyNamePart, - parent: currentTreeNode - }; - this.nodesList.set(nodeId++, node); - currentTreeNode["children"].push(node); - } - if ((index + 1) === policyNamePartsArray.length) { - ++currentTreeNode["policyCount"]; - } - currentTreeNode = node; - }) - }); - } - return root; - } - - buildNameWithParent(node) { - let nameToBuild = node.name; - if (node.parent !== undefined) { - nameToBuild = this.buildNameWithParent(node.parent) + this.separator + node.name; - } - return nameToBuild; - } - - handleTreeItemClick(event, value) { - let fullName = this.buildNameWithParent(this.nodesList.get(value[0])).substring(5); - this.props.policiesFilterFunction(fullName); - } - - renderTreeItems(nodes) { - return (<TreeItem key={nodes.id} nodeId={nodes.id} label={nodes.name + "(" + nodes.policyCount + ")"} - onNodeSelect={this.handleTreeItemClick}> - { - Array.isArray(nodes.children) ? nodes.children.map((node) => this.renderTreeItems(node)) : null - } - </TreeItem>); - }; - - render() { - return ( - <TreeView defaultExpanded={['root']} defaultCollapseIcon={<FolderOpenIcon/>} - defaultExpandIcon={<FolderIcon/>} defaultEndIcon={<DescriptionIcon/>} - onNodeSelect={this.handleTreeItemClick} multiSelect> - {this.renderTreeItems(this.state.policiesTreeData)} - </TreeView> - ); - } -} |