summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/helpApp
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/helpApp')
-rw-r--r--sdnr/wt/odlux/apps/helpApp/.babelrc17
-rw-r--r--sdnr/wt/odlux/apps/helpApp/package.json45
-rw-r--r--sdnr/wt/odlux/apps/helpApp/pom.xml161
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/actions/helpActions.ts78
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/components/helpStatus.tsx80
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/components/markdown.tsx77
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/components/subMenuEntry.tsx54
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/handlers/helpAppRootHandler.ts75
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/index.html29
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/models/tocNode.ts42
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/plugin.tsx88
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/services/helpService.ts65
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/utilities/path.ts79
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src/views/helpApplication.tsx70
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src2/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/MyOdluxBundle.java68
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src2/main/resources/OSGI-INF/blueprint/blueprint.xml9
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src2/test/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/test/TestBundleRes.java46
-rw-r--r--sdnr/wt/odlux/apps/helpApp/src2/test/resources/test.js5
-rw-r--r--sdnr/wt/odlux/apps/helpApp/tsconfig.json37
-rw-r--r--sdnr/wt/odlux/apps/helpApp/webpack.config.js170
20 files changed, 0 insertions, 1295 deletions
diff --git a/sdnr/wt/odlux/apps/helpApp/.babelrc b/sdnr/wt/odlux/apps/helpApp/.babelrc
deleted file mode 100644
index 3d8cd1260..000000000
--- a/sdnr/wt/odlux/apps/helpApp/.babelrc
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "presets": [
- ["@babel/preset-react"],
- ["@babel/preset-env", {
- "targets": {
- "chrome": "66"
- },
- "spec": true,
- "loose": false,
- "modules": false,
- "debug": false,
- "useBuiltIns": "usage",
- "forceAllTransforms": true
- }]
- ],
- "plugins": []
-}
diff --git a/sdnr/wt/odlux/apps/helpApp/package.json b/sdnr/wt/odlux/apps/helpApp/package.json
deleted file mode 100644
index 0445046a8..000000000
--- a/sdnr/wt/odlux/apps/helpApp/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "@odlux/help-app",
- "version": "0.1.0",
- "description": "A react based modular UI providing the help functionaliy.",
- "main": "index.js",
- "scripts": {
- "start": "webpack-dev-server --env debug",
- "build": "webpack --env release --config webpack.config.js",
- "build:dev": "webpack --env debug --config webpack.config.js"
- },
- "repository": {
- "type": "git",
- "url": "https://git.mfico.de/highstreet-technologies/odlux.git"
- },
- "keywords": [
- "reactjs",
- "redux",
- "ui",
- "framework"
- ],
- "author": "Matthias Fischer",
- "license": "Apache-2.0",
- "dependencies": {
- "@odlux/framework": "*",
- "marked" : "0.6.0",
- "@types/marked": "0.6.0",
- "highlight.js" : "9.13.1",
- "@types/highlight.js": "9.12.3",
- "github-markdown-css": "2.10.0"
- },
- "peerDependencies": {
- "@types/react": "16.4.14",
- "@types/react-dom": "16.0.8",
- "@types/react-router-dom": "4.3.1",
- "@material-ui/core": "3.8.3",
- "@material-ui/icons": "3.0.2",
- "@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-router-dom": "4.3.1"
- }
-} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/pom.xml b/sdnr/wt/odlux/apps/helpApp/pom.xml
deleted file mode 100644
index a4d2ebdbc..000000000
--- a/sdnr/wt/odlux/apps/helpApp/pom.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?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>
- <artifactId>odlparent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <relativePath/>
- </parent>
-
- <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
- <artifactId>sdnr-wt-odlux-app-helpApp</artifactId>
- <version>0.7.0-SNAPSHOT</version>
- <packaging>bundle</packaging>
-
- <name>sdnr-wt-odlux-app-helpApp</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>
- <artifactId>sdnr-wt-odlux-core-model</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>sdnr-wt-odlux-core-provider</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <pluginRepositories>
- <pluginRepository>
- <id>highstreet repo</id>
- <url>https://cloud-highstreet-technologies.com/mvn/</url>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
-
- <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>
- <configuration>
- <filesets>
- <fileset>
- <directory>dist</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>node</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>node_modules</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>../node_modules</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <!-- eclipse bug build bin folder in basedir -->
- <fileset>
- <directory>bin</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-test-source</id>
- <phase>generate-test-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src2/test/java</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>de.jacksitlab</groupId>
- <artifactId>frontend-maven-plugin</artifactId>
- <version>1.7.1</version>
- <executions>
- <execution>
- <id>install node and yarn</id>
- <goals>
- <goal>install-node-and-yarn</goal>
- </goals>
- <!-- optional: default phase is "generate-resources" -->
- <phase>initialize</phase>
- <configuration>
- <nodeVersion>v8.10.0</nodeVersion>
- <yarnVersion>v1.12.3</yarnVersion>
- </configuration>
- </execution>
- <execution>
- <id>yarn build</id>
- <goals>
- <goal>yarn</goal>
- </goals>
- <configuration>
- <arguments>run build</arguments>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Import-Package>org.onap.ccsdk.features.sdnr.wt.odlux.model.*,com.opensymphony.*</Import-Package>
- <Private-Package/>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/sdnr/wt/odlux/apps/helpApp/src/actions/helpActions.ts b/sdnr/wt/odlux/apps/helpApp/src/actions/helpActions.ts
deleted file mode 100644
index 3cebfd61d..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/actions/helpActions.ts
+++ /dev/null
@@ -1,78 +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 { Action } from '../../../../framework/src/flux/action';
-import { Dispatch } from '../../../../framework/src/flux/store';
-
-import { TocTreeNode } from '../models/tocNode';
-import helpService from '../services/helpService';
-
-export class LoadTocAction extends Action {
- constructor() {
- super();
-
- }
-}
-
-export class TocLoadedAction extends Action {
- constructor(public toc?: TocTreeNode[], error?: string) {
- super();
-
- }
-}
-
-export const requestTocAsyncAction = async (dispatch: Dispatch) => {
- dispatch(new LoadTocAction);
- try {
- const toc = await helpService.getTableOfContents();
- if (toc) {
- dispatch(new TocLoadedAction(toc));
- } else {
- dispatch(new TocLoadedAction(undefined, "Could not load TOC."));
- }
- } catch (err) {
- dispatch(new TocLoadedAction(undefined, err));
- }
-}
-
-export class LoadDocumentAction extends Action {
- constructor() {
- super();
-
- }
-}
-
-export class DocumentLoadedAction extends Action {
- constructor(public document?: string, public documentPath?: string, error?: string) {
- super();
-
- }
-}
-
-export const requestDocumentAsyncActionCreator = (path: string) => async (dispatch: Dispatch) => {
- dispatch(new LoadDocumentAction);
- try {
- const doc = await helpService.getDocument(path);
- if (doc) {
- dispatch(new DocumentLoadedAction(doc, path));
- } else {
- dispatch(new DocumentLoadedAction(undefined, undefined, "Could not load document."));
- }
- } catch (err) {
- dispatch(new DocumentLoadedAction(undefined, undefined, err));
- }
-} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src/components/helpStatus.tsx b/sdnr/wt/odlux/apps/helpApp/src/components/helpStatus.tsx
deleted file mode 100644
index c4a531837..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/components/helpStatus.tsx
+++ /dev/null
@@ -1,80 +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 { withStyles, WithStyles, createStyles, Theme } from '@material-ui/core/styles';
-import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; // select app icon
-
-import connect, { Connect } from '../../../../framework/src/flux/connect';
-import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
-
-import Typography from '@material-ui/core/Typography';
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import { faQuestionCircle } from '@fortawesome/free-solid-svg-icons';
-import { withRouter, RouteComponentProps } from 'react-router';
-
-const styles = (theme: Theme) => createStyles({
- icon: {
- marginLeft: 8,
- marginRight: 8
- },
- disabled: {
- color: theme.palette.grey[400]
- },
- link: {
- cursor: "pointer",
- '&:hover': {
- textDecoration: "underline"
- }
- }
-});
-
-const mapProps = (state: IApplicationStoreState) => ({
- appId: state.framework.applicationState.appId,
- toc: state.help.toc
-});
-
-
-type HelpStatusComponentProps = & RouteComponentProps & WithStyles<typeof styles> & Connect<typeof mapProps>;
-
-class HelpStatusComponent extends React.Component<HelpStatusComponentProps> {
- render() {
- const { classes, history, toc, appId } = this.props;
- const rootNode = toc && toc.find(t => t.id === "sdnr");
- const helpNode = appId
- ? rootNode && rootNode.nodes && rootNode.nodes.find(n => n.id === appId || n.id === appId+"App")
- : rootNode;
- return helpNode
- ? (
- <Typography variant="body1" color="inherit" className={classes.link} onClick={(event) => { event.stopPropagation(); history.push(`/help/${helpNode.uri}`) }} >
- <FontAwesomeIcon className={classes.icon} icon={faQuestionCircle} />
- Help
- </Typography>
- )
- : (
- <Typography variant="body1" className={classes.disabled}>
- <FontAwesomeIcon className={classes.icon} icon={faQuestionCircle} />
- Help
- </Typography>
- );
- };
-
-}
-
-export const HelpStatus = withRouter(withStyles(styles)(connect(mapProps)(HelpStatusComponent)));
-export default HelpStatus; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src/components/markdown.tsx b/sdnr/wt/odlux/apps/helpApp/src/components/markdown.tsx
deleted file mode 100644
index a7137836e..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/components/markdown.tsx
+++ /dev/null
@@ -1,77 +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 * as marked from 'marked';
-import * as hljs from 'highlight.js';
-
-type MarkdownComponentProps = {
- text: string;
- className?: string;
- markedOptions?: marked.MarkedOptions;
- style?: React.CSSProperties
-}
-
-const defaultRenderer = new marked.Renderer();
-defaultRenderer.link = (href, title, text) => (
- `<a target="_blank" rel="noopener noreferrer" href="${ href }" title="${ title }">${ text }</a>`
-);
-
-
-class MarkdownComponent extends React.Component<MarkdownComponentProps> {
- constructor(props: MarkdownComponentProps) {
- super(props);
-
- const markedOptions: marked.MarkedOptions = {
- gfm: true,
- tables: true,
- breaks: false,
- pedantic: false,
- sanitize: true,
- smartLists: true,
- smartypants: false,
- langPrefix: 'hljs ',
- ...(this.props.markedOptions || {}),
- highlight: (code, lang) => {
- if (!!(lang && hljs.getLanguage(lang))) {
- return hljs.highlight(lang, code).value;
- }
- return code;
- }
- };
-
- marked.setOptions(markedOptions);
- }
- render() {
- const { text, className, style } = this.props;
-
-
- const html = (marked(text || '', { renderer: this.props.markedOptions && this.props.markedOptions.renderer || defaultRenderer }));
-
- return (
- <div
- dangerouslySetInnerHTML={ { __html: html } }
- className={ className }
- style={ style }
- />
- );
- }
-}
-
-export const Markdown = MarkdownComponent;
-
diff --git a/sdnr/wt/odlux/apps/helpApp/src/components/subMenuEntry.tsx b/sdnr/wt/odlux/apps/helpApp/src/components/subMenuEntry.tsx
deleted file mode 100644
index e4e37290c..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/components/subMenuEntry.tsx
+++ /dev/null
@@ -1,54 +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 { IApplicationStoreState } from "../../../../framework/src/store/applicationStore";
-import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
-import { TreeView, TreeViewCtorType } from '../../../../framework/src/components/material-ui/treeView';
-
-import { ListItemText } from '@material-ui/core';
-
-import { NavigateToApplication } from '../../../../framework/src/actions/navigationActions';
-
-import { TocTreeNode } from '../models/tocNode';
-
-const TocTree = TreeView as any as TreeViewCtorType<TocTreeNode>;
-
-const mapProps = (state: IApplicationStoreState) => ({
- helpToc: state.help.toc,
- helpBusy: state.help.busy
-});
-
-const mapDisp = (dispatcher: IDispatcher) => ({
- requestDocument: (node: TocTreeNode) => dispatcher.dispatch(new NavigateToApplication("help", node.uri))
-});
-
-const SubMenuEntryComponent: React.SFC<Connect<typeof mapProps, typeof mapDisp>> = (props) => {
- return props.helpToc
- ? (
- <TocTree items={ props.helpToc } contentProperty={ "label" } childrenProperty={ "nodes" } depthOffset={ 1 }
- useFolderIcons={ false } enableSearchBar={ false } onItemClick={ props.requestDocument } />
- )
- : (
- <ListItemText >Loading ...</ListItemText>
- )
-};
-
-export const SubMenuEntry = connect(mapProps, mapDisp)(SubMenuEntryComponent);
-export default SubMenuEntry;
-
diff --git a/sdnr/wt/odlux/apps/helpApp/src/handlers/helpAppRootHandler.ts b/sdnr/wt/odlux/apps/helpApp/src/handlers/helpAppRootHandler.ts
deleted file mode 100644
index 9c58238f8..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/handlers/helpAppRootHandler.ts
+++ /dev/null
@@ -1,75 +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==========================================================================
- */
-// main state handler
-
-import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
-import { TocTreeNode } from 'models/tocNode';
-import { IActionHandler } from '../../../../framework/src/flux/action';
-import { LoadTocAction, TocLoadedAction, LoadDocumentAction, DocumentLoadedAction } from '../actions/helpActions';
-
-export interface IHelpAppStoreState {
- busy: boolean;
- toc: TocTreeNode[] | undefined;
- content: string | undefined;
- currentPath: string | undefined;
-}
-
-declare module '../../../../framework/src/store/applicationStore' {
- interface IApplicationStoreState {
- help: IHelpAppStoreState
- }
-}
-
-const helpAppStoreStateInit: IHelpAppStoreState = {
- busy: false,
- toc: undefined,
- content: undefined,
- currentPath: undefined
-};
-
-export const helpAppRootHandler: IActionHandler<IHelpAppStoreState> = (state = helpAppStoreStateInit, action) => {
- if (action instanceof LoadTocAction) {
- state = {
- ...state,
- busy: true
- };
- } else if (action instanceof TocLoadedAction) {
- state = {
- ...state,
- busy: false,
- toc: action.toc
- };
- } else if (action instanceof LoadDocumentAction) {
- state = {
- ...state,
- busy: true
- };
- } else if (action instanceof DocumentLoadedAction) {
- state = {
- ...state,
- busy: false,
- content: action.document,
- currentPath: action.documentPath
- };
- }
-
- return state;
-}
-
-
-export default helpAppRootHandler;
diff --git a/sdnr/wt/odlux/apps/helpApp/src/index.html b/sdnr/wt/odlux/apps/helpApp/src/index.html
deleted file mode 100644
index e76109fd8..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <!-- <link rel="stylesheet" href="./vendor.css"> -->
- <title>Minimal App</title>
-</head>
-
-<body>
- <div id="app"></div>
- <script type="text/javascript" src="./require.js"></script>
- <script type="text/javascript" src="./config.js"></script>
- <script>
- // run the application
- require(["app", "connectApp", "faultApp", "maintenanceApp", "configurationApp", "helpApp"], function (app, connectApp, faultApp, maintenanceApp, configurationApp, helpApp) {
- connectApp.register();
- faultApp.register();
- configurationApp.register();
- maintenanceApp.register();
- helpApp.register();
- app("./app.tsx").runApplication();
- });
- </script>
-</body>
-
-</html> \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src/models/tocNode.ts b/sdnr/wt/odlux/apps/helpApp/src/models/tocNode.ts
deleted file mode 100644
index dbefeec77..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/models/tocNode.ts
+++ /dev/null
@@ -1,42 +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==========================================================================
- */
-export type VersionInfo = {
- label: string,
- path: string,
- date: string
-}
-
-export type TocNode = {
- label: string;
- versions: {
- [versionKey: string]: VersionInfo,
- current: VersionInfo
- };
- nodes?: TocNodeCollection;
-}
-
-export type TocNodeCollection = { [tocNodeKey: string]: TocNode };
-
-
-export type TocTreeNode = {
- id: string;
- label: string;
- uri: string;
- nodes?: TocTreeNode[];
- disabled?: boolean;
-}
diff --git a/sdnr/wt/odlux/apps/helpApp/src/plugin.tsx b/sdnr/wt/odlux/apps/helpApp/src/plugin.tsx
deleted file mode 100644
index 77c2992c4..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/plugin.tsx
+++ /dev/null
@@ -1,88 +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 * as React from "react";
-import { withRouter, RouteComponentProps, Route, Switch, Redirect } from 'react-router-dom';
-
-import { faFirstAid } from '@fortawesome/free-solid-svg-icons'; // select app icon
-
-import applicationManager from '../../../framework/src/services/applicationManager';
-import { IApplicationStoreState } from "../../../framework/src/store/applicationStore";
-import connect, { Connect, IDispatcher } from '../../../framework/src/flux/connect';
-
-import { requestTocAsyncAction, requestDocumentAsyncActionCreator } from "./actions/helpActions";
-import { helpAppRootHandler } from './handlers/helpAppRootHandler';
-
-import { HelpApplication } from './views/helpApplication';
-import { SubMenuEntry } from "./components/subMenuEntry";
-import { HelpStatus } from "./components/helpStatus";
-
-import '!style-loader!css-loader!highlight.js/styles/default.css';
-
-const mapProps = (state: IApplicationStoreState) => ({
-
-});
-
-const mapDisp = (dispatcher: IDispatcher) => ({
- requestDocument: (path: string) => {
- dispatcher.dispatch(requestDocumentAsyncActionCreator(path));
- }
-});
-
-let currentHelpPath: string | undefined = undefined;
-
-const HelpApplicationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComponentProps<{ '0'?: string }> & Connect<typeof mapProps, typeof mapDisp>) => {
- if (currentHelpPath !== props.match.params["0"]) {
- // route parameter has changed
- currentHelpPath = props.match.params["0"] || undefined;
- // Hint: This timeout is need, since it is not recommended to change the state while rendering is in progress !
- window.setTimeout(() => {
- if (currentHelpPath) {
- props.requestDocument(currentHelpPath);
- }
- });
- }
- return (
- <HelpApplication />
- )
-});
-
-const App = withRouter((props: RouteComponentProps) => (
- <Switch>
- <Route path={ `${ props.match.path }/*` } component={ HelpApplicationRouteAdapter } />
- <Redirect to={ `${ props.match.path }` } />
- </Switch>
-));
-
-export async function register() {
- const applicationApi = applicationManager.registerApplication({
- name: "help",
- icon: faFirstAid,
- rootComponent: App,
- rootActionHandler: helpAppRootHandler,
- statusBarElement: HelpStatus,
- menuEntry: "Help",
- subMenuEntry: SubMenuEntry
- });
-
- // start the initial toc request after the application store is initalized
- const store = await applicationApi.applicationStoreInitialized;
- store.dispatch(requestTocAsyncAction);
-
-} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src/services/helpService.ts b/sdnr/wt/odlux/apps/helpApp/src/services/helpService.ts
deleted file mode 100644
index 43c483fe8..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/services/helpService.ts
+++ /dev/null
@@ -1,65 +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 { requestRest } from '../../../../framework/src/services/restService';
-import { TocTreeNode, TocNodeCollection } from '../models/tocNode';
-
-class HelpService {
-
- private tocNodeCollection: TocTreeNode[] | null = null;
- private documents: { [path: string]: string | null } = {};
-
- public async getDocument(path: string): Promise<string | null> {
- // check if the result is allready in the cache
- if (this.documents[path]) return Promise.resolve(this.documents[path]);
-
- // request the document
- const result = await requestRest<string>(`/help/${ path }`.replace(/\/{2,}/i, '/'));
- if (result) {
- this.documents[path] = result;
- }
- return this.documents[path] || null;
- }
-
- public async getTableOfContents(): Promise<TocTreeNode[] | null> {
- // check if the result is allready in the cache
- if (this.tocNodeCollection) return Promise.resolve(this.tocNodeCollection);
-
- // request the table of contents
- const result = await requestRest<TocNodeCollection>('/help/?meta', undefined, false);
- if (result !== false) {
- const mapNodesCollection = (col: TocNodeCollection): TocTreeNode[] => {
- return Object.keys(col).reduce <TocTreeNode[]>((acc, key) => {
- const current = col[key];
- acc.push({
- id: key,
- label: current.label,
- uri: current.versions.current.path,
- nodes: current.nodes && mapNodesCollection(current.nodes) || undefined
- });
- return acc;
- }, []);
- }
-
- this.tocNodeCollection = result && mapNodesCollection(result);
- }
- return this.tocNodeCollection || null;
- }
-}
-
-export const helpService = new HelpService();
-export default helpService; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src/utilities/path.ts b/sdnr/wt/odlux/apps/helpApp/src/utilities/path.ts
deleted file mode 100644
index 412bdfb1e..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/utilities/path.ts
+++ /dev/null
@@ -1,79 +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==========================================================================
- */
-export const resolvePath = (...paths: string[]): string => {
- function resolve(pathA: string, pathB: string) {
- // ‘a’ => ['a']
- // 'a/b' => ['a', 'b']
- // '/a/b' => ['', 'a', 'b']
- // '/a/b/' => ['', 'a', 'b', '']
- const pathBParts = pathB.split('/');
- if (pathBParts[0] === '') {
- return pathBParts.join('/');
- }
- const pathAParts = pathA.split('/');
- const aLastIndex = pathAParts.length - 1;
- if (pathAParts[aLastIndex] !== '') {
- pathAParts[aLastIndex] = '';
- }
-
- let part: string;
- let i = 0;
- while (typeof (part = pathBParts[i]) === 'string') {
- switch (part) {
- case '..':
- pathAParts.pop();
- pathAParts.pop();
- pathAParts.push('');
- break;
- case '.':
- pathAParts.pop();
- pathAParts.push('');
- break;
- default:
- pathAParts.pop();
- pathAParts.push(part);
- pathAParts.push('');
- break;
- }
- i++;
- }
- if (pathBParts[pathBParts.length - 1] !== '') pathAParts.pop();
- return pathAParts.join('/');
- }
-
- let i = 0;
- let path: string;
- let r = location.pathname;
-
- const urlRegex = /^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i;
- const multiSlashReg = /\/\/+/g;
-
- while (typeof (path = paths[i]) === 'string') {
- debugger;
- const matches = path && path.match(urlRegex);
- if (matches || !i) {
- r = path;
- } else {
- path = path.replace(multiSlashReg, '/');
- r = resolve(r, path);
- }
- i++;
- }
-
- return r;
-}; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src/views/helpApplication.tsx b/sdnr/wt/odlux/apps/helpApp/src/views/helpApplication.tsx
deleted file mode 100644
index 6cc89fb85..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src/views/helpApplication.tsx
+++ /dev/null
@@ -1,70 +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 * as marked from 'marked';
-
-import { resolvePath } from '../utilities/path';
-
-import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
-import connect, { Connect } from '../../../../framework/src/flux/connect';
-
-import { Markdown } from "../components/markdown";
-
-import '!style-loader!css-loader!github-markdown-css/github-markdown.css'
-
-const mapProps = (state: IApplicationStoreState) => ({
- content: state.help.content,
- currentPath: state.help.currentPath
-});
-
-type HelpApplicationComponentProps = Connect<typeof mapProps>;
-
-class HelpApplicationComponent extends React.Component<HelpApplicationComponentProps> {
-
- /**
- * Initializes a new instance.
- */
- constructor (props: HelpApplicationComponentProps) {
- super(props);
-
- this.renderer = new marked.Renderer();
-
- this.renderer.link = (href: string, title: string, text: string) => {
- // check if href is rel or abs
- const absUrlMatch = href.trim().match(/^https?:\/\//i);
- return `<a href="${absUrlMatch ? href : resolvePath('#/help/', this.props.currentPath || '/', href)}" title="${title}" >${text}</a>`
- };
-
- this.renderer.image = (href: string, title: string) => {
- return `<img src="${resolvePath('/help/', this.props.currentPath || '/', href)}" alt="${title}" />`
- };
-
- }
-
- render(): JSX.Element {
- return this.props.content ? (
- <Markdown text={this.props.content} markedOptions={{ renderer: this.renderer }} className="markdown-body"
- style={{ maxWidth: "960px", margin: "1.5em auto" }} />
- ) : (<h2>Loading ...</h2>)
- }
-
- private renderer: marked.Renderer;
-}
-
-export const HelpApplication = connect(mapProps)(HelpApplicationComponent);
-export default HelpApplication; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src2/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/MyOdluxBundle.java b/sdnr/wt/odlux/apps/helpApp/src2/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/MyOdluxBundle.java
deleted file mode 100644
index 1e882fc69..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src2/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/MyOdluxBundle.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * 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==========================================================================
- ******************************************************************************/
-package org.onap.ccsdk.features.sdnr.wt.odlux.bundles;
-
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundle;
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundleLoader;
-
-public class MyOdluxBundle extends OdluxBundle {
-
- @Override
- public void initialize() {
- super.initialize();
- }
-
- @Override
- public void clean() {
- super.clean();
- }
-
- @Override
- public String getResourceFileContent(String filename) {
- return super.getResourceFileContent(filename);
- }
-
- @Override
- public boolean hasResource(String filename) {
- return super.hasResource(filename);
- }
-
- @Override
- public void setBundleName(String bundleName) {
- super.setBundleName(bundleName);
- }
-
- @Override
- public void setLoader(OdluxBundleLoader loader) {
- super.setLoader(loader);
- }
-
- @Override
- public String getBundleName() {
- return super.getBundleName();
- }
-
- @Override
- public OdluxBundleLoader getLoader() {
- return super.getLoader();
- }
-
- public MyOdluxBundle() {
- super();
- }
-}
diff --git a/sdnr/wt/odlux/apps/helpApp/src2/main/resources/OSGI-INF/blueprint/blueprint.xml b/sdnr/wt/odlux/apps/helpApp/src2/main/resources/OSGI-INF/blueprint/blueprint.xml
deleted file mode 100644
index a0e3dac11..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src2/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
- <reference id="loadersvc" availability="mandatory" activation="eager" interface="org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundleLoader"/>
-
- <bean id="bundle" init-method="initialize" destroy-method="clean" class="org.onap.ccsdk.features.sdnr.wt.odlux.bundles.MyOdluxBundle">
- <property name="loader" ref="loadersvc"/>
- <property name="bundleName" value="helpApp"/>
- <property name="index" value="100"/>
- </bean>
-</blueprint> \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/src2/test/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/test/TestBundleRes.java b/sdnr/wt/odlux/apps/helpApp/src2/test/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/test/TestBundleRes.java
deleted file mode 100644
index d0fbe63c0..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src2/test/java/org/onap/ccsdk/features/sdnr/wt/odlux/bundles/test/TestBundleRes.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * 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==========================================================================
- ******************************************************************************/
-package org.onap.ccsdk.features.sdnr.wt.odlux.bundles.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-import org.onap.ccsdk.features.sdnr.wt.odlux.OdluxBundleLoaderImpl;
-import org.onap.ccsdk.features.sdnr.wt.odlux.bundles.MyOdluxBundle;
-
-public class TestBundleRes {
-
- @Test
- public void test() {
- OdluxBundleLoaderImpl loader = OdluxBundleLoaderImpl.getInstance();
- MyOdluxBundle b = new MyOdluxBundle();
- b.setLoader(loader);
- b.setIndex(0);
- b.setBundleName("abc");
- b.initialize();
- assertTrue(loader.getNumberOfBundles()==1);
- assertNotNull(b.getLoader());
- assertEquals("abc",b.getBundleName());
- assertTrue(b.hasResource("test.js"));
- assertNotNull(b.getResourceFileContent("test.js"));
- b.clean();
- assertTrue(loader.getNumberOfBundles()==0);
- }
-
-}
diff --git a/sdnr/wt/odlux/apps/helpApp/src2/test/resources/test.js b/sdnr/wt/odlux/apps/helpApp/src2/test/resources/test.js
deleted file mode 100644
index b47fdc39f..000000000
--- a/sdnr/wt/odlux/apps/helpApp/src2/test/resources/test.js
+++ /dev/null
@@ -1,5 +0,0 @@
-asdac sad
-as
-d
-sad
- sadfa \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/helpApp/tsconfig.json b/sdnr/wt/odlux/apps/helpApp/tsconfig.json
deleted file mode 100644
index a66b5d828..000000000
--- a/sdnr/wt/odlux/apps/helpApp/tsconfig.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "compilerOptions": {
- "baseUrl": "./src",
- "outDir": "./dist",
- "sourceMap": true,
- "forceConsistentCasingInFileNames": true,
- "allowSyntheticDefaultImports": false,
- "allowUnreachableCode": false,
- "allowUnusedLabels": false,
- "noFallthroughCasesInSwitch": true,
- "noImplicitAny": true,
- "noImplicitReturns": true,
- "noImplicitThis": true,
- "strictNullChecks": true,
- "pretty": true,
- "newLine": "LF",
- "module": "es2015",
- "target": "es2016",
- "moduleResolution": "node",
- "experimentalDecorators": true,
- "jsx": "preserve",
- "lib": [
- "dom",
- "es2015",
- "es2016"
- ],
- "types": [
- "prop-types",
- "react",
- "react-dom"
- ]
- },
- "exclude": [
- "dist",
- "node_modules"
- ]
-}
diff --git a/sdnr/wt/odlux/apps/helpApp/webpack.config.js b/sdnr/wt/odlux/apps/helpApp/webpack.config.js
deleted file mode 100644
index 3a56d8bea..000000000
--- a/sdnr/wt/odlux/apps/helpApp/webpack.config.js
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * Webpack 4 configuration file
- * see https://webpack.js.org/configuration/
- * see https://webpack.js.org/configuration/dev-server/
- */
-
-"use strict";
-
-const path = require("path");
-const webpack = require("webpack");
-const autoprefixer = require('autoprefixer');
-const CopyWebpackPlugin = require("copy-webpack-plugin");
-const TerserPlugin = require('terser-webpack-plugin');
-
-// const __dirname = (path => path.replace(/^([a-z]\:)/, c => c.toUpperCase()))(process.__dirname());
-
-module.exports = (env) => {
- const distPath = path.resolve(__dirname, env === "release" ? "." : "../..", "dist");
- const frameworkPath = path.resolve(__dirname, env === "release" ? "../../framework" : "../..", "dist");
- return [{
- name: "App",
-
- mode: "none", //disable default behavior
-
- target: "web",
-
- context: path.resolve(__dirname, "src"),
-
- entry: {
- helpApp: ["./plugin.tsx"]
- },
-
- devtool: env === "release" ? false : "source-map",
-
- resolve: {
- extensions: [".ts", ".tsx", ".js", ".jsx"]
- },
-
- output: {
- path: distPath,
- filename: "[name].js",
- library: "[name]",
- libraryTarget: "umd2",
- chunkFilename: "[name].js"
- },
- module: {
- rules: [{
- test: /\.tsx?$/,
- exclude: /node_modules/,
- use: [{
- loader: "babel-loader"
- }, {
- loader: "ts-loader"
- }]
- }, {
- test: /\.jsx?$/,
- exclude: /node_modules/,
- use: [{
- loader: "babel-loader"
- }]
- }, {
- test: /\.css$/,
- use: [{
- loader: 'style-loader'
- }, {
- loader: 'css-loader',
- options: {
- modules: true,
- localIdentName: env !== "release" ? '[name]_[local]_[hash:base64:5]' : '[hash]'
- }
- }, {
- loader: 'postcss-loader',
- options: {
- plugins: () => [autoprefixer]
- }
- }]
- }]
- },
-
- optimization: {
- noEmitOnErrors: true,
- namedModules: env !== "release",
- minimize: env === "release",
- minimizer: env !== "release" ? [] : [new TerserPlugin({
- terserOptions: {
- warnings: false, // false, true, "verbose"
- compress: {
- drop_console: true,
- drop_debugger: true,
- }
- }
- })],
- },
-
- plugins: [
- new webpack.DllReferencePlugin({
- context: path.resolve(__dirname, "../../framework/src"),
- manifest: require(path.resolve(frameworkPath, "vendor-manifest.json")),
- sourceType: "umd2"
- }),
- new webpack.DllReferencePlugin({
- context: path.resolve(__dirname, "../../framework/src"),
- manifest: require(path.resolve(frameworkPath, "app-manifest.json")),
- sourceType: "umd2"
- }),
- ...(env === "release") ? [
- new webpack.DefinePlugin({
- "process.env": {
- NODE_ENV: "'production'",
- VERSION: JSON.stringify(require("./package.json").version)
- }
- }),
- ] : [
- new webpack.DefinePlugin({
- "process.env": {
- NODE_ENV: "'development'",
- VERSION: JSON.stringify(require("./package.json").version)
- }
- }),
- new CopyWebpackPlugin([{
- from: 'index.html',
- to: distPath
- }]),
- ]
- ],
- devServer: {
- public: "http://localhost:3100",
- contentBase: frameworkPath,
-
- compress: true,
- headers: {
- "Access-Control-Allow-Origin": "*"
- },
- host: "0.0.0.0",
- port: 3100,
- disableHostCheck: true,
- historyApiFallback: true,
- inline: true,
- hot: false,
- quiet: false,
- stats: {
- colors: true
- },
- proxy: {
- "/oauth2/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/database/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/restconf/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/help/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/websocket/": {
- target: "http://localhost:3000",
- ws: true,
- changeOrigin: true,
- secure: false
- }
- }
- }
- }];
-}