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.
53 lines
1.8 KiB
JavaScript
53 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 shareWrap = document.getElementById('share-wrap');
|
|
const presets = document.getElementById('presets');
|
|
if (!shareWrap || !presets) return;
|
|
if (kind === 'transfer') {
|
|
shareWrap.style.display = '';
|
|
presets.style.display = '';
|
|
} else {
|
|
shareWrap.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';
|
|
});
|
|
});
|
|
});
|