From 3a4a5f8a226d0f592c6d1bb59a01f52261ad0537 Mon Sep 17 00:00:00 2001 From: ydb5755 Date: Wed, 9 Oct 2024 14:57:22 +0300 Subject: [PATCH] changing budget cat --- app/static/vendors.js | 42 +++++++++++++++++++++++++++++++++++++ app/templates/vendors.html | 4 ++++ instance/site.db | Bin 40960 -> 40960 bytes 3 files changed, 46 insertions(+) diff --git a/app/static/vendors.js b/app/static/vendors.js index 74d8388..c92feca 100644 --- a/app/static/vendors.js +++ b/app/static/vendors.js @@ -1,14 +1,56 @@ const delButtons = document.getElementsByClassName('del-button'); +const reassignButtons = document.getElementsByClassName('reassign-button'); async function deleteVendor(id){ var result = await fetch(`/delete_vendor/${id}`, {method:'POST'}); var data = await result.json(); document.getElementById(`${id}-row`).remove(); } + +function startEditMode(id){ + for(let i = 0; i < reassignButtons.length; i++){ + reassignButtons[i].disabled = true; + } + + const handleKeydown = (e) => { + if (e.key === 'Enter') { + document.removeEventListener('keydown', handleKeydown); + const vendor = document.getElementById(`bc-line-${id}`); + const vendorInput = document.getElementById(`bc-input-${id}`); + vendor.innerText = vendorInput.value; + if (vendorInput.parentNode) { + vendorInput.parentNode.removeChild(vendorInput); + } + + for(let i = 0; i < reassignButtons.length; i++){ + reassignButtons[i].disabled = false; + } + } + }; + + document.addEventListener('keydown', handleKeydown); + + const vendor = document.getElementById(`bc-line-${id}`); + console.log(id) + var placeholderText = vendor.innerText + vendor.innerText = '' + var inputElem = document.createElement("input"); + inputElem.value = placeholderText; + inputElem.id = `bc-input-${id}` + vendor.appendChild(inputElem); + inputElem.focus() +} + + document.addEventListener("DOMContentLoaded", (event) => { for(let i = 0; i < delButtons.length; i++){ delButtons[i].addEventListener('click', e => { deleteVendor(parseInt(e.target.id)); }) } + for(let i = 0; i < reassignButtons.length; i++){ + reassignButtons[i].addEventListener('click', e => { + startEditMode(parseInt(e.target.id)); + }) + } }); \ No newline at end of file diff --git a/app/templates/vendors.html b/app/templates/vendors.html index 1527212..b6dbb9b 100644 --- a/app/templates/vendors.html +++ b/app/templates/vendors.html @@ -23,6 +23,8 @@ ID Name + Budget Category + Change Budget Category Delete @@ -31,6 +33,8 @@ {{vendor[0].id}} {{vendor[0].name}} + {{vendor[0].get_budget_category().name}} + {% endfor %} diff --git a/instance/site.db b/instance/site.db index 4db0c73af170e2ab843297bd7f578b59f33b6537..02fd71ec85c961c4c6c2347e6341e860b92b0226 100644 GIT binary patch delta 64 zcmZoTz|?SnX@WFk#zYxs#*B>#*YuhA?r#`MF()AY;g8K>=}I SE)I4n76xGkkZ^45VkZD;z7Y-p delta 52 zcmZoTz|?SnX@WFk%0wAw#*~c-*Yr0F3T))t{M;@?kTH0(pny0p7l#xJgD69BadGkH I*x1ER0M5V=e*gdg