From 5a87ef15be1dd27dedacb748c58add2502e956c5 Mon Sep 17 00:00:00 2001 From: waynedunican Date: Fri, 14 Apr 2023 16:25:18 +0100 Subject: 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 --- .../src/components/loop_viewer/svg/SvgGenerator.js | 247 --------------------- 1 file changed, 247 deletions(-) delete mode 100644 gui-clamp/ui-react/src/components/loop_viewer/svg/SvgGenerator.js (limited to 'gui-clamp/ui-react/src/components/loop_viewer/svg/SvgGenerator.js') diff --git a/gui-clamp/ui-react/src/components/loop_viewer/svg/SvgGenerator.js b/gui-clamp/ui-react/src/components/loop_viewer/svg/SvgGenerator.js deleted file mode 100644 index 2eba102..0000000 --- a/gui-clamp/ui-react/src/components/loop_viewer/svg/SvgGenerator.js +++ /dev/null @@ -1,247 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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 styled from 'styled-components'; -import { withRouter } from "react-router-dom"; -import LoopCache from '../../../api/LoopCache'; -import OnapConstant from '../../../utils/OnapConstants'; - -const DivStyled = styled.div` - overflow-x: scroll; - display: flex; - width: 100%; - height: 100%; -` - -const emptySvg = ( - No LOOP (SVG) -); - -class SvgGenerator extends React.Component { - boxWidth = 200; - boxHeight = 100; - boxSpace = 50; - - static GENERATED_FROM_INSTANCE = "INSTANCE"; - static GENERATED_FROM_TEMPLATE = "TEMPLATE"; - - state = { - loopCache: new LoopCache({}), - clickable: false, - generatedFrom: SvgGenerator.GENERATED_FROM_INSTANCE, // INSTANCE / TEMPLATE - } - - constructor(props) { - super(props); - this.state.loopCache = props.loopCache; - this.state.clickable = props.clickable; - this.state.generatedFrom = props.generatedFrom; - this.handleSvgClick = this.handleSvgClick.bind(this); - this.renderSvg = this.renderSvg.bind(this); - } - - shouldComponentUpdate(nextProps, nextState) { - return this.state.loopCache !== nextProps.loopCache; - } - - componentDidUpdate(prevProps) { - if (prevProps.loopCache !== this.props.loopCache) { - this.setState({ - loopCache: this.props.loopCache, - }); - } - } - - handleSvgClick(event) { - if (this.state.clickable) { - var elementName = event.target.parentNode.getAttribute('policyId'); - console.info("SVG element clicked", elementName); - // Only allow movement to policy editing IF there busyLoadingCOunt is 0, - // meaning we are not waiting for refreshStatus to complete, for example - if (elementName !== null && !this.props.isBusyLoading()) { - this.props.history.push("/policyModal/" + event.target.parentNode.getAttribute('policyType') + "/" + elementName); - } - } - } - - createVesBox(xPos) { - return this.createOneBox(xPos, null, null, 'VES Collector', 'VES', null); - } - - createOneArrow(xPos) { - return ( - - - - - - - - - ); - } - - createBeginCircle(xPos, text) { - return ( - - - { text } - - ); - } - - createEndCircle(xPos, text) { - return ( - - - { text } - - ); - } - - createOneBox(xPos, policyId, loopElementModelId, name, title, policyType) { - return ( - - - - { title } - { name } - { policyId } - - - ); - } - - createSvgFromTemplate() { - const allElements = []; - var xPos = 0; - - allElements.push(this.createBeginCircle(xPos, "Start")) - xPos += (this.boxWidth + this.boxSpace); - - allElements.push(this.createOneArrow(xPos - this.boxSpace)); - - allElements.push(this.createVesBox(xPos)); - xPos += (this.boxWidth + this.boxSpace); - - allElements.push(this.createOneArrow(xPos - this.boxSpace)); - for (var loopElement of this.state.loopCache.getAllLoopElementModels()) { - - allElements.push(this.createOneBox(xPos, - loopElement['name'], - loopElement['name'], - loopElement['shortName'], - loopElement['loopElementType'], - loopElement['loopElementType'])) - xPos += (this.boxWidth + this.boxSpace); - allElements.push(this.createOneArrow(xPos - this.boxSpace)); - } - - allElements.push(this.createEndCircle(xPos, "End")) - xPos += (this.boxWidth + this.boxSpace); - - return allElements; - } - - createSvgFromInstance() { - const allElements = []; - var xPos = 0; - - allElements.push(this.createBeginCircle(xPos, "Start")) - xPos += (this.boxWidth + this.boxSpace); - - allElements.push(this.createOneArrow(xPos - this.boxSpace)); - - allElements.push(this.createVesBox(xPos)); - xPos += (this.boxWidth + this.boxSpace); - - allElements.push(this.createOneArrow(xPos - this.boxSpace)); - - for (var msPolicy in this.state.loopCache.getMicroServicePolicies()) { - var loopElementModelName = this.state.loopCache.getMicroServicePolicies()[msPolicy]['loopElementModel']; - if (loopElementModelName !== undefined) { - loopElementModelName = loopElementModelName['name']; - } - allElements.push(this.createOneBox(xPos, - this.state.loopCache.getMicroServicePolicies()[msPolicy]['name'], - loopElementModelName, - this.state.loopCache.getMicroServicePolicies()[msPolicy]['policyModel']['policyAcronym'], - 'microservice', - OnapConstant.microServiceType)) - xPos += (this.boxWidth + this.boxSpace); - allElements.push(this.createOneArrow(xPos - this.boxSpace)); - } - - for (var opPolicy in this.state.loopCache.getOperationalPolicies()) { - loopElementModelName = this.state.loopCache.getOperationalPolicies()[opPolicy]['loopElementModel']; - if (loopElementModelName !== undefined) { - loopElementModelName = loopElementModelName['name']; - } - allElements.push(this.createOneBox(xPos, - this.state.loopCache.getOperationalPolicies()[opPolicy]['name'], - loopElementModelName, - this.state.loopCache.getOperationalPolicies()[opPolicy]['policyModel']['policyAcronym'], - 'operational', - OnapConstant.operationalPolicyType)) - xPos += (this.boxWidth + this.boxSpace); - allElements.push(this.createOneArrow(xPos - this.boxSpace)); - } - - allElements.push(this.createEndCircle(xPos, "End")) - xPos += (this.boxWidth + this.boxSpace); - - return allElements; - } - - renderSvg() { - console.log('renderSvg called'); - if (this.state.loopCache.getLoopName() === undefined) { - return [emptySvg]; - } - if (this.state.generatedFrom === SvgGenerator.GENERATED_FROM_INSTANCE) { - return this.createSvgFromInstance(); - } else if (this.state.generatedFrom === SvgGenerator.GENERATED_FROM_TEMPLATE) { - return this.createSvgFromTemplate(); - } - } - - render() { - var allTheElements = this.renderSvg(); - var svgWidth = this.boxWidth * allTheElements.length; - var svgHeight = this.boxHeight + 50; - return ( - - - - - { allTheElements } - - - - ); - } -} - -export default withRouter(SvgGenerator); -- cgit 1.2.3-korg