2 * ============LICENSE_START========================================================================
3 * ONAP : ccsdk feature sdnr wt odlux
4 * =================================================================================================
5 * Copyright (C) 2021 highstreet technologies GmbH Intellectual Property. All rights reserved.
6 * =================================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software distributed under the License
13 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14 * or implied. See the License for the specific language governing permissions and limitations under
16 * ============LICENSE_END==========================================================================
19 import React, {FC, useState} from 'react';
20 import applicationService from '../services/applicationManager';
23 type DashboardElement = { name: string, element: JSX.Element };
25 const DashboardView: FC = (props) => {
27 const registrations = applicationService.applications;
29 const [selectedIndex] = useState(0);
31 let dashboardArray: DashboardElement[] = [];
33 let dashboardElements: (DashboardElement)[] = Object.keys(registrations).map(p => {
34 const application = registrations[p];
36 if (application.dashbaordElement) {
37 const value: DashboardElement = { name: application.menuEntry?.toString()!, element: <application.dashbaordElement /> };
43 }).filter((x): x is DashboardElement => x !== null);
45 dashboardArray.push(...dashboardElements);
51 dashboardArray[selectedIndex]?.element
59 export default DashboardView;