浏览代码

HUE-4220 [oozie] Saving a workflow make the save button blink

Enrico Berti 9 年之前
父节点
当前提交
211c940679
共有 1 个文件被更改,包括 11 次插入5 次删除
  1. 11 5
      desktop/core/src/desktop/static/desktop/js/ko.common-dashboard.js

+ 11 - 5
desktop/core/src/desktop/static/desktop/js/ko.common-dashboard.js

@@ -286,16 +286,22 @@ function setLayout(colSizes, vm) {
 }
 }
 
 
 function ChangeTracker(objectToTrack, ko) {
 function ChangeTracker(objectToTrack, ko) {
-  var hashFunction = ko.toJSON;
+  var hashFunction = typeof ko.mapping !== 'undefined' ? ko.mapping.toJSON : ko.toJSON;
   var lastCleanState = ko.observable(hashFunction(objectToTrack));
   var lastCleanState = ko.observable(hashFunction(objectToTrack));
 
 
+  var MAPPING = {
+    ignore: [
+      "isDirty"
+    ]
+  };
+
   var result = {
   var result = {
-    somethingHasChanged: ko.computed(function () {
+    somethingHasChanged: ko.dependentObservable(function () {
       $(document).trigger("viewmodelHasChanged");
       $(document).trigger("viewmodelHasChanged");
-      return hashFunction(objectToTrack) != lastCleanState()
-    }).extend({ rateLimit: 500 }),
+      return hashFunction(objectToTrack, MAPPING) != lastCleanState()
+    }).extend({rateLimit: 500}),
     markCurrentStateAsClean: function () {
     markCurrentStateAsClean: function () {
-      lastCleanState(hashFunction(objectToTrack));
+      lastCleanState(hashFunction(objectToTrack, MAPPING));
     }
     }
   };
   };