/** * ============LICENSE_START======================================================================== * ONAP : ccsdk feature sdnr wt odlux * ================================================================================================= * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. * ================================================================================================= * 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. * ============LICENSE_END========================================================================== */ import * as React from 'react' import { Dialog, DialogTitle, DialogContent, DialogActions, TextField, DialogContentText, Checkbox, Button, FormControlLabel, FormGroup } from '@mui/material'; import { IApplicationState } from '../../../../framework/src/handlers/applicationStateHandler'; import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore'; import connect, { Connect } from '../../../../framework/src/flux/connect'; import { MediatorConfigResponse } from 'models/mediatorServer'; import { Panel } from '../../../../framework/src/components/material-ui/panel'; export enum MediatorInfoDialogMode { None = "none", ShowDetails = "showDetails" } const mapProps = (state: IApplicationStoreState) => ({ supportedDevices: state.mediator.mediatorServerState.supportedDevices }) type ShowMediatorInfoDialogComponentProps = Connect & { config: MediatorConfigResponse, mode: MediatorInfoDialogMode, onClose: () => void } type ShowMediatorInfoDialogComponentState = { status: string, devicetype: string, activeOdlConfig: string } /* Displays all values of a mediator server */ class ShowMediatorInfoDialogComponent extends React.Component { constructor(props: ShowMediatorInfoDialogComponentProps) { super(props); if (this.props.config) { let deviceType = props.supportedDevices.find(element => element.id === this.props.config.DeviceType) this.state = { status: props.config.pid > 0 ? "Running" : "Stopped", devicetype: deviceType != undefined ? deviceType.device : 'none', activeOdlConfig: '' } } } onClose = (event: React.MouseEvent) => { event.preventDefault(); event.stopPropagation(); this.props.onClose(); } render() { return ( {this.props.config.Name} } label="Netconf Connection" /> } label="Network Element Connection" /> } label="Firewall active" /> { this.props.config.ODLConfig.map((element, index) => 1 ? index + 1 : '')} key={index} panelId={'panel-' + index} activePanel={this.state.activeOdlConfig} onToggle={(id: string) => { this.setState({ activeOdlConfig: (this.state.activeOdlConfig === id) ? "" : (id || "") }); }}> } label="Trustall" /> ) } ) } } export const ShowMediatorInfoDialog = connect(mapProps)(ShowMediatorInfoDialogComponent) export default ShowMediatorInfoDialog;