fix date range behavior to be more strongly typed, last 7 days is not an alias for a static date range.
This commit is contained in:
@@ -3,14 +3,15 @@
|
||||
import Modal from "../components/Modal.svelte";
|
||||
import modalStore from "../stores/modal";
|
||||
import type { GoalResult } from "../models/goal";
|
||||
import { formatFormTime, nextMonth } from "../utils/time";
|
||||
import { nextMonth } from "../utils/time";
|
||||
import GroupSelect from "../components/GroupSelect.svelte";
|
||||
import markStale from "../stores/markStale";
|
||||
import Checkbox from "../components/Checkbox.svelte";
|
||||
import GroupItemSelect from "../components/GroupItemSelect.svelte";
|
||||
import groupStore from "../stores/group";
|
||||
import type { GroupResult } from "../models/group";
|
||||
import DateRangeSelect from "../components/DateRangeSelect.svelte";
|
||||
import Checkbox from "../components/Checkbox.svelte";
|
||||
import GroupItemSelect from "../components/GroupItemSelect.svelte";
|
||||
import groupStore from "../stores/group";
|
||||
import type { GroupResult } from "../models/group";
|
||||
import DateRangeSelect from "../components/DateRangeSelect.svelte";
|
||||
import { allOffsets, rangeFromDates } from "../utils/date-range";
|
||||
|
||||
export let deletion = false;
|
||||
export let creation = false;
|
||||
@@ -48,8 +49,7 @@ import DateRangeSelect from "../components/DateRangeSelect.svelte";
|
||||
let unweighted = goal.unweighted;
|
||||
let itemId = goal.itemId || "";
|
||||
let compositionMode = goal.compositionMode;
|
||||
let startTime = formatFormTime(goal.startTime);
|
||||
let endTime = formatFormTime(goal.endTime);
|
||||
let range = rangeFromDates(new Date(goal.startTime), new Date(goal.endTime), allOffsets);
|
||||
let taskFilter = goal.taskFilter || "";
|
||||
let itemFilter = goal.itemFilter || "";
|
||||
|
||||
@@ -59,11 +59,11 @@ import DateRangeSelect from "../components/DateRangeSelect.svelte";
|
||||
|
||||
function onSubmit() {
|
||||
loading = true;
|
||||
const [startTime, endTime] = range.calculate(new Date());
|
||||
|
||||
if (creation) {
|
||||
stuffLogClient.createGoal({
|
||||
startTime: new Date(startTime),
|
||||
endTime: new Date(endTime),
|
||||
startTime, endTime,
|
||||
itemId: itemId || null,
|
||||
taskFilter: taskFilter.toLowerCase() || null,
|
||||
itemFilter: itemFilter.toLowerCase() || null,
|
||||
@@ -87,8 +87,7 @@ import DateRangeSelect from "../components/DateRangeSelect.svelte";
|
||||
})
|
||||
} else {
|
||||
stuffLogClient.updateGoal(goal.id, {
|
||||
startTime: new Date(startTime),
|
||||
endTime: new Date(endTime),
|
||||
startTime, endTime,
|
||||
itemId: itemId || null,
|
||||
clearItemId: itemId === "",
|
||||
taskFilter: taskFilter.toLowerCase() || null,
|
||||
@@ -134,7 +133,7 @@ import DateRangeSelect from "../components/DateRangeSelect.svelte";
|
||||
<option value="task" selected={"task" === compositionMode}>Task</option>
|
||||
<option value="project" selected={"project" === compositionMode}>Project</option>
|
||||
</select>
|
||||
<DateRangeSelect disabled={deletion} bind:fromValue={startTime} bind:toValue={endTime} />
|
||||
<DateRangeSelect disabled={deletion} bind:value={range} />
|
||||
<label for="taskFilter">Task Filter (Optional)</label>
|
||||
<input disabled={deletion} name="taskFilter" type="text" bind:value={taskFilter} />
|
||||
<label for="itemFilter">Item Filter (Optional)</label>
|
||||
|
||||
Reference in New Issue
Block a user