Files
ketapk/frontend/js/calculator.js
T
2026-08-01 17:34:23 +02:00

38 lines
1.3 KiB
JavaScript

import { CalculatorEngine } from '../pkCore.js';
export function initCalculatorUI() {
const weightInput = document.getElementById('calcWeight');
const concInput = document.getElementById('calcConc');
// Conversion Bolus
const mgInput = document.getElementById('calcMg');
const mgKgInput = document.getElementById('calcMgKg');
// Conversion Perfusion
const mgKgHInput = document.getElementById('calcMgKgH');
const ugKgMinInput = document.getElementById('calcUgKgMin');
// 1. Bolus mg <-> mg/kg
mgInput.addEventListener('input', () => {
const w = parseFloat(weightInput.value) || 70;
const mg = parseFloat(mgInput.value) || 0;
mgKgInput.value = CalculatorEngine.mgToMgKg(mg, w).toFixed(2);
});
mgKgInput.addEventListener('input', () => {
const w = parseFloat(weightInput.value) || 70;
const mgKg = parseFloat(mgKgInput.value) || 0;
mgInput.value = CalculatorEngine.mgKgToMg(mgKg, w).toFixed(1);
});
// 2. Vitesse mg/kg/h <-> µg/kg/min
mgKgHInput.addEventListener('input', () => {
const mgKgH = parseFloat(mgKgHInput.value) || 0;
ugKgMinInput.value = CalculatorEngine.mgKgHToMicrogKgMin(mgKgH).toFixed(1);
});
ugKgMinInput.addEventListener('input', () => {
const ugKgMin = parseFloat(ugKgMinInput.value) || 0;
mgKgHInput.value = CalculatorEngine.microgKgMinToMgKgH(ugKgMin).toFixed(2);
});
}