From 498049adcbabd14d6c60cd071f974fd5a20893cf Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 26 Jun 2018 00:53:10 -0500 Subject: [PATCH] Ignore client_updated_at when checking for equality --- app/assets/javascripts/app/models/api/item.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/app/models/api/item.js b/app/assets/javascripts/app/models/api/item.js index 6fe6fdee7..888c477de 100644 --- a/app/assets/javascripts/app/models/api/item.js +++ b/app/assets/javascripts/app/models/api/item.js @@ -256,6 +256,11 @@ class Item { return []; } + // Same as above, but keys inside appData[AppDomain] + appDataKeysToIgnoreWhenCheckingContentEquality() { + return ["client_updated_at"]; + } + isItemContentEqualWith(otherItem) { let omit = (obj, keys) => { for(var key of keys) { @@ -263,8 +268,14 @@ class Item { } return obj; } - var left = omit(this.structureParams(), this.keysToIgnoreWhenCheckingContentEquality()); - var right = omit(otherItem.structureParams(), otherItem.keysToIgnoreWhenCheckingContentEquality()); + + var left = this.structureParams(); + left.appData[AppDomain] = omit(left.appData[AppDomain], this.appDataKeysToIgnoreWhenCheckingContentEquality()); + left = omit(left, this.keysToIgnoreWhenCheckingContentEquality()); + + var right = otherItem.structureParams(); + right.appData[AppDomain] = omit(right.appData[AppDomain], otherItem.appDataKeysToIgnoreWhenCheckingContentEquality()); + right = omit(right, otherItem.keysToIgnoreWhenCheckingContentEquality()); return JSON.stringify(left) === JSON.stringify(right) }