ezux 1.0.0
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/LICENSE +21 -0
- package/README.md +56 -0
- package/dist/EzEventModal-DtpvYwGr.js +684 -0
- package/dist/EzGroupingPanel-CFwKUrF_.js +59 -0
- package/dist/EzTableEditDialog-BIk_mNpI.js +60 -0
- package/dist/components/EzKanban/EzKanban.types.d.ts +789 -0
- package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
- package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
- package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
- package/dist/components/EzKanban/components/KanbanBoard.d.ts +62 -0
- package/dist/components/EzKanban/components/KanbanCard.d.ts +38 -0
- package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
- package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +46 -0
- package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
- package/dist/components/EzKanban/exports.d.ts +4 -0
- package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
- package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
- package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
- package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
- package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
- package/dist/components/EzKanban/index.d.ts +45 -0
- package/dist/components/EzKanban/services/KanbanService.d.ts +30 -0
- package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
- package/dist/components/EzKanban/useEzKanban.d.ts +162 -0
- package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
- package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
- package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
- package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
- package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
- package/dist/components/EzLayout/EzHeader.d.ts +33 -0
- package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
- package/dist/components/EzLayout/EzLayout.types.d.ts +223 -0
- package/dist/components/EzLayout/EzSidebar.d.ts +14 -0
- package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
- package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
- package/dist/components/EzLayout/EzUserProfile.d.ts +23 -0
- package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
- package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
- package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
- package/dist/components/EzLayout/index.d.ts +19 -0
- package/dist/components/EzLayout/useEzLayout.d.ts +26 -0
- package/dist/components/EzScheduler/EzScheduler.types.d.ts +1658 -0
- package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
- package/dist/components/EzScheduler/components/EzEventModal.d.ts +17 -0
- package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
- package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
- package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
- package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +123 -0
- package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
- package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
- package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
- package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +21 -0
- package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
- package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +11 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +26 -0
- package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +15 -0
- package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
- package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
- package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
- package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
- package/dist/components/EzScheduler/index.d.ts +41 -0
- package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
- package/dist/components/EzScheduler/models/View.d.ts +49 -0
- package/dist/components/EzScheduler/models/index.d.ts +2 -0
- package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
- package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
- package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
- package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
- package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
- package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
- package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
- package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
- package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
- package/dist/components/EzScheduler/services/SchedulerService.d.ts +69 -0
- package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
- package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
- package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
- package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
- package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
- package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
- package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
- package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
- package/dist/components/EzScheduler/tests/phase1_rendering.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase2_events.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase3_templates.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase4_export.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase5_advanced.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase6_security.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase7_regression.spec.d.ts +1 -0
- package/dist/components/EzScheduler/useEzScheduler.d.ts +152 -0
- package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
- package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
- package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +17 -0
- package/dist/components/EzScheduler/views/AgendaView.d.ts +33 -0
- package/dist/components/EzScheduler/views/DayWeekView.d.ts +182 -0
- package/dist/components/EzScheduler/views/MonthView.d.ts +65 -0
- package/dist/components/EzScheduler/views/TimelineView.d.ts +121 -0
- package/dist/components/EzSignature/EzSignature.d.ts +42 -0
- package/dist/components/EzSignature/EzSignature.test.d.ts +1 -0
- package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
- package/dist/components/EzSignature/index.d.ts +2 -0
- package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
- package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
- package/dist/components/EzTable/EzExcelFilter.d.ts +6 -0
- package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
- package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
- package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
- package/dist/components/EzTable/EzPagination.d.ts +19 -0
- package/dist/components/EzTable/EzTable.types.d.ts +1481 -0
- package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
- package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
- package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
- package/dist/components/EzTable/EzTableStatusBar.d.ts +6 -0
- package/dist/components/EzTable/EzTableToolbar.d.ts +58 -0
- package/dist/components/EzTable/SmartCell.d.ts +7 -0
- package/dist/components/EzTable/__tests__/EzTableDX.test.d.ts +0 -0
- package/dist/components/EzTable/__tests__/EzTableEnterprise.test.d.ts +1 -0
- package/dist/components/EzTable/__tests__/useEzTable.test.d.ts +1 -0
- package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
- package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
- package/dist/components/EzTable/components/DraggableHeader.d.ts +10 -0
- package/dist/components/EzTable/components/EzTableBodySection.d.ts +70 -0
- package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
- package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +22 -0
- package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
- package/dist/components/EzTable/components/EzTableRow.d.ts +56 -0
- package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
- package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
- package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
- package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
- package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
- package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
- package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
- package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
- package/dist/components/EzTable/context/TableStore.d.ts +17 -0
- package/dist/components/EzTable/filterUtils.d.ts +5 -0
- package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
- package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
- package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
- package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
- package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
- package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
- package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
- package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
- package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
- package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
- package/dist/components/EzTable/hooks/useTableState.d.ts +31 -0
- package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +33 -0
- package/dist/components/EzTable/index.d.ts +50 -0
- package/dist/components/EzTable/renderers/index.d.ts +6 -0
- package/dist/components/EzTable/services/TableService.d.ts +26 -0
- package/dist/components/EzTable/useEzTable.d.ts +17 -0
- package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
- package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
- package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
- package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
- package/dist/components/EzTable/utils/index.d.ts +1 -0
- package/dist/components/EzTreeView/EzTreeView.types.d.ts +395 -0
- package/dist/components/EzTreeView/EzTreeViewItem.d.ts +77 -0
- package/dist/components/EzTreeView/EzVirtualTree.d.ts +72 -0
- package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
- package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
- package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
- package/dist/components/EzTreeView/index.d.ts +40 -0
- package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
- package/dist/components/EzTreeView/useEzTreeView.d.ts +62 -0
- package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
- package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
- package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
- package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
- package/dist/components/ui/avatar.d.ts +5 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/breadcrumb.d.ts +19 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/calendar.d.ts +15 -0
- package/dist/components/ui/card.d.ts +8 -0
- package/dist/components/ui/checkbox.d.ts +7 -0
- package/dist/components/ui/command.d.ts +78 -0
- package/dist/components/ui/context-menu.d.ts +27 -0
- package/dist/components/ui/date-time-picker.d.ts +13 -0
- package/dist/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/index.d.ts +26 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/label.d.ts +5 -0
- package/dist/components/ui/modal.d.ts +9 -0
- package/dist/components/ui/password-input.d.ts +5 -0
- package/dist/components/ui/popover.d.ts +4 -0
- package/dist/components/ui/progress.d.ts +7 -0
- package/dist/components/ui/radio-group.d.ts +5 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/select.d.ts +24 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/switch.d.ts +4 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/components/ui/tabs.d.ts +14 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/tooltip.d.ts +7 -0
- package/dist/ezux.es.js +149 -0
- package/dist/ezux.umd.js +68 -0
- package/dist/index-DBwoXp4n.js +30656 -0
- package/dist/index.d.ts +70 -0
- package/dist/lib/perfect-freehand.d.ts +221 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/shared/components/AnimatedText.d.ts +44 -0
- package/dist/shared/components/BaseCell.d.ts +14 -0
- package/dist/shared/components/BooleanRenderer.d.ts +34 -0
- package/dist/shared/components/ChartRenderer.d.ts +19 -0
- package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
- package/dist/shared/components/EzContextMenu.d.ts +12 -0
- package/dist/shared/components/EzNotificationDropdown.d.ts +1 -0
- package/dist/shared/components/HighlightText.d.ts +4 -0
- package/dist/shared/components/Modal.d.ts +13 -0
- package/dist/shared/components/NotificationPanel.d.ts +2 -0
- package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
- package/dist/shared/components/SearchableSelect.d.ts +13 -0
- package/dist/shared/components/SelectRenderer.d.ts +33 -0
- package/dist/shared/components/StatusBadge.d.ts +12 -0
- package/dist/shared/components/TooltipWrapper.d.ts +12 -0
- package/dist/shared/components/index.d.ts +9 -0
- package/dist/shared/hooks/index.d.ts +56 -0
- package/dist/shared/hooks/useBaseComponent.d.ts +60 -0
- package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
- package/dist/shared/hooks/useComponentState.d.ts +39 -0
- package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
- package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
- package/dist/shared/hooks/useDebounce.d.ts +10 -0
- package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
- package/dist/shared/hooks/useDialogState.d.ts +21 -0
- package/dist/shared/hooks/useDndHandlers.d.ts +17 -0
- package/dist/shared/hooks/useEditing.d.ts +107 -0
- package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
- package/dist/shared/hooks/useEzTheme.d.ts +22 -0
- package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
- package/dist/shared/hooks/useHistory.d.ts +13 -0
- package/dist/shared/hooks/useI18n.d.ts +9 -0
- package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
- package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
- package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
- package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
- package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
- package/dist/shared/hooks/useLoadingState.d.ts +17 -0
- package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
- package/dist/shared/hooks/useNotificationService.d.ts +8 -0
- package/dist/shared/hooks/usePerformanceMonitor.d.ts +15 -0
- package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
- package/dist/shared/hooks/useSelection.d.ts +73 -0
- package/dist/shared/hooks/useService.d.ts +12 -0
- package/dist/shared/hooks/useServiceState.d.ts +12 -0
- package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
- package/dist/shared/hooks/useTheme.d.ts +13 -0
- package/dist/shared/hooks/useVirtualization.d.ts +85 -0
- package/dist/shared/services/BaseService.d.ts +56 -0
- package/dist/shared/services/ContextMenuService.d.ts +58 -0
- package/dist/shared/services/ExportService.d.ts +35 -0
- package/dist/shared/services/FocusManagerService.d.ts +33 -0
- package/dist/shared/services/HierarchyService.d.ts +43 -0
- package/dist/shared/services/I18nService.d.ts +65 -0
- package/dist/shared/services/LayoutService.d.ts +80 -0
- package/dist/shared/services/NotificationService.d.ts +44 -0
- package/dist/shared/services/PersistenceService.d.ts +69 -0
- package/dist/shared/services/ServiceRegistry.d.ts +51 -0
- package/dist/shared/services/ThemeService.d.ts +49 -0
- package/dist/shared/services/VirtualizationService.d.ts +51 -0
- package/dist/shared/state/store.d.ts +10 -0
- package/dist/shared/themes.d.ts +25 -0
- package/dist/shared/types/BaseProps.d.ts +18 -0
- package/dist/shared/types/common.d.ts +292 -0
- package/dist/shared/types/commonTypes.d.ts +101 -0
- package/dist/shared/types/index.d.ts +2 -0
- package/dist/shared/utils/canvasUtils.d.ts +16 -0
- package/dist/shared/utils/commonUtils.d.ts +28 -0
- package/dist/shared/utils/csvUtils.d.ts +7 -0
- package/dist/shared/utils/dateUtils.d.ts +5 -0
- package/dist/shared/utils/dndUtils.d.ts +16 -0
- package/dist/shared/utils/ezStyleUtils.d.ts +64 -0
- package/dist/shared/utils/formatUtils.d.ts +20 -0
- package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
- package/dist/shared/utils/index.d.ts +11 -0
- package/dist/shared/utils/renderUtils.d.ts +6 -0
- package/dist/shared/utils/serviceUtils.d.ts +10 -0
- package/dist/shared/utils/styleUtils.d.ts +66 -0
- package/dist/shared/utils/validationUtils.d.ts +16 -0
- package/package.json +101 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { ViewType, View, ViewsModel } from './EzScheduler.types';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the EzSchedulerToolbar component.
|
|
4
|
+
*/
|
|
5
|
+
interface EzSchedulerToolbarProps {
|
|
6
|
+
/**
|
|
7
|
+
* The current date displayed in the scheduler.
|
|
8
|
+
* @group Properties
|
|
9
|
+
*/
|
|
10
|
+
currentDate: Date;
|
|
11
|
+
/**
|
|
12
|
+
* Current view type (legacy support).
|
|
13
|
+
* @group Properties
|
|
14
|
+
*/
|
|
15
|
+
view: ViewType;
|
|
16
|
+
/**
|
|
17
|
+
* Sets the view type (legacy support).
|
|
18
|
+
* @group Methods
|
|
19
|
+
*/
|
|
20
|
+
setView: (view: ViewType) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Navigates to the next period (legacy support).
|
|
23
|
+
* @group Methods
|
|
24
|
+
*/
|
|
25
|
+
next: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Navigates to the previous period (legacy support).
|
|
28
|
+
* @group Methods
|
|
29
|
+
*/
|
|
30
|
+
prev: () => void;
|
|
31
|
+
/**
|
|
32
|
+
* Navigates to today (legacy support).
|
|
33
|
+
* @group Methods
|
|
34
|
+
*/
|
|
35
|
+
today: () => void;
|
|
36
|
+
/**
|
|
37
|
+
* Callback when the "Add" button is clicked.
|
|
38
|
+
* @group Events
|
|
39
|
+
*/
|
|
40
|
+
onAddClick: () => void;
|
|
41
|
+
/**
|
|
42
|
+
* Duration of each time slot in minutes.
|
|
43
|
+
* @group Properties
|
|
44
|
+
*/
|
|
45
|
+
slotDuration: number;
|
|
46
|
+
/**
|
|
47
|
+
* Sets the duration of each time slot.
|
|
48
|
+
* @group Methods
|
|
49
|
+
*/
|
|
50
|
+
setSlotDuration: (duration: number) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Sets the current date.
|
|
53
|
+
* @group Methods
|
|
54
|
+
*/
|
|
55
|
+
setCurrentDate: (date: Date) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Callback to navigate to the previous period.
|
|
58
|
+
* @group Events
|
|
59
|
+
*/
|
|
60
|
+
onPrev: () => void;
|
|
61
|
+
/**
|
|
62
|
+
* Callback to navigate to the next period.
|
|
63
|
+
* @group Events
|
|
64
|
+
*/
|
|
65
|
+
onNext: () => void;
|
|
66
|
+
/**
|
|
67
|
+
* Callback to navigate to today.
|
|
68
|
+
* @group Events
|
|
69
|
+
*/
|
|
70
|
+
onToday: () => void;
|
|
71
|
+
/**
|
|
72
|
+
* The currently active view mode.
|
|
73
|
+
* @group Properties
|
|
74
|
+
*/
|
|
75
|
+
currentView: View;
|
|
76
|
+
/**
|
|
77
|
+
* Callback when the view mode changes.
|
|
78
|
+
* @group Events
|
|
79
|
+
*/
|
|
80
|
+
onViewChange: (view: View) => void;
|
|
81
|
+
/**
|
|
82
|
+
* List of available views.
|
|
83
|
+
* @group Properties
|
|
84
|
+
*/
|
|
85
|
+
views: (View | ViewsModel)[];
|
|
86
|
+
/**
|
|
87
|
+
* Callback for Excel export.
|
|
88
|
+
* @group Events
|
|
89
|
+
*/
|
|
90
|
+
onExportExcel?: () => void;
|
|
91
|
+
/**
|
|
92
|
+
* Callback for CSV export.
|
|
93
|
+
* @group Events
|
|
94
|
+
*/
|
|
95
|
+
onExportCSV?: () => void;
|
|
96
|
+
/**
|
|
97
|
+
* Callback for ICS export.
|
|
98
|
+
* @group Events
|
|
99
|
+
*/
|
|
100
|
+
/**
|
|
101
|
+
* Callback for ICS export.
|
|
102
|
+
* @group Events
|
|
103
|
+
*/
|
|
104
|
+
onExportICS?: () => void;
|
|
105
|
+
/**
|
|
106
|
+
* Text direction.
|
|
107
|
+
* @group Appearance
|
|
108
|
+
*/
|
|
109
|
+
dir?: 'ltr' | 'rtl' | 'auto';
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Toolbar component for the EzScheduler.
|
|
113
|
+
* Provides navigation, view switching, and action buttons.
|
|
114
|
+
* @group Subcomponents
|
|
115
|
+
*/
|
|
116
|
+
export declare const EzSchedulerToolbar: import('react').MemoExoticComponent<({ currentDate, next, prev, today, slotDuration, setSlotDuration, setCurrentDate, onPrev, onNext, onToday, currentView, onViewChange, views, onExportExcel, onExportCSV, onExportICS, dir }: EzSchedulerToolbarProps) => import("react/jsx-runtime").JSX.Element>;
|
|
117
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SchedulerEvent, Resource } from '../EzScheduler.types';
|
|
3
|
+
interface EzEventModalProps {
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
mode: 'create' | 'edit' | 'view';
|
|
7
|
+
event?: Partial<SchedulerEvent>;
|
|
8
|
+
onSave: (event: Partial<SchedulerEvent>) => void;
|
|
9
|
+
onDelete?: (eventId: string) => void;
|
|
10
|
+
resources?: Resource[];
|
|
11
|
+
locale?: string;
|
|
12
|
+
editorTemplate?: (event: Partial<SchedulerEvent>) => React.ReactNode;
|
|
13
|
+
headerTemplate?: (event: Partial<SchedulerEvent>, mode: string) => React.ReactNode;
|
|
14
|
+
footerTemplate?: (event: Partial<SchedulerEvent>, mode: string, onSave: () => void, onClose: () => void) => React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare const EzEventModal: React.FC<EzEventModalProps>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SchedulerEvent } from '../EzScheduler.types';
|
|
2
|
+
interface EzOverlapAlertProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
conflicts: SchedulerEvent[];
|
|
6
|
+
onResolve?: (action: 'keep-both' | 'cancel') => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Overlap alert dialog - warns when events overlap and allowOverlap is false
|
|
10
|
+
*/
|
|
11
|
+
export declare const EzOverlapAlert: import('react').MemoExoticComponent<({ isOpen, onClose, conflicts, onResolve, }: EzOverlapAlertProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SchedulerEvent } from '../EzScheduler.types';
|
|
2
|
+
interface EzQuickInfoPopupProps {
|
|
3
|
+
event: SchedulerEvent;
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onEdit?: (event: SchedulerEvent) => void;
|
|
7
|
+
onDelete?: (id: string) => void;
|
|
8
|
+
position?: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
};
|
|
12
|
+
templates?: {
|
|
13
|
+
header?: (event: SchedulerEvent) => React.ReactNode;
|
|
14
|
+
content?: (event: SchedulerEvent) => React.ReactNode;
|
|
15
|
+
footer?: (event: SchedulerEvent, onEdit: () => void, onDelete: () => void) => React.ReactNode;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Quick info popup component - displays event summary on hover/click
|
|
20
|
+
*/
|
|
21
|
+
export declare const EzQuickInfoPopup: import('react').MemoExoticComponent<({ event, isOpen, onClose, onEdit, onDelete, position, templates, }: EzQuickInfoPopupProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Resource } from '../EzScheduler.types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the EzResourceSidebar component.
|
|
5
|
+
*/
|
|
6
|
+
interface EzResourceSidebarProps {
|
|
7
|
+
/**
|
|
8
|
+
* List of available resources.
|
|
9
|
+
* @group Properties
|
|
10
|
+
*/
|
|
11
|
+
resources: Resource[];
|
|
12
|
+
/**
|
|
13
|
+
* List of selected resource IDs.
|
|
14
|
+
* @group Properties
|
|
15
|
+
*/
|
|
16
|
+
selectedResourceIds: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Callback when selection changes.
|
|
19
|
+
* @group Events
|
|
20
|
+
*/
|
|
21
|
+
onSelectionChange: (selectedIds: string[]) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Custom class name.
|
|
24
|
+
* @group Properties
|
|
25
|
+
*/
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Sidebar component for filtering resources.
|
|
30
|
+
* @group Subcomponents
|
|
31
|
+
*/
|
|
32
|
+
export declare const EzResourceSidebar: React.FC<EzResourceSidebarProps>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Store } from '@tanstack/store';
|
|
3
|
+
import { SchedulerState, SchedulerActions } from '../state/scheduler.store';
|
|
4
|
+
import { ViewType, SchedulerEvent, Resource, EzSchedulerProps } from '../EzScheduler.types';
|
|
5
|
+
/**
|
|
6
|
+
* Props for the EzSchedulerContent component.
|
|
7
|
+
*/
|
|
8
|
+
interface EzSchedulerContentProps {
|
|
9
|
+
/**
|
|
10
|
+
* The scheduler state store.
|
|
11
|
+
* @group Properties
|
|
12
|
+
*/
|
|
13
|
+
store: Store<SchedulerState>;
|
|
14
|
+
/**
|
|
15
|
+
* Actions for state mutation.
|
|
16
|
+
* @group Methods
|
|
17
|
+
*/
|
|
18
|
+
actions: SchedulerActions;
|
|
19
|
+
/**
|
|
20
|
+
* The currently active view type.
|
|
21
|
+
* @group Properties
|
|
22
|
+
*/
|
|
23
|
+
view: ViewType | string;
|
|
24
|
+
/**
|
|
25
|
+
* List of days to display in the current view.
|
|
26
|
+
* @group Properties
|
|
27
|
+
*/
|
|
28
|
+
daysInView: Date[];
|
|
29
|
+
/**
|
|
30
|
+
* List of events to display.
|
|
31
|
+
* @group Properties
|
|
32
|
+
*/
|
|
33
|
+
visibleEvents: SchedulerEvent[];
|
|
34
|
+
/**
|
|
35
|
+
* Virtualizer for row rendering.
|
|
36
|
+
* @group Properties
|
|
37
|
+
*/
|
|
38
|
+
rowVirtualizer: any;
|
|
39
|
+
/**
|
|
40
|
+
* List of resources to display.
|
|
41
|
+
* @group Properties
|
|
42
|
+
*/
|
|
43
|
+
resources: Resource[];
|
|
44
|
+
/**
|
|
45
|
+
* Callback for slot double-click.
|
|
46
|
+
* @group Events
|
|
47
|
+
*/
|
|
48
|
+
handleSlotDoubleClick: (date: Date, resourceId?: string) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Callback for event double-click.
|
|
51
|
+
* @group Events
|
|
52
|
+
*/
|
|
53
|
+
handleEventDoubleClick: (event: SchedulerEvent) => void;
|
|
54
|
+
/**
|
|
55
|
+
* Callback for event deletion.
|
|
56
|
+
* @group Events
|
|
57
|
+
*/
|
|
58
|
+
handleEventDelete: (eventId: string) => void;
|
|
59
|
+
/**
|
|
60
|
+
* Reference to the scroll container.
|
|
61
|
+
* @group Properties
|
|
62
|
+
*/
|
|
63
|
+
parentRef: React.RefObject<HTMLDivElement | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Callback to change the view.
|
|
66
|
+
* @group Methods
|
|
67
|
+
*/
|
|
68
|
+
setView: (view: ViewType) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Callback to change the current date.
|
|
71
|
+
* @group Methods
|
|
72
|
+
*/
|
|
73
|
+
setCurrentDate: (date: Date) => void;
|
|
74
|
+
/**
|
|
75
|
+
* The original props passed to EzScheduler.
|
|
76
|
+
* @group Properties
|
|
77
|
+
*/
|
|
78
|
+
props: EzSchedulerProps;
|
|
79
|
+
/**
|
|
80
|
+
* Callback for range selection.
|
|
81
|
+
* @group Events
|
|
82
|
+
*/
|
|
83
|
+
handleRangeSelect: (start: Date, end: Date, resourceId?: string, position?: {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
}) => void;
|
|
87
|
+
/**
|
|
88
|
+
* The currently displayed date.
|
|
89
|
+
* @group Properties
|
|
90
|
+
*/
|
|
91
|
+
currentDate: Date;
|
|
92
|
+
/**
|
|
93
|
+
* Whether to show an unassigned lane.
|
|
94
|
+
* @group Properties
|
|
95
|
+
*/
|
|
96
|
+
showUnassignedLane?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Duration of a time slot in minutes.
|
|
99
|
+
* @group Properties
|
|
100
|
+
*/
|
|
101
|
+
slotDuration: number;
|
|
102
|
+
/**
|
|
103
|
+
* Whether to use 24-hour time format.
|
|
104
|
+
* @group Properties
|
|
105
|
+
*/
|
|
106
|
+
is24Hour: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Callback to toggle 24-hour format.
|
|
109
|
+
* @group Methods
|
|
110
|
+
*/
|
|
111
|
+
setIs24Hour: (is24: boolean) => void;
|
|
112
|
+
/**
|
|
113
|
+
* Text direction.
|
|
114
|
+
* @group Appearance
|
|
115
|
+
*/
|
|
116
|
+
dir?: 'ltr' | 'rtl' | 'auto';
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Layout manager that switches between different scheduler views based on the active view type.
|
|
120
|
+
* @group Subcomponents
|
|
121
|
+
*/
|
|
122
|
+
export declare function EzSchedulerContent({ view, daysInView, visibleEvents, rowVirtualizer, resources, handleSlotDoubleClick, handleEventDoubleClick, handleEventDelete, parentRef, setView, setCurrentDate, props, handleRangeSelect, currentDate, showUnassignedLane, slotDuration, is24Hour, setIs24Hour, dir }: EzSchedulerContentProps): import("react/jsx-runtime").JSX.Element;
|
|
123
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SchedulerEvent, Resource } from '../EzScheduler.types';
|
|
3
|
+
interface EzSchedulerQuickAddProps {
|
|
4
|
+
start: Date;
|
|
5
|
+
end: Date;
|
|
6
|
+
resourceId?: string;
|
|
7
|
+
resources?: Resource[];
|
|
8
|
+
onSave: (event: Partial<SchedulerEvent>) => void;
|
|
9
|
+
onCancel: () => void;
|
|
10
|
+
onMoreOptions: (event: Partial<SchedulerEvent>) => void;
|
|
11
|
+
position: {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare const EzSchedulerQuickAdd: React.FC<EzSchedulerQuickAddProps>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SchedulerEvent, EzSchedulerComponents } from '../../EzScheduler.types';
|
|
3
|
+
interface DraggableEventProps {
|
|
4
|
+
event: SchedulerEvent;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
components?: EzSchedulerComponents;
|
|
7
|
+
onClick?: (event: SchedulerEvent) => void;
|
|
8
|
+
onDoubleClick?: (event: SchedulerEvent) => void;
|
|
9
|
+
onDelete?: (eventId: string) => void;
|
|
10
|
+
orientation?: 'vertical' | 'horizontal';
|
|
11
|
+
resizable?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
showTime?: boolean;
|
|
14
|
+
isBlocked?: boolean;
|
|
15
|
+
isPast?: boolean;
|
|
16
|
+
isHighlighted?: boolean;
|
|
17
|
+
slotDuration?: number;
|
|
18
|
+
pixelsPerSlot?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const DraggableEvent: ({ event, style, onClick, onDoubleClick, onDelete, orientation, resizable, className, showTime, isBlocked, isPast, isHighlighted, slotDuration, pixelsPerSlot }: DraggableEventProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface DroppableSlotProps {
|
|
3
|
+
date: Date;
|
|
4
|
+
resourceId?: string;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
onDoubleClick?: () => void;
|
|
10
|
+
onMouseDown?: () => void;
|
|
11
|
+
onMouseEnter?: () => void;
|
|
12
|
+
onContextMenu?: (e: React.MouseEvent) => void;
|
|
13
|
+
data?: any;
|
|
14
|
+
isSelected?: boolean;
|
|
15
|
+
isWorkHour?: boolean;
|
|
16
|
+
width?: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const DroppableSlot: ({ date, resourceId, children, className, style, onClick, onDoubleClick, onMouseDown, onMouseEnter, onContextMenu, data, isSelected, isWorkHour }: DroppableSlotProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SchedulerEvent } from '../EzScheduler.types';
|
|
2
|
+
interface UseSchedulerEventHandlersProps {
|
|
3
|
+
events: SchedulerEvent[];
|
|
4
|
+
onEventChange?: (updatedEvent: SchedulerEvent) => void;
|
|
5
|
+
slotDuration?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const useSchedulerEventHandlers: ({ events, onEventChange, slotDuration }: UseSchedulerEventHandlersProps) => {
|
|
8
|
+
sensors: import('@dnd-kit/core').SensorDescriptor<import('@dnd-kit/core').SensorOptions>[];
|
|
9
|
+
handleDragEnd: (event: any) => void;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EzSchedulerProps, ViewType, SchedulerEvent } from '../EzScheduler.types';
|
|
2
|
+
import { SchedulerService } from '../services/SchedulerService';
|
|
3
|
+
/**
|
|
4
|
+
* Handles event management, recurrence expansion, and view filtering
|
|
5
|
+
* Uses SchedulerService (Singleton/MockDB) and TanStack Query with Standardized Optimistic Updates
|
|
6
|
+
*/
|
|
7
|
+
export declare const useSchedulerEvents: (props: EzSchedulerProps, view: ViewType, currentDate: Date) => {
|
|
8
|
+
schedulerService: SchedulerService;
|
|
9
|
+
recurrenceEngine: any;
|
|
10
|
+
daysInView: Date[];
|
|
11
|
+
visibleEvents: any;
|
|
12
|
+
allEvents: SchedulerEvent[];
|
|
13
|
+
addEvent: import('@tanstack/react-query').UseMutateAsyncFunction<SchedulerEvent, Error, Partial<SchedulerEvent>, {
|
|
14
|
+
previousEvents: unknown;
|
|
15
|
+
queryKey: string[];
|
|
16
|
+
}>;
|
|
17
|
+
updateEvent: import('@tanstack/react-query').UseMutateAsyncFunction<SchedulerEvent, Error, SchedulerEvent, {
|
|
18
|
+
previousEvents: unknown;
|
|
19
|
+
queryKey: string[];
|
|
20
|
+
}>;
|
|
21
|
+
deleteEvent: import('@tanstack/react-query').UseMutateAsyncFunction<string | number, Error, string | number, {
|
|
22
|
+
previousEvents: unknown;
|
|
23
|
+
queryKey: string[];
|
|
24
|
+
}>;
|
|
25
|
+
isUpdating: boolean;
|
|
26
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ViewType, View, SchedulerEvent, Resource, EzSchedulerRef } from '../EzScheduler.types';
|
|
2
|
+
import { SchedulerService } from '../services/SchedulerService';
|
|
3
|
+
export declare const useSchedulerImperative: (view: ViewType, currentDate: Date, schedulerService: SchedulerService, visibleEvents: SchedulerEvent[], methods: {
|
|
4
|
+
setEditorState: (state: any) => void;
|
|
5
|
+
setResources: (res: Resource[] | ((prev: Resource[]) => Resource[])) => void;
|
|
6
|
+
scrollToIndex: (index: number) => void;
|
|
7
|
+
forceUpdate: () => void;
|
|
8
|
+
showSpinner: () => void;
|
|
9
|
+
hideSpinner: () => void;
|
|
10
|
+
closeQuickInfoPopup: () => void;
|
|
11
|
+
changeView: (view: View) => void;
|
|
12
|
+
next: () => void;
|
|
13
|
+
prev: () => void;
|
|
14
|
+
today: () => void;
|
|
15
|
+
}, ref: React.Ref<EzSchedulerRef>, extraApi?: any) => void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ViewType } from '../EzScheduler.types';
|
|
2
|
+
/**
|
|
3
|
+
* Encapsulates navigation arithmetic for the scheduler
|
|
4
|
+
*/
|
|
5
|
+
export declare const useSchedulerNavigation: (currentDate: Date, setCurrentDate: (date: Date) => void, view: ViewType, onDateChange?: (date: Date) => void) => {
|
|
6
|
+
next: () => void;
|
|
7
|
+
prev: () => void;
|
|
8
|
+
today: () => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Resource, ResourceModel } from '../EzScheduler.types';
|
|
2
|
+
interface UseSchedulerResourcesProps {
|
|
3
|
+
resources: Resource[] | ResourceModel[] | undefined;
|
|
4
|
+
}
|
|
5
|
+
export declare const useSchedulerResources: ({ resources }: UseSchedulerResourcesProps) => {
|
|
6
|
+
resources: Resource[];
|
|
7
|
+
internalResources: Resource[];
|
|
8
|
+
setInternalResources: import('react').Dispatch<import('react').SetStateAction<Resource[]>>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EzSchedulerProps, ViewType } from '../EzScheduler.types';
|
|
2
|
+
/**
|
|
3
|
+
* Manages the core navigation and view state for EzScheduler
|
|
4
|
+
*/
|
|
5
|
+
export declare const useSchedulerState: (props: EzSchedulerProps) => {
|
|
6
|
+
view: ViewType;
|
|
7
|
+
setView: (newView: ViewType) => void;
|
|
8
|
+
currentDate: Date;
|
|
9
|
+
setCurrentDate: (newDate: Date) => void;
|
|
10
|
+
slotDuration: number;
|
|
11
|
+
setSlotDuration: (duration: number) => void;
|
|
12
|
+
is24Hour: boolean;
|
|
13
|
+
setIs24Hour: (is24: boolean) => void;
|
|
14
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EzSchedulerProps } from '../EzScheduler.types';
|
|
2
|
+
/**
|
|
3
|
+
* Manages virtualization for the scheduler time axis
|
|
4
|
+
*/
|
|
5
|
+
export declare const useSchedulerVirtualization: (props: EzSchedulerProps) => {
|
|
6
|
+
parentRef: import('react').RefObject<HTMLDivElement | null>;
|
|
7
|
+
rowVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element>;
|
|
8
|
+
columnVirtualizer: import('@tanstack/virtual-core').Virtualizer<HTMLDivElement, Element> | undefined;
|
|
9
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { EzSchedulerProps, EzSchedulerRef } from './EzScheduler.types';
|
|
3
|
+
/**
|
|
4
|
+
* EzScheduler is a comprehensive event management and resource scheduling engine.
|
|
5
|
+
* It provides a fluid user experience for managing complex schedules across
|
|
6
|
+
* various view modes with full drag-and-drop and resizing support.
|
|
7
|
+
*
|
|
8
|
+
|
|
9
|
+
* ### Key Features
|
|
10
|
+
* - **Multi-View System**: Switch between Day, Week, Work Week, Month, and various Timeline views.
|
|
11
|
+
* - **Resource Management**: Group events by resources (people, rooms, equipment) with dedicated lanes.
|
|
12
|
+
* - **Interactive Editing**: Intuitive drag-and-drop event movement, resizing, and double-click creation.
|
|
13
|
+
* - **Intelligent Overlap**: Customizable overlap detection and blocking for intervals like lunch breaks.
|
|
14
|
+
* - **Quick Info & Editor**: Built-in popovers for quick summaries and a full modal for detailed editing.
|
|
15
|
+
* - **Virtualization**: Efficient rendering of large resource lists and event densities.
|
|
16
|
+
*
|
|
17
|
+
* ### Minimal Example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <EzScheduler
|
|
20
|
+
* events={myEvents}
|
|
21
|
+
* view="Week"
|
|
22
|
+
* onEventChange={(event) => updateEvent(event)}
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* ### Resource Grouping Example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <EzScheduler
|
|
29
|
+
* resources={[
|
|
30
|
+
* { id: '1', name: 'Meeting Room A', color: '#e11d48' },
|
|
31
|
+
* { id: '2', name: 'Meeting Room B', color: '#2563eb' }
|
|
32
|
+
* ]}
|
|
33
|
+
* events={events}
|
|
34
|
+
* view="TimelineDay"
|
|
35
|
+
* onEventCreate={(event) => createNewMeeting(event)}
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @group Core Components
|
|
40
|
+
*/
|
|
41
|
+
export declare const EzScheduler: React.ForwardRefExoticComponent<EzSchedulerProps & React.RefAttributes<EzSchedulerRef>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventSettingsModel, FieldModel, EventData } from '../EzScheduler.types';
|
|
2
|
+
export declare class EventSettings implements EventSettingsModel {
|
|
3
|
+
dataSource: Object[] | any;
|
|
4
|
+
fields: FieldModel;
|
|
5
|
+
allowAdding: boolean;
|
|
6
|
+
allowDeleting: boolean;
|
|
7
|
+
allowEditing: boolean;
|
|
8
|
+
enableTooltip: boolean;
|
|
9
|
+
template?: string | ((data: EventData) => React.ReactNode);
|
|
10
|
+
constructor(settings: Partial<EventSettingsModel>);
|
|
11
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { View, ViewsModel, ViewType } from '../EzScheduler.types';
|
|
2
|
+
/**
|
|
3
|
+
* Implementation model for scheduler view configuration.
|
|
4
|
+
* @group Models
|
|
5
|
+
*/
|
|
6
|
+
export declare class ViewModel implements ViewsModel {
|
|
7
|
+
/**
|
|
8
|
+
* The view mode.
|
|
9
|
+
* @group Properties
|
|
10
|
+
*/
|
|
11
|
+
option: View;
|
|
12
|
+
/**
|
|
13
|
+
* Whether virtual scrolling is enabled.
|
|
14
|
+
* @group Properties
|
|
15
|
+
*/
|
|
16
|
+
allowVirtualScrolling: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Display name for the view.
|
|
19
|
+
* @group Properties
|
|
20
|
+
*/
|
|
21
|
+
displayName?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Start hour for the view.
|
|
24
|
+
* @group Properties
|
|
25
|
+
*/
|
|
26
|
+
startHour?: string;
|
|
27
|
+
/**
|
|
28
|
+
* End hour for the view.
|
|
29
|
+
* @group Properties
|
|
30
|
+
*/
|
|
31
|
+
endHour?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Time interval in minutes.
|
|
34
|
+
* @group Properties
|
|
35
|
+
*/
|
|
36
|
+
interval?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Whether to show weekends.
|
|
39
|
+
* @group Properties
|
|
40
|
+
*/
|
|
41
|
+
showWeekend?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Whether this view is currently selected.
|
|
44
|
+
* @group Properties
|
|
45
|
+
*/
|
|
46
|
+
isSelected?: boolean;
|
|
47
|
+
constructor(view: View | ViewsModel);
|
|
48
|
+
static normalize(view: View | ViewsModel | ViewType): ViewModel;
|
|
49
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IService } from '../../../shared/services/ServiceRegistry';
|
|
2
|
+
import { Attendee } from '../EzScheduler.types';
|
|
3
|
+
export declare class AttendeeService implements IService {
|
|
4
|
+
name: string;
|
|
5
|
+
constructor();
|
|
6
|
+
/**
|
|
7
|
+
* Validates attendee email format
|
|
8
|
+
*/
|
|
9
|
+
isValidEmail(email: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Format status for display
|
|
12
|
+
*/
|
|
13
|
+
getStatusLabel(status: Attendee['status']): string;
|
|
14
|
+
cleanup(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IService } from '../../../shared/services/ServiceRegistry';
|
|
2
|
+
export interface AuditLog {
|
|
3
|
+
timestamp: Date;
|
|
4
|
+
action: string;
|
|
5
|
+
userId: string;
|
|
6
|
+
details: any;
|
|
7
|
+
tenantId?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class AuditService implements IService {
|
|
10
|
+
name: string;
|
|
11
|
+
private logs;
|
|
12
|
+
log(action: string, userId: string, details: any, tenantId?: string): void;
|
|
13
|
+
getLogs(): AuditLog[];
|
|
14
|
+
cleanup(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IService } from '../../../shared/services/ServiceRegistry';
|
|
2
|
+
import { SchedulerEvent } from '../EzScheduler.types';
|
|
3
|
+
export declare class CollisionDetectionService implements IService {
|
|
4
|
+
name: string;
|
|
5
|
+
/**
|
|
6
|
+
* Checks if a new event overlaps with any existing events.
|
|
7
|
+
* @param event The event to check.
|
|
8
|
+
* @param events List of existing events.
|
|
9
|
+
* @returns True if overlap is found, otherwise false.
|
|
10
|
+
*/
|
|
11
|
+
hasOverlap(event: SchedulerEvent, events: SchedulerEvent[]): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Groups events that overlap to determine rendering columns/positions.
|
|
14
|
+
* @param events Sorted list of events.
|
|
15
|
+
* @returns Array of event groups (arrays).
|
|
16
|
+
*/
|
|
17
|
+
groupOverlappingEvents(events: SchedulerEvent[]): SchedulerEvent[][];
|
|
18
|
+
cleanup(): void;
|
|
19
|
+
}
|