Repository: ignite
Updated Branches:
  refs/heads/master f2d800e59 -> 7ee1683e1


http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/package.json
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/package.json 
b/modules/web-console/frontend/package.json
index 9c9738c..9101184 100644
--- a/modules/web-console/frontend/package.json
+++ b/modules/web-console/frontend/package.json
@@ -8,6 +8,7 @@
     "dev": "npm start",
     "build": "webpack --config ./webpack/webpack.prod.babel.js",
     "test": "karma start ./test/karma.conf.js",
+    "test-watch": "npm test -- --no-single-run",
     "eslint": "eslint --format node_modules/eslint-friendly-formatter app/ 
controllers/ ignite_modules/ -- --eff-by-issue"
   },
   "author": "",
@@ -32,7 +33,10 @@
     "win32"
   ],
   "dependencies": {
-    "@uirouter/angularjs": "1.0.10",
+    "@uirouter/angularjs": "^1.0.11",
+    "@uirouter/core": "^5.0.11",
+    "@uirouter/rx": "^0.4.1",
+    "@uirouter/visualizer": "^4.0.2",
     "angular": "1.6.6",
     "angular-acl": "0.1.10",
     "angular-animate": "1.6.6",
@@ -51,11 +55,14 @@
     "angular-translate": "2.16.0",
     "angular-tree-control": "0.2.28",
     "angular-ui-carousel": "0.1.10",
-    "angular-ui-grid": "4.0.11",
+    "angular-ui-grid": "^4.4.3",
+    "angular-ui-validate": "^1.2.3",
+    "angular1-async-filter": "^1.1.0",
     "babel-core": "6.25.0",
     "babel-eslint": "7.2.3",
     "babel-loader": "7.1.1",
     "babel-plugin-add-module-exports": "0.2.1",
+    "babel-plugin-transform-object-rest-spread": "^6.23.0",
     "babel-plugin-transform-runtime": "6.23.0",
     "babel-polyfill": "6.23.0",
     "babel-preset-es2015": "6.24.1",
@@ -64,7 +71,7 @@
     "bootstrap-sass": "3.3.7",
     "brace": "0.10.0",
     "browser-update": "2.1.9",
-    "bson-objectid": "1.1.5",
+    "bson-objectid": "^1.2.0",
     "copy-webpack-plugin": "4.0.1",
     "css-loader": "0.28.7",
     "eslint": "4.3.0",
@@ -81,8 +88,10 @@
     "jquery": "3.2.1",
     "json-bigint": "0.2.3",
     "json-loader": "0.5.7",
+    "jsondiffpatch": "^0.2.5",
     "jszip": "3.1.4",
     "lodash": "4.17.4",
+    "natural-compare-lite": "^1.4.0",
     "node-sass": "4.6.0",
     "nvd3": "1.8.4",
     "pako": "1.0.6",
@@ -103,12 +112,20 @@
     "worker-loader": "0.8.1"
   },
   "devDependencies": {
-    "@types/angular": "1.6.43",
+    "@types/angular": "^1.6.32",
+    "@types/angular-animate": "^1.5.8",
+    "@types/angular-strap": "^2.3.1",
+    "@types/chai": "^4.0.4",
+    "@types/lodash": "^4.14.77",
+    "@types/mocha": "^2.2.44",
+    "@types/sinon": "^4.0.0",
+    "@types/ui-grid": "0.0.38",
     "app-root-path": "2.0.1",
     "chai": "4.1.0",
     "chalk": "2.1.0",
     "glob": "7.1.2",
     "globby": "8.0.1",
+    "ignore-loader": "^0.1.2",
     "jasmine-core": "2.6.4",
     "karma": "1.7.0",
     "karma-babel-preprocessor": "6.0.1",

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/checkbox-active.svg
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/checkbox-active.svg 
b/modules/web-console/frontend/public/images/checkbox-active.svg
index 82e59c6..47c4d88 100644
--- a/modules/web-console/frontend/public/images/checkbox-active.svg
+++ b/modules/web-console/frontend/public/images/checkbox-active.svg
@@ -22,4 +22,4 @@
             </g>
         </g>
     </g>
-</svg>
+</svg>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/collapse.svg
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/collapse.svg 
b/modules/web-console/frontend/public/images/collapse.svg
new file mode 100644
index 0000000..86861a5
--- /dev/null
+++ b/modules/web-console/frontend/public/images/collapse.svg
@@ -0,0 +1,3 @@
+<svg version="1.1" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg";>
+ <path d="m2 0c-1.108 0-2 0.892-2 2v9c0 1.108 0.892 2 2 2h9c1.108 0 2-0.892 
2-2v-9c0-1.108-0.892-2-2-2h-9zm1 6h7v1h-7v-1z" fill="#757575"/>
+</svg>

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/expand.svg
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/expand.svg 
b/modules/web-console/frontend/public/images/expand.svg
new file mode 100644
index 0000000..569c9c0
--- /dev/null
+++ b/modules/web-console/frontend/public/images/expand.svg
@@ -0,0 +1,3 @@
+<svg version="1.1" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg";>
+ <path d="m2 0c-1.108 0-2 0.892-2 2v9c0 1.108 0.892 2 2 2h9c1.108 0 2-0.892 
2-2v-9c0-1.108-0.892-2-2-2zm4 3h1v3h3v1h-3v3h-1v-3h-3v-1h3z" fill="#757575" />
+</svg>

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/icons/collapse.svg
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/icons/collapse.svg 
b/modules/web-console/frontend/public/images/icons/collapse.svg
index 86861a5..eb16b4c 100644
--- a/modules/web-console/frontend/public/images/icons/collapse.svg
+++ b/modules/web-console/frontend/public/images/icons/collapse.svg
@@ -1,3 +1,3 @@
 <svg version="1.1" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg";>
- <path d="m2 0c-1.108 0-2 0.892-2 2v9c0 1.108 0.892 2 2 2h9c1.108 0 2-0.892 
2-2v-9c0-1.108-0.892-2-2-2h-9zm1 6h7v1h-7v-1z" fill="#757575"/>
+ <path d="m2 0c-1.108 0-2 0.892-2 2v9c0 1.108 0.892 2 2 2h9c1.108 0 2-0.892 
2-2v-9c0-1.108-0.892-2-2-2h-9zm1 6h7v1h-7v-1z" fill="currentColor"/>
 </svg>

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/icons/expand.svg
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/icons/expand.svg 
b/modules/web-console/frontend/public/images/icons/expand.svg
index 569c9c0..131378e 100644
--- a/modules/web-console/frontend/public/images/icons/expand.svg
+++ b/modules/web-console/frontend/public/images/icons/expand.svg
@@ -1,3 +1,3 @@
 <svg version="1.1" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg";>
- <path d="m2 0c-1.108 0-2 0.892-2 2v9c0 1.108 0.892 2 2 2h9c1.108 0 2-0.892 
2-2v-9c0-1.108-0.892-2-2-2zm4 3h1v3h3v1h-3v3h-1v-3h-3v-1h3z" fill="#757575" />
+ <path d="m2 0c-1.108 0-2 0.892-2 2v9c0 1.108 0.892 2 2 2h9c1.108 0 2-0.892 
2-2v-9c0-1.108-0.892-2-2-2zm4 3h1v3h3v1h-3v3h-1v-3h-3v-1h3z" 
fill="currentColor" />
 </svg>

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/icons/index.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/icons/index.js 
b/modules/web-console/frontend/public/images/icons/index.js
index cd9ff1e..6d320a9 100644
--- a/modules/web-console/frontend/public/images/icons/index.js
+++ b/modules/web-console/frontend/public/images/icons/index.js
@@ -22,18 +22,18 @@ export clock from './clock.svg';
 export manual from './manual.svg';
 export download from './download.svg';
 export filter from './filter.svg';
+export plus from './plus.svg';
 export search from './search.svg';
-export refresh from './refresh.svg';
+export checkmark from './checkmark.svg';
 export sort from './sort.svg';
 export info from './info.svg';
+export connectedClusters from './connectedClusters.svg';
 export check from './check.svg';
-export checkmark from './checkmark.svg';
+export structure from './structure.svg';
 export alert from './alert.svg';
 export attention from './attention.svg';
-export connectedClusters from './connectedClusters.svg';
 export exclamation from './exclamation.svg';
 export collapse from './collapse.svg';
 export expand from './expand.svg';
-export plus from './plus.svg';
 export home from './home.svg';
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/icons/plus.svg
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/icons/plus.svg 
b/modules/web-console/frontend/public/images/icons/plus.svg
index fe7f6a6..04cdc47 100644
--- a/modules/web-console/frontend/public/images/icons/plus.svg
+++ b/modules/web-console/frontend/public/images/icons/plus.svg
@@ -1,3 +1,2 @@
-<svg xmlns="http://www.w3.org/2000/svg"; width="12" height="12" viewBox="0 0 12 
12">
-    <path fill="#FFF" fill-rule="evenodd" d="M12 
6.857H6.857V12H5.143V6.857H0V5.143h5.143V0h1.714v5.143H12v1.714"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 12 12">
+<polyline fill="currentColor" points="12,6.9 6.9,6.9 6.9,12 5.1,12 5.1,6.9 
0,6.9 0,5.1 5.1,5.1 5.1,0 6.9,0 6.9,5.1 12,5.1  12,6.9 "/></svg>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/images/icons/structure.svg
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/icons/structure.svg 
b/modules/web-console/frontend/public/images/icons/structure.svg
new file mode 100644
index 0000000..b83386e
--- /dev/null
+++ b/modules/web-console/frontend/public/images/icons/structure.svg
@@ -0,0 +1,3 @@
+<svg version="1.1" viewBox="0 0 16 14" xmlns="http://www.w3.org/2000/svg";>
+ <path fill="currentColor" d="m0 
0v3h1v3h4v2h2.0996v3.9004h3.9004v2.0996h5v-5h-5v1.9004h-2.9004v-2.9004h0.90039v-4h-4v1.0488l-3-0.048828v-2h1v-3h-3z"/>
+</svg>

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/stylesheets/style.scss 
b/modules/web-console/frontend/public/stylesheets/style.scss
index fe1e94e..ae1e58c 100644
--- a/modules/web-console/frontend/public/stylesheets/style.scss
+++ b/modules/web-console/frontend/public/stylesheets/style.scss
@@ -23,6 +23,16 @@
 @import "./blocks/error";
 @import "./form-field";
 
+body {
+    overflow-y: scroll !important;
+}
+
+.flex-full-height {
+    display: flex;
+    flex-direction: column;
+    flex: 1 0 auto;
+}
+
 hr {
     margin: 20px 0;
 }
@@ -84,11 +94,6 @@ hr {
     color: $input-color-placeholder;
 }
 
-.theme-line .summary-pojo-list > ul.dropdown-menu {
-    width: 100%;
-    max-width: none;
-}
-
 .tooltip {
   word-wrap: break-word;
 }
@@ -270,7 +275,7 @@ body > .wrapper,
 body > .wrapper > ui-view {
     display: flex;
     flex-direction: column;
-    min-height: 100%;
+    min-height: 100vh;
     flex: 1 0 auto;
 
     .body-container {
@@ -692,10 +697,6 @@ button.form-control {
     padding: 20px;
 }
 
-.theme-line .main-content a.customize {
-    margin-left: 5px;
-}
-
 .theme-line .panel-collapse {
     margin: 0;
 }
@@ -843,10 +844,6 @@ button.form-control {
     padding-bottom: 10px;
 }
 
-.import-domain-model-wizard-page {
-    margin: 15px;
-}
-
 .scrollable-y {
     overflow-x: hidden;
     overflow-y: auto;
@@ -1144,45 +1141,8 @@ button.form-control {
     }
 }
 
-.theme-line .popover.summary-project-structure {
-    @extend .popover.settings;
-
-    z-index: 1030;
-    min-width: 305px;
-
-    .popover-title {
-        color: black;
-
-        line-height: 27px;
-
-        padding: 3px 5px 3px 10px;
-
-        white-space: nowrap;
-        overflow: hidden;
-        -o-text-overflow: ellipsis;
-        text-overflow: ellipsis;
-
-        .close {
-            float: right;
-            top: 0;
-            right: 0;
-            position: relative;
-            margin-left: 10px;
-            line-height: 27px;
-        }
-    }
-
-    > .popover-content {
-        overflow: auto;
-
-        white-space: nowrap;
-
-        min-height: 300px;
-        max-height: 300px;
-    }
-}
-
-.theme-line .popover.validation-error {
+.popover.validation-error {
+    font-family: Roboto;
     white-space: pre-wrap;
     width: auto !important;
     max-width: 400px !important;
@@ -1278,7 +1238,7 @@ label {
     margin-right: 5px;
 }
 
-label.required:after {
+.required:after {
     color: $brand-primary;
     content: ' *';
     display: inline;
@@ -1320,19 +1280,6 @@ label.required:after {
     }
 }
 
-.summary-tabs {
-    margin-top: 0.65em;
-}
-
-.summary-tab {
-    img {
-        margin-right: 5px;
-        height: 16px;
-        width: 16px;
-        float: left;
-    }
-}
-
 input[type="number"]::-webkit-outer-spin-button,
 input[type="number"]::-webkit-inner-spin-button {
     -webkit-appearance: none;
@@ -1489,16 +1436,6 @@ th[st-sort] {
     }
 }
 
-.preview-panel, .summary-tabs {
-    .ace_hidden-cursors {
-        opacity: 0;
-    }
-
-    .ace_cursor {
-        opacity: 0;
-    }
-}
-
 .preview-highlight-1 {
     position: absolute;
     background-color: #f7faff;
@@ -1561,6 +1498,7 @@ th[st-sort] {
 
 .preview-panel {
     min-height: 28px;
+    position: relative;
 
     margin-left: 20px;
 
@@ -1574,7 +1512,7 @@ th[st-sort] {
     top: -10px;
     right: 20px;
     position: absolute;
-    z-index: 900;
+    z-index: 2;
 
     a {
         color: $input-color-placeholder;
@@ -1593,7 +1531,7 @@ th[st-sort] {
 }
 
 .preview-content-empty {
-    color: $input-color-placeholder;
+    color: #757575;
     display: table;
     width: 100%;
     height: 26px;
@@ -1947,18 +1885,6 @@ treecontrol.tree-classic {
     border-bottom-width: 0;
 }
 
-.summary-tabs {
-    .nav-tabs > li:first-child,
-    .nav-tabs > li:first-child.active {
-        & > a,
-        & > a:focus,
-        & > a:hover {
-            border-left: none;
-            border-top-left-radius: 0;
-        }
-    }
-}
-
 .ribbon-wrapper {
     width: 150px;
     height: 150px;
@@ -2012,9 +1938,9 @@ treecontrol.tree-classic {
     }
 }
 
-html,body,.splash-screen {
+html, body {
     width: 100%;
-    height: 100%;
+    min-height: 100vh;
 }
 
 .splash {
@@ -2117,14 +2043,6 @@ html,body,.splash-screen {
     }
 }
 
-.domains-import-dialog {
-    .modal-body {
-        height: 325px;
-        margin: 0;
-        padding: 0;
-    }
-}
-
 // Fix for incorrect tooltip placement after fast show|hide.
 .tooltip.ng-leave {
     transition: none !important; /* Disable transitions. */

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/tsconfig.json
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/tsconfig.json 
b/modules/web-console/frontend/tsconfig.json
index a70845d..df18120 100644
--- a/modules/web-console/frontend/tsconfig.json
+++ b/modules/web-console/frontend/tsconfig.json
@@ -2,11 +2,9 @@
     "compilerOptions": {
         "allowSyntheticDefaultImports": true,
         "target": "ES2017",
+        "moduleResolution": "Node",
         "allowJs": true,
         "checkJs": true,
-        "baseUrl": ".",
-        "paths": {
-            "*": ["*", "node_modules/*"]
-        }
+        "baseUrl": "."
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/base2.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/base2.pug 
b/modules/web-console/frontend/views/base2.pug
index fd2331c..22028d5 100644
--- a/modules/web-console/frontend/views/base2.pug
+++ b/modules/web-console/frontend/views/base2.pug
@@ -20,7 +20,7 @@ web-console-header
     web-console-header-right
         include ./includes/header-right
 
-.container.body-container
-    div(ui-view='')
+.container.body-container.flex-full-height
+    div(ui-view='').flex-full-height
 
 web-console-footer
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/configuration/caches.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/caches.tpl.pug 
b/modules/web-console/frontend/views/configuration/caches.tpl.pug
deleted file mode 100644
index 43b5d57..0000000
--- a/modules/web-console/frontend/views/configuration/caches.tpl.pug
+++ /dev/null
@@ -1,55 +0,0 @@
-//-
-    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.
-
-include /app/helpers/jade/mixins
-
-.docs-header
-    h1 Configure Ignite Caches
-.docs-body
-    ignite-information
-        ul
-            li Configure 
#[a(href='https://apacheignite.readme.io/docs/data-grid' target='_blank') 
memory] settings
-            li Configure persistence
-    div(ignite-loading='loadingCachesScreen' ignite-loading-text='Loading 
caches...' ignite-loading-position='top')
-        div(ng-show='ui.ready')
-            hr
-            +main-table('caches', 'caches', 'cacheName', 'selectItem(row)', 
'{{$index + 1}}) {{row.label}}', 'label')
-            .padding-top-dflt(bs-affix)
-                .panel-tip-container(data-placement='bottom' bs-tooltip='' 
data-title='Create new cache')
-                    button.btn.btn-primary(id='new-item' 
ng-click='createItem()') Add cache
-                +save-remove-clone-undo-buttons('cache')
-                hr
-            .bs-affix-fix
-            div(bs-collapse='' data-allow-multiple='true' 
ng-model='ui.activePanels')
-                form.form-horizontal(name='ui.inputForm' novalidate 
ng-if='contentVisible()')
-                    .panel-group
-                        include 
/app/modules/states/configuration/caches/general
-                        include /app/modules/states/configuration/caches/memory
-                        include /app/modules/states/configuration/caches/query
-                        include /app/modules/states/configuration/caches/store
-
-                        +advanced-options-toggle-default
-
-                        div(ng-show='ui.expanded')
-                            include 
/app/modules/states/configuration/caches/affinity
-                            include 
/app/modules/states/configuration/caches/concurrency
-                            include 
/app/modules/states/configuration/caches/near-cache-client
-                            include 
/app/modules/states/configuration/caches/near-cache-server
-                            include 
/app/modules/states/configuration/caches/node-filter
-                            include 
/app/modules/states/configuration/caches/rebalance
-                            include 
/app/modules/states/configuration/caches/statistics
-
-                            +advanced-options-toggle-default

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/configuration/clusters.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/clusters.tpl.pug 
b/modules/web-console/frontend/views/configuration/clusters.tpl.pug
deleted file mode 100644
index 19ed350..0000000
--- a/modules/web-console/frontend/views/configuration/clusters.tpl.pug
+++ /dev/null
@@ -1,95 +0,0 @@
-//-
-    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.
-
-include /app/helpers/jade/mixins
-
-.docs-header
-    h1 Configure Ignite Clusters
-.docs-body
-    ignite-information
-        ul
-            li Configure 
#[a(href='https://apacheignite.readme.io/docs/clustering' target='_blank') 
clusters] properties
-            li Associate clusters with caches and in-memory file systems
-    div(ignite-loading='loadingClustersScreen' ignite-loading-text='Loading 
clusters...' ignite-loading-position='top')
-        div(ng-show='ui.ready')
-            hr
-            +main-table('clusters', 'clusters', 'clusterName', 
'selectItem(row)', '{{$index + 1}}) {{row.label}}', 'label')
-            .padding-top-dflt(bs-affix)
-                .panel-tip-container(data-placement='bottom' bs-tooltip='' 
data-title='Create new cluster')
-                    button.btn.btn-primary(id='new-item' 
ng-click='createItem()') Add cluster
-                +save-remove-clone-undo-buttons('cluster')
-                hr
-            .bs-affix-fix
-            div(bs-collapse='' data-allow-multiple='true' 
ng-model='ui.activePanels')
-                form.form-horizontal(name='ui.inputForm' novalidate 
ng-if='contentVisible()')
-                    .panel-group
-                        include 
/app/modules/states/configuration/clusters/general
-
-                        +advanced-options-toggle-default
-
-                        div(ng-show='ui.expanded')
-                            include 
/app/modules/states/configuration/clusters/atomic
-                            include 
/app/modules/states/configuration/clusters/binary
-                            include 
/app/modules/states/configuration/clusters/cache-key-cfg
-                            include 
/app/modules/states/configuration/clusters/checkpoint
-
-                            //- Since ignite 2.3
-                            include 
/app/modules/states/configuration/clusters/client-connector
-
-                            include 
/app/modules/states/configuration/clusters/collision
-                            include 
/app/modules/states/configuration/clusters/communication
-                            include 
/app/modules/states/configuration/clusters/connector
-                            include 
/app/modules/states/configuration/clusters/deployment
-
-                            //- Since ignite 2.3
-                            include 
/app/modules/states/configuration/clusters/data-storage
-
-                            include 
/app/modules/states/configuration/clusters/discovery
-                            include 
/app/modules/states/configuration/clusters/events
-                            include 
/app/modules/states/configuration/clusters/failover
-                            include 
/app/modules/states/configuration/clusters/hadoop
-                            include 
/app/modules/states/configuration/clusters/igfs
-                            include 
/app/modules/states/configuration/clusters/load-balancing
-                            include 
/app/modules/states/configuration/clusters/logger
-                            include 
/app/modules/states/configuration/clusters/marshaller
-
-                            //- Since ignite 2.0, deprecated in ignite 2.3
-                            include 
/app/modules/states/configuration/clusters/memory
-
-                            include 
/app/modules/states/configuration/clusters/misc
-                            include 
/app/modules/states/configuration/clusters/metrics
-
-                            //- Deprecated in ignite 2.1
-                            include 
/app/modules/states/configuration/clusters/odbc
-
-                            //- Since ignite 2.1, deprecated in ignite 2.3
-                            include 
/app/modules/states/configuration/clusters/persistence
-
-                            //- Deprecated in ignite 2.3
-                            include 
/app/modules/states/configuration/clusters/sql-connector
-
-                            include 
/app/modules/states/configuration/clusters/service
-                            include 
/app/modules/states/configuration/clusters/ssl
-
-                            //- Removed in ignite 2.0
-                            include 
/app/modules/states/configuration/clusters/swap
-
-                            include 
/app/modules/states/configuration/clusters/thread
-                            include 
/app/modules/states/configuration/clusters/time
-                            include 
/app/modules/states/configuration/clusters/transactions
-                            include 
/app/modules/states/configuration/clusters/attributes
-
-                            +advanced-options-toggle-default

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/configuration/domains.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/domains.tpl.pug 
b/modules/web-console/frontend/views/configuration/domains.tpl.pug
index 9e3e297..89bd2ac 100644
--- a/modules/web-console/frontend/views/configuration/domains.tpl.pug
+++ b/modules/web-console/frontend/views/configuration/domains.tpl.pug
@@ -14,52 +14,45 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 
-include /app/helpers/jade/mixins
+pc-items-table(
+    table-title='::"My domain models"'
+    column-defs='$ctrl.modelsColumnDefs'
+    items='$ctrl.modelsTable'
+    on-action='$ctrl.onModelAction($event)'
+    selected-row-id='$ctrl.selectedItemIDs'
+    on-selection-change='$ctrl.selectionHook($event)'
+)
+    footer-slot
+        div(style='font-style: italic' ng-hide='$ctrl.modelsTable.length')
+            | You have no domain models. 
#[a.link-success(ui-sref='base.configuration.tabs.advanced.models.model({modelID:
 "new"})') Create one?]
+        
a.link-success(ui-sref='base.configuration.tabs.advanced.models.model({modelID: 
"new"})' ng-show='$ctrl.modelsTable.length') + Add new domain model
 
-.docs-header
-    h1 Configure Domain Model And SQL Queries
-.docs-body
-    ignite-information
-        ul: li Import database schemas
-            li Configure indexed types
-    div(ignite-loading='loadingDomainModelsScreen' 
ignite-loading-text='Loading domain models...' ignite-loading-position='top')
-        div(ng-show='ui.ready')
-            hr
-            .padding-bottom-dflt(ng-show='domains && domains.length > 0')
-                table.links(st-table='displayedRows' st-safe-src='domains')
-                    thead
-                        tr
-                            th
-                                .col-sm-9
-                                    .col-sm-6
-                                        lable.labelHeader.labelFormField 
{{domainModelTitle()}}
-                                    .col-sm-6
-                                        
.pull-right.labelLogin.additional-filter(ng-if='(domains | 
domainsValidation:false:true).length > 0')
-                                            
a.labelFormField(ng-if='ui.showValid' ng-click='toggleValid()' bs-tooltip='' 
data-title='{{::ui.invalidKeyFieldsTooltip}}') Key fields should be configured: 
{{(displayedRows | domainsValidation:false:true).length}}&nbsp
-                                            
a.labelFormField(ng-if='!ui.showValid' ng-click='toggleValid()') Show all 
domain models: {{displayedRows.length}}&nbsp
-                                .col-sm-3
-                                    input.form-control.pull-right(type='text' 
st-search='valueType' placeholder='Filter domain models...')
-                        tbody
-                            tr
-                                td
-                                    .scrollable-y(ng-show='(displayedRows | 
domainsValidation:ui.showValid:true).length > 0' style='max-height: 200px')
-                                        table
-                                            tbody
-                                                tr(ng-repeat='row in 
(displayedRows | domainsValidation:ui.showValid:true) track by row._id' 
ignite-bs-affix-update)
-                                                    td
-                                                        a(ng-class='{active: 
row._id == selectedItem._id}' ng-click='selectItem(row)') {{$index + 1}}) 
{{row.valueType}}
-                                    label.placeholder(ng-show='(displayedRows 
| domainsValidation:ui.showValid:true).length == 0') No domain models found
-            .padding-top-dflt(bs-affix)
-                .panel-tip-container(data-placement='bottom' bs-tooltip='' 
data-title='Create new domain model')
-                    button.btn.btn-primary(id='new-item' 
ng-click='createItem()') Add domain model
-                .panel-tip-container(bs-tooltip='' data-title='Import domain 
models from database' data-placement='bottom')
-                    button.btn.btn-primary(ng-click='showImportDomainModal()') 
Import from database
-                +save-remove-clone-undo-buttons('domain model')
-                hr
-            .bs-affix-fix
-            div(bs-collapse='' data-allow-multiple='true' 
ng-model='ui.activePanels')
-                form.form-horizontal(name='ui.inputForm' novalidate 
ng-if='contentVisible()')
-                    .panel-group
-                        include 
/app/modules/states/configuration/domains/general
-                        include /app/modules/states/configuration/domains/query
-                        include /app/modules/states/configuration/domains/store
+h2.pc-page-header(ng-if='$ctrl.selectedItemIDs.length !== 1')
+    | {{ $ctrl.selectedItemIDs.length ? 'Multiple' : 'No' }} domain models 
selected
+    span.pc-page-header-sub Select only one domain model to see settings and 
edit it
+
+h2.pc-page-header(ng-if='$ctrl.selectedItemIDs.length === 1')
+    | {{ $ctrl.$state.params.modelID !== 'new' ? 'Edit' : 'Create' }} domain 
model {{ backupItem.valueType ? 'for ‘'+backupItem.valueType+'’ value type' 
: '' }}
+
+div(bs-collapse='' data-allow-multiple='true' ng-model='ui.activePanels' 
ng-class='{"pca-form-blocked": $ctrl.selectedItemIDs.length !== 1}')
+    form.form-horizontal(name='ui.inputForm' novalidate )
+        include /app/modules/states/configuration/domains/general
+        include /app/modules/states/configuration/domains/query
+        include /app/modules/states/configuration/domains/store
+
+.pc-form-actions-panel(ng-class='{"pca-form-blocked": 
$ctrl.selectedItemIDs.length !== 1}')
+    button.btn-ignite.btn-ignite--success(
+        ng-click='showImportDomainModal()'
+        type='button'
+    ) Import from database
+    .pc-form-actions-panel__right-after
+    button.btn-ignite.btn-ignite--link-success(
+        type='button'
+        ng-disabled='!ui.inputForm.$dirty'
+        ng-click='ui.inputForm.$dirty && resetAll()'
+    )
+        | Cancel
+    button.btn-ignite.btn-ignite--success(
+        ng-disabled='!ui.inputForm.$dirty'
+        ng-click='ui.inputForm.$dirty && $ctrl.saveItem(backupItem)'
+    ) Save

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/configuration/igfs.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/igfs.tpl.pug 
b/modules/web-console/frontend/views/configuration/igfs.tpl.pug
deleted file mode 100644
index 46ee4c0..0000000
--- a/modules/web-console/frontend/views/configuration/igfs.tpl.pug
+++ /dev/null
@@ -1,54 +0,0 @@
-//-
-    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.
-
-include /app/helpers/jade/mixins
-
-.docs-header
-    h1 Configure Ignite In-memory File Systems
-.docs-body
-    ignite-information(data-title='Configure IGFS only if you are going to use 
In-memory File System')
-        ul
-            li Ignite File System 
(#[a(href='https://apacheignite-fs.readme.io/docs/in-memory-file-system' 
target='_blank') IGFS]) is an in-memory file system allowing work with files 
and directories over existing cache infrastructure
-            li IGFS can either work as purely in-memory file system, or 
delegate to another file system (e.g. various Hadoop file system 
implementations) acting as a caching layer (see 
#[a(href='https://apacheignite-fs.readme.io/docs/secondary-file-system' 
target='_blank') secondary file system]  for more detail)
-            li In addition IGFS provides API to execute map-reduce tasks over 
file system data
-    div(ignite-loading='loadingIgfsScreen' ignite-loading-text='Loading IGFS 
screen...' ignite-loading-position='top')
-        div(ng-show='ui.ready')
-            hr
-            +main-table('IGFS', 'igfss', 'igfsName', 'selectItem(row)', 
'{{$index + 1}}) {{row.name}}', 'name')
-            .padding-top-dflt(bs-affix)
-                .panel-tip-container(data-placement='bottom' bs-tooltip='' 
data-title='Create new IGFS')
-                    button.btn.btn-primary(id='new-item' 
ng-click='createItem()') Add IGFS
-                +save-remove-clone-undo-buttons('IGFS')
-                hr
-            .bs-affix-fix
-            div(bs-collapse='' data-allow-multiple='true' 
ng-model='ui.activePanels')
-                form.form-horizontal(name='ui.inputForm' novalidate 
ng-if='contentVisible()')
-                    .panel-group
-                        include /app/modules/states/configuration/igfs/general
-
-                        +advanced-options-toggle-default
-
-                        div(ng-show='ui.expanded')
-                            include 
/app/modules/states/configuration/igfs/secondary
-                            include /app/modules/states/configuration/igfs/ipc
-                            include 
/app/modules/states/configuration/igfs/fragmentizer
-
-                            //- Removed in ignite 2.0
-                            include /app/modules/states/configuration/igfs/dual
-
-                            include /app/modules/states/configuration/igfs/misc
-
-                            +advanced-options-toggle-default

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/configuration/summary-project-structure.tpl.pug
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/views/configuration/summary-project-structure.tpl.pug
 
b/modules/web-console/frontend/views/configuration/summary-project-structure.tpl.pug
deleted file mode 100644
index 31a557f..0000000
--- 
a/modules/web-console/frontend/views/configuration/summary-project-structure.tpl.pug
+++ /dev/null
@@ -1,28 +0,0 @@
-//-
-    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.
-
-.popover.summary-project-structure
-    h3.popover-title
-        label.labelField Project structure
-        button.close(id='summary-project-structure-close' ng-click='$hide()') 
&times;
-    .popover-content
-        treecontrol.tree-classic(tree-model='projectStructure' 
options='projectStructureOptions' expanded-nodes='projectStructureExpanded')
-            span(ng-switch='node.type')
-                span(ng-switch-when='folder')
-                    label {{node.name}}
-                span(ng-switch-when='file')
-                    i.fa.fa-file-text-o
-                    label {{node.name}}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/configuration/summary-tabs.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/summary-tabs.pug 
b/modules/web-console/frontend/views/configuration/summary-tabs.pug
deleted file mode 100644
index d05e3a9..0000000
--- a/modules/web-console/frontend/views/configuration/summary-tabs.pug
+++ /dev/null
@@ -1,25 +0,0 @@
-//-
-    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.
-
-ul.nav(ng-class='$navClass' role='tablist')
-    li(role='presentation' ng-repeat='$pane in $panes track by $index' 
ng-class='[ $isActive($pane, $index) ? $activeClass : "", $pane.disabled ? 
"disabled" : "" ]')
-        a.summary-tab(ng-show='$pane.title != "POJO" || (cluster | hasPojo)' 
ng-switch='$pane.title' role='tab' data-toggle='tab' ng-click='!$pane.disabled 
&& $setActive($pane.name || $index)' data-index='{{ $index }}' 
aria-controls='$pane.title') {{$pane.title}}
-            img(ng-switch-when='XML' src='/images/xml.png')
-            img(ng-switch-when='Java' src='/images/java.png')
-            img(ng-switch-when='POM' src='/images/xml.png')
-            img(ng-switch-when='POJO' src='/images/java.png')
-            img(ng-switch-when='Dockerfile' src='/images/docker.png')
-.tab-content(ng-transclude style='fontSize: 12px; min-height: 25em')

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/configuration/summary.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/summary.tpl.pug 
b/modules/web-console/frontend/views/configuration/summary.tpl.pug
deleted file mode 100644
index 6d6837f..0000000
--- a/modules/web-console/frontend/views/configuration/summary.tpl.pug
+++ /dev/null
@@ -1,87 +0,0 @@
-//-
-    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.
-
-include /app/helpers/jade/mixins
-
-.docs-header
-    h1 Configurations Summary
-.docs-body.summary
-    ignite-information
-        ul
-            li Preview XML configurations for 
#[a(href='https://apacheignite.readme.io/docs/clients-vs-servers' 
target='_blank') server and client] nodes
-            li Preview code configuration
-            li Preview 
#[a(href='https://apacheignite.readme.io/docs/docker-deployment' 
target='_blank') Docker file]
-            li Preview POM dependencies
-            li Download ready-to-use Maven project
-    hr
-    .padding-dflt(ng-if='ui.ready && (!clusters || clusters.length == 0)')
-        | You have no clusters configured. Please configure them 
#[a(ui-sref='base.configuration.tabs.advanced.clusters') here].
-
-    div(ng-show='clusters && clusters.length > 0' ignite-loading='summaryPage' 
ignite-loading-text='Loading summary screen...' ignite-loading-position='top')
-        +main-table('clusters', 'clustersView', 'clusterName', 
'selectItem(row)', '{{$index + 1}}) {{row.name}}', 'name')
-        div(ng-show='selectedItem && contentVisible(displayedRows, 
selectedItem)')
-            .actions.padding-top-dflt(bs-affix)
-                div
-                    button.btn.btn-primary(id='download' 
ng-click='downloadConfiguration()' bs-tooltip='' data-title='Download project' 
data-placement='bottom' ng-disabled='isPrepareDownloading')
-                        div
-                            
i.fa.fa-fw.fa-download(ng-hide='isPrepareDownloading')
-                            
i.fa.fa-fw.fa-refresh.fa-spin(ng-show='isPrepareDownloading')
-                            span.tipLabel Download project
-                    span(bs-tooltip='' data-title='Preview generated project 
structure' data-placement='bottom')
-                        button.btn.btn-primary(bs-popover 
data-template-url='{{ ctrl.summaryProjectStructureTemplateUrl }}', 
data-placement='bottom', data-trigger='click' data-auto-close='true')
-                            i.fa.fa-sitemap
-                            label.tipLabel Project structure
-                    button.btn.btn-primary(id='proprietary-jdbc-drivers' 
ng-if='downloadJdbcDriversVisible()' ng-click='downloadJdbcDrivers()' 
bs-tooltip='' data-title='Open proprietary JDBC drivers download pages' 
data-placement='bottom') Download JDBC drivers
-                .actions-note(ng-show='ui.isSafari')
-                    i.icon-note
-                    label "Download project" is not fully supported in Safari. 
Please rename downloaded file from "Unknown" to "&lt;project-name&gt;.zip"
-                hr
-            .bs-affix-fix
-            .panel-group(bs-collapse ng-init='ui.activePanels=[0,1]' 
ng-model='ui.activePanels' data-allow-multiple='true')
-                .panel.panel-default
-                    .panel-heading(role='tab' bs-collapse-toggle)
-                        ignite-form-panel-chevron
-                        label Server
-
-                    .panel-collapse(id='server' role='tabpanel' 
bs-collapse-target)
-                        .summary-tabs(ignite-ui-ace-tabs)
-                            div(bs-tabs 
data-bs-active-pane='tabsServer.activeTab' data-template='summary-tabs.html')
-                                div(bs-pane title='XML')
-                                    
ignite-ui-ace-spring(ng-if='tabsServer.activeTab == 0 || tabsServer.init[0]' 
ng-init='tabsServer.init[0] = true' data-master='cluster' 
data-generator='igniteConfiguration' data-no-deep-watch)
-                                div(bs-pane title='Java')
-                                    
ignite-ui-ace-java(ng-if='tabsServer.activeTab == 1 || tabsServer.init[1]' 
ng-init='tabsServer.init[1] = true' data-master='cluster' 
data-generator='igniteConfiguration' data-no-deep-watch)
-                                div(bs-pane title='POM')
-                                    
ignite-ui-ace-pom(ng-if='tabsServer.activeTab == 2 || tabsServer.init[2]' 
ng-init='tabsServer.init[2] = true' data-cluster='cluster' 
data-generator='igniteConfiguration' data-no-deep-watch)
-                                div(bs-pane title='Dockerfile')
-                                    
ignite-ui-ace-docker(ng-if='tabsServer.activeTab == 3 || tabsServer.init[3]' 
ng-init='tabsServer.init[3] = true' data-cluster='cluster' 
data-generator='igniteConfiguration' data-no-deep-watch 
ng-model='ctrl.data.docker')
-
-                .panel.panel-default
-                    .panel-heading(role='tab' bs-collapse-toggle)
-                        ignite-form-panel-chevron
-                        label Client
-
-                    .panel-collapse(id='client' role='tabpanel' 
bs-collapse-target)
-                        .summary-tabs(ignite-ui-ace-tabs)
-                            div(bs-tabs 
data-bs-active-pane='tabsClient.activeTab' data-template='summary-tabs.html')
-                                div(bs-pane title='XML')
-                                    
ignite-ui-ace-spring(ng-if='tabsClient.activeTab == 0 || tabsClient.init[0]' 
ng-init='tabsClient.init[0] = true' data-master='cluster' 
data-generator='igniteConfiguration' data-client='true' data-no-deep-watch)
-                                div(bs-pane title='Java')
-                                    
ignite-ui-ace-java(ng-if='tabsClient.activeTab == 1 || tabsClient.init[1]' 
ng-init='tabsClient.init[1] = true' data-master='cluster' 
data-generator='igniteConfiguration' data-client='true' data-no-deep-watch)
-                                div(bs-pane title='POM')
-                                    
ignite-ui-ace-pom(ng-if='tabsClient.activeTab == 2 || tabsClient.init[2]' 
ng-init='tabsClient.init[2] = true' data-cluster='cluster' 
data-generator='igniteConfiguration' data-client='true' data-no-deep-watch)
-                                div(bs-pane title='POJO' ng-if='cluster | 
hasPojo')
-                                    
ignite-ui-ace-pojos(ng-if='tabsClient.activeTab == 3 || tabsClient.init[3]' 
ng-init='tabsClient.init[3] = true' data-cluster='cluster' data-no-deep-watch 
ng-model='ctrl.data.pojos')
-                        

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/includes/header-left.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/includes/header-left.pug 
b/modules/web-console/frontend/views/includes/header-left.pug
index 3111eb5..2052bbc 100644
--- a/modules/web-console/frontend/views/includes/header-left.pug
+++ b/modules/web-console/frontend/views/includes/header-left.pug
@@ -14,9 +14,11 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 
-.wch-nav-item
-    a(ui-sref='base.configuration.tabs' ui-sref-active='active')
-        | Configure
+a.wch-nav-item(
+    ui-sref='base.configuration.overview'
+    ui-sref-active='{active: "base.configuration"}'
+)
+    | Configure
 
 .wch-nav-item(ng-if='!$root.user.becomeUsed')
     a(ui-sref='base.sql.tabs' ui-sref-active='active')

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/templates/batch-confirm.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/templates/batch-confirm.tpl.pug 
b/modules/web-console/frontend/views/templates/batch-confirm.tpl.pug
index 0b74a4e..ad8741b 100644
--- a/modules/web-console/frontend/views/templates/batch-confirm.tpl.pug
+++ b/modules/web-console/frontend/views/templates/batch-confirm.tpl.pug
@@ -14,21 +14,34 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 
-.modal(tabindex='-1' role='dialog')
+.modal.modal--ignite.theme--ignite(tabindex='-1' role='dialog')
     .modal-dialog
         .modal-content
             .modal-header
-                button.close(ng-click='cancel()' aria-hidden='true') &times;
                 h4.modal-title 
-                    i.icon-confirm
+                    svg(ignite-icon='attention')
                     | Confirmation
+                button.close(type='button' aria-label='Close' 
ng-click='cancel()')
+                     svg(ignite-icon="cross")
             .modal-body(ng-show='content')
-                p(ng-bind-html='content' style='text-align: center')
+                p(ng-bind-html='content')
             .modal-footer
-                .checkbox.labelField
+                .checkbox.labelField(style='margin-top: 7px')
                     label
                         input(type='checkbox' ng-model='applyToAll')
                         | Apply to all
-                button.btn.btn-default(id='batch-confirm-btn-cancel' 
ng-click='cancel()') Cancel
-                button.btn.btn-default(id='batch-confirm-btn-skip' 
ng-click='skip(applyToAll)') Skip
-                button.btn.btn-primary(id='batch-confirm-btn-overwrite' 
ng-click='overwrite(applyToAll)') Overwrite
+                button.btn-ignite.btn-ignite--secondary(
+                    id='batch-confirm-btn-cancel'
+                    ng-click='cancel()'
+                    type='button'
+                ) Cancel
+                button.btn-ignite.btn-ignite--secondary(
+                    id='batch-confirm-btn-skip'
+                    ng-click='skip(applyToAll)'
+                    type='button'
+                ) Skip
+                button.btn-ignite.btn-ignite--success(
+                    id='batch-confirm-btn-overwrite'
+                    ng-click='overwrite(applyToAll)'
+                    type='button'
+                ) Overwrite

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/views/templates/confirm.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/templates/confirm.tpl.pug 
b/modules/web-console/frontend/views/templates/confirm.tpl.pug
index ccbcfae..1b1560c 100644
--- a/modules/web-console/frontend/views/templates/confirm.tpl.pug
+++ b/modules/web-console/frontend/views/templates/confirm.tpl.pug
@@ -15,7 +15,7 @@
     limitations under the License.
 
 .modal.modal--ignite.theme--ignite(tabindex='-1' role='dialog')
-    .modal-dialog
+    .modal-dialog.modal-dialog--adjust-height
         .modal-content
             .modal-header
                 h4.modal-title 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/webpack/webpack.common.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.common.js 
b/modules/web-console/frontend/webpack/webpack.common.js
index a0d6d0c..8d21986 100644
--- a/modules/web-console/frontend/webpack/webpack.common.js
+++ b/modules/web-console/frontend/webpack/webpack.common.js
@@ -128,12 +128,12 @@ export default {
             },
             {
                 test: /\.(ttf|eot|svg|woff(2)?)(\?v=[\d.]+)?(\?[a-z0-9#-]+)?$/,
-                exclude: [contentBase],
+                exclude: [contentBase, IgniteModules],
                 loader: 'file?name=assets/fonts/[name].[ext]'
             },
             {
                 test: /.*\.svg$/,
-                include: [contentBase],
+                include: [contentBase, IgniteModules],
                 use: ['svg-sprite-loader']
             },
             {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/webpack/webpack.dev.babel.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.dev.babel.js 
b/modules/web-console/frontend/webpack/webpack.dev.babel.js
index 88bf5c6..78ff5e1 100644
--- a/modules/web-console/frontend/webpack/webpack.dev.babel.js
+++ b/modules/web-console/frontend/webpack/webpack.dev.babel.js
@@ -32,6 +32,7 @@ export default merge(commonCfg, {
     devtool: 'source-map',
     watch: true,
     module: {
+        exprContextCritical: false,
         rules: [
             {
                 test: /\.css$/,

http://git-wip-us.apache.org/repos/asf/ignite/blob/7ee1683e/modules/web-console/frontend/webpack/webpack.test.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.test.js 
b/modules/web-console/frontend/webpack/webpack.test.js
index 36d2650..7ce1fb4 100644
--- a/modules/web-console/frontend/webpack/webpack.test.js
+++ b/modules/web-console/frontend/webpack/webpack.test.js
@@ -29,5 +29,12 @@ export default merge(commonCfg, {
     entry: null,
 
     // Output system.
-    output: null
+    output: null,
+    module: {
+        rules: [
+            {test: /\.scss$/, use: ['ignore-loader']},
+            {test: /\.css$/, use: ['ignore-loader']},
+            {test: /\.pug$/, use: ['ignore-loader']}
+        ]
+    }
 });

Reply via email to