implemented storing of data entered into a task form in localstore
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -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){
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user