summaryrefslogtreecommitdiffstats
path: root/ui-react/src/components/loop_viewer/svg/LoopSvg.js
diff options
context:
space:
mode:
authorsebdet <sebastien.determe@intl.att.com>2020-05-18 12:31:11 +0200
committersebdet <sebastien.determe@intl.att.com>2020-05-20 18:00:03 +0200
commitc0ec0fc448af1c5d6eacb195e95938c921ba1bce (patch)
treef294596a5aa001f76fa4cd6f1a3c88d669fadd32 /ui-react/src/components/loop_viewer/svg/LoopSvg.js
parent061ecec6a6099ad7fb480b0fe67f6e5154f9db23 (diff)
Create SVG in UI
Remove the SVG generation from the backend and put it in the UI Issue-ID: CLAMP-854 Signed-off-by: sebdet <sebastien.determe@intl.att.com> Change-Id: Icfa9e107d83bb244ac3d87300d013555bfa0b037
Diffstat (limited to 'ui-react/src/components/loop_viewer/svg/LoopSvg.js')
-rw-r--r--ui-react/src/components/loop_viewer/svg/LoopSvg.js110
1 files changed, 0 insertions, 110 deletions
diff --git a/ui-react/src/components/loop_viewer/svg/LoopSvg.js b/ui-react/src/components/loop_viewer/svg/LoopSvg.js
deleted file mode 100644
index 048f63044..000000000
--- a/ui-react/src/components/loop_viewer/svg/LoopSvg.js
+++ /dev/null
@@ -1,110 +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 LoopCache from '../../../api/LoopCache';
-import { withRouter } from "react-router-dom";
-import LoopService from '../../../api/LoopService';
-import LoopComponentConverter from './LoopComponentConverter';
-
-const LoopViewSvgDivStyled = styled.svg`
- display: flex;
- flex-direction: row;
- overflow-x: scroll;
- background-color: ${props => (props.theme.loopViewerBackgroundColor)};
- border: 1px solid;
- border-color: ${props => (props.theme.loopViewerHeaderColor)};
- margin-top: 1em;
- margin-left: auto;
- margin-right:auto;
- margin-bottom: -3em;
- align-items: center;
- height: 100%;
- width: 100%;
-
-`
-
-class LoopViewSvg extends React.Component {
-
- static emptySvg = "<svg><text x=\"20\" y=\"40\">No LOOP (SVG)</text></svg>";
-
- state = {
- svgContent: LoopViewSvg.emptySvg,
- loopCache: new LoopCache({}),
- componentModalMapping: new Map([])
- }
-
- constructor(props) {
- super(props);
- this.handleSvgClick = this.handleSvgClick.bind(this);
- this.getSvg = this.getSvg.bind(this);
- this.state.loopCache = props.loopCache;
- this.state.componentModalMapping = LoopComponentConverter.buildMapOfComponents(props.loopCache);
- this.getSvg(props.loopCache.getLoopName());
- }
-
- shouldComponentUpdate(nextProps, nextState) {
- return this.state.svgContent !== nextState.svgContent;
- }
-
- componentWillReceiveProps(newProps) {
- if (this.state.loopCache !== newProps.loopCache) {
- this.setState({
- loopCache: newProps.loopCache,
- componentModalMapping: LoopComponentConverter.buildMapOfComponents(newProps.loopCache)
- });
- this.getSvg(newProps.loopCache.getLoopName());
- }
- }
-
- getSvg(loopName) {
- if (typeof loopName !== "undefined") {
- LoopService.getSvg(loopName).then(svgXml => {
- if (svgXml.length !== 0) {
- this.setState({ svgContent: svgXml })
- } else {
- this.setState({ svgContent: LoopViewSvg.emptySvg })
- }
- });
- } else {
- this.setState({ svgContent: LoopViewSvg.emptySvg })
- }
- }
-
- handleSvgClick(event) {
- console.debug("svg click event received");
- var elementName = event.target.parentNode.parentNode.parentNode.getAttribute('data-element-id');
- console.info("SVG element clicked", elementName);
- this.props.history.push(this.state.componentModalMapping.get(elementName));
- }
-
- render() {
- return (
- <LoopViewSvgDivStyled dangerouslySetInnerHTML={{ __html: this.state.svgContent }} onClick={this.handleSvgClick}>
-
- </LoopViewSvgDivStyled>
- );
- }
-}
-
-export default withRouter(LoopViewSvg);