Browse Source

working on task creation form

kanban
Stephan Richter 3 months ago
parent
commit
aff0614d2e
  1. 6
      core/src/main/java/de/srsoftware/umbrella/core/model/Task.java
  2. 66
      frontend/src/routes/task/Add.svelte
  3. 6
      translations/src/main/resources/de.json

6
core/src/main/java/de/srsoftware/umbrella/core/model/Task.java

@ -65,6 +65,10 @@ public record Task(long id, long projectId, Long parentTaskId, String name, Stri @@ -65,6 +65,10 @@ public record Task(long id, long projectId, Long parentTaskId, String name, Stri
@Override
public Map<String, Object> toMap() {
var map = new HashMap<String,Object>();
var memberMap = new HashMap<Long,Map<String,Object>>();
if (members != null) for (var entry : members.entrySet()){
memberMap.put(entry.getKey(),entry.getValue().toMap());
}
map.put(ID, id);
map.put(PROJECT_ID, projectId);
map.put(PARENT_TASK_ID, parentTaskId);
@ -76,6 +80,8 @@ public record Task(long id, long projectId, Long parentTaskId, String name, Stri @@ -76,6 +80,8 @@ public record Task(long id, long projectId, Long parentTaskId, String name, Stri
map.put(DUE_DATE,dueDate);
map.put(SHOW_CLOSED,showClosed);
map.put(NO_INDEX,noIndex);
map.put(MEMBERS,memberMap);
return map;
}

66
frontend/src/routes/task/Add.svelte

@ -10,7 +10,8 @@ @@ -10,7 +10,8 @@
let { project_id = null } = $props();
let error = $state(null);
let project = $state(null)
let project = $state(null);
let extendedSettings = $state(false);
let task = $state({
name : '',
description : { source : '', rendered : '' },
@ -67,6 +68,10 @@ @@ -67,6 +68,10 @@
}
}
function toggleSettings(){
extendedSettings = !extendedSettings;
}
onMount(load);
</script>
@ -98,9 +103,10 @@ @@ -98,9 +103,10 @@
{t('description')}
</th>
<td>
<MarkdownEditor bind:value={task.description} simple={true}/>
<MarkdownEditor bind:value={task.description} simple={true} />
</td>
</tr>
{#if extendedSettings}
<tr>
<th>
{t('members')}
@ -109,6 +115,62 @@ @@ -109,6 +115,62 @@
<MemberEditor members={task.members} {addMember} {getCandidates} {dropMember} />
</td>
</tr>
<tr>
<th>
{t('estimated_time')}
</th>
<td>
<input type="number" /> {t('hours')}
</td>
</tr>
<tr>
<th>
{t('start_date')}
</th>
<td>
<input type="date" />
</td>
</tr>
<tr>
<th>
{t('due_date')}
</th>
<td>
<input type="date" />
</td>
</tr>
<tr>
<th>
{t('subtasks')}
</th>
<td>
<label>
<input type="checkbox" >
{t('display_closed_tasks')}
</label>
</td>
</tr>
<tr>
<th>
{t('index_page')}
</th>
<td>
<label>
<input type="checkbox" >
{t('hide_on_index_page')}
</label>
</td>
</tr>
{:else}
<tr>
<th>
{t('extended_settings')}
</th>
<td>
<button onclick={toggleSettings}>{t('show')}</button>
</td>
</tr>
{/if}
</tbody>
</table>
<button onclick={saveTask}>{t('save_task')}</button>

6
translations/src/main/resources/de.json

@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
"bookmark": "Lesezeichen",
"by": "von",
"client_id": "Client-ID",
"client_secret": "Client-Geheimnis",
"code": "Code",
@ -52,6 +53,7 @@ @@ -52,6 +53,7 @@
"do_login" : "anmelden",
"do_send" : "versenden",
"double_click_to_edit": "Doppel-klicken zum Bearbeiten",
"due_date": "Fälligkeitsdatum",
"edit": "Bearbeiten",
"editing": "Nutzer {0} bearbeiten",
@ -75,11 +77,13 @@ @@ -75,11 +77,13 @@
"gross_sum": "Brutto-Summe",
"head": "Kopf-Text",
"hide_on_index_page": "Nicht in der Aufgabenübersicht anzeigen",
"hours": "Stunden",
"id": "Id",
"impersonate": "zu Nutzer wechseln",
"IMPERSONATE": "Nutzer wechseln",
"index_page": "Aufgabenübersicht",
"invoice": "Rechnung",
"items": "Artikel",
@ -173,6 +177,8 @@ @@ -173,6 +177,8 @@
"sent_email": "Email gesendet",
"service": "Service",
"settings" : "Einstellungen",
"show": "anzeigen",
"start_date": "Startdatum",
"state": "Status",
"state_cancelled": "abgebrochen",
"state_complete": "abgeschlossen",

Loading…
Cancel
Save