@event-calendar/core 4.5.1 → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.css +2 -1
- package/dist/index.js +37 -17
- package/package.json +1 -1
- package/src/plugins/resource-timeline/Body.svelte +2 -2
- package/src/plugins/resource-timeline/Days.svelte +4 -6
- package/src/plugins/resource-timeline/Label.svelte +11 -3
- package/src/plugins/resource-timeline/Sidebar.svelte +10 -3
- package/src/plugins/resource-timeline/index.js +1 -0
- package/src/styles/timeline.scss +1 -0
package/README.md
CHANGED
|
@@ -243,8 +243,8 @@ This bundle contains a version of the calendar that includes all plugins and is
|
|
|
243
243
|
|
|
244
244
|
The first step is to include the following lines of code in the `<head>` section of your page:
|
|
245
245
|
```html
|
|
246
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@4.5.
|
|
247
|
-
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@4.5.
|
|
246
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@4.5.2/dist/event-calendar.min.css">
|
|
247
|
+
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@4.5.2/dist/event-calendar.min.js"></script>
|
|
248
248
|
```
|
|
249
249
|
|
|
250
250
|
<details>
|
package/dist/index.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* EventCalendar v4.5.
|
|
2
|
+
* EventCalendar v4.5.2
|
|
3
3
|
* https://github.com/vkurko/calendar
|
|
4
4
|
*/
|
|
5
5
|
.ec {
|
|
@@ -185,6 +185,7 @@
|
|
|
185
185
|
}
|
|
186
186
|
.ec-timeline .ec-sidebar .ec-resource span {
|
|
187
187
|
padding-top: 8px;
|
|
188
|
+
height: fit-content;
|
|
188
189
|
}
|
|
189
190
|
|
|
190
191
|
.ec-time-grid .ec-body .ec-event {
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* EventCalendar v4.5.
|
|
2
|
+
* EventCalendar v4.5.2
|
|
3
3
|
* https://github.com/vkurko/calendar
|
|
4
4
|
*/
|
|
5
5
|
import { tick, getContext, untrack, setContext, onMount, mount, unmount } from "svelte";
|
|
@@ -5210,9 +5210,10 @@ function Label($$anchor, $$props) {
|
|
|
5210
5210
|
$.push($$props, true);
|
|
5211
5211
|
const [$$stores, $$cleanup] = $.setup_stores();
|
|
5212
5212
|
const $resourceLabelContent = () => $.store_get(resourceLabelContent, "$resourceLabelContent", $$stores);
|
|
5213
|
+
const $_resHs = () => $.store_get(_resHs, "$_resHs", $$stores);
|
|
5213
5214
|
const $resourceLabelDidMount = () => $.store_get(resourceLabelDidMount, "$resourceLabelDidMount", $$stores);
|
|
5214
5215
|
let date = $.prop($$props, "date", 3, void 0);
|
|
5215
|
-
let { resourceLabelContent, resourceLabelDidMount } = getContext("state");
|
|
5216
|
+
let { resourceLabelContent, resourceLabelDidMount, _resHs } = getContext("state");
|
|
5216
5217
|
let el = $.state(void 0);
|
|
5217
5218
|
let content = $.derived(() => {
|
|
5218
5219
|
if ($resourceLabelContent()) {
|
|
@@ -5224,6 +5225,13 @@ function Label($$anchor, $$props) {
|
|
|
5224
5225
|
return $$props.resource.title;
|
|
5225
5226
|
}
|
|
5226
5227
|
});
|
|
5228
|
+
$.user_effect(() => {
|
|
5229
|
+
$.get(content);
|
|
5230
|
+
untrack(() => {
|
|
5231
|
+
$_resHs().set($$props.resource, ceil(height($.get(el)) + 10));
|
|
5232
|
+
$.store_set(_resHs, $_resHs());
|
|
5233
|
+
});
|
|
5234
|
+
});
|
|
5227
5235
|
onMount(() => {
|
|
5228
5236
|
if (isFunction($resourceLabelDidMount())) {
|
|
5229
5237
|
$resourceLabelDidMount()({
|
|
@@ -5316,28 +5324,35 @@ $.delegate(["click"]);
|
|
|
5316
5324
|
var root_1$3 = $.from_html(`<div role="rowheader"><!> <!></div>`);
|
|
5317
5325
|
var root$5 = $.from_html(`<div><div></div> <div></div></div>`);
|
|
5318
5326
|
function Sidebar($$anchor, $$props) {
|
|
5319
|
-
$.push($$props,
|
|
5327
|
+
$.push($$props, true);
|
|
5320
5328
|
const [$$stores, $$cleanup] = $.setup_stores();
|
|
5329
|
+
const $_viewResources = () => $.store_get(_viewResources, "$_viewResources", $$stores);
|
|
5330
|
+
const $_resHs = () => $.store_get(_resHs, "$_resHs", $$stores);
|
|
5321
5331
|
const $_bodyEl = () => $.store_get(_bodyEl, "$_bodyEl", $$stores);
|
|
5322
5332
|
const $theme = () => $.store_get(theme, "$theme", $$stores);
|
|
5323
5333
|
const $_headerHeight = () => $.store_get(_headerHeight, "$_headerHeight", $$stores);
|
|
5324
5334
|
const $_sidebarEl = () => $.store_get(_sidebarEl, "$_sidebarEl", $$stores);
|
|
5325
|
-
const $
|
|
5326
|
-
const $_resHs = () => $.store_get(_resHs, "$_resHs", $$stores);
|
|
5335
|
+
const $_daysHs = () => $.store_get(_daysHs, "$_daysHs", $$stores);
|
|
5327
5336
|
const $_nestedResources = () => $.store_get(_nestedResources, "$_nestedResources", $$stores);
|
|
5328
5337
|
let {
|
|
5329
5338
|
_viewResources,
|
|
5330
5339
|
_headerHeight,
|
|
5331
5340
|
_bodyEl,
|
|
5341
|
+
_daysHs,
|
|
5332
5342
|
_resHs,
|
|
5333
5343
|
_sidebarEl,
|
|
5334
5344
|
_nestedResources,
|
|
5335
5345
|
theme
|
|
5336
5346
|
} = getContext("state");
|
|
5347
|
+
$.user_pre_effect(() => {
|
|
5348
|
+
$_viewResources();
|
|
5349
|
+
untrack(() => {
|
|
5350
|
+
$_resHs().clear();
|
|
5351
|
+
});
|
|
5352
|
+
});
|
|
5337
5353
|
function onwheel(jsEvent) {
|
|
5338
5354
|
$_bodyEl().scrollBy({ top: jsEvent.deltaY < 0 ? -30 : 30 });
|
|
5339
5355
|
}
|
|
5340
|
-
$.init();
|
|
5341
5356
|
var div = root$5();
|
|
5342
5357
|
var div_1 = $.child(div);
|
|
5343
5358
|
var div_2 = $.sibling(div_1, 2);
|
|
@@ -5368,7 +5383,9 @@ function Sidebar($$anchor, $$props) {
|
|
|
5368
5383
|
$.set_class(div_3, 1, $theme().resource);
|
|
5369
5384
|
$.set_style(div_3, `flex-basis: ${$0 ?? ""}px`);
|
|
5370
5385
|
},
|
|
5371
|
-
[
|
|
5386
|
+
[
|
|
5387
|
+
() => max($_daysHs().get($.get(resource)) ?? 0, $_resHs().get($.get(resource)) ?? 0, 34)
|
|
5388
|
+
]
|
|
5372
5389
|
);
|
|
5373
5390
|
$.append($$anchor2, div_3);
|
|
5374
5391
|
});
|
|
@@ -5844,20 +5861,21 @@ function Days($$anchor, $$props) {
|
|
|
5844
5861
|
const $_filteredEvents = () => $.store_get(_filteredEvents, "$_filteredEvents", $$stores);
|
|
5845
5862
|
const $slotDuration = () => $.store_get(slotDuration, "$slotDuration", $$stores);
|
|
5846
5863
|
const $_iEvents = () => $.store_get(_iEvents, "$_iEvents", $$stores);
|
|
5847
|
-
const $
|
|
5864
|
+
const $_daysHs = () => $.store_get(_daysHs, "$_daysHs", $$stores);
|
|
5848
5865
|
const $theme = () => $.store_get(theme, "$theme", $$stores);
|
|
5866
|
+
const $_resHs = () => $.store_get(_resHs, "$_resHs", $$stores);
|
|
5849
5867
|
let {
|
|
5850
5868
|
_viewDates,
|
|
5851
5869
|
_filteredEvents,
|
|
5852
5870
|
_iEvents,
|
|
5853
|
-
_resHs,
|
|
5854
5871
|
_dayTimeLimits,
|
|
5872
|
+
_daysHs,
|
|
5873
|
+
_resHs,
|
|
5855
5874
|
slotDuration,
|
|
5856
5875
|
theme,
|
|
5857
5876
|
validRange
|
|
5858
5877
|
} = getContext("state");
|
|
5859
5878
|
let refs = [];
|
|
5860
|
-
let height2 = $.state(0);
|
|
5861
5879
|
let $$d = $.derived(() => {
|
|
5862
5880
|
let start2 = cloneDate(limitToRange($_viewDates()[0], $validRange()));
|
|
5863
5881
|
let end2 = cloneDate(limitToRange($_viewDates().at(-1), $validRange()));
|
|
@@ -5900,9 +5918,8 @@ function Days($$anchor, $$props) {
|
|
|
5900
5918
|
return chunk;
|
|
5901
5919
|
}));
|
|
5902
5920
|
function reposition() {
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
$.store_set(_resHs, $_resHs());
|
|
5921
|
+
$_daysHs().set($$props.resource, ceil(max(...runReposition(refs, $_viewDates()))) + 10);
|
|
5922
|
+
$.store_set(_daysHs, $_daysHs());
|
|
5906
5923
|
}
|
|
5907
5924
|
var div = root$2();
|
|
5908
5925
|
$.each(div, 5, $_viewDates, $.index, ($$anchor2, date, i) => {
|
|
@@ -5938,7 +5955,9 @@ function Days($$anchor, $$props) {
|
|
|
5938
5955
|
$.set_class(div, 1, $theme().days);
|
|
5939
5956
|
$.set_style(div, `flex-basis: ${$0 ?? ""}px`);
|
|
5940
5957
|
},
|
|
5941
|
-
[
|
|
5958
|
+
[
|
|
5959
|
+
() => max($_daysHs().get($$props.resource) ?? 0, $_resHs().get($$props.resource) ?? 0, 34)
|
|
5960
|
+
]
|
|
5942
5961
|
);
|
|
5943
5962
|
$.append($$anchor, div);
|
|
5944
5963
|
var $$pop = $.pop({ reposition });
|
|
@@ -5956,7 +5975,7 @@ function Body($$anchor, $$props) {
|
|
|
5956
5975
|
const $scrollTime = () => $.store_get(scrollTime, "$scrollTime", $$stores);
|
|
5957
5976
|
const $slotDuration = () => $.store_get(slotDuration, "$slotDuration", $$stores);
|
|
5958
5977
|
const $slotWidth = () => $.store_get(slotWidth, "$slotWidth", $$stores);
|
|
5959
|
-
const $
|
|
5978
|
+
const $_daysHs = () => $.store_get(_daysHs, "$_daysHs", $$stores);
|
|
5960
5979
|
const $_viewResources = () => $.store_get(_viewResources, "$_viewResources", $$stores);
|
|
5961
5980
|
const $_filteredEvents = () => $.store_get(_filteredEvents, "$_filteredEvents", $$stores);
|
|
5962
5981
|
const $_headerEl = () => $.store_get(_headerEl, "$_headerEl", $$stores);
|
|
@@ -5974,7 +5993,7 @@ function Body($$anchor, $$props) {
|
|
|
5974
5993
|
_dayTimes,
|
|
5975
5994
|
_dayTimeLimits,
|
|
5976
5995
|
_recheckScrollable,
|
|
5977
|
-
|
|
5996
|
+
_daysHs,
|
|
5978
5997
|
_viewResources,
|
|
5979
5998
|
_viewDates,
|
|
5980
5999
|
scrollTime,
|
|
@@ -5994,7 +6013,7 @@ function Body($$anchor, $$props) {
|
|
|
5994
6013
|
untrack(scrollToTime);
|
|
5995
6014
|
});
|
|
5996
6015
|
function reposition() {
|
|
5997
|
-
$
|
|
6016
|
+
$_daysHs().clear();
|
|
5998
6017
|
runReposition(refs, $_viewResources());
|
|
5999
6018
|
}
|
|
6000
6019
|
$.user_effect(() => {
|
|
@@ -6219,6 +6238,7 @@ const index = {
|
|
|
6219
6238
|
state._headerHeight = writable(0);
|
|
6220
6239
|
state._dayTimeLimits = dayTimeLimits(state);
|
|
6221
6240
|
state._dayTimes = dayTimes(state);
|
|
6241
|
+
state._daysHs = writable(/* @__PURE__ */ new Map());
|
|
6222
6242
|
state._nestedResources = nestedResources(state);
|
|
6223
6243
|
state._resHs = writable(/* @__PURE__ */ new Map());
|
|
6224
6244
|
state._sidebarEl = writable(void 0);
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import Days from './Days.svelte';
|
|
6
6
|
|
|
7
7
|
let {_bodyEl, _bodyHeight, _bodyWidth, _bodyScrollLeft, _headerEl, _filteredEvents, _sidebarEl, _dayTimes, _dayTimeLimits,
|
|
8
|
-
_recheckScrollable,
|
|
8
|
+
_recheckScrollable, _daysHs, _viewResources, _viewDates, scrollTime, slotDuration, slotWidth, theme} = getContext('state');
|
|
9
9
|
|
|
10
10
|
let refs = [];
|
|
11
11
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
function reposition() {
|
|
24
|
-
$
|
|
24
|
+
$_daysHs.clear();
|
|
25
25
|
runReposition(refs, $_viewResources);
|
|
26
26
|
}
|
|
27
27
|
$effect(() => {
|
|
@@ -10,11 +10,10 @@
|
|
|
10
10
|
let {resource} = $props();
|
|
11
11
|
|
|
12
12
|
let {
|
|
13
|
-
_viewDates, _filteredEvents, _iEvents,
|
|
13
|
+
_viewDates, _filteredEvents, _iEvents, _dayTimeLimits, _daysHs, _resHs, slotDuration, theme, validRange
|
|
14
14
|
} = getContext('state');
|
|
15
15
|
|
|
16
16
|
let refs = [];
|
|
17
|
-
let height = $state(0);
|
|
18
17
|
|
|
19
18
|
let [start, end] = $derived.by(() => {
|
|
20
19
|
let start = cloneDate(limitToRange($_viewDates[0], $validRange));
|
|
@@ -61,13 +60,12 @@
|
|
|
61
60
|
}));
|
|
62
61
|
|
|
63
62
|
export function reposition() {
|
|
64
|
-
|
|
65
|
-
$
|
|
66
|
-
$_resHs = $_resHs;
|
|
63
|
+
$_daysHs.set(resource, ceil(max(...runReposition(refs, $_viewDates))) + 10);
|
|
64
|
+
$_daysHs = $_daysHs;
|
|
67
65
|
}
|
|
68
66
|
</script>
|
|
69
67
|
|
|
70
|
-
<div class="{$theme.days}" style="flex-basis: {max(
|
|
68
|
+
<div class="{$theme.days}" style="flex-basis: {max($_daysHs.get(resource) ?? 0, $_resHs.get(resource) ?? 0, 34)}px" role="row">
|
|
71
69
|
{#each $_viewDates as date, i}
|
|
72
70
|
<!-- svelte-ignore binding_property_non_reactive -->
|
|
73
71
|
<Day {date} {resource} {chunks} {bgChunks} {longChunks} {iChunks} bind:this={refs[i]}/>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import {getContext, onMount} from 'svelte';
|
|
3
|
-
import {setContent, toLocalDate, isFunction} from '#lib';
|
|
2
|
+
import {getContext, onMount, untrack} from 'svelte';
|
|
3
|
+
import {ceil, height, setContent, toLocalDate, isFunction} from '#lib';
|
|
4
4
|
|
|
5
5
|
let {resource, date = undefined} = $props();
|
|
6
6
|
|
|
7
|
-
let {resourceLabelContent, resourceLabelDidMount} = getContext('state');
|
|
7
|
+
let {resourceLabelContent, resourceLabelDidMount, _resHs} = getContext('state');
|
|
8
8
|
|
|
9
9
|
let el = $state();
|
|
10
10
|
// Content
|
|
@@ -21,6 +21,14 @@
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
+
$effect(() => {
|
|
25
|
+
content;
|
|
26
|
+
untrack(() => {
|
|
27
|
+
$_resHs.set(resource, ceil(height(el) + 10));
|
|
28
|
+
$_resHs = $_resHs;
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
24
32
|
onMount(() => {
|
|
25
33
|
if (isFunction($resourceLabelDidMount)) {
|
|
26
34
|
$resourceLabelDidMount({
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import {getContext} from 'svelte';
|
|
2
|
+
import {getContext, untrack} from 'svelte';
|
|
3
3
|
import {max} from '#lib';
|
|
4
4
|
import Label from './Label.svelte';
|
|
5
5
|
import Expander from './Expander.svelte';
|
|
6
6
|
|
|
7
|
-
let {_viewResources, _headerHeight, _bodyEl, _resHs, _sidebarEl, _nestedResources, theme} = getContext('state');
|
|
7
|
+
let {_viewResources, _headerHeight, _bodyEl, _daysHs, _resHs, _sidebarEl, _nestedResources, theme} = getContext('state');
|
|
8
|
+
|
|
9
|
+
$effect.pre(() => {
|
|
10
|
+
$_viewResources;
|
|
11
|
+
untrack(() => {
|
|
12
|
+
$_resHs.clear();
|
|
13
|
+
});
|
|
14
|
+
});
|
|
8
15
|
|
|
9
16
|
function onwheel(jsEvent) {
|
|
10
17
|
$_bodyEl.scrollBy({
|
|
@@ -17,7 +24,7 @@
|
|
|
17
24
|
<div class="{$theme.sidebarTitle}" style="flex-basis: {$_headerHeight}px"></div>
|
|
18
25
|
<div class="{$theme.content}" bind:this={$_sidebarEl} {onwheel}>
|
|
19
26
|
{#each $_viewResources as resource}
|
|
20
|
-
<div class="{$theme.resource}" style="flex-basis: {max($_resHs.get(resource) ?? 0, 34)}px" role="rowheader">
|
|
27
|
+
<div class="{$theme.resource}" style="flex-basis: {max($_daysHs.get(resource) ?? 0, $_resHs.get(resource) ?? 0, 34)}px" role="rowheader">
|
|
21
28
|
{#if $_nestedResources}
|
|
22
29
|
<Expander {resource} />
|
|
23
30
|
{/if}
|
|
@@ -58,6 +58,7 @@ export default {
|
|
|
58
58
|
state._headerHeight = writable(0);
|
|
59
59
|
state._dayTimeLimits = dayTimeLimits(state); // flexible time limits per day
|
|
60
60
|
state._dayTimes = dayTimes(state);
|
|
61
|
+
state._daysHs = writable(new Map()); // days row heights
|
|
61
62
|
state._nestedResources = nestedResources(state);
|
|
62
63
|
state._resHs = writable(new Map()); // resource row heights
|
|
63
64
|
state._sidebarEl = writable(undefined);
|