From 37f0396f1cf4f74833d9a4a364f503f4a7c3e34a Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Fri, 29 May 2020 19:44:53 -0400 Subject: [PATCH] DOM binder fixes (#564) * Fix incorrect updateValue function * Add source --- ext/bg/js/settings/dom-settings-binder.js | 5 +++-- ext/mixed/js/dom-data-binder.js | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ext/bg/js/settings/dom-settings-binder.js b/ext/bg/js/settings/dom-settings-binder.js index 0441ec29..4b63859f 100644 --- a/ext/bg/js/settings/dom-settings-binder.js +++ b/ext/bg/js/settings/dom-settings-binder.js @@ -22,8 +22,9 @@ */ class DOMSettingsBinder { - constructor({getOptionsContext, transforms=null}) { + constructor({getOptionsContext, source=null, transforms=null}) { this._getOptionsContext = getOptionsContext; + this._source = source; this._defaultScope = 'profile'; this._dataBinder = new DOMDataBinder({ selector: '[data-setting]', @@ -97,7 +98,7 @@ class DOMSettingsBinder { } settingsTargets.push(target); } - return this._transformResults(await api.modifySettings(settingsTargets), targets); + return this._transformResults(await api.modifySettings(settingsTargets, this._source), targets); } _transform(value, transform, metadata, element) { diff --git a/ext/mixed/js/dom-data-binder.js b/ext/mixed/js/dom-data-binder.js index 05a84240..d46e8087 100644 --- a/ext/mixed/js/dom-data-binder.js +++ b/ext/mixed/js/dom-data-binder.js @@ -108,8 +108,8 @@ class DOMDataBinder { if (addedNodes.length !== 0 || addedNodes.length !== 0) { const observer = this._elementMap.get(target); - if (typeof observer !== 'undefined') { - observer.updateValue(); + if (typeof observer !== 'undefined' && observer.hasValue) { + this._setElementValue(observer.element, observer.value); } } }