Explorar o código

Поправка бага

Book Pauk %!s(int64=5) %!d(string=hai) anos
pai
achega
0d1e51cb21
Modificáronse 1 ficheiros con 9 adicións e 13 borrados
  1. 9 13
      client/components/Reader/ServerStorage/ServerStorage.vue

+ 9 - 13
client/components/Reader/ServerStorage/ServerStorage.vue

@@ -458,22 +458,15 @@ class ServerStorage extends Vue {
         let needSaveRecentPatch = false;
         let needSaveRecentPatch = false;
         let needSaveRecentMod = false;
         let needSaveRecentMod = false;
 
 
-        let applyMod = null;
-
         //newRecentMod
         //newRecentMod
         let newRecentMod = {};
         let newRecentMod = {};
+        if (itemKey && this.cachedRecentPatch.data[itemKey] && this.prevItemKey == itemKey) {
+            newRecentMod = _.cloneDeep(this.cachedRecentMod);
+            newRecentMod.rev++;
 
 
-        if (itemKey && this.cachedRecentPatch.data[itemKey]) {            
-            if (this.prevItemKey == itemKey) {//сохраняем только дифф
-                newRecentMod = _.cloneDeep(this.cachedRecentMod);
-                newRecentMod.rev++;
-
-                newRecentMod.data.key = itemKey;
-                newRecentMod.data.mod = utils.getObjDiff(this.cachedRecentPatch.data[itemKey], bm.recent[itemKey]);
-                needSaveRecentMod = true;
-            } else {//ключ не совпадает, надо сохранять патч
-                applyMod = newRecentMod.data;
-            }
+            newRecentMod.data.key = itemKey;
+            newRecentMod.data.mod = utils.getObjDiff(this.cachedRecentPatch.data[itemKey], bm.recent[itemKey]);
+            needSaveRecentMod = true;
         }
         }
         this.prevItemKey = itemKey;
         this.prevItemKey = itemKey;
 
 
@@ -483,8 +476,11 @@ class ServerStorage extends Vue {
             newRecentPatch = _.cloneDeep(this.cachedRecentPatch);
             newRecentPatch = _.cloneDeep(this.cachedRecentPatch);
             newRecentPatch.rev++;
             newRecentPatch.rev++;
             newRecentPatch.data[itemKey] = bm.recent[itemKey];
             newRecentPatch.data[itemKey] = bm.recent[itemKey];
+
+            let applyMod = this.cachedRecentMod.data;
             if (applyMod && applyMod.key && newRecentPatch.data[applyMod.key])
             if (applyMod && applyMod.key && newRecentPatch.data[applyMod.key])
                 newRecentPatch.data[applyMod.key] = utils.applyObjDiff(newRecentPatch.data[applyMod.key], applyMod.mod);
                 newRecentPatch.data[applyMod.key] = utils.applyObjDiff(newRecentPatch.data[applyMod.key], applyMod.mod);
+
             newRecentMod = {rev: this.cachedRecentMod.rev + 1, data: {}};
             newRecentMod = {rev: this.cachedRecentMod.rev + 1, data: {}};
             needSaveRecentPatch = true;
             needSaveRecentPatch = true;
             needSaveRecentMod = true;
             needSaveRecentMod = true;