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/02/26 11:16:30 UTC

[1/5] ignite git commit: IGNITE-2724 WIP support for ZooKeeper.

Repository: ignite
Updated Branches:
  refs/heads/ignite-2612 5c0aa3547 -> 666de92f2


IGNITE-2724 WIP support for ZooKeeper.


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

Branch: refs/heads/ignite-2612
Commit: 6de273facf0489ebca2c944867882f805c76fbaf
Parents: 37bc977
Author: vsisko <vs...@gridgain.com>
Authored: Fri Feb 26 13:30:53 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Feb 26 13:30:53 2016 +0700

----------------------------------------------------------------------
 .../states/configuration/clusters/general.jade  |  8 +++++++
 .../clusters/general/discovery/zookeeper.jade   | 21 +++++++++++------
 .../bounded-exponential-backoff.jade            |  6 +++--
 .../retrypolicy/exponential-backoff.jade        |  6 +++--
 .../zookeeper/retrypolicy/forever.jade          |  1 +
 .../zookeeper/retrypolicy/n-times.jade          |  2 ++
 .../zookeeper/retrypolicy/one-time.jade         |  1 +
 .../zookeeper/retrypolicy/until-elapsed.jade    |  2 ++
 .../main/js/controllers/clusters-controller.js  |  6 ++---
 .../main/js/helpers/generator/generator-java.js |  9 ++++----
 .../main/js/helpers/generator/generator-xml.js  | 24 ++++----------------
 .../src/main/js/public/stylesheets/style.scss   |  2 +-
 12 files changed, 49 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general.jade
index c750119..8317b47 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general.jade
@@ -70,6 +70,14 @@ form.panel.panel-default(name='general' novalidate)
                             | Discovery:
                         ignite-form-field-tooltip
                             | Discovery allows to discover remote nodes in grid
+                            ul: li Static IPs - IP Finder which works only with pre configured list of IP addresses specified
+                                li Multicast - Multicast based IP finder
+                                li AWS S3 - AWS S3 based IP finder
+                                li Apache jclouds - Apache jclouds multi cloud toolkit based IP finder
+                                li Google cloud storage - Google Cloud Storage based IP finder
+                                li JDBC - JDBC based IP finder
+                                li Shared filesystem - Shared filesystem based IP finder
+                                li Apache ZooKeeper - Apache ZooKeeper based IP finder
                         ignite-form-field-dropdown(
                             data-id='discovery'
                             data-name='discovery'

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
index d99a7a7..709d436 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
@@ -31,9 +31,9 @@ div
     .details-row
         ignite-form-field
             ignite-form-field-label
-                | Connection string:
+                | Connect string:
             ignite-form-field-tooltip
-                | This property will be used when "IGNITE_ZK_CONNECTION_STRING" system property is not configured
+                | When "IGNITE_ZK_CONNECTION_STRING" system property is not configured this property will be used
             ignite-form-field-input-text(
                 data-id='zkConnectionString'
                 data-name='zkConnectionString'
@@ -46,7 +46,14 @@ div
             ignite-form-field-label
                 | Retry policy:
             ignite-form-field-tooltip
-                | Retry policy
+                | Available retry policies:
+                ul: li Exponential backoff - retries a set number of times with increasing sleep time between retries
+                   li Bounded exponential backoff - retries a set number of times with an increasing (up to a maximum bound) sleep time between retries
+                    li Until elapsed - retries until a given amount of time elapses
+                    li Max number of times - retries a max number of times
+                    li Only once - retries only once
+                    li Always allow retry - retries infinitely
+                    li Custom - custom retry policy implementation
             ignite-form-field-dropdown(
                 data-id='retryPolicy'
                 data-name='retryPolicy'
@@ -56,7 +63,7 @@ div
                     {value: "UntilElapsed", label: "Until elapsed"},\
                     {value: "NTimes", label: "Max number of times"},\
                     {value: "OneTime", label: "Only once"},\
-                    {value: "Forever", label: "Always allowsRetry"},\
+                    {value: "Forever", label: "Always allow retry"},\
                     {value: "Custom", label: "Custom"},\
                     {value: undefined, label: "Default"}\
                 ]'
@@ -108,6 +115,6 @@ div
             | Allow duplicate registrations
             ignite-form-field-tooltip
                 | Whether to register each node only once, or if duplicate registrations are allowed#[br]
-                | Nodes will attempt to register themselves, plus those they know about #[br]
-                | By default, duplicate registrations are not allowed, but you might want to set this property to
-                | #[b true] if you have multiple network interfaces or if you are facing troubles
+                | Nodes will attempt to register themselves, plus those they know about#[br]
+                | By default, duplicate registrations are not allowed, but you might want to set this property
+                | to #[b true] if you have multiple network interfaces or if you are facing troubles

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
index 06eb790..cc4920f 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
@@ -20,7 +20,7 @@ div
     .details-row
         ignite-form-field
             ignite-form-field-label
-                | Base Sleep Time:
+                | Base interval:
             ignite-form-field-tooltip
                 | Initial amount of time to wait between retries
             ignite-form-field-input-number(
@@ -28,11 +28,12 @@ div
                 data-name='baseSleepTimeMs'
                 data-ng-model='#{model}.baseSleepTimeMs'
                 data-ng-required='true'
+                data-placeholder='1000'
             )
     .details-row
         ignite-form-field
             ignite-form-field-label
-                | Max sleep time:
+                | Max interval:
             ignite-form-field-tooltip
                 | Max time in ms to sleep on each retry
             ignite-form-field-input-number(
@@ -53,5 +54,6 @@ div
                 data-name='maxRetries'
                 data-ng-model='#{model}.maxRetries'
                 data-ng-required='true'
+                data-placeholder='10'
                 data-max='29'
             )

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
index 79bcfa1..b33622b 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
@@ -20,7 +20,7 @@ div
     .details-row
         ignite-form-field
             ignite-form-field-label
-                | Base sleep time:
+                | Base interval:
             ignite-form-field-tooltip
                 | Initial amount of time to wait between retries
             ignite-form-field-input-number(
@@ -28,6 +28,7 @@ div
                 data-name='baseSleepTimeMs'
                 data-ng-model='#{model}.baseSleepTimeMs'
                 data-ng-required='true'
+                data-placeholder='1000'
             )
     .details-row
         ignite-form-field
@@ -40,12 +41,13 @@ div
                 data-name='maxRetries'
                 data-ng-model='#{model}.maxRetries'
                 data-ng-required='true'
+                data-placeholder='10'
                 data-max='29'
             )
     .details-row
         ignite-form-field
             ignite-form-field-label
-                | Max sleep time:
+                | Max interval:
             ignite-form-field-tooltip
                 | Max time in ms to sleep on each retry
             ignite-form-field-input-number(

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
index 705fa2a..cde2869 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
@@ -27,4 +27,5 @@
             data-name='retryIntervalMs'
             data-ng-model='#{model}.retryIntervalMs'
             data-ng-required='true'
+            data-placeholder='1000'
         )

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
index 0c44709..71a7acc 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
@@ -27,6 +27,7 @@ div
                 data-id='n'
                 data-name='n'
                 data-ng-model='#{model}.n'
+                data-placeholder='10'
                 data-ng-required='true'
             )
     .details-row
@@ -40,4 +41,5 @@ div
                 data-name='sleepMsBetweenRetries'
                 data-ng-model='#{model}.sleepMsBetweenRetries'
                 data-ng-required='true'
+                data-placeholder='1000'
             )

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
index 24b3514..39c7f13 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
@@ -28,4 +28,5 @@ div
                 data-name='sleepMsBetweenRetry'
                 data-ng-model='#{model}.sleepMsBetweenRetry'
                 data-ng-required='true'
+                data-placeholder='1000'
             )

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
index c4e701e..e834d55 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
@@ -28,6 +28,7 @@ div
                 data-name='maxElapsedTimeMs'
                 data-ng-model='#{model}.maxElapsedTimeMs'
                 data-ng-required='true'
+                data-placeholder='60000'
             )
     .details-row
         ignite-form-field
@@ -40,4 +41,5 @@ div
                 data-name='sleepMsBetweenRetries'
                 data-ng-model='#{model}.sleepMsBetweenRetries'
                 data-ng-required='true'
+                data-placeholder='1000'
             )

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/clusters-controller.js b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
index 7e49f81..12b1199 100644
--- a/modules/control-center-web/src/main/js/controllers/clusters-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
@@ -62,13 +62,13 @@ consoleModule.controller('clustersController', function ($http, $timeout, $scope
         var showPopoverMessage = $common.showPopoverMessage;
 
         $scope.discoveries = [
-            {value: 'Vm', label: 'static IPs'},
-            {value: 'Multicast', label: 'multicast'},
+            {value: 'Vm', label: 'Static IPs'},
+            {value: 'Multicast', label: 'Multicast'},
             {value: 'S3', label: 'AWS S3'},
             {value: 'Cloud', label: 'Apache jclouds'},
             {value: 'GoogleStorage', label: 'Google cloud storage'},
             {value: 'Jdbc', label: 'JDBC'},
-            {value: 'SharedFs', label: 'shared filesystem'},
+            {value: 'SharedFs', label: 'Shared filesystem'},
             {value: 'ZooKeeper', label: 'Apache ZooKeeper'}
         ];
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/helpers/generator/generator-java.js b/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
index 732fe51..dfb7a64 100644
--- a/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
+++ b/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
@@ -67,7 +67,7 @@ $generatorJava.constructorArg = function (obj, propName, notFirst, opt) {
     var v = obj ? obj[propName] : undefined;
 
     if ($commonUtils.isDefinedAndNotEmpty(v))
-        return (notFirst ? ', ' : '') + v;
+        return (notFirst ? ', ' : '') + $generatorJava.toJavaCode(v);
     else if (!opt)
         return notFirst ? ', null' : 'null';
     else
@@ -2378,15 +2378,14 @@ $generatorJava.igfsSecondFS = function(igfs, varName, res) {
     if (igfs.secondaryFileSystemEnabled) {
         var secondFs = igfs.secondaryFileSystem || {};
 
-        var uriDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.uri);
         var nameDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.userName);
         var cfgDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.cfgPath);
 
         res.line(varName + '.setSecondaryFileSystem(new ' +
             res.importClass('org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem') + '(' +
-                (uriDefined ? '"' + secondFs.uri + '"' : 'null') +
-                (cfgDefined || nameDefined ? (cfgDefined ? ', "' + secondFs.cfgPath + '"' : ', null') : '') +
-                (nameDefined ? ', "' + secondFs.userName + '"' : '') +
+                $generatorJava.constructorArg(secondFs, 'uri') +
+                (cfgDefined || nameDefined ? $generatorJava.constructorArg(secondFs, 'cfgPath', true) : '') +
+                $generatorJava.constructorArg(secondFs, 'userName', true, true) +
             '));');
 
         res.needEmptyLine = true;

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js b/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js
index 2d2c5c8..0afe190 100644
--- a/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js
+++ b/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js
@@ -1073,7 +1073,7 @@ $generatorXml.cacheRebalance = function(cache, res) {
     if (cache.igfsAffinnityGroupSize) {
         res.startBlock('<property name="affinityMapper">');
         res.startBlock('<bean class="org.apache.ignite.igfs.IgfsGroupDataBlocksKeyMapper">');
-        res.line('<constructor-arg value="' + cache.igfsAffinnityGroupSize + '"/>');
+        $generatorXml.constructorArg(res, -1, cache, 'igfsAffinnityGroupSize');
         res.endBlock('</bean>');
         res.endBlock('</property>');
     }
@@ -1525,26 +1525,12 @@ $generatorXml.igfsSecondFS = function(igfs, res) {
         var nameDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.userName);
         var cfgDefined = $commonUtils.isDefinedAndNotEmpty(secondFs.cfgPath);
 
-        if ($commonUtils.isDefinedAndNotEmpty(secondFs.uri))
-            res.line('<constructor-arg index="0" value="' + secondFs.uri + '"/>');
-        else {
-            res.startBlock('<constructor-arg index="0">');
-            res.line('<null/>');
-            res.endBlock('</constructor-arg>');
-        }
+        $generatorXml.constructorArg(res, 0, secondFs, 'uri');
 
-        if (cfgDefined || nameDefined) {
-            if (cfgDefined)
-                res.line('<constructor-arg index="1" value="' + secondFs.cfgPath + '"/>');
-            else {
-                res.startBlock('<constructor-arg index="1">');
-                res.line('<null/>');
-                res.endBlock('</constructor-arg>');
-            }
-        }
+        if (cfgDefined || nameDefined)
+            $generatorXml.constructorArg(res, 1, secondFs, 'cfgPath');
 
-        if ($commonUtils.isDefinedAndNotEmpty(secondFs.userName))
-            res.line('<constructor-arg index="2" value="' + secondFs.userName + '"/>');
+        $generatorXml.constructorArg(res, 2, secondFs, 'userName', true);
 
         res.endBlock('</bean>');
         res.endBlock('</property>');

http://git-wip-us.apache.org/repos/asf/ignite/blob/6de273fa/modules/control-center-web/src/main/js/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/public/stylesheets/style.scss b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
index 024fba9..4f2cf28 100644
--- a/modules/control-center-web/src/main/js/public/stylesheets/style.scss
+++ b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
@@ -393,7 +393,7 @@ h1, h2, h3, h4, h5, h6 {
 }
 
 .details-row {
-    padding: 0 10px;
+    padding: 0 5px;
 }
 
 .details-row, .settings-row {


[4/5] ignite git commit: Merge branch 'ignite-843-rc2' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-2612

Posted by ak...@apache.org.
Merge branch 'ignite-843-rc2' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-2612


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

Branch: refs/heads/ignite-2612
Commit: f92d9a821fe38f43e4bfe07d58fcd38411d8f7f2
Parents: 5c0aa35 aaf139b
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Fri Feb 26 15:00:59 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Feb 26 15:00:59 2016 +0700

----------------------------------------------------------------------
 .../js/app/modules/form/field/input/number.jade |  2 +-
 .../states/configuration/clusters/general.jade  |  8 +++++++
 .../clusters/general/discovery/zookeeper.jade   | 21 +++++++++++------
 .../bounded-exponential-backoff.jade            |  6 +++--
 .../retrypolicy/exponential-backoff.jade        |  6 +++--
 .../zookeeper/retrypolicy/forever.jade          |  1 +
 .../zookeeper/retrypolicy/n-times.jade          |  2 ++
 .../zookeeper/retrypolicy/one-time.jade         |  1 +
 .../zookeeper/retrypolicy/until-elapsed.jade    |  2 ++
 .../main/js/controllers/clusters-controller.js  |  6 ++---
 .../main/js/helpers/generator/generator-java.js |  9 ++++----
 .../main/js/helpers/generator/generator-xml.js  | 24 ++++----------------
 .../src/main/js/public/stylesheets/style.scss   |  2 +-
 .../src/main/js/views/settings/admin.jade       |  2 +-
 14 files changed, 51 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f92d9a82/modules/control-center-web/src/main/js/controllers/clusters-controller.js
----------------------------------------------------------------------


[2/5] ignite git commit: IGNITE-843 Fix for number inputs when input is pristine.

Posted by ak...@apache.org.
IGNITE-843 Fix for number inputs when input is pristine.


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

Branch: refs/heads/ignite-2612
Commit: 4555bedfcd687aae00a745069f1bc6d5ba904c07
Parents: 6de273f
Author: vsisko <vs...@gridgain.com>
Authored: Fri Feb 26 13:41:32 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Feb 26 13:41:32 2016 +0700

----------------------------------------------------------------------
 .../src/main/js/app/modules/form/field/input/number.jade           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/4555bedf/modules/control-center-web/src/main/js/app/modules/form/field/input/number.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/form/field/input/number.jade b/modules/control-center-web/src/main/js/app/modules/form/field/input/number.jade
index 920a5eb..4429d30 100644
--- a/modules/control-center-web/src/main/js/app/modules/form/field/input/number.jade
+++ b/modules/control-center-web/src/main/js/app/modules/form/field/input/number.jade
@@ -16,7 +16,7 @@
 
 mixin feedback(error, message)
     i.fa.fa-exclamation-triangle.form-control-feedback(
-        ng-show='field.$error.#{error}'
+        ng-show='!field.$pristine && field.$error.#{error}'
         bs-tooltip='"#{message}"'
         ignite-error='#{error}'
         ignite-error-message='#{message}'


[5/5] ignite git commit: IGNITE-2612 WIP reworking caches screen to Angular directives.

Posted by ak...@apache.org.
IGNITE-2612 WIP reworking caches screen to Angular directives.


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

Branch: refs/heads/ignite-2612
Commit: 666de92f20d3cc3ff4b1add04eda02dc50cb5568
Parents: f92d9a8
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Fri Feb 26 17:16:49 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Feb 26 17:16:49 2016 +0700

----------------------------------------------------------------------
 .../src/main/js/app/modules/form/form.module.js |   2 +
 .../form/validator/ipaddress.directive.js       |  38 ++++++
 .../states/configuration/caches/query.jade      |  14 +--
 .../clusters/general/discovery/multicast.jade   | 123 ++++++++++---------
 .../clusters/general/discovery/vm.jade          | 115 +++++++++--------
 .../states/configuration/clusters/ssl.jade      |   4 +-
 .../src/main/js/controllers/common-module.js    |  20 ---
 7 files changed, 181 insertions(+), 135 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/666de92f/modules/control-center-web/src/main/js/app/modules/form/form.module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/form/form.module.js b/modules/control-center-web/src/main/js/app/modules/form/form.module.js
index aac831d..0bd3cfd 100644
--- a/modules/control-center-web/src/main/js/app/modules/form/form.module.js
+++ b/modules/control-center-web/src/main/js/app/modules/form/form.module.js
@@ -38,6 +38,7 @@ import igniteFormGroupAdd from './group/add.directive';
 import igniteFormGroupTooltip from './group/tooltip.directive';
 
 // Validators.
+import ipaddress from './validator/ipaddress.directive';
 import javaKeywords from './validator/java-keywords.directive';
 import javaPackageSpecified from './validator/java-package-specified.directive';
 import javaBuiltInClass from './validator/java-built-in-class.directive';
@@ -73,6 +74,7 @@ angular
 .directive(...igniteFormGroupAdd)
 .directive(...igniteFormGroupTooltip)
 // Validators.
+.directive(...ipaddress)
 .directive(...javaKeywords)
 .directive(...javaPackageSpecified)
 .directive(...javaBuiltInClass)

http://git-wip-us.apache.org/repos/asf/ignite/blob/666de92f/modules/control-center-web/src/main/js/app/modules/form/validator/ipaddress.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/form/validator/ipaddress.directive.js b/modules/control-center-web/src/main/js/app/modules/form/validator/ipaddress.directive.js
new file mode 100644
index 0000000..63c624c
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/modules/form/validator/ipaddress.directive.js
@@ -0,0 +1,38 @@
+/*
+ * 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 ['ipaddress', [() => {
+    const link = (scope, el, attrs, [ngModel]) => {
+        ngModel.$validators.ipaddress = (modelValue, viewValue) => {
+            if (ngModel.$isEmpty(modelValue) || typeof attrs.ipaddress === 'undefined' || !attrs.ipaddress)
+                return;
+
+            const ip = '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])';
+            const port = '([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])';
+            const portRange = '(:' + port + '(..' + port + ')?)?';
+            const host = '(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])';
+
+            return viewValue.match(new RegExp('(^' + ip + portRange + '$)|(^' + host + portRange + '$)')) !== null;
+        };
+    };
+
+    return {
+        restrict: 'A',
+        link,
+        require: ['ngModel']
+    };
+}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/666de92f/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade
index 1bfff6d..943fe48 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade
@@ -21,7 +21,7 @@
 mixin sqlFxField(field, save, newItem)
     - var reset = (newItem ? 'group.add = []' : 'field.edit = false')
     - var resetOnEnter = (newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)')
-    - var resetOnBlure = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
+    - var resetOnBlur = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
 
     ignite-form-field-java-class(
         data-name='#{field}'
@@ -31,12 +31,14 @@ mixin sqlFxField(field, save, newItem)
         data-ignite-form-field-input-autofocus='true'
         on-enter='#{valid} && (#{save}); #{valid} && #{resetOnEnter};'
         on-escape='#{reset}'
-        ng-blur='#{valid} && (#{save}); #{resetOnBlure};'
+        ng-blur='#{valid} && (#{save}); #{resetOnBlur};'
     )
         block
 
 
-mixin sqlFxSaveBtn(valid, save, reset)
+mixin sqlFxSaveBtn(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});'
@@ -97,7 +99,6 @@ form.panel.panel-default(name='query' novalidate)
                             - var field = 'edit'
                             - var valid = form + '.' + field + '.$valid'
                             - var save = sqlFunctionClasses + '[$index] = ' + field
-                            - var reset = 'field.edit = false'
 
                             ignite-form-field(ng-repeat='model in #{sqlFunctionClasses} track by $index' type='internal' name='SQL function')
                                 .indexField
@@ -112,18 +113,17 @@ form.panel.panel-default(name='query' novalidate)
                                     a.labelFormField(ng-click='field.edit = true') {{ model }}
                                 span(ng-if='field.edit' ng-init='#{field} = model')
                                     +sqlFxField(field, save, false)
-                                        +sqlFxSaveBtn(valid, save, reset)
+                                        +sqlFxSaveBtn(valid, save, false)
                                         +sqlFxFeedbackUnique(field)
 
                         .group-content(ng-repeat='field in group.add')
                             - var field = 'new'
                             - var valid = form + '.' + field + '.$valid'
                             - var save = sqlFunctionClasses + '.push(' + field + ')'
-                            - var reset = 'group.add = []'
 
                             ignite-form-field(type='internal' name='SQL function')
                                 +sqlFxField(field, save, true)
-                                    +sqlFxSaveBtn(valid, save, reset)
+                                    +sqlFxSaveBtn(valid, save, true)
                                     +sqlFxFeedbackUnique(field)
                         .group-content-empty(ng-if='!(#{sqlFunctionClasses}.length) && !group.add.length')
                             | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/666de92f/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/multicast.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/multicast.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/multicast.jade
index 6b56341..63e46cc 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/multicast.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/multicast.jade
@@ -18,6 +18,54 @@
 - var addresses = model + '.addresses';
 - var form = 'discoveryMulticastAddresses';
 
+mixin addressField(field, save, newItem)
+    - var reset = (newItem ? 'group.add = []' : 'field.edit = false')
+    - var resetOnEnter = (newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)')
+    - var resetOnBlur = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
+
+    ignite-form-field-input-text(
+        data-name='#{field}'
+        data-ng-model='#{field}'
+        data-ng-required='true'
+        data-placeholder='IP address:port'
+        data-ipaddress='true'
+        data-ignite-unique='#{addresses}'
+        data-ignite-form-field-input-autofocus='true'
+        on-enter='#{valid} && (#{save}); #{valid} && #{resetOnEnter};'
+        on-escape='#{reset}'
+        ng-blur='#{valid} && (#{save}); #{resetOnBlur};'
+    )
+        block
+
+mixin addressSaveBtn(valid, save, reset)
+    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 addressFeedbackUnique(field)
+    i.fa.fa-exclamation-triangle.form-control-feedback(
+        ng-show='#{form}.#{field}.$error.igniteUnique'
+        bs-tooltip
+        data-title='Such IP address already exists!'
+    )
+
+mixin addressFeedbackValid(field)
+    i.fa.fa-exclamation-triangle.form-control-feedback(
+        ng-show='#{form}.#{field}.$error.ipadress'
+        bs-tooltip
+        data-title='Invalid IP address!'
+    )
+
+mixin addressFeedbackRequired(field)
+    i.fa.fa-exclamation-triangle.form-control-feedback(
+        ng-show='!#{form}.#{field}.$pristine && #{form}.#{field}.$error.required'
+        bs-tooltip
+        data-title='IP address should not be empty!'
+    )
+
 div
     .details-row
         ignite-form-field
@@ -101,11 +149,12 @@ div
             ignite-form-group-add(ng-click='group.add = [{}]')
                 | Add new address
 
-            - var field = 'edit'
-            - var valid = form + '.' + field + '.$valid'
-            - var save = addresses + '[$index] = ' + field
-
             .group-content(ng-if='#{addresses}.length')
+                - var field = 'edit'
+                - var valid = form + '.' + field + '.$valid'
+                - var save = addresses + '[$index] = ' + field
+                - var reset = 'field.edit = false'
+
                 ignite-form-field(ng-repeat='model in #{addresses} track by $index' type='internal')
                     .indexField
                         | {{ $index+1 }}) 
@@ -121,59 +170,23 @@ div
                     span(ng-hide='field.edit')
                         a.labelFormField(ng-click='field.edit = true') {{ model }}
                     span(ng-if='field.edit' ng-init='#{field} = model')
-                        ignite-form-field-input-text(
-                            data-name='#{field}'
-                            data-ng-model='#{field}'
-                            data-ng-required='true'
-                            data-placeholder='IP address:port'
-                            data-ignite-unique='#{addresses}'
-                            data-ignite-form-field-input-autofocus='true'
-                            on-enter='#{valid} && (#{save}); #{valid} && (field.edit = false);'
-                            on-escape='field.edit = false'
-                            ng-blur='#{valid} && (#{save}); (field.edit = false)'
-                        )
-                            i.fa.fa-floppy-o(
-                                ng-show='#{valid}'
-                                ng-click='#{valid} && (#{save}); #{valid} && (field.edit = false);'
-                                bs-tooltip 
-                                data-title='Click icon or press [Enter] to save item' 
-                            )
-
-                            i.fa.fa-exclamation-triangle.form-control-feedback(
-                                ng-show='!#{form}.#{field}.$pristine && #{form}.#{field}.$error.igniteUnique'
-                                bs-tooltip
-                                data-title='Such IP address already exists!'
-                            )
-
-            - var field = 'new'
-            - var valid = form + '.' + field + '.$valid'
-            - var push = addresses + '.push(' + field + ')'
+                        +addressField(field, save, false)
+                            +addressSaveBtn(valid, save, reset)
+                            +addressFeedbackUnique(field)
+                            +addressFeedbackValid(field)
+                            +addressFeedbackRequired(field)
 
             .group-content(ng-repeat='field in group.add')
+                - var field = 'new'
+                - var valid = form + '.' + field + '.$valid'
+                - var save = addresses + '.push(' + field + ')'
+                - var reset = 'group.add = []'
+
                 ignite-form-field(type='internal')
-                    ignite-form-field-input-text(
-                        data-name='#{field}'
-                        data-ng-model='#{field}'
-                        data-ng-required='true'
-                        data-placeholder='IP address:port'
-                        data-ignite-unique='#{addresses}'
-                        data-ignite-form-field-input-autofocus='true'
-                        on-enter='#{valid} && #{push}; #{valid} && (stopblur = true) && (group.add = [{}])'
-                        on-escape='group.add = []'
-                        ng-blur='#{valid} && #{push}; !stopblur && (group.add = [])'
-                    )
-                        i.fa.fa-floppy-o(
-                            ng-show='#{valid}'
-                            ng-click='#{valid} && #{push}; #{valid} && (group.add = [])'
-                            bs-tooltip 
-                            data-title='Click icon or press [Enter] to save item' 
-                        )
-
-                        i.fa.fa-exclamation-triangle.form-control-feedback(
-                            ng-show='!#{form}.#{field}.$pristine && #{form}.#{field}.$error.igniteUnique'
-                            bs-tooltip
-                            data-title='Such IP address already exists!'
-                        )
-            
+                    +addressField(field, save, true)
+                        +addressFeedbackUnique(field)
+                        +addressFeedbackValid(field)
+                        +addressFeedbackUnique(field)
+
             .group-content-empty(ng-if='!(#{addresses}.length) && !group.add.length')
                 | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/666de92f/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/vm.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/vm.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/vm.jade
index fa693d2..dd5628b 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/vm.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/vm.jade
@@ -18,6 +18,54 @@
 - var addresses = model + '.addresses';
 - var form = 'discoveryVmAddresses';
 
+mixin addressField(field, save, newItem)
+    - var reset = (newItem ? 'group.add = []' : 'field.edit = false')
+    - var resetOnEnter = (newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)')
+    - var resetOnBlur = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
+
+    ignite-form-field-input-text(
+        data-name='#{field}'
+        data-ng-model='#{field}'
+        data-ng-required='true'
+        data-placeholder='IP address:port'
+        data-ipaddress='true'
+        data-ignite-unique='#{addresses}'
+        data-ignite-form-field-input-autofocus='true'
+        on-enter='#{valid} && (#{save}); #{valid} && #{resetOnEnter};'
+        on-escape='#{reset}'
+        ng-blur='#{valid} && (#{save}); #{resetOnBlur};'
+    )
+        block
+
+mixin addressSaveBtn(valid, save, reset)
+    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 addressFeedbackUnique(field)
+    i.fa.fa-exclamation-triangle.form-control-feedback(
+        ng-show='#{form}.#{field}.$error.igniteUnique'
+        bs-tooltip
+        data-title='Such IP address already exists!'
+    )
+
+mixin addressFeedbackValid(field)
+    i.fa.fa-exclamation-triangle.form-control-feedback(
+        ng-show='#{form}.#{field}.$error.ipadress'
+        bs-tooltip
+        data-title='Invalid IP address!'
+    )
+
+mixin addressFeedbackRequired(field)
+    i.fa.fa-exclamation-triangle.form-control-feedback(
+        ng-show='!#{form}.#{field}.$pristine && #{form}.#{field}.$error.required'
+        bs-tooltip
+        data-title='IP address should not be empty!'
+    )
+
 div
     ignite-form-group(ng-model='#{addresses}' ng-form='discoveryVmAddresses')
         ignite-form-field-label
@@ -37,11 +85,12 @@ div
         ignite-form-group-add(ng-click='group.add = [{}]')
             | Add new address
 
-        - var field = 'edit'
-        - var valid = form + '.' + field + '.$valid'
-        - var save = addresses + '[$index] = ' + field
-
         .group-content(ng-if='#{addresses}.length')
+            - var field = 'edit'
+            - var valid = form + '.' + field + '.$valid'
+            - var save = addresses + '[$index] = ' + field
+            - var reset = 'field.edit = false'
+
             ignite-form-field(ng-repeat='model in #{addresses} track by $index' type='internal')
                 .indexField
                     | {{ $index+1 }}) 
@@ -57,59 +106,23 @@ div
                 span(ng-hide='field.edit')
                     a.labelFormField(ng-click='field.edit = true') {{ model }}
                 span(ng-if='field.edit' ng-init='#{field} = model')
-                    ignite-form-field-input-text(
-                        data-name='#{field}'
-                        data-ng-model='#{field}'
-                        data-ng-required='true'
-                        data-placeholder='IP address:port'
-                        data-ignite-unique='#{addresses}'
-                        data-ignite-form-field-input-autofocus='true'
-                        on-enter='#{valid} && (#{save}); #{valid} && (field.edit = false);'
-                        on-escape='field.edit = false'
-                        ng-blur='#{valid} && (#{save}); (field.edit = false)'
-                    )
-                        i.fa.fa-floppy-o(
-                            ng-show='#{valid}'
-                            ng-click='#{valid} && (#{save}); #{valid} && (field.edit = false);'
-                            bs-tooltip 
-                            data-title='Click icon or press [Enter] to save item' 
-                        )
-
-                        i.fa.fa-exclamation-triangle.form-control-feedback(
-                            ng-show='!#{form}.#{field}.$pristine && #{form}.#{field}.$error.igniteUnique'
-                            bs-tooltip
-                            data-title='Such IP address already exists!'
-                        )
+                    +addressField(field, save, false)
+                        +addressSaveBtn(valid, save, reset)
+                        +addressFeedbackUnique(field)
+                        +addressFeedbackValid(field)
+                        +addressFeedbackRequired(field)
 
         - var field = 'new'
         - var valid = form + '.' + field + '.$valid'
-        - var push = addresses + '.push(' + field + ')'
+        - var save = addresses + '.push(' + field + ')'
+        - var reset = 'group.add = []'
 
         .group-content(ng-repeat='field in group.add')
             ignite-form-field(type='internal')
-                ignite-form-field-input-text(
-                    data-name='#{field}'
-                    data-ng-model='#{field}'
-                    data-ng-required='true'
-                    data-placeholder='IP address:port'
-                    data-ignite-unique='#{addresses}'
-                    data-ignite-form-field-input-autofocus='true'
-                    on-enter='#{valid} && #{push}; #{valid} && (stopblur = true) && (group.add = [{}])'
-                    on-escape='group.add = []'
-                    ng-blur='#{valid} && #{push}; !stopblur && (group.add = [])'
-                )
-                    i.fa.fa-floppy-o(
-                        ng-show='#{valid}'
-                        ng-click='#{valid} && #{push}; #{valid} && (group.add = [])'
-                        bs-tooltip 
-                        data-title='Click icon or press [Enter] to save item' 
-                    )
-
-                    i.fa.fa-exclamation-triangle.form-control-feedback(
-                        ng-show='!#{form}.#{field}.$pristine && #{form}.#{field}.$error.igniteUnique'
-                        bs-tooltip
-                        data-title='Such IP address already exists!'
-                    )
+                +addressField(field, save, true)
+                    +addressSaveBtn(valid, save, reset)
+                    +addressFeedbackUnique(field)
+                    +addressFeedbackValid(field)
         
         .group-content-empty(id='addresses' ng-if='!(#{addresses}.length) && !group.add.length')
                 | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/666de92f/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/ssl.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/ssl.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/ssl.jade
index 0a06801..dc899e8 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/ssl.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/ssl.jade
@@ -23,7 +23,7 @@
 mixin trstMgrField(field, save, newItem)
     - var reset = (newItem ? 'group.add = []' : 'field.edit = false')
     - var resetOnEnter = (newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)')
-    - var resetOnBlure = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
+    - var resetOnBlur = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
 
     ignite-form-field-java-class(
         data-name='#{field}'
@@ -33,7 +33,7 @@ mixin trstMgrField(field, save, newItem)
         data-ignite-form-field-input-autofocus='true'
         on-enter='#{valid} && (#{save}); #{valid} && #{resetOnEnter};'
         on-escape='#{reset}'
-        ng-blur='#{valid} && (#{save}); #{resetOnBlure};'
+        ng-blur='#{valid} && (#{save}); #{resetOnBlur};'
     )
         block
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/666de92f/modules/control-center-web/src/main/js/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/common-module.js b/modules/control-center-web/src/main/js/controllers/common-module.js
index b0c817d..f039057 100644
--- a/modules/control-center-web/src/main/js/controllers/common-module.js
+++ b/modules/control-center-web/src/main/js/controllers/common-module.js
@@ -1841,26 +1841,6 @@ consoleModule.filter('domainsValidation', ['$common', function ($common) {
     };
 }]);
 
-// Directive to enable validation for IP addresses.
-consoleModule.directive('ipaddress', function () {
-    const ip = '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])';
-    const port = '([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])';
-    const portRange = '(:' + port + '(..' + port + ')?)?';
-    const host = '(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])';
-
-    return {
-        require: 'ngModel',
-        link: function (scope, elem, attrs, ctrl) {
-            ctrl.$validators.ipaddress = function (modelValue, viewValue) {
-                if (ctrl.$isEmpty(modelValue) || !attrs.ipaddress)
-                    return true;
-
-                return viewValue.match(new RegExp('(^' + ip + portRange + '$)|(^' + host + portRange + '$)')) != null;
-            };
-        }
-    };
-});
-
 // Directive to enable validation to match specified value.
 consoleModule.directive('match', function ($parse) {
     return {


[3/5] ignite git commit: IGNITE-843 Sort column on admin page.

Posted by ak...@apache.org.
IGNITE-843 Sort column on admin page.


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

Branch: refs/heads/ignite-2612
Commit: aaf139bd596bb1f1b37421cfa7e48cf59588f506
Parents: 4555bed
Author: Andrey <an...@gridgain.com>
Authored: Fri Feb 26 13:56:37 2016 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Fri Feb 26 13:56:37 2016 +0700

----------------------------------------------------------------------
 modules/control-center-web/src/main/js/views/settings/admin.jade | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/aaf139bd/modules/control-center-web/src/main/js/views/settings/admin.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/settings/admin.jade b/modules/control-center-web/src/main/js/views/settings/admin.jade
index 69a2971..e72eae2 100644
--- a/modules/control-center-web/src/main/js/views/settings/admin.jade
+++ b/modules/control-center-web/src/main/js/views/settings/admin.jade
@@ -32,7 +32,7 @@
                             th(st-sort='email') Email
                             th(st-sort='company') Company
                             th(st-sort='country') Country
-                            th.col-xs-2(st-sort='lastLogin') Last login
+                            th.col-xs-2(st-sort='lastLogin' st-sort-default='reverse') Last login
                             th(width='1%'  st-sort='admin') Admin
                             th(width='1%') Actions
                     tbody