summaryrefslogtreecommitdiffstats
path: root/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstancePropertiesModal.js
diff options
context:
space:
mode:
authorbrunomilitzer <bruno.militzer@est.tech>2022-02-25 10:38:47 +0000
committerbrunomilitzer <bruno.militzer@est.tech>2022-02-28 15:11:16 +0000
commit4651d908fe8fa83801a8df4d6e83e4eb25073f46 (patch)
tree363290263a096b70c4dd78c84ecc8b1b07730e15 /gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstancePropertiesModal.js
parent4a4a638d6d0336134cdb4cdab093054f3b3f09f9 (diff)
Renamed Control Loop to ACM
Issue-ID: POLICY-3940 Change-Id: I37d768ac339e4e354a369fcb659bf36da861d7aa Signed-off-by: brunomilitzer <bruno.militzer@est.tech>
Diffstat (limited to 'gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstancePropertiesModal.js')
-rw-r--r--gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstancePropertiesModal.js173
1 files changed, 0 insertions, 173 deletions
diff --git a/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstancePropertiesModal.js b/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstancePropertiesModal.js
deleted file mode 100644
index 8c8d403..0000000
--- a/gui-clamp/ui-react/src/components/dialogs/ControlLoop/InstancePropertiesModal.js
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2022 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-import React, { useEffect, useState } from "react";
-import Modal from "react-bootstrap/Modal";
-import styled from "styled-components";
-import Button from "react-bootstrap/Button";
-import ControlLoopService from "../../../api/ControlLoopService";
-import Alert from "react-bootstrap/Alert";
-import * as PropTypes from "prop-types";
-import InstantiationUtils from "./utils/InstantiationUtils";
-
-const ModalStyled = styled(Modal)`
- @media (min-width: 800px) {
- .modal-xl {
- max-width: 96%;
- }
- }
- background-color: transparent;
-`
-
-const DivWhiteSpaceStyled = styled.div`
- overflow: auto;
- min-width: 100%;
- max-height: 300px;
- padding: 5px 5px 0px 5px;
- text-align: center;
-`
-
-const AlertStyled = styled(Alert)`
- margin-top: 10px;
-`
-
-const templateName = "ToscaServiceTemplateSimple";
-const templateVersion = "1.0.0";
-
-function Fragment(props) {
- return null;
-}
-
-Fragment.propTypes = { children: PropTypes.node };
-const InstancePropertiesModal = (props) => {
- const [show, setShow] = useState(true);
- const [toscaFullTemplate, setToscaFullTemplate] = useState({});
- const [jsonEditor, setJsonEditor] = useState(null);
- const [alertMessage, setAlertMessage] = useState(null);
- const [instancePropertiesGlobal, setInstancePropertiesGlobal] = useState({});
- const [serviceTemplateResponseOk, setServiceTemplateResponseOk] = useState(true);
- const [instancePropertiesResponseOk, setInstancePropertiesResponseOk] = useState(true);
- const [instanceName, setInstanceName] = useState('')
-
- useEffect(async () => {
- const toscaTemplateResponse = await ControlLoopService.getToscaTemplate(templateName, templateVersion)
- .catch(error => error.message);
-
- const toscaInstanceProperties = await ControlLoopService.getCommonOrInstanceProperties(templateName, templateVersion, false)
- .catch(error => error.message);
-
- if (!toscaInstanceProperties.ok) {
- const errorResponse = await toscaInstanceProperties.json();
- console.log(errorResponse);
- setInstancePropertiesGlobal(errorResponse);
- setInstancePropertiesResponseOk(false);
- }
-
- if (!toscaTemplateResponse.ok) {
- const errorResponse = await toscaTemplateResponse.json();
- console.log(errorResponse);
- setToscaFullTemplate(errorResponse);
- setServiceTemplateResponseOk(false);
- }
-
- if (toscaTemplateResponse.ok && toscaInstanceProperties.ok) {
- const renderedJsonSchema = await InstantiationUtils.parseJsonSchema(toscaTemplateResponse, toscaInstanceProperties);
- setToscaFullTemplate(await (renderedJsonSchema).fullTemplate);
- setJsonEditor(await (renderedJsonSchema).jsonEditor);
- }
-
- }, []);
-
- const handleClose = () => {
- console.log('handleClose called');
- setShow(false);
- props.history.push('/');
- }
-
- const handleSave = async () => {
- console.log("handleSave called");
-
- setInstanceName(instanceName);
-
- console.log("instanceName to be saved is: " + instanceName);
-
- if (jsonEditor != null) {
- setToscaFullTemplate(InstantiationUtils.updateTemplate(jsonEditor.getValue(), toscaFullTemplate));
- }
-
- const response = await ControlLoopService.createInstanceProperties(instanceName, toscaFullTemplate)
- .catch(error => error.message);
-
- if (response.ok) {
- successAlert();
- } else {
- await errorAlert(response);
- }
- }
-
- const successAlert = () => {
- console.log("successAlert called");
- setAlertMessage(<Alert variant="success">
- <Alert.Heading>Instantiation Properties Success</Alert.Heading>
- <p>Instance Properties was successfully saved</p>
- <hr/>
- </Alert>);
- }
-
- const errorAlert = async (response) => {
- console.log("errorAlert called");
- setAlertMessage(<Alert variant="danger">
- <Alert.Heading>Instantiation Properties Failure</Alert.Heading>
- <p>An error occurred while trying to save</p>
- <p>Status code: { await response.status } : { response.statusText }</p>
- <p>Status Text: { await response.text() }</p>
- <hr/>
- </Alert>);
- }
-
- return (
- <ModalStyled size="xl"
- show={ show }
- onHide={ handleClose }
- backdrop="static"
- keyboard={ false }>
- <Modal.Header closeButton>
- <Modal.Title>Create Tosca Instance Properties</Modal.Title>
- </Modal.Header>
- <div style={ { padding: '5px 5px 0 5px' } }>
- <Modal.Body>
- <div id="editor"/>
- <AlertStyled show={ !serviceTemplateResponseOk }
- variant="danger">Can't get service template:<br/>{ JSON.stringify(toscaFullTemplate, null, 2) }</AlertStyled>
- <AlertStyled show={ !instancePropertiesResponseOk }
- variant="danger">Can't get instance properties:<br/>{ JSON.stringify(instancePropertiesGlobal, null, 2) }</AlertStyled>
- </Modal.Body>
- <DivWhiteSpaceStyled>
- { alertMessage }
- </DivWhiteSpaceStyled>
- </div>
- <Modal.Footer>
- <Button variant="primary" onClick={ handleSave }>Save</Button>
- <Button variant="secondary" onClick={ handleClose }>Close</Button>
- </Modal.Footer>
- </ModalStyled>
- );
-}
-
-export default InstancePropertiesModal;