diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-09-27 11:47:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-27 11:47:56 -0400 |
commit | 3b6e3193ae5e6248ad1405de50a98fb41796bc2e (patch) | |
tree | 8dfac9a4010efbc1ee22e080f78c106b29dd3e72 /ext/bg/js/settings | |
parent | cdd649ea3d3c933b571db1b00bc40162b4da8c01 (diff) |
Fix data-setting attributes not being updated on index change (#872)
Diffstat (limited to 'ext/bg/js/settings')
-rw-r--r-- | ext/bg/js/settings/scan-inputs-controller.js | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/ext/bg/js/settings/scan-inputs-controller.js b/ext/bg/js/settings/scan-inputs-controller.js index 0606d142..5da0d5e1 100644 --- a/ext/bg/js/settings/scan-inputs-controller.js +++ b/ext/bg/js/settings/scan-inputs-controller.js @@ -135,6 +135,7 @@ class ScanInputField { set index(value) { this._index = value; + this._updateDataSettingTargets(); } prepare(container, include, exclude) { @@ -158,10 +159,7 @@ class ScanInputField { this._eventListeners.on(this._excludeInputField, 'change', this._onExcludeValueChange.bind(this)); this._eventListeners.addEventListener(removeButton, 'click', this._onRemoveClick.bind(this)); - for (const typeCheckbox of node.querySelectorAll('.scan-input-settings-checkbox')) { - const {property} = typeCheckbox.dataset; - typeCheckbox.dataset.setting = `scanning.inputs[${this._index}].${property}`; - } + this._updateDataSettingTargets(); } cleanup() { @@ -201,4 +199,12 @@ class ScanInputField { const node = this._node.querySelector(`input.scan-input-settings-checkbox[data-property="types.${pointerType}"]`); return node !== null && node.checked; } + + _updateDataSettingTargets() { + const index = this._index; + for (const typeCheckbox of this._node.querySelectorAll('.scan-input-settings-checkbox')) { + const {property} = typeCheckbox.dataset; + typeCheckbox.dataset.setting = `scanning.inputs[${index}].${property}`; + } + } } |