ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anovi...@apache.org
Subject [1/2] ignite git commit: IGNITE-2089 implement callout as static block in template. - Fixes #298.
Date Tue, 08 Dec 2015 04:21:28 GMT
Repository: ignite
Updated Branches:
  refs/heads/ignite-843-rc2 fe2b6def5 -> eb012e259


IGNITE-2089 implement callout as static block in template. - Fixes #298.

Signed-off-by: Andrey <anovikov@gridgain.com>


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

Branch: refs/heads/ignite-843-rc2
Commit: d41be5a4713f8a01600c9bf4fb9e25aa056e955c
Parents: fe2b6de
Author: Dmitriyff <dmitriyff@gmail.com>
Authored: Tue Dec 8 09:57:44 2015 +0700
Committer: Andrey <anovikov@gridgain.com>
Committed: Tue Dec 8 09:57:44 2015 +0700

----------------------------------------------------------------------
 .../directives/callout/callout-cel.directive.js |  32 ++++
 .../js/app/directives/callout/callout-cel.jade  |   4 +
 .../app/directives/callout/callout.directive.js |  28 +++
 .../main/js/app/directives/callout/callout.jade |  20 +++
 .../main/js/app/directives/callout/callout.scss |  55 ++++++
 .../control-center-web/src/main/js/app/index.js |   7 +
 .../control-center-web/src/main/js/config.js    | 175 +++++++++++++++++++
 .../src/main/js/controllers/models/caches.json  |  15 --
 .../main/js/controllers/models/clusters.json    |  13 --
 .../src/main/js/controllers/models/igfs.json    |  12 --
 .../main/js/controllers/models/metadata.json    |  14 --
 .../src/main/js/controllers/models/summary.json |  15 --
 .../main/js/controllers/summary-controller.js   |   4 +-
 .../control-center-web/src/main/js/package.json |   1 +
 .../src/main/js/public/stylesheets/style.scss   |  61 +------
 .../src/main/js/views/configuration/caches.jade |  17 +-
 .../main/js/views/configuration/clusters.jade   |  14 +-
 .../src/main/js/views/configuration/igfs.jade   |  13 +-
 .../main/js/views/configuration/metadata.jade   |  16 +-
 .../main/js/views/configuration/summary.jade    | 144 ++++++++-------
 20 files changed, 461 insertions(+), 199 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.directive.js b/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.directive.js
new file mode 100644
index 0000000..d1141b6
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.directive.js
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import template from './callout-cel.jade!'
+
+export default ['igniteCalloutCel', [() => {
+
+	return {
+		scope: {
+			title: '@'
+		},
+		restrict: 'E',
+		template,
+		replace: true,
+		transclude: true,
+		require: '^igniteCallout'
+	}
+}]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.jade b/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.jade
new file mode 100644
index 0000000..15bc0d8
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/directives/callout/callout-cel.jade
@@ -0,0 +1,4 @@
+td.block-callout(width='50%')
+    i.fa.fa-check-square.block-callout-header-left
+    span {{::title}}:
+    ul(ng-transclude='')

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/app/directives/callout/callout.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/directives/callout/callout.directive.js b/modules/control-center-web/src/main/js/app/directives/callout/callout.directive.js
new file mode 100644
index 0000000..b7ce6ad
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/directives/callout/callout.directive.js
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import template from './callout.jade!';
+
+export default ['igniteCallout', [() => {
+
+	return {
+		restrict: 'E',
+		template,
+		replace: true,
+		transclude: true 
+	}
+}]]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/app/directives/callout/callout.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/directives/callout/callout.jade b/modules/control-center-web/src/main/js/app/directives/callout/callout.jade
new file mode 100644
index 0000000..9b47681
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/directives/callout/callout.jade
@@ -0,0 +1,20 @@
+//-
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+.block-callout-parent
+    table
+        tbody
+            tr(ng-transclude='')

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/app/directives/callout/callout.scss
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/directives/callout/callout.scss b/modules/control-center-web/src/main/js/app/directives/callout/callout.scss
new file mode 100644
index 0000000..3b88c8f
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/directives/callout/callout.scss
@@ -0,0 +1,55 @@
+$ignite-block-callout-left-background: #f4f8fa;
+$ignite-block-callout-right-background: #f3f8f3;
+$ignite-block-callout-gradient-to: #ffffff;
+
+.block-callout-parent {
+    margin-top: 10px;
+
+    table {
+        width: 100%
+    }
+}
+
+.block-callout {
+    border-left: 5px solid;
+    vertical-align: top;
+
+    i {
+        padding: 10px 5px 0 10px;
+    }
+
+    span {
+        font-weight: bold;
+    }
+
+    ul {
+        padding: 5px 0 10px 20px;
+        margin: 0 0 0 10px;
+    }
+}
+
+.block-callout:nth-child(1) {
+    i {
+        color: $brand-info;
+    }
+
+    span {
+        color: $brand-info;
+    }
+
+    background: linear-gradient(to right, $ignite-block-callout-left-background, $ignite-block-callout-gradient-to);
+    border-color: $brand-info;    
+}
+
+.block-callout:nth-child(2) {
+    i {
+        color: $brand-success;
+    }
+
+    span {
+        color: $brand-success;
+    }
+
+    background: linear-gradient(to right, $ignite-block-callout-right-background, $ignite-block-callout-gradient-to);
+    border-color: $brand-success;    
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/app/index.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/index.js b/modules/control-center-web/src/main/js/app/index.js
index a89ef1e..1305fa3 100644
--- a/modules/control-center-web/src/main/js/app/index.js
+++ b/modules/control-center-web/src/main/js/app/index.js
@@ -68,6 +68,10 @@ import './modules/userbar/main'
 import './modules/configuration/sidebar/main'
 // endignite
 
+// directives
+import igniteCallout from './directives/callout/callout.directive'
+import igniteCalloutCel from './directives/callout/callout-cel.directive'
+
 angular
 .module('ignite-console', [
 	'ui.router',
@@ -87,6 +91,9 @@ angular
 	'ignite-console.userbar',
     'ignite-console.configuration.sidebar'
 ])
+// directives
+.directive(...igniteCallout)
+.directive(...igniteCalloutCel)
 .config(['$stateProvider', '$locationProvider', '$urlRouterProvider', function($stateProvider, $locationProvider, $urlRouterProvider) {
 	// set up the states
 	$stateProvider

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/config.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/config.js b/modules/control-center-web/src/main/js/config.js
index 4a46153..fec475b 100644
--- a/modules/control-center-web/src/main/js/config.js
+++ b/modules/control-center-web/src/main/js/config.js
@@ -41,6 +41,7 @@ System.config({
     "css": "github:systemjs/plugin-css@0.1.20",
     "file-saver": "github:eligrey/FileSaver.js@master",
     "font-awesome": "npm:font-awesome@4.4.0",
+    "jade": "github:johnsoftek/plugin-jade@0.5.1",
     "jquery": "github:components/jquery@2.1.4",
     "jszip": "github:Stuk/jszip@2.5.0",
     "lodash": "npm:lodash@3.10.1",
@@ -73,6 +74,9 @@ System.config({
     "github:eligrey/FileSaver.js@master": {
       "blob": "github:eligrey/Blob.js@master"
     },
+    "github:johnsoftek/plugin-jade@0.5.1": {
+      "jade-compiler": "npm:jade@1.11.0"
+    },
     "github:jspm/nodelibs-assert@0.1.0": {
       "assert": "npm:assert@1.3.0"
     },
@@ -105,12 +109,18 @@ System.config({
     "github:jspm/nodelibs-stream@0.1.0": {
       "stream-browserify": "npm:stream-browserify@1.0.0"
     },
+    "github:jspm/nodelibs-tty@0.1.0": {
+      "tty-browserify": "npm:tty-browserify@0.0.0"
+    },
     "github:jspm/nodelibs-url@0.1.0": {
       "url": "npm:url@0.10.3"
     },
     "github:jspm/nodelibs-util@0.1.0": {
       "util": "npm:util@0.10.3"
     },
+    "github:jspm/nodelibs-vm@0.1.0": {
+      "vm-browserify": "npm:vm-browserify@0.0.4"
+    },
     "github:krispo/angular-nvd3@1.0.4": {
       "angular": "github:angular/bower-angular@1.4.8",
       "d3": "npm:d3@3.5.10",
@@ -129,15 +139,41 @@ System.config({
     "github:wix/angular-tree-control@0.2.22": {
       "angular": "github:angular/bower-angular@1.4.8"
     },
+    "npm:acorn-globals@1.0.9": {
+      "acorn": "npm:acorn@2.6.4"
+    },
+    "npm:acorn@1.2.2": {
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "stream": "github:jspm/nodelibs-stream@0.1.0"
+    },
+    "npm:acorn@2.6.4": {
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "stream": "github:jspm/nodelibs-stream@0.1.0"
+    },
+    "npm:align-text@0.1.3": {
+      "kind-of": "npm:kind-of@2.0.1",
+      "longest": "npm:longest@1.0.1",
+      "repeat-string": "npm:repeat-string@1.5.2"
+    },
     "npm:amdefine@1.0.0": {
       "fs": "github:jspm/nodelibs-fs@0.1.2",
       "module": "github:jspm/nodelibs-module@0.1.0",
       "path": "github:jspm/nodelibs-path@0.1.0",
       "process": "github:jspm/nodelibs-process@0.1.2"
     },
+    "npm:asap@1.0.0": {
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
     "npm:assert@1.3.0": {
       "util": "npm:util@0.10.3"
     },
+    "npm:async@0.2.10": {
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
     "npm:babel-runtime@5.8.34": {
       "process": "github:jspm/nodelibs-process@0.1.2"
     },
@@ -149,6 +185,10 @@ System.config({
       "is-array": "npm:is-array@1.0.1",
       "process": "github:jspm/nodelibs-process@0.1.2"
     },
+    "npm:center-align@0.1.2": {
+      "align-text": "npm:align-text@0.1.3",
+      "lazy-cache": "npm:lazy-cache@0.2.4"
+    },
     "npm:clean-css@3.4.8": {
       "buffer": "github:jspm/nodelibs-buffer@0.1.0",
       "commander": "npm:commander@2.8.1",
@@ -162,6 +202,17 @@ System.config({
       "url": "github:jspm/nodelibs-url@0.1.0",
       "util": "github:jspm/nodelibs-util@0.1.0"
     },
+    "npm:cliui@2.1.0": {
+      "center-align": "npm:center-align@0.1.2",
+      "right-align": "npm:right-align@0.1.3",
+      "wordwrap": "npm:wordwrap@0.0.2"
+    },
+    "npm:commander@2.6.0": {
+      "child_process": "github:jspm/nodelibs-child_process@0.1.0",
+      "events": "github:jspm/nodelibs-events@0.1.1",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
     "npm:commander@2.8.1": {
       "child_process": "github:jspm/nodelibs-child_process@0.1.0",
       "events": "github:jspm/nodelibs-events@0.1.1",
@@ -170,6 +221,9 @@ System.config({
       "path": "github:jspm/nodelibs-path@0.1.0",
       "process": "github:jspm/nodelibs-process@0.1.2"
     },
+    "npm:constantinople@3.0.2": {
+      "acorn": "npm:acorn@2.6.4"
+    },
     "npm:core-js@1.2.6": {
       "fs": "github:jspm/nodelibs-fs@0.1.2",
       "path": "github:jspm/nodelibs-path@0.1.0",
@@ -179,6 +233,13 @@ System.config({
     "npm:core-util-is@1.0.2": {
       "buffer": "github:jspm/nodelibs-buffer@0.1.0"
     },
+    "npm:css@1.0.8": {
+      "assert": "github:jspm/nodelibs-assert@0.1.0",
+      "css-parse": "npm:css-parse@1.0.4",
+      "css-stringify": "npm:css-stringify@1.0.5",
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
     "npm:font-awesome@4.4.0": {
       "css": "github:systemjs/plugin-css@0.1.20"
     },
@@ -191,12 +252,52 @@ System.config({
     "npm:inherits@2.0.1": {
       "util": "github:jspm/nodelibs-util@0.1.0"
     },
+    "npm:is-buffer@1.1.0": {
+      "buffer": "github:jspm/nodelibs-buffer@0.1.0"
+    },
+    "npm:jade@1.11.0": {
+      "buffer": "github:jspm/nodelibs-buffer@0.1.0",
+      "character-parser": "npm:character-parser@1.2.1",
+      "clean-css": "npm:clean-css@3.4.8",
+      "commander": "npm:commander@2.6.0",
+      "constantinople": "npm:constantinople@3.0.2",
+      "jstransformer": "npm:jstransformer@0.0.2",
+      "mkdirp": "npm:mkdirp@0.5.1",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "systemjs-json": "github:systemjs/plugin-json@0.1.0",
+      "transformers": "npm:transformers@2.1.0",
+      "uglify-js": "npm:uglify-js@2.6.1",
+      "void-elements": "npm:void-elements@2.0.1",
+      "with": "npm:with@4.0.3"
+    },
+    "npm:jstransformer@0.0.2": {
+      "assert": "github:jspm/nodelibs-assert@0.1.0",
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "is-promise": "npm:is-promise@2.1.0",
+      "promise": "npm:promise@6.1.0"
+    },
+    "npm:kind-of@2.0.1": {
+      "buffer": "github:jspm/nodelibs-buffer@0.1.0",
+      "is-buffer": "npm:is-buffer@1.1.0"
+    },
     "npm:lodash@3.10.1": {
       "process": "github:jspm/nodelibs-process@0.1.2"
     },
+    "npm:mkdirp@0.5.1": {
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "minimist": "npm:minimist@0.0.8",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
     "npm:nvd3@1.8.1": {
       "d3": "npm:d3@3.5.10"
     },
+    "npm:optimist@0.3.7": {
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "wordwrap": "npm:wordwrap@0.0.2"
+    },
     "npm:os-browserify@0.1.2": {
       "os": "github:jspm/nodelibs-os@0.1.0"
     },
@@ -206,6 +307,13 @@ System.config({
     "npm:process@0.11.2": {
       "assert": "github:jspm/nodelibs-assert@0.1.0"
     },
+    "npm:promise@2.0.0": {
+      "is-promise": "npm:is-promise@1.0.1",
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
+    "npm:promise@6.1.0": {
+      "asap": "npm:asap@1.0.0"
+    },
     "npm:punycode@1.3.2": {
       "process": "github:jspm/nodelibs-process@0.1.2"
     },
@@ -219,10 +327,22 @@ System.config({
       "stream-browserify": "npm:stream-browserify@1.0.0",
       "string_decoder": "npm:string_decoder@0.10.31"
     },
+    "npm:right-align@0.1.3": {
+      "align-text": "npm:align-text@0.1.3"
+    },
+    "npm:source-map@0.1.43": {
+      "amdefine": "npm:amdefine@1.0.0",
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
     "npm:source-map@0.4.4": {
       "amdefine": "npm:amdefine@1.0.0",
       "process": "github:jspm/nodelibs-process@0.1.2"
     },
+    "npm:source-map@0.5.3": {
+      "process": "github:jspm/nodelibs-process@0.1.2"
+    },
     "npm:stream-browserify@1.0.0": {
       "events": "github:jspm/nodelibs-events@0.1.1",
       "inherits": "npm:inherits@2.0.1",
@@ -231,6 +351,37 @@ System.config({
     "npm:string_decoder@0.10.31": {
       "buffer": "github:jspm/nodelibs-buffer@0.1.0"
     },
+    "npm:transformers@2.1.0": {
+      "css": "npm:css@1.0.8",
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "promise": "npm:promise@2.0.0",
+      "uglify-js": "npm:uglify-js@2.2.5",
+      "vm": "github:jspm/nodelibs-vm@0.1.0"
+    },
+    "npm:uglify-js@2.2.5": {
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "optimist": "npm:optimist@0.3.7",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "source-map": "npm:source-map@0.1.43",
+      "util": "github:jspm/nodelibs-util@0.1.0",
+      "vm": "github:jspm/nodelibs-vm@0.1.0"
+    },
+    "npm:uglify-js@2.6.1": {
+      "async": "npm:async@0.2.10",
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "source-map": "npm:source-map@0.5.3",
+      "uglify-to-browserify": "npm:uglify-to-browserify@1.0.2",
+      "yargs": "npm:yargs@3.10.0"
+    },
+    "npm:uglify-to-browserify@1.0.2": {
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "stream": "github:jspm/nodelibs-stream@0.1.0"
+    },
     "npm:url@0.10.3": {
       "assert": "github:jspm/nodelibs-assert@0.1.0",
       "punycode": "npm:punycode@1.3.2",
@@ -240,6 +391,30 @@ System.config({
     "npm:util@0.10.3": {
       "inherits": "npm:inherits@2.0.1",
       "process": "github:jspm/nodelibs-process@0.1.2"
+    },
+    "npm:vm-browserify@0.0.4": {
+      "indexof": "npm:indexof@0.0.1"
+    },
+    "npm:void-elements@2.0.1": {
+      "http": "github:jspm/nodelibs-http@1.7.1"
+    },
+    "npm:window-size@0.1.0": {
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "tty": "github:jspm/nodelibs-tty@0.1.0"
+    },
+    "npm:with@4.0.3": {
+      "acorn": "npm:acorn@1.2.2",
+      "acorn-globals": "npm:acorn-globals@1.0.9"
+    },
+    "npm:yargs@3.10.0": {
+      "assert": "github:jspm/nodelibs-assert@0.1.0",
+      "camelcase": "npm:camelcase@1.2.1",
+      "cliui": "npm:cliui@2.1.0",
+      "decamelize": "npm:decamelize@1.1.1",
+      "fs": "github:jspm/nodelibs-fs@0.1.2",
+      "path": "github:jspm/nodelibs-path@0.1.0",
+      "process": "github:jspm/nodelibs-process@0.1.2",
+      "window-size": "npm:window-size@0.1.0"
     }
   }
 });

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/caches.json b/modules/control-center-web/src/main/js/controllers/models/caches.json
index a60735a..f6deb9f 100644
--- a/modules/control-center-web/src/main/js/controllers/models/caches.json
+++ b/modules/control-center-web/src/main/js/controllers/models/caches.json
@@ -1,19 +1,4 @@
 {
-  "screenTip": {
-    "workflowTitle": "On This Screen:",
-    "workflowContent": [
-      "Configure Caches",
-      "Link Metadata to Caches",
-      "Link Caches to Clusters",
-      "more-info"
-    ],
-    "whatsNextTitle": "Next Steps:",
-    "whatsNextContent": [
-      "Continue to <a href='/configuration/metadata'>Metadata</a>",
-      "Continue to <a href='/configuration/summary'>Summary</a>",
-      "Back to <a href='/configuration/clusters'>Clusters</a>"
-    ]
-  },
   "moreInfo": {
     "title": "Caches screen",
     "content": ["Manage your cluster's caches on current screen.",

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json
index 7947fea..7050755 100644
--- a/modules/control-center-web/src/main/js/controllers/models/clusters.json
+++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json
@@ -1,17 +1,4 @@
 {
-  "screenTip": {
-    "workflowTitle": "On This Screen:",
-    "workflowContent": [
-      "Configure Clusters",
-      "Link Clusters to Caches",
-      "more-info"
-    ],
-    "whatsNextTitle": "Next Steps:",
-    "whatsNextContent": [
-      "Continue to <a href='/configuration/caches'>Caches</a>",
-      "Continue to <a href='/configuration/summary'>Summary</a>"
-    ]
-  },
   "moreInfo": {
     "title": "Clusters screen",
     "content": ["Manage your clusters on current screen.",

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/controllers/models/igfs.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/igfs.json b/modules/control-center-web/src/main/js/controllers/models/igfs.json
index 1f041c5..4cf1369 100644
--- a/modules/control-center-web/src/main/js/controllers/models/igfs.json
+++ b/modules/control-center-web/src/main/js/controllers/models/igfs.json
@@ -1,16 +1,4 @@
 {
-  "screenTip": {
-    "workflowTitle": "On This Screen:",
-    "workflowContent": [
-      "Configure IGFS file systems",
-      "more-info"
-    ],
-    "whatsNextTitle": "Next Steps:",
-    "whatsNextContent": [
-      "Continue to <a href='/configuration/summary'>Summary</a>",
-      "Back to <a href='/configuration/clusters'>Clusters</a>"
-    ]
-  },
   "moreInfo": {
     "title": "IGFS screen",
     "content": [

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/controllers/models/metadata.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/metadata.json b/modules/control-center-web/src/main/js/controllers/models/metadata.json
index e5981fd..ad943be 100644
--- a/modules/control-center-web/src/main/js/controllers/models/metadata.json
+++ b/modules/control-center-web/src/main/js/controllers/models/metadata.json
@@ -1,18 +1,4 @@
 {
-  "screenTip": {
-    "workflowTitle": "On This Screen:",
-    "workflowContent": [
-      "Manually enter Metadata",
-      "Load Metadata from Database",
-      "more-info"
-    ],
-    "whatsNextTitle": "Next Steps:",
-    "whatsNextContent": [
-      "Continue to <a href='/configuration/summary'>Summary</a>",
-      "Back to <a href='/configuration/caches'>Caches</a>",
-      "Back to <a href='/configuration/clusters'>Clusters</a>"
-    ]
-  },
   "moreInfo": {
     "title": "Metadata screen",
     "content": ["Manage your type metadata on current screen.",

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/controllers/models/summary.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/summary.json b/modules/control-center-web/src/main/js/controllers/models/summary.json
index b3025a3..5951b39 100644
--- a/modules/control-center-web/src/main/js/controllers/models/summary.json
+++ b/modules/control-center-web/src/main/js/controllers/models/summary.json
@@ -1,19 +1,4 @@
 {
-  "screenTip": {
-    "workflowTitle": "On This Screen:",
-    "workflowContent": [
-      "Download XML Config",
-      "Download Java Code",
-      "Download Docker File",
-      "more-info"
-    ],
-    "whatsNextTitle": "Next Steps:",
-    "whatsNextContent": [
-      "Deploy Ignite Servers",
-      "Connect Ignite Clients",
-      "Analyze with SQL"
-    ]
-  },
   "moreInfo": {
     "title": "Summary screen",
     "content": ["Generated cluster's configuration showed on this screen.",

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/controllers/summary-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/summary-controller.js b/modules/control-center-web/src/main/js/controllers/summary-controller.js
index ce75693..b1b1351 100644
--- a/modules/control-center-web/src/main/js/controllers/summary-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/summary-controller.js
@@ -20,6 +20,7 @@ consoleModule.controller('summaryController', [
     '$scope', '$http', '$common', '$loading', '$table',
     function ($scope, $http, $common, $loading, $table) {
     var igniteVersion = '1.5.0';
+    $loading.start('loadingSummaryScreen');
 
     $scope.panelExpanded = $common.panelExpanded;
     $scope.tableVisibleRow = $table.tableVisibleRow;
@@ -246,8 +247,6 @@ consoleModule.controller('summaryController', [
         saveAs(blob, cluster.name + '-configuration.zip');
     };
 
-    $loading.start('loadingSummaryScreen');
-
     $http.post('/api/v1/configuration/clusters/list')
         .success(function (data) {
             $scope.clusters = data.clusters;
@@ -289,5 +288,6 @@ consoleModule.controller('summaryController', [
         })
         .finally(function () {
             $loading.finish('loadingSummaryScreen');
+            $scope.ui = {ready: true}
         });
 }]);

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/package.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/package.json b/modules/control-center-web/src/main/js/package.json
index ff26227..0c87ecf 100644
--- a/modules/control-center-web/src/main/js/package.json
+++ b/modules/control-center-web/src/main/js/package.json
@@ -84,6 +84,7 @@
       "css": "github:systemjs/plugin-css@^0.1.20",
       "file-saver": "github:eligrey/FileSaver.js@master",
       "font-awesome": "npm:font-awesome@^4.4.0",
+      "jade": "github:johnsoftek/plugin-jade@^0.5.1",
       "jquery": "github:components/jquery@^2.1.4",
       "jszip": "github:Stuk/jszip@^2.5.0",
       "lodash": "npm:lodash@^3.10.1",

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/public/stylesheets/style.scss b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
index 5f64d98..d359ab5 100644
--- a/modules/control-center-web/src/main/js/public/stylesheets/style.scss
+++ b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
@@ -18,11 +18,10 @@
 @import "font-awesome-custom";
 @import "bootstrap-custom";
 
+@import "./../../app/directives/callout/callout.scss";
+
 $logo-path: "/images/logo.png";
 $input-height: 28px;
-$ignite-block-callout-left-background: #f4f8fa;
-$ignite-block-callout-right-background: #f3f8f3;
-$ignite-block-callout-gradient-to: #ffffff;
 $ignite-placeholder-color: #999999;
 $ignite-border-color: #ddd;
 $ignite-darck-border-color: #aaa;
@@ -1395,62 +1394,6 @@ a {
     padding: 10px 10px 10px 20px;
 }
 
-.block-callout-parent {
-    margin-top: 10px;
-
-    table {
-        width: 100%
-    }
-}
-
-.block-callout {
-    border-left: 5px solid;
-    vertical-align: top;
-
-    i {
-        padding: 10px 5px 0 10px;
-    }
-
-    label {
-        font-weight: bold;
-    }
-
-    ul {
-        padding: 5px 0 10px 20px;
-        margin: 0 0 0 10px;
-    }
-}
-
-.block-callout-left {
-    @extend .block-callout;
-
-    background: linear-gradient(to right, $ignite-block-callout-left-background, $ignite-block-callout-gradient-to);
-    border-color: $brand-info;
-
-    i {
-        color: $brand-info;
-    }
-
-    label {
-        color: $brand-info;
-    }
-}
-
-.block-callout-right {
-    @extend .block-callout;
-
-    background: linear-gradient(to right, $ignite-block-callout-right-background, $ignite-block-callout-gradient-to);
-    border-color: $brand-success;
-
-    i {
-        color: $brand-success;
-    }
-
-    label {
-        color: $brand-success;
-    }
-}
-
 .ace_content {
     padding-left: 5px;
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/views/configuration/caches.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/caches.jade b/modules/control-center-web/src/main/js/views/configuration/caches.jade
index e933f2a..b23364e 100644
--- a/modules/control-center-web/src/main/js/views/configuration/caches.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/caches.jade
@@ -19,9 +19,24 @@ include ../includes/controls
 .docs-header
     h1 Create and Configure Ignite Caches
 .docs-body(ng-controller='cachesController')
+    ignite-callout
+        ignite-callout-cel(data-title='On This Screen')
+            li Configure Caches
+            li Link Metadata to Caches
+            li Link Caches to Clusters
+            li 
+                a(bs-modal='moreInfo' data-placement='center' data-template-url='/templates/message.html') More info
+                    
+        ignite-callout-cel(data-title='Next Steps')
+            li Continue to 
+                a(ui-sref='base.configuration.metadata') Metadata
+            li Continue to 
+                a(ui-sref='base.configuration.summary') Summary
+            li Back to 
+                a(ui-sref='base.configuration.clusters') Clusters
+
     div(dw-loading='loadingCachesScreen' dw-loading-options='{text: "Loading caches screen...", className: "page-loading-overlay"}')
         div(ng-show='ui.ready')
-            +block-callout('{{screenTip.workflowTitle}}', 'screenTip.workflowContent', '{{screenTip.whatsNextTitle}}', 'screenTip.whatsNextContent')
             hr
             +main-table('Caches:', 'caches', 'cacheName', 'selectItem(row)', '{{$index + 1}}) {{row.name}}, {{row.cacheMode | displayValue:cacheModes:"Cache mode not set"}}, {{row.atomicityMode | displayValue:atomicities:"Cache atomicity not set"}}')
             .padding-top-dflt(bs-affix)

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/clusters.jade b/modules/control-center-web/src/main/js/views/configuration/clusters.jade
index ecb0d4e..ebe3d82 100644
--- a/modules/control-center-web/src/main/js/views/configuration/clusters.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/clusters.jade
@@ -19,9 +19,21 @@ include ../includes/controls
 .docs-header
     h1 Create and Configure Ignite Clusters
 .docs-body(ng-controller='clustersController')
+    ignite-callout
+        ignite-callout-cel(data-title='On This Screen')
+            li Configure Clusters
+            li Link Clusters to Caches
+            li 
+                a(bs-modal='moreInfo' data-placement='center' data-template-url='/templates/message.html') More info
+                    
+        ignite-callout-cel(data-title='Next Steps')
+            li Continue to 
+                a(ui-sref='base.configuration.caches') Caches
+            li Continue to 
+                a(ui-sref='base.configuration.summary') Summary
+
     div(dw-loading='loadingClustersScreen' dw-loading-options='{text: "Loading clusters screen...", className: "page-loading-overlay"}')
         div(ng-show='ui.ready')
-            +block-callout('{{screenTip.workflowTitle}}', 'screenTip.workflowContent', '{{screenTip.whatsNextTitle}}', 'screenTip.whatsNextContent')
             hr
             +main-table('Clusters:', 'clusters', 'clusterName', 'selectItem(row)', '{{$index + 1}}) {{row.name}}, {{row.discovery.kind | displayValue:discoveries:"Discovery not set"}}')
             .padding-top-dflt(bs-affix)

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/views/configuration/igfs.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/igfs.jade b/modules/control-center-web/src/main/js/views/configuration/igfs.jade
index ec2ed78..1f56c80 100644
--- a/modules/control-center-web/src/main/js/views/configuration/igfs.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/igfs.jade
@@ -19,9 +19,20 @@ include ../includes/controls
 .docs-header
     h1 Create and Configure IGFS
 .docs-body(ng-controller='igfsController')
+    ignite-callout
+        ignite-callout-cel(data-title='On This Screen')
+            li Configure IGFS file systems
+            li 
+                a(bs-modal='moreInfo' data-placement='center' data-template-url='/templates/message.html') More info
+                    
+        ignite-callout-cel(data-title='Next Steps')
+            li Continue to 
+                a(ui-sref='base.configuration.summary') Summary
+            li Back to 
+                a(ui-sref='base.configuration.clusters') Clusters
+
     div(dw-loading='loadingIgfsScreen' dw-loading-options='{text: "Loading IGFS screen...", className: "page-loading-overlay"}')
         div(ng-show='ui.ready')
-            +block-callout('{{screenTip.workflowTitle}}', 'screenTip.workflowContent', '{{screenTip.whatsNextTitle}}', 'screenTip.whatsNextContent')
             hr
             +main-table('IGFS:', 'igfss', 'igfsName', 'selectItem(row)', '{{$index + 1}}) {{row.name}}')
             .padding-top-dflt(bs-affix)

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/views/configuration/metadata.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/metadata.jade b/modules/control-center-web/src/main/js/views/configuration/metadata.jade
index e8c114f..94c4e0a 100644
--- a/modules/control-center-web/src/main/js/views/configuration/metadata.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/metadata.jade
@@ -19,9 +19,23 @@ include ../includes/controls
 .docs-header
     h1 Create and Configure Cache Type Metadata
 .docs-body(ng-controller='metadataController')
+    ignite-callout
+        ignite-callout-cel(data-title='On This Screen')
+            li Manually enter Metadata
+            li Load Metadata from Database
+            li 
+                a(bs-modal='moreInfo' data-placement='center' data-template-url='/templates/message.html') More info
+                    
+        ignite-callout-cel(data-title='Next Steps')
+            li Continue to 
+                a(ui-sref='base.configuration.summary') Summary
+            li Back to 
+                a(ui-sref='base.configuration.caches') Caches
+            li Back to 
+                a(ui-sref='base.configuration.clusters') Clusters
+                        
     div(dw-loading='loadingMetadataScreen' dw-loading-options='{text: "Loading metadata screen...", className: "page-loading-overlay"}')
         div(ng-show='ui.ready')
-            +block-callout('{{screenTip.workflowTitle}}', 'screenTip.workflowContent', '{{screenTip.whatsNextTitle}}', 'screenTip.whatsNextContent')
             hr
             .padding-bottom-dflt(ng-show='metadatas && metadatas.length > 0')
                 table.links(st-set-filter='metadatasSearch' st-table='displayedRows' st-safe-src='metadatas')

http://git-wip-us.apache.org/repos/asf/ignite/blob/d41be5a4/modules/control-center-web/src/main/js/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/summary.jade b/modules/control-center-web/src/main/js/views/configuration/summary.jade
index 10f80c69..35436f0 100644
--- a/modules/control-center-web/src/main/js/views/configuration/summary.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/summary.jade
@@ -40,69 +40,83 @@ mixin pojos(side)
 
 .docs-header
     h1 Configurations Summary
-.docs-body(ng-controller='summaryController' dw-loading='loadingSummaryScreen' dw-loading-options='{text: "Loading summary screen...", className: "page-loading-overlay"}' method='post' action='summary/download')
-    +block-callout('{{screenTip.workflowTitle}}', 'screenTip.workflowContent', '{{screenTip.whatsNextTitle}}', 'screenTip.whatsNextContent')
-    hr
-    .padding-dflt(ng-if='clusters.length == 0')
-        | You have no clusters configured. Please configure them &nbsp;
-        a(href='/configuration/clusters') here.
-    +main-table('Clusters:', 'clusters', 'clusterName', 'selectItem(row)', '{{$index + 1}}) {{row.name}}')
-    div(ng-show='selectedItem && tableVisibleRow(displayedRows, selectedItem)' role='tab')
-        .padding-top-dflt(ng-if='clusters.length > 0' bs-affix)
-            button.btn.btn-primary(id='download' ng-click='downloadConfiguration()' bs-tooltip data-title='Download configuration' data-placement='bottom') Download
+.docs-body(ng-controller='summaryController')
+    ignite-callout
+        ignite-callout-cel(data-title='On This Screen')
+            li Download XML Config
+            li Download Java Code
+            li Download Docker File
+            li 
+                a(bs-modal='moreInfo' data-placement='center' data-template-url='/templates/message.html') More info
+                    
+        ignite-callout-cel(data-title='Next Steps')
+            li Deploy Ignite Servers
+            li Connect Ignite Clients
+            li Analyze with SQL
+            
+    div(dw-loading='loadingSummaryScreen' dw-loading-options='{text: "Loading summary screen...", className: "page-loading-overlay"}')
+        div(ng-show='ui.ready')
             hr
-        .panel-group(bs-collapse ng-init='panels.activePanels=[0,1]' ng-model='panels.activePanels' data-allow-multiple='true')
-            .panel.panel-default
-                .panel-heading(role='tab' bs-collapse-toggle)
-                    i.fa(ng-class='panelExpanded(panels, "server") ? "fa-chevron-circle-up" : "fa-chevron-circle-down"')
-                    label Server
-                .panel-collapse(id='server' role='tabpanel' bs-collapse-target)
-                    .summary-tabs(bs-tabs data-bs-active-pane="tabsServer.activeTab" ng-show='selectedItem' template='configuration/summary-tabs.html')
-                        div(bs-pane title='XML')
-                            div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='xmlServer')
-                        div(bs-pane title='Java')
-                            .details-row
-                                .col-xs-2.col-sm-2.col-md-1
-                                    label Generate:
-                                .col-xs-4.col-sm-3.col-md-3
-                                    button.select-toggle.form-control(ng-model='configServer.javaClassServer' bs-select bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
-                            div(ui-ace='{onLoad: aceInit, mode: "java"}' ng-model='javaServer')
-                        div(bs-pane title='POM')
-                            div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='pom')
-                        div(bs-pane title='Dockerfile')
-                            .details-row
-                                p
-                                    +hard-link('https://docs.docker.com/reference/builder', 'Docker')
-                                    | &nbsp;file is a text file with instructions to create Docker image.<br/>
-                                    | To build image you have to store following Docker file with your Ignite XML configuration to the same directory.<br>
-                                    | Also you could use predefined&nbsp;
-                                    +hard-link('https://ignite.apache.org/download.html#docker', 'Apache Ignite docker image')
-                                    | . For more information about using Ignite with Docker please read&nbsp;
-                                    +hard-link('http://apacheignite.readme.io/docs/docker-deployment', 'documentation')
-                                    |.
-                                .col-xs-3.col-sm-2
-                                    label(for='os') Operation System:
-                                .col-xs-5.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' bs-typeahead retain-selection bs-options='os for os in oss')
-                            div(ui-ace='{onLoad: aceInit, mode: "dockerfile"}' ng-model='dockerServer')
-            .panel.panel-default
-                .panel-heading(role='tab' bs-collapse-toggle)
-                    i.fa(ng-class='panelExpanded(panels, "client") ? "fa-chevron-circle-up" : "fa-chevron-circle-down"')
-                    label Client
-                .panel-collapse(id='client' role='tabpanel' bs-collapse-target)
-                    div(ng-show='selectedItem')
-                        .details-row(ng-repeat='field in clientFields')
-                            +form-row-custom(['col-xs-4 col-sm-4 col-md-3'], ['col-xs-4 col-sm-4 col-md-3'], 'backupItem')
-                        .summary-tabs(bs-tabs data-bs-active-pane="tabsClient.activeTab" template='configuration/summary-tabs.html')
-                            div(bs-pane title='XML')
-                                div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='xmlClient')
-                            div(bs-pane title='Java')
-                                .details-row
-                                    .col-xs-2.col-sm-2.col-md-1
-                                        label Generate:
-                                    .col-xs-4.col-sm-3.col-md-3
-                                        button.select-toggle.form-control(ng-model='backupItem.javaClassClient' bs-select bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
-                                div(ui-ace='{onLoad: aceInit, mode: "java"}' ng-model='javaClient')
-                            div(bs-pane title='POM')
-                                div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='pom')
-                            +pojos('Client')
+            .padding-dflt(ng-if='clusters.length == 0')
+                | You have no clusters configured. Please configure them &nbsp;
+                a(href='/configuration/clusters') here.
+            +main-table('Clusters:', 'clusters', 'clusterName', 'selectItem(row)', '{{$index + 1}}) {{row.name}}')
+            div(ng-show='selectedItem && tableVisibleRow(displayedRows, selectedItem)' role='tab')
+                .padding-top-dflt(ng-if='clusters.length > 0' bs-affix)
+                    button.btn.btn-primary(id='download' ng-click='downloadConfiguration()' bs-tooltip data-title='Download configuration' data-placement='bottom') Download
+                    hr
+                .panel-group(bs-collapse ng-init='panels.activePanels=[0,1]' ng-model='panels.activePanels' data-allow-multiple='true')
+                    .panel.panel-default
+                        .panel-heading(role='tab' bs-collapse-toggle)
+                            i.fa(ng-class='panelExpanded(panels, "server") ? "fa-chevron-circle-up" : "fa-chevron-circle-down"')
+                            label Server
+                        .panel-collapse(id='server' role='tabpanel' bs-collapse-target)
+                            .summary-tabs(bs-tabs data-bs-active-pane="tabsServer.activeTab" ng-show='selectedItem' template='configuration/summary-tabs.html')
+                                div(bs-pane title='XML')
+                                    div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='xmlServer')
+                                div(bs-pane title='Java')
+                                    .details-row
+                                        .col-xs-2.col-sm-2.col-md-1
+                                            label Generate:
+                                        .col-xs-4.col-sm-3.col-md-3
+                                            button.select-toggle.form-control(ng-model='configServer.javaClassServer' bs-select bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
+                                    div(ui-ace='{onLoad: aceInit, mode: "java"}' ng-model='javaServer')
+                                div(bs-pane title='POM')
+                                    div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='pom')
+                                div(bs-pane title='Dockerfile')
+                                    .details-row
+                                        p
+                                            +hard-link('https://docs.docker.com/reference/builder', 'Docker')
+                                            | &nbsp;file is a text file with instructions to create Docker image.<br/>
+                                            | To build image you have to store following Docker file with your Ignite XML configuration to the same directory.<br>
+                                            | Also you could use predefined&nbsp;
+                                            +hard-link('https://ignite.apache.org/download.html#docker', 'Apache Ignite docker image')
+                                            | . For more information about using Ignite with Docker please read&nbsp;
+                                            +hard-link('http://apacheignite.readme.io/docs/docker-deployment', 'documentation')
+                                            |.
+                                        .col-xs-3.col-sm-2
+                                            label(for='os') Operation System:
+                                        .col-xs-5.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' bs-typeahead retain-selection bs-options='os for os in oss')
+                                    div(ui-ace='{onLoad: aceInit, mode: "dockerfile"}' ng-model='dockerServer')
+                    .panel.panel-default
+                        .panel-heading(role='tab' bs-collapse-toggle)
+                            i.fa(ng-class='panelExpanded(panels, "client") ? "fa-chevron-circle-up" : "fa-chevron-circle-down"')
+                            label Client
+                        .panel-collapse(id='client' role='tabpanel' bs-collapse-target)
+                            div(ng-show='selectedItem')
+                                .details-row(ng-repeat='field in clientFields')
+                                    +form-row-custom(['col-xs-4 col-sm-4 col-md-3'], ['col-xs-4 col-sm-4 col-md-3'], 'backupItem')
+                                .summary-tabs(bs-tabs data-bs-active-pane="tabsClient.activeTab" template='configuration/summary-tabs.html')
+                                    div(bs-pane title='XML')
+                                        div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='xmlClient')
+                                    div(bs-pane title='Java')
+                                        .details-row
+                                            .col-xs-2.col-sm-2.col-md-1
+                                                label Generate:
+                                            .col-xs-4.col-sm-3.col-md-3
+                                                button.select-toggle.form-control(ng-model='backupItem.javaClassClient' bs-select bs-options='item.value as item.label for item in javaClassItems' data-sort='false')
+                                        div(ui-ace='{onLoad: aceInit, mode: "java"}' ng-model='javaClient')
+                                    div(bs-pane title='POM')
+                                        div(ui-ace='{onLoad: aceInit, mode: "xml"}' ng-model='pom')
+                                    +pojos('Client')


Mime
View raw message