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:12 UTC

[32/50] [abbrv] ignite git commit: IGNITE-843 Fixed table mixins and added workaround for not escaping of "&&" to "& & ".

IGNITE-843 Fixed table mixins and added workaround for not escaping of "&&" to "&&".


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

Branch: refs/heads/ignite-2875
Commit: 63819d66efa202670b7bb4ab6169646e5b3b9c52
Parents: 1c3c17c
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Wed Mar 23 12:09:48 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Wed Mar 23 12:09:48 2016 +0700

----------------------------------------------------------------------
 .../src/main/js/app/helpers/jade/mixins.jade    | 45 ++++++++++++--------
 .../src/main/js/app/modules/ace.module.js       |  2 +-
 .../states/configuration/caches/query.jade      |  8 ++--
 .../states/configuration/caches/store.jade      | 14 +++---
 .../configuration/clusters/deployment.jade      | 16 +++----
 .../clusters/general/discovery/cloud.jade       | 16 +++----
 .../clusters/general/discovery/multicast.jade   |  8 ++--
 .../clusters/general/discovery/vm.jade          |  8 ++--
 .../states/configuration/clusters/ssl.jade      |  8 ++--
 9 files changed, 67 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/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 ed6083d..abe08a3 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
@@ -188,8 +188,8 @@ mixin dropdown-multiple(lbl, model, name, placeholder, placeholderEmpty, options
             data-disabled='!#{options}.length'
         )
 
-//- Mixin for table java class field.
-mixin table-java-class-field(field, items, save, newItem)
+//- Mixin for table text field.
+mixin table-text-field(field, items, valid, save, placeholder, newItem)
     -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
     -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
 
@@ -198,10 +198,11 @@ mixin table-java-class-field(field, items, save, newItem)
     -var resetOnBlur = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
     -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
 
-    ignite-form-field-java-class(
+    ignite-form-field-input-text(
         data-name=field
         data-ng-model=field
         data-ng-required='true'
+        data-placeholder=placeholder
         data-ignite-unique=items
         data-ignite-form-field-input-autofocus='true'
         on-enter=onEnter
@@ -210,8 +211,8 @@ mixin table-java-class-field(field, items, save, newItem)
     )
         block
 
-//- Mixin for table java package field.
-mixin table-java-package-field(field, items, save, newItem)
+//- Mixin for table java class field.
+mixin table-java-class-field(field, items, valid, save, newItem)
     -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
     -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
 
@@ -220,13 +221,10 @@ mixin table-java-package-field(field, items, save, newItem)
     -var resetOnBlur = (newItem ? '!stopblur && (group.add = [])' : 'field.edit = false')
     -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
 
-    ignite-form-field-input-text(
+    ignite-form-field-java-class(
         data-name=field
         data-ng-model=field
         data-ng-required='true'
-        data-placeholder='Enter package name'
-        data-java-keywords='true'
-        data-java-package-name='true'
         data-ignite-unique=items
         data-ignite-form-field-input-autofocus='true'
         on-enter=onEnter
@@ -235,8 +233,8 @@ mixin table-java-package-field(field, items, save, newItem)
     )
         block
 
-//- Mixin for table text field.
-mixin table-text-field(field, items, save, placeholder, newItem)
+//- Mixin for table java package field.
+mixin table-java-package-field(field, items, valid, save, newItem)
     -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
     -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
 
@@ -249,7 +247,9 @@ mixin table-text-field(field, items, save, placeholder, newItem)
         data-name=field
         data-ng-model=field
         data-ng-required='true'
-        data-placeholder=placeholder
+        data-placeholder='Enter package name'
+        data-java-keywords='true'
+        data-java-package-name='true'
         data-ignite-unique=items
         data-ignite-form-field-input-autofocus='true'
         on-enter=onEnter
@@ -259,7 +259,7 @@ mixin table-text-field(field, items, save, placeholder, newItem)
         block
 
 //- Mixin for table address field.
-mixin table-address-field(field, items, save, newItem)
+mixin table-address-field(field, items, valid, save, newItem)
     -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
     -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
 
@@ -282,14 +282,15 @@ mixin table-address-field(field, items, save, newItem)
     )
         block
 
-//- Mixin for table save button.
+//-
+    Mixin for table save button.
+    "||" used instead of "&&" to workaround escaping of "&&" to "&amp;&amp;"
 mixin table-save-button(valid, save, newItem)
     -var reset = (newItem ? 'group.add = []' : 'field.edit = false')
-    -var onClick = valid + ' && ' + save + '; ' + valid  + ' && (' + reset + ');'
 
     i.fa.fa-floppy-o(
         ng-show=valid
-        ng-click=onClick
+        ng-click="!#{valid} || (#{save}); !#{valid} || (#{reset});"
         bs-tooltip
         data-title='Click icon or press [Enter] to save item'
     )
@@ -307,8 +308,8 @@ mixin table-remove-conditional-button(items, show, tip)
 mixin table-remove-button(items, tip)
     +table-remove-conditional-button(items, 'true', tip)
 
-//- Mixin for table feedback for unique validator.
-mixin table-error-feedback(visible, error, errorMessage)
+//- 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}"'
@@ -316,6 +317,14 @@ mixin table-error-feedback(visible, error, errorMessage)
         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)

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/modules/control-center-web/src/main/js/app/modules/ace.module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/ace.module.js b/modules/control-center-web/src/main/js/app/modules/ace.module.js
index d747ccf..9be827d 100644
--- a/modules/control-center-web/src/main/js/app/modules/ace.module.js
+++ b/modules/control-center-web/src/main/js/app/modules/ace.module.js
@@ -127,7 +127,7 @@ angular
             // onLoad callbacks.
             _.forEach(opts.callbacks, (cb) => {
                 if (angular.isFunction(cb))
-                    cb(acee)
+                    cb(acee);
             });
         };
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/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 6d8e0ee..5dbcab6 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
@@ -63,9 +63,9 @@ form.panel.panel-default(name='query' novalidate)
                                 span(ng-hide='field.edit')
                                     a.labelFormField(ng-click='field.edit = true') {{ model }}
                                 span(ng-if='field.edit' ng-init='#{field} = model')
-                                    +table-java-class-field(field, sqlFunctionClasses, save, false)
+                                    +table-java-class-field(field, sqlFunctionClasses, valid, save, false)
                                         +table-save-button(valid, save, false)
-                                        +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                                        +unique-feedback(unique, uniqueTip)
 
                         .group-content(ng-repeat='field in group.add')
                             -var field = 'new'
@@ -74,9 +74,9 @@ form.panel.panel-default(name='query' novalidate)
                             -var save = sqlFunctionClasses + '.push(' + field + ')'
 
                             ignite-form-field(type='internal' name='SQL function')
-                                +table-java-class-field(field, sqlFunctionClasses, save, true)
+                                +table-java-class-field(field, sqlFunctionClasses, valid, save, true)
                                     +table-save-button(valid, save, true)
-                                    +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                                    +unique-feedback(unique, uniqueTip)
 
                         .group-content-empty(ng-if='!(#{sqlFunctionClasses}.length) && !group.add.length')
                             | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade
index 84cc376..44ae665 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade
@@ -50,7 +50,7 @@ mixin dialect(lbl, model, name, tipTitle, genericDialectName, placeholder)
             data-placeholder=placeholder
         )
 
-mixin hibernateField(items, field, save, newItem)
+mixin hibernateField(items, field, valid, save, newItem)
     -var reset = (newItem ? 'group.add = []' : 'field.edit = false')
 
     -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
@@ -196,10 +196,10 @@ form.panel.panel-default(name='store' novalidate)
                                                 span(ng-hide='field.edit')
                                                     a.labelFormField(ng-click='field.edit = true') {{ model }}
                                                 span(ng-if='field.edit' ng-init='#{field} = model')
-                                                    +hibernateField(hibernateProperties, field, save, false)
+                                                    +hibernateField(hibernateProperties, field, valid, save, false)
                                                         +table-save-button(valid, save, false)
-                                                        +table-error-feedback(unique, 'ignitePropertyUnique', tipUnique)
-                                                        +table-error-feedback(unique, 'ignitePropertyValueSpecified', tipPropertySpecified)
+                                                        +error-feedback(unique, 'ignitePropertyUnique', tipUnique)
+                                                        +error-feedback(unique, 'ignitePropertyValueSpecified', tipPropertySpecified)
 
                                         .group-content(ng-repeat='field in group.add')
                                             -var field = 'new'
@@ -209,10 +209,10 @@ form.panel.panel-default(name='store' novalidate)
                                             -var save = hibernateProperties + '.push(' + field + ')'
 
                                             ignite-form-field(type='internal' name='Hibernate property')
-                                                +hibernateField(hibernateProperties, field, save, true)
+                                                +hibernateField(hibernateProperties, field, valid, save, true)
                                                     +table-save-button(valid, save, true)
-                                                    +table-error-feedback(unique, 'ignitePropertyUnique', tipUnique)
-                                                    +table-error-feedback(unique, 'ignitePropertyValueSpecified', tipPropertySpecified)
+                                                    +error-feedback(unique, 'ignitePropertyUnique', tipUnique)
+                                                    +error-feedback(unique, 'ignitePropertyValueSpecified', tipPropertySpecified)
                                         .group-content-empty(ng-if='!(#{hibernateProperties}.length) && !group.add.length')
                                             | Not defined
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/deployment.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/deployment.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/deployment.jade
index 1c8d475..9c0391b 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/deployment.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/deployment.jade
@@ -84,11 +84,11 @@ form.panel.panel-default(name='deployment' novalidate)
                                 span(ng-hide='field.edit')
                                     a.labelFormField(ng-click='#{enabled} && (field.edit = true)') {{ model }}
                                 span(ng-if='field.edit' ng-init='#{field} = model')
-                                    +table-java-package-field(field, exclude, save, false)
+                                    +table-java-package-field(field, exclude, valid, save, false)
                                         +table-save-button(valid, save, false)
-                                        +table-error-feedback(unique, 'igniteUnique', uniqueTip)
-                                        +table-error-feedback(javaPackageName, 'javaPackageName', tipJavaPackageName)
-                                        +table-error-feedback(javaKeywords, 'javaKeywords', tipJavaKeyWord)
+                                        +unique-feedback(unique, uniqueTip)
+                                        +error-feedback(javaPackageName, 'javaPackageName', tipJavaPackageName)
+                                        +error-feedback(javaKeywords, 'javaKeywords', tipJavaKeyWord)
 
                         .group-content(ng-repeat='field in group.add')
                             -var field = 'new'
@@ -99,11 +99,11 @@ form.panel.panel-default(name='deployment' novalidate)
                             -var save = exclude + '.push(' + field + ')'
 
                             ignite-form-field(type='internal' name='Package name')
-                                +table-java-package-field(field, exclude, save, true)
+                                +table-java-package-field(field, exclude, valid, save, true)
                                     +table-save-button(valid, save, true)
-                                    +table-error-feedback(unique, 'igniteUnique', uniqueTip)
-                                    +table-error-feedback(javaPackageName, 'javaPackageName', tipJavaPackageName)
-                                    +table-error-feedback(javaKeywords, 'javaKeywords', tipJavaKeyWord)
+                                    +unique-feedback(unique, uniqueTip)
+                                    +error-feedback(javaPackageName, 'javaPackageName', tipJavaPackageName)
+                                    +error-feedback(javaKeywords, 'javaKeywords', tipJavaKeyWord)
 
 
                         .group-content-empty(ng-if='!(#{exclude}.length) && !group.add.length')

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
index 704611d..c920fe8 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
+++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
@@ -63,9 +63,9 @@ div
                     span(ng-hide='field.edit')
                         a.labelFormField(ng-click='field.edit = true') {{ model }}
                     span(ng-if='field.edit' ng-init='#{field} = model')
-                        +table-text-field(field, regions, save, 'Region name', false)
+                        +table-text-field(field, regions, valid, save, 'Region name', false)
                             +table-save-button(valid, save, false)
-                            +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                            +unique-feedback(unique, uniqueTip)
 
             .group-content(ng-repeat='field in group.add')
                 -var field = 'new'
@@ -74,9 +74,9 @@ div
                 -var save = regions + '.push(' + field + ')'
 
                 ignite-form-field(type='internal' name='Region')
-                    +table-text-field(field, regions, save, 'Region name', true)
+                    +table-text-field(field, regions, valid, save, 'Region name', true)
                         +table-save-button(valid, save, true)
-                        +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                        +unique-feedback(unique, uniqueTip)
 
             .group-content-empty(ng-if='!(#{regions}.length) && !group.add.length')
                 | Not defined
@@ -106,9 +106,9 @@ div
                     span(ng-hide='field.edit')
                         a.labelFormField(ng-click='field.edit = true') {{ model }}
                     span(ng-if='field.edit' ng-init='#{field} = model')
-                        +table-text-field(field, zones, save, 'Zone name',false)
+                        +table-text-field(field, zones, valid, save, 'Zone name', false)
                             +table-save-button(valid, save, false)
-                            +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                            +unique-feedback(unique, uniqueTip)
 
             .group-content(ng-repeat='field in group.add')
                 -var field = 'new'
@@ -117,9 +117,9 @@ div
                 -var save = zones + '.push(' + field + ')'
 
                 ignite-form-field(type='internal' name='Zone')
-                    +table-text-field(field, zones, save, 'Zone name',true)
+                    +table-text-field(field, zones, valid, save, 'Zone name', true)
                         +table-save-button(valid, save, true)
-                        +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                        +unique-feedback(unique, uniqueTip)
 
             .group-content-empty(ng-if='!(#{zones}.length) && !group.add.length')
                 | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/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 19c496c..61a0718 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
@@ -76,9 +76,9 @@ div
                     span(ng-hide='field.edit')
                         a.labelFormField(ng-click='field.edit = true') {{ model }}
                     span(ng-if='field.edit' ng-init='#{field} = model')
-                        +table-address-field(field, addresses, save, false)
+                        +table-address-field(field, addresses, valid, save, false)
                             +table-save-button(valid, save, false)
-                            +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                            +unique-feedback(unique, uniqueTip)
 
             .group-content(ng-repeat='field in group.add')
                 -var field = 'new'
@@ -87,9 +87,9 @@ div
                 -var save = addresses + '.push(' + field + ')'
 
                 ignite-form-field(type='internal' name='Address')
-                    +table-address-field(field, addresses, save, true)
+                    +table-address-field(field, addresses, valid, save, true)
                         +table-save-button(valid, save, true)
-                        +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                        +unique-feedback(unique, uniqueTip)
 
             .group-content-empty(ng-if='!(#{addresses}.length) && !group.add.length')
                 | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/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 cb7385c..a19adf7 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
@@ -59,9 +59,9 @@ include ../../../../../../../app/helpers/jade/mixins.jade
                 span(ng-hide='field.edit')
                     a.labelFormField(ng-click='field.edit = true') {{ model }}
                 span(ng-if='field.edit' ng-init='#{field} = model')
-                    +table-address-field(field, addresses, save, false)
+                    +table-address-field(field, addresses, valid, save, false)
                         +table-save-button(valid, save, false)
-                        +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                        +unique-feedback(unique, uniqueTip)
 
         .group-content(ng-repeat='field in group.add')
             -var field = 'new'
@@ -70,9 +70,9 @@ include ../../../../../../../app/helpers/jade/mixins.jade
             -var save = addresses + '.push(' + field + ')'
 
             ignite-form-field(type='internal' name='Address')
-                +table-address-field(field, addresses, save, true)
+                +table-address-field(field, addresses, valid, save, true)
                     +table-save-button(valid, save, true)
-                    +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                    +unique-feedback(unique, uniqueTip)
 
         .group-content-empty(id='addresses' ng-if='!(#{addresses}.length) && !group.add.length')
                 | Not defined

http://git-wip-us.apache.org/repos/asf/ignite/blob/63819d66/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 15a14cc..130a409 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
@@ -72,9 +72,9 @@ form.panel.panel-default(name='sslConfiguration' novalidate)
                                 span(ng-hide='field.edit')
                                     a.labelFormField(ng-click='#{enabled} && (field.edit = true)') {{ model }}
                                 span(ng-if='field.edit' ng-init='#{field} = model')
-                                    +table-java-class-field(field, trust, save, false)
+                                    +table-java-class-field(field, trust, valid, save, false)
                                         +table-save-button(valid, save, false)
-                                        +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                                        +unique-feedback(unique, uniqueTip)
 
                         .group-content(ng-repeat='field in group.add')
                             -var field = 'new'
@@ -83,9 +83,9 @@ form.panel.panel-default(name='sslConfiguration' novalidate)
                             -var save = trust + '.push(' + field + ')'
 
                             ignite-form-field(type='internal' name='Trust manager')
-                                +table-java-class-field(field, trust, save, true)
+                                +table-java-class-field(field, trust, valid, save, true)
                                     +table-save-button(valid, save, true)
-                                    +table-error-feedback(unique, 'igniteUnique', uniqueTip)
+                                    +unique-feedback(unique, uniqueTip)
 
                         .group-content-empty(ng-if='!(#{trust}.length) && !group.add.length')
                             | Not defined