diff --git a/src/components/Tracks.svelte b/src/components/Tracks.svelte index 46d549b3..34014f33 100644 --- a/src/components/Tracks.svelte +++ b/src/components/Tracks.svelte @@ -22,6 +22,34 @@ tracks_promise.then((data) => { tracksstore.set(data); }); + window.track__edit_cancel = () => { + const trackid = parseInt(window.event.target.getAttribute("data-trackid")); + // + const elem = document.querySelector( + `[data-id="triggered_table_actions_${trackid}"]` + ).parentNode.parentNode.parentNode; + console.log(elem.childNodes[1].childNodes[0].value); + // + elem.childNodes[0].innerHTML = `${elem.childNodes[0].childNodes[0].value}`; + elem.childNodes[1].innerHTML = `${elem.childNodes[1].childNodes[0].value}`; + elem.childNodes[2].innerHTML = `${elem.childNodes[2].childNodes[0].value}`; + // + document + .querySelector(`[data-id="default_table_actions_${trackid}"]`) + .classList.remove("hidden"); + document + .querySelector(`[data-id="triggered_table_actions_${trackid}"]`) + .classList.add("hidden"); + }; + window.track__edit_save = () => { + const trackid = parseInt(window.event.target.getAttribute("data-trackid")); + document + .querySelector(`[data-id="default_table_actions_${trackid}"]`) + .classList.remove("hidden"); + document + .querySelector(`[data-id="triggered_table_actions_${trackid}"]`) + .classList.add("hidden"); + }; window.track__delete_handler = () => { const trackid = parseInt(window.event.target.getAttribute("data-trackid")); // TODO: modal or double click confirmation? @@ -35,6 +63,25 @@ console.log(err); }); }; + window.track__edit_handler = () => { + const trackid = parseInt(window.event.target.getAttribute("data-trackid")); + document + .querySelector(`[data-id="default_table_actions_${trackid}"]`) + .classList.add("hidden"); + document + .querySelector(`[data-id="triggered_table_actions_${trackid}"]`) + .classList.remove("hidden"); + const elem = document.querySelector( + `[data-id="triggered_table_actions_${trackid}"]` + ).parentNode.parentNode.parentNode; + const trackname = elem.childNodes[0].textContent; + const tracklength = parseInt(elem.childNodes[1].textContent); + const trackmintime = parseInt(elem.childNodes[2].textContent); + elem.childNodes[0].innerHTML = ``; + elem.childNodes[1].innerHTML = ``; + elem.childNodes[2].innerHTML = ``; + }; + // function renderdatatable() { let tabledata = []; trackscache.forEach((track) => { @@ -43,8 +90,14 @@ track.distance, track.minimumLapTime || 0, html(` - - + +
+ + +
`), ]); });