You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/07/22 12:52:20 UTC

incubator-ignite git commit: IGNITE-843 Fixed paddings and margins.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 5577b3898 -> e7ebf452f


IGNITE-843 Fixed paddings and margins.


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

Branch: refs/heads/ignite-843
Commit: e7ebf452ffc6dd49fc93890f37a7a655ccecae86
Parents: 5577b38
Author: AKuznetsov <ak...@gridgain.com>
Authored: Wed Jul 22 17:52:13 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Wed Jul 22 17:52:13 2015 +0700

----------------------------------------------------------------------
 .../nodejs/controllers/models/caches.json       | 21 ++++-
 .../nodejs/controllers/models/clusters.json     | 23 +++--
 .../nodejs/controllers/models/metadata.json     | 22 +++--
 .../nodejs/controllers/models/summary.json      | 19 +++-
 .../nodejs/controllers/summary-controller.js    |  3 +-
 .../nodejs/public/stylesheets/style.less        | 94 +++++++++++++++-----
 .../nodejs/views/configuration/caches.jade      | 54 +++++------
 .../nodejs/views/configuration/clusters.jade    | 52 +++++------
 .../nodejs/views/configuration/metadata.jade    |  6 +-
 .../nodejs/views/configuration/summary.jade     | 10 +--
 .../nodejs/views/includes/controls.jade         | 13 ++-
 11 files changed, 210 insertions(+), 107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/models/caches.json b/modules/web-control-center/nodejs/controllers/models/caches.json
index 290013a..0ffc9d4 100644
--- a/modules/web-control-center/nodejs/controllers/models/caches.json
+++ b/modules/web-control-center/nodejs/controllers/models/caches.json
@@ -1,8 +1,21 @@
 {
-  "screenTip": [
-    "Optional cache configuration.",
-    "Configure caches, link them to clusters and go to Summary page for configuration generation."
-  ],
+  "screenTip": {
+    "workflowTitle": "Use Caches view to:",
+    "workflowContent": [
+      "<ul>",
+      "  <li>Configure caches.</li>",
+      "  <li>Associate metadata with cache queries and/or cache store.</li>",
+      "</ul>"
+    ],
+    "whatsNextTitle": "What's next:",
+    "whatsNextContent": [
+      "<ul>",
+      "  <li>Configure clusters.</li>",
+      "  <li>Configure cache type metadata.</li>",
+      "  <li>Generate XML and java code on Summary view.</li>",
+      "</ul>"
+    ]
+  },
   "general": [
     {
       "label": "Name",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/models/clusters.json b/modules/web-control-center/nodejs/controllers/models/clusters.json
index a0f66b5..d6d7d23 100644
--- a/modules/web-control-center/nodejs/controllers/models/clusters.json
+++ b/modules/web-control-center/nodejs/controllers/models/clusters.json
@@ -1,10 +1,21 @@
 {
-  "screenTip": [
-    "1. Configure cluster.",
-    "2. Configure cache type metadata (optional).",
-    "3. Configure caches and link them to cluster.",
-    "4. Generate XML and java code."
-  ],
+  "screenTip": {
+    "workflowTitle": "Use Clusters view to:",
+    "workflowContent": [
+      "<ul>",
+      "  <li>Configure clusters.</li>",
+      "  <li>Associate clusters with caches.</li>",
+      "</ul>"
+    ],
+    "whatsNextTitle": "What's next:",
+    "whatsNextContent": [
+      "<ul>",
+      "  <li>Configure cache type metadata.</li>",
+      "  <li>Configure caches.</li>",
+      "  <li>Generate XML and java code on Summary view.</li>",
+      "</ul>"
+    ]
+  },
   "templateTip": [
     "Use following template to add a new cluster:",
     "<ul>",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/models/metadata.json b/modules/web-control-center/nodejs/controllers/models/metadata.json
index d2d0bea..3248f7a 100644
--- a/modules/web-control-center/nodejs/controllers/models/metadata.json
+++ b/modules/web-control-center/nodejs/controllers/models/metadata.json
@@ -1,9 +1,21 @@
 {
-  "screenTip": [
-    "Optional cache type metadata configuration.",
-    "Enter metadata manually or load from database.",
-    "Generate cache for metadata if needed."
-  ],
+  "screenTip": {
+    "workflowTitle": "Use Cache Type Metadata view to:",
+    "workflowContent": [
+      "<ul>",
+      "  <li>Manually configure metadata for queries and/or store.</li>",
+      "  <li>Configure metadata from database tables metadata.</li>",
+      "</ul>"
+    ],
+    "whatsNextTitle": "What's next:",
+    "whatsNextContent": [
+      "<ul>",
+      "  <li>Configure clusters.</li>",
+      "  <li>Associate caches with metadata.</li>",
+      "  <li>Generate XML and java code on Summary view.</li>",
+      "</ul>"
+    ]
+  },
   "templateTip": [
     "Use following template for metadata:",
     "<ul>",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/controllers/models/summary.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/models/summary.json b/modules/web-control-center/nodejs/controllers/models/summary.json
index 245448c..056291c 100644
--- a/modules/web-control-center/nodejs/controllers/models/summary.json
+++ b/modules/web-control-center/nodejs/controllers/models/summary.json
@@ -1,7 +1,20 @@
 {
-  "screenTip": [
-    "Overview and download XML and java code for cluster configurations."
-  ],
+  "screenTip": {
+    "workflowTitle": "Use Summary view to:",
+    "workflowContent": [
+      "<ul>",
+      "  <li>See XML and java code for server nodes configurations.</li>",
+      "  <li>See XML and java code for client nodes configurations.</li>",
+      "</ul>"
+    ],
+    "whatsNextTitle": "What's next:",
+    "whatsNextContent": [
+      "<ul>",
+      "  <li>Download XML or java code configuration.</li>",
+      "  <li>Start Ignite cluster with downloaded configuration.</li>",
+      "</ul>"
+    ]
+  },
   "clientFields": [
     {
       "label": "Near cache start size",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/controllers/summary-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/summary-controller.js b/modules/web-control-center/nodejs/controllers/summary-controller.js
index 2872a58..1291683 100644
--- a/modules/web-control-center/nodejs/controllers/summary-controller.js
+++ b/modules/web-control-center/nodejs/controllers/summary-controller.js
@@ -39,9 +39,8 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', '$common
 
     $http.get('/models/summary.json')
         .success(function (data) {
-            $scope.clientFields = data.clientFields;
-
             $scope.screenTip = data.screenTip;
+            $scope.clientFields = data.clientFields;
         })
         .error(function (errMsg) {
             $common.showError(errMsg);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/stylesheets/style.less b/modules/web-control-center/nodejs/public/stylesheets/style.less
index 904a807..4900581 100644
--- a/modules/web-control-center/nodejs/public/stylesheets/style.less
+++ b/modules/web-control-center/nodejs/public/stylesheets/style.less
@@ -22,8 +22,8 @@
 @ignite-block-callout: #50af51;
 
 hr {
-  margin-top: 0.65em;
-  margin-bottom: 0.65em;
+  margin-top: 20px;
+  margin-bottom: 20px;
 }
 
 .main-header .logo {
@@ -481,7 +481,7 @@ body {
 h1, h2, h3, h4, h5, h6 {
   font-weight: 700;
   font-family: Roboto Slab, serif;
-  margin-bottom: 0.65em;
+  margin-bottom: 10px;
 }
 
 .submit-vote.submit-vote-parent.voted a.submit-vote-button, .submit-vote.submit-vote-parent a.submit-vote-button:hover {
@@ -525,8 +525,8 @@ a:hover, .link:hover .title {
 
 .modal .close {
   position: absolute;
-  top: 0.65em;
-  right: 0.65em;
+  top: 10px;
+  right: 10px;
   float: none;
 }
 
@@ -606,12 +606,12 @@ h1.ignite-logo {
 }
 
 .details-row {
-  padding: 0 0.65em;
+  padding: 0 10px;
 }
 
 .details-row, .settings-row {
   display: block;
-  margin: 0.65em 0;
+  margin: 10px 0;
 
   label.table-header {
     line-height: @input-height;
@@ -704,12 +704,12 @@ button .caret, .btn .caret {
   }
 
   h3 {
-    margin-bottom: 1.3em;
+    margin-bottom: 20px;
   }
 }
 
 .theme-line .panel-body {
-  padding: 0.65em 1.3em;
+  padding: 10px 20px;
 }
 
 .theme-line .main-content a.customize {
@@ -776,7 +776,7 @@ button .caret, .btn .caret {
   }
 
   thead > tr th.header {
-    padding: 0 0 0.65em;
+    padding: 0 0 10px;
 
     div {
       padding: 0
@@ -791,7 +791,7 @@ button .caret, .btn .caret {
   }
 
   thead > tr th, td {
-    padding: 0.65em 0.65em;
+    padding: 10px 10px;
 
     .input-tip {
       padding: 0;
@@ -802,7 +802,7 @@ button .caret, .btn .caret {
     padding: 0;
 
     .pagination {
-      margin: 0.65em 0;
+      margin: 10px 0;
 
       > .active > a {
         color: @ignite-red;
@@ -819,7 +819,7 @@ button .caret, .btn .caret {
 }
 
 .panel-details {
-  margin-top: 0.65em;
+  margin-top: 10px;
 
   padding: 0;
 
@@ -1081,39 +1081,85 @@ a {
 }
 
 .panel {
-  margin-bottom: 0.65em;
+  margin-bottom: 0;
+}
+
+.panel-group {
+  margin-bottom: 0;
 }
 
 .panel-group .panel + .panel {
-  margin-top: 1.3em;
+  margin-top: 20px;
+}
+
+.margin-top-dflt {
+  margin-top: 10px;
+}
+
+.margin-bottom-dflt {
+  margin-bottom: 10px;
+}
+
+.margin-dflt {
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+
+.padding-top-dflt {
+  padding-top: 10px;
+}
+
+.padding-bottom-dflt {
+  padding-bottom: 10px;
 }
 
 .padding-dflt {
-  padding-top: 0.65em;
-  padding-bottom: 0.65em;
+  padding-top: 10px;
+  padding-bottom: 10px;
 }
 
-.block-callout {
+.theme-line .panel-title h3 {
+  margin-top: 20px;
+  margin-bottom: 20px;
+}
+
+.block-callout-parent {
   background-color: @ignite-block-callout-background;
-  border-left: 5px solid;
-  border-color: @ignite-block-callout;
+  overflow: hidden;
+}
 
-  p {
-    padding: 5px 0 10px 15px;
-    margin: 0;
-  }
+.block-callout {
+  background-color: @ignite-block-callout-background;
+  display: inline-block;
+  vertical-align: top;
+  width: 50%;
 
   i {
     padding: 10px 5px 0 10px;
     color: @ignite-block-callout;
   }
 
+  ul {
+    padding-left: 20px;
+    margin-bottom: 0;
+  }
+
+  p {
+    padding: 5px 0 10px 20px;
+    margin: 0;
+  }
+
   label {
     font-weight: bold;
     color: @ignite-block-callout;
   }
 }
 
+.block-callout-border {
+  border-left: 5px solid;
+  border-color: @ignite-block-callout;
+}
+
 .labelHeader {
   font-weight: bold;
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/views/configuration/caches.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/caches.jade b/modules/web-control-center/nodejs/views/configuration/caches.jade
index 88521f2..3a011fc 100644
--- a/modules/web-control-center/nodejs/views/configuration/caches.jade
+++ b/modules/web-control-center/nodejs/views/configuration/caches.jade
@@ -26,20 +26,20 @@ block content
         h1 Create and Configure Ignite Caches
         hr
     .docs-body(ng-controller='cachesController')
-        +block-callout('joinTip(screenTip)')
+        +block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
         .links(ng-hide='caches.length == 0')
             .padding-dflt
-                lable.labelHeader Clusters:
+                lable.labelHeader Caches:
                 table(st-table='caches')
                     tbody
                         tr(ng-repeat='row in caches track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
                                 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'}}
-        .padding-dflt
+        .padding-top-dflt
             button.btn.btn-primary(ng-click='createItem()') Add cache
         hr
         form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
-            .padding-dflt(bs-collapse data-start-collapsed='false')
+            div(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     .panel-heading
                         h3
@@ -48,25 +48,27 @@ block content
                         .panel-body
                             .settings-row(ng-repeat='field in general')
                                 +form-row(['col-sm-3'], ['col-sm-3'])
-            div(bs-collapse data-start-collapsed='true')
-                .panel-title(ng-show='expanded')
-                    h3
-                        a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
-                .panel-collapse(bs-collapse-target)
-                    .span(bs-collapse data-start-collapsed='true' data-allow-multiple='true')
-                        .panel.panel-default(ng-repeat='group in advanced')
-                            .panel-heading
-                                h3
-                                    a(bs-collapse-toggle) {{group.label}}
-                                    i.tipLabel.fa.fa-question-circle(ng-if='group.tip' bs-tooltip='joinTip(group.tip)' type='button')
-                                    i.tipLabel.fa.fa-question-circle.blank(ng-if='!group.tip')
-                            .panel-collapse(bs-collapse-target)
-                                .panel-body
-                                    .settings-row(ng-repeat='field in group.fields')
-                                        +form-row
-                .panel-title
-                    h3
-                        a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
-            button.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
-            button.btn.btn-primary(ng-show='backupItem._id' ng-disabled='inputForm.$invalid' ng-click='saveItemAs()') Copy
-            button.btn.btn-primary.btn-second(ng-show='backupItem._id' ng-click='removeItem()') Remove
+            .panel-group(bs-collapse data-allow-multiple="true")
+                div(bs-collapse data-start-collapsed='true')
+                    .panel-title(ng-show='expanded')
+                        h3
+                            a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
+                    .panel-collapse(bs-collapse-target)
+                        .span(bs-collapse data-start-collapsed='true' data-allow-multiple='true')
+                            .panel.panel-default(ng-repeat='group in advanced')
+                                .panel-heading
+                                    h3
+                                        a(bs-collapse-toggle) {{group.label}}
+                                        i.tipLabel.fa.fa-question-circle(ng-if='group.tip' bs-tooltip='joinTip(group.tip)' type='button')
+                                        i.tipLabel.fa.fa-question-circle.blank(ng-if='!group.tip')
+                                .panel-collapse(bs-collapse-target)
+                                    .panel-body
+                                        .settings-row(ng-repeat='field in group.fields')
+                                            +form-row
+                    .panel-title
+                        h3
+                            a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
+            div
+                button.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
+                button.btn.btn-primary(ng-show='backupItem._id' ng-disabled='inputForm.$invalid' ng-click='saveItemAs()') Copy
+                button.btn.btn-primary.btn-second(ng-show='backupItem._id' ng-click='removeItem()') Remove

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/clusters.jade b/modules/web-control-center/nodejs/views/configuration/clusters.jade
index 576ee4d..81acfed 100644
--- a/modules/web-control-center/nodejs/views/configuration/clusters.jade
+++ b/modules/web-control-center/nodejs/views/configuration/clusters.jade
@@ -26,7 +26,7 @@ block content
         h1 Create and Configure Ignite Clusters
         hr
     .docs-body(ng-controller='clustersController')
-        +block-callout('joinTip(screenTip)')
+        +block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
         .links(ng-hide='clusters.length == 0')
             .padding-dflt
                 lable.labelHeader Clusters:
@@ -35,14 +35,14 @@ block content
                         tr(ng-repeat='row in clusters track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
                                 a(ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}, {{row.discovery.kind | displayValue:discoveries:'Discovery not set'}}
-        .padding-dflt
+        .padding-top-dflt
             button.btn.btn-primary(ng-click='createItem()') &nbspAdd cluster
             label(style='margin-left: 10px; margin-right: 10px') Use template:
             button.btn.btn-default.base-control(ng-init='create.template = templates[0].value' ng-model='create.template' data-template='/select' data-placeholder='Choose cluster template' bs-options='item.value as item.label for item in templates' bs-select)
             i.tiplabel.fa.fa-question-circle(bs-tooltip data-title='{{joinTip(templateTip)}}' type='button')
         hr
         form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
-            .padding-dflt(bs-collapse data-start-collapsed='false')
+            div(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     .panel-heading
                         h3
@@ -51,25 +51,27 @@ block content
                         .panel-body
                             .settings-row(ng-repeat='field in general')
                                 +form-row
-            div(bs-collapse data-start-collapsed='true')
-                .panel-title(ng-show='expanded')
-                    h3
-                        a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
-                .panel-collapse(bs-collapse-target)
-                    .span(bs-collapse data-start-collapsed='true' data-allow-multiple='true')
-                        .panel.panel-default(ng-repeat='group in advanced')
-                            .panel-heading
-                                h3
-                                    a(bs-collapse-toggle) {{group.label}}
-                                    i.tipLabel.fa.fa-question-circle(ng-if='group.tip' bs-tooltip='joinTip(group.tip)' type='button')
-                                    i.tipLabel.fa.fa-question-circle.blank(ng-if='!group.tip')
-                            .panel-collapse(bs-collapse-target)
-                                .panel-body
-                                    .settings-row(ng-repeat='field in group.fields')
-                                        +form-row
-                .panel-title
-                    h3
-                        a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
-            button.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
-            button.btn.btn-primary(ng-show='backupItem._id' ng-disabled='inputForm.$invalid' ng-click='saveItemAs()') Copy
-            button.btn.btn-primary(ng-show='backupItem._id' ng-click='removeItem()') Remove
\ No newline at end of file
+            .panel-group(bs-collapse data-allow-multiple="true")
+                div(bs-collapse data-start-collapsed='true')
+                    .panel-title(ng-show='expanded')
+                        h3
+                            a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
+                    .panel-collapse(bs-collapse-target)
+                        .span(bs-collapse data-start-collapsed='true' data-allow-multiple='true')
+                            .panel.panel-default(ng-repeat='group in advanced')
+                                .panel-heading
+                                    h3
+                                        a(bs-collapse-toggle) {{group.label}}
+                                        i.tipLabel.fa.fa-question-circle(ng-if='group.tip' bs-tooltip='joinTip(group.tip)' type='button')
+                                        i.tipLabel.fa.fa-question-circle.blank(ng-if='!group.tip')
+                                .panel-collapse(bs-collapse-target)
+                                    .panel-body
+                                        .settings-row(ng-repeat='field in group.fields')
+                                            +form-row
+                    .panel-title
+                        h3
+                            a(bs-collapse-toggle='0' ng-click='expanded = !expanded;') {{expanded ? 'Hide advanced settings...' : 'Show advanced settings...'}}
+            div
+                button.btn.btn-primary(ng-disabled='inputForm.$invalid' ng-click='saveItem()') Save
+                button.btn.btn-primary(ng-show='backupItem._id' ng-disabled='inputForm.$invalid' ng-click='saveItemAs()') Copy
+                button.btn.btn-primary(ng-show='backupItem._id' ng-click='removeItem()') Remove
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/views/configuration/metadata.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/metadata.jade b/modules/web-control-center/nodejs/views/configuration/metadata.jade
index 12fb616..d5bac06 100644
--- a/modules/web-control-center/nodejs/views/configuration/metadata.jade
+++ b/modules/web-control-center/nodejs/views/configuration/metadata.jade
@@ -26,7 +26,7 @@ block content
         h1 Create and Configure Cache Type Metadata
         hr
     .docs-body(ng-controller='metadataController')
-        +block-callout('joinTip(screenTip)')
+        +block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
         .links(ng-hide='metadatas.length == 0')
             .padding-dflt
                 lable.labelHeader Types metadata:
@@ -35,13 +35,13 @@ block content
                         tr(ng-repeat='row in metadatas track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
                                 a(ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}
-        .padding-dflt
+        .padding-top-dflt
             button.btn.btn-primary(ng-click='panels.activePanel = [0]; createItem()') &nbspAdd metadata
             label(style='margin-left: 6px; margin-right: 10px') For:
             button.btn.btn-default(ng-model='template' data-template='/select' data-placeholder='Choose metadata type' 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
-        .panel-group.padding-dflt(bs-collapse ng-model='panels.activePanel' data-allow-multiple="false")
+        .panel-group(bs-collapse ng-model='panels.activePanel' data-allow-multiple="false")
             .panel.panel-default
                 .panel-heading
                     h3

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/modules/web-control-center/nodejs/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/configuration/summary.jade b/modules/web-control-center/nodejs/views/configuration/summary.jade
index 0b5a298..6f2f6d8 100644
--- a/modules/web-control-center/nodejs/views/configuration/summary.jade
+++ b/modules/web-control-center/nodejs/views/configuration/summary.jade
@@ -39,12 +39,12 @@ block content
         h1 Configurations Summary
         hr
     .docs-body(ng-controller='summaryController')
-        +block-callout('joinTip(screenTip)')
-        div(ng-if='clusters.length == 0')
+        +block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
+        .padding-dflt(ng-if='clusters.length == 0')
             | No cluster configured. You can&nbsp;
             a(href='clusters') configure
             | &nbsp;it.
-        div(ng-if='clusters.length > 0')
+        .padding-dflt(ng-if='clusters.length > 0')
             lable.labelHeader Clusters:
             .links
                 table(st-table='clusters')
@@ -53,7 +53,7 @@ block content
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')
                                 a(ng-click='selectItem(row)') {{$index + 1}}) {{row.name}}
         div(ng-show='selectedItem' role="tab" method='post' action='summary/download')
-            div(bs-collapse data-start-collapsed='false')
+            .padding-dflt(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     form.panel-heading(role='tab' method='post' action='summary/download')
                         input(type="hidden" name="_id" value="{{selectedItem._id}}")
@@ -90,7 +90,7 @@ block content
                                         .col-sm-4
                                             input#os.form-control(type='text', ng-model='configServer.os' placeholder='debian:8' data-min-length="0" data-html="1" data-auto-select="true" data-animation="am-flip-x" bs-typeahead bs-options='os for os in oss')
                                     div(ui-ace='{ onLoad: aceInit, mode: "dockerfile" }' ng-model='dockerServer')
-            div(bs-collapse data-start-collapsed='false')
+            .padding-dflt(bs-collapse data-start-collapsed='false')
                 .panel.panel-default
                     form.panel-heading(role='tab' method='post' action='summary/download')
                         input(type="hidden" name="_id" value="{{selectedItem._id}}")

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7ebf452/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 26f6bf9..4a618fa 100644
--- a/modules/web-control-center/nodejs/views/includes/controls.jade
+++ b/modules/web-control-center/nodejs/views/includes/controls.jade
@@ -14,12 +14,17 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 
-mixin block-callout(tip)
-    .padding-dflt
+mixin block-callout(titleWorkflow, contentWorkflow, whatsNextWorkflow, whatsNextContent)
+    .block-callout-parent.block-callout-border.margin-bottom-dflt
         .block-callout
             i.fa.fa-check-square
-            label Workflow
-            p(ng-bind-html=tip)
+            label #{titleWorkflow}
+            p(ng-bind-html=contentWorkflow)
+        .block-callout
+            i.fa.fa-check-square
+            label #{whatsNextWorkflow}
+            p(ng-bind-html=whatsNextContent)
+
 
 mixin tipField(lines)
     i.tipField.fa.fa-question-circle(ng-if=lines bs-tooltip='joinTip(#{lines})' type='button')