From: Christian Heller Date: Sat, 1 Mar 2025 01:44:56 +0000 (+0100) Subject: In /edit_structured view, put line movement buttons to left side. X-Git-Url: https://plomlompom.com/repos/booking/%7B%7Bprefix%7D%7D/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bdb.prefix%7D%7D/day_todos?a=commitdiff_plain;p=ledgplom In /edit_structured view, put line movement buttons to left side. --- diff --git a/src/templates/edit_structured.tmpl b/src/templates/edit_structured.tmpl index 510ca84..70df624 100644 --- a/src/templates/edit_structured.tmpl +++ b/src/templates/edit_structured.tmpl @@ -93,11 +93,27 @@ function update_form() { function add_td_input(name, value, size=20, colspan=1) { return add_input(setup_input_td(tr, colspan), name, value, size); } + + // movement buttons + const td_btns_updown = add_td(tr); + if (i > 0) { + [{label: '^', earlier_idx: i-1, enabled: i > 1}, + {label: 'v', earlier_idx: i, enabled: i && i+1 < dat_lines.length} + ].forEach((kwargs) => { + add_button(td_btns_updown, kwargs.label, ! kwargs.enabled, function() { + const other_line = dat_lines[kwargs.earlier_idx]; + dat_lines.splice(kwargs.earlier_idx, 1); + dat_lines.splice(kwargs.earlier_idx + 1, 0, other_line); + }); + }); + } + + // actual input lines if (dat_line.is_intro) { const td = setup_input_td(tr, 3); const date_input = add_input(td, 'date', dat_line.booking_line.date, 10) date_input.classList.add('date_input'); - add_input(td, 'target', dat_line.booking_line.target, 35) + add_input(td, 'target', dat_line.booking_line.target, 37) } else if (!dat_line.error) { // i.e. valid TransferLine const acc_input = add_td_input('account', dat_line.booking_line.account, 30); acc_input.setAttribute ('list', 'all_accounts'); @@ -116,20 +132,11 @@ function update_form() { } add_td_input('comment', dat_line.comment, 40); - // add action buttons, with "delete" after some safety distance - const td_btns = add_td(tr); - add_button(td_btns, '^', i > 1 ? false : true, function() { - const prev_line = dat_lines[i-1]; - dat_lines.splice(i-1, 1); - dat_lines.splice(i, 0, prev_line); - }); - add_button(td_btns, 'v', (i && i+1 < dat_lines.length) ? false : true, function() { - const next_line = dat_lines[i]; - dat_lines.splice(i, 1); - dat_lines.splice(i+1, 0, next_line); - }); - td_btns.appendChild(document.createTextNode(' · · · ')) - add_button(td_btns, 'delete', i > 0 ? false : true, function() { dat_lines.splice(i, 1); }); + // delete button + td_del = add_td(tr); + if (i > 0) { + add_button(td_del, 'delete', i > 0 ? false : true, function() { dat_lines.splice(i, 1); }); + } // add error explanation row if necessary if (dat_line.error) {