changed the header and license
[aai/sparky-fe.git] / src / generic-components / InlineMessage / InlineMessage.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, PropTypes} from 'react';
22 import FontAwesome from 'react-fontawesome';
23 import InlineMessageConstatns from './InlineMessageConstants';
24
25 import Alert from 'react-bootstrap/lib/Alert';
26
27 export default class InlineMessage extends Component {
28
29   static propType = {
30     level: PropTypes.string,
31     messageTxt: PropTypes.string
32   };
33
34   static defaultProps = {
35     level: '',
36     messageTxt: ''
37   };
38
39   render() {
40     let {level, messageTxt} = this.props;
41     let fontawesomeClassName;
42     //Select the font based on the severity level
43     switch (level) {
44       case 'success':
45         fontawesomeClassName = InlineMessageConstatns.SUCCESS_CLASSNAME;
46         break;
47       case 'warning':
48         fontawesomeClassName = InlineMessageConstatns.WARNING_CLASSNAME;
49         break;
50       case 'danger':
51         fontawesomeClassName = InlineMessageConstatns.DANGER_CLASSNAME;
52         break;
53       default:
54         fontawesomeClassName = InlineMessageConstatns.DEFAULT_CLASSNAME;
55         break;
56
57     }
58
59     if (messageTxt && messageTxt.length > 0) {
60       return (
61         <Alert bsStyle={level}
62                className={InlineMessageConstatns.ALERT_PANEL_CLASSNAME}>
63           <div className={InlineMessageConstatns.NOTIFICATION_PANEL_CLASSNAME}>
64             <div className={InlineMessageConstatns.ICON_PANEL_CLASSNAME}>
65               <FontAwesome className={fontawesomeClassName}
66                            name={fontawesomeClassName}/>
67             </div>
68             <div className={InlineMessageConstatns.MESSAGE_PANEL_CLASSNAME}>
69               {messageTxt}
70             </div>
71           </div>
72         </Alert>
73       );
74     } else {
75       return false;
76     }
77
78   }
79 }