summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/inventoryApp
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/inventoryApp')
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/package.json18
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/pom.xml56
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryAppRootHandler.ts37
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryElementsHandler.tsx2
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/src/models/inventory.ts2
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/src/plugin.tsx36
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/src/pluginInventory.tsx75
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/src/views/dashboard.tsx4
-rw-r--r--sdnr/wt/odlux/apps/inventoryApp/webpack.config.js12
9 files changed, 138 insertions, 104 deletions
diff --git a/sdnr/wt/odlux/apps/inventoryApp/package.json b/sdnr/wt/odlux/apps/inventoryApp/package.json
index 79308234e..9e004c112 100644
--- a/sdnr/wt/odlux/apps/inventoryApp/package.json
+++ b/sdnr/wt/odlux/apps/inventoryApp/package.json
@@ -20,21 +20,21 @@
],
"author": "Matthias Fischer",
"license": "Apache-2.0",
- "dependencies": {
- "@odlux/framework": "*"
- },
+ "dependencies": {
+ "@odlux/framework": "*"
+ },
"peerDependencies": {
- "@types/react": "16.4.14",
- "@types/react-dom": "16.0.8",
+ "@types/react": "16.9.11",
+ "@types/react-dom": "16.9.4",
"@types/react-router-dom": "4.3.1",
- "@material-ui/core": "3.8.3",
- "@material-ui/icons": "3.0.2",
+ "@material-ui/core": "4.6.1",
+ "@material-ui/icons": "4.5.1",
"@types/classnames": "2.2.6",
"@types/flux": "3.1.8",
"@types/jquery": "3.3.10",
"jquery": "3.3.1",
- "react": "16.5.2",
- "react-dom": "16.5.2",
+ "react": "16.11.0",
+ "react-dom": "16.11.0",
"react-router-dom": "4.3.1"
}
} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/inventoryApp/pom.xml b/sdnr/wt/odlux/apps/inventoryApp/pom.xml
index a958542e3..86c5e8381 100644
--- a/sdnr/wt/odlux/apps/inventoryApp/pom.xml
+++ b/sdnr/wt/odlux/apps/inventoryApp/pom.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
@@ -7,18 +8,20 @@
<version>1.5.1-SNAPSHOT</version>
<relativePath/>
</parent>
- <modelVersion>4.0.0</modelVersion>
+
<groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-odlux-app-inventoryApp</artifactId>
<version>0.7.0-SNAPSHOT</version>
<packaging>bundle</packaging>
- <name>sdnr-wt-odlux-app-inventoryApp</name>
+
+ <name>ccsdk-features :: ${project.artifactId}</name>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
+
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
@@ -37,8 +40,21 @@
<scope>test</scope>
</dependency>
</dependencies>
+
<build>
<sourceDirectory>src2/main/java</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>dist</directory>
+ <targetPath>odlux</targetPath>
+ </resource>
+ <resource>
+ <directory>src2/main/resources</directory>
+ </resource>
+ <resource>
+ <directory>src2/test/resources</directory>
+ </resource>
+ </resources>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
@@ -61,10 +77,10 @@
<followSymlinks>false</followSymlinks>
</fileset>
<!-- eclipse bug build bin folder in basedir -->
- <fileset>
- <directory>bin</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
+ <fileset>
+ <directory>bin</directory>
+ <followSymlinks>false</followSymlinks>
+ </fileset>
</filesets>
</configuration>
</plugin>
@@ -87,7 +103,7 @@
</executions>
</plugin>
<plugin>
- <groupId>de.jacksitlab</groupId>
+ <groupId>de.jacks-it-lab</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.7.1</version>
<executions>
@@ -99,8 +115,8 @@
<!-- optional: default phase is "generate-resources" -->
<phase>initialize</phase>
<configuration>
- <nodeVersion>v8.10.0</nodeVersion>
- <yarnVersion>v1.12.3</yarnVersion>
+ <nodeVersion>v10.16.3</nodeVersion>
+ <yarnVersion>v1.19.0</yarnVersion>
</configuration>
</execution>
<execution>
@@ -130,27 +146,5 @@
</configuration>
</plugin>
</plugins>
- <resources>
- <resource>
- <directory>dist</directory>
- <targetPath>odlux</targetPath>
- </resource>
- <resource>
- <directory>src2/main/resources</directory>
- </resource>
- <resource>
- <directory>src2/test/resources</directory>
- </resource>
- </resources>
</build>
- <pluginRepositories>
- <pluginRepository>
- <id>highstreet repo</id>
- <url>https://cloud-highstreet-technologies.com/mvn/</url>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
</project>
diff --git a/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryAppRootHandler.ts b/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryAppRootHandler.ts
index 2ab0cebe4..786f6d0c5 100644
--- a/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryAppRootHandler.ts
+++ b/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryAppRootHandler.ts
@@ -1,20 +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==========================================================================
- */
+* ============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==========================================================================
+*/
// main state handler
import { combineActionHandler } from '../../../../framework/src/flux/middleware';
@@ -40,5 +40,6 @@ const actionHandlers = {
inventoryElements: inventoryElementsActionHandler
};
-export const faultAppRootHandler = combineActionHandler<IInventoryAppStateState>(actionHandlers);
-export default faultAppRootHandler;
+export const inventoryAppRootHandler = combineActionHandler<IInventoryAppStateState>(actionHandlers);
+export default inventoryAppRootHandler;
+
diff --git a/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryElementsHandler.tsx b/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryElementsHandler.tsx
index 7766634fb..a65319efa 100644
--- a/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryElementsHandler.tsx
+++ b/sdnr/wt/odlux/apps/inventoryApp/src/handlers/inventoryElementsHandler.tsx
@@ -23,7 +23,7 @@ import { InventoryType } from '../models/inventory';
export interface IInventoryElementsState extends IExternalTableState<InventoryType> { }
// create eleactic search material data fetch handler
-const inventoryElementsSearchHandler = createSearchDataHandler<InventoryType>("sdnevents/inventoryequipment");
+const inventoryElementsSearchHandler = createSearchDataHandler<InventoryType>("inventory");
export const {
actionHandler: inventoryElementsActionHandler,
diff --git a/sdnr/wt/odlux/apps/inventoryApp/src/models/inventory.ts b/sdnr/wt/odlux/apps/inventoryApp/src/models/inventory.ts
index 8c70acbf3..9d747415f 100644
--- a/sdnr/wt/odlux/apps/inventoryApp/src/models/inventory.ts
+++ b/sdnr/wt/odlux/apps/inventoryApp/src/models/inventory.ts
@@ -19,7 +19,7 @@ export { HitEntry, Result } from '../../../../framework/src/models';
export type InventoryType = {
treeLevel: number;
parentUuid: string;
- mountpoint: string;
+ nodeId: string;
uuid: string;
containedHolder?: (string)[] | null;
manufacturerName?: string ;
diff --git a/sdnr/wt/odlux/apps/inventoryApp/src/plugin.tsx b/sdnr/wt/odlux/apps/inventoryApp/src/plugin.tsx
deleted file mode 100644
index 2a53203c8..000000000
--- a/sdnr/wt/odlux/apps/inventoryApp/src/plugin.tsx
+++ /dev/null
@@ -1,36 +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==========================================================================
- */
-// app configuration and main entry point for the app
-
-
-import { faShoppingBag } from '@fortawesome/free-solid-svg-icons'; // select app icon
-
-import applicationManager from '../../../framework/src/services/applicationManager';
-
-import { Dashboard } from './views/dashboard';
-import faultAppRootHandler from './handlers/inventoryAppRootHandler';
-
-export function register() {
- applicationManager.registerApplication({
- name: "inventory",
- icon: faShoppingBag,
- rootActionHandler: faultAppRootHandler,
- rootComponent: Dashboard,
- menuEntry: "Inventory"
- });
-}
diff --git a/sdnr/wt/odlux/apps/inventoryApp/src/pluginInventory.tsx b/sdnr/wt/odlux/apps/inventoryApp/src/pluginInventory.tsx
new file mode 100644
index 000000000..ad53285cb
--- /dev/null
+++ b/sdnr/wt/odlux/apps/inventoryApp/src/pluginInventory.tsx
@@ -0,0 +1,75 @@
+/**
+* ============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==========================================================================
+*/
+// app configuration and main entry point for the app
+
+import * as React from "react";
+import { withRouter, RouteComponentProps, Route, Switch, Redirect } from 'react-router-dom';
+import { faShoppingBag } from '@fortawesome/free-solid-svg-icons'; // select app icon
+import applicationManager from '../../../framework/src/services/applicationManager';
+
+import connect, { Connect, IDispatcher } from '../../../framework/src/flux/connect';
+import { IApplicationStoreState } from "../../../framework/src/store/applicationStore";
+
+import { Dashboard } from './views/dashboard';
+import inventoryAppRootHandler from './handlers/inventoryAppRootHandler';
+
+import { createInventoryElementsProperties, createInventoryElementsActions, inventoryElementsReloadAction } from "./handlers/inventoryElementsHandler";
+
+let currentMountId: string | undefined = undefined;
+
+const mapProps = (state: IApplicationStoreState) => ({
+ inventoryProperties: createInventoryElementsProperties(state),
+});
+
+const mapDisp = (dispatcher: IDispatcher) => ({
+ inventoryActions: createInventoryElementsActions(dispatcher.dispatch, true)
+});
+
+const InventoryApplicationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComponentProps<{ mountId?: string }> & Connect<typeof mapProps, typeof mapDisp>) => {
+ if (currentMountId !== props.match.params.mountId) {
+ currentMountId = props.match.params.mountId || undefined;
+ window.setTimeout(() => {
+ if (currentMountId) {
+ props.inventoryActions.onFilterChanged("nodeId", currentMountId);
+ props.inventoryProperties.showFilter;
+ props.inventoryActions.onRefresh();
+ }
+ });
+ }
+ return (
+ <Dashboard />
+ )
+});
+
+const App = withRouter((props: RouteComponentProps) => (
+ <Switch>
+ <Route path={`${props.match.path}/:mountId?`} component={InventoryApplicationRouteAdapter} />
+ <Redirect to={`${props.match.path}`} />
+ </Switch>
+));
+
+export function register() {
+ applicationManager.registerApplication({
+ name: "inventory",
+ icon: faShoppingBag,
+ rootActionHandler: inventoryAppRootHandler,
+ rootComponent: App,
+ menuEntry: "Inventory"
+ });
+}
+
diff --git a/sdnr/wt/odlux/apps/inventoryApp/src/views/dashboard.tsx b/sdnr/wt/odlux/apps/inventoryApp/src/views/dashboard.tsx
index 0d7244e4d..bd182ed5d 100644
--- a/sdnr/wt/odlux/apps/inventoryApp/src/views/dashboard.tsx
+++ b/sdnr/wt/odlux/apps/inventoryApp/src/views/dashboard.tsx
@@ -38,7 +38,7 @@ const mapDispatch = (dispatcher: IDispatcher) => ({
class DashboardComponent extends React.Component<Connect<typeof mapProps, typeof mapDispatch>> {
render() {
return <InventoryTable title="Inventory" idProperty="_id" columns={[
- { property: "mountpoint", title: "Mountpoint" },
+ { property: "nodeId", title: "Node Name" },
{ property: "manufacturerIdentifier", title: "Manufacturer" },
{ property: "parentUuid", title: "Parent" },
{ property: "uuid", title: "Name" },
@@ -56,7 +56,7 @@ class DashboardComponent extends React.Component<Connect<typeof mapProps, typeof
componentDidMount() {
this.props.inventoryElementsActions.onToggleFilter();
- this.props.inventoryElementsActions.onHandleRequestSort("mountpoint");
+ this.props.inventoryElementsActions.onHandleRequestSort("node-id");
}
}
diff --git a/sdnr/wt/odlux/apps/inventoryApp/webpack.config.js b/sdnr/wt/odlux/apps/inventoryApp/webpack.config.js
index 2af2bdb95..426763803 100644
--- a/sdnr/wt/odlux/apps/inventoryApp/webpack.config.js
+++ b/sdnr/wt/odlux/apps/inventoryApp/webpack.config.js
@@ -26,7 +26,7 @@ module.exports = (env) => {
context: path.resolve(__dirname, "src"),
entry: {
- inventoryApp: ["./plugin.tsx"]
+ inventoryApp: ["./pluginInventory.tsx"]
},
devtool: env === "release" ? false : "source-map",
@@ -128,23 +128,23 @@ module.exports = (env) => {
proxy: {
"/oauth2/": {
- target: "http://localhost:3000",
+ target: "http://localhost:48181",
secure: false
},
"/database/": {
- target: "http://localhost:3000",
+ target: "http://localhost:48181",
secure: false
},
"/restconf/": {
- target: "http://localhost:3000",
+ target: "http://localhost:48181",
secure: false
},
"/help/": {
- target: "http://localhost:3000",
+ target: "http://localhost:48181",
secure: false
},
"/websocket/": {
- target: "http://localhost:3000",
+ target: "http://localhost:48181",
ws: true,
changeOrigin: true,
secure: false