[AAI-92 Amsterdam] Update license
[aai/sparky-fe.git] / src / app / MainScreenWrapper.jsx
1 /*
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017 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  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  */
23 import React, {Component} from 'react';
24 import {connect} from 'react-redux';
25
26 import TierSupport from './tierSupport/TierSupport.jsx';
27 import VnfSearch from './vnfSearch/VnfSearch.jsx';
28 import MainScreenHeader from './MainScreenHeader.jsx';
29
30 import DynamicViewLoader from
31   'generic-components/dynamicViewLoader/dynamicViewLoader.jsx';
32
33 import {
34   Route,
35   HashRouter as Router,
36   Switch,
37   Redirect
38 } from 'react-router-dom';
39
40 import {
41   windowResize
42 } from './MainScreenWrapperActionHelper.js';
43
44 import customViews from 'resources/views/customViews.json';
45
46 const mapStateToProps = ({mainWrapper}) => {
47   let {
48         showMenu = false,
49         toggleButtonActive = false
50       } = mainWrapper;
51
52   return {
53     showMenu,
54     toggleButtonActive
55   };
56 };
57
58 const mapActionsToProps = (dispatch) => {
59   return {
60     onWindowSizeChange: () => dispatch(windowResize())
61   };
62 };
63
64 class MainScreenWrapper extends Component {
65
66   constructor() {
67     super();
68     window.addEventListener('resize', () => {
69       this.props.onWindowSizeChange();
70     });
71   }
72
73   render() {
74     let customViewList = [];
75
76     // add all custom views
77     for (let view in customViews) {
78       customViewList.push(
79         <Route path={'/' + customViews[view]['viewName']}
80                component={DynamicViewLoader}/>
81       );
82     }
83
84     return (
85       <Router>
86         <div>
87           <Switch>
88             <Redirect from='/' exact to='/viewInspect'/>
89           </Switch>
90           <Route path='/' component={MainScreenHeader}/>
91           <Route path='/viewInspect/:viParam?' component={TierSupport}/>
92           <Route path='/vnfSearch/:vnfParam?' component={VnfSearch}/>
93           {customViewList}
94         </div>
95       </Router>
96     );
97   }
98 }
99
100 export default connect(mapStateToProps, mapActionsToProps)(MainScreenWrapper);