ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anovi...@apache.org
Subject incubator-ignite git commit: # ignite-843 Add requered for details fields.
Date Tue, 07 Jul 2015 06:39:15 GMT
Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 7dbb9b3e8 -> 9ae8a1300


# ignite-843 Add requered for details fields.


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

Branch: refs/heads/ignite-843
Commit: 9ae8a13003f9e551a97575868608c9dc2a00ee32
Parents: 7dbb9b3
Author: Andrey <anovikov@gridgain.com>
Authored: Tue Jul 7 13:35:35 2015 +0700
Committer: Andrey <anovikov@gridgain.com>
Committed: Tue Jul 7 13:39:24 2015 +0700

----------------------------------------------------------------------
 modules/web-control-center/nodejs/app.js        |  6 +--
 modules/web-control-center/nodejs/db.js         |  4 +-
 .../nodejs/public/form-models/caches.json       | 11 +++--
 .../nodejs/public/form-models/clusters.json     | 49 ++++++++++++++++++--
 .../public/javascripts/controllers/clusters.js  |  4 +-
 .../web-control-center/nodejs/routes/pages.js   | 10 ++--
 .../nodejs/utils/generatorJava.js               |  4 +-
 .../nodejs/utils/generatorXml.js                |  2 +
 .../nodejs/views/includes/controls.jade         | 37 ++++++++-------
 .../nodejs/views/includes/header.jade           |  2 +-
 .../nodejs/views/layout-sidebar.jade            |  6 +--
 .../nodejs/views/summary.jade                   |  6 +--
 12 files changed, 96 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/app.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/app.js b/modules/web-control-center/nodejs/app.js
index 6f7c6b8..81ff42b 100644
--- a/modules/web-control-center/nodejs/app.js
+++ b/modules/web-control-center/nodejs/app.js
@@ -83,9 +83,9 @@ var mustAuthenticated = function (req, res, next) {
     req.isAuthenticated() ? next() : res.redirect('/');
 };
 
-app.all('/clusters', mustAuthenticated);
-app.all('/caches', mustAuthenticated);
-app.all('/summary', mustAuthenticated);
+app.all('/configuration/clusters', mustAuthenticated);
+app.all('/configuration/caches', mustAuthenticated);
+app.all('/configuration/summary', mustAuthenticated);
 
 app.use('/', pageRoutes);
 app.use('/rest/clusters', clustersRouter);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/db.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/db.js b/modules/web-control-center/nodejs/db.js
index 4039ba0..2dc2be2 100644
--- a/modules/web-control-center/nodejs/db.js
+++ b/modules/web-control-center/nodejs/db.js
@@ -190,7 +190,9 @@ var ClusterSchema = new Schema({
             credential: String,
             credentialPath: String,
             identity: String,
-            provider: String
+            provider: String,
+            regions: [String],
+            zones:  [String]
         },
         GoogleStorage: {
             projectName: String,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/public/form-models/caches.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/form-models/caches.json b/modules/web-control-center/nodejs/public/form-models/caches.json
index 16c3a47..eda9a89 100644
--- a/modules/web-control-center/nodejs/public/form-models/caches.json
+++ b/modules/web-control-center/nodejs/public/form-models/caches.json
@@ -467,14 +467,16 @@
           ]
         },
         {
-          "tableLabel": "SQL functions",
-          "label": "SQL function",
+          "label": "SQL functions",
           "type": "table-simple",
           "model": "sqlFunctionClasses",
           "editIdx": -1,
           "placeholder": "SQL function full class name",
+          "tableTip": [
+            "Collections of classes with user-defined functions for SQL queries."
+          ],
           "tip": [
-            "Classes with user-defined functions for SQL queries."
+            "Class with user-defined functions for SQL queries."
           ]
         }
       ]
@@ -729,8 +731,7 @@
               "expanded": true,
               "fields": [
                 {
-                  "tableLabel": "Hibernate properties",
-                  "label": "Hibernate property",
+                  "label": "Hibernate properties",
                   "type": "table-simple",
                   "path": "cacheStoreFactory.CacheHibernateBlobStoreFactory",
                   "model": "hibernateProperties",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/public/form-models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/form-models/clusters.json b/modules/web-control-center/nodejs/public/form-models/clusters.json
index 14c1d82..e6be772 100644
--- a/modules/web-control-center/nodejs/public/form-models/clusters.json
+++ b/modules/web-control-center/nodejs/public/form-models/clusters.json
@@ -45,8 +45,6 @@
           "expanded": true,
           "fields": [
             {
-              "tableLabel": "Addresses",
-              "label": "address",
               "type": "table-simple",
               "path": "discovery.Vm",
               "model": "addresses",
@@ -138,9 +136,13 @@
             {
               "label": "Bucket name",
               "type": "text",
+              "required": true,
               "path": "discovery.S3",
               "model": "bucketName",
-              "placeholder": ""
+              "placeholder": "",
+              "tip": [
+                "Bucket name for IP finder."
+              ]
             }
           ]
         },
@@ -172,6 +174,7 @@
             {
               "label": "Identity",
               "type": "text",
+              "required": true,
               "path": "discovery.Cloud",
               "model": "identity",
               "placeholder": "",
@@ -183,11 +186,45 @@
             {
               "label": "Provider",
               "type": "text",
-              "model": "discovery.Cloud.provider",
+              "required": true,
+              "path": "discovery.Cloud",
+              "model": "provider",
               "placeholder": "",
               "tip": [
                 "Cloud provider to use."
               ]
+            },
+            {
+              "label": "Regions",
+              "type": "table-simple",
+              "path": "discovery.Cloud",
+              "model": "regions",
+              "editIdx": -1,
+              "placeholder": "",
+              "tableTip": [
+                "List of regions where VMs are located.",
+                "If the regions are not set then every region, that a cloud provider has,
will be investigated. This could lead to significant performance degradation.",
+                "Note, that some cloud providers, like Google Compute Engine, doesn't have
a notion of a region. For such providers a call to this method is redundant."
+              ],
+              "tip": [
+                "Region where VMs are located."
+              ]
+            },
+            {
+              "label": "Zones",
+              "type": "table-simple",
+              "path": "discovery.Cloud",
+              "model": "zones",
+              "editIdx": -1,
+              "placeholder": "",
+              "tableTip": [
+                "List of zones where VMs are located.",
+                "If the zones are not set then every zone from regions, set by {@link #setRegions(Collection)}},
will be taken into account.",
+                "Note, that some cloud providers, like Rackspace, doesn't have a notion of
a zone. For such providers a call to this method is redundant."
+              ],
+              "tip": [
+                "Zone where VMs are located."
+              ]
             }
           ]
         },
@@ -197,6 +234,7 @@
             {
               "label": "Project name",
               "type": "text",
+              "required": true,
               "path": "discovery.GoogleStorage",
               "model": "projectName",
               "placeholder": "",
@@ -208,6 +246,7 @@
             {
               "label": "Bucket name",
               "type": "text",
+              "required": true,
               "path": "discovery.GoogleStorage",
               "model": "bucketName",
               "placeholder": "",
@@ -220,6 +259,7 @@
             {
               "label": "Private key path",
               "type": "text",
+              "required": true,
               "path": "discovery.GoogleStorage",
               "model": "serviceAccountP12FilePath",
               "placeholder": "",
@@ -230,6 +270,7 @@
             {
               "label": "Account id",
               "type": "text",
+              "required": true,
               "path": "discovery.GoogleStorage",
               "model": "accountId",
               "placeholder": "",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
b/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
index 24a3a7c..38fd6ef 100644
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
+++ b/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
@@ -23,9 +23,9 @@ configuratorModule.controller('clustersController', ['$scope', '$alert',
'$http'
         $scope.console = console;
 
         $scope.templates = [
-            {value: {}, label: 'none'},
+            {value: {discovery: {Vm: {addresses: ['127.0.0.1:47500..47510']}}}, label: 'none'},
             {value: {discovery: {kind: 'Vm', Vm: {addresses: ['127.0.0.1:47500..47510']}}},
label: 'local'},
-            {value: {discovery: {kind: 'Multicast', Multicast: {}}}, label: 'multicast'}
+            {value: {discovery: {kind: 'Multicast', Vm: {addresses: ['127.0.0.1:47500..47510']},
Multicast: {}}}, label: 'multicast'}
         ];
 
         $scope.discoveries = [

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/routes/pages.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/pages.js b/modules/web-control-center/nodejs/routes/pages.js
index 7b6c24e..a8cde5a 100644
--- a/modules/web-control-center/nodejs/routes/pages.js
+++ b/modules/web-control-center/nodejs/routes/pages.js
@@ -30,23 +30,23 @@ router.get('/login', function(req, res) {
 /* GET home page. */
 router.get('/', function(req, res) {
     if (req.isAuthenticated())
-        res.redirect('/clusters');
+        res.redirect('/configuration/clusters');
     else
         res.render('index', { user: req.user });
 });
 
 /* GET clusters page. */
-router.get('/clusters', function(req, res) {
+router.get('/configuration/clusters', function(req, res) {
     res.render('clusters', { user: req.user });
 });
 
 /* GET caches page. */
-router.get('/caches', function(req, res) {
+router.get('/configuration/caches', function(req, res) {
     res.render('caches', { user: req.user });
 });
 
 /* GET persistence page. */
-router.get('/persistence', function(req, res) {
+router.get('/configuration/persistence', function(req, res) {
     res.render('persistence', { user: req.user });
 });
 
@@ -61,7 +61,7 @@ router.get('/clients', function(req, res) {
 });
 
 /* GET summary page. */
-router.get('/summary', function(req, res) {
+router.get('/configuration/summary', function(req, res) {
     res.render('summary', { user: req.user });
 });
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/utils/generatorJava.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/utils/generatorJava.js b/modules/web-control-center/nodejs/utils/generatorJava.js
index ae676d8..e0569bc 100644
--- a/modules/web-control-center/nodejs/utils/generatorJava.js
+++ b/modules/web-control-center/nodejs/utils/generatorJava.js
@@ -82,7 +82,9 @@ exports.generateClusterConfiguration = function(cluster, generateJavaClass)
{
                         credential: null,
                         credentialPath: null,
                         identity: null,
-                        provider: null
+                        provider: null,
+                        regions: {type: 'list'},
+                        zones: {type: 'list'}
                     }, true);
 
                 break;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/utils/generatorXml.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/utils/generatorXml.js b/modules/web-control-center/nodejs/utils/generatorXml.js
index 599aa5f..6cfd401 100644
--- a/modules/web-control-center/nodejs/utils/generatorXml.js
+++ b/modules/web-control-center/nodejs/utils/generatorXml.js
@@ -88,6 +88,8 @@ exports.generateClusterConfiguration = function(cluster) {
                 addProperty(res, d.Cloud, 'credentialPath');
                 addProperty(res, d.Cloud, 'identity');
                 addProperty(res, d.Cloud, 'provider');
+                addListProperty(res, d.Cloud, 'regions');
+                addListProperty(res, d.Cloud, 'zones');
 
                 res.endBlock('</bean>');
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/includes/controls.jade b/modules/web-control-center/nodejs/views/includes/controls.jade
index 6ff19b4..55a7fcd 100644
--- a/modules/web-control-center/nodejs/views/includes/controls.jade
+++ b/modules/web-control-center/nodejs/views/includes/controls.jade
@@ -29,7 +29,7 @@ mixin details-row
     - var lblDetailClasses = ['col-sm-4', 'details-label']
 
     - var detailMdl = 'getModel(backupItem, detail.path)[detail.model]';
-    - var detailCommon = {'ng-model': detailMdl};
+    - var detailCommon = {'ng-model': detailMdl, 'ng-required': 'detail.required'};
 
     - var customValidators = {'ng-attr-ipaddress': '{{detail.ipaddress}}'}
 
@@ -40,13 +40,13 @@ mixin details-row
                 |{{detail.label}}
                 +tipLabel('detail.tip')
         div(ng-switch-when='text')
-            label(class=lblDetailClasses) {{detail.label}}:
+            label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
             .col-sm-8
                 +tipField('detail.tip')
                 .input-tip
                     input.form-control(type='text' placeholder='{{detail.placeholder}}')&attributes(detailCommon)
         div(ng-switch-when='number' )
-            label(class=lblDetailClasses) {{detail.label}}:
+            label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
             .col-sm-8
                 +tipField('detail.tip')
                 .input-tip
@@ -55,25 +55,28 @@ mixin details-row
                     +exclamation('{{detail.model}}', 'max', 'Value is more than allowable
maximum.')
                     +exclamation('{{detail.model}}', 'number', 'Invalid value. Only numbers
allowed.')
         div(ng-switch-when='dropdown')
-            label(class=lblDetailClasses) {{detail.label}}:
+            label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
             .col-sm-8
                 +tipField('detail.tip')
                 .input-tip
                     button.form-control(bs-select data-placeholder='{{detail.placeholder}}'
bs-options='item.value as item.label for item in {{detail.items}}')&attributes(detailCommon)
         div(ng-switch-when='dropdown-multiple')
-            label(class=lblDetailClasses) {{detail.label}}:
+            label(class=lblDetailClasses ng-class='{required: detail.required}') {{detail.label}}:
             .col-sm-8
                 button.form-control(bs-select data-multiple='1' data-placeholder='{{detail.placeholder}}'
bs-options='item.value as item.label for item in {{detail.items}}')&attributes(detailCommon)
             +tipField('detail.tip')
         div(ng-switch-when='table-simple')&attributes(detailCommon)
+            div(ng-if="detail.label")
+                label {{detail.label}}:
+                +tipLabel('detail.tableTip')
             table.col-sm-12.links-edit-details(st-table='#{detailMdl}' ng-show='#{detailMdl}.length
> 0')
                 tbody
                     tr(ng-repeat='item in #{detailMdl} track by $index')
                         td
                             div(ng-show='detail.editIdx != {{$index}}')
                                 i.stackTipField.fa.fa-remove(ng-click='detail.editIdx = -1;
#{detailMdl}.splice($index, 1)')
-                                i.stackTipField.fa.fa-arrow-down(ng-show='$index < #{detailMdl}.length
- 1' ng-click='swapSimpleItems(#{detailMdl}, $index, $index + 1); detail.editIdx = -1;')
-                                i.stackTipField.fa.fa-arrow-up(ng-show='$index > 0' ng-click='swapSimpleItems(#{detailMdl},
$index, $index - 1); detail.editIdx = -1;')
+                                i.stackTipField.fa.fa-arrow-down(ng-if='detail.reordering'
ng-show='$index < #{detailMdl}.length - 1' ng-click='swapSimpleItems(#{detailMdl}, $index,
$index + 1); detail.editIdx = -1;')
+                                i.stackTipField.fa.fa-arrow-up(ng-if='detail.reordering'
ng-show='$index > 0' ng-click='swapSimpleItems(#{detailMdl}, $index, $index - 1); detail.editIdx
= -1;')
                                 .input-tip
                                     a(ng-click='detail.editIdx = $index; curValue = #{detailMdl}[$index]')
{{$index + 1}}) {{item}}
                             div(ng-show='detail.editIdx == {{$index}}')
@@ -92,7 +95,7 @@ mixin form-row
     - var lblClasses = ['col-sm-2']
 
     - var fieldMdl = 'getModel(backupItem, field.path)[field.model]';
-    - var fieldCommon = {'ng-model': fieldMdl};
+    - var fieldCommon = {'ng-model': fieldMdl, 'ng-required': 'field.required'};
 
     div(ng-switch='field.type')
         div.checkbox.col-sm-6(ng-switch-when='check')
@@ -105,19 +108,19 @@ mixin form-row
             .col-sm-4
                 +tipField('field.tip')
                 .input-tip
-                    input.form-control(type='text' placeholder='{{field.placeholder}}' ng-required='field.required')&attributes(fieldCommon)
+                    input.form-control(type='text' placeholder='{{field.placeholder}}')&attributes(fieldCommon)
         div(ng-switch-when='password')
             label(class=lblClasses ng-class='{required: field.required}') {{field.label}}:
             .col-sm-4
                 +tipField('field.tip')
                 .input-tip
-                    input.form-control(type='password' placeholder='{{field.placeholder}}'
ng-required='field.required')&attributes(fieldCommon)
+                    input.form-control(type='password' placeholder='{{field.placeholder}}')&attributes(fieldCommon)
         div(ng-switch-when='number' ng-hide='{{field.hide}}')
             label(class=lblClasses ng-class='{required: field.required}') {{field.label}}:
             .col-sm-4
                 +tipField('field.tip')
                 .input-tip
-                    input.form-control(name='{{field.model}}' type='number' placeholder='{{field.placeholder}}'
min='{{field.min ? field.min : 0}}' max='{{field.max ? field.max : Number.MAX_VALUE}}' ng-required='field.required')&attributes(fieldCommon)
+                    input.form-control(name='{{field.model}}' type='number' placeholder='{{field.placeholder}}'
min='{{field.min ? field.min : 0}}' max='{{field.max ? field.max : Number.MAX_VALUE}}')&attributes(fieldCommon)
                     +exclamation('{{field.model}}', 'min', 'Value is less than allowable
minimum.')
                     +exclamation('{{field.model}}', 'max', 'Value is more than allowable
maximum.')
                     +exclamation('{{field.model}}', 'number', 'Invalid value. Only numbers
allowed.')
@@ -126,7 +129,7 @@ mixin form-row
             .col-sm-4
                 +tipField('field.tip')
                 .input-tip
-                    button.form-control(bs-select ng-required='field.required' data-placeholder='{{field.placeholder}}'
bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
+                    button.form-control(bs-select data-placeholder='{{field.placeholder}}'
bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
         div(ng-switch-when='dropdown-multiple')
             label(class=lblClasses ng-class='{required: field.required}') {{field.label}}:
             .col-sm-4
@@ -141,15 +144,15 @@ mixin form-row
             .col-sm-4
                 +tipField('field.tip')
                 .input-tip
-                    button.form-control(bs-select ng-required='field.required' data-placeholder='{{field.placeholder}}'
bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
+                    button.form-control(bs-select data-placeholder='{{field.placeholder}}'
bs-options='item.value as item.label for item in {{field.items}}')&attributes(fieldCommon)
             a.customize(ng-show='#{fieldMdl} && field.details[#{fieldMdl}].fields'
ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? "Hide settings" : "Show settings"}}
             .col-sm-6.panel-details(ng-show='#{expanded} && #{fieldMdl}')
                 .details-row(ng-repeat='detail in field.details[#{fieldMdl}].fields')
                     +details-row
         div(ng-switch-when='table-simple')&attributes(fieldCommon)
             div
-                label {{field.tableLabel}}
-                +tipLabel('field.tip')
+                label {{field.label}}:
+                +tipLabel('field.tableTip')
             table.links-edit.col-sm-12(st-table='#{fieldMdl}' ng-show='#{fieldMdl}.length
> 0')
                 tbody
                     tr.col-sm-12(ng-repeat='item in #{fieldMdl} track by $index')
@@ -172,8 +175,8 @@ mixin form-row
                     input.form-control(type='text' ng-model='newValue' ng-focus='field.editIdx
= -1'  placeholder='{{field.placeholder}}')
         div(ng-switch-when='indexedTypes')
             - var tblMdl = 'backupItem.indexedTypes'
-            div
-                label Indexed types
+            div(ng-if="field.label")
+                label Indexed types:
                 +tipLabel('field.tip')
             table.links-edit.col-sm-12(st-table=tblMdl ng-show='#{tblMdl}.length > 0')
                 tbody

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

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/views/layout-sidebar.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/layout-sidebar.jade b/modules/web-control-center/nodejs/views/layout-sidebar.jade
index 9335493..36c778b 100644
--- a/modules/web-control-center/nodejs/views/layout-sidebar.jade
+++ b/modules/web-control-center/nodejs/views/layout-sidebar.jade
@@ -22,16 +22,16 @@ block container
             .sidebar-nav
                 ul.menu(ng-controller='activeLink')
                     li
-                        a(ng-class="{active: isActive('/clusters')}" href='/clusters') Clusters
+                        a(ng-class="{active: isActive('/configuration/clusters')}" href='/configuration/clusters')
Clusters
                     li
-                        a(ng-class="{active: isActive('/caches')}" href='/caches') Caches
+                        a(ng-class="{active: isActive('/configuration/caches')}" href='/configuration/caches')
Caches
                     //li
                     //    a(ng-class="{active: isActive('/persistence')}" href='/persistence')
Persistence
                     //li
                     //    a(ng-class="{active: isActive('/clients')}" href='/clients') Clients
                     li
                         p
-                        a(ng-class="{active: isActive('/summary')}" href='/summary') Summary
+                        a(ng-class="{active: isActive('/configuration/summary')}" href='/configuration/summary')
Summary
         .col-sm-10.border-left.section-right
             .docs-content
                 block content
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9ae8a130/modules/web-control-center/nodejs/views/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/summary.jade b/modules/web-control-center/nodejs/views/summary.jade
index 0588137..8e52ea1 100644
--- a/modules/web-control-center/nodejs/views/summary.jade
+++ b/modules/web-control-center/nodejs/views/summary.jade
@@ -51,15 +51,15 @@ block content
                 ul.nav.nav-tabs
                     li(ng-class='{active: cfgLang == "xml"}')
                         a(href, ng-click='cfgLang = "xml"')
-                            img(src='images/xml.png', width='16px' height='16px')
+                            img(src='/images/xml.png', width='16px' height='16px')
                             |  XML
                     li(ng-class='{active: cfgLang=="java"}')
                         a(href, ng-click='cfgLang = "java"')
-                            img(src='images/java.png', width='16px' height='16px')
+                            img(src='/images/java.png', width='16px' height='16px')
                             |  Java
                     li(ng-class="{active: cfgLang=='docker'}")
                         a(href, ng-click='cfgLang = "docker"')
-                            img(src='images/docker.png', width='16px' height='16px')
+                            img(src='/images/docker.png', width='16px' height='16px')
                             |  Dockerfile
                 .settings-row
                     #xmlResult(ng-show="cfgLang == 'xml'")


Mime
View raw message