Updated yeoman generator to support external ng-xos-lib
Updateding Custom Views:
- ceilometerDashboard
- contentProvider
- dashboardManager
- developer
- diagnostic
- hpc
- mCordTopology
- openVPN
- serviceGrid
- subscribers
- syncNotifier
- tenant
- truckroll
Change-Id: I8bdebf70d3b72ceca8ec04565213efa60bc0b8d3
diff --git a/views/ngXosViews/ceilometerDashboard/bower.json b/views/ngXosViews/ceilometerDashboard/bower.json
index a3caa9f..41c67d3 100644
--- a/views/ngXosViews/ceilometerDashboard/bower.json
+++ b/views/ngXosViews/ceilometerDashboard/bower.json
@@ -15,7 +15,6 @@
"tests"
],
"dependencies": {
- "angular-animate": "1.4.7",n
"ui.bootstrap": "0.14.3"
},
"devDependencies": {
@@ -24,11 +23,14 @@
"angular": "1.4.7",
"angular-ui-router": "0.2.15",
"angular-cookies": "1.4.7",
+ "angular-animate": "1.4.7",
"angular-resource": "1.4.7",
"lodash": "~4.11.1",
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
- "d3": "~3.5.17"
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
},
"overrides": {
"ui.bootstrap": {
diff --git a/views/ngXosViews/ceilometerDashboard/gulp/build.js b/views/ngXosViews/ceilometerDashboard/gulp/build.js
index cfb07e2..4608dff 100644
--- a/views/ngXosViews/ceilometerDashboard/gulp/build.js
+++ b/views/ngXosViews/ceilometerDashboard/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosCeilometerDashboard.html',
- options.static + 'css/xosCeilometerDashboard.css'
+ options.static + 'css/xosCeilometerDashboard.css',
+ options.static + 'images/ceilometerDashboard-icon.png',
+ options.static + 'images/ceilometerDashboard-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/ceilometerDashboard-icon.png`,`${options.icon}/ceilometerDashboard-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosCeilometerDashboardVendor.js',
+ options.static + 'vendor/xosCeilometerDashboardVendor.js',
options.static + 'js/xosCeilometerDashboard.js',
options.static + 'css/xosCeilometerDashboard.css'
]),
@@ -129,8 +137,8 @@
return gulp.src(bowerDeps)
.pipe(concat('xosCeilometerDashboardVendor.js'))
- //.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(uglify())
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/ceilometerDashboard/gulp/server.js b/views/ngXosViews/ceilometerDashboard/gulp/server.js
index 19caf89..607c85d 100644
--- a/views/ngXosViews/ceilometerDashboard/gulp/server.js
+++ b/views/ngXosViews/ceilometerDashboard/gulp/server.js
@@ -30,6 +30,7 @@
target: conf.host
});
+
proxy.on('error', function(error, req, res) {
res.writeHead(500, {
'Content-Type': 'text/plain'
@@ -51,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +115,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/ceilometerDashboard/gulpfile.js b/views/ngXosViews/ceilometerDashboard/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/ceilometerDashboard/gulpfile.js
+++ b/views/ngXosViews/ceilometerDashboard/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/ceilometerDashboard/karma.conf.js b/views/ngXosViews/ceilometerDashboard/karma.conf.js
index 9d9e77e..242d8b0 100644
--- a/views/ngXosViews/ceilometerDashboard/karma.conf.js
+++ b/views/ngXosViews/ceilometerDashboard/karma.conf.js
@@ -11,6 +11,7 @@
return path.relative(process.cwd(), file);
});
+
module.exports = function(config) {
/*eslint-enable*/
config.set({
@@ -25,10 +26,9 @@
// list of files / patterns to load in the browser
- files: [
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
- ].concat(bowerComponents).concat([
+ files: ['./src/vendor/ng-xos-lib/dist/ngXosVendor.min.js']
+ .concat(bowerComponents).concat([
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
diff --git a/views/ngXosViews/ceilometerDashboard/src/icons/README.md b/views/ngXosViews/ceilometerDashboard/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/ceilometerDashboard/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/contentProvider/bower.json b/views/ngXosViews/contentProvider/bower.json
index b8a92a7..f46e604 100644
--- a/views/ngXosViews/contentProvider/bower.json
+++ b/views/ngXosViews/contentProvider/bower.json
@@ -2,7 +2,7 @@
"name": "xos-contentProvider",
"version": "0.0.0",
"authors": [
- "Matteo Scandolo <teo@onlab.us>"
+ "Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The contentProvider view",
"license": "MIT",
@@ -27,6 +27,8 @@
"lodash": "~4.11.1",
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
- "d3": "~3.5.17"
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/contentProvider/gulp/build.js b/views/ngXosViews/contentProvider/gulp/build.js
index 6bef382..c560e4a 100644
--- a/views/ngXosViews/contentProvider/gulp/build.js
+++ b/views/ngXosViews/contentProvider/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosContentProvider.html',
- options.static + 'css/xosContentProvider.css'
+ options.static + 'css/xosContentProvider.css',
+ options.static + 'images/contentProvider-icon.png',
+ options.static + 'images/contentProvider-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/contentProvider-icon.png`,`${options.icon}/contentProvider-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosContentProviderVendor.js',
+ options.static + 'vendor/xosContentProviderVendor.js',
options.static + 'js/xosContentProvider.js',
options.static + 'css/xosContentProvider.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosContentProviderVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/contentProvider/gulp/server.js b/views/ngXosViews/contentProvider/gulp/server.js
index 0bc2bd3..27791f5 100644
--- a/views/ngXosViews/contentProvider/gulp/server.js
+++ b/views/ngXosViews/contentProvider/gulp/server.js
@@ -52,13 +52,12 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
if(
- req.url.indexOf('/api/') !== -1 ||
- req.url.indexOf('/hpcapi/') !== -1
+ req.url.indexOf('/hpcapi/') !== -1 ||
+ req.url.indexOf('/api/') !== -1
){
if(conf.xoscsrftoken && conf.xossessionid){
req.headers.cookie = `xoscsrftoken=${conf.xoscsrftoken}; xossessionid=${conf.xossessionid}`;
@@ -116,7 +115,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/contentProvider/gulpfile.js b/views/ngXosViews/contentProvider/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/contentProvider/gulpfile.js
+++ b/views/ngXosViews/contentProvider/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/contentProvider/karma.conf.js b/views/ngXosViews/contentProvider/karma.conf.js
index 4123be9..e5abf39 100644
--- a/views/ngXosViews/contentProvider/karma.conf.js
+++ b/views/ngXosViews/contentProvider/karma.conf.js
@@ -26,8 +26,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/contentProvider/src/icons/README.md b/views/ngXosViews/contentProvider/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/contentProvider/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/contentProvider/src/index.html b/views/ngXosViews/contentProvider/src/index.html
index accd37d..703c613 100644
--- a/views/ngXosViews/contentProvider/src/index.html
+++ b/views/ngXosViews/contentProvider/src/index.html
@@ -26,8 +26,9 @@
<script src="vendor/Chart.js/Chart.js"></script>
<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
<script src="vendor/d3/d3.js"></script>
+<script src="vendor/angular-recursion/angular-recursion.js"></script>
<!-- endbower --><!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<!-- endinject -->
diff --git a/views/ngXosViews/dashboardManager/bower.json b/views/ngXosViews/dashboardManager/bower.json
index 5c05525..6e0f60b 100644
--- a/views/ngXosViews/dashboardManager/bower.json
+++ b/views/ngXosViews/dashboardManager/bower.json
@@ -30,6 +30,7 @@
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
"d3": "~3.5.17",
- "angular-recursion": "~1.0.5"
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/dashboardManager/gulp/build.js b/views/ngXosViews/dashboardManager/gulp/build.js
index 96b7cd2..9789be8 100644
--- a/views/ngXosViews/dashboardManager/gulp/build.js
+++ b/views/ngXosViews/dashboardManager/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosDashboardManager.html',
- options.static + 'css/xosDashboardManager.css'
+ options.static + 'css/xosDashboardManager.css',
+ options.static + 'images/dashboardManager-icon.png',
+ options.static + 'images/dashboardManager-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/dashboardManager-icon.png`,`${options.icon}/dashboardManager-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosDashboardManagerVendor.js',
+ options.static + 'vendor/xosDashboardManagerVendor.js',
options.static + 'js/xosDashboardManager.js',
options.static + 'css/xosDashboardManager.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosDashboardManagerVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/dashboardManager/gulp/server.js b/views/ngXosViews/dashboardManager/gulp/server.js
index 1e40a34..36fdded 100644
--- a/views/ngXosViews/dashboardManager/gulp/server.js
+++ b/views/ngXosViews/dashboardManager/gulp/server.js
@@ -52,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/dashboardManager/gulpfile.js b/views/ngXosViews/dashboardManager/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/dashboardManager/gulpfile.js
+++ b/views/ngXosViews/dashboardManager/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/dashboardManager/karma.conf.js b/views/ngXosViews/dashboardManager/karma.conf.js
index 5d00727..a10d010 100644
--- a/views/ngXosViews/dashboardManager/karma.conf.js
+++ b/views/ngXosViews/dashboardManager/karma.conf.js
@@ -1,4 +1,3 @@
-'use strict';
// Karma configuration
// Generated on Tue Oct 06 2015 09:27:10 GMT+0000 (UTC)
@@ -12,7 +11,7 @@
return path.relative(process.cwd(), file);
});
-// dirt trick to load angular as first
+// dirty trick to load angular as first
var ngIndex = bowerComponents.findIndex((item) => {
return item === 'src/vendor/angular/angular.js';
});
@@ -36,8 +35,8 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
@@ -56,6 +55,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/dashboardManager/src/css/dev.css b/views/ngXosViews/dashboardManager/src/css/dev.css
new file mode 100644
index 0000000..68b909c
--- /dev/null
+++ b/views/ngXosViews/dashboardManager/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosDashboardManager{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/dashboardManager/src/icons/README.md b/views/ngXosViews/dashboardManager/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/dashboardManager/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/dashboardManager/src/index.html b/views/ngXosViews/dashboardManager/src/index.html
index 6df0c5f..55613ae 100644
--- a/views/ngXosViews/dashboardManager/src/index.html
+++ b/views/ngXosViews/dashboardManager/src/index.html
@@ -5,6 +5,7 @@
<!-- endbower -->
<!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -14,10 +15,10 @@
</div>
<!-- bower:js -->
+<script src="vendor/angular/angular.js"></script>
<script src="vendor/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js"></script>
<script src="vendor/js-yaml/dist/js-yaml.js"></script>
<script src="vendor/jquery/dist/jquery.js"></script>
-<script src="vendor/angular/angular.js"></script>
<script src="vendor/angular-mocks/angular-mocks.js"></script>
<script src="vendor/angular-ui-router/release/angular-ui-router.js"></script>
<script src="vendor/angular-cookies/angular-cookies.js"></script>
@@ -32,7 +33,7 @@
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<script src="/.tmp/user-dashboards.directive.js"></script>
<script src="/.tmp/dashboard-form.directive.js"></script>
diff --git a/views/ngXosViews/dashboardManager/src/templates/users-list.tpl.html b/views/ngXosViews/dashboardManager/src/templates/users-list.tpl.html
new file mode 100644
index 0000000..1fee0e2
--- /dev/null
+++ b/views/ngXosViews/dashboardManager/src/templates/users-list.tpl.html
@@ -0,0 +1 @@
+<xos-table config="vm.tableConfig" data="vm.users"></xos-table>
\ No newline at end of file
diff --git a/views/ngXosViews/developer/bower.json b/views/ngXosViews/developer/bower.json
index da4d6b3..1d82b4a 100644
--- a/views/ngXosViews/developer/bower.json
+++ b/views/ngXosViews/developer/bower.json
@@ -2,7 +2,7 @@
"name": "xos-developer",
"version": "0.0.0",
"authors": [
- "Matteo Scandolo <teo@onlab.us>"
+ "Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The developer view",
"license": "MIT",
@@ -26,6 +26,9 @@
"angular-resource": "1.4.7",
"lodash": "~4.11.1",
"bootstrap-css": "3.3.6",
- "angular-chart.js": "~0.10.2"
+ "angular-chart.js": "~0.10.2",
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/developer/gulp/build.js b/views/ngXosViews/developer/gulp/build.js
index 87e68d8..4ad71d4 100644
--- a/views/ngXosViews/developer/gulp/build.js
+++ b/views/ngXosViews/developer/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosDeveloper.html',
- options.static + 'css/xosDeveloper.css'
+ options.static + 'css/xosDeveloper.css',
+ options.static + 'images/developer-icon.png',
+ options.static + 'images/developer-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/developer-icon.png`,`${options.icon}/developer-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosDeveloperVendor.js',
+ options.static + 'vendor/xosDeveloperVendor.js',
options.static + 'js/xosDeveloper.js',
options.static + 'css/xosDeveloper.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosDeveloperVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/developer/gulp/server.js b/views/ngXosViews/developer/gulp/server.js
index 1e40a34..36fdded 100644
--- a/views/ngXosViews/developer/gulp/server.js
+++ b/views/ngXosViews/developer/gulp/server.js
@@ -52,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/developer/gulpfile.js b/views/ngXosViews/developer/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/developer/gulpfile.js
+++ b/views/ngXosViews/developer/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/developer/karma.conf.js b/views/ngXosViews/developer/karma.conf.js
index 4123be9..e5abf39 100644
--- a/views/ngXosViews/developer/karma.conf.js
+++ b/views/ngXosViews/developer/karma.conf.js
@@ -26,8 +26,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/developer/package.json b/views/ngXosViews/developer/package.json
index f28682f..9a6eff2 100644
--- a/views/ngXosViews/developer/package.json
+++ b/views/ngXosViews/developer/package.json
@@ -9,9 +9,7 @@
"build": "gulp",
"test": "karma start",
"test:ci": "karma start --single-run",
- "lint": "eslint src/js/",
- "single-site": "easy-mocker -c ./mocks/config.json -d ./mocks/single-site",
- "multi-site": "easy-mocker -c ./mocks/config.json -d ./mocks/multi-site"
+ "lint": "eslint src/js/"
},
"keywords": [
"XOS",
@@ -27,7 +25,7 @@
"css-mqpacker": "^4.0.0",
"csswring": "^4.2.1",
"del": "^2.0.2",
- "easy-mocker": "^1.3.0",
+ "easy-mocker": "^1.2.0",
"eslint": "^1.8.0",
"eslint-plugin-angular": "linkmesrl/eslint-plugin-angular",
"gulp": "^3.9.0",
diff --git a/views/ngXosViews/developer/src/css/dev.css b/views/ngXosViews/developer/src/css/dev.css
new file mode 100644
index 0000000..ca9b692
--- /dev/null
+++ b/views/ngXosViews/developer/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosDeveloper{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/developer/src/icons/README.md b/views/ngXosViews/developer/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/developer/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/developer/src/index.html b/views/ngXosViews/developer/src/index.html
index f8946e9..e2dd2d0 100644
--- a/views/ngXosViews/developer/src/index.html
+++ b/views/ngXosViews/developer/src/index.html
@@ -5,6 +5,7 @@
<!-- endbower -->
<!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -25,9 +26,11 @@
<script src="vendor/bootstrap-css/js/bootstrap.min.js"></script>
<script src="vendor/Chart.js/Chart.js"></script>
<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
+<script src="vendor/d3/d3.js"></script>
+<script src="vendor/angular-recursion/angular-recursion.js"></script>
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/diagnostic/bower.json b/views/ngXosViews/diagnostic/bower.json
index 9279b8e..e5693ea 100644
--- a/views/ngXosViews/diagnostic/bower.json
+++ b/views/ngXosViews/diagnostic/bower.json
@@ -2,7 +2,7 @@
"name": "xos-diagnostic",
"version": "0.0.0",
"authors": [
- "Matteo Scandolo <teo@onlab.us>"
+ "Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The diagnostic view",
"license": "MIT",
@@ -14,7 +14,8 @@
"test",
"tests"
],
- "dependencies": {},
+ "dependencies": {
+ },
"devDependencies": {
"jquery": "2.1.4",
"angular-mocks": "1.4.7",
@@ -26,9 +27,8 @@
"lodash": "~4.11.1",
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
- "d3": "~3.5.17"
- },
- "resolutions": {
- "angular": "1.4.7"
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/diagnostic/gulp/build.js b/views/ngXosViews/diagnostic/gulp/build.js
index 20bbc14..716d301 100644
--- a/views/ngXosViews/diagnostic/gulp/build.js
+++ b/views/ngXosViews/diagnostic/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosDiagnostic.html',
- options.static + 'css/xosDiagnostic.css'
+ options.static + 'css/xosDiagnostic.css',
+ options.static + 'images/diagnostic-icon.png',
+ options.static + 'images/diagnostic-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/diagnostic-icon.png`,`${options.icon}/diagnostic-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosDiagnosticVendor.js',
+ options.static + 'vendor/xosDiagnosticVendor.js',
options.static + 'js/xosDiagnostic.js',
options.static + 'css/xosDiagnostic.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosDiagnosticVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/diagnostic/gulp/server.js b/views/ngXosViews/diagnostic/gulp/server.js
index fbc605b..36fdded 100644
--- a/views/ngXosViews/diagnostic/gulp/server.js
+++ b/views/ngXosViews/diagnostic/gulp/server.js
@@ -52,12 +52,10 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
if(
- req.url.indexOf('/?no_hyperlinks') !== -1 ||
req.url.indexOf('/api/') !== -1
){
if(conf.xoscsrftoken && conf.xossessionid){
@@ -116,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/diagnostic/gulpfile.js b/views/ngXosViews/diagnostic/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/diagnostic/gulpfile.js
+++ b/views/ngXosViews/diagnostic/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/diagnostic/karma.conf.js b/views/ngXosViews/diagnostic/karma.conf.js
index 44283c8..e5abf39 100644
--- a/views/ngXosViews/diagnostic/karma.conf.js
+++ b/views/ngXosViews/diagnostic/karma.conf.js
@@ -26,8 +26,8 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
@@ -46,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/diagnostic/package.json b/views/ngXosViews/diagnostic/package.json
index e5437b9..d916ea0 100644
--- a/views/ngXosViews/diagnostic/package.json
+++ b/views/ngXosViews/diagnostic/package.json
@@ -1,5 +1,5 @@
{
- "name": "xos-serviceTopology",
+ "name": "xos-diagnostic",
"version": "1.0.0",
"description": "Angular Application for XOS, created with generator-xos",
"scripts": {
@@ -8,8 +8,10 @@
"dev": "NODE_ENV=mock gulp serve",
"local": "NODE_ENV=local gulp serve",
"server": "easy-mocker -c ./mocks/diagnostic.conf.json -d ./mocks/data",
+ "prebuild": "npm install && bower install",
"build": "gulp",
"test": "karma start",
+ "test:ci": "karma start --single-run",
"lint": "eslint src/js/"
},
"keywords": [
diff --git a/views/ngXosViews/diagnostic/src/css/dev.css b/views/ngXosViews/diagnostic/src/css/dev.css
new file mode 100644
index 0000000..45ce372
--- /dev/null
+++ b/views/ngXosViews/diagnostic/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosDiagnostic{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/diagnostic/src/css/main.css b/views/ngXosViews/diagnostic/src/css/main.css
index 1cf0848..07fe951 100644
--- a/views/ngXosViews/diagnostic/src/css/main.css
+++ b/views/ngXosViews/diagnostic/src/css/main.css
@@ -1,5 +1,6 @@
/* CONTAINER */
#xosDiagnostic, [ui-view] {
+ height: 100%;
min-height: 700px;
position: relative; }
diff --git a/views/ngXosViews/diagnostic/src/icons/README.md b/views/ngXosViews/diagnostic/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/diagnostic/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/diagnostic/src/index.html b/views/ngXosViews/diagnostic/src/index.html
index f91ebbb..b5c899e 100644
--- a/views/ngXosViews/diagnostic/src/index.html
+++ b/views/ngXosViews/diagnostic/src/index.html
@@ -4,6 +4,7 @@
<link rel="stylesheet" href="vendor/angular-chart.js/dist/angular-chart.css" />
<!-- endbower --><!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -25,9 +26,10 @@
<script src="vendor/Chart.js/Chart.js"></script>
<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
<script src="vendor/d3/d3.js"></script>
+<script src="vendor/angular-recursion/angular-recursion.js"></script>
<!-- endbower --><!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<script src="/.tmp/subscriber-modal.js"></script>
<script src="/.tmp/serviceTopologyHelper.js"></script>
diff --git a/views/ngXosViews/hpc/bower.json b/views/ngXosViews/hpc/bower.json
index 085650b..6538353 100644
--- a/views/ngXosViews/hpc/bower.json
+++ b/views/ngXosViews/hpc/bower.json
@@ -28,6 +28,7 @@
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
"d3": "~3.5.17",
- "angular-recursion": "~1.0.5"
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/hpc/gulp/build.js b/views/ngXosViews/hpc/gulp/build.js
index 3cefc6b..64fdaf3 100644
--- a/views/ngXosViews/hpc/gulp/build.js
+++ b/views/ngXosViews/hpc/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosHpc.html',
- options.static + 'css/xosHpc.css'
+ options.static + 'css/xosHpc.css',
+ options.static + 'images/hpc-icon.png',
+ options.static + 'images/hpc-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/hpc-icon.png`,`${options.icon}/hpc-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosHpcVendor.js',
+ options.static + 'vendor/xosHpcVendor.js',
options.static + 'js/xosHpc.js',
options.static + 'css/xosHpc.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosHpcVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/hpc/gulp/server.js b/views/ngXosViews/hpc/gulp/server.js
index c748eb6..36fdded 100644
--- a/views/ngXosViews/hpc/gulp/server.js
+++ b/views/ngXosViews/hpc/gulp/server.js
@@ -52,13 +52,11 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
if(
- req.url.indexOf('/api/') !== -1,
- req.url.indexOf('/xoslib/hpcview') !== -1
+ req.url.indexOf('/api/') !== -1
){
if(conf.xoscsrftoken && conf.xossessionid){
req.headers.cookie = `xoscsrftoken=${conf.xoscsrftoken}; xossessionid=${conf.xossessionid}`;
@@ -116,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/hpc/gulpfile.js b/views/ngXosViews/hpc/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/hpc/gulpfile.js
+++ b/views/ngXosViews/hpc/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/hpc/karma.conf.js b/views/ngXosViews/hpc/karma.conf.js
index 4123be9..e5abf39 100644
--- a/views/ngXosViews/hpc/karma.conf.js
+++ b/views/ngXosViews/hpc/karma.conf.js
@@ -26,8 +26,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/hpc/src/css/dev.css b/views/ngXosViews/hpc/src/css/dev.css
new file mode 100644
index 0000000..5b3694e
--- /dev/null
+++ b/views/ngXosViews/hpc/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosHpc{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/hpc/src/icons/README.md b/views/ngXosViews/hpc/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/hpc/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/hpc/src/index.html b/views/ngXosViews/hpc/src/index.html
index c945c27..c583282 100644
--- a/views/ngXosViews/hpc/src/index.html
+++ b/views/ngXosViews/hpc/src/index.html
@@ -5,6 +5,7 @@
<!-- endbower -->
<!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -30,6 +31,6 @@
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/hpc/src/templates/users-list.tpl.html b/views/ngXosViews/hpc/src/templates/users-list.tpl.html
new file mode 100644
index 0000000..1fee0e2
--- /dev/null
+++ b/views/ngXosViews/hpc/src/templates/users-list.tpl.html
@@ -0,0 +1 @@
+<xos-table config="vm.tableConfig" data="vm.users"></xos-table>
\ No newline at end of file
diff --git a/views/ngXosViews/mcordTopology/bower.json b/views/ngXosViews/mcordTopology/bower.json
index ed83aa4..c647403 100644
--- a/views/ngXosViews/mcordTopology/bower.json
+++ b/views/ngXosViews/mcordTopology/bower.json
@@ -2,7 +2,7 @@
"name": "xos-mcordTopology",
"version": "0.0.0",
"authors": [
- "Matteo Scandolo <teo@onlab.us>"
+ "Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The mcordTopology view",
"license": "MIT",
@@ -15,7 +15,6 @@
"tests"
],
"dependencies": {
- "d3": "~3.5.16"
},
"devDependencies": {
"jquery": "2.1.4",
@@ -23,8 +22,13 @@
"angular": "1.4.7",
"angular-ui-router": "0.2.15",
"angular-cookies": "1.4.7",
+ "angular-animate": "1.4.7",
"angular-resource": "1.4.7",
- "lodash": "^3.10.1",
- "bootstrap-css": "2.3.2"
+ "lodash": "~4.11.1",
+ "bootstrap-css": "3.3.6",
+ "angular-chart.js": "~0.10.2",
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/mcordTopology/gulp/build.js b/views/ngXosViews/mcordTopology/gulp/build.js
index afc12dd..f4c5534 100644
--- a/views/ngXosViews/mcordTopology/gulp/build.js
+++ b/views/ngXosViews/mcordTopology/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosMcordTopology.html',
- options.static + 'css/xosMcordTopology.css'
+ options.static + 'css/xosMcordTopology.css',
+ options.static + 'images/mcordTopology-icon.png',
+ options.static + 'images/mcordTopology-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/mcordTopology-icon.png`,`${options.icon}/mcordTopology-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -98,13 +106,13 @@
gulp.task('copyHtml', function(){
return gulp.src(options.src + 'index.html')
// remove dev dependencies from html
- .pipe(replace(/<!-- bower:css -->(\n.*)*\n<!-- endbower --><!-- endcss -->/, ''))
- .pipe(replace(/<!-- bower:js -->(\n.*)*\n<!-- endbower --><!-- endjs -->/, ''))
+ .pipe(replace(/<!-- bower:css -->(\n^<link.*)*\n<!-- endbower -->/gmi, ''))
+ .pipe(replace(/<!-- bower:js -->(\n^<script.*)*\n<!-- endbower -->/gmi, ''))
// injecting minified files
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosMcordTopologyVendor.js',
+ options.static + 'vendor/xosMcordTopologyVendor.js',
options.static + 'js/xosMcordTopology.js',
options.static + 'css/xosMcordTopology.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosMcordTopologyVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -150,12 +158,14 @@
gulp.task('build', function() {
runSequence(
'clean',
+ 'sass',
'templates',
'babel',
'scripts',
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/mcordTopology/gulp/server.js b/views/ngXosViews/mcordTopology/gulp/server.js
index 167a5a9..0ffef89 100644
--- a/views/ngXosViews/mcordTopology/gulp/server.js
+++ b/views/ngXosViews/mcordTopology/gulp/server.js
@@ -10,18 +10,24 @@
var httpProxy = require('http-proxy');
var del = require('del');
var sass = require('gulp-sass');
+var fs = require('fs');
+var path = require('path');
const environment = process.env.NODE_ENV;
-if (environment){
- var conf = require(`../env/${environment}.js`);
-}
-else{
- var conf = require('../env/default.js')
+if(!fs.existsSync(path.join(__dirname, `../../../env/${environment || 'default'}.js`))){
+ if(!environment){
+ throw new Error('You should define a default.js config in /views/env folder.');
+ }
+ else{
+ throw new Error(`Since you are loading a custom environment, you should define a ${environment}.js config in /views/env folder.`);
+ }
}
+var conf = require(path.join(__dirname, `../../../env/${environment || 'default'}.js`));
+
var proxy = httpProxy.createProxyServer({
- target: conf.host || 'http://0.0.0.0:9999'
+ target: conf.host
});
@@ -35,12 +41,8 @@
module.exports = function(options){
- // open in browser with sync and proxy to 0.0.0.0
gulp.task('browser', function() {
browserSync.init({
- // reloadDelay: 500,
- // logLevel: 'debug',
- // logConnections: true,
startPath: '#/',
snippetOptions: {
rule: {
@@ -50,7 +52,7 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers
+ '/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
if(
@@ -86,6 +88,13 @@
gulp.watch(`${options.sass}/**/*.scss`, ['sass'], function(){
browserSync.reload();
});
+
+ gulp.watch([
+ options.helpers + 'ngXosHelpers.js',
+ options.static + '../../static/xosNgLib.css'
+ ], function(){
+ browserSync.reload();
+ });
});
// compile sass
@@ -109,7 +118,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
@@ -125,7 +134,10 @@
return gulp.src(options.src + 'index.html')
.pipe(
inject(
- gulp.src(options.src + 'css/*.css'),
+ gulp.src([
+ options.src + 'css/*.css',
+ options.static + '../../static/xosNgLib.css'
+ ]),
{
ignorePath: [options.src]
}
diff --git a/views/ngXosViews/mcordTopology/gulpfile.js b/views/ngXosViews/mcordTopology/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/mcordTopology/gulpfile.js
+++ b/views/ngXosViews/mcordTopology/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/mcordTopology/karma.conf.js b/views/ngXosViews/mcordTopology/karma.conf.js
index 4123be9..e5abf39 100644
--- a/views/ngXosViews/mcordTopology/karma.conf.js
+++ b/views/ngXosViews/mcordTopology/karma.conf.js
@@ -26,8 +26,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/mcordTopology/src/icons/README.md b/views/ngXosViews/mcordTopology/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/mcordTopology/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/mcordTopology/src/index.html b/views/ngXosViews/mcordTopology/src/index.html
index d8985de..8b8c714 100644
--- a/views/ngXosViews/mcordTopology/src/index.html
+++ b/views/ngXosViews/mcordTopology/src/index.html
@@ -1,11 +1,13 @@
<!-- browserSync -->
<!-- bower:css -->
-<link rel="stylesheet" href="vendor/bootstrap-css/css/bootstrap.css" />
+<link rel="stylesheet" href="vendor/bootstrap-css/css/bootstrap.min.css" />
+<link rel="stylesheet" href="vendor/angular-chart.js/dist/angular-chart.css" />
<!-- endbower --><!-- endcss -->
<!-- inject:css -->
<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/css/mcord.css">
+<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
<div ng-app="xos.mcordTopology" id="xosMcordTopology" class="container-fluid">
@@ -13,18 +15,22 @@
</div>
<!-- bower:js -->
-<script src="vendor/d3/d3.js"></script>
<script src="vendor/jquery/dist/jquery.js"></script>
<script src="vendor/angular/angular.js"></script>
<script src="vendor/angular-mocks/angular-mocks.js"></script>
<script src="vendor/angular-ui-router/release/angular-ui-router.js"></script>
<script src="vendor/angular-cookies/angular-cookies.js"></script>
+<script src="vendor/angular-animate/angular-animate.js"></script>
<script src="vendor/angular-resource/angular-resource.js"></script>
<script src="vendor/lodash/lodash.js"></script>
-<script src="vendor/bootstrap-css/js/bootstrap.js"></script>
+<script src="vendor/bootstrap-css/js/bootstrap.min.js"></script>
+<script src="vendor/Chart.js/Chart.js"></script>
+<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
+<script src="vendor/d3/d3.js"></script>
+<script src="vendor/angular-recursion/angular-recursion.js"></script>
<!-- endbower --><!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<script src="/.tmp/static.data.js"></script>
<script src="/.tmp/node_drawer.js"></script>
diff --git a/views/ngXosViews/openVPNDashboard/bower.json b/views/ngXosViews/openVPNDashboard/bower.json
index 66d7af1..33cdb88 100644
--- a/views/ngXosViews/openVPNDashboard/bower.json
+++ b/views/ngXosViews/openVPNDashboard/bower.json
@@ -2,10 +2,10 @@
"name": "xos-openVPNDashboard",
"version": "0.0.0",
"authors": [
- "Matteo Scandolo <teo@onlab.us>"
+ "Jeremy Mowery <jermowery@email.arizona.edu>"
],
"description": "The openVPNDashboard view",
- "license": "MIT",
+ "license": "Apache-2.0",
"ignore": [
"**/.*",
"node_modules",
@@ -14,8 +14,7 @@
"test",
"tests"
],
- "dependencies": {
- },
+ "dependencies": {},
"devDependencies": {
"jquery": "2.1.4",
"angular-mocks": "1.4.7",
@@ -27,6 +26,9 @@
"lodash": "~4.11.1",
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
- "d3": "~3.5.17"
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0",
+ "Blob.js": "eligrey/Blob.js"
}
}
diff --git a/views/ngXosViews/openVPNDashboard/gulp/build.js b/views/ngXosViews/openVPNDashboard/gulp/build.js
index 33a2cac..26fc1fe 100644
--- a/views/ngXosViews/openVPNDashboard/gulp/build.js
+++ b/views/ngXosViews/openVPNDashboard/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosOpenVPNDashboard.html',
- options.static + 'css/xosOpenVPNDashboard.css'
+ options.static + 'css/xosOpenVPNDashboard.css',
+ options.static + 'images/openVPNDashboard-icon.png',
+ options.static + 'images/openVPNDashboard-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/openVPNDashboard-icon.png`,`${options.icon}/openVPNDashboard-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosOpenVPNDashboardVendor.js',
+ options.static + 'vendor/xosOpenVPNDashboardVendor.js',
options.static + 'js/xosOpenVPNDashboard.js',
options.static + 'css/xosOpenVPNDashboard.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosOpenVPNDashboardVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/openVPNDashboard/gulp/server.js b/views/ngXosViews/openVPNDashboard/gulp/server.js
index 1e40a34..36fdded 100644
--- a/views/ngXosViews/openVPNDashboard/gulp/server.js
+++ b/views/ngXosViews/openVPNDashboard/gulp/server.js
@@ -52,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/openVPNDashboard/gulpfile.js b/views/ngXosViews/openVPNDashboard/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/openVPNDashboard/gulpfile.js
+++ b/views/ngXosViews/openVPNDashboard/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/openVPNDashboard/karma.conf.js b/views/ngXosViews/openVPNDashboard/karma.conf.js
index 4123be9..90d1ed0 100644
--- a/views/ngXosViews/openVPNDashboard/karma.conf.js
+++ b/views/ngXosViews/openVPNDashboard/karma.conf.js
@@ -11,6 +11,9 @@
return path.relative(process.cwd(), file);
});
+// add Blob polyfill for Phantom.js
+bowerComponents.push('src/vendor/Blob.js/Blob.js');
+
module.exports = function(config) {
/*eslint-enable*/
config.set({
@@ -26,8 +29,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +49,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/openVPNDashboard/package.json b/views/ngXosViews/openVPNDashboard/package.json
index 093c76d..09631e4 100644
--- a/views/ngXosViews/openVPNDashboard/package.json
+++ b/views/ngXosViews/openVPNDashboard/package.json
@@ -16,8 +16,8 @@
"Angular",
"XOSlib"
],
- "author": "Matteo Scandolo",
- "license": "MIT",
+ "author": "Jeremy Mowery",
+ "license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^6.3.3",
diff --git a/views/ngXosViews/openVPNDashboard/spec/sample.test.js b/views/ngXosViews/openVPNDashboard/spec/sample.test.js
index 522ce75..0f49ff3 100644
--- a/views/ngXosViews/openVPNDashboard/spec/sample.test.js
+++ b/views/ngXosViews/openVPNDashboard/spec/sample.test.js
@@ -15,7 +15,7 @@
{
email: 'jermowery@email.arizona.edu',
firstname: 'Jeremy',
- lastname: 'Mowery'
+ lastname: 'Mowery'
}
]);
diff --git a/views/ngXosViews/openVPNDashboard/src/css/dev.css b/views/ngXosViews/openVPNDashboard/src/css/dev.css
new file mode 100644
index 0000000..557a343
--- /dev/null
+++ b/views/ngXosViews/openVPNDashboard/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosOpenVPNDashboard{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/openVPNDashboard/src/icons/README.md b/views/ngXosViews/openVPNDashboard/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/openVPNDashboard/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/openVPNDashboard/src/index.html b/views/ngXosViews/openVPNDashboard/src/index.html
index 8a97f14..2f1ac8f 100644
--- a/views/ngXosViews/openVPNDashboard/src/index.html
+++ b/views/ngXosViews/openVPNDashboard/src/index.html
@@ -4,6 +4,7 @@
<link rel="stylesheet" href="vendor/angular-chart.js/dist/angular-chart.css" />
<!-- endbower --><!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -25,8 +26,9 @@
<script src="vendor/Chart.js/Chart.js"></script>
<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
<script src="vendor/d3/d3.js"></script>
+<script src="vendor/angular-recursion/angular-recursion.js"></script>
<!-- endbower --><!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<!-- endinject -->
diff --git a/views/ngXosViews/serviceGrid/bower.json b/views/ngXosViews/serviceGrid/bower.json
index 941c8db..b6a6a31 100644
--- a/views/ngXosViews/serviceGrid/bower.json
+++ b/views/ngXosViews/serviceGrid/bower.json
@@ -2,10 +2,10 @@
"name": "xos-serviceGrid",
"version": "0.0.0",
"authors": [
- "Matteo Scandolo <teo@onlab.us>"
+ "Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The serviceGrid view",
- "license": "MIT",
+ "license": "Apache-2.0",
"ignore": [
"**/.*",
"node_modules",
@@ -32,9 +32,7 @@
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
"d3": "~3.5.17",
- "angular-recursion": "~1.0.5"
- },
- "resolutions": {
- "lodash": "~4.11.1"
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/serviceGrid/gulp/build.js b/views/ngXosViews/serviceGrid/gulp/build.js
index 2916028..471136b 100644
--- a/views/ngXosViews/serviceGrid/gulp/build.js
+++ b/views/ngXosViews/serviceGrid/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosServiceGrid.html',
- options.static + 'css/xosServiceGrid.css'
+ options.static + 'css/xosServiceGrid.css',
+ options.static + 'images/serviceGrid-icon.png',
+ options.static + 'images/serviceGrid-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/serviceGrid-icon.png`,`${options.icon}/serviceGrid-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosServiceGridVendor.js',
+ options.static + 'vendor/xosServiceGridVendor.js',
options.static + 'js/xosServiceGrid.js',
options.static + 'css/xosServiceGrid.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosServiceGridVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/serviceGrid/gulp/server.js b/views/ngXosViews/serviceGrid/gulp/server.js
index 1e40a34..36fdded 100644
--- a/views/ngXosViews/serviceGrid/gulp/server.js
+++ b/views/ngXosViews/serviceGrid/gulp/server.js
@@ -52,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/serviceGrid/gulpfile.js b/views/ngXosViews/serviceGrid/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/serviceGrid/gulpfile.js
+++ b/views/ngXosViews/serviceGrid/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/serviceGrid/karma.conf.js b/views/ngXosViews/serviceGrid/karma.conf.js
index 44283c8..e5abf39 100644
--- a/views/ngXosViews/serviceGrid/karma.conf.js
+++ b/views/ngXosViews/serviceGrid/karma.conf.js
@@ -26,8 +26,8 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
@@ -46,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/serviceGrid/package.json b/views/ngXosViews/serviceGrid/package.json
index 130737b..4259a36 100644
--- a/views/ngXosViews/serviceGrid/package.json
+++ b/views/ngXosViews/serviceGrid/package.json
@@ -18,7 +18,7 @@
"XOSlib"
],
"author": "Matteo Scandolo",
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^6.3.3",
diff --git a/views/ngXosViews/serviceGrid/src/css/dev.css b/views/ngXosViews/serviceGrid/src/css/dev.css
new file mode 100644
index 0000000..b833a9f
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosServiceGrid{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/icons/README.md b/views/ngXosViews/serviceGrid/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/index.html b/views/ngXosViews/serviceGrid/src/index.html
index 0e3fa40..0058e98 100644
--- a/views/ngXosViews/serviceGrid/src/index.html
+++ b/views/ngXosViews/serviceGrid/src/index.html
@@ -5,6 +5,7 @@
<!-- endbower -->
<!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/css/side-panel.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
@@ -35,7 +36,7 @@
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<script src="/.tmp/tosca_encoder.service.js"></script>
<script src="/.tmp/slices_encorder.service.js"></script>
diff --git a/views/ngXosViews/serviceGrid/src/templates/users-list.tpl.html b/views/ngXosViews/serviceGrid/src/templates/users-list.tpl.html
new file mode 100644
index 0000000..1fee0e2
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/templates/users-list.tpl.html
@@ -0,0 +1 @@
+<xos-table config="vm.tableConfig" data="vm.users"></xos-table>
\ No newline at end of file
diff --git a/views/ngXosViews/subscribers/bower.json b/views/ngXosViews/subscribers/bower.json
index 2fb2dab..542ffeb 100644
--- a/views/ngXosViews/subscribers/bower.json
+++ b/views/ngXosViews/subscribers/bower.json
@@ -5,7 +5,7 @@
"Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The subscribers view",
- "license": "MIT",
+ "license": "Apache-2.0",
"ignore": [
"**/.*",
"node_modules",
@@ -14,7 +14,8 @@
"test",
"tests"
],
- "dependencies": {},
+ "dependencies": {
+ },
"devDependencies": {
"jquery": "2.1.4",
"angular-mocks": "1.4.7",
@@ -27,6 +28,7 @@
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
"d3": "~3.5.17",
- "angular-recursion": "~1.0.5"
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/subscribers/gulp/build.js b/views/ngXosViews/subscribers/gulp/build.js
index 7f446ed..a23d5be 100644
--- a/views/ngXosViews/subscribers/gulp/build.js
+++ b/views/ngXosViews/subscribers/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosSubscribers.html',
- options.static + 'css/xosSubscribers.css'
+ options.static + 'css/xosSubscribers.css',
+ options.static + 'images/subscribers-icon.png',
+ options.static + 'images/subscribers-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/subscribers-icon.png`,`${options.icon}/subscribers-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosSubscribersVendor.js',
+ options.static + 'vendor/xosSubscribersVendor.js',
options.static + 'js/xosSubscribers.js',
options.static + 'css/xosSubscribers.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosSubscribersVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/subscribers/gulp/server.js b/views/ngXosViews/subscribers/gulp/server.js
index 1e40a34..36fdded 100644
--- a/views/ngXosViews/subscribers/gulp/server.js
+++ b/views/ngXosViews/subscribers/gulp/server.js
@@ -52,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/subscribers/gulpfile.js b/views/ngXosViews/subscribers/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/subscribers/gulpfile.js
+++ b/views/ngXosViews/subscribers/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/subscribers/karma.conf.js b/views/ngXosViews/subscribers/karma.conf.js
index 0e9c4d8..02c1cb1 100644
--- a/views/ngXosViews/subscribers/karma.conf.js
+++ b/views/ngXosViews/subscribers/karma.conf.js
@@ -27,8 +27,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
'node_modules/babel-polyfill/dist/polyfill.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -46,6 +47,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
@@ -79,10 +81,7 @@
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
- browsers: [
- 'PhantomJS',
- 'Chrome'
- ],
+ browsers: ['PhantomJS'],
// Continuous Integration mode
diff --git a/views/ngXosViews/subscribers/package.json b/views/ngXosViews/subscribers/package.json
index 96a2326..812ca00 100644
--- a/views/ngXosViews/subscribers/package.json
+++ b/views/ngXosViews/subscribers/package.json
@@ -17,7 +17,7 @@
"XOSlib"
],
"author": "Matteo Scandolo",
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^6.3.3",
@@ -49,7 +49,6 @@
"jasmine-core": "~2.3.4",
"karma": "^0.13.14",
"karma-babel-preprocessor": "~5.2.2",
- "karma-chrome-launcher": "^1.0.1",
"karma-coverage": "^0.5.3",
"karma-jasmine": "~0.3.6",
"karma-mocha-reporter": "~1.1.1",
diff --git a/views/ngXosViews/subscribers/src/css/dev.css b/views/ngXosViews/subscribers/src/css/dev.css
new file mode 100644
index 0000000..76c2d5b
--- /dev/null
+++ b/views/ngXosViews/subscribers/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosSubscribers{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/subscribers/src/icons/README.md b/views/ngXosViews/subscribers/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/subscribers/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/subscribers/src/index.html b/views/ngXosViews/subscribers/src/index.html
index 71cbddc..a234964 100644
--- a/views/ngXosViews/subscribers/src/index.html
+++ b/views/ngXosViews/subscribers/src/index.html
@@ -5,6 +5,7 @@
<!-- endbower -->
<!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -30,6 +31,6 @@
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/subscribers/src/templates/users-list.tpl.html b/views/ngXosViews/subscribers/src/templates/users-list.tpl.html
new file mode 100644
index 0000000..1fee0e2
--- /dev/null
+++ b/views/ngXosViews/subscribers/src/templates/users-list.tpl.html
@@ -0,0 +1 @@
+<xos-table config="vm.tableConfig" data="vm.users"></xos-table>
\ No newline at end of file
diff --git a/views/ngXosViews/synchronizerNotifier/bower.json b/views/ngXosViews/synchronizerNotifier/bower.json
index 8b0eb12..cf98e8d 100644
--- a/views/ngXosViews/synchronizerNotifier/bower.json
+++ b/views/ngXosViews/synchronizerNotifier/bower.json
@@ -5,7 +5,7 @@
"Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The synchronizerNotifier view",
- "license": "MIT",
+ "license": "Apache-2.0",
"ignore": [
"**/.*",
"node_modules",
@@ -14,7 +14,8 @@
"test",
"tests"
],
- "dependencies": {},
+ "dependencies": {
+ },
"devDependencies": {
"jquery": "2.1.4",
"angular-mocks": "1.4.7",
@@ -27,6 +28,7 @@
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
"d3": "~3.5.17",
- "angular-recursion": "~1.0.5"
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/synchronizerNotifier/gulp/build.js b/views/ngXosViews/synchronizerNotifier/gulp/build.js
index ee4bbe9..e90581d 100644
--- a/views/ngXosViews/synchronizerNotifier/gulp/build.js
+++ b/views/ngXosViews/synchronizerNotifier/gulp/build.js
@@ -36,7 +36,9 @@
return del(
[
options.dashboards + 'xosSynchronizerNotifier.html',
- options.static + 'css/xosSynchronizerNotifier.css'
+ options.static + 'css/xosSynchronizerNotifier.css',
+ options.static + 'images/synchronizerNotifier-icon.png',
+ options.static + 'images/synchronizerNotifier-icon-active.png'
],
{force: true}
);
@@ -65,6 +67,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/synchronizerNotifier-icon.png`,`${options.icon}/synchronizerNotifier-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -99,7 +107,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosSynchronizerNotifierVendor.js',
+ options.static + 'vendor/xosSynchronizerNotifierVendor.js',
options.static + 'js/xosSynchronizerNotifier.js',
options.static + 'css/xosSynchronizerNotifier.css'
]),
@@ -125,7 +133,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosSynchronizerNotifierVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -152,6 +160,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/synchronizerNotifier/gulp/server.js b/views/ngXosViews/synchronizerNotifier/gulp/server.js
index 1e40a34..36fdded 100644
--- a/views/ngXosViews/synchronizerNotifier/gulp/server.js
+++ b/views/ngXosViews/synchronizerNotifier/gulp/server.js
@@ -52,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/synchronizerNotifier/gulpfile.js b/views/ngXosViews/synchronizerNotifier/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/synchronizerNotifier/gulpfile.js
+++ b/views/ngXosViews/synchronizerNotifier/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/synchronizerNotifier/karma.conf.js b/views/ngXosViews/synchronizerNotifier/karma.conf.js
index 4123be9..e5abf39 100644
--- a/views/ngXosViews/synchronizerNotifier/karma.conf.js
+++ b/views/ngXosViews/synchronizerNotifier/karma.conf.js
@@ -26,8 +26,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/synchronizerNotifier/package.json b/views/ngXosViews/synchronizerNotifier/package.json
index ad76efe..9283153 100644
--- a/views/ngXosViews/synchronizerNotifier/package.json
+++ b/views/ngXosViews/synchronizerNotifier/package.json
@@ -17,7 +17,7 @@
"XOSlib"
],
"author": "Matteo Scandolo",
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^6.3.3",
diff --git a/views/ngXosViews/synchronizerNotifier/src/css/dev.css b/views/ngXosViews/synchronizerNotifier/src/css/dev.css
new file mode 100644
index 0000000..2d00c8e
--- /dev/null
+++ b/views/ngXosViews/synchronizerNotifier/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosSynchronizerNotifier{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/synchronizerNotifier/src/icons/README.md b/views/ngXosViews/synchronizerNotifier/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/synchronizerNotifier/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/synchronizerNotifier/src/index.html b/views/ngXosViews/synchronizerNotifier/src/index.html
index cb9b7b5..5205b9d 100644
--- a/views/ngXosViews/synchronizerNotifier/src/index.html
+++ b/views/ngXosViews/synchronizerNotifier/src/index.html
@@ -5,6 +5,7 @@
<!-- endbower -->
<!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -30,6 +31,6 @@
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/synchronizerNotifier/src/templates/users-list.tpl.html b/views/ngXosViews/synchronizerNotifier/src/templates/users-list.tpl.html
new file mode 100644
index 0000000..1fee0e2
--- /dev/null
+++ b/views/ngXosViews/synchronizerNotifier/src/templates/users-list.tpl.html
@@ -0,0 +1 @@
+<xos-table config="vm.tableConfig" data="vm.users"></xos-table>
\ No newline at end of file
diff --git a/views/ngXosViews/tenant/bower.json b/views/ngXosViews/tenant/bower.json
index c37483b..4c5c1a7 100644
--- a/views/ngXosViews/tenant/bower.json
+++ b/views/ngXosViews/tenant/bower.json
@@ -2,10 +2,10 @@
"name": "xos-tenant",
"version": "0.0.0",
"authors": [
- " <>"
+ "Arpit Agarwal <arpit@onlab.us>"
],
"description": "The tenant view",
- "license": "MIT",
+ "license": "Apache-2.0",
"ignore": [
"**/.*",
"node_modules",
@@ -14,7 +14,8 @@
"test",
"tests"
],
- "dependencies": {},
+ "dependencies": {
+ },
"devDependencies": {
"jquery": "2.1.4",
"angular-mocks": "1.4.7",
@@ -27,6 +28,7 @@
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
"d3": "~3.5.17",
- "angular-recursion": "^1.0.5"
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/tenant/gulp/build.js b/views/ngXosViews/tenant/gulp/build.js
index b540fcc..2d2ec6b 100644
--- a/views/ngXosViews/tenant/gulp/build.js
+++ b/views/ngXosViews/tenant/gulp/build.js
@@ -42,7 +42,8 @@
[
options.dashboards + 'xosTenant.html',
options.static + 'css/xosTenant.css',
- options.static + 'images/*'
+ options.static + 'images/tenant-icon.png',
+ options.static + 'images/tenant-icon-active.png'
],
{force: true}
);
@@ -71,9 +72,9 @@
.pipe(gulp.dest(options.static + 'css/'))
});
- // copy images in correct folder
+ // copy images in correct folder
gulp.task('copyImages', ['wait'], function(){
- return gulp.src([`${options.icon}/*.png`])
+ return gulp.src([`${options.icon}/tenant-icon.png`,`${options.icon}/tenant-icon-active.png`])
.pipe(gulp.dest(options.static + 'images/'))
});
@@ -111,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosTenantVendor.js',
+ options.static + 'vendor/xosTenantVendor.js',
options.static + 'js/xosTenant.js',
options.static + 'css/xosTenant.css'
]),
@@ -137,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosTenantVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
diff --git a/views/ngXosViews/tenant/gulp/server.js b/views/ngXosViews/tenant/gulp/server.js
index 4d64442..f647ec7 100644
--- a/views/ngXosViews/tenant/gulp/server.js
+++ b/views/ngXosViews/tenant/gulp/server.js
@@ -52,15 +52,11 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
if(
- // to be removed, deprecated API
- // req.url.indexOf('/xos/') !== -1 ||
- req.url.indexOf('/xoslib/tenant') !== -1 ||
- // req.url.indexOf('/hpcapi/') !== -1 ||
+ req.url.indexOf('/xoslib/tenant') !== -1 ||
req.url.indexOf('/api/') !== -1
){
if(conf.xoscsrftoken && conf.xossessionid){
@@ -119,7 +115,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/tenant/gulpfile.js b/views/ngXosViews/tenant/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/tenant/gulpfile.js
+++ b/views/ngXosViews/tenant/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/tenant/karma.conf.js b/views/ngXosViews/tenant/karma.conf.js
index 4123be9..e5abf39 100644
--- a/views/ngXosViews/tenant/karma.conf.js
+++ b/views/ngXosViews/tenant/karma.conf.js
@@ -26,8 +26,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/tenant/package.json b/views/ngXosViews/tenant/package.json
index ed04285..d8da5f8 100644
--- a/views/ngXosViews/tenant/package.json
+++ b/views/ngXosViews/tenant/package.json
@@ -16,8 +16,8 @@
"Angular",
"XOSlib"
],
- "author": "",
- "license": "MIT",
+ "author": "Arpit Agarwal",
+ "license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^6.3.3",
diff --git a/views/ngXosViews/tenant/src/css/dev.css b/views/ngXosViews/tenant/src/css/dev.css
new file mode 100644
index 0000000..0263242
--- /dev/null
+++ b/views/ngXosViews/tenant/src/css/dev.css
@@ -0,0 +1,5 @@
+#xosTenant{
+ position: absolute;
+ top: 100px;
+ left: 200px;
+}
\ No newline at end of file
diff --git a/views/ngXosViews/tenant/src/icons/README.md b/views/ngXosViews/tenant/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/tenant/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/tenant/src/index.html b/views/ngXosViews/tenant/src/index.html
index d647aa5..d8ebd82 100644
--- a/views/ngXosViews/tenant/src/index.html
+++ b/views/ngXosViews/tenant/src/index.html
@@ -5,6 +5,7 @@
<!-- endbower -->
<!-- endcss -->
<!-- inject:css -->
+<link rel="stylesheet" href="/css/dev.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
<!-- endinject -->
@@ -31,7 +32,7 @@
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<script src="/.tmp/sitedetail.js"></script>
<script src="/.tmp/createslice.js"></script>
diff --git a/views/ngXosViews/truckroll/bower.json b/views/ngXosViews/truckroll/bower.json
index 0cc10f7..27373e8 100644
--- a/views/ngXosViews/truckroll/bower.json
+++ b/views/ngXosViews/truckroll/bower.json
@@ -2,10 +2,10 @@
"name": "xos-truckroll",
"version": "0.0.0",
"authors": [
- "Matteo Scandolo <teo@onlab.us>"
+ "Matteo Scandolo <matteo.scandolo@gmail.com>"
],
"description": "The truckroll view",
- "license": "MIT",
+ "license": "Apache-2.0",
"ignore": [
"**/.*",
"node_modules",
@@ -27,6 +27,8 @@
"lodash": "~4.11.1",
"bootstrap-css": "3.3.6",
"angular-chart.js": "~0.10.2",
- "d3": "~3.5.17"
+ "d3": "~3.5.17",
+ "angular-recursion": "~1.0.5",
+ "ng-xos-lib": "opencord/ng-xos-lib#~1.0.0"
}
}
diff --git a/views/ngXosViews/truckroll/gulp/build.js b/views/ngXosViews/truckroll/gulp/build.js
index ff48fac..5878b31 100644
--- a/views/ngXosViews/truckroll/gulp/build.js
+++ b/views/ngXosViews/truckroll/gulp/build.js
@@ -41,7 +41,9 @@
return del(
[
options.dashboards + 'xosTruckroll.html',
- options.static + 'css/xosTruckroll.css'
+ options.static + 'css/xosTruckroll.css',
+ options.static + 'images/truckroll-icon.png',
+ options.static + 'images/truckroll-icon-active.png'
],
{force: true}
);
@@ -70,6 +72,12 @@
.pipe(gulp.dest(options.static + 'css/'))
});
+ // copy images in correct folder
+ gulp.task('copyImages', ['wait'], function(){
+ return gulp.src([`${options.icon}/truckroll-icon.png`,`${options.icon}/truckroll-icon-active.png`])
+ .pipe(gulp.dest(options.static + 'images/'))
+ });
+
// compile and minify scripts
gulp.task('scripts', function() {
return gulp.src([
@@ -104,7 +112,7 @@
.pipe(
inject(
gulp.src([
- options.static + 'js/vendor/xosTruckrollVendor.js',
+ options.static + 'vendor/xosTruckrollVendor.js',
options.static + 'js/xosTruckroll.js',
options.static + 'css/xosTruckroll.css'
]),
@@ -130,7 +138,7 @@
return gulp.src(bowerDeps)
.pipe(concat('xosTruckrollVendor.js'))
.pipe(uglify())
- .pipe(gulp.dest(options.static + 'js/vendor/'));
+ .pipe(gulp.dest(options.static + 'vendor/'));
});
gulp.task('lint', function () {
@@ -157,6 +165,7 @@
'wiredep',
'css',
'copyCss',
+ 'copyImages',
'copyHtml',
'cleanTmp'
);
diff --git a/views/ngXosViews/truckroll/gulp/server.js b/views/ngXosViews/truckroll/gulp/server.js
index 1e40a34..36fdded 100644
--- a/views/ngXosViews/truckroll/gulp/server.js
+++ b/views/ngXosViews/truckroll/gulp/server.js
@@ -52,7 +52,6 @@
server: {
baseDir: options.src,
routes: {
- '/xos/core/xoslib/static/js/vendor': options.helpers,
'/xos/core/static': options.static + '../../static/'
},
middleware: function(req, res, next){
@@ -115,7 +114,7 @@
inject(
gulp.src([
options.tmp + '**/*.js',
- options.helpers + 'ngXosHelpers.js'
+ options.helpers + 'ngXosHelpers.min.js'
])
.pipe(angularFilesort()),
{
diff --git a/views/ngXosViews/truckroll/gulpfile.js b/views/ngXosViews/truckroll/gulpfile.js
index 08df554..c825df8 100644
--- a/views/ngXosViews/truckroll/gulpfile.js
+++ b/views/ngXosViews/truckroll/gulpfile.js
@@ -6,12 +6,13 @@
var options = {
src: 'src/',
css: 'src/css/',
+ icon: 'src/icons',
sass: 'src/sass/',
scripts: 'src/js/',
tmp: 'src/.tmp',
dist: 'dist/',
api: '../../ngXosLib/api/',
- helpers: '../../../xos/core/xoslib/static/js/vendor/',
+ helpers: './src/vendor/ng-xos-lib/dist/',
static: '../../../xos/core/xoslib/static/', // this is the django static folder
dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
};
diff --git a/views/ngXosViews/truckroll/karma.conf.js b/views/ngXosViews/truckroll/karma.conf.js
index 4123be9..e5abf39 100644
--- a/views/ngXosViews/truckroll/karma.conf.js
+++ b/views/ngXosViews/truckroll/karma.conf.js
@@ -26,8 +26,9 @@
// list of files / patterns to load in the browser
files: bowerComponents.concat([
- '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
- '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+ './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
+ './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
+ 'src/js/main.js',
'src/js/**/*.js',
'spec/**/*.mock.js',
'spec/**/*.test.js',
@@ -45,6 +46,7 @@
preprocessors: {
'src/js/**/*.js': ['babel'],
'spec/**/*.test.js': ['babel'],
+ 'spec/**/*.mock.js': ['babel'],
'src/**/*.html': ['ng-html2js']
},
diff --git a/views/ngXosViews/truckroll/package.json b/views/ngXosViews/truckroll/package.json
index 128a229..f397ff0 100644
--- a/views/ngXosViews/truckroll/package.json
+++ b/views/ngXosViews/truckroll/package.json
@@ -17,7 +17,7 @@
"XOSlib"
],
"author": "Matteo Scandolo",
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^6.3.3",
diff --git a/views/ngXosViews/truckroll/src/icons/README.md b/views/ngXosViews/truckroll/src/icons/README.md
new file mode 100644
index 0000000..0d5a787
--- /dev/null
+++ b/views/ngXosViews/truckroll/src/icons/README.md
@@ -0,0 +1,18 @@
+# Set icon for custom dashboard
+
+## Path to add images : <dashboard-name>/src/icons
+
+### Add two images with name in following format
+ <dashboard-name>-icon.png
+ <dashboard-name>-icon-active.png
+
+Examples:
+ If your dashboard name is `slice`
+ then you will add the images with the name as
+ `slice-icon.png`
+ `slice-icon-active.png`
+
+
+
+
+Note: If you don't add the custom images, then dashboard will use the default images stored at `/xos/core/xoslib/static/images`
\ No newline at end of file
diff --git a/views/ngXosViews/truckroll/src/index.html b/views/ngXosViews/truckroll/src/index.html
index bb4f072..567d4e4 100644
--- a/views/ngXosViews/truckroll/src/index.html
+++ b/views/ngXosViews/truckroll/src/index.html
@@ -28,9 +28,10 @@
<script src="vendor/Chart.js/Chart.js"></script>
<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
<script src="vendor/d3/d3.js"></script>
+<script src="vendor/angular-recursion/angular-recursion.js"></script>
<!-- endbower -->
<!-- endjs -->
<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/vendor/ng-xos-lib/dist/ngXosHelpers.min.js"></script>
<script src="/.tmp/main.js"></script>
<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/truckroll/src/templates/users-list.tpl.html b/views/ngXosViews/truckroll/src/templates/users-list.tpl.html
new file mode 100644
index 0000000..1fee0e2
--- /dev/null
+++ b/views/ngXosViews/truckroll/src/templates/users-list.tpl.html
@@ -0,0 +1 @@
+<xos-table config="vm.tableConfig" data="vm.users"></xos-table>
\ No newline at end of file