expose task sorting mode options to the user. No clue why anything but the status will be used, but why not.
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-12-04 12:17:02 +01:00
parent 4451b6c3c1
commit c2d7806fd3
4 changed files with 17 additions and 4 deletions
+3 -1
View File
@@ -134,7 +134,9 @@
{/if}
</OptionRow>
{/if}
{#if hideInactive}
{#if project.taskSortFields.length > 0 && !project.taskSortFields[0].includes("status")}
<TaskList header="" tasks={project.tasks} project={project} showAllOptions={showAllOptions} />
{:else if hideInactive}
<TaskList header="" tasks={nonHiddenTasks} project={project} showAllOptions={showAllOptions} />
{:else}
<TaskList header="Active" tasks={activeTasks} project={project} showAllOptions={showAllOptions} />
+7
View File
@@ -32,6 +32,8 @@
favorite: false,
subtractAmount: 0,
tags: [],
taskSortFields: ["status"],
subtractions: [],
}
let verb = "Add";
if (md.name === "project.edit" || md.name === "project.delete") {
@@ -55,6 +57,7 @@
let error = null;
let loading = false;
let tags = project.tags.join(", ");
let taskSortFields = project.taskSortFields.join(", ");
function onSubmit() {
loading = true;
@@ -71,6 +74,7 @@
statusTag: statusTag !== "" ? statusTag : null,
subtractAmount: Math.min(subtractAmount, 0),
tags: tags.length > 0 ? tags.split(",").map(t => t.trim()) : [],
taskSortFields: taskSortFields.length > 0 ? taskSortFields.split(",").map(t => t.trim()) : [],
name, description, icon, favorite,
}).then(newProject => {
@@ -104,6 +108,7 @@
clearStatusTag: statusTag === "",
subtractAmount: subtractAmount,
setTags: tags.length > 0 ? tags.split(",").map(t => t.trim()) : [],
taskSortFields: taskSortFields.length > 0 ? taskSortFields.split(",").map(t => t.trim()) : [],
name, description, icon, favorite,
}).then(() => {
@@ -149,6 +154,8 @@
<StatusTagSelect disabled={deletion} isProject bind:value={statusTag} />
<label for="tags">Tags (Comma Separated)</label>
<input disabled={deletion} name="tags" type="text" bind:value={tags} />
<label for="tags">Task sorting fields (Comma Separated; time, name, status)</label>
<input disabled={deletion} name="tags" type="text" bind:value={taskSortFields} />
<Checkbox disabled={deletion} bind:checked={favorite} label="Mark as favorite." />
+3
View File
@@ -13,6 +13,7 @@ export default interface Project {
favorite: boolean
subtractAmount: number
tags: string[]
taskSortFields: string[]
startTime?: string
endTime?: string
statusTag?: string
@@ -47,6 +48,7 @@ export interface ProjectInput {
statusTag?: string
favorite?: boolean
tags?: string[]
taskSortFields?: string[]
}
export interface ProjectUpdate {
@@ -64,4 +66,5 @@ export interface ProjectUpdate {
subtractAmount?: number
favorite?: boolean
setTags?: string[]
taskSortFields?: string[]
}