Calculator – Annulus2 Select what to solve for and enter values for the other fields. Annulus Area Bore Area Rod Diameter Formula: 0.7854 * (Cylinder Bore – Rod Diameter) = Annulus Area class AnnulusArea { constructor(area, area_radio, bore_area, bore_radio, rod_diameter, rod_radio) { /* Constructs a class to solve for area and radius of a cylander. Args: area: An html input for the area. area_radio: An html radio button. bore_area: An html input for the bore area. bore_radio: An html radio button. rod_diameter: An html input for the rod diameter. rod_radio: An html radio button. */ console.log(area); console.log(area_radio); console.log(bore_area); console.log(bore_radio); console.log(rod_diameter); console.log(rod_radio); this.area = area; this.area_radio = area_radio; this.bore_area = bore_area; this.bore_area_radio = bore_radio; this.rod_diameter = rod_diameter; this.rod_diameter_radio = rod_radio; } update_radio = () => { let area_length = this.area.value.length; let bore_area_length = this.bore_area.value.length; let rod_diameter_length = this.rod_diameter.value.length; if (area_length > 0 && bore_area_length > 0) { this.rod_diameter_radio.checked = true; this.solve(); return } if (rod_diameter_length > 0 && bore_area_length > 0) { this.area_radio.checked = true; this.solve(); return } if (area_length > 0 && rod_diameter_length > 0) { this.bore_area_radio.checked = true; this.solve(); return } return } solve = () => { if (!this.area_radio.checked && !this.rod_diameter_radio.checked && !this.bore_area_radio.checked) { this.update_radio(); return } // 0.7854 * (Cylinder Bore - Rod Diameter) = Annulus Area if (this.area_radio.checked) { this.area.value = 0.7854 * (parseFloat(this.bore_area.value) - parseFloat(this.rod_diameter.value)); return } if (this.rod_diameter_radio.checked) { this.rod_diameter.value = parseFloat(this.bore_area.value) - (parseFloat(this.area.value) / 0.7854); return } if (this.bore_area_radio.checked) { this.bore_area.value = parseFloat(this.rod_diameter.value) + (parseFloat(this.area.value) / 0.7854); return } } } let aa_calc = new AnnulusArea( document.getElementById("area"), document.getElementById("c_area"), document.getElementById("bore_area"), document.getElementById("c_bore_area"), document.getElementById("rod_diameter"), document.getElementById("c_rod_diameter") ) document.getElementById("area").addEventListener('input', aa_calc.solve); document.getElementById("bore_area").addEventListener('input', aa_calc.solve); document.getElementById("rod_diameter").addEventListener('input', aa_calc.solve);