diff --git a/SB.js b/SB.js index eb6c489f..6a74077f 100644 --- a/SB.js +++ b/SB.js @@ -1,4 +1,11 @@ -SB = {}; +SB = { + /** + * Callback function when an option is updated + * + * @type {CallableFunction} + */ + configListeners = [] +}; // Function setup @@ -82,9 +89,13 @@ function decodeStoredItem(data) { function configProxy() { chrome.storage.onChanged.addListener((changes, namespace) => { - for (key in changes) { + for (const key in changes) { SB.localConfig[key] = decodeStoredItem(changes[key].newValue); } + + for (const callback of SB.configListeners) { + callback(changes); + } }); var handler = {