feat: Creating the base of application

This commit is contained in:
gauvainboiche
2026-08-01 17:34:23 +02:00
parent c84d6f05ec
commit 7a7815f3bd
11 changed files with 773 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
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);
});
}