Skip to content

Commit e5ecbed

Browse files
committed
Calendar working
1 parent 3dbc85a commit e5ecbed

File tree

5 files changed

+57
-14
lines changed

5 files changed

+57
-14
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"prettier-plugin-svelte": "^2.2.0",
3030
"sass": "^1.38.0",
3131
"svelte": "^3.34.0",
32+
"svelte-calendar": "^2.0.4",
3233
"svelte-check": "^2.0.0",
3334
"svelte-notifications": "^0.9.91",
3435
"svelte-preprocess": "^4.0.0",

src/lib/components/DateSlider.svelte

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@
1717
let num_pip_labels = 2;
1818
$: pip_step = Math.round((full_range[1]-full_range[0])/(num_pip_labels-2))
1919
20-
export let dateRange = [
21-
new Date().getTime() / MS_IN_DAY - 20,
22-
Math.round( new Date().getTime() / MS_IN_DAY)
23-
];
20+
export let dateRange;
2421
2522
function pipFormatter(value: number, _ = undefined) {
2623
return dateToString(value).split("-").slice(1,3).join("-")

src/lib/components/ResultHeading.svelte

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,31 @@
11
<script lang="ts">
22
import { dateToString } from '$lib/tools';
33
import NotificationRequester from '$lib/components/NotificationRequester.svelte';
4+
import Datepicker from 'svelte-calendar/src/Components/Datepicker.svelte';
5+
6+
import { MS_IN_DAY } from '$lib/consts'
7+
8+
49
510
export let dates: [number, number];
11+
12+
let chosenStart: Date = new Date(dates[0]*MS_IN_DAY);
13+
let chosenEnd: Date = new Date(dates[1]*MS_IN_DAY);
14+
function timeFromDate (date: Date ): number {
15+
16+
return Math.round(date.getTime() / MS_IN_DAY);
17+
};
18+
19+
function chosenStartCallback() {
20+
console.log("Start Chosen",chosenStart);
21+
dates[0]=timeFromDate(chosenStart)
22+
}
23+
function chosenEndCallback() {
24+
console.log("Start Chosen",chosenStart);
25+
dates[1]=timeFromDate(chosenEnd)
26+
}
27+
28+
629
</script>
730

831
{#if dates}
@@ -14,14 +37,19 @@
1437

1538
<h3 class="results-info__title">Showing Results</h3>
1639
<div class="results-info__body">
17-
<span class="results-info__body__marker"
18-
>From
19-
<span>{dateToString(dates[0])}</span>
20-
</span>
21-
<span class="results-info__body__marker"
22-
>To
23-
<span>{dateToString(dates[1])}</span>
24-
</span>
40+
<Datepicker bind:selected={chosenStart} on:dateSelected={chosenStartCallback} end={chosenEnd}>
41+
<span class="results-info__body__marker"
42+
>From
43+
<span>{dateToString(dates[0])}</span>
44+
</span>
45+
</Datepicker>
46+
<Datepicker bind:selected={chosenEnd} on:dateSelected={chosenEndCallback} start={chosenStart} end={new Date()}>
47+
<span class="results-info__body__marker"
48+
>To
49+
<span>{dateToString(dates[1])}</span>
50+
</span>
51+
</Datepicker>
52+
2553
</div>
2654
</div>
2755
{/if}
@@ -80,6 +108,7 @@
80108
margin-right: 1em;
81109
82110
> span {
111+
cursor: pointer;
83112
}
84113
}
85114
}

src/routes/map.svelte

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@
77
import SearchBox from '$lib/components/SearchBox.svelte';
88
import ResultHeading from '$lib/components/ResultHeading.svelte';
99
import moment, { Moment } from 'moment';
10+
import { MS_IN_DAY } from "$lib/consts";
1011
11-
let dateValues: [number, number];
12+
let dateValues: [number, number] = [
13+
new Date().getTime() / MS_IN_DAY - 20,
14+
Math.round( new Date().getTime() / MS_IN_DAY)
15+
];
1216
let geoData: Writable<null | GeoData> = writable(null);
1317
let lastUpdate: Writable<Date> = writable();
1418
let loiCount: Writable<number> = writable(0);
@@ -49,7 +53,7 @@
4953

5054
<main>
5155
<header class="header" id="header">
52-
<ResultHeading dates={dateValues} />
56+
<ResultHeading bind:dates={dateValues} />
5357
<SearchBox geoData={$geoData} probablePlaces={(p) => (places = p?.map((e) => e.index))} />
5458
<div class="copyright-notice">
5559
<a class="copyright-notice__text" href="https://github.com/minhealthnz/nz-covid-data">

yarn.lock

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1690,6 +1690,13 @@ supports-color@^7.1.0:
16901690
dependencies:
16911691
has-flag "^4.0.0"
16921692

1693+
svelte-calendar@^2.0.4:
1694+
version "2.0.4"
1695+
resolved "https://registry.yarnpkg.com/svelte-calendar/-/svelte-calendar-2.0.4.tgz#0084a9e7a0279f43aaae4b4a108b0c68a960a0ee"
1696+
integrity sha512-a9TGBCc17qrvgdO79py2whwvtgaZzOHiMMygc2aNyYzETQI/H60g3kmHyq+llDf+wSEFWqy0LO71rBrzBCfRFA==
1697+
dependencies:
1698+
timeUtils "^2.0.0"
1699+
16931700
svelte-check@^2.0.0:
16941701
version "2.2.4"
16951702
resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-2.2.4.tgz#103140eeb4bbe65721e023ab210566041abe7224"
@@ -1757,6 +1764,11 @@ text-table@^0.2.0:
17571764
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
17581765
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
17591766

1767+
timeUtils@^2.0.0:
1768+
version "2.0.0"
1769+
resolved "https://registry.yarnpkg.com/timeUtils/-/timeUtils-2.0.0.tgz#b3ac3eaa8f6d47e9ca008c76e9fd5b0f0afc18c0"
1770+
integrity sha512-rk1y/5ix4HczK3q4caEvo2iIhgRIHL6g85sX2rPNse8sKUATzYEAX1jAYYsW139aAcn1b24jV4By0SLmosQVyA==
1771+
17601772
to-regex-range@^5.0.1:
17611773
version "5.0.1"
17621774
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"

0 commit comments

Comments
 (0)