Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/lib/components/Datepicker.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import Calendar from '$lib/components/calendar/Calendar.svelte';
import { fade } from 'svelte/transition';
import { calendar as calendarDefaults } from '$lib/config/defaults';
import {createEventDispatcher} from 'svelte';

let dispatch = createEventDispatcher();

export let selected = calendarDefaults.selected;
export let start = calendarDefaults.start;
Expand All @@ -34,6 +37,9 @@

$: selected = $store.selected;
$: formatted = dayjs(selected).format(format);
const dayClick = () =>{
dispatch('dayClicked',store);
}
</script>

<Theme {defaultTheme} {theme} let:style>
Expand All @@ -45,7 +51,7 @@
</div>
</slot>
<svelte:fragment slot="contents">
<Calendar />
<Calendar on:dayClicked={dayClick} />
</svelte:fragment>
</Popover>
</Theme>
Expand Down
7 changes: 6 additions & 1 deletion src/lib/components/InlineCalendar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
import Calendar from '$lib/components/calendar/Calendar.svelte';
import CrossfadeBoundary from './generic/crossfade/CrossfadeBoundary.svelte';
import { calendar as calendarDefaults } from '$lib/config/defaults';
import {createEventDispatcher} from 'svelte';

let dispatch = createEventDispatcher();
export let selected = calendarDefaults.selected;
export let start = calendarDefaults.start;
export let end = calendarDefaults.end;
Expand All @@ -31,6 +33,9 @@

$: selected = $store.selected;
$: formatted = dayjs(selected).format(format);
const dayClick = () =>{
dispatch('dayClicked',store);
}
</script>

<CrossfadeBoundary>
Expand All @@ -42,7 +47,7 @@
on:mouseover={getFocusSetter(true)}
on:mouseout={getFocusSetter(false)}
>
<Calendar />
<Calendar on:dayClicked={dayClick} />
</div>
</Theme>
</CrossfadeBoundary>
Expand Down
7 changes: 6 additions & 1 deletion src/lib/components/calendar/Calendar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@
import CrossfadeProvider from '$lib/components/generic/crossfade/CrossfadeProvider.svelte';
import MonthPicker from '$lib/components/calendar/MonthPicker.svelte';
import YearPicker from '$lib/components/calendar/YearPicker.svelte';
import {createEventDispatcher} from 'svelte';

let dispatch = createEventDispatcher();
const dayClick = () =>{
dispatch('dayClicked',store);
}
const store = getContext(storeContextKey);
</script>

Expand All @@ -17,7 +22,7 @@
<div class="contents">
{#if $store.activeView === 'days'}
<ViewTransitionEffect>
<DayPicker />
<DayPicker on:dayClicked={dayClick} />
</ViewTransitionEffect>
{:else if $store.activeView === 'months'}
<ViewTransitionEffect>
Expand Down
4 changes: 4 additions & 0 deletions src/lib/components/calendar/DayPicker.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,14 @@
import Crossfade from '../generic/crossfade/Crossfade.svelte';
import scrollable from '$lib/directives/scrollable';
import { scrollStep } from '$lib/config/scroll';
import {createEventDispatcher} from 'svelte';

let dispatch = createEventDispatcher();
const store = getContext(storeContextKey);

const duration = 450;


const legend = Array(7)
.fill(0)
.map((d, i) =>
Expand All @@ -24,6 +27,7 @@
const add = (amount) => () => store.add(amount, 'day');

const select = (day) => () => {
dispatch('dayClicked',store);
if (!store.isSelectable(day)) return;
store.setDay(day || $store.selected);
if (!$store.shouldEnlargeDay) return store.selectDay();
Expand Down