Initial commit: Calendar Plantempus project setup with TypeScript, ASP.NET Core, and event-driven architecture

This commit is contained in:
Janus Knudsen 2025-07-24 22:17:38 +02:00
commit f06c02121c
38 changed files with 8233 additions and 0 deletions

73
calendar-event-types.js Normal file
View file

@ -0,0 +1,73 @@
// js/types/EventTypes.js
/**
* Calendar event type constants
*/
export const EventTypes = {
// View events
VIEW_CHANGE: 'calendar:viewchange',
VIEW_RENDERED: 'calendar:viewrendered',
PERIOD_CHANGE: 'calendar:periodchange',
// Event CRUD
EVENT_CREATE: 'calendar:eventcreate',
EVENT_UPDATE: 'calendar:eventupdate',
EVENT_DELETE: 'calendar:eventdelete',
EVENT_RENDERED: 'calendar:eventrendered',
EVENT_SELECTED: 'calendar:eventselected',
// Interaction events
DRAG_START: 'calendar:dragstart',
DRAG_MOVE: 'calendar:dragmove',
DRAG_END: 'calendar:dragend',
DRAG_CANCEL: 'calendar:dragcancel',
RESIZE_START: 'calendar:resizestart',
RESIZE_MOVE: 'calendar:resizemove',
RESIZE_END: 'calendar:resizeend',
RESIZE_CANCEL: 'calendar:resizecancel',
// UI events
POPUP_SHOW: 'calendar:popupshow',
POPUP_HIDE: 'calendar:popuphide',
SEARCH_START: 'calendar:searchstart',
SEARCH_UPDATE: 'calendar:searchupdate',
SEARCH_CLEAR: 'calendar:searchclear',
// Grid events
GRID_CLICK: 'calendar:gridclick',
GRID_DBLCLICK: 'calendar:griddblclick',
GRID_RENDERED: 'calendar:gridrendered',
// Data events
DATA_FETCH_START: 'calendar:datafetchstart',
DATA_FETCH_SUCCESS: 'calendar:datafetchsuccess',
DATA_FETCH_ERROR: 'calendar:datafetcherror',
DATA_SYNC_START: 'calendar:datasyncstart',
DATA_SYNC_SUCCESS: 'calendar:datasyncsuccess',
DATA_SYNC_ERROR: 'calendar:datasyncerror',
// State events
STATE_UPDATE: 'calendar:stateupdate',
CONFIG_UPDATE: 'calendar:configupdate',
// Time events
TIME_UPDATE: 'calendar:timeupdate',
// Navigation events
NAV_PREV: 'calendar:navprev',
NAV_NEXT: 'calendar:navnext',
NAV_TODAY: 'calendar:navtoday',
// Loading events
LOADING_START: 'calendar:loadingstart',
LOADING_END: 'calendar:loadingend',
// Error events
ERROR: 'calendar:error',
// Init events
READY: 'calendar:ready',
DESTROY: 'calendar:destroy'
};