From da4fd6169717cfa04d644d0af0d23dd089a6e373 Mon Sep 17 00:00:00 2001 From: herbert Date: Sat, 14 Dec 2019 00:06:42 +0100 Subject: remove old version of devicemodel devicemanager oldux featureaggregator Issue-ID: SDNC-1004 Signed-off-by: herbert Change-Id: I5337643181e2398e5a8097e4ee14fa4ac96d0d4c --- .../src/views/configurationApplication.tsx | 320 --------------------- 1 file changed, 320 deletions(-) delete mode 100644 sdnr/wt/odlux/apps/configurationApp/src/views/configurationApplication.tsx (limited to 'sdnr/wt/odlux/apps/configurationApp/src/views/configurationApplication.tsx') diff --git a/sdnr/wt/odlux/apps/configurationApp/src/views/configurationApplication.tsx b/sdnr/wt/odlux/apps/configurationApp/src/views/configurationApplication.tsx deleted file mode 100644 index d5189fcd0..000000000 --- a/sdnr/wt/odlux/apps/configurationApp/src/views/configurationApplication.tsx +++ /dev/null @@ -1,320 +0,0 @@ -/** - * ============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 { MaterialTable, MaterialTableCtorType } from '../../../../framework/src/components/material-table'; -import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect'; -import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore'; -import { IConnectAppStoreState } from '../../../connectApp/src/handlers/connectAppRootHandler'; -import { MountedNetworkElementType } from '../../../connectApp/src/models/mountedNetworkElements'; -import { NavigateToApplication } from '../../../../framework/src/actions/navigationActions'; -import { Dispatch } from '../../../../framework/src/flux/store'; - -import TextField from '@material-ui/core/TextField'; -import { Tooltip, Button, FormControl, InputLabel, Select, MenuItem, InputAdornment } from '@material-ui/core'; -import Link from '@material-ui/core/Link'; - -import Table from '@material-ui/core/Table'; -import TableBody from '@material-ui/core/TableBody'; -import TableCell from '@material-ui/core/TableCell'; -import TableHead from '@material-ui/core/TableHead'; -import TableRow from '@material-ui/core/TableRow'; - -import { ViewSpecification } from '../models/uiModels'; - -const NetworkElementTable = MaterialTable as MaterialTableCtorType; - -const mapProps = (state: IApplicationStoreState) => ({ - ...state.configuration, - avaliableDevices: state.connect.mountedNetworkElements.elements.filter(el => el.connectionStatus === "connected") -}); -const mapDisp = (dispatcher: IDispatcher) => ({ - navigateTo: (viewId: string, index?: string | number) => dispatcher.dispatch((dispatch: Dispatch, getState: () => IApplicationStoreState) => { - const { configuration: { nodeId, lpId, indexValues } } = getState(); - const newIndexValues = typeof index === 'number' && indexValues - ? indexValues.split('/').slice(0, index).join("/") - : indexValues - ? `${indexValues}${index ? `/${index}` : ''}` - : index; - dispatch(new NavigateToApplication("configuration", `${nodeId}/${lpId}/${viewId}${newIndexValues ? `/${newIndexValues}` : ''}`)); - - }), - changeNode: (ndoeId: string) => dispatcher.dispatch((dispatch: Dispatch) => { - dispatch(new NavigateToApplication("configuration", ndoeId)); - }), - changeLp: (lpId: string) => dispatcher.dispatch((dispatch: Dispatch, getState: () => IApplicationStoreState) => { - const { configuration: { nodeId } } = getState(); - dispatch(new NavigateToApplication("configuration", `${nodeId}/${lpId}`)); - }) -}); - -type ConfigurationApplicationProps = Connect; - -type ConfigurationApplicationState = { - -} - -class ConfigurationApplicationComponent extends React.Component { - - render() { - if (this.props.loading) { - return ( -

Collecting data from network element. Please wait ...

- ); - } else if (!this.props.nodeId) { - return ( - <> -

Please select an network element to configure !

- { this.props.changeNode(rowData.mountId) }} columns={ - [{ property:"mountId" }] - } /> - - ); - } else if (!this.props.lpId) { - return this.props.coreModel && this.props.coreModel.ltp && this.props.coreModel.ltp.length - ? ( - <> -

Please select an existing LP first !

-
    - { this.props.coreModel.ltp.map(ltp => { - return
  • - { - this.props.changeLp(ltp.lp[0].uuid); - }}>{ltp.lp[0].label[0].value} -
  • - }) || null} -
- - ) - : ( - <> -

No LTP / LP found !

- - ); - } else if (!this.props.capability && !this.props.viewId) { - return ( -

Please select a capability or viewId first !

- ); - } - const viewData = this.props.viewData; - const viewSpecification = this.props.viewId - ? this.props.viewSpecifications.find(d => d.id === this.props.viewId) - : this.props.viewSpecifications.find(d => d.name === this.props.conditionalPackage); - - return viewSpecification - ? ( - <> -
-

{`${this.props.nodeId} - ${this.props.lpId}`}

- {this.createBreadCrump(viewSpecification.id, this.props.viewSpecifications)} -
-
- { - - (this.props.viewData && this.props.viewData instanceof Array) - ? this.renderUIList(viewSpecification, viewData as { [key: string]: string | number }[]) - : this.renderUIElement(viewSpecification, viewData as { [key: string]: string | number }) - } - {/* {
{JSON.stringify(this.props.viewData, null, 2)} 
} */} - -
- - ) - :

View [{this.props.viewId || this.props.conditionalPackage}] Not Found ! {this.props.viewSpecifications.length}

; - } - - private static keyPropertyParser = /\$\$INDEX:(\d+):?([a-z\-]+)?\$\$$/; - private renderUIList = (viewSpecification: ViewSpecification, viewData: { [key: string]: string | number }[]) => { - const keyMatch = ConfigurationApplicationComponent.keyPropertyParser.exec(viewSpecification.dataPath); - const keyProperty = keyMatch && keyMatch[2]; - return ( - - - - {viewSpecification.elements.map(uiElement => { - switch (uiElement.uiType) { - case "number": - return ( - {uiElement.label} - ); - case "selection": - case "object": - case "list": - case "string": - case "boolean": - return ( - {uiElement.label} - ); - default: - if (process.env.NODE_ENV !== "production") { - console.error(`Unknown column type - ${(uiElement as any).uiType} in ${(uiElement as any).id}.`) - } - return null; - } - }) - } - Actions - - - - {viewData.map((row, ind) => ( - - {viewSpecification.elements.map(uiElement => { - switch (uiElement.uiType) { - case "string": - case "number": - return ( - {row[uiElement.id] == null ? "---" : row[uiElement.id] } - ); - case "boolean": - return ( - {row[uiElement.id] == null ? "---" : row[uiElement.id] ? uiElement.trueValue || 'True' : uiElement.falseValue || 'False'} - ); - case "list": - case "object": - return ( - - - { - this.props.navigateTo(uiElement.viewId, String(ind)); - }}>{uiElement.label} - - ); - case "selection": - const option = row[uiElement.id] ? uiElement.options.find(opt => opt.key === row[uiElement.id]) : null; - return ( - {option ? option.value : row[uiElement.id] == null ? "---" : row[uiElement.id] } - ); - default: - if (process.env.NODE_ENV !== "production") { - console.error(`Unknown column type - ${(uiElement as any).uiType} in ${(uiElement as any).id}.`) - } - return null; - } - })} - - - - ))} - -
- ); - } - - private renderUIElement = (viewSpecification: ViewSpecification, viewData: { [key: string]: string | number }) => ( - viewSpecification.elements.map(uiElement => { - if (uiElement.leafrefPath) { - return null; - } - switch (uiElement.uiType) { - case "selection": - return (viewData[uiElement.id] != null - ? ( - {uiElement.label} - - ) - : null - ); - case "boolean": - return (viewData[uiElement.id] != null - ? ( - {uiElement.label} - - ) - : null - ); - case "string": - return ( - - - - ); - case "number": - return ( - - {uiElement.unit} : undefined }} spellCheck={false} autoFocus margin="dense" - id={uiElement.id} label={uiElement.label} type="text" value={viewData[uiElement.id] || ''} style={{ width: 485, marginLeft: 20, marginRight: 20 }} /> - - ); - case "list": - case "object": - return ( - - { - this.props.navigateTo(uiElement.viewId); - }}>{uiElement.label} - - ); - default: - if (process.env.NODE_ENV !== "production") { - console.error(`Unknown type - ${(uiElement as any).uiType} in ${(uiElement as any).id}.`) - } - return null; - } - }) - ) - - private createBreadCrump = (viewId: string, viewSpecifications: ViewSpecification[]) => { - const result: JSX.Element[] = []; - const hasIndex = /\/\$\$INDEX:(\d+):?([a-z\-]+)?\$\$/i; - let currentViewSpecification = viewSpecifications.find(s => s.id === viewId); - let indexCounter = 0; - while (currentViewSpecification != null) { - const currentViewId = currentViewSpecification.id; - const currentDataPathHasIndex = hasIndex.test(currentViewSpecification.dataPath); - result.unshift(( - - { - this.props.navigateTo(currentViewId, currentDataPathHasIndex ? ++indexCounter : indexCounter); - }}>{currentViewSpecification.name} - {viewId === currentViewId ? null : " | "} - - )); - currentViewSpecification = viewSpecifications.find(s => s.id === (currentViewSpecification && currentViewSpecification.parentView || '')); - } - return result; - } -} - -export const ConfigurationApplication = connect(mapProps, mapDisp)(ConfigurationApplicationComponent); -export default ConfigurationApplication; \ No newline at end of file -- cgit 1.2.3-korg