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/02 11:22:24 UTC

[1/4] incubator-ignite git commit: # ignite-843 Fixed login screen.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 17690acdb -> f8a21812f


# ignite-843 Fixed login screen.


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

Branch: refs/heads/ignite-843
Commit: 32cf17fadc058ade35ad93dc636383ea1b0f5ea6
Parents: 4a0fd03
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 2 15:46:15 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 2 15:46:15 2015 +0700

----------------------------------------------------------------------
 .../nodejs/public/stylesheets/style.css         |  2 +-
 .../nodejs/public/stylesheets/style.less        |  7 ++----
 modules/webconfig/nodejs/views/login.jade       | 24 ++++++++++----------
 3 files changed, 15 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32cf17fa/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 fb21a65..6e818e1 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%;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,25
 5,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:25px}.theme-line .btn-pr
 imary{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 .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 .select li a{color:#666}.theme-line .select li a:hover,.theme-line
  .select .active{color:#ec1c24;background-color:white}.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-na
 v .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-bottom-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 .n
 avbar-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-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:#ec1c24}.theme-line.body-threes .section-rig
 ht .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}.ng-table-p
 ager{display:none}.container-footer{margin-top:20px}.vcenter{display:inline-block;vertical-align:middle;float:none}.vcenter2{position:relative;top:50%;transform:translateY(-50%)}.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:30px}h1.ignite-logo{background-image:url(
 "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.st-sort-ascent:after{font-family:FontAwesome, serif;content:'\f077'}.st-sort-descent:after{font-family:FontAwesome, serif;content:'\f078'}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 230px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:20px;padding-bottom:10px}}.details-row{padding-left:1.3em}.details-table-row{padding:0}.details-row,.settings-row{display:block;margin:0.65em 0;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}button{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-heig
 ht:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.input-group{display:inline-block}.input-group .form-control{width:auto;margin-left:0;margin-right:0}.form-control{display:inline-block;text-align:left;padding:3px 3px;height:28px}.form-control button{text-align:left}.table-form-control{width:auto}.form-horizontal .control-label{padding-top:4px}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;cursor:pointer}.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{color:#ec1c24;cursor:pointer}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:10px}.
 theme-line .links table td,.theme-line table.links-edit 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-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-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit label{line-height:28px;color:#666}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:1.3em;margin-bottom:0.65em;padding:0.65em;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;line-height:14px;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.
 input-tip{display:block;overflow:hidden;padding-right:4px}.labelField{float:left;margin-right:4px}.tipField{float:right;line-height:28px;margin-right:5px}.tipLabel{font-size:14px;margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.table-nowrap{table-layout:fixed}.td-overflow{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-edit{cursor:pointer}.fa-remove{color:#ec1c24;margin-left:5px;margin-right:5px;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-invalid{border-color:#ec1c24}input.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:4px}.theme-line table.links-edit-small-padding .checkbox label{li
 ne-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}
\ 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%;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,25
 5,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:25px}.theme-line .btn-pr
 imary{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 .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 .select li a{color:#666}.theme-line .select li a:hover,.theme-line
  .select .active{color:#ec1c24;background-color:white}.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-na
 v .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-bottom-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 .n
 avbar-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-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:#ec1c24}.theme-line.body-threes .section-rig
 ht .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}.ng-table-p
 ager{display:none}.container-footer{margin-top:20px}.vcenter{display:inline-block;vertical-align:middle;float:none}.vcenter2{position:relative;top:50%;transform:translateY(-50%)}.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")}.st-sort-ascent:after{font-family:FontAwesome, serif;content:'\f077'}.st-sort-descent:after{font-family:FontAwesome, serif;content:'\f078'}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 230px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:20px;padding-bottom:10px}}.details-row{padding-left:1.3em}.details-table-row{padding:0}.details-row,.settings-row{display:block;margin:0.65em 0;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}button{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-heig
 ht:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.input-group{display:inline-block}.input-group .form-control{width:auto;margin-left:0;margin-right:0}.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;cursor:pointer}.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{color:#ec1c24;cursor:pointer}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:10px}.theme-line .links table td,.theme-line table.lin
 ks-edit 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-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-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit label{line-height:28px;color:#666}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:1.3em;margin-bottom:0.65em;padding:0.65em;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;line-height:14px;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.input-tip{display:block;overflow:hidden;padding-
 right:4px}.labelField{float:left;margin-right:4px}.tipField{float:right;line-height:28px;margin-right:5px}.tipLabel{font-size:14px;margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.table-nowrap{table-layout:fixed}.td-overflow{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-edit{cursor:pointer}.fa-remove{color:#ec1c24;margin-left:5px;margin-right:5px;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}.aler
 t.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{border-color:#ec1c24}input.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:4px}.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}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32cf17fa/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 3a41467..19babc8 100644
--- a/modules/webconfig/nodejs/public/stylesheets/style.less
+++ b/modules/webconfig/nodejs/public/stylesheets/style.less
@@ -577,7 +577,7 @@ a:hover, .link:hover .title {
 }
 
 .modal-body {
-  padding-top: 30px;
+  padding-top: 15px;
 }
 
 h1.ignite-logo {
@@ -693,9 +693,6 @@ table tr:hover{ cursor:pointer; }
   width: auto;
 }
 
-.form-horizontal .control-label {
-  padding-top: 4px;
-}
 
 button .caret {
   float: right;
@@ -944,7 +941,7 @@ input[type="number"] {
   -moz-appearance: textfield;
 }
 
-input.ng-invalid {
+input.ng-dirty.ng-invalid {
   border-color: #ec1c24;
 
   :focus {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32cf17fa/modules/webconfig/nodejs/views/login.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/login.jade b/modules/webconfig/nodejs/views/login.jade
index 8ad1109..0d73552 100644
--- a/modules/webconfig/nodejs/views/login.jade
+++ b/modules/webconfig/nodejs/views/login.jade
@@ -20,24 +20,24 @@
             .modal-header.header
                 div(id='errors-container')
                 button.close(type='button', ng-click='$hide()', aria-hidden='true') &times;
-                h1.navbar-brand.pull-left
+                h1.navbar-brand
                     a(href='/') Apache Ignite Web Configurator
-                h4.modal-title Authentication
-                p Log in or register in order to collaborate
+                h4.modal-title(style='padding-right: 55px') Authentication
+                p(style='padding-right: 55px') Log in or register in order to collaborate
             form.form-horizontal(name='loginForm')
                 .modal-body.row
                     .col-sm-9.login.col-sm-offset-1
-                        .form-group(ng-show='action == "register"')
-                            label.col-sm-3.control-label Full Name:
-                            .controls.col-sm-9
+                        .details-row(ng-show='action == "register"')
+                            label.col-sm-3.required Full Name:
+                            .col-sm-9
                                 input.form-control(type='text', ng-model='user_info.username', placeholder='John Smith', focus-me='action=="register"', ng-required='action=="register"')
-                        .form-group
-                            label.col-sm-3.control-label Email:
-                            .controls.col-sm-9
+                        .details-row
+                            label.col-sm-3.required Email:
+                            .col-sm-9
                                 input.form-control(type='email', ng-model='user_info.email', placeholder='you@domain.com', focus-me='action=="login"', required)
-                        .form-group
-                            label.col-sm-3.control-label Password:
-                            .controls.col-sm-9
+                        .details-row
+                            label.col-sm-3.required Password:
+                            .col-sm-9
                                 input.form-control(type='password', ng-model='user_info.password', placeholder='Password', required)
             .modal-footer
                 a.show-signup.ng-hide(ng-show='action != "login"', ng-click='action = "login";') log in


[4/4] incubator-ignite git commit: Merge remote-tracking branch 'origin/ignite-843' into ignite-843

Posted by an...@apache.org.
Merge remote-tracking branch 'origin/ignite-843' into ignite-843


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

Branch: refs/heads/ignite-843
Commit: f8a21812febebf29af5a306bc2a9dbd8cf70c12e
Parents: 962b7f1 17690ac
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 2 16:22:19 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 2 16:22:19 2015 +0700

----------------------------------------------------------------------
 modules/web-control-center/nodejs/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[3/4] incubator-ignite git commit: Merge remote-tracking branch 'origin/ignite-843' into ignite-843

Posted by an...@apache.org.
Merge remote-tracking branch 'origin/ignite-843' into ignite-843


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

Branch: refs/heads/ignite-843
Commit: 962b7f12b7e4e6bc60edfcc3d8d946d60b96c856
Parents: 668d707 bb1489e
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 2 15:50:14 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 2 15:50:14 2015 +0700

----------------------------------------------------------------------
 assembly/dependencies-fabric.xml                |   1 +
 examples/pom.xml                                |   2 +-
 modules/aop/pom.xml                             |   2 +-
 modules/aws/pom.xml                             |   2 +-
 modules/clients/pom.xml                         |   2 +-
 .../ClientAbstractConnectivitySelfTest.java     |   4 +-
 modules/cloud/pom.xml                           |   2 +-
 modules/codegen/pom.xml                         |   2 +-
 modules/core/pom.xml                            |   2 +-
 .../apache/ignite/IgniteSystemProperties.java   |   3 +
 .../org/apache/ignite/cluster/ClusterGroup.java |  18 +-
 .../org/apache/ignite/cluster/ClusterNode.java  |   2 +
 .../configuration/CacheConfiguration.java       | 105 +--
 .../configuration/IgniteReflectionFactory.java  |  81 +-
 .../configuration/NearCacheConfiguration.java   |  10 +-
 .../ignite/internal/GridKernalContextImpl.java  |   5 +-
 .../ignite/internal/MarshallerContextImpl.java  |  12 +-
 .../internal/cluster/ClusterGroupAdapter.java   |  50 +-
 .../cluster/IgniteClusterAsyncImpl.java         |  12 +-
 .../internal/managers/GridManagerAdapter.java   |   8 +-
 .../managers/communication/GridIoManager.java   |  49 +-
 .../discovery/GridDiscoveryManager.java         |  62 +-
 .../processors/cache/GridCacheContext.java      |   2 +-
 .../cache/GridCacheDeploymentManager.java       |  10 +-
 .../GridCachePartitionExchangeManager.java      |   7 +-
 .../processors/cache/GridCacheProcessor.java    |  62 +-
 .../processors/cache/GridCacheSwapManager.java  |  12 +-
 .../processors/cache/IgniteCacheFutureImpl.java |  42 +
 .../processors/cache/IgniteCacheProxy.java      |   2 +-
 .../distributed/dht/GridDhtLocalPartition.java  |   3 +-
 .../distributed/dht/GridDhtLockFuture.java      |   2 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   9 +-
 .../GridDhtPartitionsExchangeFuture.java        |  95 ++-
 .../continuous/CacheContinuousQueryHandler.java |   8 +
 .../processors/clock/GridClockServer.java       |  21 +-
 .../datastructures/DataStructuresProcessor.java |  64 +-
 .../processors/hadoop/HadoopJobInfo.java        |   4 +-
 .../hadoop/counter/HadoopCounterWriter.java     |   5 +-
 .../offheap/GridOffHeapProcessor.java           |  19 +-
 .../processors/plugin/CachePluginManager.java   |  10 +-
 .../processors/rest/GridRestProcessor.java      |   4 +-
 .../handlers/task/GridTaskCommandHandler.java   |  12 +-
 .../processors/task/GridTaskWorker.java         |   4 +-
 .../internal/util/GridConfigurationFinder.java  |  55 +-
 .../apache/ignite/internal/util/GridDebug.java  |  37 +-
 .../ignite/internal/util/IgniteUtils.java       |   6 +-
 .../internal/util/future/IgniteFutureImpl.java  |  18 +-
 .../shmem/IpcSharedMemoryServerEndpoint.java    |  10 +-
 .../util/nio/GridNioMessageTracker.java         |  23 +-
 .../ignite/internal/util/nio/GridNioServer.java |  64 +-
 .../apache/ignite/internal/visor/VisorJob.java  |   2 +
 .../internal/visor/log/VisorLogSearchTask.java  |   2 +-
 .../visor/node/VisorNodeDataCollectorJob.java   |   4 +
 .../visor/query/VisorQueryCleanupTask.java      |  14 +
 .../util/VisorClusterGroupEmptyException.java   |  37 +
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |   7 +-
 .../org/apache/ignite/spi/IgniteSpiContext.java |   9 +-
 .../communication/tcp/TcpCommunicationSpi.java  | 104 ++-
 .../tcp/TcpCommunicationSpiMBean.java           |  19 +
 .../ignite/spi/discovery/DiscoverySpi.java      |   3 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java    | 234 ++++--
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 127 ++-
 .../spi/discovery/tcp/TcpDiscoveryImpl.java     |   3 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |   9 +-
 .../TcpDiscoveryMulticastIpFinder.java          |  74 +-
 .../messages/TcpDiscoveryNodeFailedMessage.java |  18 +
 .../core/src/main/resources/ignite.properties   |   2 +-
 .../core/src/test/config/spark/spark-config.xml |  46 ++
 modules/core/src/test/config/tests.properties   |   6 +-
 .../internal/ClusterGroupAbstractTest.java      | 777 ++++++++++++++++++
 .../internal/ClusterGroupHostsSelfTest.java     | 141 ++++
 .../ignite/internal/ClusterGroupSelfTest.java   | 251 ++++++
 .../internal/GridDiscoveryEventSelfTest.java    |  12 +-
 ...ridFailFastNodeFailureDetectionSelfTest.java |  17 +-
 .../internal/GridProjectionAbstractTest.java    | 784 -------------------
 .../ignite/internal/GridProjectionSelfTest.java | 251 ------
 .../apache/ignite/internal/GridSelfTest.java    |   2 +-
 .../IgniteSlowClientDetectionSelfTest.java      | 187 +++++
 .../IgniteTopologyPrintFormatSelfTest.java      | 289 +++++++
 .../CacheReadThroughAtomicRestartSelfTest.java  |  32 +
 ...heReadThroughLocalAtomicRestartSelfTest.java |  32 +
 .../CacheReadThroughLocalRestartSelfTest.java   |  32 +
 ...dThroughReplicatedAtomicRestartSelfTest.java |  32 +
 ...cheReadThroughReplicatedRestartSelfTest.java |  32 +
 .../cache/CacheReadThroughRestartSelfTest.java  | 133 ++++
 .../cache/GridCacheAbstractSelfTest.java        |   2 +-
 .../IgniteDaemonNodeMarshallerCacheTest.java    | 192 +++++
 ...eDynamicCacheStartNoExchangeTimeoutTest.java | 466 +++++++++++
 .../cache/IgniteDynamicCacheStartSelfTest.java  |  37 +
 ...GridCacheQueueMultiNodeAbstractSelfTest.java |   4 +-
 .../GridCacheSetAbstractSelfTest.java           |  22 +-
 .../IgniteDataStructureWithJobTest.java         | 111 +++
 .../distributed/IgniteCache150ClientsTest.java  | 189 +++++
 ...teCacheClientNodePartitionsExchangeTest.java |   1 +
 .../distributed/IgniteCacheManyClientsTest.java |   1 +
 ...idCacheNearOnlyMultiNodeFullApiSelfTest.java |   5 -
 ...achePartitionedMultiNodeFullApiSelfTest.java |  53 +-
 .../GridCacheReplicatedFailoverSelfTest.java    |   5 +
 .../IgniteCacheTxStoreSessionTest.java          |   4 +
 .../internal/util/IgniteUtilsSelfTest.java      |  22 +
 .../GridP2PContinuousDeploymentSelfTest.java    |   2 -
 .../GridTcpCommunicationSpiConfigSelfTest.java  |   1 -
 .../tcp/TcpClientDiscoverySpiSelfTest.java      | 265 ++++++-
 .../testframework/GridSpiTestContext.java       |   7 +-
 .../testframework/junits/GridAbstractTest.java  |   2 +-
 .../ignite/testsuites/IgniteBasicTestSuite.java |   8 +-
 .../IgniteCacheDataStructuresSelfTestSuite.java |   1 +
 .../testsuites/IgniteCacheTestSuite4.java       |   8 +
 .../testsuites/IgniteClientTestSuite.java       |  38 +
 .../testsuites/IgniteKernalSelfTestSuite.java   |   1 +
 modules/core/src/test/resources/helloworld.gar  | Bin 6092 -> 0 bytes
 modules/core/src/test/resources/helloworld1.gar | Bin 6092 -> 0 bytes
 modules/core/src/test/resources/readme.txt      |   6 -
 modules/docker/Dockerfile                       |  55 ++
 modules/docker/README.txt                       |  11 +
 modules/docker/build_users_libs.sh              |  39 +
 modules/docker/download_ignite.sh               |  49 ++
 modules/docker/execute.sh                       |  62 ++
 modules/docker/run.sh                           |  34 +
 modules/extdata/p2p/pom.xml                     |   4 +-
 .../p2p/GridP2PContinuousDeploymentTask1.java   |   2 +-
 modules/extdata/uri/META-INF/ignite.xml         |  38 +
 .../extdata/uri/modules/uri-dependency/pom.xml  |  42 +
 .../deployment/uri/tasks/GarHelloWorldBean.java |  60 ++
 .../src/main/resources/gar-example.properties   |  18 +
 modules/extdata/uri/pom.xml                     |  62 +-
 .../deployment/uri/tasks/GarHelloWorldTask.java |  81 ++
 .../deployment/uri/tasks/gar-spring-bean.xml    |  29 +
 modules/gce/pom.xml                             |   2 +-
 modules/geospatial/pom.xml                      |   2 +-
 modules/hadoop/pom.xml                          |  80 +-
 .../fs/IgniteHadoopFileSystemCounterWriter.java |   9 +-
 .../processors/hadoop/HadoopClassLoader.java    |  29 +
 .../processors/hadoop/HadoopDefaultJobInfo.java |  27 +-
 .../internal/processors/hadoop/HadoopUtils.java | 237 ------
 .../hadoop/SecondaryFileSystemProvider.java     |   3 +-
 .../hadoop/fs/HadoopFileSystemCacheUtils.java   | 241 ++++++
 .../hadoop/fs/HadoopFileSystemsUtils.java       |  11 +
 .../hadoop/fs/HadoopLazyConcurrentMap.java      |   5 +
 .../hadoop/jobtracker/HadoopJobTracker.java     |  25 +-
 .../child/HadoopChildProcessRunner.java         |   3 +-
 .../processors/hadoop/v2/HadoopV2Job.java       |  84 +-
 .../hadoop/v2/HadoopV2JobResourceManager.java   |  22 +-
 .../hadoop/v2/HadoopV2TaskContext.java          |  37 +-
 .../apache/ignite/igfs/IgfsEventsTestSuite.java |   5 +-
 .../processors/hadoop/HadoopMapReduceTest.java  |   2 +-
 .../processors/hadoop/HadoopTasksV1Test.java    |   7 +-
 .../processors/hadoop/HadoopTasksV2Test.java    |   7 +-
 .../processors/hadoop/HadoopV2JobSelfTest.java  |   6 +-
 .../collections/HadoopAbstractMapTest.java      |   3 +-
 .../testsuites/IgniteHadoopTestSuite.java       |   2 +-
 .../IgniteIgfsLinuxAndMacOSTestSuite.java       |   3 +-
 modules/hibernate/pom.xml                       |   2 +-
 modules/indexing/pom.xml                        |   2 +-
 .../processors/query/h2/IgniteH2Indexing.java   |   2 +
 .../query/h2/twostep/GridMapQueryExecutor.java  |  23 +-
 .../cache/IgniteCacheOffheapEvictQueryTest.java | 196 +++++
 .../IgniteCacheQuerySelfTestSuite.java          |   1 +
 modules/jcl/pom.xml                             |   2 +-
 modules/jta/pom.xml                             |   2 +-
 .../cache/jta/GridCacheXAResource.java          |  18 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |   2 +-
 modules/log4j/pom.xml                           |   2 +-
 modules/mesos/pom.xml                           |   2 +-
 modules/rest-http/pom.xml                       |   2 +-
 modules/scalar-2.10/pom.xml                     |   2 +-
 modules/scalar/pom.xml                          |   2 +-
 modules/schedule/pom.xml                        |   2 +-
 modules/schema-import/pom.xml                   |   2 +-
 .../ignite/schema/model/PojoDescriptor.java     |   2 +
 .../apache/ignite/schema/model/PojoField.java   |   1 +
 .../parser/dialect/OracleMetadataDialect.java   |   2 +-
 modules/slf4j/pom.xml                           |   2 +-
 modules/spark-2.10/pom.xml                      |   2 +-
 modules/spark/pom.xml                           |   2 +-
 .../org/apache/ignite/spark/IgniteContext.scala |  50 +-
 .../org/apache/ignite/spark/IgniteRddSpec.scala |  18 +
 modules/spring/pom.xml                          |   2 +-
 modules/ssh/pom.xml                             |   2 +-
 modules/tools/pom.xml                           |   2 +-
 modules/urideploy/pom.xml                       |   2 +-
 .../GridTaskUriDeploymentDeadlockSelfTest.java  |  13 +-
 .../ignite/p2p/GridP2PDisabledSelfTest.java     |   2 +-
 modules/visor-console-2.10/pom.xml              |   2 +-
 modules/visor-console/pom.xml                   |   2 +-
 .../commands/cache/VisorCacheCommand.scala      |   7 +-
 modules/visor-plugins/pom.xml                   |   2 +-
 modules/web-control-center/nodejs/package.json  |   8 +-
 .../public/javascripts/controllers/clusters.js  |   2 +-
 .../public/javascripts/controllers/common.js    |   1 -
 .../nodejs/views/includes/header.jade           |   4 +-
 .../nodejs/views/layout-sidebar.jade            |   8 +-
 modules/web/pom.xml                             |   2 +-
 modules/yardstick/pom.xml                       |   2 +-
 pom.xml                                         |  14 +-
 scripts/git-patch-prop.sh                       |   2 +-
 196 files changed, 6099 insertions(+), 1984 deletions(-)
----------------------------------------------------------------------



[2/4] incubator-ignite git commit: Merge remote-tracking branch 'origin/ignite-843' into ignite-843

Posted by an...@apache.org.
Merge remote-tracking branch 'origin/ignite-843' into ignite-843


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

Branch: refs/heads/ignite-843
Commit: 668d707d2e90bba2c9f8a3f474c4b161ecaeb2e8
Parents: 32cf17f 8e79260
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 2 15:46:28 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 2 15:46:28 2015 +0700

----------------------------------------------------------------------
 .../web-control-center/licenses/apache-2.0.txt  | 202 ++++
 modules/web-control-center/nodejs/.gitignore    |   1 +
 modules/web-control-center/nodejs/DEVNOTES.txt  |  14 +
 modules/web-control-center/nodejs/app.js        | 125 +++
 modules/web-control-center/nodejs/bin/www       |  90 ++
 .../nodejs/config/default.json                  |   8 +
 .../web-control-center/nodejs/configuration.js  |  22 +
 modules/web-control-center/nodejs/db.js         | 320 ++++++
 modules/web-control-center/nodejs/package.json  |  36 +
 .../nodejs/public/favicon.ico                   | Bin 0 -> 1150 bytes
 .../nodejs/public/form-models/caches.json       | 804 +++++++++++++++
 .../nodejs/public/form-models/clusters.json     | 849 ++++++++++++++++
 .../nodejs/public/form-models/persistence.json  |  66 ++
 .../nodejs/public/images/docker.png             | Bin 0 -> 994 bytes
 .../nodejs/public/images/java.png               | Bin 0 -> 170 bytes
 .../nodejs/public/images/logo.png               | Bin 0 -> 8148 bytes
 .../nodejs/public/images/xml.png                | Bin 0 -> 232 bytes
 .../nodejs/public/javascripts/bundle.js         |  18 +
 .../public/javascripts/controllers/caches.js    | 237 +++++
 .../public/javascripts/controllers/clusters.js  | 207 ++++
 .../public/javascripts/controllers/common.js    | 169 ++++
 .../javascripts/controllers/persistences.js     | 202 ++++
 .../public/javascripts/controllers/summary.js   | 137 +++
 .../nodejs/public/javascripts/dataStructures.js |  84 ++
 .../nodejs/public/stylesheets/style.css         |   1 +
 .../nodejs/public/stylesheets/style.less        | 994 +++++++++++++++++++
 .../web-control-center/nodejs/routes/auth.js    |  74 ++
 .../web-control-center/nodejs/routes/caches.js  |  91 ++
 .../nodejs/routes/clusters.js                   | 100 ++
 .../nodejs/routes/configGenerator.js            |  69 ++
 .../web-control-center/nodejs/routes/pages.js   |  68 ++
 .../nodejs/routes/persistences.js               | 313 ++++++
 .../nodejs/test/routes/persistence.js           |  32 +
 .../nodejs/utils/generatorJava.js               | 555 +++++++++++
 .../nodejs/utils/generatorUtils.js              | 227 +++++
 .../nodejs/utils/generatorXml.js                | 502 ++++++++++
 .../web-control-center/nodejs/views/caches.jade |  68 ++
 .../nodejs/views/clients.jade                   |  26 +
 .../nodejs/views/clusters.jade                  |  71 ++
 .../web-control-center/nodejs/views/error.jade  |  22 +
 .../nodejs/views/includes/controls.jade         | 193 ++++
 .../nodejs/views/includes/footer.jade           |  23 +
 .../nodejs/views/includes/header.jade           |  36 +
 .../web-control-center/nodejs/views/index.jade  |  29 +
 .../nodejs/views/layout-sidebar.jade            |  37 +
 .../web-control-center/nodejs/views/layout.jade |  59 ++
 .../web-control-center/nodejs/views/login.jade  |  47 +
 .../nodejs/views/persistence.jade               | 115 +++
 .../web-control-center/nodejs/views/sql.jade    |  23 +
 .../nodejs/views/summary.jade                   |  93 ++
 .../nodejs/views/templates/select.jade          |  26 +
 modules/webconfig/licenses/apache-2.0.txt       | 202 ----
 modules/webconfig/nodejs/.gitignore             |   1 -
 modules/webconfig/nodejs/DEVNOTES.txt           |  14 -
 modules/webconfig/nodejs/app.js                 | 125 ---
 modules/webconfig/nodejs/bin/www                |  90 --
 modules/webconfig/nodejs/config/default.json    |   8 -
 modules/webconfig/nodejs/configuration.js       |  22 -
 modules/webconfig/nodejs/db.js                  | 320 ------
 modules/webconfig/nodejs/package.json           |  36 -
 modules/webconfig/nodejs/public/favicon.ico     | Bin 1150 -> 0 bytes
 .../nodejs/public/form-models/caches.json       | 804 ---------------
 .../nodejs/public/form-models/clusters.json     | 849 ----------------
 .../nodejs/public/form-models/persistence.json  |  66 --
 .../webconfig/nodejs/public/images/docker.png   | Bin 994 -> 0 bytes
 modules/webconfig/nodejs/public/images/java.png | Bin 170 -> 0 bytes
 modules/webconfig/nodejs/public/images/logo.png | Bin 8148 -> 0 bytes
 modules/webconfig/nodejs/public/images/xml.png  | Bin 232 -> 0 bytes
 .../nodejs/public/javascripts/bundle.js         |  18 -
 .../public/javascripts/controllers/caches.js    | 237 -----
 .../public/javascripts/controllers/clusters.js  | 207 ----
 .../public/javascripts/controllers/common.js    | 169 ----
 .../javascripts/controllers/persistences.js     | 202 ----
 .../public/javascripts/controllers/summary.js   | 137 ---
 .../nodejs/public/javascripts/dataStructures.js |  84 --
 .../nodejs/public/stylesheets/style.css         |   1 -
 .../nodejs/public/stylesheets/style.less        | 994 -------------------
 modules/webconfig/nodejs/routes/auth.js         |  74 --
 modules/webconfig/nodejs/routes/caches.js       |  91 --
 modules/webconfig/nodejs/routes/clusters.js     | 100 --
 .../webconfig/nodejs/routes/configGenerator.js  |  69 --
 modules/webconfig/nodejs/routes/pages.js        |  68 --
 modules/webconfig/nodejs/routes/persistences.js | 313 ------
 .../webconfig/nodejs/test/routes/persistence.js |  32 -
 modules/webconfig/nodejs/utils/generatorJava.js | 555 -----------
 .../webconfig/nodejs/utils/generatorUtils.js    | 227 -----
 modules/webconfig/nodejs/utils/generatorXml.js  | 502 ----------
 modules/webconfig/nodejs/views/caches.jade      |  68 --
 modules/webconfig/nodejs/views/clients.jade     |  26 -
 modules/webconfig/nodejs/views/clusters.jade    |  71 --
 modules/webconfig/nodejs/views/error.jade       |  22 -
 .../nodejs/views/includes/controls.jade         | 193 ----
 .../webconfig/nodejs/views/includes/footer.jade |  23 -
 .../webconfig/nodejs/views/includes/header.jade |  36 -
 modules/webconfig/nodejs/views/index.jade       |  29 -
 .../webconfig/nodejs/views/layout-sidebar.jade  |  37 -
 modules/webconfig/nodejs/views/layout.jade      |  59 --
 modules/webconfig/nodejs/views/login.jade       |  47 -
 modules/webconfig/nodejs/views/persistence.jade | 115 ---
 modules/webconfig/nodejs/views/sql.jade         |  23 -
 modules/webconfig/nodejs/views/summary.jade     |  93 --
 .../nodejs/views/templates/select.jade          |  26 -
 modules/webconfig/pom.xml                       | 172 ----
 .../server/auth/AjaxAuthenticationHandler.java  |  80 --
 .../server/auth/AuthenticationProviderImpl.java |  62 --
 .../server/auth/UserAuthentication.java         | 103 --
 .../ClusterConfigurationController.java         |  57 --
 .../server/controller/JsonResponseBean.java     |  76 --
 .../server/controller/UsersController.java      | 128 ---
 .../server/dao/ClusterConfigurationDao.java     |  41 -
 .../ignite/webconfig/server/dao/UserDao.java    |  45 -
 .../impl/MongoClusterConfigurationDaoImpl.java  |  54 -
 .../server/dao/impl/MongoSpringBean.java        | 103 --
 .../server/dao/impl/MongoUserDaoImpl.java       | 135 ---
 .../server/dao/impl/MorphiaSpringBean.java      |  58 --
 .../webconfig/server/launcher/Launcher.java     |  44 -
 .../server/model/ClusterConfiguration.java      | 117 ---
 .../ignite/webconfig/server/model/User.java     | 104 --
 .../main/webapp/WEB-INF/applicationContext.xml  |  53 -
 .../src/main/webapp/WEB-INF/main-servlet.xml    |  10 -
 .../webconfig/src/main/webapp/WEB-INF/web.xml   |  40 -
 modules/webconfig/src/main/webapp/css/home.css  |  34 -
 modules/webconfig/src/main/webapp/css/login.css | 217 ----
 modules/webconfig/src/main/webapp/home.html     |  26 -
 modules/webconfig/src/main/webapp/js/home.js    |  20 -
 modules/webconfig/src/main/webapp/js/login.js   | 170 ----
 modules/webconfig/src/main/webapp/login.html    |  36 -
 127 files changed, 7485 insertions(+), 9470 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/668d707d/modules/web-control-center/nodejs/public/stylesheets/style.css
----------------------------------------------------------------------
diff --cc modules/web-control-center/nodejs/public/stylesheets/style.css
index 0000000,fb21a65..6e818e1
mode 000000,100644..100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.css
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.css
@@@ -1,0 -1,1 +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%;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,2
 55,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:25px}.theme-line .btn-p
 rimary{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 .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 .select li a{color:#666}.theme-line .select li a:hover,.theme-lin
 e .select .active{color:#ec1c24;background-color:white}.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-n
 av .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-bottom-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-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:#ec1c24}.theme-line.body-threes .section-ri
 ght .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}.ng-table-
 pager{display:none}.container-footer{margin-top:20px}.vcenter{display:inline-block;vertical-align:middle;float:none}.vcenter2{position:relative;top:50%;transform:translateY(-50%)}.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:30px}h1.ignite-logo{background-image:url
 ("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.st-sort-ascent:after{font-family:FontAwesome, serif;content:'\f077'}.st-sort-descent:after{font-family:FontAwesome, serif;content:'\f078'}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 230px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:20px;padding-bottom:10px}}.details-row{padding-left:1.3em}.details-table-row{padding:0}.details-row,.settings-row{display:block;margin:0.65em 0;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}button{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-hei
 ght:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.input-group{display:inline-block}.input-group .form-control{width:auto;margin-left:0;margin-right:0}.form-control{display:inline-block;text-align:left;padding:3px 3px;height:28px}.form-control button{text-align:left}.table-form-control{width:auto}.form-horizontal .control-label{padding-top:4px}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;cursor:pointer}.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{color:#ec1c24;cursor:pointer}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:10px}
 .theme-line .links table td,.theme-line table.links-edit 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-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-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit label{line-height:28px;color:#666}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:1.3em;margin-bottom:0.65em;padding:0.65em;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;line-height:14px;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}
 .input-tip{display:block;overflow:hidden;padding-right:4px}.labelField{float:left;margin-right:4px}.tipField{float:right;line-height:28px;margin-right:5px}.tipLabel{font-size:14px;margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.table-nowrap{table-layout:fixed}.td-overflow{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-edit{cursor:pointer}.fa-remove{color:#ec1c24;margin-left:5px;margin-right:5px;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-invalid{border-color:#ec1c24}input.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:4px}.theme-line table.links-edit-small-padding .checkbox label{l
 ine-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}
++.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%;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,2
 55,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:25px}.theme-line .btn-p
 rimary{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 .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 .select li a{color:#666}.theme-line .select li a:hover,.theme-lin
 e .select .active{color:#ec1c24;background-color:white}.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-n
 av .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-bottom-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-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:#ec1c24}.theme-line.body-threes .section-ri
 ght .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}.ng-table-
 pager{display:none}.container-footer{margin-top:20px}.vcenter{display:inline-block;vertical-align:middle;float:none}.vcenter2{position:relative;top:50%;transform:translateY(-50%)}.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")}.st-sort-ascent:after{font-family:FontAwesome, serif;content:'\f077'}.st-sort-descent:after{font-family:FontAwesome, serif;content:'\f078'}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 230px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:20px;padding-bottom:10px}}.details-row{padding-left:1.3em}.details-table-row{padding:0}.details-row,.settings-row{display:block;margin:0.65em 0;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}button{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-hei
 ght:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.input-group{display:inline-block}.input-group .form-control{width:auto;margin-left:0;margin-right:0}.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;cursor:pointer}.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{color:#ec1c24;cursor:pointer}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:10px}.theme-line .links table td,.theme-line table.li
 nks-edit 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-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-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit label{line-height:28px;color:#666}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:1.3em;margin-bottom:0.65em;padding:0.65em;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;line-height:14px;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}.input-tip{display:block;overflow:hidden;padding
 -right:4px}.labelField{float:left;margin-right:4px}.tipField{float:right;line-height:28px;margin-right:5px}.tipLabel{font-size:14px;margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.table-nowrap{table-layout:fixed}.td-overflow{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-edit{cursor:pointer}.fa-remove{color:#ec1c24;margin-left:5px;margin-right:5px;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}.ale
 rt.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{border-color:#ec1c24}input.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:4px}.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}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/668d707d/modules/web-control-center/nodejs/public/stylesheets/style.less
----------------------------------------------------------------------
diff --cc modules/web-control-center/nodejs/public/stylesheets/style.less
index 0000000,3a41467..19babc8
mode 000000,100644..100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.less
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.less
@@@ -1,0 -1,997 +1,994 @@@
+ /*
+  * 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.
+  */
+ 
+ @logo-path: "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli";
+ @input-height: 28px;
+ 
+ .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;
+   &.ng-enter {
+     opacity: 0;
+     &.ng-enter-active {
+       opacity: .5;
+     }
+   }
+   &.ng-leave {
+     opacity: .5;
+     &.ng-leave-active {
+       opacity: 0;
+     }
+   }
+ }
+ 
+ .modal.center .modal-dialog {
+   position: fixed;
+   top: 40%;
+   left: 50%;
+   min-width: 320px;
+   max-width: 630px;
+   width: 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: 25px;
+ }
+ 
+ .theme-line .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 .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 .select li a {
+   color: #666;
+ }
+ 
+ .theme-line .select  {
+   li a:hover, .active {
+     color: #ec1c24;
+     background-color: white;
+   }
+ }
+ 
+ .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-bottom-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 {
+   //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: #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-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: #ec1c24;
+ }
+ 
+ .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("@{logo-path}");
+ }
+ 
+ .header h1.navbar-brand {
+   width: 96px;
+ }
+ 
+ .block-edit-parameters {
+   text-align: right;
+   padding-bottom: 5px;
+ }
+ 
+ .ng-table-pager {
+   display: none;
+ }
+ 
+ .container-footer {
+   margin-top: 20px;
+ }
+ 
+ .vcenter {
+   display: inline-block;
+   vertical-align: middle;
+   float: none;
+ }
+ 
+ .vcenter2 {
+   position: relative;
+   top: 50%;
+   transform: translateY(-50%);
+ }
+ 
+ .border-right-remove {
+ 
+ }
+ 
+ /* Modal */
+ .modal {
+   display: block;
+   overflow: hidden;
+ }
+ 
+ .modal .close {
+   position: absolute;
+   top: 0.65em;
+   right: 0.65em;
+   float: none;
+ }
+ 
+ // Close icon
+ .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: 30px;
++  padding-top: 15px;
+ }
+ 
+ h1.ignite-logo {
+   background-image: url("@{logo-path}");
+ }
+ 
+ .st-sort-ascent:after {
+   font-family: FontAwesome, serif;
+   content: '\f077';
+ }
+ 
+ .st-sort-descent:after {
+   font-family: FontAwesome, serif;
+   content: '\f078';
+ }
+ 
+ .block-display-image img {
+   max-width: 100%;
+   max-height: 450px;
+   margin: auto;
+   display: block;
+ }
+ 
+ .greedy {
+   min-height: 200px;
+   height: ~"calc(100vh - 230px)";
+ }
+ 
+ @media (min-width: 768px) {
+   .navbar-nav > li > a {
+     padding-top: 20px;
+     padding-bottom: 10px;
+   }
+ }
+ 
+ .details-row {
+   padding-left: 1.3em;
+ }
+ 
+ .details-table-row  {
+   padding: 0;
+ }
+ 
+ .details-row, .settings-row {
+   display: block;
+   margin: 0.65em 0;
+   line-height: @input-height;
+ 
+   [class*="col-"] {
+     display: inline-block;
+     vertical-align: middle;
+     float: none;
+ 
+     padding-left: 0 !important;
+     padding-right: 0 !important;
+   }
+ 
+   input[type="checkbox"] {
+     line-height: 20px;
+     margin-right: 4px;
+   }
+ 
+   .checkbox label {
+     line-height: 20px;
+     vertical-align: middle;
+   }
+ }
+ 
+ button {
+   margin-right: 4px;
+ }
+ 
+ h1,
+ h2,
+ h3 {
+   user-select: none;
+   font-weight: normal;
+   /* Makes the vertical size of the text the same for all fonts. */
+   line-height: 1;
+ }
+ 
+ h3 {
+   color: black;
+   font-size: 1.2em;
+   margin-top: 0;
+   margin-bottom: 1.5em;
+ }
+ 
+ table tr:hover{ cursor:pointer; }
+ 
+ .input-group {
+   display: inline-block;
+ }
+ 
+ .input-group .form-control {
+   width: auto;
+   margin-left: 0;
+   margin-right: 0;
+ }
+ 
+ .form-control {
+   display: inline-block;
+   text-align: left;
+   padding: 3px 3px;
+   height: @input-height;
+ 
+   button {
+     text-align: left;
+   }
+ }
+ 
+ .table-form-control {
+   width: auto;
+ }
+ 
 -.form-horizontal .control-label {
 -  padding-top: 4px;
 -}
+ 
+ button .caret {
+   float: right;
+   margin-left: 0;
+   margin-top: 7px;
+ }
+ 
+ .theme-line .panel-heading {
+   padding: 10px 10px;
+   margin: 0;
+ 
+   h3 {
+     margin-bottom: 0;
+   }
+ 
+   h3 > a {
+     color: black;
+     cursor: pointer;
+   }
+ }
+ 
+ .theme-line .panel-title {
+   a {
+     color: #ec1c24;
+   }
+ 
+   h3 {
+     margin-bottom: 1.3em;
+   }
+ }
+ 
+ .theme-line .panel-body {
+   padding: 0.65em 1.3em;
+ }
+ 
+ .theme-line .main-content a.customize {
+   //margin-left: 10px;
+   color: #ec1c24;
+   cursor: pointer;
+ }
+ 
+ .theme-line .panel-collapse {
+   margin: 0;
+ }
+ 
+ .theme-line .links table {
+   display: table;
+   table-layout: fixed;
+   margin-bottom: 10px;
+ 
+   td {
+     padding-left: 18px;
+   }
+ 
+   .active a {
+     color: #ec1c24;
+     font-weight: bold;
+   }
+ 
+   a:hover {
+     color: #950d12;
+   }
+ 
+   a {
+     color: #666;
+   }
+ }
+ 
+ .theme-line table.links-edit:extend(.theme-line .links table all) {
+   label {
+     line-height: @input-height;
+     color: #666;
+   }
+ }
+ 
+ .btn {
+   padding: 3px 6px;
+ }
+ 
+ .panel-title a {
+   font-size: 14px;
+ }
+ 
+ .panel-details {
+   margin-top: 1.3em;
+   margin-bottom: 0.65em;
+   padding: 0.65em;
+ 
+   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;
+   line-height: 14px;
+   margin-bottom: 0;
+ }
+ 
+ .form-horizontal .checkbox {
+   padding-top: 0;
+ }
+ 
+ .input-tip {
+   display: block;
+   overflow: hidden;
+   padding-right:4px;
+ }
+ 
+ .labelField {
+   float: left;
+   margin-right: 4px;
+ }
+ 
+ .tipField {
+   float: right;
+   line-height: @input-height;
+   margin-right: 5px;
+ }
+ 
+ .tipLabel {
+   font-size: 14px;
+   margin-left: 4px;
+ }
+ 
+ .fieldButton {
+   float: right;
+   margin-left: 4px;
+   margin-right: 0;
+ }
+ 
+ .table-nowrap {
+   table-layout:fixed;
+ }
+ 
+ .td-overflow {
+   max-width: 100px;
+   overflow: hidden;
+   text-overflow: ellipsis;
+   white-space: nowrap;
+ }
+ 
+ .fa-edit {
+   cursor: pointer;
+ }
+ 
+ .fa-remove {
+   color: #ec1c24;
+   margin-left: 5px;
+   margin-right: 5px;
+   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
+ }
+ 
+ //  Summary page
+ #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-invalid {
++input.ng-dirty.ng-invalid {
+   border-color: #ec1c24;
+ 
+   :focus {
+     border-color: #ec1c24;
+   }
+ }
+ 
+ .form-control-feedback {
+   display: inline-block;
+   color: #ec1c24;
+   right: 18px;
+   line-height: @input-height;
+   pointer-events: initial;
+ }
+ 
+ .syntaxhighlighter {
+   padding: 10px 5px;
+   border-radius: 6px;
+ }
+ 
+ .theme-line table.links-edit-small-padding:extend(.theme-line .links table all) {
+   label {
+     line-height: @input-height;
+     color: #666;
+   }
+ 
+   a {
+     line-height: @input-height;
+   }
+ 
+   input[type="checkbox"] {
+     line-height: 20px;
+     margin-right: 4px;
+   }
+ 
+   .checkbox label {
+     line-height: 20px;
+     vertical-align: middle;
+   }
+ 
+   th {
+     text-align: center;
+   }
+ 
+   td {
+     padding-left: 10px;
+   }
+ 
+   margin-top: 10px;
+ }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/668d707d/modules/web-control-center/nodejs/views/login.jade
----------------------------------------------------------------------
diff --cc modules/web-control-center/nodejs/views/login.jade
index 0000000,8ad1109..0d73552
mode 000000,100644..100644
--- a/modules/web-control-center/nodejs/views/login.jade
+++ b/modules/web-control-center/nodejs/views/login.jade
@@@ -1,0 -1,47 +1,47 @@@
+ //-
+     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.center(role='dialog')
+     .modal-dialog
+         .modal-content
+             .modal-header.header
+                 div(id='errors-container')
+                 button.close(type='button', ng-click='$hide()', aria-hidden='true') &times;
 -                h1.navbar-brand.pull-left
++                h1.navbar-brand
+                     a(href='/') Apache Ignite Web Configurator
 -                h4.modal-title Authentication
 -                p Log in or register in order to collaborate
++                h4.modal-title(style='padding-right: 55px') Authentication
++                p(style='padding-right: 55px') Log in or register in order to collaborate
+             form.form-horizontal(name='loginForm')
+                 .modal-body.row
+                     .col-sm-9.login.col-sm-offset-1
 -                        .form-group(ng-show='action == "register"')
 -                            label.col-sm-3.control-label Full Name:
 -                            .controls.col-sm-9
++                        .details-row(ng-show='action == "register"')
++                            label.col-sm-3.required Full Name:
++                            .col-sm-9
+                                 input.form-control(type='text', ng-model='user_info.username', placeholder='John Smith', focus-me='action=="register"', ng-required='action=="register"')
 -                        .form-group
 -                            label.col-sm-3.control-label Email:
 -                            .controls.col-sm-9
++                        .details-row
++                            label.col-sm-3.required Email:
++                            .col-sm-9
+                                 input.form-control(type='email', ng-model='user_info.email', placeholder='you@domain.com', focus-me='action=="login"', required)
 -                        .form-group
 -                            label.col-sm-3.control-label Password:
 -                            .controls.col-sm-9
++                        .details-row
++                            label.col-sm-3.required Password:
++                            .col-sm-9
+                                 input.form-control(type='password', ng-model='user_info.password', placeholder='Password', required)
+             .modal-footer
+                 a.show-signup.ng-hide(ng-show='action != "login"', ng-click='action = "login";') log in
+                 a.show-signup(ng-show="action != 'register'", ng-click='action = "register";') sign up
+                 | &nbsp;or&nbsp;
+                 button.btn.btn-primary(ng-click='auth(action, user_info)' ng-show='action == "login"' ng-disabled='loginForm.$invalid') Log In
+                 button.btn.btn-primary(ng-click='auth(action, user_info)' ng-show='action == "register"' ng-disabled='loginForm.$invalid') Sign Up