You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/07/16 10:14:20 UTC
[01/12] incubator-ignite git commit: IGNITE-843: Added remove
confirmation for cluster and cache.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-1121 2e814bd59 -> 386c223f5
IGNITE-843: Added remove confirmation for cluster and cache.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/14d8146d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/14d8146d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/14d8146d
Branch: refs/heads/ignite-1121
Commit: 14d8146dc64772eb57617a2064b7ac2c067649ce
Parents: 3abac23
Author: AKuznetsov <ak...@gridgain.com>
Authored: Wed Jul 15 20:08:47 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Wed Jul 15 20:08:47 2015 +0700
----------------------------------------------------------------------
.../nodejs/controllers/admin-controller.js | 80 ++++++++++----------
.../nodejs/controllers/caches-controller.js | 48 +++++++-----
.../nodejs/controllers/clusters-controller.js | 50 +++++++-----
3 files changed, 100 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/14d8146d/modules/web-control-center/nodejs/controllers/admin-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/admin-controller.js b/modules/web-control-center/nodejs/controllers/admin-controller.js
index e6065c0..b67d7d9 100644
--- a/modules/web-control-center/nodejs/controllers/admin-controller.js
+++ b/modules/web-control-center/nodejs/controllers/admin-controller.js
@@ -16,53 +16,53 @@
*/
controlCenterModule.controller('adminController', ['$scope', '$http', '$confirm', 'commonFunctions', function ($scope, $http, $confirm, commonFunctions) {
- $scope.users = null;
+ $scope.users = null;
- function reload() {
- $http.post('admin/list')
- .success(function (data) {
- $scope.users = data;
- })
- .error(function (errMsg) {
- commonFunctions.showError(commonFunctions.errorMessage(errMsg));
- });
- }
+ function reload() {
+ $http.post('admin/list')
+ .success(function (data) {
+ $scope.users = data;
+ })
+ .error(function (errMsg) {
+ commonFunctions.showError(commonFunctions.errorMessage(errMsg));
+ });
+ }
- reload();
+ reload();
- $scope.removeUser = function (user) {
- $confirm.show("Are you sure you want to delete user: '" + user.username + "'?").then(function() {
- $http.post('admin/remove', {userId: user._id}).success(
- function () {
- var i = _.findIndex($scope.users, function (u) {
- return u._id == user._id;
- });
+ $scope.removeUser = function (user) {
+ $confirm.show('Are you sure you want to remove user: "' + user.username + '"?').then(function () {
+ $http.post('admin/remove', {userId: user._id}).success(
+ function () {
+ var i = _.findIndex($scope.users, function (u) {
+ return u._id == user._id;
+ });
- if (i >= 0)
- $scope.users.splice(i, 1);
+ if (i >= 0)
+ $scope.users.splice(i, 1);
- commonFunctions.showInfo("User has been removed: '" + user.username + "'");
- }).error(function (errMsg) {
- commonFunctions.showError("Failed to remove user: " + commonFunctions.errorMessage(errMsg));
- });
- });
- };
+ commonFunctions.showInfo('User has been removed: "' + user.username + '"');
+ }).error(function (errMsg) {
+ commonFunctions.showError('Failed to remove user: "' + commonFunctions.errorMessage(errMsg) + '"');
+ });
+ });
+ };
- $scope.toggleAdmin = function (user) {
- if (user.adminChanging)
- return;
+ $scope.toggleAdmin = function (user) {
+ if (user.adminChanging)
+ return;
- user.adminChanging = true;
+ user.adminChanging = true;
- $http.post('admin/save', {userId: user._id, adminFlag: !user.admin}).success(
- function () {
- commonFunctions.showInfo("Admin right was successfully toggled for user: '" + user.username + "'");
+ $http.post('admin/save', {userId: user._id, adminFlag: !user.admin}).success(
+ function () {
+ commonFunctions.showInfo('Admin right was successfully toggled for user: "' + user.username + '"');
- user.adminChanging = false;
- }).error(function (errMsg) {
- commonFunctions.showError("Failed to toggle admin right for user: " + commonFunctions.errorMessage(errMsg));
+ user.adminChanging = false;
+ }).error(function (errMsg) {
+ commonFunctions.showError('Failed to toggle admin right for user: "' + commonFunctions.errorMessage(errMsg) + '"');
- user.adminChanging = false;
- });
- }
- }]);
\ No newline at end of file
+ user.adminChanging = false;
+ });
+ }
+}]);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/14d8146d/modules/web-control-center/nodejs/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/caches-controller.js b/modules/web-control-center/nodejs/controllers/caches-controller.js
index 5c9a793..7d81595 100644
--- a/modules/web-control-center/nodejs/controllers/caches-controller.js
+++ b/modules/web-control-center/nodejs/controllers/caches-controller.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-controlCenterModule.controller('cachesController', ['$scope', '$http', 'commonFunctions', function ($scope, $http, commonFunctions) {
+controlCenterModule.controller('cachesController', ['$scope', '$http', '$confirm', 'commonFunctions', function ($scope, $http, $confirm, commonFunctions) {
$scope.swapSimpleItems = commonFunctions.swapSimpleItems;
$scope.joinTip = commonFunctions.joinTip;
$scope.getModel = commonFunctions.getModel;
@@ -202,25 +202,37 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', 'commonFu
});
};
- $scope.removeItem = function () {
- var _id = $scope.selectedItem._id;
-
- $http.post('caches/remove', {_id: _id})
- .success(function () {
- var i = _.findIndex($scope.caches, function (cache) {
- return cache._id == _id;
- });
+ // Save cache in db with new name.
+ $scope.saveItemAs = function () {
- if (i >= 0) {
- $scope.caches.splice(i, 1);
+ };
- $scope.selectedItem = undefined;
- $scope.backupItem = undefined;
- }
- })
- .error(function (errMsg) {
- commonFunctions.showError(errMsg);
- });
+ // Remove cache from db.
+ $scope.removeItem = function () {
+ $confirm.show('Are you sure you want to remove cache: "' + $scope.selectedItem.name + '"?').then(
+ function () {
+ var _id = $scope.selectedItem._id;
+
+ $http.post('caches/remove', {_id: _id})
+ .success(function () {
+ var idx = _.findIndex($scope.caches, function (cache) {
+ return cache._id == _id;
+ });
+
+ if (idx >= 0) {
+ $scope.caches.splice(idx, 1);
+
+ $scope.selectedItem = undefined;
+ $scope.backupItem = undefined;
+ }
+
+ commonFunctions.showInfo('Cache has been removed: ' + $scope.selectedItem.label);
+ })
+ .error(function (errMsg) {
+ commonFunctions.showError(errMsg);
+ });
+ }
+ );
};
$scope.checkIndexedTypes = function (keyCls, valCls) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/14d8146d/modules/web-control-center/nodejs/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/clusters-controller.js b/modules/web-control-center/nodejs/controllers/clusters-controller.js
index 54a5a27..0d1948d 100644
--- a/modules/web-control-center/nodejs/controllers/clusters-controller.js
+++ b/modules/web-control-center/nodejs/controllers/clusters-controller.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-controlCenterModule.controller('clustersController', ['$scope', '$http', 'commonFunctions', function ($scope, $http, commonFunctions) {
+controlCenterModule.controller('clustersController', ['$scope', '$http', '$confirm', 'commonFunctions', function ($scope, $http, $confirm, commonFunctions) {
$scope.swapSimpleItems = commonFunctions.swapSimpleItems;
$scope.joinTip = commonFunctions.joinTip;
$scope.getModel = commonFunctions.getModel;
@@ -190,27 +190,37 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', 'common
});
};
- $scope.removeItem = function () {
- var _id = $scope.selectedItem._id;
-
- $http.post('clusters/remove', {_id: _id})
- .success(function () {
- var i = _.findIndex($scope.clusters, function (cluster) {
- return cluster._id == _id;
- });
+ // Save cluster in db with new name.
+ $scope.saveItemAs = function () {
- if (i >= 0) {
- $scope.clusters.splice(i, 1);
-
- $scope.selectedItem = undefined;
- $scope.backupItem = undefined;
- }
+ };
- commonFunctions.showInfo("Cluster has been removed: " + $scope.selectedItem.label);
- })
- .error(function (errMsg) {
- commonFunctions.showError(errMsg);
- });
+ // Remove cluster from db.
+ $scope.removeItem = function () {
+ $confirm.show('Are you sure you want to remove cluster: "' + $scope.selectedItem.name + '"?').then(
+ function () {
+ var _id = $scope.selectedItem._id;
+
+ $http.post('clusters/remove', {_id: _id})
+ .success(function () {
+ var idx = _.findIndex($scope.clusters, function (cluster) {
+ return cluster._id == _id;
+ });
+
+ if (idx >= 0) {
+ $scope.clusters.splice(idx, 1);
+
+ $scope.selectedItem = undefined;
+ $scope.backupItem = undefined;
+ }
+
+ commonFunctions.showInfo('Cluster has been removed: ' + $scope.selectedItem.label);
+ })
+ .error(function (errMsg) {
+ commonFunctions.showError(errMsg);
+ });
+ }
+ );
};
}]
);
\ No newline at end of file
[03/12] incubator-ignite git commit: IGNITE-843: Fixed warning.
Posted by an...@apache.org.
IGNITE-843: Fixed warning.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ecd9ae1f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ecd9ae1f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ecd9ae1f
Branch: refs/heads/ignite-1121
Commit: ecd9ae1fe99d68267edef4cb8abeb1f8f0c6e17d
Parents: f2d07d5
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 16 01:52:01 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 16 01:52:01 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/nodejs/routes/public.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ecd9ae1f/modules/web-control-center/nodejs/routes/public.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/public.js b/modules/web-control-center/nodejs/routes/public.js
index fd7c759..68bf964 100644
--- a/modules/web-control-center/nodejs/routes/public.js
+++ b/modules/web-control-center/nodejs/routes/public.js
@@ -42,7 +42,7 @@ router.get('/login', function (req, res) {
/**
* Register new account.
*/
-router.post('/register', function (req, res, next) {
+router.post('/register', function (req, res) {
db.Account.count(function (err, cnt) {
if (err)
return res.status(401).send(err.message);
[11/12] incubator-ignite git commit: Merge branches 'ignite-1121' and
'ignite-843' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into
ignite-1121
Posted by an...@apache.org.
Merge branches 'ignite-1121' and 'ignite-843' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1121
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e4b80ca1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e4b80ca1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e4b80ca1
Branch: refs/heads/ignite-1121
Commit: e4b80ca134e5754010474883f2d71a66281b37cf
Parents: 2e814bd 400bc56
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 15:14:14 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 15:14:14 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/nodejs/.gitignore | 3 +-
.../nodejs/controllers/admin-controller.js | 80 ++++++++---------
.../nodejs/controllers/caches-controller.js | 89 +++++++++++++------
.../nodejs/controllers/clusters-controller.js | 93 ++++++++++++++------
.../nodejs/controllers/common-module.js | 43 +++++++--
.../nodejs/controllers/summary-controller.js | 2 +-
.../nodejs/public/stylesheets/sql-console.css | 72 ---------------
.../nodejs/public/stylesheets/style.css | 1 -
.../nodejs/public/stylesheets/style.less | 29 +++---
.../web-control-center/nodejs/routes/admin.js | 2 +-
.../web-control-center/nodejs/routes/caches.js | 16 ++--
.../nodejs/routes/clusters.js | 16 ++--
.../nodejs/routes/generator/java.js | 3 -
.../nodejs/routes/generator/xml.js | 14 +++
.../nodejs/routes/metadata.js | 16 ++--
.../nodejs/routes/persistence.js | 16 ++--
.../web-control-center/nodejs/routes/public.js | 9 +-
.../web-control-center/nodejs/routes/summary.js | 18 ++--
.../nodejs/views/configuration/caches.jade | 3 +-
.../nodejs/views/configuration/clusters.jade | 5 +-
.../nodejs/views/configuration/metadata.jade | 2 +-
.../nodejs/views/configuration/summary.jade | 2 +-
.../nodejs/views/includes/controls.jade | 14 +--
.../nodejs/views/settings/profile.jade | 2 +-
.../nodejs/views/templates/confirm.jade | 4 +-
.../nodejs/views/templates/saveAs.jade | 31 +++++++
26 files changed, 347 insertions(+), 238 deletions(-)
----------------------------------------------------------------------
[09/12] incubator-ignite git commit: # ignite-843 Fixed save as.
Posted by an...@apache.org.
# ignite-843 Fixed save as.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/dc895c63
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/dc895c63
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/dc895c63
Branch: refs/heads/ignite-1121
Commit: dc895c63732525746674bf78c3c462f7cada4947
Parents: b9da5fa
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 13:43:47 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 13:43:47 2015 +0700
----------------------------------------------------------------------
.../nodejs/controllers/caches-controller.js | 20 ++++++++++----------
.../nodejs/controllers/clusters-controller.js | 20 ++++++++++----------
.../nodejs/controllers/summary-controller.js | 2 +-
.../web-control-center/nodejs/routes/caches.js | 14 ++++++++++----
.../nodejs/routes/clusters.js | 14 ++++++++++----
.../nodejs/routes/metadata.js | 14 ++++++++++----
.../nodejs/routes/persistence.js | 14 ++++++++++----
.../web-control-center/nodejs/routes/summary.js | 10 +++++-----
.../nodejs/views/configuration/summary.jade | 2 +-
9 files changed, 67 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/caches-controller.js b/modules/web-control-center/nodejs/controllers/caches-controller.js
index c724db9..b6cadcf 100644
--- a/modules/web-control-center/nodejs/controllers/caches-controller.js
+++ b/modules/web-control-center/nodejs/controllers/caches-controller.js
@@ -156,7 +156,7 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$saveAs'
};
// Check cache logical consistency.
- $scope.checkItem = function (item) {
+ function validate(item) {
var cacheStoreFactorySelected = item.cacheStoreFactory && item.cacheStoreFactory.kind;
if (cacheStoreFactorySelected && !(item.readThrough || item.writeThrough)) {
@@ -178,10 +178,10 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$saveAs'
}
return true;
- };
+ }
// Save cache into database.
- $scope.saveItemToDb = function (item) {
+ function save(item) {
$http.post('caches/save', item)
.success(function (_id) {
var idx = _.findIndex($scope.caches, function (cache) {
@@ -203,26 +203,26 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$saveAs'
.error(function (errMsg) {
commonFunctions.showError(errMsg);
});
- };
+ }
// Save cache.
$scope.saveItem = function () {
var item = $scope.backupItem;
- if ($scope.checkItem(item))
- $scope.saveItemToDb(item);
+ if (validate(item))
+ save(item);
};
// Save cache with new name.
$scope.saveItemAs = function () {
- var item = $scope.backupItem;
-
- if ($scope.checkItem(item))
+ if (validate($scope.backupItem))
$saveAs.show($scope.backupItem.name).then(function (newName) {
+ var item = angular.copy($scope.backupItem);
+
item._id = undefined;
item.name = newName;
- $scope.saveItemToDb(item);
+ save(item);
});
};
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/clusters-controller.js b/modules/web-control-center/nodejs/controllers/clusters-controller.js
index 94be0ad..af0e0d5 100644
--- a/modules/web-control-center/nodejs/controllers/clusters-controller.js
+++ b/modules/web-control-center/nodejs/controllers/clusters-controller.js
@@ -152,7 +152,7 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$saveA
};
// Check cluster logical consistency.
- $scope.checkItem = function (item) {
+ function validate(item) {
if (!item.swapSpaceSpi || !item.swapSpaceSpi.kind) {
for (var i = 0; i < item.caches.length; i++) {
var idx = $scope.indexOfCache(item.caches[i]);
@@ -170,10 +170,10 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$saveA
}
return true;
- };
+ }
// Save cluster in database.
- $scope.saveItemToDb = function (item) {
+ function save(item) {
$http.post('clusters/save', item)
.success(function (_id) {
var idx = _.findIndex($scope.clusters, function (cluster) {
@@ -195,26 +195,26 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$saveA
.error(function (errMsg) {
commonFunctions.showError(errMsg);
});
- };
+ }
// Save cluster.
$scope.saveItem = function () {
var item = $scope.backupItem;
- if ($scope.checkItem(item))
- $scope.saveItemToDb(item);
+ if (validate(item))
+ save(item);
};
// Save cluster with new name.
$scope.saveItemAs = function () {
- var item = $scope.backupItem;
-
- if ($scope.checkItem(item))
+ if (validate($scope.backupItem))
$saveAs.show($scope.backupItem.name).then(function (newName) {
+ var item = angular.copy($scope.backupItem);
+
item._id = undefined;
item.name = newName;
- $scope.saveItemToDb(item);
+ save(item);
});
};
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/controllers/summary-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/summary-controller.js b/modules/web-control-center/nodejs/controllers/summary-controller.js
index 9da6f59..8679665 100644
--- a/modules/web-control-center/nodejs/controllers/summary-controller.js
+++ b/modules/web-control-center/nodejs/controllers/summary-controller.js
@@ -121,7 +121,7 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', 'commonF
};
$scope.generateClient = function() {
- $http.post('summary/generator', {_id: $scope.selectedItem._id, javaClass: $scope.javaClassClient, clientTemplate: $scope.backupItem})
+ $http.post('summary/generator', {_id: $scope.selectedItem._id, javaClass: $scope.javaClassClient, clientCache: $scope.backupItem})
.success(function (data) {
$("<pre class='brush:xml'/>").text(data.xmlClient).appendTo($('#xmlClient').empty());
$("<pre class='brush:java'/>").text(data.javaClient).appendTo($('#javaClient').empty());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/routes/caches.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/caches.js b/modules/web-control-center/nodejs/routes/caches.js
index 9e8b0d4..3fefd37 100644
--- a/modules/web-control-center/nodejs/routes/caches.js
+++ b/modules/web-control-center/nodejs/routes/caches.js
@@ -63,13 +63,19 @@ router.post('/save', function (req, res) {
res.send(req.body._id);
});
else {
- var cache = new db.Cache(req.body);
-
- cache.save(function (err, cache) {
+ db.Cache.findOne({name: req.body.name}, function (err, cache) {
if (err)
return res.status(500).send(err.message);
- res.send(cache._id);
+ if (cache)
+ return res.status(500).send('Cache with name: "' + cache.name + '" already exist.');
+
+ (new db.Cache(req.body)).save(function (err, cache) {
+ if (err)
+ return res.status(500).send(err.message);
+
+ res.send(cache._id);
+ });
});
}
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/routes/clusters.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/clusters.js b/modules/web-control-center/nodejs/routes/clusters.js
index a95f500..182130d 100644
--- a/modules/web-control-center/nodejs/routes/clusters.js
+++ b/modules/web-control-center/nodejs/routes/clusters.js
@@ -72,13 +72,19 @@ router.post('/save', function (req, res) {
res.send(req.body._id);
});
else {
- var cluster = new db.Cluster(req.body);
-
- cluster.save(function (err, cluster) {
+ db.Cluster.findOne({name: req.body.name}, function (err, cluster) {
if (err)
return res.status(500).send(err.message);
- res.send(cluster._id);
+ if (cluster)
+ return res.status(500).send('Cluster with name: "' + cluster.name + '" already exist.');
+
+ (new db.Cluster(req.body)).save(function (err, cluster) {
+ if (err)
+ return res.status(500).send(err.message);
+
+ res.send(cluster._id);
+ });
});
}
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/routes/metadata.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/metadata.js b/modules/web-control-center/nodejs/routes/metadata.js
index 97a4bb1..283f85e 100644
--- a/modules/web-control-center/nodejs/routes/metadata.js
+++ b/modules/web-control-center/nodejs/routes/metadata.js
@@ -63,13 +63,19 @@ router.post('/save', function (req, res) {
res.send(req.body._id);
});
else {
- var metadata = new db.CacheTypeMetadata(req.body);
-
- metadata.save(function (err, metadata) {
+ db.CacheTypeMetadata.findOne({name: req.body.name}, function (err, metadata) {
if (err)
return res.status(500).send(err.message);
- res.send(metadata._id);
+ if (metadata)
+ return res.status(500).send('Cache type metadata with name: "' + metadata.name + '" already exist.');
+
+ (new db.CacheTypeMetadata(req.body)).save(function (err, metadata) {
+ if (err)
+ return res.status(500).send(err.message);
+
+ res.send(metadata._id);
+ });
});
}
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/routes/persistence.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/persistence.js b/modules/web-control-center/nodejs/routes/persistence.js
index bf1ff8f..44d8b69 100644
--- a/modules/web-control-center/nodejs/routes/persistence.js
+++ b/modules/web-control-center/nodejs/routes/persistence.js
@@ -64,13 +64,19 @@ router.post('/save', function (req, res) {
res.send(req.body._id);
});
else {
- var persistence = new db.Persistence(req.body);
-
- persistence.save(function (err, persistence) {
+ db.CacheTypeMetadata.findOne({name: req.body.name}, function (err, persistence) {
if (err)
return res.status(500).send(err.message);
- res.send(persistence._id);
+ if (persistence)
+ return res.status(500).send('Persistence with name: "' + persistence.name + '" already exist.');
+
+ (new db.Persistence(req.body)).save(function (err, persistence) {
+ if (err)
+ return res.status(500).send(err.message);
+
+ res.send(persistence._id);
+ });
});
}
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/routes/summary.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/summary.js b/modules/web-control-center/nodejs/routes/summary.js
index 144184f..33af50f 100644
--- a/modules/web-control-center/nodejs/routes/summary.js
+++ b/modules/web-control-center/nodejs/routes/summary.js
@@ -37,12 +37,12 @@ router.post('/generator', function (req, res) {
if (!cluster)
return res.sendStatus(404);
- var clientTemplate = req.body.clientTemplate;
+ var clientCache = req.body.clientCache;
- if (clientTemplate)
+ if (clientCache)
return res.send({
- xmlClient: generatorXml.generateClusterConfiguration(cluster, clientTemplate),
- javaClient: generatorJava.generateClusterConfiguration(cluster, req.body.javaClass, clientTemplate)
+ xmlClient: generatorXml.generateClusterConfiguration(cluster, clientCache),
+ javaClient: generatorJava.generateClusterConfiguration(cluster, req.body.javaClass, clientCache)
});
return res.send({
@@ -63,7 +63,7 @@ router.post('/download', function (req, res) {
if (!cluster)
return res.sendStatus(404);
- var clientCache = req.body.clientTemplate;
+ var clientCache = req.body.clientCache;
var archiver = require('archiver');
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc895c63/modules/web-control-center/nodejs/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/summary.jade b/modules/web-control-center/nodejs/views/configuration/summary.jade
index f8128a7..93f27a8 100644
--- a/modules/web-control-center/nodejs/views/configuration/summary.jade
+++ b/modules/web-control-center/nodejs/views/configuration/summary.jade
@@ -107,7 +107,7 @@ block content
form.panel-heading(role='tab' method='post' action='summary/download')
input(type="hidden" name="_id" value="{{selectedItem._id}}")
input(type="hidden" name="javaClass" value="{{javaClassClient}}")
- input(type="hidden" name="clientTemplate" value="{{backupItem}}")
+ input(type="hidden" name="clientCache" value="{{backupItem}}")
h3
a(bs-collapse-toggle) Client
[07/12] incubator-ignite git commit: # ignite-843 Minor fix.
Posted by an...@apache.org.
# ignite-843 Minor fix.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/779b8cca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/779b8cca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/779b8cca
Branch: refs/heads/ignite-1121
Commit: 779b8cca6f0a7ea606e517940023a18ee58b90da
Parents: 55e6b8a
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 10:45:34 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 10:45:34 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/nodejs/.gitignore | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/779b8cca/modules/web-control-center/nodejs/.gitignore
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/.gitignore b/modules/web-control-center/nodejs/.gitignore
index b17fddc..65f2596 100644
--- a/modules/web-control-center/nodejs/.gitignore
+++ b/modules/web-control-center/nodejs/.gitignore
@@ -1,3 +1,4 @@
node_modules
*.idea
-*.log
\ No newline at end of file
+*.log
+*.css
\ No newline at end of file
[02/12] incubator-ignite git commit: IGNITE-843: Implemented "save
as". Added confirmation for remove. Minor fixes.
Posted by an...@apache.org.
IGNITE-843: Implemented "save as". Added confirmation for remove. Minor fixes.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f2d07d54
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f2d07d54
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f2d07d54
Branch: refs/heads/ignite-1121
Commit: f2d07d54bf4ad5c8db297ab6bc3421a0632522b6
Parents: 14d8146
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jul 16 01:11:24 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jul 16 01:11:24 2015 +0700
----------------------------------------------------------------------
.../nodejs/controllers/caches-controller.js | 65 ++++++++++++------
.../nodejs/controllers/clusters-controller.js | 69 ++++++++++++++------
.../nodejs/controllers/common-module.js | 40 ++++++++++--
.../nodejs/public/stylesheets/style.css | 2 +-
.../nodejs/public/stylesheets/style.less | 2 +-
.../web-control-center/nodejs/routes/public.js | 7 +-
.../web-control-center/nodejs/routes/summary.js | 8 +--
.../nodejs/views/configuration/caches.jade | 3 +-
.../nodejs/views/configuration/clusters.jade | 3 +-
.../nodejs/views/configuration/metadata.jade | 2 +-
.../nodejs/views/includes/controls.jade | 2 +-
.../nodejs/views/settings/profile.jade | 2 +-
.../nodejs/views/templates/confirm.jade | 4 +-
.../nodejs/views/templates/saveAs.jade | 31 +++++++++
14 files changed, 180 insertions(+), 60 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/caches-controller.js b/modules/web-control-center/nodejs/controllers/caches-controller.js
index 7d81595..c724db9 100644
--- a/modules/web-control-center/nodejs/controllers/caches-controller.js
+++ b/modules/web-control-center/nodejs/controllers/caches-controller.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-controlCenterModule.controller('cachesController', ['$scope', '$http', '$confirm', 'commonFunctions', function ($scope, $http, $confirm, commonFunctions) {
+controlCenterModule.controller('cachesController', ['$scope', '$http', '$saveAs', '$confirm', 'commonFunctions', function ($scope, $http, $saveAs, $confirm, commonFunctions) {
$scope.swapSimpleItems = commonFunctions.swapSimpleItems;
$scope.joinTip = commonFunctions.joinTip;
$scope.getModel = commonFunctions.getModel;
@@ -151,34 +151,37 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$confirm
// Add new cache.
$scope.createItem = function () {
- $scope.backupItem = {mode: 'PARTITIONED', atomicityMode: 'ATOMIC'};
+ $scope.backupItem = {mode: 'PARTITIONED', atomicityMode: 'ATOMIC', readFromBackup: true, copyOnRead: true};
$scope.backupItem.space = $scope.spaces[0]._id;
};
- // Save cache in db.
- $scope.saveItem = function () {
- var item = $scope.backupItem;
-
+ // Check cache logical consistency.
+ $scope.checkItem = function (item) {
var cacheStoreFactorySelected = item.cacheStoreFactory && item.cacheStoreFactory.kind;
if (cacheStoreFactorySelected && !(item.readThrough || item.writeThrough)) {
commonFunctions.showError('Store is configured but read/write through are not enabled!');
- return;
+ return false;
}
if ((item.readThrough || item.writeThrough) && !cacheStoreFactorySelected) {
commonFunctions.showError('Read / write through are enabled but store is not configured!');
- return;
+ return false;
}
if (item.writeBehindEnabled && !cacheStoreFactorySelected) {
commonFunctions.showError('Write behind enabled but store is not configured!');
- return;
+ return false;
}
+ return true;
+ };
+
+ // Save cache into database.
+ $scope.saveItemToDb = function (item) {
$http.post('caches/save', item)
.success(function (_id) {
var idx = _.findIndex($scope.caches, function (cache) {
@@ -202,31 +205,55 @@ controlCenterModule.controller('cachesController', ['$scope', '$http', '$confirm
});
};
- // Save cache in db with new name.
+ // Save cache.
+ $scope.saveItem = function () {
+ var item = $scope.backupItem;
+
+ if ($scope.checkItem(item))
+ $scope.saveItemToDb(item);
+ };
+
+ // Save cache with new name.
$scope.saveItemAs = function () {
+ var item = $scope.backupItem;
+
+ if ($scope.checkItem(item))
+ $saveAs.show($scope.backupItem.name).then(function (newName) {
+ item._id = undefined;
+ item.name = newName;
+ $scope.saveItemToDb(item);
+ });
};
// Remove cache from db.
$scope.removeItem = function () {
- $confirm.show('Are you sure you want to remove cache: "' + $scope.selectedItem.name + '"?').then(
+ var selectedItem = $scope.selectedItem;
+
+ $confirm.show('Are you sure you want to remove cache: "' + selectedItem.name + '"?').then(
function () {
- var _id = $scope.selectedItem._id;
+ var _id = selectedItem._id;
$http.post('caches/remove', {_id: _id})
.success(function () {
- var idx = _.findIndex($scope.caches, function (cache) {
+ commonFunctions.showInfo('Cache has been removed: ' + selectedItem.name);
+
+ var caches = $scope.caches;
+
+ var idx = _.findIndex(caches, function (cache) {
return cache._id == _id;
});
if (idx >= 0) {
- $scope.caches.splice(idx, 1);
-
- $scope.selectedItem = undefined;
- $scope.backupItem = undefined;
+ caches.splice(idx, 1);
+
+ if (caches.length > 0)
+ $scope.selectItem(caches[0]);
+ else {
+ $scope.selectedItem = undefined;
+ $scope.backupItem = undefined;
+ }
}
-
- commonFunctions.showInfo('Cache has been removed: ' + $scope.selectedItem.label);
})
.error(function (errMsg) {
commonFunctions.showError(errMsg);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/clusters-controller.js b/modules/web-control-center/nodejs/controllers/clusters-controller.js
index 0d1948d..94be0ad 100644
--- a/modules/web-control-center/nodejs/controllers/clusters-controller.js
+++ b/modules/web-control-center/nodejs/controllers/clusters-controller.js
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-controlCenterModule.controller('clustersController', ['$scope', '$http', '$confirm', 'commonFunctions', function ($scope, $http, $confirm, commonFunctions) {
+controlCenterModule.controller('clustersController', ['$scope', '$http', '$saveAs', '$confirm', 'commonFunctions', function ($scope, $http, $saveAs, $confirm, commonFunctions) {
$scope.swapSimpleItems = commonFunctions.swapSimpleItems;
$scope.joinTip = commonFunctions.joinTip;
$scope.getModel = commonFunctions.getModel;
@@ -145,15 +145,17 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$confi
$scope.backupItem.space = $scope.spaces[0]._id;
};
- // Save cluster in db.
- $scope.saveItem = function () {
- var item = $scope.backupItem;
+ $scope.indexOfCache = function (cacheId) {
+ return _.findIndex($scope.caches, function (cache) {
+ return cache.value == cacheId;
+ });
+ };
+ // Check cluster logical consistency.
+ $scope.checkItem = function (item) {
if (!item.swapSpaceSpi || !item.swapSpaceSpi.kind) {
- for (var cacheId in item.caches) {
- var idx = _.findIndex($scope.caches, function (cache) {
- return cache._id == cacheId.value;
- });
+ for (var i = 0; i < item.caches.length; i++) {
+ var idx = $scope.indexOfCache(item.caches[i]);
if (idx >= 0) {
var cache = $scope.caches[idx];
@@ -161,12 +163,17 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$confi
if (cache.swapEnabled) {
commonFunctions.showError('Swap space SPI is not configured, but cache "' + cache.label + '" configured to use swap!');
- return;
+ return false;
}
}
}
}
+ return true;
+ };
+
+ // Save cluster in database.
+ $scope.saveItemToDb = function (item) {
$http.post('clusters/save', item)
.success(function (_id) {
var idx = _.findIndex($scope.clusters, function (cluster) {
@@ -190,31 +197,55 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$confi
});
};
- // Save cluster in db with new name.
+ // Save cluster.
+ $scope.saveItem = function () {
+ var item = $scope.backupItem;
+
+ if ($scope.checkItem(item))
+ $scope.saveItemToDb(item);
+ };
+
+ // Save cluster with new name.
$scope.saveItemAs = function () {
+ var item = $scope.backupItem;
+ if ($scope.checkItem(item))
+ $saveAs.show($scope.backupItem.name).then(function (newName) {
+ item._id = undefined;
+ item.name = newName;
+
+ $scope.saveItemToDb(item);
+ });
};
// Remove cluster from db.
$scope.removeItem = function () {
- $confirm.show('Are you sure you want to remove cluster: "' + $scope.selectedItem.name + '"?').then(
+ var selectedItem = $scope.selectedItem;
+
+ $confirm.show('Are you sure you want to remove cluster: "' + selectedItem.name + '"?').then(
function () {
- var _id = $scope.selectedItem._id;
+ var _id = selectedItem._id;
$http.post('clusters/remove', {_id: _id})
.success(function () {
- var idx = _.findIndex($scope.clusters, function (cluster) {
+ commonFunctions.showInfo('Cluster has been removed: ' + selectedItem.name);
+
+ var clusters = $scope.clusters;
+
+ var idx = _.findIndex(clusters, function (cluster) {
return cluster._id == _id;
});
if (idx >= 0) {
- $scope.clusters.splice(idx, 1);
-
- $scope.selectedItem = undefined;
- $scope.backupItem = undefined;
+ clusters.splice(idx, 1);
+
+ if (clusters.length > 0)
+ $scope.selectItem(clusters[0]);
+ else {
+ $scope.selectedItem = undefined;
+ $scope.backupItem = undefined;
+ }
}
-
- commonFunctions.showInfo('Cluster has been removed: ' + $scope.selectedItem.label);
})
.error(function (errMsg) {
commonFunctions.showError(errMsg);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/common-module.js b/modules/web-control-center/nodejs/controllers/common-module.js
index e1c5e0a..9644e5c 100644
--- a/modules/web-control-center/nodejs/controllers/common-module.js
+++ b/modules/web-control-center/nodejs/controllers/common-module.js
@@ -106,19 +106,17 @@ controlCenterModule.service('$confirm', function($modal, $rootScope, $q) {
var deferred;
- scope.title = 'Confirmation';
-
scope.ok = function() {
deferred.resolve();
- confirm.hide();
+ confirmModal.hide();
};
- var confirm = $modal({templateUrl: '/confirm', scope: scope, placement: 'center', show: false});
+ var confirmModal = $modal({templateUrl: '/confirm', scope: scope, placement: 'center', show: false});
- var parentShow = confirm.show;
+ var parentShow = confirmModal.show;
- confirm.show = function(content) {
+ confirmModal.show = function(content) {
scope.content = content || 'Confirm deletion?';
deferred = $q.defer();
@@ -128,7 +126,35 @@ controlCenterModule.service('$confirm', function($modal, $rootScope, $q) {
return deferred.promise;
};
- return confirm;
+ return confirmModal;
+});
+
+controlCenterModule.service('$saveAs', function($modal, $rootScope, $q) {
+ var scope = $rootScope.$new();
+
+ var deferred;
+
+ scope.ok = function(newName) {
+ deferred.resolve(newName);
+
+ saveAsModal.hide();
+ };
+
+ var saveAsModal = $modal({templateUrl: '/saveAs', scope: scope, placement: 'center', show: false});
+
+ var parentShow = saveAsModal.show;
+
+ saveAsModal.show = function(oldName) {
+ scope.newName = oldName + '(1)';
+
+ deferred = $q.defer();
+
+ parentShow();
+
+ return deferred.promise;
+ };
+
+ return saveAsModal;
});
controlCenterModule.config(function ($tooltipProvider) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/public/stylesheets/style.css
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/style.css b/modules/web-control-center/nodejs/public/stylesheets/style.css
index a9f3a0e..89d7498 100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.css
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.css
@@ -1 +1 @@
-.main-header .logo{height:auto}.main-sidebar{padding-top:60px}.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{position:absolute;width:100%;left:0;text-align:center}.modal-backdrop.am-fade{opacity:.5;transition:opacity .15s linear}.modal-backdrop.am-fade.ng-enter{opacity:0}.modal-backdrop.am-fade.ng-enter.ng-enter-active{opacity:.5}.modal-backdrop.am-fade.ng-leave{opacity:.5}.modal-backdrop.am-fade.ng-leave.ng-leave-active{opacity:0}.modal.center .modal-dialog{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.border-left{box-shadow:1px 0 0 0 #eee inset}.border-right{box-shadow:1px 0 0 0 #eee}.theme-line{background-color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header a.btn{border:0 none;padding:10px 25px;background-color:rgba(0,0,0,0.15)}.theme-line header a.btn:hover{background-color:rgba(0,0,0,0.25)}.theme-line header a.btn.btn-link{background:transparent;color:rgba(
255,255,255,0.8)}.theme-line header a.btn.btn-link:hover{color:#fff;text-decoration:none}.theme-line .navbar-nav a{background-color:transparent}.theme-line .navbar-nav a:hover,.theme-line .navbar-nav a:active,.theme-line .navbar-nav a:focus{background-color:transparent}.theme-line .main-links{padding-top:50px}.theme-line .main-links h3{margin-top:0;font-size:17px}.theme-line .main-links .links a{color:#888}.theme-line .main-links .links a:hover{text-decoration:none}.theme-line #category-columns,.theme-solid #category-columns{margin:50px 30px 0}.theme-line #category-columns h4{text-transform:uppercase;font-weight:300;color:#999;font-size:14px}.theme-line #category-columns ul{list-style:none;padding:0;margin-bottom:15px}.theme-line #category-columns ul li a{padding:4px 0;display:block;font-size:16px}.theme-line #category-columns ul .view-all{font-size:0.85em}.theme-line .docs-header{color:#999;overflow:hidden}.theme-line .docs-header h1{color:#444;margin-top:0;font-size:22px}.theme-li
ne .btn-primary{border:0 none;background-color:#ec1c24}.theme-line .btn-primary:hover{background-color:#950d12}.theme-line .main-content .nav-horizontal a{box-shadow:0 0;border:0 none;background-color:#fff;border-radius:0;color:#aaa;padding:6px;margin:0 14px}.theme-line .main-content .nav-horizontal a:hover{color:#999;border-bottom:4px solid #ddd}.theme-line .main-content .nav-horizontal a.active{border-bottom:4px solid #888}.theme-line .navbar-nav ul li>a.active,.theme-line .sidebar-nav ul li>a.active{cursor:default;pointer-events:none}.theme-line .sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav ul{padding:0;list-style:none;font-size:14px;margin:3px 0 0}.theme-line .sidebar-nav ul li{color:#666;line-height:28px}.theme-line .sidebar-nav ul li span.fa-stack{margin-right:5px;font-size:12px;height:26px}.theme-line .sidebar-nav ul li a{font-size:18px;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.t
heme-line .sidebar-nav ul li a:hover{text-decoration:none}.theme-line .select li a,.theme-line .typeahead li a{color:#666;background-color:transparent}.theme-line .select li a:hover,.theme-line .typeahead li a:hover{color:#ec1c24;background-color:transparent}.theme-line .select .active,.theme-line .typeahead .active{background-color:#eee}.theme-line .sidebar-nav ul li .subcategory{padding-left:15px}.theme-line .sidebar-nav h4{margin-top:2em;font-weight:normal;text-transform:uppercase;font-size:11px;margin-bottom:10px;color:#bbb}.theme-line .sidebar-nav h4:first-child{margin-top:0}.theme-line .sidebar-nav .ask{width:100%;text-align:center;padding:10px}.theme-line .border-left .sidebar-nav{padding-left:15px}.theme-line .suggest{padding:4px;display:inline-block;font-size:12px}.header{padding:15px}.header .has-github{padding-right:136px}.header h1.navbar-brand{height:40px;width:200px;padding:0;margin:5px 15px 0 0}.header h1.navbar-brand a{text-indent:-99999px;background:no-repeat center
center;display:block;width:100%;height:100%;background-size:contain}.header .nav.navbar-nav.pull-right{position:relative;right:-30px}.header .nav.navbar-nav .not-link{padding:15px;display:inline-block}.header .nav.navbar-nav .stable,.header .nav.navbar-nav .beta,.header .nav.navbar-nav .private{font-size:9px;padding:3px 5px;display:inline-block;line-height:8px;border-radius:3px;margin-left:6px;color:#fff;top:-2px;position:relative;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.header .nav.navbar-nav a:hover>.stable,.header .nav.navbar-nav a:hover>.beta,.header .nav.navbar-nav a:hover>.private{opacity:1;-ms-filter:none;filter:none}.header .nav.navbar-nav .beta{background-color:#59c3d1}.header .nav.navbar-nav .stable{background-color:#41b841}.header .nav.navbar-nav .private{background-color:#333}.theme-line header{border-bottom:8px solid}.theme-line header h2{color:#aaa}.theme-line header p{color:#666}.theme-line header{border-b
ottom-color:#ec1c24}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav a{color:#bbb}.theme-line header a.btn{background-color:#ec1c24}.theme-line header a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line header .navbar-nav a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line .navbar-nav .active a{color:#ec1c24}.theme-line .navbar-nav .active a:hover{color:#950d12}.theme-line .main-links .links a:hover{color:#ec1c24}.theme-line .main-content a{color:#666}.theme-line .main-content a:hover{color:#950d12}.theme-line .sidebar-nav ul li a.active:before{background-color:#ec1c24}.theme-line .sidebar-nav ul li a.active{color:#ec1c24}.theme-line .sidebar-nav ul li a:hover,.theme-line .sidebar-nav ul li a.active:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active{border-color:#ec1c24;color:#ec1c24}.theme-line .main-content .nav-horizontal a:hover{color:#950d12}.theme-line .main-conte
nt .nav-horizontal a.active:hover{border-color:#950d12}.theme-line header .navbar-nav a.active,.theme-line #versions-list li a:hover strong,.theme-line #versions-list li a.active .current,.theme-line #versions-list li a:active .current{color:#ec1c24}.theme-line header .navbar-nav a{font-size:18px}.theme-line.body-threes .section-right .threes-nav .btn-default:hover,.theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover{color:#ec1c24;border-color:#ec1c24}.theme-line .section-right{padding-left:30px}.body-overlap .main-content{margin-top:30px}.body-box .main-content,.body-overlap .main-content{padding:30px;box-shadow:0 0 0 1px rgba(0,0,0,0.1);background-color:#fff}body{font-weight:400;font-family:Roboto Slab, serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Roboto Slab, serif}.submit-vote.submit-vote-parent.voted a.submit-vote-button,.submit-vote.submit-vote-parent a.submit-vote-button:hover{background-color:#ec1c24}div.submit-vote.submit-vote-parent.voted
a.submit-vote-button:hover{background-color:#950d12}a,.link .title{color:#ec1c24}a:hover,.link:hover .title{color:#950d12}.header h1.navbar-brand a{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.header h1.navbar-brand{width:96px}.block-edit-parameters{text-align:right;padding-bottom:5px}.container-footer{margin-top:20px}.modal{display:block;overflow:hidden}.modal .close{position:absolute;top:0.65em;right:0.65em;float:none}.modal-header .close{margin-right:-2px}.modal .modal-dialog{width:610px}.modal .modal-content{border-radius:0;background-color:#f7f7f7}.modal .modal-content .modal-header{background-color:#fff;text-align:center;color:#555;padding:24px;font-family:"myriad-pro",sans-serif}.modal .modal-content .modal-header h4{font-family:"myriad-pro",sans-serif;font-size:22px}.modal .modal-content .modal-header h4 .fa{display:block;font-size:41px;color:#ddd;margin-bottom:5px}.modal .modal-content .modal-header p{color:#aaa;font-size:1em;margin:3px
0 0}.modal .modal-content .modal-spacer{padding:10px 10px 0 10px}.modal .modal-content .modal-footer{margin-top:0}.modal-body{padding-top:15px}h1.ignite-logo{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 290px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:18px;padding-bottom:10px}}.details-row{padding:0 0.65em}.details-row,.settings-row{display:block;margin:0.65em 0}.details-row label.table-header,.settings-row label.table-header{line-height:28px}.details-row [class*="col-"],.settings-row [class*="col-"]{display:inline-block;vertical-align:middle;float:none;padding-left:0 !important;padding-right:0 !important}.details-row input[type="checkbox"],.settings-row input[type="checkbox"]{line-height:20px;margin-right:4px}.details-row .checkbox label,.settings-row .checkbox label{line-height:20px;vertical-align:middle}butt
on{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-height:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.form-control{display:inline-block;text-align:left;padding:3px 3px;height:28px}.form-control button{text-align:left}.table-form-control{width:auto}button .caret{float:right;margin-left:0;margin-top:7px}.theme-line .panel-heading{padding:10px 10px;margin:0}.theme-line .panel-heading h3{margin-bottom:0}.theme-line .panel-heading h3>a{color:black}.theme-line .panel-title a{color:#ec1c24}.theme-line .panel-title h3{margin-bottom:1.3em}.theme-line .panel-body{padding:0.65em 1.3em}.theme-line .main-content a.customize{margin-left:5px;color:#ec1c24}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-details,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:20px}.theme-line .links table td,.theme-line table.links-e
dit td,.theme-line table.links-edit-details td,.theme-line table.links-edit-small-padding td{padding-left:18px}.theme-line .links table .active a,.theme-line table.links-edit .active a,.theme-line table.links-edit-details .active a,.theme-line table.links-edit-small-padding .active a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line table.links-edit a:hover,.theme-line table.links-edit-details a:hover,.theme-line table.links-edit-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-details a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit{margin-bottom:10px}.theme-line table.links-edit label{line-height:28px;color:#666}.theme-line table.links-edit-details{margin-bottom:10px}.theme-line table.links-edit-details label{line-height:28px;color:#666}.theme-line table.links-edit-details td{padding:0}.theme-line table.links-edit-details td .input-tip{padding:0
}.theme-line table.admin{margin-bottom:10px}.theme-line table.admin tr:hover{cursor:default}.theme-line table.admin thead>tr th.header{padding:0 0 0.65em}.theme-line table.admin thead>tr th.header div{padding:0}.theme-line table.admin label{line-height:28px;color:#666}.theme-line table.admin thead>tr th,.theme-line table.admin td{padding:0.65em 0.65em}.theme-line table.admin thead>tr th .input-tip,.theme-line table.admin td .input-tip{padding:0}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:0.65em;padding:0;border-radius:4px;border:thin dotted lightgrey}.tooltip.right .tooltip-arrow{border-right-color:#ec1c24}.tooltip>.tooltip-inner{max-width:400px;text-align:left;background-color:#ec1c24}label{font-weight:normal;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.input-tip{display:block;overflow:hidden}.labelField{float:left;margin-right:4px}.labelFormField{float:left;line-height:28px}.form-horizontal .form-group{margin:0}.form-horizontal .has-fe
edback .form-control-feedback{right:0}.tipField{float:right;line-height:28px;margin-left:5px}.tipLabel{font-size:14px;margin-left:5px}.fieldButton{float:right;margin-left:5px;margin-right:0}.fa-remove{color:#ec1c24;cursor:pointer}label.required:after{color:#ec1c24;content:' *';display:inline}.blank{visibility:hidden}.alert{outline:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{right:0;left:0}.alert.top-right{right:0}.alert.top-right .close{padding-left:10px}.alert.top-left{left:0}.alert.top-left .close{padding-right:10px}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{right:0;left:0}.alert.bottom-right{right:0}.alert.bottom-right .close{padding-left:10px}.alert.bottom-left{left:0}.alert.bottom-left .close{padding-right:10px}#cfgResult textarea{font-family:monospace;font-size:12px}input[type="number"]::
-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input.ng-dirty.ng-invalid,button.ng-dirty.ng-invalid{border-color:#ec1c24}input.ng-dirty.ng-invalid :focus,button.ng-dirty.ng-invalid :focus{border-color:#ec1c24}.form-control-feedback{display:inline-block;color:#ec1c24;right:18px;line-height:28px;pointer-events:initial}.syntaxhighlighter{padding:10px 5px;border-radius:6px}.theme-line table.links-edit-small-padding{margin-top:10px}.theme-line table.links-edit-small-padding label{line-height:28px;color:#666}.theme-line table.links-edit-small-padding a{line-height:28px}.theme-line table.links-edit-small-padding input[type="checkbox"]{line-height:20px;margin-right:5px}.theme-line table.links-edit-small-padding .checkbox label{line-height:20px;vertical-align:middle}.theme-line table.links-edit-small-padding th{text-align:center}.theme-line table.links-edit-small-padding td{padding-left
:10px}.configBox .nav>li>a{padding:5px 5px}.viewedUser{position:absolute;width:100%;left:0;text-align:center;margin-top:-15px;background-color:#f8d5d8}a{cursor:pointer}.st-sort-ascent:after{content:'\25B2'}.st-sort-descent:after{content:'\25BC'}.block-callout{background-color:#f3f8f3;border-left-width:4px;border-left-style:solid;border-color:#50af51;margin-bottom:20px}.block-callout p{padding:10px 0 10px 10px}
\ No newline at end of file
+.main-header .logo{height:auto}.main-sidebar{padding-top:60px}.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{position:absolute;width:100%;left:0;text-align:center}.modal-backdrop.am-fade{opacity:.5;transition:opacity .15s linear}.modal-backdrop.am-fade.ng-enter{opacity:0}.modal-backdrop.am-fade.ng-enter.ng-enter-active{opacity:.5}.modal-backdrop.am-fade.ng-leave{opacity:.5}.modal-backdrop.am-fade.ng-leave.ng-leave-active{opacity:0}.modal.center .modal-dialog{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.border-left{box-shadow:1px 0 0 0 #eee inset}.border-right{box-shadow:1px 0 0 0 #eee}.theme-line{background-color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header a.btn{border:0 none;padding:10px 25px;background-color:rgba(0,0,0,0.15)}.theme-line header a.btn:hover{background-color:rgba(0,0,0,0.25)}.theme-line header a.btn.btn-link{background:transparent;color:rgba(
255,255,255,0.8)}.theme-line header a.btn.btn-link:hover{color:#fff;text-decoration:none}.theme-line .navbar-nav a{background-color:transparent}.theme-line .navbar-nav a:hover,.theme-line .navbar-nav a:active,.theme-line .navbar-nav a:focus{background-color:transparent}.theme-line .main-links{padding-top:50px}.theme-line .main-links h3{margin-top:0;font-size:17px}.theme-line .main-links .links a{color:#888}.theme-line .main-links .links a:hover{text-decoration:none}.theme-line #category-columns,.theme-solid #category-columns{margin:50px 30px 0}.theme-line #category-columns h4{text-transform:uppercase;font-weight:300;color:#999;font-size:14px}.theme-line #category-columns ul{list-style:none;padding:0;margin-bottom:15px}.theme-line #category-columns ul li a{padding:4px 0;display:block;font-size:16px}.theme-line #category-columns ul .view-all{font-size:0.85em}.theme-line .docs-header{color:#999;overflow:hidden}.theme-line .docs-header h1{color:#444;margin-top:0;font-size:22px}.theme-li
ne .btn-primary{border:0 none;background-color:#ec1c24}.theme-line .btn-primary:hover{background-color:#950d12}.theme-line .main-content .nav-horizontal a{box-shadow:0 0;border:0 none;background-color:#fff;border-radius:0;color:#aaa;padding:6px;margin:0 14px}.theme-line .main-content .nav-horizontal a:hover{color:#999;border-bottom:4px solid #ddd}.theme-line .main-content .nav-horizontal a.active{border-bottom:4px solid #888}.theme-line .navbar-nav ul li>a.active,.theme-line .sidebar-nav ul li>a.active{cursor:default;pointer-events:none}.theme-line .sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav ul{padding:0;list-style:none;font-size:14px;margin:3px 0 0}.theme-line .sidebar-nav ul li{color:#666;line-height:28px}.theme-line .sidebar-nav ul li span.fa-stack{margin-right:5px;font-size:12px;height:26px}.theme-line .sidebar-nav ul li a{font-size:18px;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.t
heme-line .sidebar-nav ul li a:hover{text-decoration:none}.theme-line .select li a,.theme-line .typeahead li a{color:#666;background-color:transparent}.theme-line .select li a:hover,.theme-line .typeahead li a:hover{color:#ec1c24;background-color:transparent}.theme-line .select .active,.theme-line .typeahead .active{background-color:#eee}.theme-line .sidebar-nav ul li .subcategory{padding-left:15px}.theme-line .sidebar-nav h4{margin-top:2em;font-weight:normal;text-transform:uppercase;font-size:11px;margin-bottom:10px;color:#bbb}.theme-line .sidebar-nav h4:first-child{margin-top:0}.theme-line .sidebar-nav .ask{width:100%;text-align:center;padding:10px}.theme-line .border-left .sidebar-nav{padding-left:15px}.theme-line .suggest{padding:4px;display:inline-block;font-size:12px}.header{padding:15px}.header .has-github{padding-right:136px}.header h1.navbar-brand{height:40px;width:200px;padding:0;margin:5px 15px 0 0}.header h1.navbar-brand a{text-indent:-99999px;background:no-repeat center
center;display:block;width:100%;height:100%;background-size:contain}.header .nav.navbar-nav.pull-right{position:relative;right:-30px}.header .nav.navbar-nav .not-link{padding:15px;display:inline-block}.header .nav.navbar-nav .stable,.header .nav.navbar-nav .beta,.header .nav.navbar-nav .private{font-size:9px;padding:3px 5px;display:inline-block;line-height:8px;border-radius:3px;margin-left:6px;color:#fff;top:-2px;position:relative;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.header .nav.navbar-nav a:hover>.stable,.header .nav.navbar-nav a:hover>.beta,.header .nav.navbar-nav a:hover>.private{opacity:1;-ms-filter:none;filter:none}.header .nav.navbar-nav .beta{background-color:#59c3d1}.header .nav.navbar-nav .stable{background-color:#41b841}.header .nav.navbar-nav .private{background-color:#333}.theme-line header{border-bottom:8px solid}.theme-line header h2{color:#aaa}.theme-line header p{color:#666}.theme-line header{border-b
ottom-color:#ec1c24}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav a{color:#bbb}.theme-line header a.btn{background-color:#ec1c24}.theme-line header a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line header .navbar-nav a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line .navbar-nav .active a{color:#ec1c24}.theme-line .navbar-nav .active a:hover{color:#950d12}.theme-line .main-links .links a:hover{color:#ec1c24}.theme-line .main-content a{color:#666}.theme-line .main-content a:hover{color:#950d12}.theme-line .sidebar-nav ul li a.active:before{background-color:#ec1c24}.theme-line .sidebar-nav ul li a.active{color:#ec1c24}.theme-line .sidebar-nav ul li a:hover,.theme-line .sidebar-nav ul li a.active:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active{border-color:#ec1c24;color:#ec1c24}.theme-line .main-content .nav-horizontal a:hover{color:#950d12}.theme-line .main-conte
nt .nav-horizontal a.active:hover{border-color:#950d12}.theme-line header .navbar-nav a.active,.theme-line #versions-list li a:hover strong,.theme-line #versions-list li a.active .current,.theme-line #versions-list li a:active .current{color:#ec1c24}.theme-line header .navbar-nav a{font-size:18px}.theme-line.body-threes .section-right .threes-nav .btn-default:hover,.theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover{color:#ec1c24;border-color:#ec1c24}.theme-line .section-right{padding-left:30px}.body-overlap .main-content{margin-top:30px}.body-box .main-content,.body-overlap .main-content{padding:30px;box-shadow:0 0 0 1px rgba(0,0,0,0.1);background-color:#fff}body{font-weight:400;font-family:Roboto Slab, serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Roboto Slab, serif}.submit-vote.submit-vote-parent.voted a.submit-vote-button,.submit-vote.submit-vote-parent a.submit-vote-button:hover{background-color:#ec1c24}div.submit-vote.submit-vote-parent.voted
a.submit-vote-button:hover{background-color:#950d12}a,.link .title{color:#ec1c24}a:hover,.link:hover .title{color:#950d12}.header h1.navbar-brand a{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.header h1.navbar-brand{width:96px}.block-edit-parameters{text-align:right;padding-bottom:5px}.container-footer{margin-top:20px}.modal{display:block;overflow:hidden}.modal .close{position:absolute;top:0.65em;right:0.65em;float:none}.modal-header .close{margin-right:-2px}.modal .modal-dialog{width:610px}.modal .modal-content{border-radius:0;background-color:#f7f7f7}.modal .modal-content .modal-header{background-color:#fff;text-align:center;color:#555;padding:15px;font-family:"myriad-pro",sans-serif}.modal .modal-content .modal-header h4{font-family:"myriad-pro",sans-serif;font-size:22px}.modal .modal-content .modal-header h4 .fa{display:block;font-size:41px;color:#ddd;margin-bottom:5px}.modal .modal-content .modal-header p{color:#aaa;font-size:1em;margin:3px
0 0}.modal .modal-content .modal-spacer{padding:10px 10px 0 10px}.modal .modal-content .modal-footer{margin-top:0}.modal-body{padding-top:15px}h1.ignite-logo{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 290px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:18px;padding-bottom:10px}}.details-row{padding:0 0.65em}.details-row,.settings-row{display:block;margin:0.65em 0}.details-row label.table-header,.settings-row label.table-header{line-height:28px}.details-row [class*="col-"],.settings-row [class*="col-"]{display:inline-block;vertical-align:middle;float:none;padding-left:0 !important;padding-right:0 !important}.details-row input[type="checkbox"],.settings-row input[type="checkbox"]{line-height:20px;margin-right:4px}.details-row .checkbox label,.settings-row .checkbox label{line-height:20px;vertical-align:middle}butt
on{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-height:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.form-control{display:inline-block;text-align:left;padding:3px 3px;height:28px}.form-control button{text-align:left}.table-form-control{width:auto}button .caret{float:right;margin-left:0;margin-top:7px}.theme-line .panel-heading{padding:10px 10px;margin:0}.theme-line .panel-heading h3{margin-bottom:0}.theme-line .panel-heading h3>a{color:black}.theme-line .panel-title a{color:#ec1c24}.theme-line .panel-title h3{margin-bottom:1.3em}.theme-line .panel-body{padding:0.65em 1.3em}.theme-line .main-content a.customize{margin-left:5px;color:#ec1c24}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-details,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:20px}.theme-line .links table td,.theme-line table.links-e
dit td,.theme-line table.links-edit-details td,.theme-line table.links-edit-small-padding td{padding-left:18px}.theme-line .links table .active a,.theme-line table.links-edit .active a,.theme-line table.links-edit-details .active a,.theme-line table.links-edit-small-padding .active a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line table.links-edit a:hover,.theme-line table.links-edit-details a:hover,.theme-line table.links-edit-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-details a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit{margin-bottom:10px}.theme-line table.links-edit label{line-height:28px;color:#666}.theme-line table.links-edit-details{margin-bottom:10px}.theme-line table.links-edit-details label{line-height:28px;color:#666}.theme-line table.links-edit-details td{padding:0}.theme-line table.links-edit-details td .input-tip{padding:0
}.theme-line table.admin{margin-bottom:10px}.theme-line table.admin tr:hover{cursor:default}.theme-line table.admin thead>tr th.header{padding:0 0 0.65em}.theme-line table.admin thead>tr th.header div{padding:0}.theme-line table.admin label{line-height:28px;color:#666}.theme-line table.admin thead>tr th,.theme-line table.admin td{padding:0.65em 0.65em}.theme-line table.admin thead>tr th .input-tip,.theme-line table.admin td .input-tip{padding:0}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:0.65em;padding:0;border-radius:4px;border:thin dotted lightgrey}.tooltip.right .tooltip-arrow{border-right-color:#ec1c24}.tooltip>.tooltip-inner{max-width:400px;text-align:left;background-color:#ec1c24}label{font-weight:normal;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.input-tip{display:block;overflow:hidden}.labelField{float:left;margin-right:4px}.labelFormField{float:left;line-height:28px}.form-horizontal .form-group{margin:0}.form-horizontal .has-fe
edback .form-control-feedback{right:0}.tipField{float:right;line-height:28px;margin-left:5px}.tipLabel{font-size:14px;margin-left:5px}.fieldButton{float:right;margin-left:5px;margin-right:0}.fa-remove{color:#ec1c24;cursor:pointer}label.required:after{color:#ec1c24;content:' *';display:inline}.blank{visibility:hidden}.alert{outline:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{right:0;left:0}.alert.top-right{right:0}.alert.top-right .close{padding-left:10px}.alert.top-left{left:0}.alert.top-left .close{padding-right:10px}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{right:0;left:0}.alert.bottom-right{right:0}.alert.bottom-right .close{padding-left:10px}.alert.bottom-left{left:0}.alert.bottom-left .close{padding-right:10px}#cfgResult textarea{font-family:monospace;font-size:12px}input[type="number"]::
-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input.ng-dirty.ng-invalid,button.ng-dirty.ng-invalid{border-color:#ec1c24}input.ng-dirty.ng-invalid :focus,button.ng-dirty.ng-invalid :focus{border-color:#ec1c24}.form-control-feedback{display:inline-block;color:#ec1c24;right:18px;line-height:28px;pointer-events:initial}.syntaxhighlighter{padding:10px 5px;border-radius:6px}.theme-line table.links-edit-small-padding{margin-top:10px}.theme-line table.links-edit-small-padding label{line-height:28px;color:#666}.theme-line table.links-edit-small-padding a{line-height:28px}.theme-line table.links-edit-small-padding input[type="checkbox"]{line-height:20px;margin-right:5px}.theme-line table.links-edit-small-padding .checkbox label{line-height:20px;vertical-align:middle}.theme-line table.links-edit-small-padding th{text-align:center}.theme-line table.links-edit-small-padding td{padding-left
:10px}.configBox .nav>li>a{padding:5px 5px}.viewedUser{position:absolute;width:100%;left:0;text-align:center;margin-top:-15px;background-color:#f8d5d8}a{cursor:pointer}.st-sort-ascent:after{content:'\25B2'}.st-sort-descent:after{content:'\25BC'}.block-callout{background-color:#f3f8f3;border-left-width:4px;border-left-style:solid;border-color:#50af51;margin-bottom:20px}.block-callout p{padding:10px 0 10px 10px}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/style.less b/modules/web-control-center/nodejs/public/stylesheets/style.less
index 9da4e57..f81e92c 100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.less
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.less
@@ -544,7 +544,7 @@ a:hover, .link:hover .title {
background-color: #fff;
text-align: center;
color: #555;
- padding: 24px;
+ padding: 15px;
font-family: "myriad-pro", sans-serif;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/routes/public.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/public.js b/modules/web-control-center/nodejs/routes/public.js
index fd25aed..fd7c759 100644
--- a/modules/web-control-center/nodejs/routes/public.js
+++ b/modules/web-control-center/nodejs/routes/public.js
@@ -24,11 +24,16 @@ router.get('/select', function (req, res) {
res.render('templates/select', {});
});
-// GET dropdown-menu template.
+// GET confirmation dialog.
router.get('/confirm', function (req, res) {
res.render('templates/confirm', {});
});
+// GET save as dialog.
+router.get('/saveAs', function (req, res) {
+ res.render('templates/saveAs', {});
+});
+
/* GET login page. */
router.get('/login', function (req, res) {
res.render('login');
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/routes/summary.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/summary.js b/modules/web-control-center/nodejs/routes/summary.js
index 1cb36c0..144184f 100644
--- a/modules/web-control-center/nodejs/routes/summary.js
+++ b/modules/web-control-center/nodejs/routes/summary.js
@@ -67,21 +67,19 @@ router.post('/download', function (req, res) {
var archiver = require('archiver');
- // creating archives
+ // Creating archive.
var zip = archiver('zip');
zip.on('error', function (err) {
res.status(500).send({error: err.message});
});
- //on stream closed we can end the request
+ // On stream closed we can end the request.
res.on('close', function () {
- console.log('Archive wrote %d bytes', archive.pointer());
-
return res.status(200).send('OK').end();
});
- //set the archive name
+ // Set the archive name.
res.attachment(cluster.name + (clientCache ? '-client' : '') + '-configuration.zip');
var generatorCommon = require('./generator/common');
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/views/configuration/caches.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/caches.jade b/modules/web-control-center/nodejs/views/configuration/caches.jade
index 678ad7b..8f0fc68 100644
--- a/modules/web-control-center/nodejs/views/configuration/caches.jade
+++ b/modules/web-control-center/nodejs/views/configuration/caches.jade
@@ -65,5 +65,6 @@ block content
.panel-title
h3
a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
- button#save-btn.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
+ button.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
+ button.btn.btn-primary(ng-show='backupItem._id' ng-disabled='inputForm.$invalid' ng-click='saveItemAs()') Save As
button.btn.btn-primary.btn-second(ng-show='backupItem._id' ng-click='removeItem()') Remove
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/clusters.jade b/modules/web-control-center/nodejs/views/configuration/clusters.jade
index f5915f1..98d3e17 100644
--- a/modules/web-control-center/nodejs/views/configuration/clusters.jade
+++ b/modules/web-control-center/nodejs/views/configuration/clusters.jade
@@ -68,5 +68,6 @@ block content
.panel-title
h3
a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
- button#save-btn.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
+ button.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
+ button.btn.btn-primary(ng-show='backupItem._id' ng-disabled='inputForm.$invalid' ng-click='saveItemAs()') Save As
button.btn.btn-primary(ng-show='backupItem._id' ng-click='removeItem()') Remove
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/views/configuration/metadata.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/metadata.jade b/modules/web-control-center/nodejs/views/configuration/metadata.jade
index 1e4c986..fd5ab03 100644
--- a/modules/web-control-center/nodejs/views/configuration/metadata.jade
+++ b/modules/web-control-center/nodejs/views/configuration/metadata.jade
@@ -50,7 +50,7 @@ block content
.panel-body
.settings-row(ng-repeat='field in metadataManual')
+form-row
- button#save-btn.btn.btn-primary(ng-disabled='manualForm.$invalid' ng-click='saveItem()') Save
+ button.btn.btn-primary(ng-disabled='manualForm.$invalid' ng-click='saveItem()') Save
button.btn.btn-primary.btn-second(ng-show='backupItem._id' ng-click='removeItem()') Remove
.panel.panel-default
.panel-heading
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/includes/controls.jade b/modules/web-control-center/nodejs/views/includes/controls.jade
index 406d63e..eba1b81 100644
--- a/modules/web-control-center/nodejs/views/includes/controls.jade
+++ b/modules/web-control-center/nodejs/views/includes/controls.jade
@@ -107,7 +107,7 @@ mixin form-row-custom(lblClasses, fieldClasses)
label {{field.label}}
div.checkbox.col-sm-6(ng-switch-when='check' ng-hide=fieldHide)
label
- input(type='checkbox' ng-checked='field.placeholder')&attributes(fieldCommon)
+ input(type='checkbox')&attributes(fieldCommon)
| {{field.label}}
+tipLabel('field.tip')
div(ng-switch-when='text' ng-hide=fieldHide)
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/views/settings/profile.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/settings/profile.jade b/modules/web-control-center/nodejs/views/settings/profile.jade
index 14a8bb5..21820ab 100644
--- a/modules/web-control-center/nodejs/views/settings/profile.jade
+++ b/modules/web-control-center/nodejs/views/settings/profile.jade
@@ -54,5 +54,5 @@ block container
.col-sm-4
input.form-control(type='password', ng-model='profileUser.confirmPassword' match='profileUser.newPassword' placeholder='Confirm new password' ng-required='profileUser.changePassword')
.col-sm-12.details-row
- button#save-btn.btn.btn-primary(ng-disabled='profileForm.$invalid' ng-click='saveUser()') Save
+ button.btn.btn-primary(ng-disabled='profileForm.$invalid' ng-click='saveUser()') Save
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/views/templates/confirm.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/templates/confirm.jade b/modules/web-control-center/nodejs/views/templates/confirm.jade
index 7b338ad..bdaf9bf 100644
--- a/modules/web-control-center/nodejs/views/templates/confirm.jade
+++ b/modules/web-control-center/nodejs/views/templates/confirm.jade
@@ -17,9 +17,9 @@
.modal(tabindex='-1' role='dialog')
.modal-dialog
.modal-content
- .modal-header(ng-show='title')
+ .modal-header
button.close(type="button" ng-click="$hide()") ×
- h4.modal-title(ng-bind-html='title')
+ h4.modal-title Confirmation
.modal-body(ng-show='content')
p(ng-bind-html='content' style='text-align: center;')
.modal-footer
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f2d07d54/modules/web-control-center/nodejs/views/templates/saveAs.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/templates/saveAs.jade b/modules/web-control-center/nodejs/views/templates/saveAs.jade
new file mode 100644
index 0000000..83f93bd
--- /dev/null
+++ b/modules/web-control-center/nodejs/views/templates/saveAs.jade
@@ -0,0 +1,31 @@
+//-
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+.modal(tabindex='-1' role='dialog')
+ .modal-dialog
+ .modal-content
+ .modal-header
+ button.close(type="button" ng-click="$hide()") ×
+ h4.modal-title Save as
+ form.form-horizontal(name='inputForm' novalidate)
+ .modal-body.row
+ .col-sm-9.login.col-sm-offset-1
+ label.required.labelFormField() New name:
+ .col-sm-9
+ input.form-control(type="text" ng-model='newName' required)
+ .modal-footer
+ button.btn.btn-default(type="button" ng-click="$hide()") Cancel
+ button.btn.btn-primary(type="button" ng-disabled='inputForm.$invalid' ng-click="ok(newName)") Confirm
\ No newline at end of file
[12/12] incubator-ignite git commit: # ignite-1121 Fixed header.
Posted by an...@apache.org.
# ignite-1121 Fixed header.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/386c223f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/386c223f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/386c223f
Branch: refs/heads/ignite-1121
Commit: 386c223f586998e16e38685a76aa05b18af905e1
Parents: e4b80ca
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 15:14:57 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 15:14:57 2015 +0700
----------------------------------------------------------------------
.../java/org/apache/ignite/agent/messages/AbstractMessage.java | 4 +++-
.../main/java/org/apache/ignite/agent/messages/AuthMessage.java | 4 +++-
.../main/java/org/apache/ignite/agent/messages/AuthResult.java | 4 +++-
.../java/org/apache/ignite/agent/messages/MessageFactory.java | 4 +++-
.../main/java/org/apache/ignite/agent/messages/RestRequest.java | 4 +++-
.../main/java/org/apache/ignite/agent/messages/RestResult.java | 4 +++-
6 files changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/386c223f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AbstractMessage.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AbstractMessage.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AbstractMessage.java
index ec9acc7..e289272 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AbstractMessage.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AbstractMessage.java
@@ -1,4 +1,4 @@
-package org.apache.ignite.agent.messages;/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,6 +15,8 @@ package org.apache.ignite.agent.messages;/*
* limitations under the License.
*/
+package org.apache.ignite.agent.messages;
+
/**
*
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/386c223f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthMessage.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthMessage.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthMessage.java
index 336107f..2cb3945 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthMessage.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthMessage.java
@@ -1,4 +1,4 @@
-package org.apache.ignite.agent.messages;/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,6 +15,8 @@ package org.apache.ignite.agent.messages;/*
* limitations under the License.
*/
+package org.apache.ignite.agent.messages;
+
/**
*
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/386c223f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthResult.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthResult.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthResult.java
index f183328..85871ac 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthResult.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/AuthResult.java
@@ -1,4 +1,4 @@
-package org.apache.ignite.agent.messages;/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,6 +15,8 @@ package org.apache.ignite.agent.messages;/*
* limitations under the License.
*/
+package org.apache.ignite.agent.messages;
+
/**
*
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/386c223f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/MessageFactory.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/MessageFactory.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/MessageFactory.java
index c93fff1..d6cc0b9 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/MessageFactory.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/MessageFactory.java
@@ -1,4 +1,4 @@
-package org.apache.ignite.agent.messages;/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,6 +15,8 @@ package org.apache.ignite.agent.messages;/*
* limitations under the License.
*/
+package org.apache.ignite.agent.messages;
+
import com.google.gson.*;
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/386c223f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestRequest.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestRequest.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestRequest.java
index cad5808..e2517b6 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestRequest.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestRequest.java
@@ -1,4 +1,4 @@
-package org.apache.ignite.agent.messages;/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,6 +15,8 @@ package org.apache.ignite.agent.messages;/*
* limitations under the License.
*/
+package org.apache.ignite.agent.messages;
+
import java.util.*;
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/386c223f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestResult.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestResult.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestResult.java
index d337384..5da5f18 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestResult.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/messages/RestResult.java
@@ -1,4 +1,4 @@
-package org.apache.ignite.agent.messages;/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,6 +15,8 @@ package org.apache.ignite.agent.messages;/*
* limitations under the License.
*/
+package org.apache.ignite.agent.messages;
+
/**
*
*/
[05/12] incubator-ignite git commit: # ignite-843 Minor fix.
Posted by an...@apache.org.
# ignite-843 Minor fix.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6195da3b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6195da3b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6195da3b
Branch: refs/heads/ignite-1121
Commit: 6195da3bf84290de579de4d7e35793a674a651e4
Parents: 9c463cc
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 10:24:29 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 10:24:29 2015 +0700
----------------------------------------------------------------------
.../nodejs/controllers/common-module.js | 3 ++-
.../nodejs/public/stylesheets/style.css | 2 +-
.../nodejs/public/stylesheets/style.less | 27 +++++++++++---------
.../nodejs/views/configuration/clusters.jade | 2 +-
4 files changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6195da3b/modules/web-control-center/nodejs/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/common-module.js b/modules/web-control-center/nodejs/controllers/common-module.js
index 9644e5c..5e1a6c1 100644
--- a/modules/web-control-center/nodejs/controllers/common-module.js
+++ b/modules/web-control-center/nodejs/controllers/common-module.js
@@ -172,7 +172,8 @@ controlCenterModule.config(function ($selectProvider) {
allText: 'Select All',
noneText: 'Clear All',
templateUrl: '/select',
- iconCheckmark: 'fa fa-check'
+ iconCheckmark: 'fa fa-check',
+ caretHtml: '<span class="caret"></span>'
});
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6195da3b/modules/web-control-center/nodejs/public/stylesheets/style.css
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/style.css b/modules/web-control-center/nodejs/public/stylesheets/style.css
index 89d7498..f51a25b 100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.css
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.css
@@ -1 +1 @@
-.main-header .logo{height:auto}.main-sidebar{padding-top:60px}.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{position:absolute;width:100%;left:0;text-align:center}.modal-backdrop.am-fade{opacity:.5;transition:opacity .15s linear}.modal-backdrop.am-fade.ng-enter{opacity:0}.modal-backdrop.am-fade.ng-enter.ng-enter-active{opacity:.5}.modal-backdrop.am-fade.ng-leave{opacity:.5}.modal-backdrop.am-fade.ng-leave.ng-leave-active{opacity:0}.modal.center .modal-dialog{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.border-left{box-shadow:1px 0 0 0 #eee inset}.border-right{box-shadow:1px 0 0 0 #eee}.theme-line{background-color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header a.btn{border:0 none;padding:10px 25px;background-color:rgba(0,0,0,0.15)}.theme-line header a.btn:hover{background-color:rgba(0,0,0,0.25)}.theme-line header a.btn.btn-link{background:transparent;color:rgba(
255,255,255,0.8)}.theme-line header a.btn.btn-link:hover{color:#fff;text-decoration:none}.theme-line .navbar-nav a{background-color:transparent}.theme-line .navbar-nav a:hover,.theme-line .navbar-nav a:active,.theme-line .navbar-nav a:focus{background-color:transparent}.theme-line .main-links{padding-top:50px}.theme-line .main-links h3{margin-top:0;font-size:17px}.theme-line .main-links .links a{color:#888}.theme-line .main-links .links a:hover{text-decoration:none}.theme-line #category-columns,.theme-solid #category-columns{margin:50px 30px 0}.theme-line #category-columns h4{text-transform:uppercase;font-weight:300;color:#999;font-size:14px}.theme-line #category-columns ul{list-style:none;padding:0;margin-bottom:15px}.theme-line #category-columns ul li a{padding:4px 0;display:block;font-size:16px}.theme-line #category-columns ul .view-all{font-size:0.85em}.theme-line .docs-header{color:#999;overflow:hidden}.theme-line .docs-header h1{color:#444;margin-top:0;font-size:22px}.theme-li
ne .btn-primary{border:0 none;background-color:#ec1c24}.theme-line .btn-primary:hover{background-color:#950d12}.theme-line .main-content .nav-horizontal a{box-shadow:0 0;border:0 none;background-color:#fff;border-radius:0;color:#aaa;padding:6px;margin:0 14px}.theme-line .main-content .nav-horizontal a:hover{color:#999;border-bottom:4px solid #ddd}.theme-line .main-content .nav-horizontal a.active{border-bottom:4px solid #888}.theme-line .navbar-nav ul li>a.active,.theme-line .sidebar-nav ul li>a.active{cursor:default;pointer-events:none}.theme-line .sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav ul{padding:0;list-style:none;font-size:14px;margin:3px 0 0}.theme-line .sidebar-nav ul li{color:#666;line-height:28px}.theme-line .sidebar-nav ul li span.fa-stack{margin-right:5px;font-size:12px;height:26px}.theme-line .sidebar-nav ul li a{font-size:18px;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.t
heme-line .sidebar-nav ul li a:hover{text-decoration:none}.theme-line .select li a,.theme-line .typeahead li a{color:#666;background-color:transparent}.theme-line .select li a:hover,.theme-line .typeahead li a:hover{color:#ec1c24;background-color:transparent}.theme-line .select .active,.theme-line .typeahead .active{background-color:#eee}.theme-line .sidebar-nav ul li .subcategory{padding-left:15px}.theme-line .sidebar-nav h4{margin-top:2em;font-weight:normal;text-transform:uppercase;font-size:11px;margin-bottom:10px;color:#bbb}.theme-line .sidebar-nav h4:first-child{margin-top:0}.theme-line .sidebar-nav .ask{width:100%;text-align:center;padding:10px}.theme-line .border-left .sidebar-nav{padding-left:15px}.theme-line .suggest{padding:4px;display:inline-block;font-size:12px}.header{padding:15px}.header .has-github{padding-right:136px}.header h1.navbar-brand{height:40px;width:200px;padding:0;margin:5px 15px 0 0}.header h1.navbar-brand a{text-indent:-99999px;background:no-repeat center
center;display:block;width:100%;height:100%;background-size:contain}.header .nav.navbar-nav.pull-right{position:relative;right:-30px}.header .nav.navbar-nav .not-link{padding:15px;display:inline-block}.header .nav.navbar-nav .stable,.header .nav.navbar-nav .beta,.header .nav.navbar-nav .private{font-size:9px;padding:3px 5px;display:inline-block;line-height:8px;border-radius:3px;margin-left:6px;color:#fff;top:-2px;position:relative;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.header .nav.navbar-nav a:hover>.stable,.header .nav.navbar-nav a:hover>.beta,.header .nav.navbar-nav a:hover>.private{opacity:1;-ms-filter:none;filter:none}.header .nav.navbar-nav .beta{background-color:#59c3d1}.header .nav.navbar-nav .stable{background-color:#41b841}.header .nav.navbar-nav .private{background-color:#333}.theme-line header{border-bottom:8px solid}.theme-line header h2{color:#aaa}.theme-line header p{color:#666}.theme-line header{border-b
ottom-color:#ec1c24}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav a{color:#bbb}.theme-line header a.btn{background-color:#ec1c24}.theme-line header a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line header .navbar-nav a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line .navbar-nav .active a{color:#ec1c24}.theme-line .navbar-nav .active a:hover{color:#950d12}.theme-line .main-links .links a:hover{color:#ec1c24}.theme-line .main-content a{color:#666}.theme-line .main-content a:hover{color:#950d12}.theme-line .sidebar-nav ul li a.active:before{background-color:#ec1c24}.theme-line .sidebar-nav ul li a.active{color:#ec1c24}.theme-line .sidebar-nav ul li a:hover,.theme-line .sidebar-nav ul li a.active:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active{border-color:#ec1c24;color:#ec1c24}.theme-line .main-content .nav-horizontal a:hover{color:#950d12}.theme-line .main-conte
nt .nav-horizontal a.active:hover{border-color:#950d12}.theme-line header .navbar-nav a.active,.theme-line #versions-list li a:hover strong,.theme-line #versions-list li a.active .current,.theme-line #versions-list li a:active .current{color:#ec1c24}.theme-line header .navbar-nav a{font-size:18px}.theme-line.body-threes .section-right .threes-nav .btn-default:hover,.theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover{color:#ec1c24;border-color:#ec1c24}.theme-line .section-right{padding-left:30px}.body-overlap .main-content{margin-top:30px}.body-box .main-content,.body-overlap .main-content{padding:30px;box-shadow:0 0 0 1px rgba(0,0,0,0.1);background-color:#fff}body{font-weight:400;font-family:Roboto Slab, serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Roboto Slab, serif}.submit-vote.submit-vote-parent.voted a.submit-vote-button,.submit-vote.submit-vote-parent a.submit-vote-button:hover{background-color:#ec1c24}div.submit-vote.submit-vote-parent.voted
a.submit-vote-button:hover{background-color:#950d12}a,.link .title{color:#ec1c24}a:hover,.link:hover .title{color:#950d12}.header h1.navbar-brand a{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.header h1.navbar-brand{width:96px}.block-edit-parameters{text-align:right;padding-bottom:5px}.container-footer{margin-top:20px}.modal{display:block;overflow:hidden}.modal .close{position:absolute;top:0.65em;right:0.65em;float:none}.modal-header .close{margin-right:-2px}.modal .modal-dialog{width:610px}.modal .modal-content{border-radius:0;background-color:#f7f7f7}.modal .modal-content .modal-header{background-color:#fff;text-align:center;color:#555;padding:15px;font-family:"myriad-pro",sans-serif}.modal .modal-content .modal-header h4{font-family:"myriad-pro",sans-serif;font-size:22px}.modal .modal-content .modal-header h4 .fa{display:block;font-size:41px;color:#ddd;margin-bottom:5px}.modal .modal-content .modal-header p{color:#aaa;font-size:1em;margin:3px
0 0}.modal .modal-content .modal-spacer{padding:10px 10px 0 10px}.modal .modal-content .modal-footer{margin-top:0}.modal-body{padding-top:15px}h1.ignite-logo{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 290px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:18px;padding-bottom:10px}}.details-row{padding:0 0.65em}.details-row,.settings-row{display:block;margin:0.65em 0}.details-row label.table-header,.settings-row label.table-header{line-height:28px}.details-row [class*="col-"],.settings-row [class*="col-"]{display:inline-block;vertical-align:middle;float:none;padding-left:0 !important;padding-right:0 !important}.details-row input[type="checkbox"],.settings-row input[type="checkbox"]{line-height:20px;margin-right:4px}.details-row .checkbox label,.settings-row .checkbox label{line-height:20px;vertical-align:middle}butt
on{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-height:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.form-control{display:inline-block;text-align:left;padding:3px 3px;height:28px}.form-control button{text-align:left}.table-form-control{width:auto}button .caret{float:right;margin-left:0;margin-top:7px}.theme-line .panel-heading{padding:10px 10px;margin:0}.theme-line .panel-heading h3{margin-bottom:0}.theme-line .panel-heading h3>a{color:black}.theme-line .panel-title a{color:#ec1c24}.theme-line .panel-title h3{margin-bottom:1.3em}.theme-line .panel-body{padding:0.65em 1.3em}.theme-line .main-content a.customize{margin-left:5px;color:#ec1c24}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-details,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:20px}.theme-line .links table td,.theme-line table.links-e
dit td,.theme-line table.links-edit-details td,.theme-line table.links-edit-small-padding td{padding-left:18px}.theme-line .links table .active a,.theme-line table.links-edit .active a,.theme-line table.links-edit-details .active a,.theme-line table.links-edit-small-padding .active a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line table.links-edit a:hover,.theme-line table.links-edit-details a:hover,.theme-line table.links-edit-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-details a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit{margin-bottom:10px}.theme-line table.links-edit label{line-height:28px;color:#666}.theme-line table.links-edit-details{margin-bottom:10px}.theme-line table.links-edit-details label{line-height:28px;color:#666}.theme-line table.links-edit-details td{padding:0}.theme-line table.links-edit-details td .input-tip{padding:0
}.theme-line table.admin{margin-bottom:10px}.theme-line table.admin tr:hover{cursor:default}.theme-line table.admin thead>tr th.header{padding:0 0 0.65em}.theme-line table.admin thead>tr th.header div{padding:0}.theme-line table.admin label{line-height:28px;color:#666}.theme-line table.admin thead>tr th,.theme-line table.admin td{padding:0.65em 0.65em}.theme-line table.admin thead>tr th .input-tip,.theme-line table.admin td .input-tip{padding:0}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:0.65em;padding:0;border-radius:4px;border:thin dotted lightgrey}.tooltip.right .tooltip-arrow{border-right-color:#ec1c24}.tooltip>.tooltip-inner{max-width:400px;text-align:left;background-color:#ec1c24}label{font-weight:normal;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.input-tip{display:block;overflow:hidden}.labelField{float:left;margin-right:4px}.labelFormField{float:left;line-height:28px}.form-horizontal .form-group{margin:0}.form-horizontal .has-fe
edback .form-control-feedback{right:0}.tipField{float:right;line-height:28px;margin-left:5px}.tipLabel{font-size:14px;margin-left:5px}.fieldButton{float:right;margin-left:5px;margin-right:0}.fa-remove{color:#ec1c24;cursor:pointer}label.required:after{color:#ec1c24;content:' *';display:inline}.blank{visibility:hidden}.alert{outline:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{right:0;left:0}.alert.top-right{right:0}.alert.top-right .close{padding-left:10px}.alert.top-left{left:0}.alert.top-left .close{padding-right:10px}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{right:0;left:0}.alert.bottom-right{right:0}.alert.bottom-right .close{padding-left:10px}.alert.bottom-left{left:0}.alert.bottom-left .close{padding-right:10px}#cfgResult textarea{font-family:monospace;font-size:12px}input[type="number"]::
-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input.ng-dirty.ng-invalid,button.ng-dirty.ng-invalid{border-color:#ec1c24}input.ng-dirty.ng-invalid :focus,button.ng-dirty.ng-invalid :focus{border-color:#ec1c24}.form-control-feedback{display:inline-block;color:#ec1c24;right:18px;line-height:28px;pointer-events:initial}.syntaxhighlighter{padding:10px 5px;border-radius:6px}.theme-line table.links-edit-small-padding{margin-top:10px}.theme-line table.links-edit-small-padding label{line-height:28px;color:#666}.theme-line table.links-edit-small-padding a{line-height:28px}.theme-line table.links-edit-small-padding input[type="checkbox"]{line-height:20px;margin-right:5px}.theme-line table.links-edit-small-padding .checkbox label{line-height:20px;vertical-align:middle}.theme-line table.links-edit-small-padding th{text-align:center}.theme-line table.links-edit-small-padding td{padding-left
:10px}.configBox .nav>li>a{padding:5px 5px}.viewedUser{position:absolute;width:100%;left:0;text-align:center;margin-top:-15px;background-color:#f8d5d8}a{cursor:pointer}.st-sort-ascent:after{content:'\25B2'}.st-sort-descent:after{content:'\25BC'}.block-callout{background-color:#f3f8f3;border-left-width:4px;border-left-style:solid;border-color:#50af51;margin-bottom:20px}.block-callout p{padding:10px 0 10px 10px}
\ No newline at end of file
+.main-header .logo{height:auto}.main-sidebar{padding-top:60px}.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{position:absolute;width:100%;left:0;text-align:center}.modal-backdrop.am-fade{opacity:.5;transition:opacity .15s linear}.modal-backdrop.am-fade.ng-enter{opacity:0}.modal-backdrop.am-fade.ng-enter.ng-enter-active{opacity:.5}.modal-backdrop.am-fade.ng-leave{opacity:.5}.modal-backdrop.am-fade.ng-leave.ng-leave-active{opacity:0}.modal.center .modal-dialog{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.border-left{box-shadow:1px 0 0 0 #eee inset}.border-right{box-shadow:1px 0 0 0 #eee}.theme-line{background-color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header a.btn{border:0 none;padding:10px 25px;background-color:rgba(0,0,0,0.15)}.theme-line header a.btn:hover{background-color:rgba(0,0,0,0.25)}.theme-line header a.btn.btn-link{background:transparent;color:rgba(
255,255,255,0.8)}.theme-line header a.btn.btn-link:hover{color:#fff;text-decoration:none}.theme-line .navbar-nav a{background-color:transparent}.theme-line .navbar-nav a:hover,.theme-line .navbar-nav a:active,.theme-line .navbar-nav a:focus{background-color:transparent}.theme-line .main-links{padding-top:50px}.theme-line .main-links h3{margin-top:0;font-size:17px}.theme-line .main-links .links a{color:#888}.theme-line .main-links .links a:hover{text-decoration:none}.theme-line #category-columns,.theme-solid #category-columns{margin:50px 30px 0}.theme-line #category-columns h4{text-transform:uppercase;font-weight:300;color:#999;font-size:14px}.theme-line #category-columns ul{list-style:none;padding:0;margin-bottom:15px}.theme-line #category-columns ul li a{padding:4px 0;display:block;font-size:16px}.theme-line #category-columns ul .view-all{font-size:0.85em}.theme-line .docs-header{color:#999;overflow:hidden}.theme-line .docs-header h1{color:#444;margin-top:0;font-size:22px}.theme-li
ne .btn-primary{border:0 none;background-color:#ec1c24}.theme-line .btn-primary:hover{background-color:#950d12}.theme-line .main-content .nav-horizontal a{box-shadow:0 0;border:0 none;background-color:#fff;border-radius:0;color:#aaa;padding:6px;margin:0 14px}.theme-line .main-content .nav-horizontal a:hover{color:#999;border-bottom:4px solid #ddd}.theme-line .main-content .nav-horizontal a.active{border-bottom:4px solid #888}.theme-line .navbar-nav ul li>a.active,.theme-line .sidebar-nav ul li>a.active{cursor:default;pointer-events:none}.theme-line .sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav ul{padding:0;list-style:none;font-size:14px;margin:3px 0 0}.theme-line .sidebar-nav ul li{color:#666;line-height:28px}.theme-line .sidebar-nav ul li span.fa-stack{margin-right:5px;font-size:12px;height:26px}.theme-line .sidebar-nav ul li a{font-size:18px;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.t
heme-line .sidebar-nav ul li a:hover{text-decoration:none}.theme-line .select li a,.theme-line .typeahead li a{color:#666;background-color:transparent}.theme-line .select li a:hover,.theme-line .typeahead li a:hover{color:#ec1c24;background-color:transparent}.theme-line .select .active,.theme-line .typeahead .active{background-color:#eee}.theme-line .sidebar-nav ul li .subcategory{padding-left:15px}.theme-line .sidebar-nav h4{margin-top:2em;font-weight:normal;text-transform:uppercase;font-size:11px;margin-bottom:10px;color:#bbb}.theme-line .sidebar-nav h4:first-child{margin-top:0}.theme-line .sidebar-nav .ask{width:100%;text-align:center;padding:10px}.theme-line .border-left .sidebar-nav{padding-left:15px}.theme-line .suggest{padding:4px;display:inline-block;font-size:12px}.header{padding:15px}.header .has-github{padding-right:136px}.header h1.navbar-brand{height:40px;width:200px;padding:0;margin:5px 15px 0 0}.header h1.navbar-brand a{text-indent:-99999px;background:no-repeat center
center;display:block;width:100%;height:100%;background-size:contain}.header .nav.navbar-nav.pull-right{position:relative;right:-30px}.header .nav.navbar-nav .not-link{padding:15px;display:inline-block}.header .nav.navbar-nav .stable,.header .nav.navbar-nav .beta,.header .nav.navbar-nav .private{font-size:9px;padding:3px 5px;display:inline-block;line-height:8px;border-radius:3px;margin-left:6px;color:#fff;top:-2px;position:relative;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.header .nav.navbar-nav a:hover>.stable,.header .nav.navbar-nav a:hover>.beta,.header .nav.navbar-nav a:hover>.private{opacity:1;-ms-filter:none;filter:none}.header .nav.navbar-nav .beta{background-color:#59c3d1}.header .nav.navbar-nav .stable{background-color:#41b841}.header .nav.navbar-nav .private{background-color:#333}.theme-line header{border-bottom:8px solid}.theme-line header h2{color:#aaa}.theme-line header p{color:#666}.theme-line header{border-b
ottom-color:#ec1c24}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav a{color:#bbb}.theme-line header a.btn{background-color:#ec1c24}.theme-line header a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line header .navbar-nav a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line .navbar-nav .active a{color:#ec1c24}.theme-line .navbar-nav .active a:hover{color:#950d12}.theme-line .main-links .links a:hover{color:#ec1c24}.theme-line .main-content a{color:#666}.theme-line .main-content a:hover{color:#950d12}.theme-line .sidebar-nav ul li a.active:before{background-color:#ec1c24}.theme-line .sidebar-nav ul li a.active{color:#ec1c24}.theme-line .sidebar-nav ul li a:hover,.theme-line .sidebar-nav ul li a.active:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active{border-color:#ec1c24;color:#ec1c24}.theme-line .main-content .nav-horizontal a:hover{color:#950d12}.theme-line .main-conte
nt .nav-horizontal a.active:hover{border-color:#950d12}.theme-line header .navbar-nav a.active,.theme-line #versions-list li a:hover strong,.theme-line #versions-list li a.active .current,.theme-line #versions-list li a:active .current{color:#ec1c24}.theme-line header .navbar-nav a{font-size:18px}.theme-line.body-threes .section-right .threes-nav .btn-default:hover,.theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover{color:#ec1c24;border-color:#ec1c24}.theme-line .section-right{padding-left:30px}.body-overlap .main-content{margin-top:30px}.body-box .main-content,.body-overlap .main-content{padding:30px;box-shadow:0 0 0 1px rgba(0,0,0,0.1);background-color:#fff}body{font-weight:400;font-family:Roboto Slab, serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Roboto Slab, serif}.submit-vote.submit-vote-parent.voted a.submit-vote-button,.submit-vote.submit-vote-parent a.submit-vote-button:hover{background-color:#ec1c24}div.submit-vote.submit-vote-parent.voted
a.submit-vote-button:hover{background-color:#950d12}a,.link .title{color:#ec1c24}a:hover,.link:hover .title{color:#950d12}.header h1.navbar-brand a{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.header h1.navbar-brand{width:96px}.block-edit-parameters{text-align:right;padding-bottom:5px}.container-footer{margin-top:20px}.modal{display:block;overflow:hidden}.modal .close{position:absolute;top:0.65em;right:0.65em;float:none}.modal-header .close{margin-right:-2px}.modal .modal-dialog{width:610px}.modal .modal-content{border-radius:0;background-color:#f7f7f7}.modal .modal-content .modal-header{background-color:#fff;text-align:center;color:#555;padding:15px;font-family:"myriad-pro",sans-serif}.modal .modal-content .modal-header h4{font-family:"myriad-pro",sans-serif;font-size:22px}.modal .modal-content .modal-header h4 .fa{display:block;font-size:41px;color:#ddd;margin-bottom:5px}.modal .modal-content .modal-header p{color:#aaa;font-size:1em;margin:3px
0 0}.modal .modal-content .modal-spacer{padding:10px 10px 0 10px}.modal .modal-content .modal-footer{margin-top:0}.modal-body{padding-top:15px}h1.ignite-logo{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 290px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:18px;padding-bottom:10px}}.details-row{padding:0 0.65em}.details-row,.settings-row{display:block;margin:0.65em 0}.details-row label.table-header,.settings-row label.table-header{line-height:28px}.details-row [class*="col-"],.settings-row [class*="col-"]{display:inline-block;vertical-align:middle;float:none;padding-left:0 !important;padding-right:0 !important}.details-row input[type="checkbox"],.settings-row input[type="checkbox"]{line-height:20px;margin-right:4px}.details-row .checkbox label,.settings-row .checkbox label{line-height:20px;vertical-align:middle}butt
on{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-height:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.btn{padding:3px 6px}button .caret,.btn .caret{float:right;margin-left:5px;margin-top:7px}.base-control,.form-control{text-align:left;padding:3px 3px;height:28px}.form-control{display:inline-block}.form-control button{text-align:left}.table-form-control{width:auto}.theme-line .panel-heading{padding:10px 10px;margin:0}.theme-line .panel-heading h3{margin-bottom:0}.theme-line .panel-heading h3>a{color:black}.theme-line .panel-title a{color:#ec1c24}.theme-line .panel-title h3{margin-bottom:1.3em}.theme-line .panel-body{padding:0.65em 1.3em}.theme-line .main-content a.customize{margin-left:5px;color:#ec1c24}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-details,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bo
ttom:20px}.theme-line .links table td,.theme-line table.links-edit td,.theme-line table.links-edit-details td,.theme-line table.links-edit-small-padding td{padding-left:18px}.theme-line .links table .active a,.theme-line table.links-edit .active a,.theme-line table.links-edit-details .active a,.theme-line table.links-edit-small-padding .active a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line table.links-edit a:hover,.theme-line table.links-edit-details a:hover,.theme-line table.links-edit-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-details a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit{margin-bottom:10px}.theme-line table.links-edit label{line-height:28px;color:#666}.theme-line table.links-edit-details{margin-bottom:10px}.theme-line table.links-edit-details label{line-height:28px;color:#666}.theme-line table.links-edit-details td{padding
:0}.theme-line table.links-edit-details td .input-tip{padding:0}.theme-line table.admin{margin-bottom:10px}.theme-line table.admin tr:hover{cursor:default}.theme-line table.admin thead>tr th.header{padding:0 0 0.65em}.theme-line table.admin thead>tr th.header div{padding:0}.theme-line table.admin label{line-height:28px;color:#666}.theme-line table.admin thead>tr th,.theme-line table.admin td{padding:0.65em 0.65em}.theme-line table.admin thead>tr th .input-tip,.theme-line table.admin td .input-tip{padding:0}.panel-title a{font-size:14px}.panel-details{margin-top:0.65em;padding:0;border-radius:4px;border:thin dotted lightgrey}.tooltip.right .tooltip-arrow{border-right-color:#ec1c24}.tooltip>.tooltip-inner{max-width:400px;text-align:left;background-color:#ec1c24}label{font-weight:normal;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.input-tip{display:block;overflow:hidden}.labelField{float:left;margin-right:4px}.labelFormField{float:left;line-height:28px}.form-horizontal .fo
rm-group{margin:0}.form-horizontal .has-feedback .form-control-feedback{right:0}.tipField{float:right;line-height:28px;margin-left:5px}.tipLabel{font-size:14px;margin-left:5px}.fieldButton{float:right;margin-left:5px;margin-right:0}.fa-remove{color:#ec1c24;cursor:pointer}label.required:after{color:#ec1c24;content:' *';display:inline}.blank{visibility:hidden}.alert{outline:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{right:0;left:0}.alert.top-right{right:0}.alert.top-right .close{padding-left:10px}.alert.top-left{left:0}.alert.top-left .close{padding-right:10px}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{right:0;left:0}.alert.bottom-right{right:0}.alert.bottom-right .close{padding-left:10px}.alert.bottom-left{left:0}.alert.bottom-left .close{padding-right:10px}#cfgResult textarea{font-family:monos
pace;font-size:12px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input.ng-dirty.ng-invalid,button.ng-dirty.ng-invalid{border-color:#ec1c24}input.ng-dirty.ng-invalid :focus,button.ng-dirty.ng-invalid :focus{border-color:#ec1c24}.form-control-feedback{display:inline-block;color:#ec1c24;right:18px;line-height:28px;pointer-events:initial}.syntaxhighlighter{padding:10px 5px;border-radius:6px}.theme-line table.links-edit-small-padding{margin-top:10px}.theme-line table.links-edit-small-padding label{line-height:28px;color:#666}.theme-line table.links-edit-small-padding a{line-height:28px}.theme-line table.links-edit-small-padding input[type="checkbox"]{line-height:20px;margin-right:5px}.theme-line table.links-edit-small-padding .checkbox label{line-height:20px;vertical-align:middle}.theme-line table.links-edit-small-padding th{text-align:center}.theme-line tabl
e.links-edit-small-padding td{padding-left:10px}.configBox .nav>li>a{padding:5px 5px}.viewedUser{position:absolute;width:100%;left:0;text-align:center;margin-top:-15px;background-color:#f8d5d8}a{cursor:pointer}.st-sort-ascent:after{content:'\25B2'}.st-sort-descent:after{content:'\25BC'}.block-callout{background-color:#f3f8f3;border-left-width:4px;border-left-style:solid;border-color:#50af51;margin-bottom:20px}.block-callout p{padding:10px 0 10px 10px}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6195da3b/modules/web-control-center/nodejs/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/style.less b/modules/web-control-center/nodejs/public/stylesheets/style.less
index f81e92c..595e4da 100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.less
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.less
@@ -657,11 +657,24 @@ table tr:hover {
cursor: pointer;
}
-.form-control {
- display: inline-block;
+.btn {
+ padding: 3px 6px;
+}
+
+button .caret, .btn .caret {
+ float: right;
+ margin-left: 5px;
+ margin-top: 7px;
+}
+
+.base-control {
text-align: left;
padding: 3px 3px;
height: @input-height;
+}
+
+.form-control:extend(.base-control all) {
+ display: inline-block;
button {
text-align: left;
@@ -672,12 +685,6 @@ table tr:hover {
width: auto;
}
-button .caret {
- float: right;
- margin-left: 0;
- margin-top: 7px;
-}
-
.theme-line .panel-heading {
padding: 10px 10px;
margin: 0;
@@ -792,10 +799,6 @@ button .caret {
}
}
-.btn {
- padding: 3px 6px;
-}
-
.panel-title a {
font-size: 14px;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6195da3b/modules/web-control-center/nodejs/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/clusters.jade b/modules/web-control-center/nodejs/views/configuration/clusters.jade
index 98d3e17..02557e9 100644
--- a/modules/web-control-center/nodejs/views/configuration/clusters.jade
+++ b/modules/web-control-center/nodejs/views/configuration/clusters.jade
@@ -36,7 +36,7 @@ block content
a(ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}, {{row.discovery.kind | displayValue:discoveries:'Discovery not set'}}
button.btn.btn-primary(ng-click='createItem()')  Add cluster
label(style='margin-left: 15px; margin-right: 10px') Use template:
- button.btn.btn-default(ng-init='create.template = templates[0].value' ng-model='create.template' data-template='/select' data-placeholder='Choose cluster template' bs-options='item.value as item.label for item in templates' bs-select)
+ button.btn.btn-default.base-control(ng-init='create.template = templates[0].value' ng-model='create.template' data-template='/select' data-placeholder='Choose cluster template' bs-options='item.value as item.label for item in templates' bs-select)
i.tiplabel.fa.fa-question-circle(bs-tooltip data-title='{{joinTip(templateTip)}}' type='button')
hr
form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
[08/12] incubator-ignite git commit: # ignite-843 Order.
Posted by an...@apache.org.
# ignite-843 Order.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/b9da5fa9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b9da5fa9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b9da5fa9
Branch: refs/heads/ignite-1121
Commit: b9da5fa9b3d14f1ab72f03b3dd1c20f8c7b55416
Parents: 779b8cc
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 10:53:36 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 10:53:36 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/nodejs/routes/admin.js | 2 +-
modules/web-control-center/nodejs/routes/caches.js | 2 +-
modules/web-control-center/nodejs/routes/clusters.js | 2 +-
modules/web-control-center/nodejs/routes/metadata.js | 2 +-
modules/web-control-center/nodejs/routes/persistence.js | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b9da5fa9/modules/web-control-center/nodejs/routes/admin.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/admin.js b/modules/web-control-center/nodejs/routes/admin.js
index 51d6892..5af72f7 100644
--- a/modules/web-control-center/nodejs/routes/admin.js
+++ b/modules/web-control-center/nodejs/routes/admin.js
@@ -26,7 +26,7 @@ router.get('/', function (req, res) {
* Get list of user accounts.
*/
router.post('/list', function (req, res) {
- db.Account.find({}, function (err, users) {
+ db.Account.find({}).sort('username').exec(function (err, users) {
if (err)
return res.status(500).send(err.message);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b9da5fa9/modules/web-control-center/nodejs/routes/caches.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/caches.js b/modules/web-control-center/nodejs/routes/caches.js
index 3a20303..9e8b0d4 100644
--- a/modules/web-control-center/nodejs/routes/caches.js
+++ b/modules/web-control-center/nodejs/routes/caches.js
@@ -42,7 +42,7 @@ router.post('/list', function (req, res) {
});
// Get all caches for spaces.
- db.Cache.find({space: {$in: space_ids}}, function (err, caches) {
+ db.Cache.find({space: {$in: space_ids}}).sort('name').exec(function (err, caches) {
if (err)
return res.status(500).send(err.message);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b9da5fa9/modules/web-control-center/nodejs/routes/clusters.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/clusters.js b/modules/web-control-center/nodejs/routes/clusters.js
index 5088156..a95f500 100644
--- a/modules/web-control-center/nodejs/routes/clusters.js
+++ b/modules/web-control-center/nodejs/routes/clusters.js
@@ -46,7 +46,7 @@ router.post('/list', function (req, res) {
return res.status(500).send(err);
// Get all clusters for spaces.
- db.Cluster.find({space: {$in: space_ids}}, function (err, clusters) {
+ db.Cluster.find({space: {$in: space_ids}}).sort('name').exec(function (err, clusters) {
if (err)
return res.status(500).send(err.message);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b9da5fa9/modules/web-control-center/nodejs/routes/metadata.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/metadata.js b/modules/web-control-center/nodejs/routes/metadata.js
index f1b7e83..97a4bb1 100644
--- a/modules/web-control-center/nodejs/routes/metadata.js
+++ b/modules/web-control-center/nodejs/routes/metadata.js
@@ -42,7 +42,7 @@ router.post('/list', function (req, res) {
});
// Get all metadata for spaces.
- db.CacheTypeMetadata.find({space: {$in: space_ids}}, function (err, metadata) {
+ db.CacheTypeMetadata.find({space: {$in: space_ids}}).sort('name').exec(function (err, metadata) {
if (err)
return res.status(500).send(err.message);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b9da5fa9/modules/web-control-center/nodejs/routes/persistence.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/persistence.js b/modules/web-control-center/nodejs/routes/persistence.js
index 3e188bb..bf1ff8f 100644
--- a/modules/web-control-center/nodejs/routes/persistence.js
+++ b/modules/web-control-center/nodejs/routes/persistence.js
@@ -43,7 +43,7 @@ router.post('/list', function (req, res) {
});
// Get all persistences for spaces.
- db.Persistence.find({space: {$in: space_ids}}, function (err, persistences) {
+ db.Persistence.find({space: {$in: space_ids}}).sort('name').exec(function (err, persistences) {
if (err)
return res.status(500).send(err.message);
[10/12] incubator-ignite git commit: # ignite-843 Fixed generation
for client configuration.
Posted by an...@apache.org.
# ignite-843 Fixed generation for client configuration.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/400bc564
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/400bc564
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/400bc564
Branch: refs/heads/ignite-1121
Commit: 400bc564c691d111b7e041e2f4516418fece5049
Parents: dc895c6
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 14:45:58 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 14:45:58 2015 +0700
----------------------------------------------------------------------
.../nodejs/routes/generator/java.js | 3 ---
.../web-control-center/nodejs/routes/generator/xml.js | 14 ++++++++++++++
.../nodejs/views/includes/controls.jade | 12 ++++++------
3 files changed, 20 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/400bc564/modules/web-control-center/nodejs/routes/generator/java.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/generator/java.js b/modules/web-control-center/nodejs/routes/generator/java.js
index 75f6052..f237086 100644
--- a/modules/web-control-center/nodejs/routes/generator/java.js
+++ b/modules/web-control-center/nodejs/routes/generator/java.js
@@ -160,9 +160,6 @@ exports.generateClusterConfiguration = function(cluster, javaClass, clientCache)
names.push(cacheName);
- if (clientCache)
- _.merge(cache, clientCache);
-
generateCacheConfiguration(cache, cacheName, res);
res.needEmptyLine = true;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/400bc564/modules/web-control-center/nodejs/routes/generator/xml.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/generator/xml.js b/modules/web-control-center/nodejs/routes/generator/xml.js
index 9e45111..8004c95 100644
--- a/modules/web-control-center/nodejs/routes/generator/xml.js
+++ b/modules/web-control-center/nodejs/routes/generator/xml.js
@@ -26,6 +26,20 @@ exports.generateClusterConfiguration = function(cluster, clientCache) {
res.datasources = [];
res.deep = 1;
+ if (clientCache && clientCache.nearConfiguration) {
+ res.startBlock('<bean id="nearCacheBean" class="org.apache.ignite.configuration.NearCacheConfiguration">');
+
+ if (clientCache.nearConfiguration.nearStartSize)
+ addProperty(res, clientCache.nearConfiguration, 'nearStartSize');
+
+ if (clientCache.nearConfiguration.nearEvictionPolicy && clientCache.nearConfiguration.nearEvictionPolicy.kind)
+ createEvictionPolicy(res, clientCache.nearConfiguration.nearEvictionPolicy, 'nearEvictionPolicy');
+
+ res.endBlock('</bean>');
+
+ res.line();
+ }
+
// Generate Ignite Configuration.
res.startBlock('<bean class="org.apache.ignite.configuration.IgniteConfiguration">');
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/400bc564/modules/web-control-center/nodejs/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/includes/controls.jade b/modules/web-control-center/nodejs/views/includes/controls.jade
index eba1b81..74481e8 100644
--- a/modules/web-control-center/nodejs/views/includes/controls.jade
+++ b/modules/web-control-center/nodejs/views/includes/controls.jade
@@ -112,19 +112,19 @@ mixin form-row-custom(lblClasses, fieldClasses)
+tipLabel('field.tip')
div(ng-switch-when='text' ng-hide=fieldHide)
label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
- .col-sm-4
+ div(class=fieldClasses)
+tipField('field.tip')
.input-tip
input.form-control(type='text' placeholder='{{field.placeholder}}')&attributes(fieldCommon)
div(ng-switch-when='password' ng-hide=fieldHide)
label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
- .col-sm-4
+ div(class=fieldClasses)
+tipField('field.tip')
.input-tip
input.form-control(type='password' placeholder='{{field.placeholder}}')&attributes(fieldCommon)
div(ng-switch-when='number' ng-hide=fieldHide)
label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
- .col-sm-4
+ div(class=fieldClasses)
+tipField('field.tip')
.input-tip
input.form-control(name='{{field.model}}' type='number' placeholder='{{field.placeholder}}' min='{{field.min ? field.min : 0}}' max='{{field.max ? field.max : Number.MAX_VALUE}}')&attributes(fieldCommon)
@@ -133,13 +133,13 @@ mixin form-row-custom(lblClasses, fieldClasses)
+exclamation('{{field.model}}', 'number', 'Invalid value. Only numbers allowed.')
div(ng-switch-when='dropdown' ng-hide=fieldHide)
label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
- .col-sm-4
+ div(class=fieldClasses)
+tipField('field.tip')
.input-tip
button.form-control(bs-select data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
div(ng-switch-when='dropdown-multiple' ng-hide=fieldHide)
label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
- .col-sm-4
+ div(class=fieldClasses)
+tipField('field.tip')
.input-tip
button.form-control(bs-select ng-disabled='{{field.items}}.length == 0' data-multiple='1' data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
@@ -148,7 +148,7 @@ mixin form-row-custom(lblClasses, fieldClasses)
- var expanded = 'field.details[' + fieldMdl + '].expanded'
label(class=lblClasses ng-class=fieldRequiredClass) {{field.label}}:
- .col-sm-4
+ div(class=fieldClasses)
+tipField('field.tip')
.input-tip
button.form-control(bs-select data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
[04/12] incubator-ignite git commit: # ignite-843 Minor fix
Posted by an...@apache.org.
# ignite-843 Minor fix
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/9c463ccd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/9c463ccd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/9c463ccd
Branch: refs/heads/ignite-1121
Commit: 9c463ccdfd56606a39d4fc2426f5437776f04e4f
Parents: ecd9ae1
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 09:53:30 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 09:53:30 2015 +0700
----------------------------------------------------------------------
modules/web-control-center/nodejs/controllers/admin-controller.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9c463ccd/modules/web-control-center/nodejs/controllers/admin-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/admin-controller.js b/modules/web-control-center/nodejs/controllers/admin-controller.js
index b67d7d9..dc6957a 100644
--- a/modules/web-control-center/nodejs/controllers/admin-controller.js
+++ b/modules/web-control-center/nodejs/controllers/admin-controller.js
@@ -54,7 +54,7 @@ controlCenterModule.controller('adminController', ['$scope', '$http', '$confirm'
user.adminChanging = true;
- $http.post('admin/save', {userId: user._id, adminFlag: !user.admin}).success(
+ $http.post('admin/save', {userId: user._id, adminFlag: user.admin}).success(
function () {
commonFunctions.showInfo('Admin right was successfully toggled for user: "' + user.username + '"');
[06/12] incubator-ignite git commit: #ignite-843 removed css
Posted by an...@apache.org.
#ignite-843 removed css
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/55e6b8a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/55e6b8a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/55e6b8a0
Branch: refs/heads/ignite-1121
Commit: 55e6b8a07fb68600ceb59570a891d39ac8547e52
Parents: 6195da3
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 16 10:39:58 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 16 10:39:58 2015 +0700
----------------------------------------------------------------------
.../nodejs/public/stylesheets/sql-console.css | 72 --------------------
.../nodejs/public/stylesheets/style.css | 1 -
2 files changed, 73 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/55e6b8a0/modules/web-control-center/nodejs/public/stylesheets/sql-console.css
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/sql-console.css b/modules/web-control-center/nodejs/public/stylesheets/sql-console.css
deleted file mode 100644
index 9351349..0000000
--- a/modules/web-control-center/nodejs/public/stylesheets/sql-console.css
+++ /dev/null
@@ -1,72 +0,0 @@
-#queryTable {
- width: 100%;
-}
-
-#queryTable tr {
- cursor: default;
-}
-
-#queryTable tr {
- vertical-align: top;
-}
-
-#querySql {
- height: 150px;
-
- border: 1px solid #aaa;
-}
-
-.queryTd {
- width: 99%;
- padding: 0 10px;
-}
-
-#cacheTd {
- height: 100%;
-}
-
-#resultPanel {
- margin-top: 20px;
-}
-
-#queryResult {
- width: 100%;
-
- padding: 5px;
-}
-
-#queryResult .props {
- color: #666;
- font-size: smaller;
-}
-
-.resultRow {
- padding: 2px;
-}
-
-#defCacheSelect {
- padding: 0 2px;
-
- border: 1px solid #333;
-
- margin-top: 10px;
-
- width: 150px;
-
- font-size: 12px;
-
- overflow: auto;
-}
-
-#defCacheSelect div {
- padding: 2px 0;
-}
-
-#defCacheSelect div:hover {
- background: #eef;
-}
-
-#defCacheSelect .def {
- color: #11f;
- font-weight: bold;
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/55e6b8a0/modules/web-control-center/nodejs/public/stylesheets/style.css
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/style.css b/modules/web-control-center/nodejs/public/stylesheets/style.css
deleted file mode 100644
index f51a25b..0000000
--- a/modules/web-control-center/nodejs/public/stylesheets/style.css
+++ /dev/null
@@ -1 +0,0 @@
-.main-header .logo{height:auto}.main-sidebar{padding-top:60px}.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{position:absolute;width:100%;left:0;text-align:center}.modal-backdrop.am-fade{opacity:.5;transition:opacity .15s linear}.modal-backdrop.am-fade.ng-enter{opacity:0}.modal-backdrop.am-fade.ng-enter.ng-enter-active{opacity:.5}.modal-backdrop.am-fade.ng-leave{opacity:.5}.modal-backdrop.am-fade.ng-leave.ng-leave-active{opacity:0}.modal.center .modal-dialog{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.border-left{box-shadow:1px 0 0 0 #eee inset}.border-right{box-shadow:1px 0 0 0 #eee}.theme-line{background-color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header a.btn{border:0 none;padding:10px 25px;background-color:rgba(0,0,0,0.15)}.theme-line header a.btn:hover{background-color:rgba(0,0,0,0.25)}.theme-line header a.btn.btn-link{background:transparent;color:rgba(
255,255,255,0.8)}.theme-line header a.btn.btn-link:hover{color:#fff;text-decoration:none}.theme-line .navbar-nav a{background-color:transparent}.theme-line .navbar-nav a:hover,.theme-line .navbar-nav a:active,.theme-line .navbar-nav a:focus{background-color:transparent}.theme-line .main-links{padding-top:50px}.theme-line .main-links h3{margin-top:0;font-size:17px}.theme-line .main-links .links a{color:#888}.theme-line .main-links .links a:hover{text-decoration:none}.theme-line #category-columns,.theme-solid #category-columns{margin:50px 30px 0}.theme-line #category-columns h4{text-transform:uppercase;font-weight:300;color:#999;font-size:14px}.theme-line #category-columns ul{list-style:none;padding:0;margin-bottom:15px}.theme-line #category-columns ul li a{padding:4px 0;display:block;font-size:16px}.theme-line #category-columns ul .view-all{font-size:0.85em}.theme-line .docs-header{color:#999;overflow:hidden}.theme-line .docs-header h1{color:#444;margin-top:0;font-size:22px}.theme-li
ne .btn-primary{border:0 none;background-color:#ec1c24}.theme-line .btn-primary:hover{background-color:#950d12}.theme-line .main-content .nav-horizontal a{box-shadow:0 0;border:0 none;background-color:#fff;border-radius:0;color:#aaa;padding:6px;margin:0 14px}.theme-line .main-content .nav-horizontal a:hover{color:#999;border-bottom:4px solid #ddd}.theme-line .main-content .nav-horizontal a.active{border-bottom:4px solid #888}.theme-line .navbar-nav ul li>a.active,.theme-line .sidebar-nav ul li>a.active{cursor:default;pointer-events:none}.theme-line .sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav ul{padding:0;list-style:none;font-size:14px;margin:3px 0 0}.theme-line .sidebar-nav ul li{color:#666;line-height:28px}.theme-line .sidebar-nav ul li span.fa-stack{margin-right:5px;font-size:12px;height:26px}.theme-line .sidebar-nav ul li a{font-size:18px;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.t
heme-line .sidebar-nav ul li a:hover{text-decoration:none}.theme-line .select li a,.theme-line .typeahead li a{color:#666;background-color:transparent}.theme-line .select li a:hover,.theme-line .typeahead li a:hover{color:#ec1c24;background-color:transparent}.theme-line .select .active,.theme-line .typeahead .active{background-color:#eee}.theme-line .sidebar-nav ul li .subcategory{padding-left:15px}.theme-line .sidebar-nav h4{margin-top:2em;font-weight:normal;text-transform:uppercase;font-size:11px;margin-bottom:10px;color:#bbb}.theme-line .sidebar-nav h4:first-child{margin-top:0}.theme-line .sidebar-nav .ask{width:100%;text-align:center;padding:10px}.theme-line .border-left .sidebar-nav{padding-left:15px}.theme-line .suggest{padding:4px;display:inline-block;font-size:12px}.header{padding:15px}.header .has-github{padding-right:136px}.header h1.navbar-brand{height:40px;width:200px;padding:0;margin:5px 15px 0 0}.header h1.navbar-brand a{text-indent:-99999px;background:no-repeat center
center;display:block;width:100%;height:100%;background-size:contain}.header .nav.navbar-nav.pull-right{position:relative;right:-30px}.header .nav.navbar-nav .not-link{padding:15px;display:inline-block}.header .nav.navbar-nav .stable,.header .nav.navbar-nav .beta,.header .nav.navbar-nav .private{font-size:9px;padding:3px 5px;display:inline-block;line-height:8px;border-radius:3px;margin-left:6px;color:#fff;top:-2px;position:relative;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.header .nav.navbar-nav a:hover>.stable,.header .nav.navbar-nav a:hover>.beta,.header .nav.navbar-nav a:hover>.private{opacity:1;-ms-filter:none;filter:none}.header .nav.navbar-nav .beta{background-color:#59c3d1}.header .nav.navbar-nav .stable{background-color:#41b841}.header .nav.navbar-nav .private{background-color:#333}.theme-line header{border-bottom:8px solid}.theme-line header h2{color:#aaa}.theme-line header p{color:#666}.theme-line header{border-b
ottom-color:#ec1c24}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav a{color:#bbb}.theme-line header a.btn{background-color:#ec1c24}.theme-line header a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line header .navbar-nav a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line .navbar-nav .active a{color:#ec1c24}.theme-line .navbar-nav .active a:hover{color:#950d12}.theme-line .main-links .links a:hover{color:#ec1c24}.theme-line .main-content a{color:#666}.theme-line .main-content a:hover{color:#950d12}.theme-line .sidebar-nav ul li a.active:before{background-color:#ec1c24}.theme-line .sidebar-nav ul li a.active{color:#ec1c24}.theme-line .sidebar-nav ul li a:hover,.theme-line .sidebar-nav ul li a.active:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active{border-color:#ec1c24;color:#ec1c24}.theme-line .main-content .nav-horizontal a:hover{color:#950d12}.theme-line .main-conte
nt .nav-horizontal a.active:hover{border-color:#950d12}.theme-line header .navbar-nav a.active,.theme-line #versions-list li a:hover strong,.theme-line #versions-list li a.active .current,.theme-line #versions-list li a:active .current{color:#ec1c24}.theme-line header .navbar-nav a{font-size:18px}.theme-line.body-threes .section-right .threes-nav .btn-default:hover,.theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover{color:#ec1c24;border-color:#ec1c24}.theme-line .section-right{padding-left:30px}.body-overlap .main-content{margin-top:30px}.body-box .main-content,.body-overlap .main-content{padding:30px;box-shadow:0 0 0 1px rgba(0,0,0,0.1);background-color:#fff}body{font-weight:400;font-family:Roboto Slab, serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Roboto Slab, serif}.submit-vote.submit-vote-parent.voted a.submit-vote-button,.submit-vote.submit-vote-parent a.submit-vote-button:hover{background-color:#ec1c24}div.submit-vote.submit-vote-parent.voted
a.submit-vote-button:hover{background-color:#950d12}a,.link .title{color:#ec1c24}a:hover,.link:hover .title{color:#950d12}.header h1.navbar-brand a{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.header h1.navbar-brand{width:96px}.block-edit-parameters{text-align:right;padding-bottom:5px}.container-footer{margin-top:20px}.modal{display:block;overflow:hidden}.modal .close{position:absolute;top:0.65em;right:0.65em;float:none}.modal-header .close{margin-right:-2px}.modal .modal-dialog{width:610px}.modal .modal-content{border-radius:0;background-color:#f7f7f7}.modal .modal-content .modal-header{background-color:#fff;text-align:center;color:#555;padding:15px;font-family:"myriad-pro",sans-serif}.modal .modal-content .modal-header h4{font-family:"myriad-pro",sans-serif;font-size:22px}.modal .modal-content .modal-header h4 .fa{display:block;font-size:41px;color:#ddd;margin-bottom:5px}.modal .modal-content .modal-header p{color:#aaa;font-size:1em;margin:3px
0 0}.modal .modal-content .modal-spacer{padding:10px 10px 0 10px}.modal .modal-content .modal-footer{margin-top:0}.modal-body{padding-top:15px}h1.ignite-logo{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 290px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:18px;padding-bottom:10px}}.details-row{padding:0 0.65em}.details-row,.settings-row{display:block;margin:0.65em 0}.details-row label.table-header,.settings-row label.table-header{line-height:28px}.details-row [class*="col-"],.settings-row [class*="col-"]{display:inline-block;vertical-align:middle;float:none;padding-left:0 !important;padding-right:0 !important}.details-row input[type="checkbox"],.settings-row input[type="checkbox"]{line-height:20px;margin-right:4px}.details-row .checkbox label,.settings-row .checkbox label{line-height:20px;vertical-align:middle}butt
on{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-height:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.btn{padding:3px 6px}button .caret,.btn .caret{float:right;margin-left:5px;margin-top:7px}.base-control,.form-control{text-align:left;padding:3px 3px;height:28px}.form-control{display:inline-block}.form-control button{text-align:left}.table-form-control{width:auto}.theme-line .panel-heading{padding:10px 10px;margin:0}.theme-line .panel-heading h3{margin-bottom:0}.theme-line .panel-heading h3>a{color:black}.theme-line .panel-title a{color:#ec1c24}.theme-line .panel-title h3{margin-bottom:1.3em}.theme-line .panel-body{padding:0.65em 1.3em}.theme-line .main-content a.customize{margin-left:5px;color:#ec1c24}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-details,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bo
ttom:20px}.theme-line .links table td,.theme-line table.links-edit td,.theme-line table.links-edit-details td,.theme-line table.links-edit-small-padding td{padding-left:18px}.theme-line .links table .active a,.theme-line table.links-edit .active a,.theme-line table.links-edit-details .active a,.theme-line table.links-edit-small-padding .active a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line table.links-edit a:hover,.theme-line table.links-edit-details a:hover,.theme-line table.links-edit-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-details a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit{margin-bottom:10px}.theme-line table.links-edit label{line-height:28px;color:#666}.theme-line table.links-edit-details{margin-bottom:10px}.theme-line table.links-edit-details label{line-height:28px;color:#666}.theme-line table.links-edit-details td{padding
:0}.theme-line table.links-edit-details td .input-tip{padding:0}.theme-line table.admin{margin-bottom:10px}.theme-line table.admin tr:hover{cursor:default}.theme-line table.admin thead>tr th.header{padding:0 0 0.65em}.theme-line table.admin thead>tr th.header div{padding:0}.theme-line table.admin label{line-height:28px;color:#666}.theme-line table.admin thead>tr th,.theme-line table.admin td{padding:0.65em 0.65em}.theme-line table.admin thead>tr th .input-tip,.theme-line table.admin td .input-tip{padding:0}.panel-title a{font-size:14px}.panel-details{margin-top:0.65em;padding:0;border-radius:4px;border:thin dotted lightgrey}.tooltip.right .tooltip-arrow{border-right-color:#ec1c24}.tooltip>.tooltip-inner{max-width:400px;text-align:left;background-color:#ec1c24}label{font-weight:normal;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.input-tip{display:block;overflow:hidden}.labelField{float:left;margin-right:4px}.labelFormField{float:left;line-height:28px}.form-horizontal .fo
rm-group{margin:0}.form-horizontal .has-feedback .form-control-feedback{right:0}.tipField{float:right;line-height:28px;margin-left:5px}.tipLabel{font-size:14px;margin-left:5px}.fieldButton{float:right;margin-left:5px;margin-right:0}.fa-remove{color:#ec1c24;cursor:pointer}label.required:after{color:#ec1c24;content:' *';display:inline}.blank{visibility:hidden}.alert{outline:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{right:0;left:0}.alert.top-right{right:0}.alert.top-right .close{padding-left:10px}.alert.top-left{left:0}.alert.top-left .close{padding-right:10px}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{right:0;left:0}.alert.bottom-right{right:0}.alert.bottom-right .close{padding-left:10px}.alert.bottom-left{left:0}.alert.bottom-left .close{padding-right:10px}#cfgResult textarea{font-family:monos
pace;font-size:12px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input.ng-dirty.ng-invalid,button.ng-dirty.ng-invalid{border-color:#ec1c24}input.ng-dirty.ng-invalid :focus,button.ng-dirty.ng-invalid :focus{border-color:#ec1c24}.form-control-feedback{display:inline-block;color:#ec1c24;right:18px;line-height:28px;pointer-events:initial}.syntaxhighlighter{padding:10px 5px;border-radius:6px}.theme-line table.links-edit-small-padding{margin-top:10px}.theme-line table.links-edit-small-padding label{line-height:28px;color:#666}.theme-line table.links-edit-small-padding a{line-height:28px}.theme-line table.links-edit-small-padding input[type="checkbox"]{line-height:20px;margin-right:5px}.theme-line table.links-edit-small-padding .checkbox label{line-height:20px;vertical-align:middle}.theme-line table.links-edit-small-padding th{text-align:center}.theme-line tabl
e.links-edit-small-padding td{padding-left:10px}.configBox .nav>li>a{padding:5px 5px}.viewedUser{position:absolute;width:100%;left:0;text-align:center;margin-top:-15px;background-color:#f8d5d8}a{cursor:pointer}.st-sort-ascent:after{content:'\25B2'}.st-sort-descent:after{content:'\25BC'}.block-callout{background-color:#f3f8f3;border-left-width:4px;border-left-style:solid;border-color:#50af51;margin-bottom:20px}.block-callout p{padding:10px 0 10px 10px}
\ No newline at end of file