You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.8 KiB
JavaScript

function setShare(pct) {
const el = document.getElementById('a_share');
if (el) el.value = Number(pct).toFixed(4);
}
function onKindChange(kind) {
const a_share = document.getElementById('a_share');
const presets = document.getElementById('presets');
if (!a_share || !presets) return;
if (kind === 'transfer') {
a_share.style.display = 'none';
presets.style.display = 'none';
} else {
a_share.style.display = '';
presets.style.display = '';
}
}
document.addEventListener('DOMContentLoaded', () => {
// default your share to 2/3
setShare(66.6667);
// wire presets
const p50 = document.getElementById('p50');
const p66 = document.getElementById('p66');
const p33 = document.getElementById('p33');
if (p50) p50.addEventListener('click', () => setShare(50));
if (p66) p66.addEventListener('click', () => setShare(66.6667));
if (p33) p33.addEventListener('click', () => setShare(33.3333));
// wire kind radios
const bill = document.getElementById('k_bill');
const xfer = document.getElementById('k_xfer');
if (bill) bill.addEventListener('change', () => onKindChange('bill'));
if (xfer) xfer.addEventListener('change', () => onKindChange('transfer'));
onKindChange((xfer && xfer.checked) ? 'transfer' : 'bill');
// inline edit toggles
document.querySelectorAll('[data-edit]').forEach(btn => {
btn.addEventListener('click', () => {
const id = btn.getAttribute('data-edit');
const row = document.getElementById(`edit-row-${id}`);
if (row) row.style.display = row.style.display === 'none' ? '' : 'none';
});
});
document.querySelectorAll('[data-cancel-edit]').forEach(btn => {
btn.addEventListener('click', () => {
const id = btn.getAttribute('data-cancel-edit');
const row = document.getElementById(`edit-row-${id}`);
if (row) row.style.display = 'none';
});
});
});