summaryrefslogtreecommitdiffstats
path: root/web/react/utils
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2016-02-09 08:35:25 -0800
committerCorey Hulen <corey@hulen.com>2016-02-09 08:35:25 -0800
commit7ba50278d380733a8e85c8c057a3b5e5c1477ba2 (patch)
tree349bbfa0b0fd5893401b4567bad35f2750b9f138 /web/react/utils
parenta4cce1023cae299a808875c00d6427003145da7d (diff)
parentbe716c3b668c4b5de385befc0e6ed5ca2116beb6 (diff)
downloadchat-7ba50278d380733a8e85c8c057a3b5e5c1477ba2.tar.gz
chat-7ba50278d380733a8e85c8c057a3b5e5c1477ba2.tar.bz2
chat-7ba50278d380733a8e85c8c057a3b5e5c1477ba2.zip
Merge pull request #2099 from hmhealey/plt1883
PLT-1883 Update search result components when we receive channels
Diffstat (limited to 'web/react/utils')
-rw-r--r--web/react/utils/utils.jsx22
1 files changed, 22 insertions, 0 deletions
diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx
index c2487f290..e2a5b9620 100644
--- a/web/react/utils/utils.jsx
+++ b/web/react/utils/utils.jsx
@@ -392,6 +392,10 @@ export function areObjectsEqual(x, y) {
return x.toString() === y.toString();
}
+ if (x instanceof Map && y instanceof Map) {
+ return areMapsEqual(x, y);
+ }
+
// At last checking prototypes as good a we can
if (!(x instanceof Object && y instanceof Object)) {
return false;
@@ -456,6 +460,24 @@ export function areObjectsEqual(x, y) {
return true;
}
+export function areMapsEqual(a, b) {
+ if (a.size !== b.size) {
+ return false;
+ }
+
+ for (const [key, value] of a) {
+ if (!b.has(key)) {
+ return false;
+ }
+
+ if (!areObjectsEqual(value, b.get(key))) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
export function replaceHtmlEntities(text) {
var tagsToReplace = {
'&amp;': '&',