You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2016/09/09 03:26:49 UTC

[21/52] ignite git commit: Web Console beta-3.

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/information/information.scss
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/information/information.scss b/modules/web-console/src/main/js/app/directives/information/information.scss
deleted file mode 100644
index 39f3c05..0000000
--- a/modules/web-console/src/main/js/app/directives/information/information.scss
+++ /dev/null
@@ -1,56 +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.
- */
-
-$ignite-block-information: #fcfcfc;
-$ignite-block-information-border: #aab8c6;
-$ignite-block-information-icon: #4a6785;
-
-.block-information {
-    position: relative;
-
-    background: $ignite-block-information;
-
-    border-radius: 5px;
-    border: 1px solid $ignite-block-information-border;
-
-    margin: 20px 0;
-    padding: 10px 10px 0 30px;
-
-    > h3 {
-        font-weight: bold;
-        margin-bottom: 10px;
-    }
-
-    > .icon {
-        cursor: default;
-
-        color: $ignite-block-information-icon;
-
-        position: absolute;
-        top: 12px;
-        left: 10px;
-
-        font-size: 16px;
-
-        vertical-align: text-bottom
-    }
-
-    ul {
-        padding-left: 20px;
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/match.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/match.directive.js b/modules/web-console/src/main/js/app/directives/match.directive.js
deleted file mode 100644
index 3a45f6d..0000000
--- a/modules/web-console/src/main/js/app/directives/match.directive.js
+++ /dev/null
@@ -1,27 +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.
- */
-
-// Directive to enable validation to match specified value.
-export default ['igniteMatch', ['$parse', ($parse) => {
-    return {
-        require: 'ngModel',
-        link(scope, elem, attrs, ctrl) {
-            scope.$watch(() => $parse(attrs.igniteMatch)(scope) === ctrl.$modelValue,
-                (currentValue) => ctrl.$setValidity('mismatch', currentValue));
-        }
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js b/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js
deleted file mode 100644
index 5c9ee88..0000000
--- a/modules/web-console/src/main/js/app/directives/on-click-focus.directive.js
+++ /dev/null
@@ -1,26 +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.
- */
-
-// Directive to describe element that should be focused on click.
-export default ['igniteOnClickFocus', ['IgniteFocus', (Focus) => {
-    return function(scope, elem, attrs) {
-        elem.on('click', () => Focus.move(attrs.igniteOnClickFocus));
-
-        // Removes bound events in the element itself when the scope is destroyed
-        scope.$on('$destroy', () => elem.off('click'));
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js b/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js
deleted file mode 100644
index 2dd2884..0000000
--- a/modules/web-console/src/main/js/app/directives/on-enter-focus-move.directive.js
+++ /dev/null
@@ -1,29 +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.
- */
-
-// Directive to move focus to specified element on ENTER key.
-export default ['igniteOnEnterFocusMove', ['IgniteFocus', (Focus) => {
-    return function(scope, elem, attrs) {
-        elem.on('keydown keypress', (event) => {
-            if (event.which === 13) {
-                event.preventDefault();
-
-                Focus.move(attrs.igniteOnEnterFocusMove);
-            }
-        });
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-enter.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/on-enter.directive.js b/modules/web-console/src/main/js/app/directives/on-enter.directive.js
deleted file mode 100644
index 459220e..0000000
--- a/modules/web-console/src/main/js/app/directives/on-enter.directive.js
+++ /dev/null
@@ -1,32 +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.
- */
-
-// Directive to bind ENTER key press with some user action.
-export default ['igniteOnEnter', ['$timeout', ($timeout) => {
-    return function(scope, elem, attrs) {
-        elem.on('keydown keypress', (event) => {
-            if (event.which === 13) {
-                scope.$apply(() => $timeout(() => scope.$eval(attrs.igniteOnEnter)));
-
-                event.preventDefault();
-            }
-        });
-
-        // Removes bound events in the element itself when the scope is destroyed.
-        scope.$on('$destroy', () => elem.off('keydown keypress'));
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/on-escape.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/on-escape.directive.js b/modules/web-console/src/main/js/app/directives/on-escape.directive.js
deleted file mode 100644
index aa1accd..0000000
--- a/modules/web-console/src/main/js/app/directives/on-escape.directive.js
+++ /dev/null
@@ -1,32 +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.
- */
-
-// Directive to bind ESC key press with some user action.
-export default ['igniteOnEscape', ['$timeout', ($timeout) => {
-    return function(scope, elem, attrs) {
-        elem.on('keydown keypress', (event) => {
-            if (event.which === 27) {
-                scope.$apply(() => $timeout(() => scope.$eval(attrs.igniteOnEscape)));
-
-                event.preventDefault();
-            }
-        });
-
-        // Removes bound events in the element itself when the scope is destroyed.
-        scope.$on('$destroy', () => elem.off('keydown keypress'));
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js
deleted file mode 100644
index 32feaf3..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.controller.js
+++ /dev/null
@@ -1,33 +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.
- */
-
-export default ['$scope', 'GeneratorDocker', function($scope, docker) {
-    const ctrl = this;
-
-    // Watchers definition.
-    const clusterWatcher = () => {
-        delete ctrl.data;
-
-        if (!$scope.cluster)
-            return;
-
-        ctrl.data = docker.generate($scope.cluster, 'latest');
-    };
-
-    // Setup watchers.
-    $scope.$watch('cluster', clusterWatcher);
-}];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js
deleted file mode 100644
index 08e4f76..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.directive.js
+++ /dev/null
@@ -1,46 +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.
- */
-
-import templateUrl from './ui-ace-docker.jade';
-import controller from './ui-ace-docker.controller';
-
-export default ['igniteUiAceDocker', [() => {
-    const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => {
-        if (igniteUiAceTabs.onLoad)
-            $scope.onLoad = igniteUiAceTabs.onLoad;
-
-        if (igniteUiAceTabs.onChange)
-            $scope.onChange = igniteUiAceTabs.onChange;
-    };
-
-    return {
-        restrict: 'E',
-        scope: {
-            cluster: '=',
-            data: '=ngModel'
-        },
-        bindToController: {
-            cluster: '=',
-            data: '=ngModel'
-        },
-        link,
-        templateUrl,
-        controller,
-        controllerAs: 'ctrl',
-        require: ['?^igniteUiAceTabs']
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade b/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade
deleted file mode 100644
index 3b0e7b8..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-docker/ui-ace-docker.jade
+++ /dev/null
@@ -1,31 +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.
-
-mixin hard-link(ref, txt)
-    a(style='color:#ec1c24' href=ref target='_blank') #{txt}
-
-.panel-details-noborder
-    .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')
-            |.
-    .details-row(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, mode: "dockerfile"}' ng-model='ctrl.data')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js
deleted file mode 100644
index f869e65..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.controller.js
+++ /dev/null
@@ -1,32 +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.
- */
-
-const SERVER_CFG = 'ServerConfigurationFactory';
-const CLIENT_CFG = 'ClientConfigurationFactory';
-
-export default ['$scope', 'GeneratorJava', function($scope, generator) {
-    const ctrl = this;
-
-    delete ctrl.data;
-
-    // Set default generator
-    ctrl.generator = (cluster) => {
-        const type = $scope.cfg ? CLIENT_CFG : SERVER_CFG;
-
-        return generator.cluster(cluster, 'config', type, $scope.cfg);
-    };
-}];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js
deleted file mode 100644
index 17d3a00..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.directive.js
+++ /dev/null
@@ -1,133 +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.
- */
-
-import templateUrl from './ui-ace-java.jade';
-import controller from './ui-ace-java.controller';
-
-export default ['igniteUiAceJava', ['GeneratorJava', (generator) => {
-    const link = (scope, $el, attrs, [ctrl, igniteUiAceTabs, formCtrl, ngModelCtrl]) => {
-        if (formCtrl && ngModelCtrl)
-            formCtrl.$removeControl(ngModelCtrl);
-
-        if (igniteUiAceTabs && igniteUiAceTabs.onLoad) {
-            scope.onLoad = (editor) => {
-                igniteUiAceTabs.onLoad(editor);
-
-                scope.$watch('master', () => editor.attractAttention = false);
-            };
-        }
-
-        if (igniteUiAceTabs && igniteUiAceTabs.onChange)
-            scope.onChange = igniteUiAceTabs.onChange;
-
-        const render = (data) => {
-            delete ctrl.data;
-
-            if (!data)
-                return;
-
-            return ctrl.generator(scope.master);
-        };
-
-        // Setup generator.
-        if (scope.generator) {
-            const method = scope.generator;
-
-            switch (method) {
-                case 'clusterCaches':
-                    ctrl.generator = (cluster) => {
-                        const caches = _.reduce(scope.detail, (acc, cache) => {
-                            if (_.includes(cluster.caches, cache.value))
-                                acc.push(cache.cache);
-
-                            return acc;
-                        }, []);
-
-                        return generator.clusterCaches(caches, null, true, generator.clusterGeneral(cluster)).asString();
-                    };
-
-                    break;
-
-                case 'igfss':
-                    ctrl.generator = (cluster) => {
-                        const igfss = _.reduce(scope.detail, (acc, igfs) => {
-                            if (_.includes(cluster.igfss, igfs.value))
-                                acc.push(igfs.igfs);
-
-                            return acc;
-                        }, []);
-
-                        return generator.igfss(igfss, 'cfg').asString();
-                    };
-
-                    break;
-
-                case 'cacheStore':
-                    ctrl.generator = (cache) => {
-                        const domains = _.reduce(scope.detail, (acc, domain) => {
-                            if (_.includes(cache.domains, domain.value))
-                                acc.push(domain.meta);
-
-                            return acc;
-                        }, []);
-
-                        return generator.cacheStore(cache, domains).asString();
-                    };
-
-                    break;
-
-                default:
-                    ctrl.generator = (data) => generator[method](data).asString();
-            }
-        }
-
-        if (!_.isUndefined(attrs.clusterCfg)) {
-            scope.$watch('cfg', (cfg) => {
-                if (!_.isUndefined(cfg))
-                    return;
-
-                scope.cfg = {};
-            });
-
-            scope.$watch('cfg', (data) => ctrl.data = render(data), true);
-        }
-
-        const noDeepWatch = !(typeof attrs.noDeepWatch !== 'undefined');
-
-        // Setup watchers.
-        scope.$watch('master', (data) => ctrl.data = render(data), noDeepWatch);
-    };
-
-    return {
-        priority: 1,
-        restrict: 'E',
-        scope: {
-            master: '=',
-            detail: '=',
-            generator: '@',
-            cfg: '=?clusterCfg'
-        },
-        bindToController: {
-            data: '=?ngModel'
-        },
-        link,
-        templateUrl,
-        controller,
-        controllerAs: 'ctrl',
-        require: ['igniteUiAceJava', '?^igniteUiAceTabs', '?^form', '?ngModel']
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade b/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade
deleted file mode 100644
index 5acffb8..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-java/ui-ace-java.jade
+++ /dev/null
@@ -1,22 +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.
-
-div(ng-if='ctrl.data' 
-    ignite-ace='{onLoad: onLoad, \
-             onChange: onChange, \
-             renderOptions: renderOptions, \
-             mode: "java"}' 
-    ng-model='ctrl.data')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js
deleted file mode 100644
index bc185b3..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js
+++ /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.
- */
-
-export default ['$scope', 'JavaTypes', 'GeneratorJava', function($scope, JavaTypes, generator) {
-    const ctrl = this;
-
-    // Watchers definition.
-    // Watcher clean instance data if instance to cluster caches was change
-    const cleanPojos = () => {
-        delete ctrl.class;
-        delete ctrl.pojos;
-        delete ctrl.classes;
-    };
-
-    // Watcher update pojos when changes caches and checkers useConstructor and includeKeyFields
-    const updatePojos = () => {
-        delete ctrl.pojos;
-
-        if (!ctrl.cluster || !ctrl.cluster.caches)
-            return;
-
-        ctrl.pojos = generator.pojos(ctrl.cluster.caches, ctrl.useConstructor, ctrl.includeKeyFields);
-    };
-
-    // Watcher update classes after
-    const updateClasses = (value) => {
-        delete ctrl.classes;
-
-        if (!value)
-            return;
-
-        const classes = ctrl.classes = [];
-
-        _.forEach(ctrl.pojos, (pojo) => {
-            if (pojo.keyType && JavaTypes.nonBuiltInClass(pojo.keyType))
-                classes.push(pojo.keyType);
-
-            classes.push(pojo.valueType);
-        });
-    };
-
-    // Update pojos class.
-    const updateClass = (value) => {
-        if (!value || !ctrl.pojos.length)
-            return;
-
-        const keyType = ctrl.pojos[0].keyType;
-
-        ctrl.class = ctrl.class || (JavaTypes.nonBuiltInClass(keyType) ? keyType : null) || ctrl.pojos[0].valueType;
-    };
-
-    // Update pojos data.
-    const updatePojosData = (value) => {
-        if (!value)
-            return;
-
-        _.forEach(ctrl.pojos, (pojo) => {
-            if (pojo.keyType === ctrl.class) {
-                ctrl.data = pojo.keyClass;
-
-                return false;
-            }
-
-            if (pojo.valueType === ctrl.class) {
-                ctrl.data = pojo.valueClass;
-
-                return false;
-            }
-        });
-    };
-
-    // Setup watchers. Watchers order is important.
-    $scope.$watch('ctrl.cluster.caches', cleanPojos);
-    $scope.$watch('ctrl.cluster.caches', updatePojos);
-    $scope.$watch('ctrl.cluster.caches', updateClasses);
-    $scope.$watch('ctrl.useConstructor', updatePojos);
-    $scope.$watch('ctrl.includeKeyFields', updatePojos);
-    $scope.$watch('ctrl.pojos', updateClass);
-    $scope.$watch('ctrl.pojos', updatePojosData);
-    $scope.$watch('ctrl.class', updatePojosData);
-}];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
deleted file mode 100644
index 7c224b7..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
+++ /dev/null
@@ -1,46 +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.
- */
-
-import templateUrl from './ui-ace-pojos.jade';
-import controller from './ui-ace-pojos.controller';
-
-export default ['igniteUiAcePojos', [() => {
-    const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => {
-        if (igniteUiAceTabs.onLoad)
-            $scope.onLoad = igniteUiAceTabs.onLoad;
-
-        if (igniteUiAceTabs.onChange)
-            $scope.onChange = igniteUiAceTabs.onChange;
-    };
-
-    return {
-        restrict: 'E',
-        scope: {
-            cluster: '=',
-            pojos: '=ngModel'
-        },
-        bindToController: {
-            cluster: '=',
-            pojos: '=ngModel'
-        },
-        link,
-        templateUrl,
-        controller,
-        controllerAs: 'ctrl',
-        require: ['?^igniteUiAceTabs']
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade b/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade
deleted file mode 100644
index ed1432b..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-pojos/ui-ace-pojos.jade
+++ /dev/null
@@ -1,40 +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.
-
-mixin check-tooltip(message)
-    i.tipLabel.fa.fa-question-circle(bs-tooltip='"#{message}"')
-
-.panel-details-noborder
-    .details-row
-        .col-xs-2.col-sm-2.col-md-2
-            label POJO class:
-        .col-xs-10.col-sm-10.col-md-10.summary-pojo-list
-            button.select-toggle.form-control(ng-model='ctrl.class' bs-select bs-options='item for item in ctrl.classes' data-container='')
-    .details-row.checkbox
-        .col-xs-2.col-sm-2.col-md-2
-        .col-xs-10.col-sm-10.col-md-10
-            label
-                input(type='checkbox' ng-model='ctrl.useConstructor')
-                | Generate constructors
-            +check-tooltip("Generate empty and full constructors in POJO classes")
-    .details-row.checkbox
-        .col-xs-2.col-sm-2.col-md-2
-        .col-xs-10.col-sm-10.col-md-10
-            label
-                input(type='checkbox' ng-model='ctrl.includeKeyFields')
-                | Include key fields
-            +check-tooltip("Generate key fields in POJO value class")
-    .details-row(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, mode: "java"}' ng-model='ctrl.data')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js
deleted file mode 100644
index ec880bd..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.controller.js
+++ /dev/null
@@ -1,33 +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.
- */
-
-export default ['$scope', 'GeneratorPom', 'IgniteVersion', function($scope, pom, IgniteVersion) {
-    const ctrl = this;
-
-    // Watchers definition.
-    const clusterWatcher = (value) => {
-        delete ctrl.data;
-
-        if (!value)
-            return;
-
-        ctrl.data = pom.generate($scope.cluster, IgniteVersion.version).asString();
-    };
-
-    // Setup watchers.
-    $scope.$watch('cluster', clusterWatcher);
-}];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js
deleted file mode 100644
index 2a7a878..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.directive.js
+++ /dev/null
@@ -1,41 +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.
- */
-
-import templateUrl from './ui-ace-pom.jade';
-import controller from './ui-ace-pom.controller';
-
-export default ['igniteUiAcePom', [() => {
-    const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => {
-        if (igniteUiAceTabs.onLoad)
-            $scope.onLoad = igniteUiAceTabs.onLoad;
-
-        if (igniteUiAceTabs.onChange)
-            $scope.onChange = igniteUiAceTabs.onChange;
-    };
-
-    return {
-        restrict: 'E',
-        scope: {
-            cluster: '='
-        },
-        link,
-        templateUrl,
-        controller,
-        controllerAs: 'ctrl',
-        require: ['?^igniteUiAceTabs']
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade b/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade
deleted file mode 100644
index b973a74..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-pom/ui-ace-pom.jade
+++ /dev/null
@@ -1,17 +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.
-
-div(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, mode: "xml"}' ng-model='ctrl.data')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js
deleted file mode 100644
index a9649c8..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-tabs.directive.js
+++ /dev/null
@@ -1,23 +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.
- */
-
-export default ['igniteUiAceTabs', [() => {
-    return {
-        restrict: 'AE',
-        controller: _.noop
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js b/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js
deleted file mode 100644
index 3233757..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.controller.js
+++ /dev/null
@@ -1,27 +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.
- */
-
-export default ['$scope', 'GeneratorXml', function($scope, generator) {
-    const ctrl = this;
-
-    delete ctrl.data;
-
-    // Set default generator
-    ctrl.generator = (cluster) => {
-        return generator.cluster(cluster, $scope.cfg);
-    };
-}];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js b/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js
deleted file mode 100644
index 3bae4de..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.directive.js
+++ /dev/null
@@ -1,133 +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.
- */
-
-import templateUrl from './ui-ace-xml.jade';
-import controller from './ui-ace-xml.controller';
-
-export default ['igniteUiAceXml', ['GeneratorXml', (generator) => {
-    const link = (scope, $el, attrs, [ctrl, igniteUiAceTabs, formCtrl, ngModelCtrl]) => {
-        if (formCtrl && ngModelCtrl)
-            formCtrl.$removeControl(ngModelCtrl);
-
-        if (igniteUiAceTabs && igniteUiAceTabs.onLoad) {
-            scope.onLoad = (editor) => {
-                igniteUiAceTabs.onLoad(editor);
-
-                scope.$watch('master', () => editor.attractAttention = false);
-            };
-        }
-
-        if (igniteUiAceTabs && igniteUiAceTabs.onChange)
-            scope.onChange = igniteUiAceTabs.onChange;
-
-        const render = (data) => {
-            delete ctrl.data;
-
-            if (!data)
-                return;
-
-            return ctrl.generator(scope.master);
-        };
-
-        // Setup generator.
-        if (scope.generator) {
-            const method = scope.generator;
-
-            switch (method) {
-                case 'clusterCaches':
-                    ctrl.generator = (cluster) => {
-                        const caches = _.reduce(scope.detail, (acc, cache) => {
-                            if (_.includes(cluster.caches, cache.value))
-                                acc.push(cache.cache);
-
-                            return acc;
-                        }, []);
-
-                        return generator.clusterCaches(caches, null, true, generator.clusterGeneral(cluster)).asString();
-                    };
-
-                    break;
-
-                case 'igfss':
-                    ctrl.generator = (cluster) => {
-                        const igfss = _.reduce(scope.detail, (acc, igfs) => {
-                            if (_.includes(cluster.igfss, igfs.value))
-                                acc.push(igfs.igfs);
-
-                            return acc;
-                        }, []);
-
-                        return generator.igfss(igfss).asString();
-                    };
-
-                    break;
-
-                case 'cacheStore':
-                    ctrl.generator = (cache) => {
-                        const domains = _.reduce(scope.detail, (acc, domain) => {
-                            if (_.includes(cache.domains, domain.value))
-                                acc.push(domain.meta);
-
-                            return acc;
-                        }, []);
-
-                        return generator.cacheStore(cache, domains).asString();
-                    };
-
-                    break;
-
-                default:
-                    ctrl.generator = (data) => generator[method](data).asString();
-            }
-        }
-
-        if (!_.isUndefined(attrs.clusterCfg)) {
-            scope.$watch('cfg', (cfg) => {
-                if (!_.isUndefined(cfg))
-                    return;
-
-                scope.cfg = {};
-            });
-
-            scope.$watch('cfg', (data) => ctrl.data = render(data), true);
-        }
-
-        const noDeepWatch = !(typeof attrs.noDeepWatch !== 'undefined');
-
-        // Setup watchers.
-        scope.$watch('master', (data) => ctrl.data = render(data), noDeepWatch);
-    };
-
-    return {
-        priority: 1,
-        restrict: 'E',
-        scope: {
-            master: '=',
-            detail: '=',
-            generator: '@',
-            cfg: '=?clusterCfg'
-        },
-        bindToController: {
-            data: '=?ngModel'
-        },
-        link,
-        templateUrl,
-        controller,
-        controllerAs: 'ctrl',
-        require: ['igniteUiAceXml', '?^igniteUiAceTabs', '?^form', '?ngModel']
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade b/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade
deleted file mode 100644
index 0dd627a..0000000
--- a/modules/web-console/src/main/js/app/directives/ui-ace-xml/ui-ace-xml.jade
+++ /dev/null
@@ -1,17 +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.
-
-div(ng-if='ctrl.data' ignite-ace='{onLoad: onLoad, onChange: onChange, mode: "xml"}' ng-model='ctrl.data')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/filters/byName.filter.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/filters/byName.filter.js b/modules/web-console/src/main/js/app/filters/byName.filter.js
deleted file mode 100644
index 3b0746f..0000000
--- a/modules/web-console/src/main/js/app/filters/byName.filter.js
+++ /dev/null
@@ -1,23 +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.
- */
-
-export default ['byName', [() => (arr, search) => {
-    if (!(arr && arr.length) || !search)
-        return arr;
-
-    return _.filter(arr, ({ name }) => name.indexOf(search) >= 0);
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js b/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js
deleted file mode 100644
index 1a38392..0000000
--- a/modules/web-console/src/main/js/app/filters/domainsValidation.filter.js
+++ /dev/null
@@ -1,33 +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.
- */
-
-// Filter domain models with key fields configuration.
-export default ['domainsValidation', ['IgniteLegacyUtils', (LegacyUtils) => (domains, valid, invalid) => {
-    if (valid && invalid)
-        return domains;
-
-    const out = [];
-
-    _.forEach(domains, function(domain) {
-        const _valid = !LegacyUtils.domainForStoreConfigured(domain) || LegacyUtils.isJavaBuiltInClass(domain.keyType) || !_.isEmpty(domain.keyFields);
-
-        if (valid && _valid || invalid && !_valid)
-            out.push(domain);
-    });
-
-    return out;
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/filters/hasPojo.filter.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/filters/hasPojo.filter.js b/modules/web-console/src/main/js/app/filters/hasPojo.filter.js
deleted file mode 100644
index a179423..0000000
--- a/modules/web-console/src/main/js/app/filters/hasPojo.filter.js
+++ /dev/null
@@ -1,18 +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.
- */
-
-export default ['hasPojo', [() => ({caches} = []) => _.find(caches, (cache) => cache.domains && cache.domains.length)]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/helpers/jade/mixins.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/helpers/jade/mixins.jade b/modules/web-console/src/main/js/app/helpers/jade/mixins.jade
deleted file mode 100644
index 08ebe87..0000000
--- a/modules/web-console/src/main/js/app/helpers/jade/mixins.jade
+++ /dev/null
@@ -1,588 +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.
-
-//- Mixin for advanced options toggle.
-mixin advanced-options-toggle(click, cond, showMessage, hideMessage)
-    .advanced-options
-        i.fa(ng-click=click ng-class='#{cond} ? "fa-chevron-circle-down" : "fa-chevron-circle-right"')
-        a(ng-click=click) {{#{cond} ? '#{hideMessage}' : '#{showMessage}'}}
-
-//- Mixin for advanced options toggle with default settings.
-mixin advanced-options-toggle-default
-    +advanced-options-toggle('toggleExpanded()', 'ui.expanded', 'Show advanced settings...', 'Hide advanced settings...')
-
-//- Mixin for main table on screen with list of items.
-mixin main-table(title, rows, focusId, click, rowTemplate, searchField)
-    .padding-bottom-dflt(ng-show='#{rows} && #{rows}.length > 0')
-        table.links(st-table='displayedRows' st-safe-src='#{rows}')
-            thead
-                tr
-                    th
-                        lable.labelHeader.labelFormField #{title}:
-                        .col-sm-3.pull-right(style='padding: 0')
-                            input.form-control(type='text' st-search='#{searchField}' placeholder='Filter #{title}...')
-            tbody
-                tr
-                    td
-                        .scrollable-y(ng-show='displayedRows.length > 0' style='max-height: 200px')
-                            table
-                                tbody
-                                    tr(ng-repeat='row in displayedRows track by row._id' ignite-bs-affix-update)
-                                        td
-                                            a(ng-class='{active: row._id == selectedItem._id}' ignite-on-click-focus=focusId ng-click=click) #{rowTemplate}
-                        label.placeholder(ng-show='displayedRows.length == 0') No #{title} found
-
-//- Mixin with save, remove, clone and undo buttons.
-mixin save-remove-clone-undo-buttons(objectName)
-    -var removeTip = '"Remove current ' + objectName + '"'
-    -var cloneTip = '"Clone current ' + objectName + '"'
-    -var undoTip = '"Undo all changes for current ' + objectName + '"'
-
-    div(ng-show='contentVisible()' style='display: inline-block;')
-        .panel-tip-container(ng-hide='!backupItem || backupItem._id')
-            a.btn.btn-primary(ng-disabled='!ui.inputForm.$dirty' ng-click='ui.inputForm.$dirty && saveItem()' bs-tooltip='' data-title='{{saveBtnTipText(ui.inputForm.$dirty, "#{objectName}")}}' data-placement='bottom' data-trigger='hover') Save
-        .panel-tip-container(ng-show='backupItem._id')
-            a.btn.btn-primary(id='save-item' ng-disabled='!ui.inputForm.$dirty' ng-click='ui.inputForm.$dirty && saveItem()' bs-tooltip='' data-title='{{saveBtnTipText(ui.inputForm.$dirty, "#{objectName}")}}' data-placement='bottom' data-trigger='hover') Save
-        .panel-tip-container(ng-show='backupItem._id')
-            a.btn.btn-primary(id='clone-item' ng-click='cloneItem()' bs-tooltip=cloneTip data-placement='bottom' data-trigger='hover') Clone
-        .btn-group.panel-tip-container(ng-show='backupItem._id')
-            button.btn.btn-primary(id='remove-item' ng-click='removeItem()' bs-tooltip=removeTip data-placement='bottom' data-trigger='hover') Remove
-            button.btn.dropdown-toggle.btn-primary(id='remove-item-dropdown' data-toggle='dropdown' data-container='body' bs-dropdown='[{ text: "Remove All", click: "removeAllItems()" }]' data-placement='bottom-right')
-                span.caret
-        .panel-tip-container(ng-show='backupItem')
-            i.btn.btn-primary.fa.fa-undo(id='undo-item' ng-disabled='!ui.inputForm.$dirty' ng-click='ui.inputForm.$dirty && resetAll()' bs-tooltip=undoTip data-placement='bottom' data-trigger='hover')
-
-//- Mixin for feedback on specified error.
-mixin error-feedback(visible, error, errorMessage, name)
-    i.fa.fa-exclamation-triangle.form-control-feedback(
-        ng-if=visible
-        bs-tooltip='"#{errorMessage}"'
-        ignite-error=error
-        ignite-error-message=errorMessage
-        name=name
-    )
-
-//- Mixin for feedback on unique violation.
-mixin unique-feedback(visible, errorMessage)
-    +error-feedback(visible, 'igniteUnique', errorMessage)
-
-//- Mixin for feedback on IP address violation.
-mixin ipaddress-feedback(visible, name)
-    +error-feedback(visible, 'ipaddress', 'Invalid address!', name)
-
-//- Mixin for feedback on port of IP address violation.
-mixin ipaddress-port-feedback(visible, name)
-    +error-feedback(visible, 'ipaddressPort', 'Invalid port!', name)
-
-//- Mixin for feedback on port range violation.
-mixin ipaddress-port-range-feedback(visible, name)
-    +error-feedback(visible, 'ipaddressPortRange', 'Invalid port range!', name)
-
-//- Mixin for checkbox.
-mixin checkbox(lbl, model, name, tip)
-    ignite-form-field.checkbox
-        ignite-form-field-input-checkbox(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-        )
-        | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-
-//- Mixin for checkbox with enabled condition.
-mixin checkbox-enabled(lbl, model, name, enabled, tip)
-    ignite-form-field.checkbox
-        ignite-form-field-input-checkbox(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-ng-disabled='!(#{enabled})'
-        )
-        | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-
-//- Mixin for java name field with enabled condition.
-mixin java-class(lbl, model, name, enabled, required, tip)
-    -var errLbl = lbl.substring(0, lbl.length - 1)
-
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-text(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-ng-disabled='!(#{enabled})'
-            data-ng-required=required
-            data-placeholder='Enter fully qualified class name'
-
-            data-java-identifier='true'
-            data-java-package-specified='true'
-            data-java-keywords='true'
-            data-java-built-in-class='true'
-        )
-            +error-feedback('form[ngModelName].$error.javaBuiltInClass', 'javaBuiltInClass', errLbl + ' should not be the Java built-in class!', name)
-            +error-feedback('form[ngModelName].$error.javaKeywords', 'javaKeywords', errLbl + ' could not contains reserved Java keyword!', name)
-            +error-feedback('form[ngModelName].$error.javaPackageSpecified', 'javaPackageSpecified', errLbl + ' does not have package specified!', name)
-            +error-feedback('form[ngModelName].$error.javaIdentifier', 'javaIdentifier', errLbl + ' is invalid Java identifier!', name)
-
-//- Mixin for text field with enabled condition with options.
-mixin java-class-typeahead(lbl, model, name, options, enabled, required, placeholder, tip)
-    -var errLbl = lbl.substring(0, lbl.length - 1)
-
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-datalist(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-options=options
-            data-placeholder=placeholder
-            data-ng-disabled='!(#{enabled})'
-            data-ng-required=required
-
-            data-java-identifier='true'
-            data-java-package-specified='allow-built-in'
-            data-java-keywords='true'
-        )
-            +error-feedback('form[ngModelName].$error.javaKeywords', 'javaKeywords', errLbl + ' could not contains reserved Java keyword!', name)
-            +error-feedback('form[ngModelName].$error.javaPackageSpecified', 'javaPackageSpecified', errLbl + ' does not have package specified!', name)
-            +error-feedback('form[ngModelName].$error.javaIdentifier', 'javaIdentifier', errLbl + ' is invalid Java identifier!', name)
-
-//- Mixin for text field with IP address check.
-mixin text-ip-address(lbl, model, name, enabled, placeholder, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-text(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-ipaddress='true'
-            data-ng-disabled='!(#{enabled})'
-            data-placeholder=placeholder
-        )
-            +ipaddress-feedback('form[ngModelName].$error.ipaddress', name)
-
-
-//- Mixin for text field with IP address and port check.
-mixin text-ip-address-with-port(lbl, model, name, enabled, placeholder, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-text(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-ipaddress='true'
-            data-ipaddress-with-port='true'
-            data-ng-disabled='!(#{enabled})'
-            data-placeholder=placeholder
-        )
-            +ipaddress-feedback('form[ngModelName].$error.ipaddress', name)
-            +ipaddress-port-feedback('form[ngModelName].$error.ipaddressPort', name)
-
-//- Mixin for text field.
-mixin text-enabled(lbl, model, name, enabled, required, placeholder, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-text(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-placeholder=placeholder
-            data-ng-disabled='!(#{enabled})'
-            data-ng-required=required
-        )
-
-//- Mixin for text field.
-mixin text(lbl, model, name, required, placeholder, tip)
-    +text-enabled(lbl, model, name, 'true', required, placeholder, tip)
-
-//- Mixin for text field with enabled condition with options.
-mixin text-options(lbl, model, name, options, enabled, required, placeholder, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-datalist(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-options=options
-            data-placeholder=placeholder
-            data-ng-disabled='!(#{enabled})'
-            data-ng-required=required
-        )
-
-//- Mixin for required numeric field.
-mixin number-required(lbl, model, name, enabled, required, placeholder, min, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-number(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-ng-required=required
-            data-ng-disabled='!(#{enabled})'
-            data-placeholder=placeholder
-            data-min=min
-        )
-
-//- Mixin for required numeric field with maximum and minimum limit.
-mixin number-min-max(lbl, model, name, enabled, placeholder, min, max, tip)
-    +number-min-max-step(lbl, model, name, enabled, placeholder, min, max, '1', tip)
-
-//- Mixin for required numeric field with maximum and minimum limit.
-mixin number-min-max-step(lbl, model, name, enabled, placeholder, min, max, step, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-input-number(
-            data-id=name
-            data-name=name
-            data-ng-model=model
-            data-ng-disabled='!(#{enabled})'
-            data-placeholder=placeholder
-            data-min=min
-            data-max=max
-            data-step=step
-        )
-
-//- Mixin for numeric field.
-mixin number(lbl, model, name, enabled, placeholder, min, tip)
-    +number-required(lbl, model, name, enabled, 'false', placeholder, min, tip)
-
-//- Mixin for required dropdown field.
-mixin dropdown-required-empty(lbl, model, name, enabled, required, placeholder, placeholderEmpty, options, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-dropdown(
-            data-id=name
-            data-name=name
-            data-options=options
-            data-ng-model=model
-            data-ng-disabled='!(#{enabled})'
-            data-ng-required=required
-            data-placeholder='{{#{options}.length > 0 ? "#{placeholder}" : "#{placeholderEmpty}"}}'
-        )
-
-//- Mixin for required dropdown field.
-mixin dropdown-required(lbl, model, name, enabled, required, placeholder, options, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-dropdown(
-            data-id=name
-            data-name=name
-            data-options=options
-            data-ng-model=model
-            data-ng-disabled='!(#{enabled})'
-            data-ng-required=required
-            data-placeholder=placeholder
-        )
-
-//- Mixin for dropdown field.
-mixin dropdown(lbl, model, name, enabled, placeholder, options, tip)
-    +dropdown-required(lbl, model, name, enabled, 'false', placeholder, options, tip)
-
-//- Mixin for dropdown-multiple field.
-mixin dropdown-multiple(lbl, model, name, enabled, placeholder, placeholderEmpty, options, tip)
-    ignite-form-field
-        ignite-form-field-label
-            | !{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        ignite-form-field-dropdown(
-            data-id=name
-            data-name=name
-            data-multiple='true'
-            data-options=options
-            data-ng-model=model
-            data-ng-disabled='!(#{enabled})'
-            data-placeholder='{{ #{options}.length > 0 ? "#{placeholder}" : "#{placeholderEmpty}" }}'
-            data-disabled='!#{options}.length'
-        )
-
-//- Mixin for table text field.
-mixin table-text-field(field, items, valid, save, placeholder, newItem)
-    -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
-    -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
-
-    -var onEscape = newItem ? 'group.add = []' : 'field.edit = false'
-
-    -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false'
-    -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
-
-    ignite-form-field-input-text(
-        data-name='#{field}{{ $index || "" }}'
-        data-ng-model=field
-        data-ng-required='true'
-        data-placeholder=placeholder
-        data-ignite-unique=items
-        data-ignite-form-field-input-autofocus='true'
-        ignite-on-enter=onEnter
-        ignite-on-escape=onEscape
-        ng-blur=onBlur
-    )
-        block
-
-//- Mixin for table java class field.
-mixin table-java-class-field(lbl, field, items, valid, save, newItem)
-    -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
-    -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
-
-    -var onEscape = newItem ? 'group.add = []' : 'field.edit = false'
-
-    -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false'
-    -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
-
-    ignite-form-field-input-text(
-        data-name='#{field}{{ $index || "" }}'
-        data-ng-model=field
-        data-ng-required='true'
-        data-ignite-unique=items
-        data-ignite-form-field-input-autofocus='true'
-
-        data-java-identifier='true'
-        data-java-package-specified='true'
-        data-java-keywords='true'
-        data-java-built-in-class='true'
-
-        data-placeholder='Enter fully qualified class name'
-
-        ignite-on-enter=onEnter
-        ignite-on-escape=onEscape
-        ng-blur=onBlur
-    )
-        +error-feedback('form[ngModelName].$error.javaBuiltInClass', 'javaBuiltInClass', lbl + ' should not be the Java built-in class!')
-        +error-feedback('form[ngModelName].$error.javaKeywords', 'javaKeywords', lbl + ' could not contains reserved Java keyword!')
-        +error-feedback('form[ngModelName].$error.javaPackageSpecified', 'javaPackageSpecified', lbl + ' does not have package specified!')
-        +error-feedback('form[ngModelName].$error.javaIdentifier', 'javaIdentifier', lbl + ' is invalid Java identifier!')
-
-        block
-
-//- Mixin for table java package field.
-mixin table-java-package-field(field, items, valid, save, newItem)
-    -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
-    -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
-
-    -var onEscape = newItem ? 'group.add = []' : 'field.edit = false'
-
-    -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false'
-    -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
-
-    ignite-form-field-input-text(
-        data-name='#{field}{{ $index || "" }}'
-        data-ng-model=field
-        data-ng-required='true'
-        data-placeholder='Enter package name'
-        data-java-keywords='true'
-        data-java-package-name='true'
-        data-ignite-unique=items
-        data-ignite-form-field-input-autofocus='true'
-        ignite-on-enter=onEnter
-        ignite-on-escape=onEscape
-        ng-blur=onBlur
-    )
-        block
-
-//- Mixin for table address field.
-mixin table-address-field(field, items, valid, save, newItem, portRange)
-    -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
-    -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
-
-    -var onEscape = newItem ? 'group.add = []' : 'field.edit = false'
-
-    -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false'
-    -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
-
-    ignite-form-field-input-text(
-        data-name='#{field}{{ $index || "" }}'
-        data-ng-model=field
-        data-ng-required='true'
-        data-placeholder='IP address:port'
-        data-ipaddress='true'
-        data-ipaddress-with-port='true'
-        data-ipaddress-with-port-range=portRange ? 'true' : null
-        data-ignite-unique=items
-        data-ignite-form-field-input-autofocus='true'
-        ignite-on-enter=onEnter
-        ignite-on-escape=onEscape
-        ng-blur=onBlur
-    )
-        block
-
-//- Mixin for table save button.
-   "||" used instead of "&&" to workaround escaping of "&&" to "&amp;&amp;"
-mixin table-save-button(valid, save, newItem)
-    -var reset = newItem ? 'group.add = []' : 'field.edit = false'
-
-    i.fa.fa-floppy-o(
-        ng-show=valid
-        ng-click='!(#{valid}) || (#{save}); !(#{valid}) || (#{reset});'
-        bs-tooltip
-        data-title='Click icon or press [Enter] to save item'
-    )
-
-//- Mixin for table remove button.
-mixin table-remove-conditional-button(items, show, tip)
-    i.tipField.fa.fa-remove(
-        ng-hide='!#{show} || field.edit'
-        bs-tooltip
-        data-title=tip
-        ng-click='#{items}.splice(#{items}.indexOf(model), 1)'
-    )
-
-//- Mixin for table remove button.
-mixin table-remove-button(items, tip)
-    +table-remove-conditional-button(items, 'true', tip)
-
-//- Mixin for cache mode.
-mixin cacheMode(lbl, model, name, placeholder)
-    +dropdown(lbl, model, name, 'true', placeholder,
-        '[\
-            {value: "LOCAL", label: "LOCAL"},\
-            {value: "REPLICATED", label: "REPLICATED"},\
-            {value: "PARTITIONED", label: "PARTITIONED"}\
-        ]',
-        'Cache modes:\
-        <ul>\
-            <li>Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes</li>\
-            <li>Replicated - in this mode all the keys are distributed to all participating nodes</li>\
-            <li>Local - in this mode caches residing on different grid nodes will not know about each other</li>\
-        </ul>'
-    )
-
-//- Mixin for eviction policy.
-mixin evictionPolicy(model, name, enabled, required, tip)
-    -var kind = model + '.kind'
-    -var policy = model + '[' + kind + ']'
-
-    +dropdown-required('Eviction policy:', kind, name + 'Kind', enabled, required, 'Not set',
-        '[\
-            {value: "LRU", label: "LRU"},\
-            {value: "FIFO", label: "FIFO"},\
-            {value: "SORTED", label: "Sorted"},\
-            {value: undefined, label: "Not set"}\
-        ]', tip)
-    span(ng-if=kind)
-        a.customize(ng-show='__.expanded' ng-click='__.expanded = false') Hide settings
-        a.customize(ng-hide='__.expanded' ng-click='__.expanded = true') Show settings
-        .panel-details(ng-if='__.expanded')
-            .details-row
-                +number('Batch size', policy + '.batchSize', name + 'batchSize', enabled, '1', '0',
-                    'Number of entries to remove on shrink')
-            .details-row
-                +number('Max memory size', policy + '.maxMemorySize', name + 'maxMemorySize', enabled, '0', '0',
-                    'Maximum allowed cache size in bytes')
-            .details-row
-                +number('Max size', policy + '.maxSize', name + 'maxSize', enabled, '100000', '0',
-                    'Maximum allowed size of cache before entry will start getting evicted')
-
-//- Mixin for clusters dropdown.
-mixin clusters(model, tip)
-    +dropdown-multiple('<span>Clusters:</span>' + '<a ui-sref="base.configuration.clusters({linkId: linkId()})"> (add)</a>',
-        model + '.clusters', 'clusters', 'true', 'Choose clusters', 'No clusters configured', 'clusters', tip)
-
-//- Mixin for caches dropdown.
-mixin caches(model, tip)
-    +dropdown-multiple('<span>Caches:</span>' + '<a ui-sref="base.configuration.caches({linkId: linkId()})"> (add)</a>',
-        model + '.caches', 'caches', 'true', 'Choose caches', 'No caches configured', 'caches', tip)
-
-//- Mixin for XML and Java preview.
-mixin preview-xml-java(master, generator, detail)
-    ignite-ui-ace-tabs
-        .preview-panel(ng-init='mode = false')
-            .preview-legend
-                a(ng-class='{active: !mode, inactive: mode}' ng-click='mode = false') XML
-                | &nbsp;
-                a(ng-class='{active: mode, inactive: !mode}' ng-click='mode = true') Java
-            .preview-content(ng-if='mode')
-                ignite-ui-ace-java(data-master=master data-generator=generator ng-model='$parent.data' data-detail=detail)
-            .preview-content(ng-if='!mode')
-                ignite-ui-ace-xml(data-master=master data-generator=generator ng-model='$parent.data' data-detail=detail)
-            .preview-content-empty(ng-if='!data')
-                label All Defaults
-
-//- LEGACY mixin for LEGACY tables.
-mixin btn-save(show, click)
-    i.tipField.fa.fa-floppy-o(ng-show=show ng-click=click bs-tooltip='' data-title='Click icon or press [Enter] to save item' data-trigger='hover')
-
-//- LEGACY mixin for LEGACY tables.
-mixin btn-add(click, tip)
-    i.tipField.fa.fa-plus(ng-click=click bs-tooltip=tip data-trigger = 'hover')
-
-//- LEGACY mixin for LEGACY tables.
-mixin btn-remove(click, tip)
-    i.tipField.fa.fa-remove(ng-click=click bs-tooltip=tip data-trigger='hover')
-
-//- LEGACY mixin for LEGACY tables.
-mixin btn-remove-cond(cond, click, tip)
-    i.tipField.fa.fa-remove(ng-show=cond ng-click=click bs-tooltip=tip data-trigger='hover')
-
-//- LEGACY mixin for LEGACY pair values tables.
-mixin table-pair-edit(tbl, prefix, keyPlaceholder, valPlaceholder, keyJavaBuiltInTypes, valueJavaBuiltInTypes, focusId, index, divider)
-    -var keyModel = tbl + '.' + prefix + 'Key'
-    -var valModel = tbl +'.' + prefix + 'Value'
-
-    -var keyFocusId = prefix + 'Key' + focusId
-    -var valFocusId = prefix + 'Value' + focusId
-
-    .col-xs-6.col-sm-6.col-md-6
-        .fieldSep !{divider}
-        .input-tip
-            if keyJavaBuiltInTypes
-                input.form-control(id=keyFocusId ignite-on-enter-focus-move=valFocusId type='text' ng-model=keyModel placeholder=keyPlaceholder bs-typeahead container='body' ignite-retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuiltInClasses' ignite-on-escape='tableReset()')
-            else
-                input.form-control(id=keyFocusId ignite-on-enter-focus-move=valFocusId type='text' ng-model=keyModel placeholder=keyPlaceholder ignite-on-escape='tableReset()')
-    .col-xs-6.col-sm-6.col-md-6
-        -var arg = keyModel + ', ' + valModel
-        -var btnVisible = 'tablePairSaveVisible(' + tbl + ', ' + index + ')'
-        -var btnSave = 'tablePairSave(tablePairValid, backupItem, ' + tbl + ', ' + index + ')'
-        -var btnVisibleAndSave = btnVisible + ' && ' + btnSave
-
-        +btn-save(btnVisible, btnSave)
-        .input-tip
-            if valueJavaBuiltInTypes
-                input.form-control(id=valFocusId type='text' ng-model=valModel placeholder=valPlaceholder bs-typeahead container='body' ignite-retain-selection data-min-length='1' bs-options='javaClass for javaClass in javaBuiltInClasses' ignite-on-enter=btnVisibleAndSave ignite-on-escape='tableReset()')
-            else
-                input.form-control(id=valFocusId type='text' ng-model=valModel placeholder=valPlaceholder ignite-on-enter=btnVisibleAndSave ignite-on-escape='tableReset()')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js b/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js
deleted file mode 100644
index 68aca9d..0000000
--- a/modules/web-console/src/main/js/app/modules/Demo/Demo.module.js
+++ /dev/null
@@ -1,166 +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.
- */
-
-import angular from 'angular';
-
-import DEMO_INFO from 'app/data/demo-info.json';
-
-angular
-.module('ignite-console.demo', [
-    'ignite-console.socket'
-])
-.config(['$stateProvider', ($stateProvider) => {
-    $stateProvider
-        .state('demo', {
-            abstract: true,
-            template: '<ui-view></ui-view>'
-        })
-        .state('demo.resume', {
-            url: '/demo',
-            controller: ['$state', ($state) => {
-                $state.go('base.configuration.clusters');
-            }],
-            metaTags: {
-            }
-        })
-        .state('demo.reset', {
-            url: '/demo/reset',
-            controller: ['$state', '$http', 'IgniteMessages', ($state, $http, Messages) => {
-                $http.post('/api/v1/demo/reset')
-                    .then(() => $state.go('base.configuration.clusters'))
-                    .catch((err) => {
-                        $state.go('base.configuration.clusters');
-
-                        Messages.showError(err);
-                    });
-            }],
-            metaTags: {}
-        });
-}])
-.provider('Demo', ['$stateProvider', '$httpProvider', 'igniteSocketFactoryProvider', function($state, $http, socketFactory) {
-    if (/(\/demo.*)/ig.test(location.pathname))
-        sessionStorage.setItem('IgniteDemoMode', 'true');
-
-    const enabled = sessionStorage.getItem('IgniteDemoMode') === 'true';
-
-    if (enabled) {
-        socketFactory.set({query: 'IgniteDemoMode=true'});
-
-        $http.interceptors.push('demoInterceptor');
-    }
-
-    this.$get = ['$rootScope', ($root) => {
-        $root.IgniteDemoMode = enabled;
-
-        return {enabled};
-    }];
-}])
-.factory('demoInterceptor', ['Demo', (Demo) => {
-    const isApiRequest = (url) => /\/api\/v1/ig.test(url);
-
-    return {
-        request(cfg) {
-            if (Demo.enabled && isApiRequest(cfg.url))
-                cfg.headers.IgniteDemoMode = true;
-
-            return cfg;
-        }
-    };
-}])
-.controller('demoController', ['$scope', '$state', '$window', 'IgniteConfirm', ($scope, $state, $window, Confirm) => {
-    const _openTab = (stateName) => $window.open($state.href(stateName), '_blank');
-
-    $scope.startDemo = () => {
-        if (!$scope.user.demoCreated)
-            return _openTab('demo.reset');
-
-        Confirm.confirm('Would you like to continue with previous demo session?', true, false)
-            .then((resume) => {
-                if (resume)
-                    return _openTab('demo.resume');
-
-                _openTab('demo.reset');
-            });
-    };
-
-    $scope.closeDemo = () => {
-        $window.close();
-    };
-}])
-.provider('igniteDemoInfo', [function() {
-    const items = DEMO_INFO;
-
-    this.update = (data) => items[0] = data;
-
-    this.$get = [() => {
-        return items;
-    }];
-}])
-.service('DemoInfo', ['$rootScope', '$modal', '$state', '$q', 'igniteDemoInfo', 'IgniteAgentMonitor', ($rootScope, $modal, $state, $q, igniteDemoInfo, agentMonitor) => {
-    const scope = $rootScope.$new();
-
-    let closePromise = null;
-
-    function _fillPage() {
-        const model = igniteDemoInfo;
-
-        scope.title = model[0].title;
-        scope.message = model[0].message.join(' ');
-    }
-
-    const dialog = $modal({
-        templateUrl: '/templates/demo-info.html',
-        scope,
-        placement: 'center',
-        show: false,
-        backdrop: 'static'
-    });
-
-    scope.close = () => {
-        dialog.hide();
-
-        closePromise && closePromise.resolve();
-    };
-
-    scope.downloadAgent = () => {
-        const lnk = document.createElement('a');
-
-        lnk.setAttribute('href', '/api/v1/agent/download/zip');
-        lnk.setAttribute('target', '_self');
-        lnk.setAttribute('download', null);
-        lnk.style.display = 'none';
-
-        document.body.appendChild(lnk);
-
-        lnk.click();
-
-        document.body.removeChild(lnk);
-    };
-
-    return {
-        show: () => {
-            closePromise = $q.defer();
-
-            _fillPage();
-
-            return dialog.$promise
-                .then(dialog.show)
-                .then(() => Promise.race([agentMonitor.awaitAgent(), closePromise.promise]))
-                .then(() => scope.hasAgents = true);
-        }
-    };
-}]);

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/Version/Version.provider.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/Version/Version.provider.js b/modules/web-console/src/main/js/app/modules/Version/Version.provider.js
deleted file mode 100644
index fe503ab..0000000
--- a/modules/web-console/src/main/js/app/modules/Version/Version.provider.js
+++ /dev/null
@@ -1,32 +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.
- */
-
-import angular from 'angular';
-
-angular
-    .module('ignite-console.version', [])
-    .provider('IgniteVersion', function() {
-        const version = {
-            version: '1.6.0'
-        };
-
-        this.update = (newVersion) => {
-            version.version = newVersion;
-        };
-
-        this.$get = [() => version];
-    });