From cf483f214ed17df0e380fe4e9d73dcd65ab39be0 Mon Sep 17 00:00:00 2001 From: Thomas Weber Date: Wed, 6 Oct 2021 19:08:50 -0500 Subject: [PATCH] Sync local cloud variable changes across local windows closes #183 --- src/scaffolding/cloud.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/scaffolding/cloud.js b/src/scaffolding/cloud.js index cfa8a83..285ad0c 100644 --- a/src/scaffolding/cloud.js +++ b/src/scaffolding/cloud.js @@ -185,6 +185,7 @@ class LocalStorageProvider { constructor (key='p4:cloudvariables') { this.key = key; this.variables = {}; + this.handleStorageEvent = this.handleStorageEvent.bind(this); } readFromLocalStorage () { @@ -211,8 +212,15 @@ class LocalStorageProvider { } } + handleStorageEvent (e) { + if (e.key === this.key && e.storageArea === localStorage) { + this.readFromLocalStorage(); + } + } + enable () { this.readFromLocalStorage(); + window.addEventListener('storage', this.handleStorageEvent); } handleUpdateVariable (name, value) {