You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 lines
580 B
13 lines
580 B
3 years ago
|
import { Controller } from "@hotwired/stimulus"
|
||
|
|
||
|
export default class extends Controller {
|
||
|
calculateFields() {
|
||
|
const affectedField = this.element.dataset.target;
|
||
3 years ago
|
const fieldsToAdd = JSON.parse(this.element.dataset.calculated).map(x => `case-log-${x.replaceAll("_","-")}-field`);
|
||
3 years ago
|
const valuesToAdd = fieldsToAdd.map(x => document.getElementById(x).value).filter(x => x);
|
||
|
const newValue = valuesToAdd.map(x => parseInt(x)).reduce((a, b) => a + b, 0);
|
||
|
const elementToUpdate = document.getElementById(affectedField);
|
||
|
elementToUpdate.value = newValue;
|
||
|
}
|
||
|
}
|