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

[46/50] [abbrv] ignite git commit: IGNITE-843 Fixed validation.

 IGNITE-843 Fixed validation.


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

Branch: refs/heads/ignite-2875
Commit: 630cbbe81ecacc83d66d266e88396d8f73dd0083
Parents: 214c9b2
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Fri Mar 25 18:04:28 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Mar 25 18:04:28 2016 +0700

----------------------------------------------------------------------
 .../form-field-java-class.directive.js          |  6 ++--
 .../src/main/js/app/helpers/jade/mixins.jade    | 38 ++++++++++----------
 .../modules/form/field/input/text.directive.js  |  6 ++--
 .../js/app/modules/form/field/input/text.jade   |  1 -
 .../configuration/clusters/communication.jade   |  7 ++--
 .../configuration/clusters/connector.jade       |  7 ++--
 .../configuration/clusters/discovery.jade       |  7 ++--
 .../states/configuration/clusters/general.jade  |  7 ++--
 .../clusters/general/discovery/multicast.jade   | 12 +++++--
 .../clusters/general/discovery/vm.jade          |  4 +++
 .../modules/states/configuration/igfs/ipc.jade  |  7 ++--
 11 files changed, 58 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/directives/form-field-java-class/form-field-java-class.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/directives/form-field-java-class/form-field-java-class.directive.js b/modules/control-center-web/src/main/js/app/directives/form-field-java-class/form-field-java-class.directive.js
index 8c469ea..142cb25 100644
--- a/modules/control-center-web/src/main/js/app/directives/form-field-java-class/form-field-java-class.directive.js
+++ b/modules/control-center-web/src/main/js/app/directives/form-field-java-class/form-field-java-class.directive.js
@@ -56,10 +56,10 @@ export default ['igniteFormFieldJavaClass', ['IgniteFormGUID', (guid) => {
         scope.$watch('value', setAsDefault);
 
         const checkValid = () => {
-            if (ngModel.$valid)
-                el.find('input').addClass('ng-valid').removeClass('ng-invalid');
-            else
+            if (ngModel.$invalid)
                 el.find('input').removeClass('ng-valid').addClass('ng-invalid');
+            else
+                el.find('input').addClass('ng-valid').removeClass('ng-invalid');
         };
 
         scope.ngChange = () => {

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/helpers/jade/mixins.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/helpers/jade/mixins.jade b/modules/control-center-web/src/main/js/app/helpers/jade/mixins.jade
index 6a7500f..eaed6ac 100644
--- a/modules/control-center-web/src/main/js/app/helpers/jade/mixins.jade
+++ b/modules/control-center-web/src/main/js/app/helpers/jade/mixins.jade
@@ -14,6 +14,23 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 
+//- Mixin for feedback on specified error.
+mixin error-feedback(visible, error, errorMessage)
+    i.fa.fa-exclamation-triangle.form-control-feedback(
+        ng-if=visible
+        bs-tooltip='"#{errorMessage}"'
+        ignite-error=error
+        ignite-error-message=errorMessage
+    )
+
+//- Mixin for feedback on unique violation.
+mixin unique-feedback(visible, errorMessage)
+    +error-feedback(visible, 'igniteUnique', errorMessage)
+
+//- Mixin for feedback on IP address violation.
+mixin ipaddress-feedback(visible)
+    +error-feedback(visible, 'ipaddress', 'Invalid address!')
+
 //- Mixin for checkbox.
 mixin checkbox(lbl, model, name, tip)
     ignite-form-field.checkbox
@@ -55,7 +72,7 @@ mixin java-class(lbl, model, name, enabled, required, tip)
         )
 
 //- Mixin for text field.
-mixin text-ip-address(lbl, model, name, enabled, placeholder, tip)
+mixin text-ip-address(lbl, form, model, name, enabled, placeholder, tip)
     ignite-form-field
         ignite-form-field-label
             | #{lbl}
@@ -69,6 +86,7 @@ mixin text-ip-address(lbl, model, name, enabled, placeholder, tip)
             data-ng-disabled='!(#{enabled})'
             data-placeholder=placeholder
         )
+            +ipaddress-feedback(form + '.' + name + '.$error.ipaddress')
 
 //- Mixin for text field.
 mixin text-enabled(lbl, model, name, enabled, required, placeholder, tip)
@@ -308,24 +326,6 @@ mixin table-remove-conditional-button(items, show, tip)
 mixin table-remove-button(items, tip)
     +table-remove-conditional-button(items, 'true', tip)
 
-//- Mixin for feedback on specified error.
-mixin error-feedback(visible, error, errorMessage)
-    i.fa.fa-exclamation-triangle.form-control-feedback(
-        ng-if=visible
-        bs-tooltip='"#{errorMessage}"'
-        ignite-error=error
-        ignite-error-message=errorMessage
-    )
-
-//- Mixin for feedback on unique violation.
-mixin unique-feedback(visible, errorMessage)
-    i.fa.fa-exclamation-triangle.form-control-feedback(
-        ng-if=visible
-        bs-tooltip='"#{errorMessage}"'
-        ignite-error='igniteUnique'
-        ignite-error-message=errorMessage
-    )
-
 //- Mixin for cache mode.
 mixin cacheMode(lbl, model, name, placeholder)
     +dropdown(lbl, model, name, 'true', placeholder,

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/modules/form/field/input/text.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/form/field/input/text.directive.js b/modules/control-center-web/src/main/js/app/modules/form/field/input/text.directive.js
index 0a3fa04..99d7525 100644
--- a/modules/control-center-web/src/main/js/app/modules/form/field/input/text.directive.js
+++ b/modules/control-center-web/src/main/js/app/modules/form/field/input/text.directive.js
@@ -64,10 +64,10 @@ export default ['igniteFormFieldInputText', ['IgniteFormGUID', (guid) => {
         scope.$watch('value', setAsDefault);
 
         const checkValid = () => {
-            if (ngModel.$valid)
-                el.find('input').addClass('ng-valid').removeClass('ng-invalid');
-            else
+            if (ngModel.$invalid)
                 el.find('input').removeClass('ng-valid').addClass('ng-invalid');
+            else
+                el.find('input').addClass('ng-valid').removeClass('ng-invalid');
         };
 
         scope.ngChange = () => {

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/modules/form/field/input/text.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/form/field/input/text.jade b/modules/control-center-web/src/main/js/app/modules/form/field/input/text.jade
index 787fb68..558c723 100644
--- a/modules/control-center-web/src/main/js/app/modules/form/field/input/text.jade
+++ b/modules/control-center-web/src/main/js/app/modules/form/field/input/text.jade
@@ -42,6 +42,5 @@ mixin feedback(isCheckPristine, error, errorMessage)
     )
 
     +feedback(true, 'required', '{{ label.name }} could not be empty!')
-    +feedback(false, 'ipaddress', 'Invalid address!')
 
     span(ng-transclude='')

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/communication.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/communication.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/communication.jade
index cbb4010..d874783 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/communication.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/communication.jade
@@ -16,17 +16,18 @@
 
 include ../../../../../app/helpers/jade/mixins.jade
 
+-var form = 'communication'
 -var model = 'backupItem'
 -var communication = model + '.communication'
 
-form.panel.panel-default(name='communication' novalidate)
+form.panel.panel-default(name=form novalidate)
     .panel-heading(bs-collapse-toggle ng-click='__show__ = true')
         ignite-form-panel-chevron
         label Communication
         ignite-form-field-tooltip.tipLabel
             | Cluster communication network properties
         ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id='communication')
+    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
         .panel-body(ng-if='__show__')
             .col-sm-6
                 .settings-row
@@ -40,7 +41,7 @@ form.panel.panel-default(name='communication' novalidate)
                 .settings-row
                     +java-class('Communication listener:', communication + '.listener', 'comListener', 'true', 'false', 'Communication listener')
                 .settings-row
-                    +text-ip-address('Local IP address:', communication + '.localAddress', 'comLocalAddress', 'true', '228.1.2.4', 'Local host address for socket binding')
+                    +text-ip-address('Local IP address:', form, communication + '.localAddress', 'comLocalAddress', 'true', '228.1.2.4', 'Local host address for socket binding')
                 .settings-row
                     +number-min-max('Local port:', communication + '.localPort', 'comLocalPort', 'true', '47100', '1024', '65535', 'Local port for socket binding')
                 .settings-row

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/connector.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/connector.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/connector.jade
index 4319742..c07d2d5 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/connector.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/connector.jade
@@ -16,18 +16,19 @@
 
 include ../../../../../app/helpers/jade/mixins.jade
 
+-var form = 'connector'
 -var model = 'backupItem.connector'
 -var enabled = model + '.enabled'
 -var sslEnabled = enabled + ' && ' + model + '.sslEnabled'
 
-form.panel.panel-default(name='connector' novalidate)
+form.panel.panel-default(name=form novalidate)
     .panel-heading(bs-collapse-toggle ng-click='__show__ = true')
         ignite-form-panel-chevron
         label Connector configuration
         ignite-form-field-tooltip.tipLabel
             | REST access configuration
         ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id='connector')
+    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
         .panel-body(ng-if='__show__')
             .col-sm-6
                 .settings-row
@@ -38,7 +39,7 @@ form.panel.panel-default(name='connector' novalidate)
                         Jetty is used to support REST over HTTP protocol for accessing Ignite APIs remotely<br/>\
                         If not provided, Jetty instance with default configuration will be started picking IgniteSystemProperties.IGNITE_JETTY_HOST and IgniteSystemProperties.IGNITE_JETTY_PORT as host and port respectively')
                 .settings-row
-                    +text-ip-address('TCP host:', model + '.host', 'connectorHost', enabled, 'IgniteConfiguration#getLocalHost()',
+                    +text-ip-address('TCP host:', form, model + '.host', 'connectorHost', enabled, 'IgniteConfiguration#getLocalHost()',
                         'Host for TCP binary protocol server<br/>\
                         This can be either an IP address or a domain name<br/>\
                         If not defined, system - wide local address will be used IgniteConfiguration#getLocalHost()<br/>\

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/discovery.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/discovery.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/discovery.jade
index 1ba04fa..e86f8ab 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/discovery.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/discovery.jade
@@ -16,20 +16,21 @@
 
 include ../../../../../app/helpers/jade/mixins.jade
 
+-var form = 'discovery'
 -var model = 'backupItem.discovery'
 
-form.panel.panel-default(name='discovery' novalidate)
+form.panel.panel-default(name=form novalidate)
     .panel-heading(bs-collapse-toggle ng-click='__show__ = true')
         ignite-form-panel-chevron
         label Discovery
         ignite-form-field-tooltip.tipLabel
             | Discovery properties configuration
         ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id='discovery')
+    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
         .panel-body(ng-if='__show__')
             .col-sm-6
                 .settings-row
-                    +text-ip-address('Local address:', model + '.localAddress', 'discoLocalAddress', 'true', '228.1.2.4', 'Local address')
+                    +text-ip-address('Local address:', form, model + '.localAddress', 'discoLocalAddress', 'true', '228.1.2.4', 'Local address')
                 .settings-row
                     +number-min-max('Local port:', model + '.localPort', 'discoLocalPort', 'true', '47500', '1024', '65535', 'Local port which node uses')
                 .settings-row

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/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 ec004ce..ee46416 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
@@ -16,14 +16,15 @@
 
 include ../../../../../app/helpers/jade/mixins.jade
 
+-var form = 'general'
 -var model = 'backupItem'
 
-form.panel.panel-default(name='general' novalidate)
+form.panel.panel-default(name=form novalidate)
     .panel-heading(bs-collapse-toggle)
         ignite-form-panel-chevron
         label General
         ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id='general')
+    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
         .panel-body
             .col-sm-6
                 .settings-row
@@ -34,7 +35,7 @@ form.panel.panel-default(name='general' novalidate)
                         model + '.caches', 'caches', 'Choose caches', 'No caches configured', 'caches',
                         'Select caches to start in cluster or add a new cache')
                 .settings-row
-                    +text-ip-address('Local host:', model + '.localHost', 'localHost', 'true', '0.0.0.0', 'System-wide local address or host for all Ignite components to bind to')
+                    +text-ip-address('Local host:', form, model + '.localHost', 'localHost', 'true', '0.0.0.0', 'System-wide local address or host for all Ignite components to bind to')
                 .settings-row
                     +dropdown('Discovery:', model + '.discovery.kind', 'discovery', 'true', 'Choose discovery', 'discoveries',
                         'Discovery allows to discover remote nodes in grid\

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/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 61a0718..5eef0f1 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
@@ -16,13 +16,13 @@
 
 include ../../../../../../../app/helpers/jade/mixins.jade
 
+-var form = 'general'
 -var model = 'backupItem.discovery.Multicast';
 -var addresses = model + '.addresses';
--var form = 'discoveryMulticastAddresses';
 
 div
     .details-row
-        +text-ip-address('IP address:', model + '.multicastGroup', 'multicastGroup', 'true', '228.1.2.4', 'IP address of multicast group')
+        +text-ip-address('IP address:', form, model + '.multicastGroup', 'multicastGroup', 'true', '228.1.2.4', 'IP address of multicast group')
     .details-row
         +number-min-max('Port number:', model + '.multicastPort', 'multicastPort', 'true', '47400', '0', '65535', 'Port number which multicast messages are sent to')
     .details-row
@@ -33,11 +33,13 @@ div
             'Number of attempts to send multicast address request<br/>\
             IP finder re - sends request only in case if no reply for previous request is received')
     .details-row
-        +text-ip-address('Local address:', model + '.localAddress', 'localAddress', 'true', '0.0.0.0',
+        +text-ip-address('Local address:', form, model + '.localAddress', 'localAddress', 'true', '0.0.0.0',
             'Local host address used by this IP finder<br/>\
             If provided address is non - loopback then multicast socket is bound to this interface<br/>\
             If local address is not set or is any local address then IP finder creates multicast sockets for all found non - loopback addresses')
     .details-row
+        -var form = 'discoveryMulticastAddresses';
+
         ignite-form-group(ng-model=addresses ng-form=form)
             -var uniqueTip = 'Such IP address already exists!'
             -var ipAddressTip = 'Invalid IP address!'
@@ -63,6 +65,7 @@ div
                 -var field = 'edit'
                 -var valid = form + '.' + field + '.$valid'
                 -var unique = form + '.' + field + '.$error.igniteUnique'
+                -var ipaddress = form + '.' + field + '.$error.ipaddress'
                 -var save = addresses + '[$index] = ' + field
 
                 ignite-form-field(ng-repeat='model in #{addresses} track by $index' type='internal' name='Address')
@@ -79,17 +82,20 @@ div
                         +table-address-field(field, addresses, valid, save, false)
                             +table-save-button(valid, save, false)
                             +unique-feedback(unique, uniqueTip)
+                            +ipaddress-feedback(ipaddress)
 
             .group-content(ng-repeat='field in group.add')
                 -var field = 'new'
                 -var valid = form + '.' + field + '.$valid'
                 -var unique = form + '.' + field + '.$error.igniteUnique'
+                -var ipaddress = form + '.' + field + '.$error.ipaddress'
                 -var save = addresses + '.push(' + field + ')'
 
                 ignite-form-field(type='internal' name='Address')
                     +table-address-field(field, addresses, valid, save, true)
                         +table-save-button(valid, save, true)
                         +unique-feedback(unique, uniqueTip)
+                        +ipaddress-feedback(ipaddress)
 
             .group-content-empty(ng-if='!(#{addresses}.length) && !group.add.length')
                 | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/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 a19adf7..6b157cc 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
@@ -46,6 +46,7 @@ include ../../../../../../../app/helpers/jade/mixins.jade
             -var field = 'edit'
             -var valid = form + '.' + field + '.$valid'
             -var unique = form + '.' + field + '.$error.igniteUnique'
+            -var ipaddress = form + '.' + field + '.$error.ipaddress'
             -var save = addresses + '[$index] = ' + field
 
             ignite-form-field(ng-repeat='model in #{addresses} track by $index' type='internal' name='Address')
@@ -62,17 +63,20 @@ include ../../../../../../../app/helpers/jade/mixins.jade
                     +table-address-field(field, addresses, valid, save, false)
                         +table-save-button(valid, save, false)
                         +unique-feedback(unique, uniqueTip)
+                        +ipaddress-feedback(ipaddress)
 
         .group-content(ng-repeat='field in group.add')
             -var field = 'new'
             -var valid = form + '.' + field + '.$valid'
             -var unique = form + '.' + field + '.$error.igniteUnique'
+            -var ipaddress = form + '.' + field + '.$error.ipaddress'
             -var save = addresses + '.push(' + field + ')'
 
             ignite-form-field(type='internal' name='Address')
                 +table-address-field(field, addresses, valid, save, true)
                     +table-save-button(valid, save, true)
                     +unique-feedback(unique, uniqueTip)
+                    +ipaddress-feedback(ipaddress)
 
         .group-content-empty(id='addresses' ng-if='!(#{addresses}.length) && !group.add.length')
                 | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/630cbbe8/modules/control-center-web/src/main/js/app/modules/states/configuration/igfs/ipc.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/igfs/ipc.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/igfs/ipc.jade
index 5463c46..744e814 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/igfs/ipc.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/igfs/ipc.jade
@@ -16,16 +16,17 @@
 
 include ../../../../../app/helpers/jade/mixins.jade
 
+-var form = 'ipc'
 -var model = 'backupItem'
 
-form.panel.panel-default(name='ipc' novalidate)
+form.panel.panel-default(name=form novalidate)
     .panel-heading(bs-collapse-toggle='' ng-click='__show__ = true')
         ignite-form-panel-chevron
         label IPC
         ignite-form-field-tooltip.tipLabel
             | IGFS Inter-process communication properties
         ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id='ipc')
+    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
         .panel-body(ng-if='__show__')
             .col-sm-6
                 -var ipcEndpointConfiguration = model + '.ipcEndpointConfiguration'
@@ -45,7 +46,7 @@ form.panel.panel-default(name='ipc' novalidate)
                             <li>TCP - TCP endpoint</li>\
                         </ul>')
                 .settings-row
-                    +text-ip-address('Host:', ipcEndpointConfiguration + '.host', 'ipcEndpointConfigurationHost', enabled, '127.0.0.1', 'Host name')
+                    +text-ip-address('Host:', form, ipcEndpointConfiguration + '.host', 'ipcEndpointConfigurationHost', enabled, '127.0.0.1', 'Host name')
                 .settings-row
                     +number-min-max('Port:', ipcEndpointConfiguration + '.port', 'ipcEndpointConfigurationPort', enabled, '10500', '1', '65535', 'Port number')
                 .settings-row