Merge "Improve test for DictionaryService."
[clamp.git] / ui-react / src / components / dialogs / RefreshStatus.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights
6  *                             reserved.
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  *
22  */
23 import React from 'react';
24 import LoopActionService from '../../api/LoopActionService';
25 import Spinner from 'react-bootstrap/Spinner'
26 import styled from 'styled-components';
27
28 const StyledSpinnerDiv = styled.div`
29         justify-content: center !important;
30         display: flex !important;
31 `;
32
33 export default class RefreshStatus extends React.Component {
34         state = {
35                 loopName: this.props.loopCache.getLoopName()
36         };
37
38         componentWillReceiveProps(newProps) {
39                 this.setState({
40                         loopName: newProps.loopCache.getLoopName()
41                 });
42         }
43
44         componentDidMount() {
45                 console.log("Refresh status for: " + this.state.loopName);
46                 // refresh status and update loop logs
47                 LoopActionService.refreshStatus(this.state.loopName).then(data => {
48                         alert("Status successfully refreshed")
49                         this.props.updateLoopFunction(data);
50                         this.props.history.push('/');
51                 })
52                 .catch(error => {
53                         alert("Status refreshing failed");
54                         this.props.history.push('/');
55                 });
56         }
57
58         render() {
59                 return (
60                         <StyledSpinnerDiv>
61                                 <Spinner animation="border" role="status">
62                                 </Spinner>
63                         </StyledSpinnerDiv>
64                 );
65         }
66 }