Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 7272f5a89 -> eed5101fe


# ignite-850 WIP validation.


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

Branch: refs/heads/ignite-843
Commit: eed5101fe5467e9d8bb51dac934f976f1cc3a5d8
Parents: 7272f5a
Author: Andrey <anovi...@gridgain.com>
Authored: Tue Jun 23 13:16:40 2015 +0700
Committer: Andrey <anovi...@gridgain.com>
Committed: Tue Jun 23 13:16:40 2015 +0700

----------------------------------------------------------------------
 .../nodejs/public/form-models/clusters.json     | 18 ++++++++-----
 .../public/javascripts/controllers/common.js    |  4 +--
 .../nodejs/public/stylesheets/style.css         |  2 +-
 .../nodejs/public/stylesheets/style.less        | 27 +++++++++++++++++++-
 modules/webconfig/nodejs/views/caches.jade      |  2 +-
 modules/webconfig/nodejs/views/clusters.jade    |  2 +-
 .../nodejs/views/includes/controls.jade         | 22 +++++++++++++---
 .../webconfig/nodejs/views/includes/header.jade |  2 +-
 8 files changed, 62 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/modules/webconfig/nodejs/public/form-models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/form-models/clusters.json 
b/modules/webconfig/nodejs/public/form-models/clusters.json
index fa42e73..1fb8de3 100644
--- a/modules/webconfig/nodejs/public/form-models/clusters.json
+++ b/modules/webconfig/nodejs/public/form-models/clusters.json
@@ -23,7 +23,11 @@
       "items": "caches",
       "tip": [
         "Select caches to start in cluster."
-      ]
+      ],
+      "addLink": {
+        "label": "Add cache(s)",
+        "ref": "/caches"
+      }
     },
     {
       "label": "Discovery",
@@ -82,7 +86,7 @@
             },
             {
               "label": "Port number",
-              "type": "text",
+              "type": "number",
               "model": "multicastPort",
               "placeholder": "47400",
               "tip": [
@@ -90,8 +94,8 @@
               ]
             },
             {
-              "label": "Waits for reply ",
-              "type": "text",
+              "label": "Waits for reply",
+              "type": "number",
               "model": "responseWaitTime",
               "placeholder": "500",
               "tip": [
@@ -100,7 +104,7 @@
             },
             {
               "label": "Attempts count",
-              "type": "text",
+              "type": "number",
               "model": "addressRequestAttempts",
               "placeholder": "2",
               "tip": [
@@ -253,7 +257,7 @@
       "fields": [
         {
           "label": "Backups",
-          "type": "text",
+          "type": "number",
           "model": "backups",
           "placeholder": "0",
           "tip": [
@@ -393,7 +397,7 @@
           "placeholder": "Choose marshaller",
           "items": "marshallers",
           "tip": [
-            "Cache expiration policy."
+            "Instance of marshaller to use in grid. If not provided, 
OptimizedMarshaller will be used on Java HotSpot VM, and JdkMarshaller} will be 
used on other VMs."
           ],
           "details": {
             "OptimizedMarshaller": {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/modules/webconfig/nodejs/public/javascripts/controllers/common.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/common.js 
b/modules/webconfig/nodejs/public/javascripts/controllers/common.js
index 93d9ec1..a357c99 100644
--- a/modules/webconfig/nodejs/public/javascripts/controllers/common.js
+++ b/modules/webconfig/nodejs/public/javascripts/controllers/common.js
@@ -64,8 +64,8 @@ configuratorModule.config(function($tooltipProvider) {
         container: 'body',
         placement: 'right',
         html: 'true',
-        trigger: 'click hover',
-        delay: { hide: 600 }
+        trigger: 'click hover'
+        //,delay: { hide: 600 }
     });
 });
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/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 1a74451..df73a5c 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{display:table;table-layout:fixed;margin-bottom:10px}.theme-line
 .links table td,.theme-line tabl
 e.links-edit td{padding-left:18px}.theme-line .links table .active 
a,.theme-line table.links-edit .active 
a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line 
table.links-edit a:hover{color:#950d12}.theme-line .links table a,.theme-line 
table.links-edit 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{margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.t
 
able-nowrap{table-layout:fixed}.td-overflow{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-edit{cursor:pointer}.fa-remove{color:red;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}
\ 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: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{display:table;table-layout:fixed;margin-bottom:10px}.theme-line
 .links table td,.theme-line tabl
 e.links-edit td{padding-left:18px}.theme-line .links table .active 
a,.theme-line table.links-edit .active 
a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line 
table.links-edit a:hover{color:#950d12}.theme-line .links table a,.theme-line 
table.links-edit 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{margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.t
 
able-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-s
 
pin-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}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/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 fd2e3c3..68bff74 100644
--- a/modules/webconfig/nodejs/public/stylesheets/style.less
+++ b/modules/webconfig/nodejs/public/stylesheets/style.less
@@ -851,7 +851,7 @@ label {
 }
 
 .fa-remove {
-  color: red;
+  color: #ec1c24;
   margin-left: 5px;
   margin-right: 5px;
   cursor: pointer;
@@ -933,3 +933,28 @@ label.required:after {
   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;
+
+  :focus {
+    border-color: #ec1c24;
+  }
+}
+
+.form-control-feedback {
+  display: inline-block;
+  color: #ec1c24;
+  right: 18px;
+  line-height: @input-height;
+  pointer-events: initial;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/modules/webconfig/nodejs/views/caches.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/caches.jade 
b/modules/webconfig/nodejs/views/caches.jade
index eb47351..c87293d 100644
--- a/modules/webconfig/nodejs/views/caches.jade
+++ b/modules/webconfig/nodejs/views/caches.jade
@@ -35,7 +35,7 @@ block content
                             a(ng-click='selectItem(row)') {{$index + 1}}. 
{{row.name}}, {{row.mode | displayValue:modes:'Cache mode not set'}}, 
{{row.atomicityMode | displayValue:atomicities:'Cache atomicity not set'}}
         button.btn.btn-primary(ng-click='createItem()') Add cache
         hr
-        form.form-horizontal(name='cachesForm' ng-if='backupItem')
+        form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
             div(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     .panel-heading

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/modules/webconfig/nodejs/views/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/clusters.jade 
b/modules/webconfig/nodejs/views/clusters.jade
index c0a5cea..492ca1d 100644
--- a/modules/webconfig/nodejs/views/clusters.jade
+++ b/modules/webconfig/nodejs/views/clusters.jade
@@ -38,7 +38,7 @@ block content
         button.btn.btn-default(ng-init='create.template = templates[0].value' 
ng-model='create.template' data-template='/select' data-placeholder='Choose 
cluster template' bs-options='item.value as item.label for item in templates' 
bs-select)
         i.tiplabel.fa.fa-question-circle(bs-tooltip 
data-title='{{joinTip(templateTip)}}' type='button')
         hr
-        form.form-horizontal(name='clustersForm' ng-if='backupItem')
+        form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
             div(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     .panel-heading

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/modules/webconfig/nodejs/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/includes/controls.jade 
b/modules/webconfig/nodejs/views/includes/controls.jade
index aae1ffd..6033177 100644
--- a/modules/webconfig/nodejs/views/includes/controls.jade
+++ b/modules/webconfig/nodejs/views/includes/controls.jade
@@ -38,7 +38,16 @@ mixin details-row
             .col-sm-8
                 +tipField('detail.tip')
                 .input-tip
-                    input.form-control(type='text' style='' ng-model=detailMdl 
placeholder='{{detail.placeholder}}')
+                    input.form-control(type='text' ng-model=detailMdl 
placeholder='{{detail.placeholder}}')
+        div(ng-switch-when='number' )
+            label(class=lblDetailClasses) {{detail.label}}:
+            .col-sm-8
+                +tipField('detail.tip')
+                .input-tip
+                    input.form-control(name='{{detail.model}}' type='number' 
ng-model=detailMdl min='{{detail.min ? detail.min : 0}}' 
placeholder='{{detail.placeholder}}')
+                    
i.fa.fa-exclamation-triangle.form-control-feedback(ng-show='inputForm[detail.model].$error.min'
 bs-tooltip data-title='Min' type='button')
+                    
i.fa.fa-exclamation-triangle.form-control-feedback(ng-show='inputForm[detail.model].$error.min'
 bs-tooltip data-title='Min' type='button')
+                    
i.fa.fa-exclamation-triangle.form-control-feedback(ng-show='inputForm[detail.model].$error.number'
 bs-tooltip data-title='Invalid value' type='button')
         div(ng-switch-when='dropdown')
             label(class=lblDetailClasses) {{detail.label}}:
             .col-sm-8
@@ -90,6 +99,13 @@ mixin form-row
                 .input-tip
                     input.form-control(type='text' ng-if='!group.model' 
ng-model='backupItem[field.model]' placeholder='{{field.placeholder}}' 
ng-required='field.required')
                     input.form-control(type='text' ng-if='group.model' 
ng-model='backupItem[group.model][field.model]' 
placeholder='{{field.placeholder}}' ng-required='field.required')
+        div(ng-switch-when='number')
+            label(class=lblClasses ng-class='{required: field.required}') 
{{field.label}}:
+            .col-sm-4
+                +tipField('field.tip')
+                .input-tip
+                    input.form-control(type='number' ng-if='!group.model' 
ng-model='backupItem[field.model]' placeholder='{{field.placeholder}}' 
ng-required='field.required')
+                    input.form-control(type='number' ng-if='group.model' 
ng-model='backupItem[group.model][field.model]' 
placeholder='{{field.placeholder}}' ng-required='field.required')
         div(ng-switch-when='dropdown')
             label(class=lblClasses ng-class='{required: field.required}') 
{{field.label}}:
             .col-sm-4
@@ -102,8 +118,8 @@ mixin form-row
             .col-sm-4
                 +tipField('field.tip')
                 .input-tip
-                    button.form-control(disabled='{{field.items}}.length == 0' 
bs-select ng-model='backupItem[field.model]' data-multiple='1' 
data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label 
for item in {{field.items}}')
-            a.customize(ng-click='if (saveItem()) Redirect()') Add cache(s)
+                    button.form-control(ng-disabled='{{field.items}}.length == 
0' bs-select ng-model='backupItem[field.model]' data-multiple='1' 
data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label 
for item in {{field.items}}')
+            a.customize(ng-show='field.addLink' 
ng-href='{{field.addLink.ref}}') {{field.addLink.label}}
         div(ng-switch-when='dropdown-details')
             - var expanded = 
'field.details[backupItem[field.group][field.model]].expanded'
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eed5101f/modules/webconfig/nodejs/views/includes/header.jade
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/views/includes/header.jade 
b/modules/webconfig/nodejs/views/includes/header.jade
index a9650f6..9ffb687 100644
--- a/modules/webconfig/nodejs/views/includes/header.jade
+++ b/modules/webconfig/nodejs/views/includes/header.jade
@@ -21,7 +21,7 @@ header.header(id='header')
         .navbar-collapse.collapse(ng-controller='auth')
             ul.nav.navbar-nav(ng-controller='activeLink')
                 li
-                    a(ng-class="{active: isActive('/clusters')}" 
href='/clusters') Configure
+                    a(ng-class="{active: isActive('/clusters')}" 
href='/clusters') Configuration
                 li
                     a(ng-class="{active: isActive('/sql')}" href='/sql') SQL
             ul.nav.navbar-nav.pull-right(ng-init='user = 
#{JSON.stringify(user)}')

Reply via email to