forked from SymfonyCasts/symfony-ux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathorganization-create-setselectedcolor-method.diff
35 lines (31 loc) · 1.29 KB
/
organization-create-setselectedcolor-method.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
diff --git a/assets/controllers/color-square_controller.js b/assets/controllers/color-square_controller.js
index bebe414..008ca90 100644
--- a/assets/controllers/color-square_controller.js
+++ b/assets/controllers/color-square_controller.js
@@ -10,10 +10,12 @@ export default class extends Controller {
}
selectColor(event) {
- const clickedColorId = event.currentTarget.dataset.colorId;
+ this.setSelectedColor(event.currentTarget.dataset.colorId)
+ }
+ setSelectedColor(clickedColorId) {
if (clickedColorId === this.selectedColorId) {
- event.currentTarget.classList.remove('selected');
+ this.findSelectedColorSquare().classList.remove('selected');
this.selectedColorId = null;
this.selectTarget.value = '';
@@ -27,7 +29,14 @@ export default class extends Controller {
element.classList.remove('selected');
});
- event.currentTarget.classList.add('selected');
+ this.findSelectedColorSquare().classList.add('selected');
this.selectTarget.value = this.selectedColorId;
}
+
+ /**
+ * @return {Element|null}
+ */
+ findSelectedColorSquare() {
+ return this.colorSquareTargets.find((element) => element.dataset.colorId === this.selectedColorId);
+ }
}