implemented storing of data entered into a task form in localstore
All checks were successful
Build Docker Image / Docker-Build (push) Successful in 2m33s
Build Docker Image / Clean-Registry (push) Successful in -4s

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2026-02-03 14:05:48 +01:00
parent f83257eb59
commit 9a27a501a8
2 changed files with 23 additions and 14 deletions

View File

@@ -6,6 +6,7 @@
let {
editable = true,
onclick = evt => {},
onRender = src => {},
onSet = newVal => {return true;},
simple = false,
type = 'div',
@@ -50,6 +51,7 @@
body : editValue.source
});
editValue.rendered = await resp.text();
onRender(editValue.source);
}
function typed(ev){

View File

@@ -16,8 +16,8 @@
let extendedSettings = $state(false);
let parent_task = $state(null);
let task = $state({
name : '',
description : { source : '', rendered : '' },
name : localStorage.getItem('task.name'),
description : { source : localStorage.getItem('task.markdown'), rendered : '' },
due_date : null,
est_time : null,
members : {},
@@ -42,6 +42,14 @@
/// TODO: ?
}
async function getCandidates(text){
const origin = parent_task ? parent_task.members : project.members;
const candidates = Object.values(origin)
.filter(member => member.user.name.toLowerCase().includes(text.toLowerCase()))
.map(member => [member.user.id,member.user.name]);
return Object.fromEntries(candidates);
}
async function load(){
if (parent_task_id) await loadParent();
if (project_id) loadProject();
@@ -87,15 +95,6 @@
}
}
async function getCandidates(text){
const origin = parent_task ? parent_task.members : project.members;
const candidates = Object.values(origin)
.filter(member => member.user.name.toLowerCase().includes(text.toLowerCase()))
.map(member => [member.user.id,member.user.name]);
return Object.fromEntries(candidates);
}
function onkeydown(e){
if (e.ctrlKey && e.keyCode === 83) {
e.preventDefault();
@@ -111,6 +110,8 @@
body : JSON.stringify(task)
});
if (resp.ok) {
localStorage.removeItem('task.markdown');
localStorage.removeItem('task.name');
if (!assignee) { // if assignee is set, this form was opened within an external context. hence we don`t want to navigate somewhere else!
task = await resp.json();
if (task.parent_task_id){
@@ -123,6 +124,12 @@
}
}
function storeSource(markdown){
if (markdown) localStorage.setItem('task.markdown',markdown);
localStorage.setItem('task.name',task.name);
}
function toggleSettings(){
extendedSettings = !extendedSettings;
}
@@ -172,7 +179,7 @@
{t('description')}
</th>
<td>
<MarkdownEditor bind:value={task.description} simple={true} />
<MarkdownEditor bind:value={task.description} onRender={storeSource} simple={true} />
</td>
</tr>
<tr>