From 7152b77370d1989e4429ce37ec25b1e1baace0da Mon Sep 17 00:00:00 2001 From: Aijana Schumann Date: Tue, 6 Jul 2021 16:01:10 +0200 Subject: [PATCH] Add dashboard to odlux Add connected element and fault info to home page Issue-ID: CCSDK-3238 Signed-off-by: Aijana Schumann Change-Id: Ia47442fd0877b721d25d9f97e3a19088df193439 --- .../src/actions/commonNetworkElementsActions.ts | 2 +- .../src/actions/connectionStatusCountActions.ts | 52 ++++ .../src/handlers/connectAppRootHandler.ts | 5 +- .../src/handlers/connectionStatusCountHandler.ts | 58 +++++ .../connectApp/src/models/connectionStatusCount.ts | 43 ++++ .../wt/odlux/apps/connectApp/src/pluginConnect.tsx | 65 ++++- .../src/services/connectionStatusCountService.ts | 54 ++++ sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx | 23 ++ .../apps/faultApp/src/views/faultApplication.tsx | 6 +- sdnr/wt/odlux/framework/package.json | 8 +- sdnr/wt/odlux/framework/pom.xml | 2 +- sdnr/wt/odlux/framework/src/app.css | 1 + sdnr/wt/odlux/framework/src/app.tsx | 10 - .../framework/src/assets/images/odluxLogo.gif | Bin 0 -> 5709 bytes .../framework/src/assets/images/odluxLogo.gif.d.ts | 20 ++ .../odlux/framework/src/assets/images/onapLogo.gif | Bin 0 -> 9249 bytes .../framework/src/assets/images/onapLogo.gif.d.ts | 20 ++ .../framework/src/components/errorDisplay.tsx | 2 +- sdnr/wt/odlux/framework/src/design/default.ts | 3 +- .../src/handlers/applicationStateHandler.ts | 21 +- sdnr/wt/odlux/framework/src/index.dev.html | 6 +- .../framework/src/services/notificationService.ts | 2 +- sdnr/wt/odlux/framework/src/views/about.tsx | 9 +- sdnr/wt/odlux/framework/src/views/home.tsx | 285 ++++++++++++++++++++- sdnr/wt/odlux/odlux.properties | 6 +- sdnr/wt/odlux/package.json | 4 +- sdnr/wt/odlux/yarn.lock | 187 ++++++++------ 27 files changed, 769 insertions(+), 125 deletions(-) create mode 100644 sdnr/wt/odlux/apps/connectApp/src/actions/connectionStatusCountActions.ts create mode 100644 sdnr/wt/odlux/apps/connectApp/src/handlers/connectionStatusCountHandler.ts create mode 100644 sdnr/wt/odlux/apps/connectApp/src/models/connectionStatusCount.ts create mode 100644 sdnr/wt/odlux/apps/connectApp/src/services/connectionStatusCountService.ts create mode 100644 sdnr/wt/odlux/framework/src/assets/images/odluxLogo.gif create mode 100644 sdnr/wt/odlux/framework/src/assets/images/odluxLogo.gif.d.ts create mode 100644 sdnr/wt/odlux/framework/src/assets/images/onapLogo.gif create mode 100644 sdnr/wt/odlux/framework/src/assets/images/onapLogo.gif.d.ts diff --git a/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts b/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts index a83e00239..0c3266216 100644 --- a/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts +++ b/sdnr/wt/odlux/apps/connectApp/src/actions/commonNetworkElementsActions.ts @@ -28,7 +28,7 @@ import { connectionStatusLogReloadAction } from '../handlers/connectionStatusLog import { PanelId } from '../models/panelId'; import { guiCutThrough } from '../models/guiCutTrough'; -import { connectService} from '../services/connectService'; +import { connectService} from '../services/connectService'; export class SetPanelAction extends Action { diff --git a/sdnr/wt/odlux/apps/connectApp/src/actions/connectionStatusCountActions.ts b/sdnr/wt/odlux/apps/connectApp/src/actions/connectionStatusCountActions.ts new file mode 100644 index 000000000..e1e16b704 --- /dev/null +++ b/sdnr/wt/odlux/apps/connectApp/src/actions/connectionStatusCountActions.ts @@ -0,0 +1,52 @@ +/** + * ============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 { getConnectionStatusCountStateFromDatabase } from '../services/connectionStatusCountService'; +import { Dispatch } from '../../../../framework/src/flux/store'; + +import { Action } from '../../../../framework/src/flux/action'; + + +export class ConnectionStatusCountBaseAction extends Action { } + + +export class SetConnectionStatusCountAction extends ConnectionStatusCountBaseAction { + constructor(public ConnectedCount: number, public ConnectingCount: number, public DisconnectedCount: number, + public MountedCount: number, public UnableToConnectCount: number, public UndefinedCount: number, public UnmountedCount: number, public totalCount: number) { + super(); + } +} + + +export const refreshConnectionStatusCountAsyncAction = async (dispatch: Dispatch) => { + const result = await getConnectionStatusCountStateFromDatabase().catch(_ => null); + if (result) { + const statusAction = new SetConnectionStatusCountAction( + result["Connected"] || 0, + result["Connecting"] || 0, + result["Disconnected"] || 0, + result["Mounted"] || 0, + result["UnableToConnect"] || 0, + result["Undefined"] || 0, + result["Unmounted"] || 0, + result["total"] || 0 + ); + dispatch(statusAction); + return; + } + dispatch(new SetConnectionStatusCountAction(0, 0, 0, 0, 0, 0, 0, 0)); +} diff --git a/sdnr/wt/odlux/apps/connectApp/src/handlers/connectAppRootHandler.ts b/sdnr/wt/odlux/apps/connectApp/src/handlers/connectAppRootHandler.ts index c23e43924..70b64c976 100644 --- a/sdnr/wt/odlux/apps/connectApp/src/handlers/connectAppRootHandler.ts +++ b/sdnr/wt/odlux/apps/connectApp/src/handlers/connectAppRootHandler.ts @@ -24,6 +24,7 @@ import { IInfoNetworkElementsState, infoNetworkElementsActionHandler } from './i import { SetPanelAction, AddWebUriList, RemoveWebUri, SetWeburiSearchBusy } from '../actions/commonNetworkElementsActions'; import { PanelId } from '../models/panelId'; import { guiCutThrough } from '../models/guiCutTrough'; +import { connectionStatusCountHandler, IConnectionStatusCount } from './connectionStatusCountHandler'; export interface IConnectAppStoreState { networkElements: INetworkElementsState; @@ -31,6 +32,7 @@ export interface IConnectAppStoreState { currentOpenPanel: PanelId; elementInfo: IInfoNetworkElementsState; guiCutThrough: guiCutThroughState; + connectionStatusCount: IConnectionStatusCount; } const currentOpenPanelHandler: IActionHandler = (state = null, action) => { @@ -87,7 +89,8 @@ const actionHandlers = { connectionStatusLog: connectionStatusLogActionHandler, currentOpenPanel: currentOpenPanelHandler, elementInfo: infoNetworkElementsActionHandler, - guiCutThrough: guiCutThroughHandler + guiCutThrough: guiCutThroughHandler, + connectionStatusCount: connectionStatusCountHandler }; export const connectAppRootHandler = combineActionHandler(actionHandlers); diff --git a/sdnr/wt/odlux/apps/connectApp/src/handlers/connectionStatusCountHandler.ts b/sdnr/wt/odlux/apps/connectApp/src/handlers/connectionStatusCountHandler.ts new file mode 100644 index 000000000..611786520 --- /dev/null +++ b/sdnr/wt/odlux/apps/connectApp/src/handlers/connectionStatusCountHandler.ts @@ -0,0 +1,58 @@ +/** + * ============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 { IActionHandler } from "../../../../framework/src/flux/action"; +import { SetConnectionStatusCountAction } from "../actions/connectionStatusCountActions"; + +export interface IConnectionStatusCount { + Connected: number, + Connecting: number, + Disconnected: number, + Mounted: number, + UnableToConnect: number, + Undefined: number, + Unmounted: number, + total: number +} + +const connectionStatusCountInit: IConnectionStatusCount = { + Connected: 0, + Connecting: 0, + Disconnected: 0, + Mounted: 0, + UnableToConnect: 0, + Undefined: 0, + Unmounted: 0, + total: 0 +}; + +export const connectionStatusCountHandler: IActionHandler = (state = connectionStatusCountInit, action) => { + if (action instanceof SetConnectionStatusCountAction) { + state = { + Connected: action.ConnectedCount, + Connecting: action.ConnectingCount, + Disconnected: action.DisconnectedCount, + Mounted: action.MountedCount, + UnableToConnect: action.UnableToConnectCount, + Undefined: action.UndefinedCount, + Unmounted: action.UnmountedCount, + total: action.totalCount + } + } + + return state; +} \ No newline at end of file diff --git a/sdnr/wt/odlux/apps/connectApp/src/models/connectionStatusCount.ts b/sdnr/wt/odlux/apps/connectApp/src/models/connectionStatusCount.ts new file mode 100644 index 000000000..125a6e369 --- /dev/null +++ b/sdnr/wt/odlux/apps/connectApp/src/models/connectionStatusCount.ts @@ -0,0 +1,43 @@ +/** + * ============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.number (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.number + * + * 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========================================================================== + */ + +export type ConnectionStatusCountReturnType = { + Connected: number, + Connecting: number, + Disconnected: number, + Mounted: number, + UnableToConnect: number, + Undefined: number, + Unmounted: number, + total: number +}; + +export type ConnectionStatusCountType = { + Connected: number, + Connecting: number, + Disconnected: number, + Mounted: number, + UnableToConnect: number, + Undefined: number, + Unmounted: number, + total: number +}; + +export type ConnectionStatusCount = { + 'network-element-connections': ConnectionStatusCountReturnType +}; diff --git a/sdnr/wt/odlux/apps/connectApp/src/pluginConnect.tsx b/sdnr/wt/odlux/apps/connectApp/src/pluginConnect.tsx index 93bed1aad..461e14023 100644 --- a/sdnr/wt/odlux/apps/connectApp/src/pluginConnect.tsx +++ b/sdnr/wt/odlux/apps/connectApp/src/pluginConnect.tsx @@ -16,22 +16,70 @@ * ============LICENSE_END========================================================================== */ +import * as React from "react"; +import { withRouter, RouteComponentProps, Route, Switch, Redirect } from 'react-router-dom'; import { faPlug } from '@fortawesome/free-solid-svg-icons'; import applicationManager from '../../../framework/src/services/applicationManager'; import { subscribe, IFormatedMessage } from '../../../framework/src/services/notificationService'; import { AddSnackbarNotification } from '../../../framework/src/actions/snackbarActions'; +import { IApplicationStoreState } from "../../../framework/src/store/applicationStore"; +import connect, { Connect, IDispatcher } from '../../../framework/src/flux/connect'; +import { findWebUrisForGuiCutThroughAsyncAction, updateCurrentViewAsyncAction, SetPanelAction } from './actions/commonNetworkElementsActions'; +import { refreshConnectionStatusCountAsyncAction } from './actions/connectionStatusCountActions'; +import { createNetworkElementsActions, createNetworkElementsProperties, networkElementsReloadAction } from './handlers/networkElementsHandler'; import connectAppRootHandler from './handlers/connectAppRootHandler'; import ConnectApplication from './views/connectView'; +import { PanelId } from "./models/panelId"; +import { NetworkElementsList } from './components/networkElements' -import { findWebUrisForGuiCutThroughAsyncAction, updateCurrentViewAsyncAction } from './actions/commonNetworkElementsActions'; +let currentStatus: string | undefined = undefined; + +const mapProps = (state: IApplicationStoreState) => ({ + currentProblemsProperties: createNetworkElementsProperties(state), +}); + +const mapDisp = (dispatcher: IDispatcher) => ({ + currentProblemsActions: createNetworkElementsActions(dispatcher.dispatch, true), + setCurrentPanel: (panelId: PanelId) => dispatcher.dispatch(new SetPanelAction(panelId)), +}); + +const ConnectApplicationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComponentProps<{ status?: string }> & Connect) => { + if (currentStatus !== props.match.params.status) { + currentStatus = props.match.params.status || undefined; + window.setTimeout(() => { + if (currentStatus) { + props.setCurrentPanel("NetworkElements"); + props.currentProblemsActions.onFilterChanged("status", currentStatus); + if (!props.currentProblemsProperties.showFilter) { + props.currentProblemsActions.onToggleFilter(false); + props.currentProblemsActions.onRefresh(); + } + else + props.currentProblemsActions.onRefresh(); + } + }); + } + return ( + + ) +}); + + +const App = withRouter((props: RouteComponentProps) => ( + + + + + +)); export function register() { const applicationApi = applicationManager.registerApplication({ name: "connect", icon: faPlug, - rootComponent: ConnectApplication, + rootComponent: App, rootActionHandler: connectAppRootHandler, menuEntry: "Connect" }); @@ -52,4 +100,17 @@ export function register() { }); } })); + + applicationApi.applicationStoreInitialized.then(store => { + store.dispatch(networkElementsReloadAction); + }); + + applicationApi.applicationStoreInitialized.then(store => { + store.dispatch(refreshConnectionStatusCountAsyncAction); + }); + window.setInterval(() => { + applicationApi.applicationStoreInitialized.then(store => { + store.dispatch(refreshConnectionStatusCountAsyncAction); + }); + }, 15000); } \ No newline at end of file diff --git a/sdnr/wt/odlux/apps/connectApp/src/services/connectionStatusCountService.ts b/sdnr/wt/odlux/apps/connectApp/src/services/connectionStatusCountService.ts new file mode 100644 index 000000000..519c965c4 --- /dev/null +++ b/sdnr/wt/odlux/apps/connectApp/src/services/connectionStatusCountService.ts @@ -0,0 +1,54 @@ +/** + * ============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 { requestRest } from "../../../../framework/src/services/restService"; +import { Result } from "../../../../framework/src/models/elasticSearch"; +import { ConnectionStatusCountType, ConnectionStatusCount } from "../models/connectionStatusCount"; + + + +export const getConnectionStatusCountStateFromDatabase = async (): Promise => { + const path = 'rests/operations/data-provider:read-status'; + const result = await requestRest>(path, { method: "POST" }); + let connectionStatusCountType: ConnectionStatusCountType = { + Connected: 0, + Connecting: 0, + Disconnected: 0, + Mounted: 0, + UnableToConnect: 0, + Undefined: 0, + Unmounted: 0, + total: 0 + } + let connectionStatusCount: ConnectionStatusCount[] | null = null; + + if (result && result["data-provider:output"] && result["data-provider:output"].data) { + connectionStatusCount = result["data-provider:output"].data; + connectionStatusCountType = { + Connected: connectionStatusCount[0]["network-element-connections"].Connected, + Connecting: connectionStatusCount[0]["network-element-connections"].Connecting, + Disconnected: connectionStatusCount[0]["network-element-connections"].Disconnected, + Mounted: connectionStatusCount[0]["network-element-connections"].Mounted, + UnableToConnect: connectionStatusCount[0]["network-element-connections"].UnableToConnect, + Undefined: connectionStatusCount[0]["network-element-connections"].Undefined, + Unmounted: connectionStatusCount[0]["network-element-connections"].Unmounted, + total: connectionStatusCount[0]["network-element-connections"].total, + } + } + return connectionStatusCountType; +} diff --git a/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx b/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx index bf96fe38d..06299417d 100644 --- a/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx +++ b/sdnr/wt/odlux/apps/faultApp/src/pluginFault.tsx @@ -42,6 +42,7 @@ import { FaultStatus } from "./components/faultStatus"; import { refreshFaultStatusAsyncAction } from "./actions/statusActions"; let currentMountId: string | undefined = undefined; +let currentSeverity: string | undefined = undefined; const mapProps = (state: IApplicationStoreState) => ({ currentProblemsProperties: createCurrentProblemsProperties(state), @@ -75,8 +76,30 @@ const FaultApplicationRouteAdapter = connect(mapProps, mapDisp)((props: RouteCom ) }); +const FaulttApplicationAlarmStatusRouteAdapter = connect(mapProps, mapDisp)((props: RouteComponentProps<{ severity?: string }> & Connect) => { + if (currentSeverity !== props.match.params.severity) { + currentSeverity = props.match.params.severity || undefined; + window.setTimeout(() => { + if (currentSeverity) { + props.setCurrentPanel("CurrentProblem"); + props.currentProblemsActions.onFilterChanged("severity", currentSeverity); + if (!props.currentProblemsProperties.showFilter) { + props.currentProblemsActions.onToggleFilter(false); + props.currentProblemsActions.onRefresh(); + } + else + props.currentProblemsActions.onRefresh(); + } + }); + } + return ( + + ) +}); + const App = withRouter((props: RouteComponentProps) => ( + diff --git a/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx b/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx index 6075066fd..7b0c23693 100644 --- a/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx +++ b/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx @@ -137,7 +137,7 @@ class FaultApplicationComponent extends React.Component 0 - const customActions = areFaultsAvailable ? [refreshButton, refreshCurrentProblemsAction] : [refreshCurrentProblemsAction]; + const customActions = areFaultsAvailable ? [clearAlarmsAction, refreshCurrentProblemsAction] : [refreshCurrentProblemsAction]; const { panelId: activePanelId } = this.props; @@ -191,7 +191,7 @@ class FaultApplicationComponent extends React.Component ${maven.build.timestamp} ONAP Frankfurt (Neon, mdsal ${odl.mdsal.version}) - 96.078ad12(21/03/25) + 110.0d5d064(21/07/05) ONAP SDN-R | ONF Wireless for ${distversion} - Build: ${buildtime} ${buildno} ${project.version} diff --git a/sdnr/wt/odlux/framework/src/app.css b/sdnr/wt/odlux/framework/src/app.css index f70fbc0e4..9b653b3b5 100644 --- a/sdnr/wt/odlux/framework/src/app.css +++ b/sdnr/wt/odlux/framework/src/app.css @@ -1,5 +1,6 @@ html, body, #app { height: 100%; + min-width: 1000px; padding: 0px; margin: 0px; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; diff --git a/sdnr/wt/odlux/framework/src/app.tsx b/sdnr/wt/odlux/framework/src/app.tsx index 2d913be1b..7e162cd51 100644 --- a/sdnr/wt/odlux/framework/src/app.tsx +++ b/sdnr/wt/odlux/framework/src/app.tsx @@ -106,13 +106,3 @@ export const runApplication = () => { }; -if (process.env.NODE_ENV === "development") { - const addTransportPCEUrl = () =>{ - const url = window.localStorage.getItem(transportPCEUrl); - if(url === null){ - window.localStorage.setItem(transportPCEUrl, "http://10.20.6.32:18082/"); - console.log("set transport url :D") - } - } - addTransportPCEUrl(); -} diff --git a/sdnr/wt/odlux/framework/src/assets/images/odluxLogo.gif b/sdnr/wt/odlux/framework/src/assets/images/odluxLogo.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad188a8d3e1b0bd8259b510b11eeb046c6e560d0 GIT binary patch literal 5709 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 literal 0 HcmV?d00001 diff --git a/sdnr/wt/odlux/framework/src/assets/images/odluxLogo.gif.d.ts b/sdnr/wt/odlux/framework/src/assets/images/odluxLogo.gif.d.ts new file mode 100644 index 000000000..36131834c --- /dev/null +++ b/sdnr/wt/odlux/framework/src/assets/images/odluxLogo.gif.d.ts @@ -0,0 +1,20 @@ +/** + * ============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========================================================================== + */ + +declare const odluxLogo: string; +export default odluxLogo; \ No newline at end of file diff --git a/sdnr/wt/odlux/framework/src/assets/images/onapLogo.gif b/sdnr/wt/odlux/framework/src/assets/images/onapLogo.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd7eb8f3c6579875e6e4d8245aa161f78900bd22 GIT binary patch literal 9249 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 & Connect; // } /** - * Represents a compnent for formaing and displaying errors. + * Represents a component for formatting and displaying errors. */ class ErrorDisplayComponent extends React.Component { constructor(props: ErrorDisplayProps) { diff --git a/sdnr/wt/odlux/framework/src/design/default.ts b/sdnr/wt/odlux/framework/src/design/default.ts index 542c436f6..59b8c20ef 100644 --- a/sdnr/wt/odlux/framework/src/design/default.ts +++ b/sdnr/wt/odlux/framework/src/design/default.ts @@ -32,12 +32,13 @@ *****************************************************************************/ import { createMuiTheme } from '@material-ui/core/styles'; +import onapLogo from '../assets/images/onapLogo.gif' const theme = createMuiTheme({ design: { id: "onap", name: "Open Networking Automation Plattform (ONAP)", - url: "https://www.onap.org/wp-content/uploads/sites/20/2017/02/logo_onap_2017.png", + url: onapLogo, height: 49, width: 229, logoHeight: 32, diff --git a/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts b/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts index 06df6709f..6426066f6 100644 --- a/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts +++ b/sdnr/wt/odlux/framework/src/handlers/applicationStateHandler.ts @@ -29,7 +29,16 @@ import { ErrorInfo } from '../models/errorInfo'; import { SnackbarItem } from '../models/snackbarItem'; import { ExternalLoginProvider } from '../models/externalLoginProvider'; import { ApplicationConfig } from '../models/applicationConfig'; +import { IConnectAppStoreState } from '../../../apps/connectApp/src/handlers/connectAppRootHandler'; +import { IFaultAppStoreState } from '../../../apps/faultApp/src/handlers/faultAppRootHandler'; + +declare module '../store/applicationStore' { + interface IApplicationStoreState { + connect: IConnectAppStoreState; + fault: IFaultAppStoreState + } +} export interface IApplicationState { title: string; appId?: string; @@ -44,12 +53,12 @@ export interface IApplicationState { enablePolicy: boolean // false } -const applicationStateInit: IApplicationState = { - title: "Loading ...", - errors: [], - snackBars: [], - isMenuOpen: true, - isMenuClosedByUser: false, +const applicationStateInit: IApplicationState = { + title: "Loading ...", + errors: [], + snackBars: [], + isMenuOpen: true, + isMenuClosedByUser: false, isWebsocketAvailable: undefined, externalLoginProviders: null, authentication: "basic", diff --git a/sdnr/wt/odlux/framework/src/index.dev.html b/sdnr/wt/odlux/framework/src/index.dev.html index 240da266d..6c956386b 100644 --- a/sdnr/wt/odlux/framework/src/index.dev.html +++ b/sdnr/wt/odlux/framework/src/index.dev.html @@ -21,10 +21,10 @@