From bdf132a833e7ef22df0b2166a8870b02ab0b05ae Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 10 Nov 2022 09:49:28 +0100 Subject: [PATCH 1/2] Format file according to our prettier configuration --- app/webpacker/controllers/csv_select_controller.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/webpacker/controllers/csv_select_controller.js b/app/webpacker/controllers/csv_select_controller.js index 4ea39e5397..193a419125 100644 --- a/app/webpacker/controllers/csv_select_controller.js +++ b/app/webpacker/controllers/csv_select_controller.js @@ -1,10 +1,12 @@ import { Controller } from "stimulus"; export default class extends Controller { - static targets = ["reportType", "checkbox", "label"] + static targets = ["reportType", "checkbox", "label"]; handleSelectChange() { - this.reportTypeTarget.value == "csv" ? this.disableField() : this.enableField() + this.reportTypeTarget.value == "csv" + ? this.disableField() + : this.enableField(); } disableField() { From 4f265eed2a7870481132841d4c7a8b0ba0cfed49 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 10 Nov 2022 09:49:57 +0100 Subject: [PATCH 2/2] Check that target exists before setting properties In case of Xero reports, there are no checkbox --- .../controllers/csv_select_controller.js | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/app/webpacker/controllers/csv_select_controller.js b/app/webpacker/controllers/csv_select_controller.js index 193a419125..d01da1bea8 100644 --- a/app/webpacker/controllers/csv_select_controller.js +++ b/app/webpacker/controllers/csv_select_controller.js @@ -10,14 +10,22 @@ export default class extends Controller { } disableField() { - this.checkboxTarget.checked = false; - this.checkboxTarget.disabled = true; - this.labelTarget.classList.add("disabled"); + if (this.hasCheckboxTarget) { + this.checkboxTarget.checked = false; + this.checkboxTarget.disabled = true; + } + if (this.hasLabelTarget) { + this.labelTarget.classList.add("disabled"); + } } enableField() { - this.checkboxTarget.checked = true; - this.checkboxTarget.disabled = false; - this.labelTarget.classList.remove("disabled"); + if (this.hasCheckboxTarget) { + this.checkboxTarget.checked = true; + this.checkboxTarget.disabled = false; + } + if (this.hasLabelTarget) { + this.labelTarget.classList.remove("disabled"); + } } }