aec33b8dcba9a0303335d9da592a016984ada5fd
[aai/sparky-fe.git] / src / generic-components / graph / Link.jsx
1 /*
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 import React, {Component} from 'react';
22 import { PropTypes } from 'prop-types';
23
24 import TempCreateAttributes from './TempCreateAttributes.js';
25
26 class Link extends Component {
27                 
28                 static propTypes = {
29                                 x1: PropTypes.number,
30                                 y1: PropTypes.number,
31                                 x2: PropTypes.number,
32                                 y2: PropTypes.number,
33                                 linkAttributes: PropTypes.object
34                 };
35                 
36                 static defaultProps = {
37                                 x1: 0,
38                                 y1: 0,
39                                 x2: 0,
40                                 y2: 0,
41                                 linkAttributes: {}
42                 };
43                 
44                 render() {
45                                 let {x1, y1, x2, y2, linkAttributes} = this.props;
46                                 
47                                 let combinedAttributes = {
48                                                 ...linkAttributes,
49                                                 x1: x1,
50                                                 y1: y1,
51                                                 x2: x2,
52                                                 y2: y2
53                                 };
54                                 
55                                 return (
56                                                 <line {...combinedAttributes}
57                                                                 style={TempCreateAttributes.createLineStyle()}/>
58                                 );
59                 }
60 }
61
62 export default Link;