diff --git a/customize.dist/store.js b/customize.dist/store.js index 287b95644..5c55f7eb2 100644 --- a/customize.dist/store.js +++ b/customize.dist/store.js @@ -71,5 +71,23 @@ define(function () { } }; + var changeHandlers = Store.changeHandlers = []; + + Store.change = function (f) { + if (typeof(f) !== 'function') { + throw new Error('[Store.change] callback must be a function'); + } + changeHandlers.push(f); + + if (changeHandlers.length === 1) { + // start listening for changes + window.addEventListener('storage', function (e) { + changeHandlers.forEach(function (f) { + f(e); + }); + }); + } + }; + return Store; });