@event-calendar/interaction
Advanced tools
Comparing version 1.0.0 to 1.1.0
309
index.js
@@ -0,4 +1,5 @@ | ||
import { writable } from 'svelte/store'; | ||
import { SvelteComponent, init, safe_not_equal, noop, listen, is_function, run_all, component_subscribe, globals, set_store_value, bubble, subscribe, empty, insert, detach, element, attr, create_component, space, mount_component, transition_in, group_outros, transition_out, check_outros, destroy_component, binding_callbacks } from 'svelte/internal'; | ||
import { getContext } from 'svelte'; | ||
import { max, min, cloneDate, addDuration, getElementWithPayload, getPayload, ancestor, createDuration, subtractDuration, toEventWithLocalDates, toISOString, toViewWithLocalDates, cloneEvent, assign, toLocalDate, rect, addDay, floor } from '@event-calendar/common'; | ||
import { max, min, cloneDate, addDuration, getElementWithPayload, getPayload, ancestor, createDuration, subtractDuration, toEventWithLocalDates, toISOString, toViewWithLocalDates, cloneEvent, assign, toLocalDate, rect, addDay, floor, bgEvent, helperEvent } from '@event-calendar/common'; | ||
@@ -33,14 +34,12 @@ let busy = false; | ||
dispose = [ | ||
listen(window_1, "pointermove", /*handlePointerMove*/ ctx[28]), | ||
listen(window_1, "pointerup", /*handlePointerUp*/ ctx[29]), | ||
listen(window_1, "pointercancel", /*handlePointerUp*/ ctx[29]), | ||
listen(window_1, "pointermove", /*handlePointerMove*/ ctx[31]), | ||
listen(window_1, "pointerup", /*handlePointerUp*/ ctx[32]), | ||
listen(window_1, "pointercancel", /*handlePointerUp*/ ctx[32]), | ||
listen(window_1, "scroll", /*handleScroll*/ ctx[0]), | ||
listen(window_1, "selectstart", function () { | ||
if (is_function(createPreventDefaultHandler(/*selectstart_handler*/ ctx[36]))) createPreventDefaultHandler(/*selectstart_handler*/ ctx[36]).apply(this, arguments); | ||
}), | ||
listen(window_1, "selectstart", createPreventDefaultHandler(/*complexAction*/ ctx[33])), | ||
listen(window_1, "contextmenu", function () { | ||
if (is_function(createPreventDefaultHandler(/*contextmenu_handler*/ ctx[37]))) createPreventDefaultHandler(/*contextmenu_handler*/ ctx[37]).apply(this, arguments); | ||
if (is_function(createPreventDefaultHandler(/*contextmenu_handler*/ ctx[40]))) createPreventDefaultHandler(/*contextmenu_handler*/ ctx[40]).apply(this, arguments); | ||
}), | ||
listen(window_1, "touchstart", /*handleTouchStart*/ ctx[30]), | ||
listen(window_1, "touchmove", /*touchmove_handler*/ ctx[35], { passive: false }) | ||
listen(window_1, "touchstart", /*handleTouchStart*/ ctx[34]), | ||
listen(window_1, "touchmove", /*touchmove_handler*/ ctx[39], { passive: false }) | ||
]; | ||
@@ -66,2 +65,4 @@ | ||
const ACTION_SELECT = 3; | ||
const ACTION_CLICK = 4; | ||
const ACTION_NO_ACTION = 5; | ||
@@ -101,29 +102,37 @@ function createPreventDefaultHandler(condition) { | ||
let $selectLongPressDelay; | ||
let $datesAboveResources; | ||
let $slotDuration; | ||
let { _iEvents, _iClass, _events, _view, _monthMode, dragScroll, eventDragMinDistance, eventDragStart, eventDragStop, eventDrop, eventLongPressDelay, eventResizeStart, eventResizeStop, eventResize, longPressDelay, select: selectFn, selectBackgroundColor, selectLongPressDelay, selectMinDistance, slotDuration, slotHeight, unselect: unselectFn, unselectAuto, unselectCancel, dateClick } = getContext('state'); | ||
component_subscribe($$self, _iEvents, value => $$invalidate(64, $_iEvents = value)); | ||
component_subscribe($$self, _iClass, value => $$invalidate(67, $_iClass = value)); | ||
component_subscribe($$self, _events, value => $$invalidate(63, $_events = value)); | ||
component_subscribe($$self, _view, value => $$invalidate(61, $_view = value)); | ||
component_subscribe($$self, _monthMode, value => $$invalidate(66, $_monthMode = value)); | ||
component_subscribe($$self, dragScroll, value => $$invalidate(77, $dragScroll = value)); | ||
component_subscribe($$self, eventDragMinDistance, value => $$invalidate(80, $eventDragMinDistance = value)); | ||
component_subscribe($$self, eventDragStart, value => $$invalidate(78, $eventDragStart = value)); | ||
component_subscribe($$self, eventDragStop, value => $$invalidate(71, $eventDragStop = value)); | ||
component_subscribe($$self, eventDrop, value => $$invalidate(69, $eventDrop = value)); | ||
component_subscribe($$self, eventLongPressDelay, value => $$invalidate(83, $eventLongPressDelay = value)); | ||
component_subscribe($$self, eventResizeStart, value => $$invalidate(79, $eventResizeStart = value)); | ||
component_subscribe($$self, eventResizeStop, value => $$invalidate(72, $eventResizeStop = value)); | ||
component_subscribe($$self, eventResize, value => $$invalidate(70, $eventResize = value)); | ||
component_subscribe($$self, longPressDelay, value => $$invalidate(82, $longPressDelay = value)); | ||
component_subscribe($$self, selectFn, value => $$invalidate(73, $selectFn = value)); | ||
component_subscribe($$self, selectBackgroundColor, value => $$invalidate(65, $selectBackgroundColor = value)); | ||
component_subscribe($$self, selectLongPressDelay, value => $$invalidate(84, $selectLongPressDelay = value)); | ||
component_subscribe($$self, selectMinDistance, value => $$invalidate(81, $selectMinDistance = value)); | ||
component_subscribe($$self, slotDuration, value => $$invalidate(85, $slotDuration = value)); | ||
component_subscribe($$self, slotHeight, value => $$invalidate(76, $slotHeight = value)); | ||
component_subscribe($$self, unselectFn, value => $$invalidate(62, $unselectFn = value)); | ||
component_subscribe($$self, unselectAuto, value => $$invalidate(75, $unselectAuto = value)); | ||
component_subscribe($$self, unselectCancel, value => $$invalidate(74, $unselectCancel = value)); | ||
component_subscribe($$self, dateClick, value => $$invalidate(68, $dateClick = value)); | ||
let $_viewClass; | ||
let $selectable; | ||
let $_draggable; | ||
let { _iEvents, _iClass, _events, _view, _monthMode, _draggable, _viewClass, dragScroll, datesAboveResources, eventDragMinDistance, eventDragStart, eventDragStop, eventDrop, eventLongPressDelay, eventResizeStart, eventResizeStop, eventResize, longPressDelay, selectable, select: selectFn, selectBackgroundColor, selectLongPressDelay, selectMinDistance, slotDuration, slotHeight, unselect: unselectFn, unselectAuto, unselectCancel, dateClick } = getContext('state'); | ||
component_subscribe($$self, _iEvents, value => $$invalidate(68, $_iEvents = value)); | ||
component_subscribe($$self, _iClass, value => $$invalidate(71, $_iClass = value)); | ||
component_subscribe($$self, _events, value => $$invalidate(67, $_events = value)); | ||
component_subscribe($$self, _view, value => $$invalidate(65, $_view = value)); | ||
component_subscribe($$self, _monthMode, value => $$invalidate(70, $_monthMode = value)); | ||
component_subscribe($$self, _draggable, value => $$invalidate(93, $_draggable = value)); | ||
component_subscribe($$self, _viewClass, value => $$invalidate(91, $_viewClass = value)); | ||
component_subscribe($$self, dragScroll, value => $$invalidate(81, $dragScroll = value)); | ||
component_subscribe($$self, datesAboveResources, value => $$invalidate(89, $datesAboveResources = value)); | ||
component_subscribe($$self, eventDragMinDistance, value => $$invalidate(84, $eventDragMinDistance = value)); | ||
component_subscribe($$self, eventDragStart, value => $$invalidate(82, $eventDragStart = value)); | ||
component_subscribe($$self, eventDragStop, value => $$invalidate(75, $eventDragStop = value)); | ||
component_subscribe($$self, eventDrop, value => $$invalidate(73, $eventDrop = value)); | ||
component_subscribe($$self, eventLongPressDelay, value => $$invalidate(87, $eventLongPressDelay = value)); | ||
component_subscribe($$self, eventResizeStart, value => $$invalidate(83, $eventResizeStart = value)); | ||
component_subscribe($$self, eventResizeStop, value => $$invalidate(76, $eventResizeStop = value)); | ||
component_subscribe($$self, eventResize, value => $$invalidate(74, $eventResize = value)); | ||
component_subscribe($$self, longPressDelay, value => $$invalidate(86, $longPressDelay = value)); | ||
component_subscribe($$self, selectable, value => $$invalidate(92, $selectable = value)); | ||
component_subscribe($$self, selectFn, value => $$invalidate(77, $selectFn = value)); | ||
component_subscribe($$self, selectBackgroundColor, value => $$invalidate(69, $selectBackgroundColor = value)); | ||
component_subscribe($$self, selectLongPressDelay, value => $$invalidate(88, $selectLongPressDelay = value)); | ||
component_subscribe($$self, selectMinDistance, value => $$invalidate(85, $selectMinDistance = value)); | ||
component_subscribe($$self, slotDuration, value => $$invalidate(90, $slotDuration = value)); | ||
component_subscribe($$self, slotHeight, value => $$invalidate(80, $slotHeight = value)); | ||
component_subscribe($$self, unselectFn, value => $$invalidate(66, $unselectFn = value)); | ||
component_subscribe($$self, unselectAuto, value => $$invalidate(79, $unselectAuto = value)); | ||
component_subscribe($$self, unselectCancel, value => $$invalidate(78, $unselectCancel = value)); | ||
component_subscribe($$self, dateClick, value => $$invalidate(72, $dateClick = value)); | ||
let action; | ||
@@ -137,3 +146,3 @@ let interacting; | ||
let toX, toY; | ||
let bodyEl, bodyRect, daysEl, daysRect; | ||
let bodyEl, bodyRect, clipEl, clipRect; | ||
let delta; | ||
@@ -151,28 +160,36 @@ let allDay; | ||
if (!action && jsEvent.isPrimary) { | ||
$$invalidate(1, action = resize ? ACTION_RESIZE : ACTION_DRAG); | ||
action = resize | ||
? ACTION_RESIZE | ||
: $_draggable(eventToDrag) | ||
? ACTION_DRAG | ||
: ACTION_NO_ACTION; | ||
event = eventToDrag; | ||
common(jsEvent); | ||
if (forceDate) { | ||
// Force date in popup | ||
date = forceDate; | ||
} | ||
if (complexAction()) { | ||
common(jsEvent); | ||
iClass = resize ? allDay ? 'resizingX' : 'resizingY' : 'dragging'; | ||
if (forceDate) { | ||
// Force date in popup | ||
date = forceDate; | ||
} | ||
if (resize) { | ||
minEnd = cloneDate(event.start); | ||
iClass = resize ? allDay ? 'resizingX' : 'resizingY' : 'dragging'; | ||
if (allDay) { | ||
minEnd.setUTCHours(event.end.getUTCHours(), event.end.getUTCMinutes(), event.end.getUTCSeconds(), 0); | ||
if (resize) { | ||
minEnd = cloneDate(event.start); | ||
if (minEnd < event.start) { | ||
addDay(minEnd); | ||
} // minEnd = addDuration(cloneDate(event.start), $slotDuration); alternative version | ||
} else { | ||
addDuration(minEnd, $slotDuration); | ||
if (allDay) { | ||
minEnd.setUTCHours(event.end.getUTCHours(), event.end.getUTCMinutes(), event.end.getUTCSeconds(), 0); | ||
if (minEnd < event.start) { | ||
addDay(minEnd); | ||
} // minEnd = addDuration(cloneDate(event.start), $slotDuration); alternative version | ||
} else { | ||
addDuration(minEnd, $slotDuration); | ||
} | ||
} | ||
move(jsEvent); | ||
} | ||
move(jsEvent); | ||
} | ||
@@ -183,16 +200,21 @@ } | ||
if (!action && jsEvent.isPrimary) { | ||
$$invalidate(1, action = ACTION_SELECT); | ||
common(jsEvent); | ||
iClass = 'selecting'; | ||
selectStep = allDay ? createDuration({ day: 1 }) : $slotDuration; | ||
action = $selectable && $_viewClass !== 'list' | ||
? ACTION_SELECT | ||
: ACTION_CLICK; | ||
// Create dummy source event | ||
event = { | ||
allDay, | ||
start: date, | ||
end: addDuration(cloneDate(date), selectStep), | ||
resourceIds: resource ? [resource.id] : [] | ||
}; | ||
if (complexAction()) { | ||
common(jsEvent); | ||
iClass = 'selecting'; | ||
selectStep = allDay ? createDuration({ day: 1 }) : $slotDuration; | ||
move(jsEvent); | ||
// Create dummy source event | ||
event = { | ||
allDay, | ||
start: date, | ||
end: addDuration(cloneDate(date), selectStep), | ||
resourceIds: resource ? [resource.id] : [] | ||
}; | ||
move(jsEvent); | ||
} | ||
} | ||
@@ -208,3 +230,3 @@ } | ||
bodyEl = ancestor(dayEl, resource ? 4 : 3); | ||
daysEl = ancestor(dayEl, resource && dragging() ? 2 : 1); | ||
clipEl = ancestor(dayEl, resource && (dragging() || $datesAboveResources) ? 2 : 1); | ||
calcViewport(); | ||
@@ -214,3 +236,3 @@ | ||
// For touch devices init long press delay | ||
$$invalidate(2, timer = setTimeout( | ||
$$invalidate(1, timer = setTimeout( | ||
() => { | ||
@@ -305,3 +327,3 @@ if (action) { | ||
function handleScroll() { | ||
if (action) { | ||
if (complexAction()) { | ||
calcViewport(); | ||
@@ -313,3 +335,3 @@ move(); | ||
function handlePointerMove(jsEvent) { | ||
if (action && jsEvent.isPrimary) { | ||
if (complexAction() && jsEvent.isPrimary) { | ||
toX = jsEvent.clientX; | ||
@@ -388,5 +410,7 @@ toY = jsEvent.clientY; | ||
} else { | ||
if (selecting()) { | ||
if (clicking() || selecting()) { | ||
// Perform date click | ||
if (is_function($dateClick) && !noDateClick) { | ||
toX = jsEvent.clientX; | ||
toY = jsEvent.clientY; | ||
let dayEl = getElementWithPayload(toX, toY); | ||
@@ -412,8 +436,8 @@ | ||
interacting = false; | ||
$$invalidate(1, action = fromX = fromY = toX = toY = event = display = date = newDate = resource = newResource = delta = allDay = set_store_value(_iClass, $_iClass = minEnd = selectStep = undefined, $_iClass)); | ||
bodyEl = daysEl = bodyRect = daysRect = undefined; | ||
action = fromX = fromY = toX = toY = event = display = date = newDate = resource = newResource = delta = allDay = set_store_value(_iClass, $_iClass = minEnd = selectStep = undefined, $_iClass); | ||
bodyEl = clipEl = bodyRect = clipRect = undefined; | ||
if (timer) { | ||
clearTimeout(timer); | ||
$$invalidate(2, timer = undefined); | ||
$$invalidate(1, timer = undefined); | ||
} | ||
@@ -432,7 +456,7 @@ } | ||
bodyRect = rect(bodyEl); | ||
daysRect = rect(daysEl); | ||
clipRect = rect(clipEl); | ||
viewport = [ | ||
max(0, daysRect.left + ($_monthMode ? 0 : 8)), | ||
min(document.documentElement.clientWidth, daysRect.right) - 2, | ||
max(0, clipRect.left + ($_monthMode ? 0 : 8)), | ||
min(document.documentElement.clientWidth, clipRect.right) - 2, | ||
max(0, bodyRect.top), | ||
@@ -502,2 +526,6 @@ min(document.documentElement.clientHeight, bodyRect.bottom) - 2 | ||
function clicking() { | ||
return action === ACTION_CLICK; | ||
} | ||
function selecting() { | ||
@@ -507,2 +535,6 @@ return action === ACTION_SELECT; | ||
function complexAction() { | ||
return action && action < ACTION_CLICK; | ||
} | ||
function unselect(jsEvent) { | ||
@@ -530,3 +562,3 @@ if (selected) { | ||
function handleTouchStart(jsEvent) { | ||
if (action) { | ||
if (complexAction()) { | ||
let target = jsEvent.target; | ||
@@ -545,3 +577,2 @@ let stops = []; | ||
const selectstart_handler = () => action; | ||
const contextmenu_handler = () => timer; | ||
@@ -551,3 +582,2 @@ | ||
handleScroll, | ||
action, | ||
timer, | ||
@@ -559,3 +589,6 @@ _iEvents, | ||
_monthMode, | ||
_draggable, | ||
_viewClass, | ||
dragScroll, | ||
datesAboveResources, | ||
eventDragMinDistance, | ||
@@ -570,2 +603,3 @@ eventDragStart, | ||
longPressDelay, | ||
selectable, | ||
selectFn, | ||
@@ -583,2 +617,3 @@ selectBackgroundColor, | ||
handlePointerUp, | ||
complexAction, | ||
handleTouchStart, | ||
@@ -590,3 +625,2 @@ drag, | ||
touchmove_handler, | ||
selectstart_handler, | ||
contextmenu_handler | ||
@@ -607,7 +641,7 @@ ]; | ||
{ | ||
drag: 31, | ||
select: 32, | ||
drag: 35, | ||
select: 36, | ||
handleScroll: 0, | ||
unselect: 33, | ||
noClick: 34 | ||
unselect: 37, | ||
noClick: 38 | ||
}, | ||
@@ -620,7 +654,7 @@ null, | ||
get drag() { | ||
return this.$$.ctx[31]; | ||
return this.$$.ctx[35]; | ||
} | ||
get select() { | ||
return this.$$.ctx[32]; | ||
return this.$$.ctx[36]; | ||
} | ||
@@ -633,7 +667,7 @@ | ||
get unselect() { | ||
return this.$$.ctx[33]; | ||
return this.$$.ctx[37]; | ||
} | ||
get noClick() { | ||
return this.$$.ctx[34]; | ||
return this.$$.ctx[38]; | ||
} | ||
@@ -839,3 +873,3 @@ } | ||
div = element("div"); | ||
attr(div, "class", div_class_value = /*$theme*/ ctx[2].resizer); | ||
attr(div, "class", div_class_value = /*$theme*/ ctx[1].resizer); | ||
}, | ||
@@ -846,3 +880,3 @@ m(target, anchor) { | ||
if (!mounted) { | ||
dispose = listen(div, "pointerdown", /*pointerdown_handler*/ ctx[5]); | ||
dispose = listen(div, "pointerdown", /*pointerdown_handler*/ ctx[8]); | ||
mounted = true; | ||
@@ -852,3 +886,3 @@ } | ||
p(ctx, dirty) { | ||
if (dirty & /*$theme*/ 4 && div_class_value !== (div_class_value = /*$theme*/ ctx[2].resizer)) { | ||
if (dirty & /*$theme*/ 2 && div_class_value !== (div_class_value = /*$theme*/ ctx[1].resizer)) { | ||
attr(div, "class", div_class_value); | ||
@@ -866,5 +900,4 @@ } | ||
function create_fragment$1(ctx) { | ||
let show_if = /*event*/ ctx[0].display === 'auto' && /*$_resizable*/ ctx[1](/*event*/ ctx[0]); | ||
let if_block_anchor; | ||
let if_block = show_if && create_if_block$1(ctx); | ||
let if_block = /*resizable*/ ctx[0] && create_if_block$1(ctx); | ||
@@ -881,5 +914,3 @@ return { | ||
p(ctx, [dirty]) { | ||
if (dirty & /*event, $_resizable*/ 3) show_if = /*event*/ ctx[0].display === 'auto' && /*$_resizable*/ ctx[1](/*event*/ ctx[0]); | ||
if (show_if) { | ||
if (/*resizable*/ ctx[0]) { | ||
if (if_block) { | ||
@@ -907,8 +938,11 @@ if_block.p(ctx, dirty); | ||
function instance$1($$self, $$props, $$invalidate) { | ||
let $_resizable; | ||
let $editable; | ||
let $eventDurationEditable; | ||
let $theme; | ||
let { event } = $$props; | ||
let { theme, _resizable } = getContext('state'); | ||
component_subscribe($$self, theme, value => $$invalidate(2, $theme = value)); | ||
component_subscribe($$self, _resizable, value => $$invalidate(1, $_resizable = value)); | ||
let { theme, eventDurationEditable, editable } = getContext('state'); | ||
component_subscribe($$self, theme, value => $$invalidate(1, $theme = value)); | ||
component_subscribe($$self, eventDurationEditable, value => $$invalidate(7, $eventDurationEditable = value)); | ||
component_subscribe($$self, editable, value => $$invalidate(6, $editable = value)); | ||
let resizable; | ||
@@ -920,6 +954,22 @@ function pointerdown_handler(event) { | ||
$$self.$$set = $$props => { | ||
if ('event' in $$props) $$invalidate(0, event = $$props.event); | ||
if ('event' in $$props) $$invalidate(5, event = $$props.event); | ||
}; | ||
return [event, $_resizable, $theme, theme, _resizable, pointerdown_handler]; | ||
$$self.$$.update = () => { | ||
if ($$self.$$.dirty & /*event, $eventDurationEditable, $editable*/ 224) { | ||
$$invalidate(0, resizable = !bgEvent(event.display) && !helperEvent(event.display) && ((event.durationEditable ?? $eventDurationEditable) || (event.editable ?? $editable))); | ||
} | ||
}; | ||
return [ | ||
resizable, | ||
$theme, | ||
theme, | ||
eventDurationEditable, | ||
editable, | ||
event, | ||
$editable, | ||
$eventDurationEditable, | ||
pointerdown_handler | ||
]; | ||
} | ||
@@ -930,3 +980,3 @@ | ||
super(); | ||
init(this, options, instance$1, create_fragment$1, safe_not_equal, { event: 0 }); | ||
init(this, options, instance$1, create_fragment$1, safe_not_equal, { event: 5 }); | ||
} | ||
@@ -942,3 +992,3 @@ } | ||
pointer_1 = new Pointer({ props: pointer_1_props }); | ||
/*pointer_1_binding*/ ctx[19](pointer_1); | ||
/*pointer_1_binding*/ ctx[16](pointer_1); | ||
@@ -967,3 +1017,3 @@ return { | ||
d(detaching) { | ||
/*pointer_1_binding*/ ctx[19](null); | ||
/*pointer_1_binding*/ ctx[16](null); | ||
destroy_component(pointer_1, detaching); | ||
@@ -981,3 +1031,3 @@ } | ||
action = new Action({ props: action_props }); | ||
/*action_binding*/ ctx[18](action); | ||
/*action_binding*/ ctx[15](action); | ||
let if_block = /*$pointer*/ ctx[1] && create_if_block(ctx); | ||
@@ -1038,3 +1088,3 @@ | ||
d(detaching) { | ||
/*action_binding*/ ctx[18](null); | ||
/*action_binding*/ ctx[15](null); | ||
destroy_component(action, detaching); | ||
@@ -1051,21 +1101,17 @@ if (detaching) detach(t); | ||
let $_bodyEl; | ||
let $theme; | ||
let $_draggable; | ||
let $_classes; | ||
let $editable; | ||
let $eventDurationEditable; | ||
let $_resizable; | ||
let $eventStartEditable; | ||
let $_draggable; | ||
let $theme; | ||
let $_classes; | ||
let $pointer; | ||
let { theme, editable, eventStartEditable, eventDurationEditable, pointer, _bodyEl, _interaction, _classes, _draggable, _resizable, _scroll } = getContext('state'); | ||
component_subscribe($$self, theme, value => $$invalidate(17, $theme = value)); | ||
let { theme, editable, eventStartEditable, eventDurationEditable, pointer, _bodyEl, _interaction, _classes, _draggable, _scroll } = getContext('state'); | ||
component_subscribe($$self, theme, value => $$invalidate(11, $theme = value)); | ||
component_subscribe($$self, editable, value => $$invalidate(13, $editable = value)); | ||
component_subscribe($$self, eventStartEditable, value => $$invalidate(15, $eventStartEditable = value)); | ||
component_subscribe($$self, eventDurationEditable, value => $$invalidate(14, $eventDurationEditable = value)); | ||
component_subscribe($$self, eventStartEditable, value => $$invalidate(14, $eventStartEditable = value)); | ||
component_subscribe($$self, pointer, value => $$invalidate(1, $pointer = value)); | ||
component_subscribe($$self, _bodyEl, value => $$invalidate(12, $_bodyEl = value)); | ||
component_subscribe($$self, _bodyEl, value => $$invalidate(10, $_bodyEl = value)); | ||
component_subscribe($$self, _interaction, value => $$invalidate(0, $_interaction = value)); | ||
component_subscribe($$self, _classes, value => $$invalidate(21, $_classes = value)); | ||
component_subscribe($$self, _draggable, value => $$invalidate(16, $_draggable = value)); | ||
component_subscribe($$self, _resizable, value => $$invalidate(20, $_resizable = value)); | ||
component_subscribe($$self, _classes, value => $$invalidate(17, $_classes = value)); | ||
component_subscribe($$self, _draggable, value => $$invalidate(12, $_draggable = value)); | ||
set_store_value(_interaction, $_interaction.resizer = Resizer, $_interaction); | ||
@@ -1094,7 +1140,7 @@ | ||
$$self.$$.update = () => { | ||
if ($$self.$$.dirty & /*$eventStartEditable, $editable*/ 40960) { | ||
if ($$self.$$.dirty & /*$eventStartEditable, $editable*/ 24576) { | ||
set_store_value(_draggable, $_draggable = event => (event.startEditable ?? $eventStartEditable) || (event.editable ?? $editable), $_draggable); | ||
} | ||
if ($$self.$$.dirty & /*$theme, $_draggable*/ 196608) { | ||
if ($$self.$$.dirty & /*$theme, $_draggable*/ 6144) { | ||
set_store_value( | ||
@@ -1118,7 +1164,3 @@ _classes, | ||
if ($$self.$$.dirty & /*$eventDurationEditable, $editable*/ 24576) { | ||
set_store_value(_resizable, $_resizable = event => (event.durationEditable ?? $eventDurationEditable) || (event.editable ?? $editable), $_resizable); | ||
} | ||
if ($$self.$$.dirty & /*$_bodyEl*/ 4096) { | ||
if ($$self.$$.dirty & /*$_bodyEl*/ 1024) { | ||
if ($_bodyEl) { | ||
@@ -1136,3 +1178,2 @@ listen($_bodyEl, 'scroll', bodyScrollHandler); | ||
eventStartEditable, | ||
eventDurationEditable, | ||
pointer, | ||
@@ -1143,9 +1184,7 @@ _bodyEl, | ||
_draggable, | ||
_resizable, | ||
$_bodyEl, | ||
$theme, | ||
$_draggable, | ||
$editable, | ||
$eventDurationEditable, | ||
$eventStartEditable, | ||
$_draggable, | ||
$theme, | ||
action_binding, | ||
@@ -1165,2 +1204,3 @@ pointer_1_binding | ||
createOptions(options) { | ||
options.dateClick = undefined; | ||
options.dragScroll = true; | ||
@@ -1199,2 +1239,3 @@ options.editable = false; | ||
createStores(state) { | ||
state._draggable = writable(noop); | ||
state._auxiliary.update($_auxiliary => [...$_auxiliary, Auxiliary]); | ||
@@ -1201,0 +1242,0 @@ } |
{ | ||
"name": "@event-calendar/interaction", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"title": "Event Calendar Interaction plugin", | ||
@@ -39,5 +39,5 @@ "description": "Full-sized drag & drop event calendar with resource view", | ||
"dependencies": { | ||
"@event-calendar/common": "~1.0.0", | ||
"@event-calendar/common": "~1.1.0", | ||
"svelte": "^3.55.1" | ||
} | ||
} |
@@ -7,3 +7,3 @@ # Event Calendar [](https://www.jsdelivr.com/package/npm/@event-calendar/build) [](https://www.npmjs.com/package/@event-calendar/core) | ||
* Lightweight (34kb [br](https://en.wikipedia.org/wiki/Brotli) compressed) | ||
* Lightweight (29kb [br](https://en.wikipedia.org/wiki/Brotli) compressed) | ||
* Zero-dependency (pre-built bundle) | ||
@@ -58,2 +58,3 @@ * Used on over 60,000 websites with [Bookly](https://wordpress.org/plugins/bookly-responsive-appointment-booking-tool/) | ||
- [eventStartEditable](#eventstarteditable) | ||
- [eventTextColor](#eventtextcolor) | ||
- [eventTimeFormat](#eventtimeformat) | ||
@@ -197,4 +198,4 @@ - [filterResourcesWithEvents](#filterresourceswithevents) | ||
```html | ||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@1.0.0/event-calendar.min.css"> | ||
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@1.0.0/event-calendar.min.js"></script> | ||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@1.1.0/event-calendar.min.css"> | ||
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@1.1.0/event-calendar.min.js"></script> | ||
``` | ||
@@ -1254,2 +1255,10 @@ | ||
### eventTextColor | ||
- Type `string` | ||
- Default `undefined` | ||
Sets the default text color for events on the calendar. | ||
You can use any of the CSS color formats such `'#f00'`, `'#ff0000'`, `'rgb(255,0,0)'`, or `'red'`. | ||
### filterResourcesWithEvents | ||
@@ -2194,2 +2203,12 @@ - Type `boolean` | ||
`textColor` | ||
</td> | ||
<td> | ||
The [eventTextColor](#eventtextcolor) override for this specific event | ||
</td> | ||
</tr> | ||
<tr> | ||
<td> | ||
`extendedProps` | ||
@@ -2332,2 +2351,12 @@ </td> | ||
`textColor` | ||
</td> | ||
<td> | ||
`string` Sets the event’s text color just like the calendar-wide [eventTextColor](#eventtextcolor) option. Default `undefined` | ||
</td> | ||
</tr> | ||
<tr> | ||
<td> | ||
`color` | ||
@@ -2435,2 +2464,9 @@ </td> | ||
</tr> | ||
<tr> | ||
<td> | ||
`eventTextColor` | ||
</td> | ||
<td>Default text color for this resource's events</td> | ||
</tr> | ||
</table> | ||
@@ -2483,2 +2519,12 @@ | ||
</tr> | ||
<tr> | ||
<td> | ||
`eventTextColor` | ||
</td> | ||
<td> | ||
`string` Sets the default text color for this resource's events just like the calendar-wide [eventTextColor](#eventtextcolor) option. Default `undefined` | ||
</td> | ||
</tr> | ||
</table> | ||
@@ -2485,0 +2531,0 @@ |
@@ -0,1 +1,3 @@ | ||
import {writable} from 'svelte/store'; | ||
import {noop} from 'svelte/internal'; | ||
import Auxiliary from './Auxiliary.svelte'; | ||
@@ -5,2 +7,3 @@ | ||
createOptions(options) { | ||
options.dateClick = undefined; | ||
options.dragScroll = true; | ||
@@ -39,4 +42,5 @@ options.editable = false; | ||
createStores(state) { | ||
state._draggable = writable(noop); | ||
state._auxiliary.update($_auxiliary => [...$_auxiliary, Auxiliary]); | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
112394
1117
2577
+ Added@event-calendar/common@1.1.1(transitive)
- Removed@event-calendar/common@1.0.0(transitive)