@globalpayments/vega 2.13.1 → 2.15.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/dist/cjs/{app-globals-9633dc88.js → app-globals-6b5136b1.js} +4 -4
- package/dist/cjs/{childNodesEventPreventSlimmer-29128c2a.js → childNodesEventPreventSlimmer-5b352793.js} +1 -1
- package/dist/cjs/{componentUsageRuntimeMetrics-b21c694f.js → componentUsageRuntimeMetrics-1a2a592d.js} +1 -1
- package/dist/cjs/{designToken-91ea7c25.js → designToken-1e1dc648.js} +6 -83
- package/dist/cjs/{elementAppenderSlimmer-31397fa9.js → elementAppenderSlimmer-0590af69.js} +1 -1
- package/dist/cjs/{eventEmitSlimmer-da0b3b8b.js → eventEmitSlimmer-ea57144a.js} +1 -1
- package/dist/cjs/{featureFlagController-44d5e755.js → featureFlagController-ab94fd4f.js} +1 -1
- package/dist/cjs/{formFieldControllerSlimmer-b451c7a5.js → formFieldControllerSlimmer-9271a8b8.js} +4 -3
- package/dist/cjs/index-1299d729.js +8 -0
- package/dist/cjs/{index-672f20ec.js → index-3183748d.js} +27 -11
- package/dist/cjs/{index-1aa6f0c9.js → index-b8881ddc.js} +3 -3
- package/dist/cjs/index.cjs.js +9 -7
- package/dist/cjs/{internalVegaEventManager-a3672e0c.js → internalVegaEventManager-543c20cb.js} +2 -1
- package/dist/cjs/{legendInputProcessor-b1c5958c.js → legendInputProcessor-76d1eab6.js} +5 -32
- package/dist/cjs/loader.cjs.js +7 -7
- package/dist/cjs/mutationObserverFilters-dd88e5fe.js +45 -0
- package/dist/cjs/{mutationObserverFilters-5beee7b8.js → mutationObserverSlimmer-8d99123c.js} +4 -43
- package/dist/cjs/pixel-98f2a10c.js +72 -0
- package/dist/cjs/{responsiveFormatFacade-12dd896d.js → responsiveFormatFacade-037c9c80.js} +3 -43
- package/dist/cjs/stateBackgroundColorFormatter-96a26ee7.js +85 -0
- package/dist/cjs/{stringInputFormatterSlimmer-e15e55cd.js → stringInputFormatterSlimmer-afdb5cfd.js} +2 -0
- package/dist/cjs/{subStateObserverSlimmer-e61bda94.js → subStateObserverSlimmer-48ad20a1.js} +1 -1
- package/dist/cjs/timer-5f33058b.js +24 -0
- package/dist/cjs/vega-accordion.cjs.entry.js +9 -7
- package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
- package/dist/cjs/vega-app-header-button.cjs.entry.js +9 -7
- package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/vega-banner.cjs.entry.js +4 -4
- package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -3
- package/dist/cjs/vega-box.cjs.entry.js +5 -3
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
- package/dist/cjs/vega-button-circle.cjs.entry.js +9 -7
- package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
- package/dist/cjs/vega-button.cjs.entry.js +7 -6
- package/dist/cjs/vega-calendar_2.cjs.entry.js +2927 -0
- package/dist/cjs/vega-card.cjs.entry.js +5 -3
- package/dist/cjs/vega-carousel.cjs.entry.js +6 -5
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -8
- package/dist/cjs/vega-chip.cjs.entry.js +9 -7
- package/dist/cjs/vega-color-picker.cjs.entry.js +8 -7
- package/dist/cjs/vega-combo-box.cjs.entry.js +9 -8
- package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +13 -11
- package/dist/cjs/vega-dialog_2.cjs.entry.js +9 -7
- package/dist/cjs/vega-divider.cjs.entry.js +5 -3
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +38 -39
- package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
- package/dist/cjs/vega-field-label.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +7 -5
- package/dist/cjs/vega-font.cjs.entry.js +5 -3
- package/dist/cjs/vega-form.cjs.entry.js +9 -8
- package/dist/cjs/vega-grid.cjs.entry.js +5 -3
- package/dist/cjs/vega-icon.cjs.entry.js +5 -3
- package/dist/cjs/vega-image-uploader.cjs.entry.js +11 -9
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +11 -10
- package/dist/cjs/vega-input-range.cjs.entry.js +9 -8
- package/dist/cjs/vega-input-select.cjs.entry.js +11 -9
- package/dist/cjs/vega-input.cjs.entry.js +9 -8
- package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +9 -7
- package/dist/cjs/vega-line-chart.cjs.entry.js +4 -3
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -2
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +5 -5
- package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -2
- package/dist/cjs/vega-popover_2.cjs.entry.js +7 -6
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +10 -9
- package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
- package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +10 -9
- package/dist/cjs/vega-skeleton.cjs.entry.js +326 -0
- package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +9 -8
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +21 -42
- package/dist/cjs/vega-table_8.cjs.entry.js +23 -19
- package/dist/cjs/vega-text.cjs.entry.js +1 -1
- package/dist/cjs/vega-textarea.cjs.entry.js +9 -8
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +12 -10
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +4 -3
- package/dist/cjs/vega.cjs.js +7 -7
- package/dist/cjs/{vegaEventId-1a0eb6b5.js → vegaEventId-d7774262.js} +2 -0
- package/dist/cjs/{vegaInternalEventId-b27735af.js → vegaInternalEventId-173c4941.js} +2 -0
- package/dist/cjs/{yAxisInputProcessor-da676e61.js → yAxisInputProcessor-8b437e75.js} +1 -1
- package/dist/collection/collection-manifest.json +14 -0
- package/dist/collection/components/vega-calendar/icons/clock-three.js +3 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +103 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +71 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-responsive-controller.js +74 -0
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.js +78 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/calendarEventSorter.js +91 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayout.js +11 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayoutCell.js +43 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayoutGenerator.js +23 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayout.js +42 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutGenerator.js +84 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutRow.js +41 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.js +99 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +39 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.js +99 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.js +27 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +150 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.js +30 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.js +54 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayout.js +35 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutColumn.js +50 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutGenerator.js +29 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.js +77 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +70 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.js +52 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.js +152 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +88 -0
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +177 -0
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +73 -0
- package/dist/collection/components/vega-calendar/utils/index.js +23 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.js +29 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-title-max-height-controller.js +37 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-sub-state-controller.js +28 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +151 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.css +342 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +94 -0
- package/dist/collection/components/vega-calendar/vega-calendar.css +602 -0
- package/dist/collection/components/vega-calendar/vega-calendar.js +345 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +22 -22
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.js +0 -1
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +1 -4
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +8 -4
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-ellipse-renderer.js +33 -0
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-full-width-paragraph-renderer.js +29 -0
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-image-renderer.js +33 -0
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-paragraph-renderer.js +31 -0
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-base.abstract.js +23 -0
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-manager.js +49 -0
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-table-renderer.js +42 -0
- package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-text-renderer.js +28 -0
- package/dist/collection/components/vega-skeleton/vega-skeleton.css +77 -0
- package/dist/collection/components/vega-skeleton/vega-skeleton.js +163 -0
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.js +11 -12
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-direction-button-renderer.js +1 -1
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +3 -3
- package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-click-controller.js +7 -5
- package/dist/collection/constants/ui.js +2 -0
- package/dist/collection/global/icons/chevron-left.js +3 -0
- package/dist/collection/global/icons/chevron-right.js +3 -0
- package/dist/collection/helpers/calendar/calendar-date.js +103 -0
- package/dist/collection/helpers/calendar/calendar-event.js +256 -0
- package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +75 -0
- package/dist/collection/helpers/calendar/calendar-period/day-period.js +33 -0
- package/dist/collection/helpers/calendar/calendar-period/month-period.js +35 -0
- package/dist/collection/helpers/calendar/calendar-period/week-period.js +34 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/calendar-view-generator.abstract.js +41 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/day-view-generator.js +13 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/month-view-generator.js +24 -0
- package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +15 -0
- package/dist/collection/helpers/calendar/calendar-view.js +25 -0
- package/dist/collection/helpers/calendar/index.js +10 -0
- package/dist/collection/helpers/calendar/test/calendar-date.test.js +71 -0
- package/dist/collection/helpers/calendar/test/calendar-event.test.js +130 -0
- package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +65 -0
- package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +60 -0
- package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +60 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/day-view-generator.test.js +19 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/month-view-generator.test.js +73 -0
- package/dist/collection/helpers/calendar/test/calendar-view-generator/week-view-generator.test.js +28 -0
- package/dist/collection/helpers/calendar/test/calendar-view.test.js +9 -0
- package/dist/collection/helpers/calendar/test/index.test.js +13 -0
- package/dist/collection/helpers/calendar/test/utils.test.js +9 -0
- package/dist/collection/helpers/calendar/utils.js +10 -0
- package/dist/collection/helpers/event-manager/eventID/componentEventIdMap.js +2 -1
- package/dist/collection/helpers/event-manager/eventID/vegaEventId.js +2 -0
- package/dist/collection/helpers/event-manager/eventID/vegaInternalEventId.js +1 -0
- package/dist/collection/helpers/formatter/responsive-map-formatter/responsiveWidthAndHeightFormatter.js +3 -25
- package/dist/collection/helpers/slimmers/mutation-observer/mutationObserverSlimmer.js +4 -1
- package/dist/collection/helpers/slimmers/stringInputFormatterSlimmer.js +2 -0
- package/dist/collection/helpers/vega-telemetry-helper/test/vegaEnvManager.test.js +1 -1
- package/dist/collection/helpers/vega-telemetry-helper/vegaEnvManager.js +2 -2
- package/dist/collection/utils/e2eUtils.js +2 -1
- package/dist/collection/utils/pixel.js +21 -0
- package/dist/collection/utils/test/pixel.test.js +9 -1
- package/dist/esm/{app-globals-f49e68bc.js → app-globals-cf903368.js} +4 -4
- package/dist/esm/{childNodesEventPreventSlimmer-86a1593c.js → childNodesEventPreventSlimmer-ca73e6c1.js} +1 -1
- package/dist/esm/{componentUsageRuntimeMetrics-9f888049.js → componentUsageRuntimeMetrics-4f08dec8.js} +1 -1
- package/dist/esm/{designToken-d25f5b1e.js → designToken-edc855d6.js} +4 -81
- package/dist/esm/{elementAppenderSlimmer-ef58e7a4.js → elementAppenderSlimmer-3c05ca9f.js} +2 -2
- package/dist/esm/{eventEmitSlimmer-d5b8d8d7.js → eventEmitSlimmer-9c33f04e.js} +1 -1
- package/dist/esm/{featureFlagController-9df5a1a3.js → featureFlagController-816491ad.js} +1 -1
- package/dist/esm/{formFieldControllerSlimmer-04953f74.js → formFieldControllerSlimmer-85ff874e.js} +3 -2
- package/dist/esm/{index-27e4eb43.js → index-4126a006.js} +27 -11
- package/dist/esm/index-c3505689.js +8 -0
- package/dist/esm/{index-41dc8dc1.js → index-dd06e5e7.js} +3 -3
- package/dist/esm/index.js +10 -8
- package/dist/esm/{internalVegaEventManager-501f9eb9.js → internalVegaEventManager-e1501923.js} +2 -1
- package/dist/esm/{legendInputProcessor-0b8dc09c.js → legendInputProcessor-644350b4.js} +1 -28
- package/dist/esm/loader.js +7 -7
- package/dist/esm/mutationObserverFilters-243934f6.js +42 -0
- package/dist/esm/{mutationObserverFilters-17327079.js → mutationObserverSlimmer-2355cedf.js} +5 -42
- package/dist/esm/pixel-f32c07ce.js +68 -0
- package/dist/esm/{responsiveFormatFacade-7665557d.js → responsiveFormatFacade-ac0b91fc.js} +7 -47
- package/dist/esm/stateBackgroundColorFormatter-e705312f.js +82 -0
- package/dist/esm/{stringInputFormatterSlimmer-9ba33d9e.js → stringInputFormatterSlimmer-e67c7503.js} +3 -1
- package/dist/esm/{subStateObserverSlimmer-71b39ca0.js → subStateObserverSlimmer-354b33f6.js} +1 -1
- package/dist/esm/timer-9321173b.js +22 -0
- package/dist/esm/{typeGuard-ebc62114.js → typeGuard-f33ed2eb.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +10 -8
- package/dist/esm/vega-app-footer.entry.js +1 -1
- package/dist/esm/vega-app-header-button.entry.js +10 -8
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +4 -4
- package/dist/esm/vega-bar-chart.entry.js +4 -3
- package/dist/esm/vega-box.entry.js +6 -4
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +10 -8
- package/dist/esm/vega-button-group_2.entry.js +7 -7
- package/dist/esm/vega-button-link.entry.js +5 -5
- package/dist/esm/vega-button.entry.js +8 -7
- package/dist/esm/vega-calendar_2.entry.js +2922 -0
- package/dist/esm/vega-card.entry.js +6 -4
- package/dist/esm/vega-carousel.entry.js +7 -6
- package/dist/esm/vega-checkbox_2.entry.js +9 -8
- package/dist/esm/vega-chip.entry.js +10 -8
- package/dist/esm/vega-color-picker.entry.js +8 -7
- package/dist/esm/vega-combo-box.entry.js +10 -9
- package/dist/esm/vega-counter-badge.entry.js +1 -1
- package/dist/esm/vega-date-picker_2.entry.js +14 -12
- package/dist/esm/vega-dialog_2.entry.js +10 -8
- package/dist/esm/vega-divider.entry.js +6 -4
- package/dist/esm/vega-dropdown_5.entry.js +39 -40
- package/dist/esm/vega-field-error.entry.js +1 -1
- package/dist/esm/vega-field-label.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +8 -6
- package/dist/esm/vega-font.entry.js +6 -4
- package/dist/esm/vega-form.entry.js +9 -8
- package/dist/esm/vega-grid.entry.js +6 -4
- package/dist/esm/vega-icon.entry.js +6 -4
- package/dist/esm/vega-image-uploader.entry.js +12 -10
- package/dist/esm/vega-input-credit-card.entry.js +11 -10
- package/dist/esm/vega-input-range.entry.js +9 -8
- package/dist/esm/vega-input-select.entry.js +12 -10
- package/dist/esm/vega-input.entry.js +10 -9
- package/dist/esm/vega-item-toggle.entry.js +4 -4
- package/dist/esm/vega-left-nav_5.entry.js +10 -8
- package/dist/esm/vega-line-chart.entry.js +4 -3
- package/dist/esm/vega-loader-wrapper_2.entry.js +4 -3
- package/dist/esm/vega-page-notification_2.entry.js +2 -2
- package/dist/esm/vega-pagination.entry.js +5 -5
- package/dist/esm/vega-pie-chart.entry.js +3 -2
- package/dist/esm/vega-popover_2.entry.js +8 -7
- package/dist/esm/vega-progress-tracker.entry.js +4 -4
- package/dist/esm/vega-radio_2.entry.js +9 -8
- package/dist/esm/vega-section-title.entry.js +1 -1
- package/dist/esm/vega-segment-control.entry.js +4 -4
- package/dist/esm/vega-selection-tile_2.entry.js +10 -9
- package/dist/esm/vega-skeleton.entry.js +322 -0
- package/dist/esm/vega-slot-container.entry.js +1 -1
- package/dist/esm/vega-stepper.entry.js +9 -8
- package/dist/esm/vega-tab-group_2.entry.js +20 -41
- package/dist/esm/vega-table_8.entry.js +21 -17
- package/dist/esm/vega-text.entry.js +1 -1
- package/dist/esm/vega-textarea.entry.js +9 -8
- package/dist/esm/vega-time-picker_2.entry.js +13 -11
- package/dist/esm/vega-toggle-switch.entry.js +4 -4
- package/dist/esm/vega-tooltip_2.entry.js +5 -4
- package/dist/esm/vega.js +7 -7
- package/dist/esm/{vegaEventId-c0384a6f.js → vegaEventId-680887e1.js} +2 -1
- package/dist/esm/{vegaInternalEventId-ba0b5623.js → vegaInternalEventId-600b3751.js} +2 -1
- package/dist/esm/{yAxisInputProcessor-1d65dcf9.js → yAxisInputProcessor-2f08ac84.js} +1 -1
- package/dist/types/components/vega-calendar/icons/clock-three.d.ts +3 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +45 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +36 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-responsive-controller.d.ts +25 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.d.ts +39 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/calendarEventSorter.d.ts +38 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayout.d.ts +11 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayoutCell.d.ts +40 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayoutGenerator.d.ts +16 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayout.d.ts +30 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutGenerator.d.ts +39 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutRow.d.ts +26 -0
- package/dist/types/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +23 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.d.ts +39 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.d.ts +13 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.d.ts +67 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.d.ts +14 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.d.ts +22 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayout.d.ts +20 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutColumn.d.ts +28 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutGenerator.d.ts +20 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +27 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.d.ts +23 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.d.ts +63 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +37 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +66 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +29 -0
- package/dist/types/components/vega-calendar/types.d.ts +58 -0
- package/dist/types/components/vega-calendar/utils/index.d.ts +18 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.d.ts +12 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-title-max-height-controller.d.ts +13 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-sub-state-controller.d.ts +10 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +54 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +25 -0
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +107 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +3 -6
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +0 -2
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +5 -1
- package/dist/types/components/vega-skeleton/interface.d.ts +5 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-ellipse-renderer.d.ts +12 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-full-width-paragraph-renderer.d.ts +11 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-image-renderer.d.ts +12 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-paragraph-renderer.d.ts +12 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-base.abstract.d.ts +13 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-manager.d.ts +21 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-table-renderer.d.ts +14 -0
- package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-text-renderer.d.ts +11 -0
- package/dist/types/components/vega-skeleton/vega-skeleton.d.ts +41 -0
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.d.ts +5 -5
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -1
- package/dist/types/components.d.ts +128 -1
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/global/icons/chevron-left.d.ts +3 -0
- package/dist/types/global/icons/chevron-right.d.ts +3 -0
- package/dist/types/helpers/calendar/calendar-date.d.ts +61 -0
- package/dist/types/helpers/calendar/calendar-event.d.ts +140 -0
- package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +73 -0
- package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +21 -0
- package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +21 -0
- package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +21 -0
- package/dist/types/helpers/calendar/calendar-view-generator/calendar-view-generator.abstract.d.ts +35 -0
- package/dist/types/helpers/calendar/calendar-view-generator/day-view-generator.d.ts +12 -0
- package/dist/types/helpers/calendar/calendar-view-generator/month-view-generator.d.ts +12 -0
- package/dist/types/helpers/calendar/calendar-view-generator/week-view-generator.d.ts +12 -0
- package/dist/types/helpers/calendar/calendar-view.d.ts +21 -0
- package/dist/types/helpers/calendar/index.d.ts +10 -0
- package/dist/types/helpers/calendar/test/calendar-date.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-event.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-period/day-period.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-period/month-period.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-period/week-period.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view-generator/day-view-generator.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view-generator/month-view-generator.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view-generator/week-view-generator.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-view.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/index.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/utils.test.d.ts +1 -0
- package/dist/types/helpers/calendar/utils.d.ts +7 -0
- package/dist/types/helpers/event-manager/eventID/vegaEventId.d.ts +2 -0
- package/dist/types/helpers/event-manager/eventID/vegaInternalEventId.d.ts +1 -0
- package/dist/types/helpers/formatter/responsive-map-formatter/responsiveWidthAndHeightFormatter.d.ts +0 -12
- package/dist/types/types/components.type.d.ts +9 -1
- package/dist/types/utils/pixel.d.ts +11 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-009405b6.entry.js +1 -0
- package/dist/vega/p-01ec38c1.js +1 -0
- package/dist/vega/p-0c667d6a.js +1 -0
- package/dist/vega/{p-d361ef78.js → p-1265732f.js} +1 -1
- package/dist/vega/{p-e80fd0ef.js → p-13ead830.js} +1 -1
- package/dist/vega/{p-d942a746.js → p-16608c5a.js} +1 -1
- package/dist/vega/{p-41413ea4.entry.js → p-1b3a0b54.entry.js} +2 -2
- package/dist/vega/p-1bc5b3bc.js +1 -0
- package/dist/vega/{p-7b127de4.js → p-1c2646d6.js} +1 -1
- package/dist/vega/p-1ced3ae5.js +1 -0
- package/dist/vega/{p-f27998de.entry.js → p-1d628d23.entry.js} +1 -1
- package/dist/vega/p-1dfddf03.entry.js +1 -0
- package/dist/vega/p-23422e56.entry.js +1 -0
- package/dist/vega/{p-797b24d3.entry.js → p-27d76db9.entry.js} +1 -1
- package/dist/vega/p-282648c1.entry.js +1 -0
- package/dist/vega/p-29d2d70a.js +1 -0
- package/dist/vega/p-2bb1c1c1.entry.js +1 -0
- package/dist/vega/{p-cffd96c9.entry.js → p-2c89a9a4.entry.js} +1 -1
- package/dist/vega/p-2e59a4f1.entry.js +1 -0
- package/dist/vega/p-37d3b80c.entry.js +1 -0
- package/dist/vega/p-38a22eb3.entry.js +1 -0
- package/dist/vega/p-38b01f3f.entry.js +1 -0
- package/dist/vega/p-38d19c4f.entry.js +1 -0
- package/dist/vega/p-3a815548.entry.js +1 -0
- package/dist/vega/p-3efc814a.entry.js +1 -0
- package/dist/vega/p-4365b25e.entry.js +1 -0
- package/dist/vega/p-449ad98f.entry.js +1 -0
- package/dist/vega/p-4d2859c9.entry.js +1 -0
- package/dist/vega/p-557516a4.entry.js +1 -0
- package/dist/vega/p-56681feb.js +1 -0
- package/dist/vega/p-57b85af1.entry.js +1 -0
- package/dist/vega/p-592e755b.entry.js +1 -0
- package/dist/vega/{p-210737f2.js → p-5cad29f5.js} +1 -1
- package/dist/vega/p-5eeb2fc1.entry.js +1 -0
- package/dist/vega/p-61c96c79.entry.js +1 -0
- package/dist/vega/p-61f18887.js +1 -0
- package/dist/vega/p-692df03d.entry.js +1 -0
- package/dist/vega/p-6ad96891.entry.js +1 -0
- package/dist/vega/p-6bdc4407.js +1 -0
- package/dist/vega/{p-194a3f8f.entry.js → p-6d482bec.entry.js} +1 -1
- package/dist/vega/{p-5b5625a0.entry.js → p-6e0daee9.entry.js} +1 -1
- package/dist/vega/p-6f7f9cda.entry.js +1 -0
- package/dist/vega/p-7440d7a2.entry.js +1 -0
- package/dist/vega/{p-bbbcfd09.entry.js → p-77b39fe7.entry.js} +1 -1
- package/dist/vega/p-77ff7c72.js +1 -0
- package/dist/vega/{p-e49ec016.entry.js → p-84787f59.entry.js} +1 -1
- package/dist/vega/p-8c62c493.entry.js +1 -0
- package/dist/vega/{p-a03b1bad.entry.js → p-9047ee85.entry.js} +1 -1
- package/dist/vega/p-95bdac84.entry.js +1 -0
- package/dist/vega/{p-3d220905.js → p-999e1318.js} +1 -1
- package/dist/vega/{p-7653f0c2.js → p-99c8fe92.js} +1 -1
- package/dist/vega/{p-e6848e33.entry.js → p-9b396c06.entry.js} +1 -1
- package/dist/vega/p-9e38810c.js +1 -0
- package/dist/vega/{p-f5f0545e.entry.js → p-9f56c3e4.entry.js} +1 -1
- package/dist/vega/p-a6cb10e8.entry.js +1 -0
- package/dist/vega/{p-75c51fe9.js → p-a9c3e9fd.js} +1 -1
- package/dist/vega/{p-8bdb7c1d.entry.js → p-a9f61d9e.entry.js} +1 -1
- package/dist/vega/p-aae8855d.js +1 -0
- package/dist/vega/p-af72a212.entry.js +1 -0
- package/dist/vega/p-b3056874.entry.js +1 -0
- package/dist/vega/{p-fa38e1c8.entry.js → p-b58e2fae.entry.js} +1 -1
- package/dist/vega/{p-86002ca4.entry.js → p-b708b0c2.entry.js} +1 -1
- package/dist/vega/p-b7bde205.entry.js +1 -0
- package/dist/vega/p-ba37eaad.entry.js +1 -0
- package/dist/vega/p-bb761f8f.js +1 -0
- package/dist/vega/p-bfc3450c.entry.js +1 -0
- package/dist/vega/p-c0ca1a1c.entry.js +1 -0
- package/dist/vega/p-c47d4933.js +1 -0
- package/dist/vega/p-c849236f.entry.js +1 -0
- package/dist/vega/{p-c902a586.entry.js → p-cd05ab96.entry.js} +1 -1
- package/dist/vega/{p-31ec4b52.entry.js → p-ceec3241.entry.js} +1 -1
- package/dist/vega/{p-761c458e.entry.js → p-d224e798.entry.js} +1 -1
- package/dist/vega/p-d909c9b4.entry.js +1 -0
- package/dist/vega/p-d978ee2c.entry.js +1 -0
- package/dist/vega/p-de5db6c9.entry.js +1 -0
- package/dist/vega/p-e1a284b1.entry.js +1 -0
- package/dist/vega/p-e4e60c01.entry.js +1 -0
- package/dist/vega/p-eb461dad.entry.js +1 -0
- package/dist/vega/p-eb709bc0.entry.js +1 -0
- package/dist/vega/p-f1d8fd1c.js +1 -0
- package/dist/vega/{p-629acb2e.js → p-f2118771.js} +1 -1
- package/dist/vega/p-f723790c.entry.js +1 -0
- package/dist/vega/{p-6ff07396.js → p-fda33444.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -3
- package/dist/vega/p-07abc29b.entry.js +0 -1
- package/dist/vega/p-08b48e61.entry.js +0 -1
- package/dist/vega/p-0d51b10e.entry.js +0 -1
- package/dist/vega/p-0ee347fd.entry.js +0 -1
- package/dist/vega/p-1fe9e4b3.js +0 -1
- package/dist/vega/p-22101a5f.entry.js +0 -1
- package/dist/vega/p-26be7725.js +0 -1
- package/dist/vega/p-2d38dcab.entry.js +0 -1
- package/dist/vega/p-2ea7b083.entry.js +0 -1
- package/dist/vega/p-3185ee03.entry.js +0 -1
- package/dist/vega/p-3205e6ec.entry.js +0 -1
- package/dist/vega/p-33ac74cb.entry.js +0 -1
- package/dist/vega/p-4949df06.js +0 -1
- package/dist/vega/p-4aaa9e0d.entry.js +0 -1
- package/dist/vega/p-5abced5e.entry.js +0 -1
- package/dist/vega/p-5df33dea.entry.js +0 -1
- package/dist/vega/p-60dbd035.entry.js +0 -1
- package/dist/vega/p-64020a69.entry.js +0 -1
- package/dist/vega/p-6cb26711.entry.js +0 -1
- package/dist/vega/p-79ccf076.entry.js +0 -1
- package/dist/vega/p-7d2ed978.entry.js +0 -1
- package/dist/vega/p-8da4b720.js +0 -1
- package/dist/vega/p-91160d38.js +0 -1
- package/dist/vega/p-9745f18f.entry.js +0 -1
- package/dist/vega/p-9820bd52.entry.js +0 -1
- package/dist/vega/p-9c726541.entry.js +0 -1
- package/dist/vega/p-9e70473b.js +0 -1
- package/dist/vega/p-a022bf87.entry.js +0 -1
- package/dist/vega/p-a09efd3b.entry.js +0 -1
- package/dist/vega/p-a62f4fbf.entry.js +0 -1
- package/dist/vega/p-ac23cfa6.js +0 -1
- package/dist/vega/p-ad2d02c5.entry.js +0 -1
- package/dist/vega/p-ade08379.entry.js +0 -1
- package/dist/vega/p-aeef2799.js +0 -1
- package/dist/vega/p-b7a0f473.entry.js +0 -1
- package/dist/vega/p-b7c51304.js +0 -1
- package/dist/vega/p-bbc8b4f5.entry.js +0 -1
- package/dist/vega/p-bd350fb7.entry.js +0 -1
- package/dist/vega/p-bf877997.entry.js +0 -1
- package/dist/vega/p-cb06eb1c.entry.js +0 -1
- package/dist/vega/p-d3605b1a.entry.js +0 -1
- package/dist/vega/p-da12b2da.entry.js +0 -1
- package/dist/vega/p-db6e73fc.entry.js +0 -1
- package/dist/vega/p-e0d2c9f6.entry.js +0 -1
- package/dist/vega/p-e89db39c.entry.js +0 -1
- package/dist/vega/p-eb6c9578.js +0 -1
- package/dist/vega/p-fbc0c261.entry.js +0 -1
- package/dist/vega/p-fc30b986.entry.js +0 -1
- package/dist/vega/p-ff3ae862.entry.js +0 -1
- package/dist/vega/p-ffa25bf2.entry.js +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { createEnterKeyHandlerToTriggerClick } from '../../../../../utils/accessibility';
|
|
10
|
+
/** The `VegaCalendarEventItemRenderer` class in TypeScript React is used for rendering calendar event items with specific layout and styling properties. */
|
|
11
|
+
export class VegaCalendarEventItemRenderer extends VegaSlimmer {
|
|
12
|
+
/**
|
|
13
|
+
* render event component
|
|
14
|
+
*
|
|
15
|
+
* @param {CalendarEvent} item the calendar event object
|
|
16
|
+
* @param {Record<string,boolean>} classMap the class name map
|
|
17
|
+
* @returns {HTMLVegaCalendarEventElement} calendar event element
|
|
18
|
+
*/
|
|
19
|
+
render(item, classMap) {
|
|
20
|
+
return (h("vega-calendar-event", { key: item.eventKey, calendarEvent: item, class: classMap, onKeyDown: createEnterKeyHandlerToTriggerClick(),
|
|
21
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
22
|
+
onClick: () => this.handleEventClick(item) }));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* emit vega click event
|
|
26
|
+
*
|
|
27
|
+
* @param {CalendarEvent} eventItem the event item
|
|
28
|
+
*/
|
|
29
|
+
handleEventClick(eventItem) {
|
|
30
|
+
this.eventClickEmitter.emit({ rawEvent: eventItem.event });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
VegaCalendarEventItemRenderer.backgroundColorModeEventHeight = 18;
|
|
34
|
+
__decorate([
|
|
35
|
+
MapToComponentField()
|
|
36
|
+
], VegaCalendarEventItemRenderer.prototype, "calendarView", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
MapToComponentField()
|
|
39
|
+
], VegaCalendarEventItemRenderer.prototype, "eventClickEmitter", void 0);
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { VegaCalendarFullDayEventLayoutGenerator } from '../layout/fullDayEventLayoutGenerator';
|
|
10
|
+
import { VegaCalendarEventSorter } from '../helpers/calendarEventSorter';
|
|
11
|
+
import { VegaCalendarEventItemRenderer } from './vega-calendar-event-item-renderer';
|
|
12
|
+
/** This code snippet defines a TypeScript class `VegaCalendarFullDayEventLayoutRenderer` that extends `VegaSlimmer`. Here's a breakdown of what the class and its methods are doing: */
|
|
13
|
+
export class VegaCalendarFullDayEventLayoutRenderer extends VegaSlimmer {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.longEventLayoutGenerator = new VegaCalendarFullDayEventLayoutGenerator();
|
|
17
|
+
this.calendarEventSorter = new VegaCalendarEventSorter();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The function `sortLongEvents` sorts calendar events based on a fixed layout generated by `longEventLayoutGenerator`.
|
|
21
|
+
*
|
|
22
|
+
* @param {CalendarEvent[][]} calendarEvents - calendar current row all events
|
|
23
|
+
* @returns {Nullable<CalendarEvent>[][]} the events after sorter
|
|
24
|
+
*/
|
|
25
|
+
sortLongEvents(calendarEvents) {
|
|
26
|
+
this.fullDayEventLayout = this.longEventLayoutGenerator.generate(calendarEvents);
|
|
27
|
+
return calendarEvents.map((items, index) => {
|
|
28
|
+
return this.calendarEventSorter.sort(items, index, this.fullDayEventLayout);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* render the month view or week view long events
|
|
33
|
+
*
|
|
34
|
+
* @param {Nullable<CalendarEvent>[]} calendarEvents current events
|
|
35
|
+
* @param {currentViewIndex} currentViewIndex the current index of the row
|
|
36
|
+
* @returns {HTMLElement[]} event elements
|
|
37
|
+
*/
|
|
38
|
+
render(calendarEvents, currentViewIndex) {
|
|
39
|
+
return calendarEvents.map((item, index) => {
|
|
40
|
+
if (item) {
|
|
41
|
+
return (h("div", { key: item.eventKey, class: this.viewMode === 'month' ? 'month-event-block' : 'day-event-block', style: this.getEventStyle(item, currentViewIndex, index, this.viewMode === 'month'
|
|
42
|
+
? VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop
|
|
43
|
+
: 0) }, this.eventItemRenderer.render(item, {
|
|
44
|
+
'month-event': this.viewMode === 'month',
|
|
45
|
+
'day-event': this.viewMode !== 'month',
|
|
46
|
+
})));
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/*
|
|
51
|
+
* The below method is e2e-test covered in
|
|
52
|
+
* @see{module:vega-calendar-render-full-day-event-correct}
|
|
53
|
+
*/
|
|
54
|
+
/* istanbul ignore next */
|
|
55
|
+
/**
|
|
56
|
+
* Get the current event layout style from the params
|
|
57
|
+
*
|
|
58
|
+
* @param {CalendarEvent} calendarEvent current event item
|
|
59
|
+
* @param {number} currentViewIndex the current date index of the row
|
|
60
|
+
* @param {number} itemIndex the current event index of the event array
|
|
61
|
+
* @param {number} offsetTop the default offset top for the event
|
|
62
|
+
* @returns {VegaCalendarEventStyle} layout style object
|
|
63
|
+
*/
|
|
64
|
+
getEventStyle(calendarEvent, currentViewIndex, itemIndex, offsetTop) {
|
|
65
|
+
const cellCount = this.calendarView.weekdays.length;
|
|
66
|
+
const start = currentViewIndex;
|
|
67
|
+
let end = currentViewIndex + 1;
|
|
68
|
+
const top = itemIndex;
|
|
69
|
+
let visible = true;
|
|
70
|
+
const order = this.fullDayEventLayout.getEventRowsIndex(calendarEvent);
|
|
71
|
+
if (order >= 0) {
|
|
72
|
+
const startIndex = this.fullDayEventLayout.eventLayoutCells[order].getEventStartIndex(calendarEvent);
|
|
73
|
+
const endIndex = this.fullDayEventLayout.eventLayoutCells[order].getEventEndIndex(calendarEvent);
|
|
74
|
+
if (startIndex === currentViewIndex) {
|
|
75
|
+
end = endIndex + 1;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
visible = false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
position: 'absolute',
|
|
83
|
+
left: `${(100 / cellCount) * start}%`,
|
|
84
|
+
top: `${top * VegaCalendarEventItemRenderer.backgroundColorModeEventHeight + offsetTop}px`,
|
|
85
|
+
width: `${(100 / cellCount) * (end - start)}%`,
|
|
86
|
+
opacity: visible ? '1' : '0',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
VegaCalendarFullDayEventLayoutRenderer.monthViewEventOffsetTop = 26;
|
|
91
|
+
__decorate([
|
|
92
|
+
MapToComponentField()
|
|
93
|
+
], VegaCalendarFullDayEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
MapToComponentField()
|
|
96
|
+
], VegaCalendarFullDayEventLayoutRenderer.prototype, "viewMode", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
MapToComponentField()
|
|
99
|
+
], VegaCalendarFullDayEventLayoutRenderer.prototype, "calendarView", void 0);
|
package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Fragment, h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
/** The `VegaCalendarRenderer` class in TypeScript React renders switch panel and view components for a calendar using VegaSlimmer. */
|
|
10
|
+
export class VegaCalendarRenderer extends VegaSlimmer {
|
|
11
|
+
/**
|
|
12
|
+
* The render function returns a Fragment containing the rendered output of switchPanelRenderer and viewRenderer components.
|
|
13
|
+
*
|
|
14
|
+
* @returns {HTMLElement} An HTMLElement containing the rendered output of the switchPanelRenderer and viewRenderer components.
|
|
15
|
+
*/
|
|
16
|
+
render() {
|
|
17
|
+
return (h(Fragment, null,
|
|
18
|
+
this.switchPanelRenderer.render(),
|
|
19
|
+
this.viewRenderer.render()));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
__decorate([
|
|
23
|
+
MapToComponentField()
|
|
24
|
+
], VegaCalendarRenderer.prototype, "switchPanelRenderer", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
MapToComponentField()
|
|
27
|
+
], VegaCalendarRenderer.prototype, "viewRenderer", void 0);
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/domNodeSubjectObserverFactory';
|
|
10
|
+
import { VegaChange, VegaClick } from '../../../../../helpers/event-manager/eventID/vegaEventId';
|
|
11
|
+
import { VegaInternalIconManager } from '../../../../../helpers/icon/internal-icon-manager';
|
|
12
|
+
import chevronRight from '../../../../../global/icons/chevron-right';
|
|
13
|
+
import chevronLeft from '../../../../../global/icons/chevron-left';
|
|
14
|
+
import { getMonthName } from '../../../utils';
|
|
15
|
+
/** The `VegaCalendarSwitchPanelRenderer` class in TypeScript React renders a calendar switch panel with date navigation, view selection, and action buttons. */
|
|
16
|
+
export class VegaCalendarSwitchPanelRenderer extends VegaSlimmer {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
/**
|
|
20
|
+
* This function is responsible for updating the `viewMode` property of the `VegaCalendarSwitchPanelRenderer` class with the value extracted from the `input` parameter.
|
|
21
|
+
*
|
|
22
|
+
* @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
|
|
23
|
+
*/
|
|
24
|
+
this.handleViewChange = (input) => {
|
|
25
|
+
this.calendarViewController.setViewMode(input.detail);
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* reset view content to today
|
|
29
|
+
*/
|
|
30
|
+
this.todayButtonClick = () => {
|
|
31
|
+
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.now());
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* update view content after click next button
|
|
35
|
+
*/
|
|
36
|
+
this.nextButtonClick = () => {
|
|
37
|
+
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.next());
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* update view content after click previous button
|
|
41
|
+
*/
|
|
42
|
+
this.prevButtonClick = () => {
|
|
43
|
+
this.currentPeriodController.setCurrentPeriod(this.currentPeriod.previous());
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* get the switch panel container element
|
|
48
|
+
*
|
|
49
|
+
* @returns {HTMLElement} container element
|
|
50
|
+
*/
|
|
51
|
+
getSwitchPanelRef() {
|
|
52
|
+
return this.switchPanelRef;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* calendar switch panel with date switch, view switch, add new button, and more action components.
|
|
56
|
+
*
|
|
57
|
+
* @returns {HTMLElement} html element
|
|
58
|
+
*/
|
|
59
|
+
render() {
|
|
60
|
+
return (h("vega-flex", { direction: "row", gap: "size-16", justifyContent: "space-between", alignItems: "center", class: "calendar-switch-panel", ref: (node) => (this.switchPanelRef = node) },
|
|
61
|
+
this.renderDateSwitch(),
|
|
62
|
+
h("div", { class: "calendar-view-switch-container" }, this.renderViewSwitch())));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The `renderDateSwitch` function returns a container with buttons for switching dates and displaying the current date.
|
|
66
|
+
*
|
|
67
|
+
* @returns {HTMLDivElement} action button elements container.
|
|
68
|
+
*/
|
|
69
|
+
renderDateSwitch() {
|
|
70
|
+
return (h("div", { class: "calendar-date-switch-container" },
|
|
71
|
+
h("vega-button", { variant: "secondary", size: "small", ref: (button) => {
|
|
72
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.todayButtonClick);
|
|
73
|
+
} }, "Today"),
|
|
74
|
+
h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-left'), label: "previous", showTooltip: false, ref: (button) => {
|
|
75
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.prevButtonClick);
|
|
76
|
+
} }),
|
|
77
|
+
h("vega-button-circle", { variant: "secondary", size: "small", icon: VegaInternalIconManager.getIconKey('chevron-right'), label: "next", showTooltip: false, ref: (button) => {
|
|
78
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.nextButtonClick);
|
|
79
|
+
} }),
|
|
80
|
+
this.renderCurrentPeriod()));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The function `renderCurrentPeriod` returns an HTML element displaying the view date content summary info.
|
|
84
|
+
*
|
|
85
|
+
* @returns {HTMLVegaFontElement} The text content inside the element is "Current Date Test".
|
|
86
|
+
*/
|
|
87
|
+
renderCurrentPeriod() {
|
|
88
|
+
return (h("vega-font", { class: "calendar-current-date", variant: "font-field-label", color: "text-primary" }, this.getViewDateSummary()));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The function `renderViewSwitch` returns a JSX element for rendering a segment control component in a TypeScript React application.
|
|
92
|
+
*
|
|
93
|
+
* @returns {HTMLElement} An HTMLElement containing a vega-segment-control element with specific attributes and event handling.
|
|
94
|
+
*/
|
|
95
|
+
renderViewSwitch() {
|
|
96
|
+
return (h("vega-segment-control", { segments: VegaCalendarSwitchPanelRenderer.views, size: "small", variant: "text-only", selected: this.viewMode, ref: (node) => {
|
|
97
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaChange, this.handleViewChange);
|
|
98
|
+
} }));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get the view content date summary info, such as `January, 2024` or `10 January, 2024` or `28 December, 2023 - 3 January, 2024`
|
|
102
|
+
*
|
|
103
|
+
* @returns {string} string
|
|
104
|
+
*/
|
|
105
|
+
getViewDateSummary() {
|
|
106
|
+
const currentDate = this.currentPeriod.current;
|
|
107
|
+
let result = '';
|
|
108
|
+
switch (this.viewMode) {
|
|
109
|
+
case 'day':
|
|
110
|
+
result = `${currentDate.date} ${getMonthName(currentDate.toDate())}, ${currentDate.year}`;
|
|
111
|
+
break;
|
|
112
|
+
case 'week': {
|
|
113
|
+
const start = this.currentPeriod.startDate;
|
|
114
|
+
const end = this.currentPeriod.endDate;
|
|
115
|
+
result = `${start.date} ${getMonthName(start.toDate())}${start.year === end.year ? '' : ', ' + start.year} - ${end.date} ${getMonthName(end.toDate())}, ${end.year}`;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case 'month':
|
|
119
|
+
result = `${getMonthName(currentDate.toDate())}, ${currentDate.year}`;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
(() => {
|
|
126
|
+
VegaInternalIconManager.register({
|
|
127
|
+
'chevron-right': chevronRight,
|
|
128
|
+
'chevron-left': chevronLeft,
|
|
129
|
+
});
|
|
130
|
+
})();
|
|
131
|
+
VegaCalendarSwitchPanelRenderer.views = [
|
|
132
|
+
{ text: 'Day', key: 'day' },
|
|
133
|
+
{ text: 'Week', key: 'week' },
|
|
134
|
+
{ text: 'Month', key: 'month' },
|
|
135
|
+
];
|
|
136
|
+
__decorate([
|
|
137
|
+
MapToComponentField()
|
|
138
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "viewMode", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
MapToComponentField()
|
|
141
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "calendarView", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
MapToComponentField()
|
|
144
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriod", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
MapToComponentField()
|
|
147
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "currentPeriodController", void 0);
|
|
148
|
+
__decorate([
|
|
149
|
+
MapToComponentField()
|
|
150
|
+
], VegaCalendarSwitchPanelRenderer.prototype, "calendarViewController", void 0);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
/** renders different views based on the specified view mode using month, week, and day view render. */
|
|
10
|
+
export class VegaCalendarViewRenderer extends VegaSlimmer {
|
|
11
|
+
/**
|
|
12
|
+
* render the calendar month/week/day view
|
|
13
|
+
*
|
|
14
|
+
* @returns {HTMLElement} html element
|
|
15
|
+
*/
|
|
16
|
+
render() {
|
|
17
|
+
return (h("div", { class: `calendar-view calendar-view-${this.viewMode}` }, this.viewMode === 'month'
|
|
18
|
+
? this.monthViewRenderer.render()
|
|
19
|
+
: this.viewWithTimeRenderer.render()));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
__decorate([
|
|
23
|
+
MapToComponentField()
|
|
24
|
+
], VegaCalendarViewRenderer.prototype, "viewMode", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
MapToComponentField()
|
|
27
|
+
], VegaCalendarViewRenderer.prototype, "monthViewRenderer", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
MapToComponentField()
|
|
30
|
+
], VegaCalendarViewRenderer.prototype, "viewWithTimeRenderer", void 0);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Fragment, h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { VegaCalendarEventItemRenderer } from '../../../common/renderers/vega-calendar-event-item-renderer';
|
|
10
|
+
export class VegaCalendarFullDayEventRenderer extends VegaSlimmer {
|
|
11
|
+
/**
|
|
12
|
+
* render current preiod all day events
|
|
13
|
+
*
|
|
14
|
+
* @returns {HTMLElement} event element
|
|
15
|
+
*/
|
|
16
|
+
render() {
|
|
17
|
+
const viewSource = this.calendarView.dateItems[0];
|
|
18
|
+
const events = viewSource.map((calendarDate) => {
|
|
19
|
+
return this.calendarEventController
|
|
20
|
+
.getCurrentDateEvents(calendarDate)
|
|
21
|
+
.filter((eventItem) => eventItem.isAllDayEvent || eventItem.isGroupEvent());
|
|
22
|
+
});
|
|
23
|
+
const orderEvents = this.fullDayEventLayoutRenderer.sortLongEvents(events);
|
|
24
|
+
return (h("div", { class: "calendar-view-event-all" }, viewSource.map((item, index) => (h("div", { class: "event-all-col border-divider-left", key: item.date }, this.renderCurrentFullDayEvents(orderEvents[index], index))))));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* render current date all day events
|
|
28
|
+
*
|
|
29
|
+
* @param {Nullable<CalendarEvent>[]} events calendar events
|
|
30
|
+
* @param {number} currentViewIndex the current date index of the array
|
|
31
|
+
* @returns {HTMLVegaCalendarEventElement[]} event component array
|
|
32
|
+
*/
|
|
33
|
+
renderCurrentFullDayEvents(events, currentViewIndex) {
|
|
34
|
+
const height = events.length * VegaCalendarEventItemRenderer.backgroundColorModeEventHeight - 2;
|
|
35
|
+
return (h(Fragment, null,
|
|
36
|
+
h("div", { class: "placeholder-block", style: { height: height + 'px' } },
|
|
37
|
+
h("span", null,
|
|
38
|
+
events.length,
|
|
39
|
+
" events")),
|
|
40
|
+
this.fullDayEventLayoutRenderer.render(events, currentViewIndex)));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
__decorate([
|
|
44
|
+
MapToComponentField()
|
|
45
|
+
], VegaCalendarFullDayEventRenderer.prototype, "calendarView", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
MapToComponentField()
|
|
48
|
+
], VegaCalendarFullDayEventRenderer.prototype, "calendarEventController", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
MapToComponentField()
|
|
51
|
+
], VegaCalendarFullDayEventRenderer.prototype, "eventItemRenderer", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
MapToComponentField()
|
|
54
|
+
], VegaCalendarFullDayEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { VegaCalendarBaseEventLayout } from '../../../../common/layout/baseEventLayout';
|
|
2
|
+
/** This TypeScript class, VegaCalendarDayViewTimedEventLayout, manages the layout of events in a day view calendar. */
|
|
3
|
+
export class VegaCalendarDayViewTimedEventLayout extends VegaCalendarBaseEventLayout {
|
|
4
|
+
/**
|
|
5
|
+
* The constructor function initializes the columns property with the provided array of VegaCalendarDayViewTimedEventLayoutColumn objects.
|
|
6
|
+
*
|
|
7
|
+
* @param {VegaCalendarDayViewTimedEventLayoutColumn[]} columns - An array of VegaCalendarDayViewTimedEventLayoutColumn objects.
|
|
8
|
+
*/
|
|
9
|
+
constructor(columns) {
|
|
10
|
+
super();
|
|
11
|
+
this.cells = columns;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The function `getEventColumnsSpannedCount` calculates the number of columns spanned by a given calendar event in a day view layout.
|
|
15
|
+
*
|
|
16
|
+
* @param {CalendarEvent} eventItem - The `getEventColumnsSpannedCount` function takes a `CalendarEvent` object as the `eventItem` parameter. This function calculates the number of columns spanned by the given event within the calendar view.
|
|
17
|
+
* @returns {number} The function `getEventColumnsSpannedCount` returns the number of columns spanned by the given `eventItem` in the `VegaCalendarDayViewTimedEventLayoutColumn` array `columns`.
|
|
18
|
+
*/
|
|
19
|
+
getEventColumnsSpannedCount(eventItem) {
|
|
20
|
+
const eventColumnIndex = this.cells.findIndex((column) => {
|
|
21
|
+
return column.getEventStartIndex(eventItem) >= 0;
|
|
22
|
+
});
|
|
23
|
+
let count = eventColumnIndex + 1;
|
|
24
|
+
if (eventColumnIndex < this.cells.length - 1) {
|
|
25
|
+
this.cells
|
|
26
|
+
.slice(eventColumnIndex + 1)
|
|
27
|
+
.forEach((column) => {
|
|
28
|
+
if (column.hasOverlapEvent(eventItem)) {
|
|
29
|
+
count++;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return count;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getTimeIndex } from '../../../../../utils';
|
|
2
|
+
import { VegaCalendarBaseEventLayoutCell } from '../../../../common/layout/baseEventLayoutCell';
|
|
3
|
+
/** The class `VegaCalendarDayViewEventLayoutColumn` manages the layout of events in a day view calendar by storing event slots and providing methods to interact with them. */
|
|
4
|
+
export class VegaCalendarDayViewTimedEventLayoutColumn extends VegaCalendarBaseEventLayoutCell {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.slots = VegaCalendarDayViewTimedEventLayoutColumn.defaultSlots;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The function `hasOverlapEvent` checks if a given calendar event overlaps with existing events in the calendar.
|
|
11
|
+
*
|
|
12
|
+
* @param {CalendarEvent} eventItem - The `eventItem` parameter in the `hasOverlapEvent` function represents a `CalendarEvent` object that contains information about an event such as its start time, end time, and possibly other details related to the event.
|
|
13
|
+
* @returns {boolean} The function `hasOverlapEvent` returns a boolean value indicating whether there is an overlap in the calendar event slots. If there is an overlap, it returns `true`, otherwise it returns `false`.
|
|
14
|
+
*/
|
|
15
|
+
hasOverlapEvent(eventItem) {
|
|
16
|
+
const [start, end] = this.getIndexRangeFromEvent(eventItem);
|
|
17
|
+
let overlapFlag = false;
|
|
18
|
+
for (let i = start; i < end; i++) {
|
|
19
|
+
if (this.slots[i]) {
|
|
20
|
+
overlapFlag = true;
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return overlapFlag;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The function `updateColumnSlots` updates the slots array by replacing a range of elements with a given event item.
|
|
28
|
+
*
|
|
29
|
+
* @param {CalendarEvent} eventItem - The `eventItem` parameter is a `CalendarEvent` object that represents an event in a calendar.
|
|
30
|
+
*/
|
|
31
|
+
updateSlots(eventItem) {
|
|
32
|
+
const [start, end] = this.getIndexRangeFromEvent(eventItem);
|
|
33
|
+
if (end > start) {
|
|
34
|
+
this.slots = this.slots
|
|
35
|
+
.slice(0, start)
|
|
36
|
+
.concat(Array(end - start).fill(eventItem), this.slots.slice(end));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The function `getIndexRangeFromEvent` takes a `CalendarEvent` object and returns an array of time indices based on the start and end times of the event.
|
|
41
|
+
*
|
|
42
|
+
* @param {CalendarEvent} eventItem - A CalendarEvent object containing information about a specific event in a calendar, such as its start time and end time.
|
|
43
|
+
* @returns {number[]} An array of two numbers representing the index range of the start and end times of the given CalendarEvent.
|
|
44
|
+
*/
|
|
45
|
+
getIndexRangeFromEvent(eventItem) {
|
|
46
|
+
const { startTime, endTime } = eventItem;
|
|
47
|
+
return [getTimeIndex(startTime), getTimeIndex(endTime)];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
VegaCalendarDayViewTimedEventLayoutColumn.defaultSlots = Array(96).fill(null);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { VegaCalendarBaseEventLayoutGenerator } from '../../../../common/layout/baseEventLayoutGenerator';
|
|
2
|
+
import { VegaCalendarDayViewTimedEventLayout } from './dayViewTimedEventLayout';
|
|
3
|
+
import { VegaCalendarDayViewTimedEventLayoutColumn } from './dayViewTimedEventLayoutColumn';
|
|
4
|
+
/** The `VegaCalendarDayViewEventLayoutGenerator` class in TypeScript generates a layout for calendar events in a day view. */
|
|
5
|
+
export class VegaCalendarDayViewTimedEventLayoutGenerator extends VegaCalendarBaseEventLayoutGenerator {
|
|
6
|
+
/**
|
|
7
|
+
* The function generates a layout for displaying calendar events in a day view.
|
|
8
|
+
*
|
|
9
|
+
* @param {CalendarEvent[]} calendarEvents - CalendarEvent[] - an array of calendar events containing information such as event title, start time, end time, and other relevant details.
|
|
10
|
+
* @returns {VegaCalendarDayViewTimedEventLayout} A `VegaCalendarDayViewTimedEventLayout` object is being returned, which is constructed using the `layoutColumns` array containing `VegaCalendarDayViewTimedEventLayoutColumn` objects.
|
|
11
|
+
*/
|
|
12
|
+
generate(calendarEvents) {
|
|
13
|
+
const layoutColumns = [
|
|
14
|
+
new VegaCalendarDayViewTimedEventLayoutColumn(),
|
|
15
|
+
];
|
|
16
|
+
calendarEvents.forEach((eventItem) => {
|
|
17
|
+
this.addCurrentEventToLayout(layoutColumns, eventItem);
|
|
18
|
+
});
|
|
19
|
+
return new VegaCalendarDayViewTimedEventLayout(layoutColumns);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The function creates a new instance of VegaCalendarDayViewTimedEventLayoutColumn.
|
|
23
|
+
*
|
|
24
|
+
* @returns {VegaCalendarDayViewTimedEventLayoutColumn} An instance of the class `VegaCalendarDayViewTimedEventLayoutColumn` is being returned.
|
|
25
|
+
*/
|
|
26
|
+
createNewLayoutCell() {
|
|
27
|
+
return new VegaCalendarDayViewTimedEventLayoutColumn();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { CalendarEvent } from '../../../../../../../../helpers/calendar/calendar-event';
|
|
2
|
+
import { VegaCalendarDayViewTimedEventLayoutGenerator } from '../dayViewTimedEventLayoutGenerator';
|
|
3
|
+
const mockEvents = [
|
|
4
|
+
{
|
|
5
|
+
key: '0',
|
|
6
|
+
title: 'Event 0',
|
|
7
|
+
startDate: '07/08/2024',
|
|
8
|
+
endDate: '07/08/2024',
|
|
9
|
+
startTime: '10:00',
|
|
10
|
+
endTime: '11:00',
|
|
11
|
+
isAllDay: false,
|
|
12
|
+
repeat: 'none',
|
|
13
|
+
disabled: false,
|
|
14
|
+
variant: 'primary',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
key: '1',
|
|
18
|
+
title: 'Event 1',
|
|
19
|
+
startDate: '07/08/2024',
|
|
20
|
+
endDate: '07/08/2024',
|
|
21
|
+
startTime: '10:00',
|
|
22
|
+
endTime: '10:15',
|
|
23
|
+
isAllDay: false,
|
|
24
|
+
repeat: 'none',
|
|
25
|
+
disabled: false,
|
|
26
|
+
variant: 'primary',
|
|
27
|
+
color: '#73E6DC',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: '2',
|
|
31
|
+
title: 'Event 2',
|
|
32
|
+
startDate: '07/08/2024',
|
|
33
|
+
endDate: '07/08/2024',
|
|
34
|
+
startTime: '10:30',
|
|
35
|
+
endTime: '11:30',
|
|
36
|
+
isAllDay: false,
|
|
37
|
+
repeat: 'none',
|
|
38
|
+
disabled: false,
|
|
39
|
+
variant: 'secondary',
|
|
40
|
+
color: '#806BFF',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
key: '3',
|
|
44
|
+
title: 'Event 3',
|
|
45
|
+
startDate: '07/08/2024',
|
|
46
|
+
endDate: '07/08/2024',
|
|
47
|
+
startTime: '10:45',
|
|
48
|
+
endTime: '11:00',
|
|
49
|
+
isAllDay: false,
|
|
50
|
+
repeat: 'none',
|
|
51
|
+
disabled: false,
|
|
52
|
+
variant: 'secondary',
|
|
53
|
+
color: '#806BFF',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: '4',
|
|
57
|
+
title: 'Event 4',
|
|
58
|
+
startDate: '07/08/2024',
|
|
59
|
+
endDate: '07/08/2024',
|
|
60
|
+
startTime: '11:00',
|
|
61
|
+
endTime: '12:00',
|
|
62
|
+
isAllDay: false,
|
|
63
|
+
repeat: 'none',
|
|
64
|
+
disabled: false,
|
|
65
|
+
variant: 'secondary',
|
|
66
|
+
color: '#806BFF',
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
describe('VegaCalendarDayViewEventLayoutGenerator', () => {
|
|
70
|
+
it('VegaCalendarDayViewEventLayoutGenerator#generate', () => {
|
|
71
|
+
const generator = new VegaCalendarDayViewTimedEventLayoutGenerator();
|
|
72
|
+
const calendarEvents = mockEvents.map((item) => new CalendarEvent(item));
|
|
73
|
+
const layout = generator.generate(calendarEvents);
|
|
74
|
+
expect(layout.eventLayoutCells.length).toEqual(3);
|
|
75
|
+
expect(layout.getEventColumnsSpannedCount(calendarEvents[2])).toEqual(3);
|
|
76
|
+
});
|
|
77
|
+
});
|