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 2015/11/03 11:25:46 UTC

[2/2] ignite git commit: IGNITE-1825 Fixed reset logic.

IGNITE-1825 Fixed reset logic.


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

Branch: refs/heads/ignite-843-rc1
Commit: 1d8003557df837002ebe14d34a5b1bd23c9c58c8
Parents: 9cf7a8a
Author: vsisko <vs...@gridgain.com>
Authored: Tue Nov 3 17:25:55 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Tue Nov 3 17:25:55 2015 +0700

----------------------------------------------------------------------
 .../src/main/js/controllers/common-module.js    | 87 ++++++++++----------
 1 file changed, 45 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/1d800355/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 389bd5a..711a209 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
@@ -544,40 +544,39 @@ consoleModule.service('$common', [
                 var curModel = getModel(curItem, field);
                 var srcModel = getModel(srcItem, field);
 
-                if (field.model == 'kind' && isDefined(curModel.kind)) {
-                    if (curModel.kind != srcModel.kind)
-                        return true;
-
-                    if (_compareFields(field.details[curModel.kind].fields))
-                        return true;
-                }
-
-                var curValue = curModel[field.model];
-                var srcValue = srcModel[field.model];
+                if (field.model) {
+                    if (field.model == 'kind' && isDefined(curModel.kind)) {
+                        if (curModel.kind != srcModel.kind)
+                            return true;
 
-                if ((_.isArray(curValue) || _.isString(curValue)) && (curValue.length == 0) && (srcValue === undefined))
-                    curValue = undefined;
+                        if (_compareFields(field.details[curModel.kind].fields))
+                            return true;
+                    }
 
-                if (_.isBoolean(curValue) && !curValue && srcValue === undefined)
-                    curValue = undefined;
+                    var curValue = curModel[field.model];
+                    var srcValue = srcModel[field.model];
 
-                var isCur = isDefined(curValue);
-                var isSrc = isDefined(srcValue);
+                    if ((_.isArray(curValue) || _.isString(curValue)) && (curValue.length == 0) && (srcValue === undefined))
+                        curValue = undefined;
 
-                return !!((isCur && !isSrc) || (!isCur && isSrc) || (isCur && isSrc && !angular.equals(curValue, srcValue)));
-            }
+                    if (_.isBoolean(curValue) && !curValue && srcValue === undefined)
+                        curValue = undefined;
 
-            function _compareFields(fields) {
-                for (var fldIx = 0; fldIx < fields.length; fldIx++) {
-                    var field = fields[fldIx];
+                    var isCur = isDefined(curValue);
+                    var isSrc = isDefined(srcValue);
 
-                    if (_compareField(field))
-                        return true;
+                    return !!((isCur && !isSrc) || (!isCur && isSrc) || (isCur && isSrc && !angular.equals(curValue, srcValue)));
                 }
+                else if (field.type == 'panel-details' &&  _compareFields(field.details))
+                    return true;
 
                 return false;
             }
 
+            function _compareFields(fields) {
+                return _.findIndex(fields, _compareField) >= 0;
+            }
+
             group.dirty = _compareFields(group.fields);
 
             return group.dirty;
@@ -779,37 +778,41 @@ consoleModule.service('$common', [
                     for (var fldIx = 0; fldIx < fields.length; fldIx ++) {
                         var field = fields[fldIx];
 
-                        var destMdl = getModel(backupItem, field);
+                        if (field.model) {
+                            var destMdl = getModel(backupItem, field);
 
-                        if (isDefined(destMdl)) {
-                            if (isDefined(selectedItem)) {
-                                var srcMdl = getModel(selectedItem, field);
+                            if (isDefined(destMdl)) {
+                                if (isDefined(selectedItem)) {
+                                    var srcMdl = getModel(selectedItem, field);
 
-                                if (isDefined(srcMdl)) {
-                                    // For array create copy.
-                                    if ($.isArray(srcMdl[field.model]))
-                                        destMdl[field.model] = srcMdl[field.model].slice();
+                                    if (isDefined(srcMdl)) {
+                                        // For array create copy.
+                                        if ($.isArray(srcMdl[field.model]))
+                                            destMdl[field.model] = srcMdl[field.model].slice();
+                                        else
+                                            destMdl[field.model] = srcMdl[field.model];
+                                    }
                                     else
-                                        destMdl[field.model] = srcMdl[field.model];
+                                        destMdl[field.model] = undefined;
                                 }
                                 else
                                     destMdl[field.model] = undefined;
-                            }
-                            else
-                                destMdl[field.model] = undefined;
 
-                            // For kind field restore kind value and all configured kinds.
-                            if (field.model == 'kind') {
-                                var kind = getModel(backupItem, field)[field.model];
+                                // For kind field restore kind value and all configured kinds.
+                                if (field.model == 'kind') {
+                                    var kind = getModel(backupItem, field)[field.model];
 
-                                var details = field.details;
+                                    var details = field.details;
 
-                                var keys = Object.keys(details);
+                                    var keys = Object.keys(details);
 
-                                for (var detIx = 0; detIx < keys.length; detIx++)
-                                    restoreFields(details[keys[detIx]].fields);
+                                    for (var detIx = 0; detIx < keys.length; detIx++)
+                                        restoreFields(details[keys[detIx]].fields);
+                                }
                             }
                         }
+                        else if (field.type == 'panel-details')
+                            restoreFields(field.details);
                     }
                 }