Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 9873342d4 -> 33f3c9fd3


# ignite-843 WIP.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/33f3c9fd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/33f3c9fd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/33f3c9fd

Branch: refs/heads/ignite-843
Commit: 33f3c9fd3ba284fa90fc85aeff18fa4b129ee058
Parents: 9873342
Author: Andrey <[email protected]>
Authored: Thu May 28 18:01:03 2015 +0700
Committer: Andrey <[email protected]>
Committed: Thu May 28 18:01:03 2015 +0700

----------------------------------------------------------------------
 .../public/javascripts/controllers/clusters.js  | 55 ++++++-------
 .../nodejs/public/stylesheets/style.css         |  2 +-
 .../nodejs/public/stylesheets/style.less        | 25 +++++-
 modules/webconfig/nodejs/views/clusters.jade    | 81 +++++++++-----------
 .../webconfig/nodejs/views/layout-sidebar.jade  | 18 ++++-
 modules/webconfig/nodejs/views/layout.jade      | 18 ++++-
 6 files changed, 121 insertions(+), 78 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/33f3c9fd/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js 
b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
index e77c223..8a041da 100644
--- a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
+++ b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js
@@ -5,6 +5,11 @@ configuratorModule.controller('clustersController', ['$scope', 
'$modal', '$http'
 
         $scope.editCluster = {};
 
+        $scope.templates = [
+            {value: {discovery: 'TcpDiscoveryVmIpFinder', addresses: 
['127.0.0.1:47500..47510']}, label: 'Local'},
+            {value: {discovery: 'TcpDiscoveryMulticastIpFinder'}, label: 
'Basic'}
+        ];
+
         $scope.discoveries = [
             {value: 'TcpDiscoveryVmIpFinder', label: 'Static IPs'},
             {value: 'TcpDiscoveryMulticastIpFinder', label: 'Multicast'},
@@ -94,12 +99,6 @@ configuratorModule.controller('clustersController', 
['$scope', '$modal', '$http'
             multicastModal.$promise.then(multicastModal.show);
         };
 
-        // Add new cluster.
-        $scope.addCluster = function() {
-            $scope.clusters.push({space: $scope.spaces[0]._id, discovery: 
'TcpDiscoveryVmIpFinder'});
-
-            $scope.clustersTable.reload();
-        };
 
         $scope.beginEditCluster = function(column, cluster) {
             $scope.revertCluster();
@@ -123,35 +122,19 @@ configuratorModule.controller('clustersController', 
['$scope', '$modal', '$http'
             }
         };
 
-        $scope.submit = function() {
-            if ($scope.editColumn && $scope.currentCluster) {
-                var cluster = $scope.currentCluster;
+        // Add new cluster.
+        $scope.createItem = function() {
+            var item = angular.copy($scope.create.template);
 
-                var data = {
-                    _id: cluster._id,
-                    space: cluster.space,
-                    name: cluster.name,
-                    discovery: cluster.discovery,
-                    addresses: cluster.addresses
-                };
+            item.name = $scope.create.name;
+            item.space = $scope.spaces[0]._id;
 
-                $scope.currentCluster = undefined;
-
-                $scope.editColumn = undefined;
+            $scope.create = {};
 
-                $http.post('/rest/clusters/save', data)
-                    .success(function(data) {
-                        $scope.spaces = data.spaces;
-                        $scope.clusters = data.clusters;
-
-                        $scope.clustersTable.reload();
-                    })
-                    .error(function(errorMessage) {
-                        console.log('Error: ' + errorMessage);
-                    });
-            }
+            saveCluster(item);
         };
 
+        // Remove new cluster.
         $scope.removeItem = function(_id) {
             $http.post('/rest/clusters/remove', {_id: _id})
                 .success(function(data) {
@@ -164,5 +147,17 @@ configuratorModule.controller('clustersController', 
['$scope', '$modal', '$http'
                     console.log('Error: ' + errorMessage);
                 });
         };
+
+        // Save cluster in db.
+        function saveCluster(cluster) {
+            $http.post('/rest/clusters/save', cluster)
+                .success(function(data) {
+                    $scope.spaces = data.spaces;
+                    $scope.clusters = data.clusters;
+                })
+                .error(function(errorMessage) {
+                    console.log('Error: ' + errorMessage);
+                });
+        }
     }]
 );
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/33f3c9fd/modules/webconfig/nodejs/public/stylesheets/style.css
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/stylesheets/style.css 
b/modules/webconfig/nodejs/public/stylesheets/style.css
index 936b295..ea51de3 100644
--- a/modules/webconfig/nodejs/public/stylesheets/style.css
+++ b/modules/webconfig/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:40%;left:50%;min-width:320px;max-width:630px;width:50%;-webkit-transform:translateX(-50%)
 translateY(-50%);transform:translateX(-50%) translateY(-50%)}.ng-table 
th.text-right{text-align:right}.ng-table th.text-left{text-align:left}.ng-table 
th.text-center{text-align:center}.fa.fa-remove{color:red}.border-left{-webkit-box-shadow:1px
 0 0px 0px #eee inset;box-shadow:1px 0 0px 0px #eee 
inset}.border-right{-webkit-box-shadow:1px 0 0px 0px #eee;box-shadow:1px 0 0px 
0px #eee}.theme-line{background-
 color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header 
.search-bar{width:90%;margin:30px auto 
0;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 0 0 5px 
rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.1);box-shadow:0 0 0 5px 
rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.1);position:relative}.theme-line header 
.search-bar.focus{-webkit-box-shadow:0 0 0 5px rgba(0,0,0,0.2),0 0 0 1px 
rgba(0,0,0,0.1);box-shadow:0 0 0 5px rgba(0,0,0,0.2),0 0 0 1px 
rgba(0,0,0,0.1)}.theme-line header .search-bar 
.fa{position:absolute;top:10px;left:14px;font-size:21px;color:#ccc;z-index:10}.theme-line
 header .search-bar .twitter-typeahead{width:100%}.theme-line header 
.search-bar 
input{-webkit-border-radius:5px;border-radius:5px;height:100%;border:0 
none;-webkit-box-shadow:0 2px 2px rgba(0,0,0,0.1) inset;box-shadow:0 2px 2px 
rgba(0,0,0,0.1) inset;color:#444;width:100%;padding:13px 13px 13px 
50px;font-size:14px}.theme-line header .search-bar 
input.tt-hint{color:#bbb}.theme-line header .sea
 rch-bar input:active .theme-line header .search-bar input:focus{outline:0 
none;-webkit-box-shadow:0 2px 2px rgba(0,0,0,0.2) inset;box-shadow:0 2px 2px 
rgba(0,0,0,0.2) inset}.theme-line header .search-bar 
.tt-dropdown-menu,.theme-solid header .search-bar 
.tt-dropdown-menu{width:100%;text-align:left}.theme-line header .search-bar 
.tt-dropdown-menu h3{padding:0 
45px;color:#ccc;font-weight:bold;font-size:12px;margin:10px 0 
4px;text-transform:uppercase}.theme-line header .search-bar .tt-dropdown-menu 
.tt-suggestions{display:block}.theme-line header .search-bar .tt-dropdown-menu 
.tt-suggestions .tt-suggestion{cursor:pointer;font-size:14px;padding:4px 
45px}.theme-line header .search-bar .tt-dropdown-menu .tt-suggestions 
.tt-suggestion 
p{color:#333;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.theme-line
 header .search-bar .tt-cursor{background-color:#eee}.theme-line header 
.search-bar .tt-cursor p{color:#fff}.theme-line header a.btn{border:0 none;padd
 ing: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 .navbar-nav .active 
a{font-weight:bold}.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:25px}.theme-line .btn-primary{border:0 
none}.theme-line .main-content .nav-horizontal a{-webkit-box-shadow:0 
0;box-shadow:0 0;border:0 
none;background-color:#fff;-webkit-border-radius:0;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 
.sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav 
ul{padding:0;list-style:none;font-size:13px;margin:3px 0 0}.theme-line 
.sidebar-nav ul li a{padding:3px 
0;display:block;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.theme-line
 .sidebar-nav ul li a:before{top:0;content
 :" 
";display:block;width:6px;height:100%;position:absolute;left:-30px}.theme-line 
.sidebar-nav ul li a:hover{text-decoration:none}.theme-line .sidebar-nav ul li 
a.active{font-weight:bold}.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:0em}.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:0;margin-top:5px;margin-right:15px}.header
 h1.navbar-brand a{text-indent:-99999px;background-position:center 
center;display:block;width:100%;height:100%;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;
 background-repeat:no-repeat}.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;-webkit-border-radius:3px;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}.header #jumbotron{margin:55px 70px 
50px;text-align:center}.header #jumbotron 
h2{margin-top:0;margin-bottom:20px}.header #jumbotron p{margin-bottom:0;
 line-height:1.6em;font-size:16px}.header #jumbotron 
.btn{margin-top:20px}.header 
.searchbox{position:relative;margin-right:15px;top:9px}.header .searchbox 
.fa-search{position:absolute;top:8px;right:10px;color:#777;pointer-events:none}.header
 .searchbox .typeahead{line-height:1.25em;-webkit-transition:.3s 
ease-out;-moz-transition:.3s ease-out;-o-transition:.3s 
ease-out;-ms-transition:.3s ease-out;transition:.3s 
ease-out;background-color:rgba(0,0,0,0.05);-webkit-border-radius:5px;border-radius:5px;width:95px}.header
 .searchbox .typeahead:focus,.header .searchbox .typeahead:active{outline:0 
none}.header .searchbox 
.tt-dropdown-menu{max-width:350px;margin-left:-100px}.header .searchbox 
.tt-dropdown-menu h3{width:100px;float:left;margin:0;padding:8px 0 6px 
15px;font-size:13px;color:#bbb}.header .searchbox .tt-dropdown-menu 
.tt-suggestions{display:block;float:left;width:250px}.header .searchbox 
.tt-dropdown-menu .tt-suggestions .tt-suggestion{font-size:14px}.header 
.searchbox .tt-dropdown
 -menu .tt-suggestions .tt-suggestion 
p{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.header
 .searchbox .tt-cursor{background-color:#eee}.header .searchbox .tt-cursor 
p{color:#fff}.header .searchbox input{border:0 
none;display:inline-block;font-size:14px;padding:6px 32px 6px 
12px;margin:0}.header .searchbox input.tt-hint{height:auto}.header 
.searchbox.focus input{width:250px}.theme-line header{border-bottom:8px 
solid}.theme-line header h2{color:#aaa}.theme-line header 
p{color:#666}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav 
a{color:#bbb}.theme-line.lumosity-light .searchbox .tt-cursor 
p{color:rgba(0,0,0,0.7)}.theme-line 
header{border-bottom-color:#ec1c24}.theme-line header 
a.btn{background-color:#ec1c24}.theme-line header 
a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav 
a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line header 
.navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line .nav
 bar-nav .active a{font-weight:bold;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:#ec1c24}.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 
.btn-primary{background-color:#ec1c24}.theme-line 
.btn-primary:hover{background-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-content 
.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:#ec1c
 24}.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}.body-overlap 
.main-content{margin-top:30px}.body-box .main-content,.body-overlap 
.main-content{padding:30px;-webkit-box-shadow:0 0 0 1px 
rgba(0,0,0,0.1);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-ali
 
gn:right;padding-bottom:5px}.ng-table-pager{display:none}.container-footer{margin-top:20px}.vcenter{vertical-align:middle}.modal{display:block;overflow:hidden}.modal
 .close{position:absolute;top:24px;right:24px;float:none}.modal 
.modal-dialog{width:610px}.modal 
.modal-content{-webkit-border-radius:0;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{margin:0;color:#aaa;font-size:1em;margin-top:3px}.modal .modal-content 
.modal-spacer{padding:10px 10px 0 10px}.modal .modal-content 
.modal-footer{margin-top:0}.modal-body{padding-top:30px}h1.ignite-logo{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli";)}.st-sor
 
t-ascent:after{content:'\25B2'}.st-sort-descent:after{content:'\25BC'}.docs-content
 table{width:100%;border-top:1px solid #ccc;border-left:1px solid 
#ccc;margin-bottom:30px}.docs-content th{border-right:1px solid 
#ccc;border-bottom:1px solid 
#ccc;background-color:#f7f7f7;padding:5px}.docs-content td{border-right:1px 
solid #ccc;border-bottom:1px solid 
#ccc;vertical-align:top;padding:5px}.block-display-image 
img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh
 - 200px)}
\ 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:40%;left:50%;min-width:320px;max-width:630px;width:50%;-webkit-transform:translateX(-50%)
 translateY(-50%);transform:translateX(-50%) translateY(-50%)}.ng-table 
th.text-right{text-align:right}.ng-table th.text-left{text-align:left}.ng-table 
th.text-center{text-align:center}.fa.fa-remove{color:red}.border-left{-webkit-box-shadow:1px
 0 0px 0px #eee inset;box-shadow:1px 0 0px 0px #eee 
inset}.border-right{-webkit-box-shadow:1px 0 0px 0px #eee;box-shadow:1px 0 0px 
0px #eee}.theme-line{background-
 color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header 
.search-bar{width:90%;margin:30px auto 
0;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 0 0 5px 
rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.1);box-shadow:0 0 0 5px 
rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.1);position:relative}.theme-line header 
.search-bar.focus{-webkit-box-shadow:0 0 0 5px rgba(0,0,0,0.2),0 0 0 1px 
rgba(0,0,0,0.1);box-shadow:0 0 0 5px rgba(0,0,0,0.2),0 0 0 1px 
rgba(0,0,0,0.1)}.theme-line header .search-bar 
.fa{position:absolute;top:10px;left:14px;font-size:21px;color:#ccc;z-index:10}.theme-line
 header .search-bar .twitter-typeahead{width:100%}.theme-line header 
.search-bar 
input{-webkit-border-radius:5px;border-radius:5px;height:100%;border:0 
none;-webkit-box-shadow:0 2px 2px rgba(0,0,0,0.1) inset;box-shadow:0 2px 2px 
rgba(0,0,0,0.1) inset;color:#444;width:100%;padding:13px 13px 13px 
50px;font-size:14px}.theme-line header .search-bar 
input.tt-hint{color:#bbb}.theme-line header .sea
 rch-bar input:active .theme-line header .search-bar input:focus{outline:0 
none;-webkit-box-shadow:0 2px 2px rgba(0,0,0,0.2) inset;box-shadow:0 2px 2px 
rgba(0,0,0,0.2) inset}.theme-line header .search-bar 
.tt-dropdown-menu,.theme-solid header .search-bar 
.tt-dropdown-menu{width:100%;text-align:left}.theme-line header .search-bar 
.tt-dropdown-menu h3{padding:0 
45px;color:#ccc;font-weight:bold;font-size:12px;margin:10px 0 
4px;text-transform:uppercase}.theme-line header .search-bar .tt-dropdown-menu 
.tt-suggestions{display:block}.theme-line header .search-bar .tt-dropdown-menu 
.tt-suggestions .tt-suggestion{cursor:pointer;font-size:14px;padding:4px 
45px}.theme-line header .search-bar .tt-dropdown-menu .tt-suggestions 
.tt-suggestion 
p{color:#333;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.theme-line
 header .search-bar .tt-cursor{background-color:#eee}.theme-line header 
.search-bar .tt-cursor p{color:#fff}.theme-line header a.btn{border:0 none;padd
 ing: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 .navbar-nav .active 
a{font-weight:bold}.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:25px}.theme-line .btn-primary{border:0 
none}.theme-line .main-content .nav-horizontal a{-webkit-box-shadow:0 
0;box-shadow:0 0;border:0 
none;background-color:#fff;-webkit-border-radius:0;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 
.sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav 
ul{padding:0;list-style:none;font-size:13px;margin:3px 0 0}.theme-line 
.sidebar-nav ul li a{padding:3px 
0;display:block;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.theme-line
 .sidebar-nav ul li a:before{top:0;content
 :" 
";display:block;width:6px;height:100%;position:absolute;left:-30px}.theme-line 
.sidebar-nav ul li a:hover{text-decoration:none}.theme-line .sidebar-nav ul li 
a.active{font-weight:bold}.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:0em}.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:0;margin-top:5px;margin-right:15px}.header
 h1.navbar-brand a{text-indent:-99999px;background-position:center 
center;display:block;width:100%;height:100%;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;
 background-repeat:no-repeat}.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;-webkit-border-radius:3px;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}.header #jumbotron{margin:55px 70px 
50px;text-align:center}.header #jumbotron 
h2{margin-top:0;margin-bottom:20px}.header #jumbotron p{margin-bottom:0;
 line-height:1.6em;font-size:16px}.header #jumbotron 
.btn{margin-top:20px}.header 
.searchbox{position:relative;margin-right:15px;top:9px}.header .searchbox 
.fa-search{position:absolute;top:8px;right:10px;color:#777;pointer-events:none}.header
 .searchbox .typeahead{line-height:1.25em;-webkit-transition:.3s 
ease-out;-moz-transition:.3s ease-out;-o-transition:.3s 
ease-out;-ms-transition:.3s ease-out;transition:.3s 
ease-out;background-color:rgba(0,0,0,0.05);-webkit-border-radius:5px;border-radius:5px;width:95px}.header
 .searchbox .typeahead:focus,.header .searchbox .typeahead:active{outline:0 
none}.header .searchbox 
.tt-dropdown-menu{max-width:350px;margin-left:-100px}.header .searchbox 
.tt-dropdown-menu h3{width:100px;float:left;margin:0;padding:8px 0 6px 
15px;font-size:13px;color:#bbb}.header .searchbox .tt-dropdown-menu 
.tt-suggestions{display:block;float:left;width:250px}.header .searchbox 
.tt-dropdown-menu .tt-suggestions .tt-suggestion{font-size:14px}.header 
.searchbox .tt-dropdown
 -menu .tt-suggestions .tt-suggestion 
p{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.header
 .searchbox .tt-cursor{background-color:#eee}.header .searchbox .tt-cursor 
p{color:#fff}.header .searchbox input{border:0 
none;display:inline-block;font-size:14px;padding:6px 32px 6px 
12px;margin:0}.header .searchbox input.tt-hint{height:auto}.header 
.searchbox.focus input{width:250px}.theme-line header{border-bottom:8px 
solid}.theme-line header h2{color:#aaa}.theme-line header 
p{color:#666}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav 
a{color:#bbb}.theme-line.lumosity-light .searchbox .tt-cursor 
p{color:rgba(0,0,0,0.7)}.theme-line 
header{border-bottom-color:#ec1c24}.theme-line header 
a.btn{background-color:#ec1c24}.theme-line header 
a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav 
a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line header 
.navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line .nav
 bar-nav .active a{font-weight:bold;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:#ec1c24}.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 
.btn-primary{background-color:#ec1c24}.theme-line 
.btn-primary:hover{background-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-content 
.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:#ec1c
 24}.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}.body-overlap 
.main-content{margin-top:30px}.body-box .main-content,.body-overlap 
.main-content{padding:30px;-webkit-box-shadow:0 0 0 1px 
rgba(0,0,0,0.1);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-ali
 
gn:right;padding-bottom:5px}.ng-table-pager{display:none}.container-footer{margin-top:20px}.vcenter{vertical-align:middle}.modal{display:block;overflow:hidden}.modal
 .close{position:absolute;top:24px;right:24px;float:none}.modal 
.modal-dialog{width:610px}.modal 
.modal-content{-webkit-border-radius:0;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{margin:0;color:#aaa;font-size:1em;margin-top:3px}.modal .modal-content 
.modal-spacer{padding:10px 10px 0 10px}.modal .modal-content 
.modal-footer{margin-top:0}.modal-body{padding-top:30px}h1.ignite-logo{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli";)}.st-sor
 
t-ascent:after{content:'\25B2'}.st-sort-descent:after{content:'\25BC'}.st-selected{background:#216eff;color:white}.docs-content
 table{width:100%;border-top:1px solid #ccc;border-left:1px solid 
#ccc;margin-bottom:30px}.docs-content th{text-align:center;border-right:1px 
solid #ccc;border-bottom:1px solid 
#ccc;background-color:#f7f7f7;padding:5px}.docs-content 
td{text-align:center;border-right:1px solid #ccc;border-bottom:1px solid 
#ccc;vertical-align:middle;padding:5px}.docs-content 
td>.input-group{display:block}.docs-content td>.input-group 
input{width:50%}.docs-content td>.input-group 
button{width:50%;border-left:0}.block-display-image 
img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh
 - 230px)}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/33f3c9fd/modules/webconfig/nodejs/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/stylesheets/style.less 
b/modules/webconfig/nodejs/public/stylesheets/style.less
index 4fdc0ab..35cb830 100644
--- a/modules/webconfig/nodejs/public/stylesheets/style.less
+++ b/modules/webconfig/nodejs/public/stylesheets/style.less
@@ -798,6 +798,11 @@ h1.ignite-logo {
   content: '\25BC';
 }
 
+.st-selected{
+  background: #216eff;
+  color: white;
+}
+
 .docs-content table {
   width: 100%;
   border-top: 1px solid #ccc;
@@ -806,6 +811,7 @@ h1.ignite-logo {
 }
 
 .docs-content th {
+  text-align: center;
   border-right: 1px solid #ccc;
   border-bottom: 1px solid #ccc;
   background-color: #f7f7f7;
@@ -813,12 +819,27 @@ h1.ignite-logo {
 }
 
 .docs-content td {
+  text-align: center;
   border-right: 1px solid #ccc;
   border-bottom: 1px solid #ccc;
-  vertical-align: top;
+  vertical-align: middle;
   padding: 5px;
 }
 
+.docs-content td > .input-group {
+  input {
+    width: 50%;
+  }
+
+  button {
+    width: 50%;
+    border-left: 0;
+  }
+
+  display: block;
+}
+
+
 .block-display-image img {
   max-width: 100%;
   max-height: 450px;
@@ -828,5 +849,5 @@ h1.ignite-logo {
 
 .greedy {
   min-height: 200px;
-  height: ~"calc(100vh - 200px)";
+  height: ~"calc(100vh - 230px)";
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/33f3c9fd/modules/webconfig/nodejs/views/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/clusters.jade 
b/modules/webconfig/nodejs/views/clusters.jade
index 68f282f..f7c2fbc 100644
--- a/modules/webconfig/nodejs/views/clusters.jade
+++ b/modules/webconfig/nodejs/views/clusters.jade
@@ -1,8 +1,20 @@
-// Page with cluster configuration.
-extends layout-sidebar
+//-
+    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.
 
-append css
-    //link(rel='stylesheet', href='/stylesheets/ng-table.css')
+extends layout-sidebar
 
 append scripts
     script(src='/javascripts/controllers/clusters.js')
@@ -16,46 +28,29 @@ block content
         table(st-table='rowCollection' st-safe-src='clusters')
             thead
                 tr
-                    th #
+                    th(style='width: 50px') #
                     th(st-sort='name') Name
-                    th Action
+                    th.col-sm-1 Action
             tbody
-                tr(st-select-row='row' st-select-mode='single' ng-repeat='row 
in rowCollection')
+                tr(st-select-row='row' ng-click='cluster=row' 
st-select-mode='single' ng-repeat='row in rowCollection')
                     td {{$index + 1}}
                     td {{row.name}}
-                    td.col-sm-1
-                        center
-                            span(type='button' ng-click='removeItem(row._id)')
-                                i(class=['fa', 'fa-remove'])
-        //div.block-edit-parameters
-        //    div.btn-group
-        //        button(ng-click='addCluster()' class=['btn', 'btn-default', 
'fa', 'fa-plus'] ) &nbspAdd
-        //table(ng-table="clustersTable" class=['table', 'table-bordered', 
'table-hover', 'ng-table-responsive'])
-        //    tr(ng-repeat="cluster in $data")
-        //        td(data-title="'#'" class=['text-center', 'vcenter'] 
style='width: 50px') {{$index + 1}}
-        //        td(data-title="'Name'" sortable="'name'" 
class=['text-center', 'col-sm-7'])
-        //            div(ng-if='!(editColumn == "name" && currentCluster == 
cluster)')
-        //                span(ng-if='cluster.name') {{cluster.name}}
-        //                span.pull-right(type='button' 
ng-click='beginEditCluster("name", cluster);')
-        //                    i(class=['fa', 'fa-pencil'])
-        //            div.input-group(ng-if='editColumn == "name" && 
currentCluster == cluster')
-        //                input.form-control(type='text' 
ng-model='cluster.name')
-        //                span.input-group-addon
-        //                    i(class=['fa', 'fa-repeat'] ng-click='revert();')
-        //                    i(class=['fa', 'fa-save'] ng-click='submit();' 
style='margin-left: 10px;')
-        //        td.text-center(data-title="'Discovery'" 
sortable="'discovery'")
-        //            div(ng-if='!(editColumn == "discovery" && currentCluster 
== cluster)')
-        //                span(ng-if='cluster.discovery') 
{{discoveryAsString(cluster.discovery)}}
-        //                span.pull-right(type='button')
-        //                    i(class=['fa', 'fa-caret-square-o-down'] 
ng-click='editStaticIps(cluster);')
-        //                    i(class=['fa', 'fa-pencil'] 
ng-click='beginEditCluster("discovery", cluster);' style='margin-left: 10px;')
-        //            div.input-group(ng-if='editColumn == "discovery" && 
currentCluster == cluster')
-        //                button(class=['btn', 'btn-default', 'form-control', 
'pull-right'] style='width: 85%' data-placement='bottom-center' 
ng-model='cluster.discovery' data-template='/select' data-placeholder='Choose 
discovery' bs-options='discovery.value as discovery.label for discovery in 
discoveries' bs-select)
-        //                    span.caret
-        //                span.input-group-addon
-        //                    i(class=['fa', 'fa-repeat'] 
ng-click='revertCluster();')
-        //                    i(class=['fa', 'fa-save'] ng-click='submit();' 
style='margin-left: 10px;')
-        //        td.col-sm-1(data-title="'Delete'")
-        //            center
-        //                span(type='button' ng-click='deleteCluster(cluster)')
-        //                    i(class=['fa', 'fa-remove'])
\ No newline at end of file
+                    td
+                        span(type='button' ng-click='removeItem(row._id)')
+                            i(class=['fa', 'fa-remove'])
+            tfoot
+                tr
+                    td
+                    td
+                        div(class=['input-group'])
+                            input.form-control(type='text' name="name" 
ng-model='create.name' placeholder='Enter cluster name')
+                            button(class=['btn-default', 'form-control'] 
ng-model='create.template' data-placement='bottom-center' 
data-template='/select' data-placeholder='Choose cluster template' 
bs-options='item.value as item.label for item in templates' bs-select)
+                                span.caret
+                    td
+                        button(ng-click='createItem()' class=['btn', 
'btn-success', 'fa', 'fa-plus'] ng-disabled='!(create.name && 
create.template)') &nbspCreate
+        hr
+        form.form-horizontal
+            .form-group
+                label.control-label.col-sm-2 Cluster name
+                .col-sm-10
+                    input.form-control(type="text" ng-model='cluster.name')
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/33f3c9fd/modules/webconfig/nodejs/views/layout-sidebar.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/layout-sidebar.jade 
b/modules/webconfig/nodejs/views/layout-sidebar.jade
index f35f02d..777ec23 100644
--- a/modules/webconfig/nodejs/views/layout-sidebar.jade
+++ b/modules/webconfig/nodejs/views/layout-sidebar.jade
@@ -1,10 +1,26 @@
+//-
+    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.
+
 extends layout
 
 append scripts
 
 block container
     div.row
-       div(class=['col-sm-2', 'border-right', 'section-left'])
+       div(class=['col-sm-2', 'border-right', 'section-left', 'greedy'])
           div.sidebar-nav
              ul(ng-controller='activeLink' class="menu")
                 li

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/33f3c9fd/modules/webconfig/nodejs/views/layout.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/layout.jade 
b/modules/webconfig/nodejs/views/layout.jade
index 0f19c35..098c831 100644
--- a/modules/webconfig/nodejs/views/layout.jade
+++ b/modules/webconfig/nodejs/views/layout.jade
@@ -1,3 +1,19 @@
+//-
+    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.
+
 doctype html
 html(ng-app='ignite-web-configurator')
     head
@@ -33,7 +49,7 @@ html(ng-app='ignite-web-configurator')
             include includes/header
 
             div(class=['container', 'body-container'])
-                div(class=['main-content', 'greedy'])
+                div(class=['main-content'])
                     div.main-head
                         block container
 


Reply via email to