From 8b86bca79090b7a665d16ca8d16e6b8b4b2cff16 Mon Sep 17 00:00:00 2001 From: Sajith Janaprasad Date: Tue, 7 Nov 2017 14:04:09 +0530 Subject: [PATCH] make Widget State sample widget to a Maven module org.wso2.carbon.dashboards.samples.widgets.widget-state --- pom.xml | 6 ++ .../pom.xml | 5 ++ samples/widgets/WidgetState/package.json | 51 +++++++------ samples/widgets/WidgetState/pom.xml | 50 +++++++++++++ .../WidgetState/src/resources/widgetConf.json | 6 ++ samples/widgets/WidgetState/webpack.config.js | 74 +++++++++++-------- samples/widgets/pom.xml | 1 + 7 files changed, 138 insertions(+), 55 deletions(-) create mode 100644 samples/widgets/WidgetState/pom.xml create mode 100644 samples/widgets/WidgetState/src/resources/widgetConf.json diff --git a/pom.xml b/pom.xml index c2a9178dd..a3e3e5c18 100644 --- a/pom.xml +++ b/pom.xml @@ -267,6 +267,12 @@ ${carbon.dashboards.version} zip + + org.wso2.carbon.dashboards.samples.widgets + org.wso2.carbon.dashboards.samples.widgets.widget-state + ${carbon.dashboards.version} + zip + org.wso2.carbon.dashboards.samples diff --git a/samples/features/org.wso2.carbon.dashboards.samples.feature/pom.xml b/samples/features/org.wso2.carbon.dashboards.samples.feature/pom.xml index 4ce80a824..c9ff94475 100644 --- a/samples/features/org.wso2.carbon.dashboards.samples.feature/pom.xml +++ b/samples/features/org.wso2.carbon.dashboards.samples.feature/pom.xml @@ -77,6 +77,11 @@ org.wso2.carbon.dashboards.samples.widgets.total-updates zip + + org.wso2.carbon.dashboards.samples.widgets + org.wso2.carbon.dashboards.samples.widgets.widget-state + zip + diff --git a/samples/widgets/WidgetState/package.json b/samples/widgets/WidgetState/package.json index 4c829c93c..202aaa210 100644 --- a/samples/widgets/WidgetState/package.json +++ b/samples/widgets/WidgetState/package.json @@ -1,26 +1,29 @@ { - "name": "my-app", - "version": "0.1.0", - "private": true, - "dependencies": { - "react": "^15.6.1", - "react-dom": "^15.6.1" - }, - "scripts": { - "start": "react-scripts start", - "build": "webpack -p", - "test": "react-scripts test --env=jsdom", - "eject": "react-scripts eject" - }, - "devDependencies": { - "ajv": "^5.2.2", - "babel-core": "^6.25.0", - "babel-loader": "^7.1.1", - "babel-preset-es2015": "^6.24.1", - "babel-preset-react": "^6.24.1", - "babel-register": "^6.26.0", - "node-sass": "^4.5.3", - "sass-loader": "^6.0.6", - "webpack": "^3.5.5" - } + "name": "widget-state-widget", + "version": "0.1.0", + "private": true, + "dependencies": { + "react": "^15.6.1", + "react-dom": "^15.6.1" + }, + "scripts": { + "start": "react-scripts start", + "build": "webpack -p", + "test": "react-scripts test --env=jsdom", + "eject": "react-scripts eject", + "clean": "rimraf dist" + }, + "devDependencies": { + "ajv": "^5.2.2", + "babel-core": "^6.25.0", + "babel-loader": "^7.1.1", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-register": "^6.26.0", + "copy-webpack-plugin": "^4.2.0", + "node-sass": "^4.5.3", + "recharts": "^1.0.0-alpha.4", + "sass-loader": "^6.0.6", + "webpack": "^3.5.6" + } } diff --git a/samples/widgets/WidgetState/pom.xml b/samples/widgets/WidgetState/pom.xml new file mode 100644 index 000000000..2dcca2045 --- /dev/null +++ b/samples/widgets/WidgetState/pom.xml @@ -0,0 +1,50 @@ + + + + + 4.0.0 + + org.wso2.carbon.dashboards.samples.widgets.widget-state + pom + 4.0.0.alpha4-SNAPSHOT + + WSO2 Carbon Dashboards - Samples - Widgets - Widget State + http://wso2.org + + + org.wso2.carbon.dashboards.samples.widgets + widgets-parent + 4.0.0.alpha4-SNAPSHOT + ../pom.xml + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + org.codehaus.mojo + exec-maven-plugin + + + + diff --git a/samples/widgets/WidgetState/src/resources/widgetConf.json b/samples/widgets/WidgetState/src/resources/widgetConf.json new file mode 100644 index 000000000..8c912b87f --- /dev/null +++ b/samples/widgets/WidgetState/src/resources/widgetConf.json @@ -0,0 +1,6 @@ +{ + "name": "WidgetState", + "id": "WidgetState", + "thumbnailURL": "", + "configs": {} +} diff --git a/samples/widgets/WidgetState/webpack.config.js b/samples/widgets/WidgetState/webpack.config.js index 622782f0c..4dfb9d1cb 100644 --- a/samples/widgets/WidgetState/webpack.config.js +++ b/samples/widgets/WidgetState/webpack.config.js @@ -1,21 +1,39 @@ +/* + * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you 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. + */ + const path = require('path'); -const webpack = require('webpack') +const webpack = require('webpack'); +var CopyWebpackPlugin = require('copy-webpack-plugin'); + module.exports = { context: path.resolve(__dirname, './src'), entry: { - index: './WidgetState.jsx', + index: './WidgetState.jsx' }, output: { - path: path.resolve(__dirname, './dist/'), - filename: 'bundle.js', + path: path.resolve(__dirname, './dist/WidgetState/'), + filename: 'WidgetState.js' }, module: { loaders: [ { test: /\.html$/, - use: [{ - loader: 'html-loader', - }], + use: [{loader: 'html-loader'}] }, { test: /\.js$/, @@ -24,51 +42,45 @@ module.exports = { { loader: 'babel-loader', query: { - presets: ['es2015', 'react'], - }, - }, - ], + presets: ['es2015', 'react'] + } + } + ] }, { test: /\.(png|jpg|svg|cur|gif|eot|svg|ttf|woff|woff2)$/, - use: ['url-loader'], + use: ['url-loader'] }, { test: /\.jsx?$/, exclude: /(node_modules)/, loader: 'babel-loader', query: { - presets: ['es2015', 'react'], - }, + presets: ['es2015', 'react'] + } }, { test: /\.css$/, - use: ['style-loader', 'css-loader'], + use: ['style-loader', 'css-loader'] }, { test: /\.scss$/, - use: [{ - loader: 'style-loader', - }, { - loader: 'css-loader', - }, { - loader: 'sass-loader', - }], - }, + use: [{loader: 'style-loader'}, {loader: 'css-loader'}, {loader: 'sass-loader'}] + } - ], + ] }, plugins: [ - new webpack.ProvidePlugin({ - 'React': 'react', - 'ReactDOM': 'react-dom' - }) + new CopyWebpackPlugin([ + {from: path.resolve(__dirname, './src/resources/')} + ]) ], resolve: { - extensions: ['.js', '.json', '.jsx', '.scss'], + extensions: ['.js', '.json', '.jsx', '.scss'] }, + devtool: 'source-map', devServer: { contentBase: path.join(__dirname, 'public'), - publicPath: '/dist/', - }, + publicPath: '/dist/' + } }; diff --git a/samples/widgets/pom.xml b/samples/widgets/pom.xml index 93d97c335..ea6f1985d 100644 --- a/samples/widgets/pom.xml +++ b/samples/widgets/pom.xml @@ -44,6 +44,7 @@ ServerStatus Subscriber TotalUpdates + WidgetState