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 2017/11/10 02:50:36 UTC

[2/2] ignite git commit: IGNITE-6824 Web Console: Upgraded Angular from 1.5.x to 1.6.x.

IGNITE-6824 Web Console: Upgraded Angular from 1.5.x to 1.6.x.


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

Branch: refs/heads/master
Commit: 85cf95870945c317bc55862a9c66b566b3018f43
Parents: 8c343a1
Author: alexdel <ve...@yandex.ru>
Authored: Fri Nov 10 09:46:43 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Nov 10 09:46:43 2017 +0700

----------------------------------------------------------------------
 .../ui-ace-docker/ui-ace-docker.controller.js   |  26 ++--
 .../ui-ace-java/ui-ace-java.controller.js       | 150 ++++++++++---------
 .../ui-ace-pojos/ui-ace-pojos.controller.js     | 148 +++++++++---------
 .../ui-ace-pom/ui-ace-pom.controller.js         |  26 ++--
 .../ui-ace-sharp/ui-ace-sharp.controller.js     |  12 +-
 .../ui-ace-spring/ui-ace-spring.controller.js   | 146 +++++++++---------
 .../app/modules/dialog/dialog.controller.js     |  26 ++--
 .../app/modules/form/field/down.directive.js    |  16 +-
 .../app/modules/form/field/up.directive.js      |  14 +-
 .../app/modules/form/group/add.directive.js     |  24 ++-
 .../app/modules/form/group/tooltip.directive.js |  24 ++-
 .../app/modules/navbar/userbar.directive.js     |  32 ++--
 modules/web-console/frontend/package.json       |  17 +--
 13 files changed, 341 insertions(+), 320 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.controller.js b/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.controller.js
index 8ebaae4..4f443ae 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.controller.js
@@ -18,20 +18,22 @@
 export default ['$scope', 'IgniteVersion', 'IgniteDockerGenerator', function($scope, Version, docker) {
     const ctrl = this;
 
-    // Watchers definition.
-    const clusterWatcher = () => {
-        delete ctrl.data;
+    this.$onInit = () => {
+        // Watchers definition.
+        const clusterWatcher = () => {
+            delete ctrl.data;
 
-        if (!$scope.cluster)
-            return;
+            if (!$scope.cluster)
+                return;
 
-        ctrl.data = docker.generate($scope.cluster, Version.currentSbj.getValue());
-    };
+            ctrl.data = docker.generate($scope.cluster, Version.currentSbj.getValue());
+        };
 
-    // Setup watchers.
-    Version.currentSbj.subscribe({
-        next: clusterWatcher
-    });
+        // Setup watchers.
+        Version.currentSbj.subscribe({
+            next: clusterWatcher
+        });
 
-    $scope.$watch('cluster', clusterWatcher);
+        $scope.$watch('cluster', clusterWatcher);
+    };
 }];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js b/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
index e50ac6c..22f7d18 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
@@ -18,103 +18,105 @@
 export default ['IgniteVersion', 'JavaTransformer', function(Version, java) {
     const ctrl = this;
 
-    delete ctrl.data;
+    this.$onInit = () => {
+        delete ctrl.data;
 
-    const client = ctrl.client === 'true';
+        const client = ctrl.client === 'true';
 
-    const available = Version.available.bind(Version);
+        const available = Version.available.bind(Version);
 
-    // Setup generator.
-    switch (ctrl.generator) {
-        case 'igniteConfiguration':
-            const clsName = client ? 'ClientConfigurationFactory' : 'ServerConfigurationFactory';
+        // Setup generator.
+        switch (ctrl.generator) {
+            case 'igniteConfiguration':
+                const clsName = client ? 'ClientConfigurationFactory' : 'ServerConfigurationFactory';
 
-            ctrl.generate = (cluster) => java.cluster(cluster, Version.currentSbj.getValue(), 'config', clsName, client);
+                ctrl.generate = (cluster) => java.cluster(cluster, Version.currentSbj.getValue(), 'config', clsName, client);
 
-            break;
-        case 'clusterCaches':
-            ctrl.generate = (cluster, caches) => {
-                const clusterCaches = _.reduce(caches, (acc, cache) => {
-                    if (_.includes(cluster.caches, cache.value))
-                        acc.push(cache.cache);
+                break;
+            case 'clusterCaches':
+                ctrl.generate = (cluster, caches) => {
+                    const clusterCaches = _.reduce(caches, (acc, cache) => {
+                        if (_.includes(cluster.caches, cache.value))
+                            acc.push(cache.cache);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                const cfg = java.generator.clusterGeneral(cluster, available);
+                    const cfg = java.generator.clusterGeneral(cluster, available);
 
-                java.generator.clusterCaches(cluster, clusterCaches, null, available, false, cfg);
+                    java.generator.clusterCaches(cluster, clusterCaches, null, available, false, cfg);
 
-                return java.toSection(cfg);
-            };
+                    return java.toSection(cfg);
+                };
 
-            break;
-        case 'cacheStore':
-        case 'cacheQuery':
-            ctrl.generate = (cache, domains) => {
-                const cacheDomains = _.reduce(domains, (acc, domain) => {
-                    if (_.includes(cache.domains, domain.value))
-                        acc.push(domain.meta);
+                break;
+            case 'cacheStore':
+            case 'cacheQuery':
+                ctrl.generate = (cache, domains) => {
+                    const cacheDomains = _.reduce(domains, (acc, domain) => {
+                        if (_.includes(cache.domains, domain.value))
+                            acc.push(domain.meta);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return java[ctrl.generator](cache, cacheDomains, available);
-            };
+                    return java[ctrl.generator](cache, cacheDomains, available);
+                };
 
-            break;
-        case 'cacheNodeFilter':
-            ctrl.generate = (cache, igfss) => {
-                const cacheIgfss = _.reduce(igfss, (acc, igfs) => {
-                    acc.push(igfs.igfs);
+                break;
+            case 'cacheNodeFilter':
+                ctrl.generate = (cache, igfss) => {
+                    const cacheIgfss = _.reduce(igfss, (acc, igfs) => {
+                        acc.push(igfs.igfs);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return java.cacheNodeFilter(cache, cacheIgfss);
-            };
+                    return java.cacheNodeFilter(cache, cacheIgfss);
+                };
 
-            break;
-        case 'clusterServiceConfiguration':
-            ctrl.generate = (cluster, caches) => {
-                const clusterCaches = _.reduce(caches, (acc, cache) => {
-                    if (_.includes(cluster.caches, cache.value))
-                        acc.push(cache.cache);
+                break;
+            case 'clusterServiceConfiguration':
+                ctrl.generate = (cluster, caches) => {
+                    const clusterCaches = _.reduce(caches, (acc, cache) => {
+                        if (_.includes(cluster.caches, cache.value))
+                            acc.push(cache.cache);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return java.clusterServiceConfiguration(cluster.serviceConfigurations, clusterCaches);
-            };
+                    return java.clusterServiceConfiguration(cluster.serviceConfigurations, clusterCaches);
+                };
 
-            break;
-        case 'clusterCheckpoint':
-            ctrl.generate = (cluster, caches) => {
-                const clusterCaches = _.reduce(caches, (acc, cache) => {
-                    if (_.includes(cluster.caches, cache.value))
-                        acc.push(cache.cache);
+                break;
+            case 'clusterCheckpoint':
+                ctrl.generate = (cluster, caches) => {
+                    const clusterCaches = _.reduce(caches, (acc, cache) => {
+                        if (_.includes(cluster.caches, cache.value))
+                            acc.push(cache.cache);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return java.clusterCheckpoint(cluster, clusterCaches);
-            };
+                    return java.clusterCheckpoint(cluster, clusterCaches);
+                };
 
-            break;
-        case 'igfss':
-            ctrl.generate = (cluster, igfss) => {
-                const clusterIgfss = _.reduce(igfss, (acc, igfs) => {
-                    if (_.includes(cluster.igfss, igfs.value))
-                        acc.push(igfs.igfs);
+                break;
+            case 'igfss':
+                ctrl.generate = (cluster, igfss) => {
+                    const clusterIgfss = _.reduce(igfss, (acc, igfs) => {
+                        if (_.includes(cluster.igfss, igfs.value))
+                            acc.push(igfs.igfs);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return java.clusterIgfss(clusterIgfss, available);
-            };
+                    return java.clusterIgfss(clusterIgfss, available);
+                };
 
-            break;
-        default:
-            ctrl.generate = (master) => java[ctrl.generator](master, available);
-    }
+                break;
+            default:
+                ctrl.generate = (master) => java[ctrl.generator](master, available);
+        }
+    };
 }];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js b/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js
index 61bf086..774d73e 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.controller.js
@@ -18,78 +18,80 @@
 export default ['$scope', 'JavaTypes', 'JavaTransformer', 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;
+    this.$onInit = () => {
+        // 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 (_.isNil(ctrl.cluster) || _.isEmpty(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 (_.nonNil(pojo.keyClass))
+                    classes.push(pojo.keyType);
+
+                classes.push(pojo.valueType);
+            });
+        };
+
+        // Update pojos class.
+        const updateClass = (value) => {
+            if (_.isEmpty(value))
+                return;
+
+            const pojo = value[0];
+
+            ctrl.class = ctrl.class || (pojo.keyClass ? pojo.keyType : pojo.valueType);
+        };
+
+        // Update pojos data.
+        const updatePojosData = (value) => {
+            if (_.isNil(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);
     };
-
-    // Watcher update pojos when changes caches and checkers useConstructor and includeKeyFields
-    const updatePojos = () => {
-        delete ctrl.pojos;
-
-        if (_.isNil(ctrl.cluster) || _.isEmpty(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 (_.nonNil(pojo.keyClass))
-                classes.push(pojo.keyType);
-
-            classes.push(pojo.valueType);
-        });
-    };
-
-    // Update pojos class.
-    const updateClass = (value) => {
-        if (_.isEmpty(value))
-            return;
-
-        const pojo = value[0];
-
-        ctrl.class = ctrl.class || (pojo.keyClass ? pojo.keyType : pojo.valueType);
-    };
-
-    // Update pojos data.
-    const updatePojosData = (value) => {
-        if (_.isNil(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/85cf9587/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js b/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
index 0135eb3..2e421b2 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.controller.js
@@ -18,20 +18,22 @@
 export default ['$scope', 'IgniteVersion', 'IgniteMavenGenerator', function($scope, Version, maven) {
     const ctrl = this;
 
-    // Watchers definition.
-    const clusterWatcher = (value) => {
-        delete ctrl.data;
+    this.$onInit = () => {
+        // Watchers definition.
+        const clusterWatcher = (value) => {
+            delete ctrl.data;
 
-        if (!value)
-            return;
+            if (!value)
+                return;
 
-        ctrl.data = maven.generate($scope.cluster, Version.currentSbj.getValue());
-    };
+            ctrl.data = maven.generate($scope.cluster, Version.currentSbj.getValue());
+        };
 
-    // Setup watchers.
-    Version.currentSbj.subscribe({
-        next: clusterWatcher
-    });
+        // Setup watchers.
+        Version.currentSbj.subscribe({
+            next: clusterWatcher
+        });
 
-    $scope.$watch('cluster', clusterWatcher);
+        $scope.$watch('cluster', clusterWatcher);
+    };
 }];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.controller.js b/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.controller.js
index e600773..e87caca 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.controller.js
@@ -21,12 +21,14 @@ const CLIENT_CFG = 'ClientConfigurationFactory';
 export default ['$scope', 'IgniteSharpTransformer', function($scope, generator) {
     const ctrl = this;
 
-    delete ctrl.data;
+    this.$onInit = () => {
+        delete ctrl.data;
 
-    // Set default generator
-    ctrl.generator = (cluster) => {
-        const type = $scope.cfg ? CLIENT_CFG : SERVER_CFG;
+        // Set default generator
+        ctrl.generator = (cluster) => {
+            const type = $scope.cfg ? CLIENT_CFG : SERVER_CFG;
 
-        return generator.cluster(cluster, 'config', type, $scope.cfg);
+            return generator.cluster(cluster, 'config', type, $scope.cfg);
+        };
     };
 }];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js b/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
index 17da1fd..7eccf6d 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
@@ -18,99 +18,101 @@
 export default ['IgniteVersion', 'SpringTransformer', function(Version, spring) {
     const ctrl = this;
 
-    delete ctrl.data;
+    this.$onInit = () => {
+        delete ctrl.data;
 
-    const available = Version.available.bind(Version);
+        const available = Version.available.bind(Version);
 
-    // Setup generator.
-    switch (ctrl.generator) {
-        case 'igniteConfiguration':
-            ctrl.generate = (cluster) => spring.cluster(cluster, Version.currentSbj.getValue(), ctrl.client === 'true');
+        // Setup generator.
+        switch (ctrl.generator) {
+            case 'igniteConfiguration':
+                ctrl.generate = (cluster) => spring.cluster(cluster, Version.currentSbj.getValue(), ctrl.client === 'true');
 
-            break;
-        case 'clusterCaches':
-            ctrl.generate = (cluster, caches) => {
-                const clusterCaches = _.reduce(caches, (acc, cache) => {
-                    if (_.includes(cluster.caches, cache.value))
-                        acc.push(cache.cache);
+                break;
+            case 'clusterCaches':
+                ctrl.generate = (cluster, caches) => {
+                    const clusterCaches = _.reduce(caches, (acc, cache) => {
+                        if (_.includes(cluster.caches, cache.value))
+                            acc.push(cache.cache);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                const cfg = spring.generator.clusterGeneral(cluster, available);
+                    const cfg = spring.generator.clusterGeneral(cluster, available);
 
-                spring.generator.clusterCaches(cluster, clusterCaches, null, available, false, cfg);
+                    spring.generator.clusterCaches(cluster, clusterCaches, null, available, false, cfg);
 
-                return spring.toSection(cfg);
-            };
+                    return spring.toSection(cfg);
+                };
 
-            break;
-        case 'cacheStore':
-        case 'cacheQuery':
-            ctrl.generate = (cache, domains) => {
-                const cacheDomains = _.reduce(domains, (acc, domain) => {
-                    if (_.includes(cache.domains, domain.value))
-                        acc.push(domain.meta);
+                break;
+            case 'cacheStore':
+            case 'cacheQuery':
+                ctrl.generate = (cache, domains) => {
+                    const cacheDomains = _.reduce(domains, (acc, domain) => {
+                        if (_.includes(cache.domains, domain.value))
+                            acc.push(domain.meta);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return spring[ctrl.generator](cache, cacheDomains, available);
-            };
+                    return spring[ctrl.generator](cache, cacheDomains, available);
+                };
 
-            break;
-        case 'cacheNodeFilter':
-            ctrl.generate = (cache, igfss) => {
-                const cacheIgfss = _.reduce(igfss, (acc, igfs) => {
-                    acc.push(igfs.igfs);
+                break;
+            case 'cacheNodeFilter':
+                ctrl.generate = (cache, igfss) => {
+                    const cacheIgfss = _.reduce(igfss, (acc, igfs) => {
+                        acc.push(igfs.igfs);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return spring.cacheNodeFilter(cache, cacheIgfss);
-            };
+                    return spring.cacheNodeFilter(cache, cacheIgfss);
+                };
 
-            break;
-        case 'clusterServiceConfiguration':
-            ctrl.generate = (cluster, caches) => {
-                const clusterCaches = _.reduce(caches, (acc, cache) => {
-                    if (_.includes(cluster.caches, cache.value))
-                        acc.push(cache.cache);
+                break;
+            case 'clusterServiceConfiguration':
+                ctrl.generate = (cluster, caches) => {
+                    const clusterCaches = _.reduce(caches, (acc, cache) => {
+                        if (_.includes(cluster.caches, cache.value))
+                            acc.push(cache.cache);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return spring.clusterServiceConfiguration(cluster.serviceConfigurations, clusterCaches);
-            };
+                    return spring.clusterServiceConfiguration(cluster.serviceConfigurations, clusterCaches);
+                };
 
-            break;
-        case 'clusterCheckpoint':
-            ctrl.generate = (cluster, caches) => {
-                const clusterCaches = _.reduce(caches, (acc, cache) => {
-                    if (_.includes(cluster.caches, cache.value))
-                        acc.push(cache.cache);
+                break;
+            case 'clusterCheckpoint':
+                ctrl.generate = (cluster, caches) => {
+                    const clusterCaches = _.reduce(caches, (acc, cache) => {
+                        if (_.includes(cluster.caches, cache.value))
+                            acc.push(cache.cache);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return spring.clusterCheckpoint(cluster, clusterCaches);
-            };
+                    return spring.clusterCheckpoint(cluster, clusterCaches);
+                };
 
-            break;
-        case 'igfss':
-            ctrl.generate = (cluster, igfss) => {
-                const clusterIgfss = _.reduce(igfss, (acc, igfs) => {
-                    if (_.includes(cluster.igfss, igfs.value))
-                        acc.push(igfs.igfs);
+                break;
+            case 'igfss':
+                ctrl.generate = (cluster, igfss) => {
+                    const clusterIgfss = _.reduce(igfss, (acc, igfs) => {
+                        if (_.includes(cluster.igfss, igfs.value))
+                            acc.push(igfs.igfs);
 
-                    return acc;
-                }, []);
+                        return acc;
+                    }, []);
 
-                return spring.clusterIgfss(clusterIgfss, available);
-            };
+                    return spring.clusterIgfss(clusterIgfss, available);
+                };
 
-            break;
-        default:
-            ctrl.generate = (master) => spring[ctrl.generator](master, available);
-    }
+                break;
+            default:
+                ctrl.generate = (master) => spring[ctrl.generator](master, available);
+        }
+    };
 }];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog.controller.js b/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
index 0256b84..a75ff1f 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog.controller.js
@@ -18,19 +18,21 @@
 export default ['$rootScope', '$scope', 'IgniteDialog', function($root, $scope, IgniteDialog) {
     const ctrl = this;
 
-    const dialog = new IgniteDialog({
-        scope: $scope
-    });
+    this.$onInit = () => {
+        const dialog = new IgniteDialog({
+            scope: $scope
+        });
 
-    ctrl.show = () => {
-        dialog.$promise.then(dialog.show);
-    };
+        ctrl.show = () => {
+            dialog.$promise.then(dialog.show);
+        };
 
-    $scope.$watch(() => ctrl.title, () => {
-        $scope.title = ctrl.title;
-    });
+        $scope.$watch(() => ctrl.title, () => {
+            $scope.title = ctrl.title;
+        });
 
-    $scope.$watch(() => ctrl.content, () => {
-        $scope.content = ctrl.content;
-    });
+        $scope.$watch(() => ctrl.content, () => {
+            $scope.content = ctrl.content;
+        });
+    };
 }];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/modules/form/field/down.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/field/down.directive.js b/modules/web-console/frontend/app/modules/form/field/down.directive.js
index e9c2aa7..c957e97 100644
--- a/modules/web-console/frontend/app/modules/form/field/down.directive.js
+++ b/modules/web-console/frontend/app/modules/form/field/down.directive.js
@@ -17,14 +17,20 @@
 
 export default ['igniteFormFieldDown', ['$tooltip', ($tooltip) => {
     const controller = ['$element', function($element) {
-        $tooltip($element, { title: 'Move item down' });
+        const ctrl = this;
 
-        this.down = () => {
-            const i = this.models.indexOf(this.model);
+        this.$onInit = () => {
+            $tooltip($element, { title: 'Move item down' });
 
-            this.models.splice(i, 1);
-            this.models.splice(i + 1, 0, this.model);
+            ctrl.down = () => {
+                const i = ctrl.models.indexOf(ctrl.model);
+
+                ctrl.models.splice(i, 1);
+                ctrl.models.splice(i + 1, 0, ctrl.model);
+            };
         };
+
+
     }];
 
     return {

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/modules/form/field/up.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/field/up.directive.js b/modules/web-console/frontend/app/modules/form/field/up.directive.js
index c0140de..6f87180 100644
--- a/modules/web-console/frontend/app/modules/form/field/up.directive.js
+++ b/modules/web-console/frontend/app/modules/form/field/up.directive.js
@@ -17,13 +17,17 @@
 
 export default ['igniteFormFieldUp', ['$tooltip', ($tooltip) => {
     const controller = ['$element', function($element) {
-        $tooltip($element, { title: 'Move item up' });
+        const ctrl = this;
 
-        this.up = () => {
-            const idx = this.models.indexOf(this.model);
+        this.$onInit = () => {
+            $tooltip($element, { title: 'Move item up' });
 
-            this.models.splice(idx, 1);
-            this.models.splice(idx - 1, 0, this.model);
+            this.up = () => {
+                const idx = ctrl.models.indexOf(ctrl.model);
+
+                ctrl.models.splice(idx, 1);
+                ctrl.models.splice(idx - 1, 0, ctrl.model);
+            };
         };
     }];
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/modules/form/group/add.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/group/add.directive.js b/modules/web-console/frontend/app/modules/form/group/add.directive.js
index 7e9a50c..71070cc 100644
--- a/modules/web-console/frontend/app/modules/form/group/add.directive.js
+++ b/modules/web-console/frontend/app/modules/form/group/add.directive.js
@@ -18,23 +18,21 @@
 const template = '<i class="group-legend-btn fa fa-plus"></i>';
 
 export default ['igniteFormGroupAdd', ['$tooltip', ($tooltip) => {
-    const link = ($scope, $element, $attrs, $ctrls, $transclude) => {
-        const content = Array.prototype.slice
-            .apply($transclude($scope))
-            .reduce((html, el) => html += el.outerHTML || el.textContent || el, '');
-
-        $tooltip($element, { title: content });
-
-        $element.closest('.group').find('.group-legend').append($element);
-    };
-
     return {
         restrict: 'E',
         scope: {},
         template,
-        link,
+        link($scope, $el, $attr, $ctrl, $transclude) {
+            $transclude((clone) => {
+                const title = Array.from(clone)
+                    .reduce((html, el) => html += el.outerHTML || el.textContent || el, '');
+                const legend = $el.closest('.group').find('.group-legend');
+
+                $tooltip($el, {title});
+                legend.append($el);
+            });
+        },
         replace: true,
-        transclude: true,
-        require: ['^form']
+        transclude: true
     };
 }]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/modules/form/group/tooltip.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/form/group/tooltip.directive.js b/modules/web-console/frontend/app/modules/form/group/tooltip.directive.js
index 6027765..4190dee 100644
--- a/modules/web-console/frontend/app/modules/form/group/tooltip.directive.js
+++ b/modules/web-console/frontend/app/modules/form/group/tooltip.directive.js
@@ -18,23 +18,21 @@
 const template = '<i class="group-legend-btn icon-help"></i>';
 
 export default ['igniteFormGroupTooltip', ['$tooltip', ($tooltip) => {
-    const link = ($scope, $element, $attrs, $ctrls, $transclude) => {
-        const content = Array.prototype.slice
-            .apply($transclude($scope))
-            .reduce((html, el) => html += el.outerHTML || el.textContent || el, '');
-
-        $tooltip($element, { title: content });
-
-        $element.closest('.group').find('.group-legend').append($element);
-    };
-
     return {
         restrict: 'E',
         scope: {},
         template,
-        link,
+        link($scope, $el, $attr, $ctrl, $transclude) {
+            $transclude((clone) => {
+                const title = Array.from(clone)
+                    .reduce((html, el) => html += el.outerHTML || el.textContent || el, '');
+                const legend = $el.closest('.group').find('.group-legend');
+
+                $tooltip($el, {title});
+                legend.append($el);
+            });
+        },
         replace: true,
-        transclude: true,
-        require: ['^form']
+        transclude: true
     };
 }]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/navbar/userbar.directive.js b/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
index 279314f..51f46d4 100644
--- a/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
+++ b/modules/web-console/frontend/app/modules/navbar/userbar.directive.js
@@ -21,27 +21,29 @@ export default ['igniteUserbar', [function() {
         controller: ['$rootScope', 'IgniteUserbar', 'AclService', function($root, IgniteUserbar, AclService) {
             const ctrl = this;
 
-            ctrl.items = [
-                {text: 'Profile', sref: 'base.settings.profile'},
-                {text: 'Getting started', click: 'gettingStarted.tryShow(true)'}
-            ];
+            this.$onInit = () => {
+                ctrl.items = [
+                    {text: 'Profile', sref: 'base.settings.profile'},
+                    {text: 'Getting started', click: 'gettingStarted.tryShow(true)'}
+                ];
 
-            const _rebuildSettings = () => {
-                ctrl.items.splice(2);
+                const _rebuildSettings = () => {
+                    ctrl.items.splice(2);
 
-                if (AclService.can('admin_page'))
-                    ctrl.items.push({text: 'Admin panel', sref: 'base.settings.admin'});
+                    if (AclService.can('admin_page'))
+                        ctrl.items.push({text: 'Admin panel', sref: 'base.settings.admin'});
 
-                ctrl.items.push(...IgniteUserbar);
+                    ctrl.items.push(...IgniteUserbar);
 
-                if (AclService.can('logout'))
-                    ctrl.items.push({text: 'Log out', sref: 'logout'});
-            };
+                    if (AclService.can('logout'))
+                        ctrl.items.push({text: 'Log out', sref: 'logout'});
+                };
 
-            if ($root.user)
-                _rebuildSettings(null, $root.user);
+                if ($root.user)
+                    _rebuildSettings(null, $root.user);
 
-            $root.$on('user', _rebuildSettings);
+                $root.$on('user', _rebuildSettings);
+            };
         }],
         controllerAs: 'userbar'
     };

http://git-wip-us.apache.org/repos/asf/ignite/blob/85cf9587/modules/web-console/frontend/package.json
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/package.json b/modules/web-console/frontend/package.json
index 38208df..49e69b4 100644
--- a/modules/web-console/frontend/package.json
+++ b/modules/web-console/frontend/package.json
@@ -32,23 +32,22 @@
     "win32"
   ],
   "dependencies": {
-    "@uirouter/angularjs": "1.0.5",
-    "angular": "1.5.11",
-    "angular-acl": "0.1.8",
-    "angular-animate": "1.5.11",
-    "angular-aria": "1.5.11",
-    "angular-cookies": "1.5.11",
+    "@uirouter/angularjs": "1.0.10",
+    "angular": "1.6.6",
+    "angular-acl": "0.1.10",
+    "angular-animate": "1.6.6",
+    "angular-aria": "1.6.6",
+    "angular-cookies": "1.6.6",
     "angular-drag-and-drop-lists": "1.4.0",
     "angular-gridster": "0.13.14",
     "angular-motion": "0.4.4",
     "angular-nvd3": "1.0.9",
     "angular-retina": "0.4.0",
-    "angular-sanitize": "1.5.11",
+    "angular-sanitize": "1.6.6",
     "angular-smart-table": "2.1.8",
     "angular-socket-io": "0.7.0",
     "angular-strap": "2.3.12",
-    "angular-touch": "1.5.11",
-    "angular-translate": "2.15.2",
+    "angular-translate": "2.16.0",
     "angular-tree-control": "0.2.28",
     "angular-ui-grid": "4.0.7",
     "babel-core": "6.25.0",