X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ui-react%2Fsrc%2FLoopUI.js;h=8624726bed0f491253c983f75fc2db52a81dcab8;hb=715746fbd2bcb18193138d56df50b0d44da2681b;hp=997f94b18ed3c39197826eb139a496c312bcfc9f;hpb=e44fdb1905fae612b12b56886af8f387e516e485;p=clamp.git
diff --git a/ui-react/src/LoopUI.js b/ui-react/src/LoopUI.js
index 997f94b1..8624726b 100644
--- a/ui-react/src/LoopUI.js
+++ b/ui-react/src/LoopUI.js
@@ -27,20 +27,57 @@ import MenuBar from './components/menu/MenuBar';
import Navbar from 'react-bootstrap/Navbar';
import logo from './logo.png';
import { GlobalClampStyle } from './theme/globalStyle.js';
+import OnapConstants from './utils/OnapConstants';
-import ClosedLoopSvg from './components/loop_viewer/svg/ClosedLoopSvg';
-import ClosedLoopLogs from './components/loop_viewer/logs/ClosedLoopLogs';
-import ClosedLoopStatus from './components/loop_viewer/status/ClosedLoopStatus';
+import SvgGenerator from './components/loop_viewer/svg/SvgGenerator';
+import LoopLogs from './components/loop_viewer/logs/LoopLogs';
+import LoopStatus from './components/loop_viewer/status/LoopStatus';
import UserService from './api/UserService';
+import LoopCache from './api/LoopCache';
+import LoopActionService from './api/LoopActionService';
+
+import { Route } from 'react-router-dom'
+import CreateLoopModal from './components/dialogs/Loop/CreateLoopModal';
+import OpenLoopModal from './components/dialogs/Loop/OpenLoopModal';
+import ModifyLoopModal from './components/dialogs/Loop/ModifyLoopModal';
+import PolicyModal from './components/dialogs/Policy/PolicyModal';
+import LoopPropertiesModal from './components/dialogs/Loop/LoopPropertiesModal';
+import UserInfoModal from './components/dialogs/UserInfoModal';
+import LoopService from './api/LoopService';
+import UploadToscaPolicyModal from './components/dialogs/Tosca/UploadToscaPolicyModal';
+import ViewToscaPolicyModal from './components/dialogs/Tosca/ViewToscaPolicyModal';
+import ViewLoopTemplatesModal from './components/dialogs/Tosca/ViewLoopTemplatesModal';
+import ManageDictionaries from './components/dialogs/ManageDictionaries/ManageDictionaries';
+import PerformAction from './components/dialogs/PerformActions';
+import RefreshStatus from './components/dialogs/RefreshStatus';
+import DeployLoopModal from './components/dialogs/Loop/DeployLoopModal';
+import Alert from 'react-bootstrap/Alert';
+
+import { Link } from 'react-router-dom';
+
+const StyledMainDiv = styled.div`
+ background-color: ${props => props.theme.backgroundColor};
+`
const ProjectNameStyled = styled.a`
vertical-align: middle;
padding-left: 30px;
- font-size: 30px;
+ font-size: 36px;
+ font-weight: bold;
+`
+const StyledRouterLink = styled(Link)`
+ color: ${props => props.theme.menuFontColor};
+ background-color: ${props => props.theme.backgroundColor};
`
+
+const StyledLoginInfo = styled.a`
+ color: ${props => props.theme.menuFontColor};
+ background-color: ${props => props.theme.backgroundColor};
+`
+
const LoopViewDivStyled = styled.div`
- height: 90vh;
+ height: 100%;
overflow: hidden;
margin-left: 10px;
margin-right: 10px;
@@ -64,43 +101,48 @@ const LoopViewBodyDivStyled = styled.div`
height: 95%;
`
-const LoopViewLoopNameSpanStyled = styled.span`
- font-weight: bold;
- color: ${props => (props.theme.loopViewerHeaderFontColor)};
- background-color: ${props => (props.theme.loopViewerHeaderBackgroundColor)};
-`
-
export default class LoopUI extends React.Component {
+
state = {
userName: null,
- loopName: "Empty (NO loop loaded yet)",
+ loopName: OnapConstants.defaultLoopName,
+ loopCache: new LoopCache({}),
+ showSucAlert: false,
+ showFailAlert: false
};
constructor() {
super();
this.getUser = this.getUser.bind(this);
+ this.updateLoopCache = this.updateLoopCache.bind(this);
+ this.loadLoop = this.loadLoop.bind(this);
+ this.closeLoop = this.closeLoop.bind(this);
+ this.showSucAlert = this.showSucAlert.bind(this);
+ this.showFailAlert = this.showFailAlert.bind(this);
+ this.disableAlert = this.disableAlert.bind(this);
+ }
+
+ componentWillMount() {
+ this.getUser();
}
-
- componentDidMount() {
- this.getUser();
- }
getUser() {
- UserService.LOGIN().then(user => {
- this.setState({userName:user})
+ UserService.login().then(user => {
+ this.setState({ userName: user })
});
}
-
+
renderMenuNavBar() {
return (
-
+
);
}
renderUserLoggedNavBar() {
return (
- Signed in as: {this.state.userName}
+ Signed in as:
+ {this.state.userName}
);
}
@@ -108,56 +150,132 @@ export default class LoopUI extends React.Component {
renderLogoNavBar() {
return (
-
+
CLAMP
);
}
+ renderAlertBar() {
+ return (
+
+
+ {this.state.showMessage}
+
+
+ {this.state.showMessage}
+
+
+ );
+ }
+
renderNavBar() {
return (
-
- {this.renderLogoNavBar()}
- {this.renderMenuNavBar()}
- {this.renderUserLoggedNavBar()}
-
- );
- }
-
+
+ {this.renderLogoNavBar()}
+
+ {this.renderMenuNavBar()}
+ {this.renderUserLoggedNavBar()}
+
+ );
+ }
+
renderLoopViewHeader() {
return (
- Loop Viewer - {this.state.loopName}
+ Loop Viewer - {this.state.loopName} - ({this.state.loopCache.getTemplateName()})
);
}
-
+
renderLoopViewBody() {
return (
-
-
-
+
+
+
);
}
-
+
+ getLoopCache() {
+ return this.state.loopCache;
+
+ }
+
renderLoopViewer() {
return (
- {this.renderLoopViewHeader()}
- {this.renderLoopViewBody()}
+ {this.renderLoopViewHeader()}
+ {this.renderLoopViewBody()}
- );
+ );
+ }
+
+ updateLoopCache(loopJson) {
+ this.setState({ loopCache: new LoopCache(loopJson) });
+ this.setState({ loopName: this.state.loopCache.getLoopName() });
+ console.info(this.state.loopName+" loop loaded successfully");
+ }
+
+ showSucAlert(message) {
+ this.setState ({ showSucAlert: true, showMessage:message });
+ }
+
+ showFailAlert(message) {
+ this.setState ({ showFailAlert: true, showMessage:message });
}
-
+
+ disableAlert() {
+ this.setState ({ showSucAlert: false, showFailAlert: false });
+ }
+
+ loadLoop(loopName) {
+ LoopService.getLoop(loopName).then(loop => {
+ console.debug("Updating loopCache");
+ LoopActionService.refreshStatus(loopName).then(data => {
+ this.updateLoopCache(data);
+ this.props.history.push('/');
+ })
+ .catch(error => {
+ this.updateLoopCache(loop);
+ this.props.history.push('/');
+ });
+ });
+ }
+
+ closeLoop() {
+ this.setState({ loopCache: new LoopCache({}), loopName: OnapConstants.defaultLoopName });
+ this.props.history.push('/');
+ }
+
render() {
return (
-
-
+
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+
+ ()} />
+
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+ ()} />
+
+ {this.renderAlertBar()}
{this.renderNavBar()}
{this.renderLoopViewer()}
-
+
);
}
}