@globalpayments/vega 2.13.0 → 2.14.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-641bb215.js → app-globals-6b5136b1.js} +4 -4
- package/dist/cjs/{childNodesEventPreventSlimmer-29128c2a.js → childNodesEventPreventSlimmer-5b352793.js} +1 -1
- package/dist/cjs/{componentUsageRuntimeMetrics-0fbcd33f.js → componentUsageRuntimeMetrics-1a2a592d.js} +1 -1
- package/dist/cjs/{designToken-91ea7c25.js → designToken-3904c6b7.js} +5 -82
- package/dist/cjs/{eventEmitSlimmer-da0b3b8b.js → eventEmitSlimmer-ea57144a.js} +1 -1
- package/dist/cjs/{featureFlagController-da4c779b.js → featureFlagController-ab94fd4f.js} +1 -1
- package/dist/cjs/{formFieldControllerSlimmer-b451c7a5.js → formFieldControllerSlimmer-769ef4fd.js} +1 -1
- package/dist/cjs/index-1299d729.js +4 -0
- package/dist/cjs/{index-55e89877.js → index-3183748d.js} +65 -44
- package/dist/cjs/{index-5a81786f.js → index-b8881ddc.js} +4 -3
- package/dist/cjs/index.cjs.js +7 -6
- package/dist/cjs/{internalVegaEventManager-a3672e0c.js → internalVegaEventManager-543c20cb.js} +2 -1
- package/dist/cjs/{legendInputProcessor-b1c5958c.js → legendInputProcessor-a3cdc806.js} +5 -32
- package/dist/cjs/loader.cjs.js +7 -7
- package/dist/cjs/pixel-b18a8279.js +32 -0
- 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 +7 -6
- package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
- package/dist/cjs/vega-app-header-button.cjs.entry.js +7 -6
- 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 +3 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
- package/dist/cjs/vega-button-circle.cjs.entry.js +7 -6
- 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 +5 -5
- package/dist/cjs/vega-calendar_2.cjs.entry.js +2927 -0
- package/dist/cjs/vega-card.cjs.entry.js +3 -2
- package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-chip.cjs.entry.js +7 -6
- package/dist/cjs/vega-color-picker.cjs.entry.js +6 -6
- package/dist/cjs/vega-combo-box.cjs.entry.js +7 -7
- package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-dialog_2.cjs.entry.js +7 -6
- package/dist/cjs/vega-divider.cjs.entry.js +3 -2
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +52 -9
- 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 +5 -4
- package/dist/cjs/vega-font.cjs.entry.js +3 -2
- package/dist/cjs/vega-form.cjs.entry.js +7 -7
- package/dist/cjs/vega-grid.cjs.entry.js +3 -2
- package/dist/cjs/vega-icon.cjs.entry.js +3 -2
- package/dist/cjs/vega-image-uploader.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-select.cjs.entry.js +7 -7
- package/dist/cjs/vega-input.cjs.entry.js +7 -7
- package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +63 -8
- package/dist/cjs/vega-line-chart.cjs.entry.js +4 -3
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +1 -1
- 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 +4 -4
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +7 -7
- 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 +8 -8
- package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +8 -8
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -27
- package/dist/cjs/vega-table_8.cjs.entry.js +18 -16
- package/dist/cjs/vega-text.cjs.entry.js +1 -1
- package/dist/cjs/vega-textarea.cjs.entry.js +7 -7
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +30 -8
- 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-62c4e838.js} +1 -1
- package/dist/collection/collection-manifest.json +8 -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-search-controller.js +17 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +2 -1
- package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +2 -1
- package/dist/collection/components/vega-nav/vega-nav-card/vega-nav-card.js +2 -1
- package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-click-controller.js +7 -5
- package/dist/collection/components/vega-tooltip/slimmers/controllers/vega-tooltip-element-appender-controller.js +23 -1
- package/dist/collection/components/vega-tooltip/vega-tooltip.js +12 -8
- package/dist/collection/constants/runtime-metrics-payload-definition/vega-dropdown/runtime-metrics-payload-definition.js +26 -0
- package/dist/collection/constants/runtime-metrics-payload-definition/vega-left-nav/runtime-metrics-payload-definition.js +26 -0
- package/dist/collection/constants/runtime-metrics-payload-definition/vega-nav-card/runtime-metrics-payload-definition.js +26 -0
- package/dist/collection/constants/runtime-metrics-payload-definition/vega-stepper/runtime-metrics-payload-definition.js +1 -1
- package/dist/collection/constants/runtime-metrics-payload-definition/vega-table/runtime-metrics-payload-definition.js +2 -2
- 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/slimmers/stringInputFormatterSlimmer.js +2 -0
- package/dist/collection/helpers/vega-telemetry-helper/test/vegaEnvManager.test.js +1 -2
- package/dist/collection/helpers/vega-telemetry-helper/vegaEnvManager.js +3 -2
- package/dist/esm/{app-globals-6bb63482.js → app-globals-cf903368.js} +4 -4
- package/dist/esm/{childNodesEventPreventSlimmer-86a1593c.js → childNodesEventPreventSlimmer-ca73e6c1.js} +1 -1
- package/dist/esm/{componentUsageRuntimeMetrics-6bc153ea.js → componentUsageRuntimeMetrics-4f08dec8.js} +1 -1
- package/dist/esm/{designToken-d25f5b1e.js → designToken-4459ff64.js} +4 -81
- package/dist/esm/{elementAppenderSlimmer-ef58e7a4.js → elementAppenderSlimmer-6bdee603.js} +2 -2
- package/dist/esm/{eventEmitSlimmer-d5b8d8d7.js → eventEmitSlimmer-9c33f04e.js} +1 -1
- package/dist/esm/{featureFlagController-fdb8cf0e.js → featureFlagController-816491ad.js} +1 -1
- package/dist/esm/{formFieldControllerSlimmer-04953f74.js → formFieldControllerSlimmer-2cc9eec5.js} +1 -1
- package/dist/esm/{index-1d242e89.js → index-4126a006.js} +65 -44
- package/dist/esm/index-c3505689.js +4 -0
- package/dist/esm/{index-8584d77d.js → index-dd06e5e7.js} +4 -3
- package/dist/esm/index.js +9 -8
- package/dist/esm/{internalVegaEventManager-501f9eb9.js → internalVegaEventManager-e1501923.js} +2 -1
- package/dist/esm/{legendInputProcessor-0b8dc09c.js → legendInputProcessor-e9c0ddf3.js} +1 -28
- package/dist/esm/loader.js +7 -7
- package/dist/esm/pixel-53ad41ea.js +29 -0
- package/dist/esm/{responsiveFormatFacade-7665557d.js → responsiveFormatFacade-7072153e.js} +1 -1
- 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 +9 -8
- package/dist/esm/vega-app-footer.entry.js +1 -1
- package/dist/esm/vega-app-header-button.entry.js +9 -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 +5 -4
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +9 -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 +7 -7
- package/dist/esm/vega-calendar_2.entry.js +2922 -0
- package/dist/esm/vega-card.entry.js +5 -4
- package/dist/esm/vega-carousel.entry.js +6 -6
- package/dist/esm/vega-checkbox_2.entry.js +7 -7
- package/dist/esm/vega-chip.entry.js +9 -8
- package/dist/esm/vega-color-picker.entry.js +6 -6
- package/dist/esm/vega-combo-box.entry.js +8 -8
- package/dist/esm/vega-counter-badge.entry.js +1 -1
- package/dist/esm/vega-date-picker_2.entry.js +11 -11
- package/dist/esm/vega-dialog_2.entry.js +9 -8
- package/dist/esm/vega-divider.entry.js +5 -4
- package/dist/esm/vega-dropdown_5.entry.js +55 -12
- 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 +7 -6
- package/dist/esm/vega-font.entry.js +5 -4
- package/dist/esm/vega-form.entry.js +7 -7
- package/dist/esm/vega-grid.entry.js +5 -4
- package/dist/esm/vega-icon.entry.js +5 -4
- package/dist/esm/vega-image-uploader.entry.js +9 -9
- package/dist/esm/vega-input-credit-card.entry.js +9 -9
- package/dist/esm/vega-input-range.entry.js +7 -7
- package/dist/esm/vega-input-select.entry.js +9 -9
- package/dist/esm/vega-input.entry.js +8 -8
- package/dist/esm/vega-item-toggle.entry.js +4 -4
- package/dist/esm/vega-left-nav_5.entry.js +65 -10
- package/dist/esm/vega-line-chart.entry.js +4 -3
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -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 +7 -7
- package/dist/esm/vega-progress-tracker.entry.js +4 -4
- package/dist/esm/vega-radio_2.entry.js +7 -7
- 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 +8 -8
- package/dist/esm/vega-slot-container.entry.js +1 -1
- package/dist/esm/vega-stepper.entry.js +8 -8
- package/dist/esm/vega-tab-group_2.entry.js +6 -26
- package/dist/esm/vega-table_8.entry.js +20 -18
- package/dist/esm/vega-text.entry.js +1 -1
- package/dist/esm/vega-textarea.entry.js +7 -7
- package/dist/esm/vega-time-picker_2.entry.js +10 -10
- package/dist/esm/vega-toggle-switch.entry.js +4 -4
- package/dist/esm/vega-tooltip_2.entry.js +34 -12
- 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-a2a29991.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-search-controller.d.ts +10 -0
- package/dist/types/components/vega-tooltip/slimmers/controllers/vega-tooltip-element-appender-controller.d.ts +8 -0
- package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +2 -1
- package/dist/types/components.d.ts +82 -1
- package/dist/types/constants/runtime-metrics-payload-definition/vega-dropdown/runtime-metrics-payload-definition.d.ts +2 -0
- package/dist/types/constants/runtime-metrics-payload-definition/vega-left-nav/runtime-metrics-payload-definition.d.ts +2 -0
- package/dist/types/constants/runtime-metrics-payload-definition/vega-nav-card/runtime-metrics-payload-definition.d.ts +2 -0
- 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/types/components.type.d.ts +8 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-17d55440.entry.js → p-0bf26a50.entry.js} +1 -1
- package/dist/vega/{p-303e35ae.entry.js → p-10c41ccc.entry.js} +1 -1
- package/dist/vega/{p-d361ef78.js → p-1265732f.js} +1 -1
- package/dist/vega/{p-8c52a064.entry.js → p-12b4c69a.entry.js} +1 -1
- package/dist/vega/p-149e0999.entry.js +1 -0
- package/dist/vega/p-163b8ab5.entry.js +1 -0
- package/dist/vega/{p-d942a746.js → p-16608c5a.js} +1 -1
- package/dist/vega/{p-c3089dea.entry.js → p-1b83652c.entry.js} +1 -1
- package/dist/vega/p-1bc5b3bc.js +1 -0
- package/dist/vega/{p-f3b35323.entry.js → p-1d628d23.entry.js} +1 -1
- package/dist/vega/{p-e24344c7.entry.js → p-27d76db9.entry.js} +1 -1
- package/dist/vega/{p-b7c51304.js → p-2969b1c2.js} +1 -1
- package/dist/vega/p-29d2d70a.js +1 -0
- package/dist/vega/{p-e93861a9.entry.js → p-2c89a9a4.entry.js} +1 -1
- package/dist/vega/p-2d41b82e.js +1 -0
- package/dist/vega/p-2e871e5b.entry.js +1 -0
- package/dist/vega/{p-f43b8a7e.entry.js → p-360ac223.entry.js} +1 -1
- package/dist/vega/p-36ea8012.js +1 -0
- package/dist/vega/p-47367768.entry.js +1 -0
- package/dist/vega/p-485e71d4.entry.js +1 -0
- package/dist/vega/{p-3cf2c509.entry.js → p-4dacc0b7.entry.js} +1 -1
- package/dist/vega/p-50219611.entry.js +1 -0
- package/dist/vega/{p-d2d89e6d.entry.js → p-5ba654a4.entry.js} +1 -1
- package/dist/vega/{p-2ddc3071.js → p-5cad29f5.js} +1 -1
- package/dist/vega/p-60f511cf.entry.js +1 -0
- package/dist/vega/{p-9f8f7c85.js → p-61f18887.js} +1 -1
- package/dist/vega/p-6bdc4407.js +1 -0
- package/dist/vega/{p-c9320565.entry.js → p-6d482bec.entry.js} +1 -1
- package/dist/vega/{p-e85d0765.entry.js → p-6e0daee9.entry.js} +1 -1
- package/dist/vega/p-72f9ad2e.entry.js +1 -0
- package/dist/vega/{p-e80fd0ef.js → p-76712540.js} +1 -1
- package/dist/vega/{p-6e8cbf86.entry.js → p-77b39fe7.entry.js} +1 -1
- package/dist/vega/p-783bcc7b.entry.js +1 -0
- package/dist/vega/{p-f275ec4b.entry.js → p-84787f59.entry.js} +1 -1
- package/dist/vega/p-85054a3e.entry.js +1 -0
- package/dist/vega/p-87d6e85f.entry.js +1 -0
- package/dist/vega/{p-218f1334.entry.js → p-897a3a9b.entry.js} +1 -1
- package/dist/vega/p-8bbac798.entry.js +1 -0
- package/dist/vega/{p-fa460bce.entry.js → p-9047ee85.entry.js} +1 -1
- package/dist/vega/p-90d4e1c6.entry.js +1 -0
- package/dist/vega/{p-a1673ea4.entry.js → p-9443e399.entry.js} +1 -1
- package/dist/vega/{p-52eaf169.entry.js → p-969ba15a.entry.js} +1 -1
- package/dist/vega/{p-85cd20e0.js → p-999e1318.js} +1 -1
- package/dist/vega/{p-9c69703d.js → p-99c8fe92.js} +1 -1
- package/dist/vega/{p-24bce1b6.entry.js → p-9b396c06.entry.js} +1 -1
- package/dist/vega/p-9f1151cd.entry.js +1 -0
- package/dist/vega/{p-7896719f.entry.js → p-9f56c3e4.entry.js} +1 -1
- package/dist/vega/p-a7c96716.entry.js +1 -0
- package/dist/vega/{p-75c51fe9.js → p-a9c3e9fd.js} +1 -1
- package/dist/vega/{p-0ab8a349.entry.js → p-a9f61d9e.entry.js} +1 -1
- package/dist/vega/p-aae8855d.js +1 -0
- package/dist/vega/{p-b10c9d7d.entry.js → p-b58e2fae.entry.js} +1 -1
- package/dist/vega/p-b623aad1.entry.js +1 -0
- package/dist/vega/{p-8bf617af.entry.js → p-b708b0c2.entry.js} +1 -1
- package/dist/vega/p-b70b3aae.entry.js +1 -0
- package/dist/vega/p-b77e9b22.entry.js +1 -0
- package/dist/vega/{p-ef72e1e6.entry.js → p-b8b4bc6c.entry.js} +1 -1
- package/dist/vega/p-ba232064.entry.js +1 -0
- package/dist/vega/{p-92ead254.entry.js → p-bb52d620.entry.js} +1 -1
- package/dist/vega/p-c47d4933.js +1 -0
- package/dist/vega/{p-9f1e74ed.entry.js → p-cd05ab96.entry.js} +1 -1
- package/dist/vega/{p-13e506c1.entry.js → p-ce0af8db.entry.js} +1 -1
- package/dist/vega/{p-f970a737.entry.js → p-ceec3241.entry.js} +1 -1
- package/dist/vega/{p-7752a460.entry.js → p-d224e798.entry.js} +1 -1
- package/dist/vega/p-d909c9b4.entry.js +1 -0
- package/dist/vega/{p-b6a086a7.entry.js → p-db60ccf5.entry.js} +1 -1
- package/dist/vega/p-e02c5199.entry.js +1 -0
- package/dist/vega/{p-9973baa8.entry.js → p-e1ecfa0e.entry.js} +1 -1
- package/dist/vega/{p-7b127de4.js → p-e32b7a38.js} +1 -1
- package/dist/vega/{p-dcc9b865.entry.js → p-e424cbec.entry.js} +1 -1
- package/dist/vega/p-e4d466f0.js +1 -0
- package/dist/vega/p-eb461dad.entry.js +1 -0
- package/dist/vega/p-ece4decb.entry.js +1 -0
- package/dist/vega/{p-6bad54fd.entry.js → p-ef6e7563.entry.js} +1 -1
- package/dist/vega/p-f1d8fd1c.js +1 -0
- package/dist/vega/{p-abb2f489.js → p-f2118771.js} +1 -1
- package/dist/vega/p-f6c9d17f.entry.js +1 -0
- package/dist/vega/p-fc090247.entry.js +1 -0
- package/dist/vega/{p-eb6c9578.js → p-fc21bd44.js} +1 -1
- package/dist/vega/{p-6ff07396.js → p-fda33444.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +2 -3
- package/dist/vega/p-0994a7a3.entry.js +0 -1
- package/dist/vega/p-0b32651a.entry.js +0 -1
- package/dist/vega/p-0e77df41.entry.js +0 -1
- package/dist/vega/p-1fe9e4b3.js +0 -1
- package/dist/vega/p-26be7725.js +0 -1
- package/dist/vega/p-2b04b732.entry.js +0 -1
- package/dist/vega/p-3053fef7.entry.js +0 -1
- package/dist/vega/p-3221000e.entry.js +0 -1
- package/dist/vega/p-49a730d5.entry.js +0 -1
- package/dist/vega/p-4e0baf1a.entry.js +0 -1
- package/dist/vega/p-55eaa4ae.entry.js +0 -1
- package/dist/vega/p-56bfc2ac.entry.js +0 -1
- package/dist/vega/p-6bb6bf50.entry.js +0 -1
- package/dist/vega/p-72aff5a0.entry.js +0 -1
- package/dist/vega/p-7db505ba.entry.js +0 -1
- package/dist/vega/p-7fa146a2.entry.js +0 -1
- package/dist/vega/p-8da4b720.js +0 -1
- package/dist/vega/p-8f472cdd.entry.js +0 -1
- package/dist/vega/p-8f9a7718.entry.js +0 -1
- package/dist/vega/p-91160d38.js +0 -1
- package/dist/vega/p-95eff660.entry.js +0 -1
- package/dist/vega/p-9a8165a9.entry.js +0 -1
- package/dist/vega/p-9a92cc18.entry.js +0 -1
- package/dist/vega/p-9e70473b.js +0 -1
- package/dist/vega/p-aeef2799.js +0 -1
- package/dist/vega/p-c90eb07d.entry.js +0 -1
- package/dist/vega/p-cbe4adc3.entry.js +0 -1
- package/dist/vega/p-cc30efbc.entry.js +0 -1
- package/dist/vega/p-e5bcd681.entry.js +0 -1
- package/dist/vega/p-fb565e6e.entry.js +0 -1
|
@@ -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
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
/** The `VegaCalendarDayViewEventLayoutRenderer` class in TypeScript React renders event layouts for a day view calendar. */
|
|
10
|
+
export class VegaCalendarDayViewEventLayoutRenderer extends VegaSlimmer {
|
|
11
|
+
/**
|
|
12
|
+
* The `render` function in TypeScript React renders a layout of calendar events for a day view.
|
|
13
|
+
*
|
|
14
|
+
* @param {VegaCalendarDayViewTimedEventLayout} layout - The `layout` parameter in the `render` function is
|
|
15
|
+
* of type `VegaCalendarDayViewTimedEventLayout`, which contains information about the layout of events for
|
|
16
|
+
* a day view in a calendar. It has properties like `eventLayoutColumns`, which is an array of `VegaCalendarDayViewEvent
|
|
17
|
+
* @returns {HTMLElement[]} An array of HTMLElements representing the rendered event nodes based on the provided layout and event data.
|
|
18
|
+
*/
|
|
19
|
+
render(layout) {
|
|
20
|
+
const layoutColumns = layout.eventLayoutCells;
|
|
21
|
+
const eventNodes = [];
|
|
22
|
+
layoutColumns.forEach((columns, index) => {
|
|
23
|
+
let renderEvent = columns.getEventBySlotIndex(0);
|
|
24
|
+
let start = 0;
|
|
25
|
+
for (let i = 0; i < VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells; i++) {
|
|
26
|
+
const currentEvent = columns.getEventBySlotIndex(i);
|
|
27
|
+
if (currentEvent !== renderEvent) {
|
|
28
|
+
if (renderEvent) {
|
|
29
|
+
eventNodes.push(h("div", { key: index, class: "time-event-block", style: this.getTimeEventStyle(start, i, index, layout.getEventColumnsSpannedCount(renderEvent)) }, this.eventItemRenderer.render(renderEvent, {
|
|
30
|
+
'day-event': true,
|
|
31
|
+
'bg-shadow': index > 0,
|
|
32
|
+
})));
|
|
33
|
+
}
|
|
34
|
+
renderEvent = currentEvent;
|
|
35
|
+
start = i;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
return eventNodes;
|
|
40
|
+
}
|
|
41
|
+
/*
|
|
42
|
+
* The below method is e2e-test covered in
|
|
43
|
+
* @see{module:vega-calendar-render-timed-event-correct}
|
|
44
|
+
*/
|
|
45
|
+
/* istanbul ignore next */
|
|
46
|
+
/**
|
|
47
|
+
* This function calculates and returns the style properties for positioning and sizing a calendar event within a grid layout.
|
|
48
|
+
*
|
|
49
|
+
* @param {number} startIndex - The `startIndex` parameter represents the index of the starting cell for the time event in the calendar grid.
|
|
50
|
+
* @param {number} endIndex - The `endIndex` parameter represents the index of the end position of the time event within a column. It indicates where the time event ends vertically within the column layout.
|
|
51
|
+
* @param {number} columnIndex - The `columnIndex` parameter represents the index of the column in which the event is being displayed. It is used to calculate the `left` position of the event element within the container based on the total number of columns spanned by the event.
|
|
52
|
+
* @param {number} columnsSpannedCount - The `columnsSpannedCount` parameter represents the number of columns spanned by the event in a calendar layout. It is used to calculate the left position of the event within the calendar grid.
|
|
53
|
+
* @returns {VegaCalendarEventStyle} The function `getTimeEventStyle` returns an object of type `VegaCalendarEventStyle` with properties for position, left, top, width, height, and zIndex.
|
|
54
|
+
*/
|
|
55
|
+
getTimeEventStyle(startIndex, endIndex, columnIndex, columnsSpannedCount) {
|
|
56
|
+
const left = columnIndex * (1 / columnsSpannedCount);
|
|
57
|
+
return {
|
|
58
|
+
position: 'absolute',
|
|
59
|
+
left: `${left * 100}%`,
|
|
60
|
+
top: `${(100 / VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells) * startIndex}%`,
|
|
61
|
+
width: `calc(100% - ${left * 100}%)`,
|
|
62
|
+
height: `${(100 / VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells) * (endIndex - startIndex)}%`,
|
|
63
|
+
zIndex: columnIndex > 0 ? `${columnIndex}` : null,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
VegaCalendarDayViewEventLayoutRenderer.totalNumberOfCells = 24 * 4;
|
|
68
|
+
__decorate([
|
|
69
|
+
MapToComponentField()
|
|
70
|
+
], VegaCalendarDayViewEventLayoutRenderer.prototype, "eventItemRenderer", void 0);
|
|
@@ -0,0 +1,52 @@
|
|
|
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 { VegaCalendarDayViewTimedEventLayoutGenerator } from './layout/dayViewTimedEventLayoutGenerator';
|
|
10
|
+
import { VegaCalendarEventSorter } from '../../../common/helpers/calendarEventSorter';
|
|
11
|
+
/** The `VegaCalendarTimedEventRenderer` class in TypeScript React renders timed events for a calendar view based on the current day's events. timed events render for day view and week view */
|
|
12
|
+
export class VegaCalendarTimedEventRenderer extends VegaSlimmer {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.calendarEventSorter = new VegaCalendarEventSorter();
|
|
16
|
+
this.dayViewTimedEventLayoutGenerator = new VegaCalendarDayViewTimedEventLayoutGenerator();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* render current preiod normal events
|
|
20
|
+
*
|
|
21
|
+
* @returns {HTMLElement} events element
|
|
22
|
+
*/
|
|
23
|
+
render() {
|
|
24
|
+
const viewSource = this.calendarView.dateItems[0];
|
|
25
|
+
return (h("div", { class: "day-event-container" }, viewSource.map((item) => {
|
|
26
|
+
return (h("div", { key: `${item.month}-${item.date}`, class: "day-event-col" }, this.renderTimedEvents(item)));
|
|
27
|
+
})));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* render current day events
|
|
31
|
+
*
|
|
32
|
+
* @param {CalendarDate} date calendar Date
|
|
33
|
+
* @returns {HTMLElement[]} event elements
|
|
34
|
+
*/
|
|
35
|
+
renderTimedEvents(date) {
|
|
36
|
+
const events = this.calendarEventController
|
|
37
|
+
.getCurrentDateEvents(date)
|
|
38
|
+
.filter((eventItem) => !eventItem.isAllDayEvent && !eventItem.isGroupEvent());
|
|
39
|
+
const sortEvents = this.calendarEventSorter.sortCalendarEventByTime(events);
|
|
40
|
+
const layout = this.dayViewTimedEventLayoutGenerator.generate(sortEvents);
|
|
41
|
+
return this.dayViewEventLayoutRenderer.render(layout);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
__decorate([
|
|
45
|
+
MapToComponentField()
|
|
46
|
+
], VegaCalendarTimedEventRenderer.prototype, "calendarView", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
MapToComponentField()
|
|
49
|
+
], VegaCalendarTimedEventRenderer.prototype, "calendarEventController", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
MapToComponentField()
|
|
52
|
+
], VegaCalendarTimedEventRenderer.prototype, "dayViewEventLayoutRenderer", void 0);
|
|
@@ -0,0 +1,152 @@
|
|
|
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, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { pad } from '../../../../../utils/date';
|
|
10
|
+
/** The `VegaCalendarTimeLineRenderer` class in TypeScript React renders a time line with custom time format options and includes methods for rendering time markers and the time line itself. */
|
|
11
|
+
export class VegaCalendarTimeLineRenderer extends VegaSlimmer {
|
|
12
|
+
/**
|
|
13
|
+
* takes an array of `CalendarDate` objects as input and returns an HTML element
|
|
14
|
+
*
|
|
15
|
+
* @param {CalendarDate[]} source
|
|
16
|
+
* @returns {HTMLElement} the html element
|
|
17
|
+
*/
|
|
18
|
+
renderTimeMarker(source) {
|
|
19
|
+
const isVisible = source.findIndex((calendarDate) => calendarDate.isToday()) >= 0;
|
|
20
|
+
return (h("div", { class: {
|
|
21
|
+
'time-marker-container': true,
|
|
22
|
+
'hidden': !isVisible,
|
|
23
|
+
} },
|
|
24
|
+
h("div", { class: "time-marker", style: { top: this.getTimeMarkerPosition() }, ref: (div) => (this.timeMarkerRef = div) }, source.map((item) => {
|
|
25
|
+
return h("div", { key: item.date, class: { active: item.isToday() } });
|
|
26
|
+
}))));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* rendering the time line component as an HTML element
|
|
30
|
+
*
|
|
31
|
+
* @returns {HTMLElement} the html element
|
|
32
|
+
*/
|
|
33
|
+
render() {
|
|
34
|
+
const timeLineSource = this.getTimeLineTitles();
|
|
35
|
+
return (h("div", { class: "time-line", ref: (div) => (this.timeLineRef = div) },
|
|
36
|
+
h("div", { class: "hour-empty" }),
|
|
37
|
+
timeLineSource.map((time, index) => {
|
|
38
|
+
return (h("div", { key: time },
|
|
39
|
+
h("div", { class: "time-text", "data-time": index === 0 ? 24 : index }, time)));
|
|
40
|
+
})));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* scroll to current time line block if change view mode to week or day
|
|
44
|
+
*
|
|
45
|
+
* @param {VegaCalendarViewModeType} viewMode the view mode
|
|
46
|
+
*/
|
|
47
|
+
updateTimeLine(viewMode) {
|
|
48
|
+
this.scrollToTargetTimeBlock(viewMode);
|
|
49
|
+
this.syncTimeMarkerPosition(viewMode);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* remove setInterval when component destroy
|
|
53
|
+
*/
|
|
54
|
+
clearTimer() {
|
|
55
|
+
clearInterval(this.timeMarkerPositionTimer);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Add the time mark position update logic if the component add back to page
|
|
59
|
+
*/
|
|
60
|
+
updateTimeLineIfComponentAddBack() {
|
|
61
|
+
this.syncTimeMarkerPosition(this.viewMode);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The function `getTimeMarkerPosition` calculates the position of the current time marker as a percentage of the day.
|
|
65
|
+
*
|
|
66
|
+
* @returns {string} a string representing the current time marker position as a percentage of the day.
|
|
67
|
+
*/
|
|
68
|
+
getTimeMarkerPosition() {
|
|
69
|
+
const now = new Date();
|
|
70
|
+
const minutesOneDay = 24 * 60;
|
|
71
|
+
return ((now.getHours() * 60 + now.getMinutes()) / minutesOneDay) * 100 + '%';
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The function `getTimeLineTitles` generates a time line array based on the specified time format (24-hour) and stores it in the `timeLineSource` property.
|
|
75
|
+
*
|
|
76
|
+
* @returns {string[]} returns an array of strings representing the time line
|
|
77
|
+
*/
|
|
78
|
+
getTimeLineTitles() {
|
|
79
|
+
const timeLine = [];
|
|
80
|
+
if (this.timeFormat === '12-hour') {
|
|
81
|
+
timeLine.push('12 AM');
|
|
82
|
+
for (let i = 1; i < 12; i++) {
|
|
83
|
+
timeLine.push(`${i} AM`);
|
|
84
|
+
}
|
|
85
|
+
timeLine.push('12 PM');
|
|
86
|
+
for (let i = 1; i < 12; i++) {
|
|
87
|
+
timeLine.push(`${i} PM`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
for (let i = 0; i < 24; i++) {
|
|
92
|
+
timeLine.push(pad(i));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return timeLine;
|
|
96
|
+
}
|
|
97
|
+
/*
|
|
98
|
+
* The below method is e2e-test covered in
|
|
99
|
+
* @see{module:vega-calendar-scroll-to-current-time}
|
|
100
|
+
*/
|
|
101
|
+
/* istanbul ignore next */
|
|
102
|
+
/**
|
|
103
|
+
* Update the time marker position with the time
|
|
104
|
+
*
|
|
105
|
+
* @param {VegaCalendarViewModeType} viewMode view mode value
|
|
106
|
+
*/
|
|
107
|
+
syncTimeMarkerPosition(viewMode) {
|
|
108
|
+
clearInterval(this.timeMarkerPositionTimer);
|
|
109
|
+
if (viewMode !== 'month') {
|
|
110
|
+
this.timeMarkerPositionTimer = setInterval(() => {
|
|
111
|
+
if (this.timeMarkerRef) {
|
|
112
|
+
this.timeMarkerRef.style.top = this.getTimeMarkerPosition();
|
|
113
|
+
}
|
|
114
|
+
}, 60 * 1000);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/*
|
|
118
|
+
* The below method is e2e-test covered in
|
|
119
|
+
* @see{module:vega-calendar-scroll-to-current-time}
|
|
120
|
+
*/
|
|
121
|
+
/* istanbul ignore next */
|
|
122
|
+
/**
|
|
123
|
+
* scroll the time line in to current view
|
|
124
|
+
*
|
|
125
|
+
* @param {VegaCalendarViewModeType} viewMode view mode value
|
|
126
|
+
*/
|
|
127
|
+
scrollToTargetTimeBlock(viewMode) {
|
|
128
|
+
if (viewMode !== 'month') {
|
|
129
|
+
// add setTimeout here to make sure call the scroll into view after time line rendered.
|
|
130
|
+
setTimeout(() => {
|
|
131
|
+
var _a, _b;
|
|
132
|
+
const hour = new Date().getHours();
|
|
133
|
+
(_b = (_a = this.timeLineRef) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-time='${hour < 23 ? hour + 1 : hour}']`)) === null || _b === void 0 ? void 0 : _b.scrollIntoView({ block: 'end' });
|
|
134
|
+
}, 0);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
__decorate([
|
|
139
|
+
MapToComponentField()
|
|
140
|
+
], VegaCalendarTimeLineRenderer.prototype, "timeFormat", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
MapToComponentField()
|
|
143
|
+
], VegaCalendarTimeLineRenderer.prototype, "viewMode", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
MapToComponentMethod('watchViewModeChange')
|
|
146
|
+
], VegaCalendarTimeLineRenderer.prototype, "updateTimeLine", null);
|
|
147
|
+
__decorate([
|
|
148
|
+
MapToComponentMethod('disconnectedCallback')
|
|
149
|
+
], VegaCalendarTimeLineRenderer.prototype, "clearTimer", null);
|
|
150
|
+
__decorate([
|
|
151
|
+
MapToComponentMethod('connectedCallback')
|
|
152
|
+
], VegaCalendarTimeLineRenderer.prototype, "updateTimeLineIfComponentAddBack", null);
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
/** The `VegaCalendarViewWithTimeRenderer` class in TypeScript React renders a day view for a calendar component with title, content, and hour blocks. */
|
|
10
|
+
export class VegaCalendarViewWithTimeRenderer extends VegaSlimmer {
|
|
11
|
+
/**
|
|
12
|
+
* The render function in TypeScript React returns an array of HTMLElements containing the week calendar view for a specific day.
|
|
13
|
+
*
|
|
14
|
+
* @returns {HTMLElement} An array of HTMLElement elements containing the rendered content of a calendar view for a
|
|
15
|
+
* specific day in the week. The content includes the title and the main content of the calendar view
|
|
16
|
+
* for that day.
|
|
17
|
+
*/
|
|
18
|
+
render() {
|
|
19
|
+
return (h("div", { class: "calendar-view-container" },
|
|
20
|
+
this.renderViewTitle(),
|
|
21
|
+
this.renderViewContent()));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The function `renderViewTitle` renders a calendar view title and events based on the provided source data.
|
|
25
|
+
*
|
|
26
|
+
* @returns {HTMLElement} The `renderViewTitle` function returns an HTML element (HTMLElement) that contains a calendar view title container with rows for each day's information.
|
|
27
|
+
*/
|
|
28
|
+
renderViewTitle() {
|
|
29
|
+
const source = this.calendarView.dateItems[0];
|
|
30
|
+
const weekHead = this.calendarView.weekdays;
|
|
31
|
+
return (h("div", { class: "calendar-view-title-container" },
|
|
32
|
+
h("div", { class: "calendar-view-row" },
|
|
33
|
+
h("div", { class: "time-line-empty" }),
|
|
34
|
+
h("div", { class: "calendar-view-title" }, source.map((item, index) => (h("div", { key: item.date, class: { active: item.isToday() } },
|
|
35
|
+
h("div", null, weekHead[index]),
|
|
36
|
+
h("div", { class: "week-day" }, item.date)))))),
|
|
37
|
+
h("div", { class: "calendar-view-row calendar-view-event-all-container border-divider-bottom" },
|
|
38
|
+
h("div", { class: "time-line-all" }, "All Day"),
|
|
39
|
+
this.dayViewFullDayEventRenderer.render())));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The `renderViewContent` function in TypeScript React renders a calendar view with day blocks and time markers based on the provided data.
|
|
43
|
+
*
|
|
44
|
+
* @returns {HTMLElement} An HTMLElement containing a calendar view row with day containers, a timeline renderer, a content container, a day list, and hour blocks for each item in the source array.
|
|
45
|
+
*/
|
|
46
|
+
renderViewContent() {
|
|
47
|
+
const source = this.calendarView.dateItems[0];
|
|
48
|
+
return (h("div", { class: "calendar-view-row calendar-view-day-container" },
|
|
49
|
+
this.timeLineRenderer.render(),
|
|
50
|
+
h("div", { class: "calendar-view-content-container" },
|
|
51
|
+
h("div", { class: "calendar-view-content" }, source.map((item) => {
|
|
52
|
+
return (h("div", { class: "grid-col border-divider-left", key: item.date },
|
|
53
|
+
h("div", { class: "hour-empty border-divider-top" }),
|
|
54
|
+
this.renderHourBlock()));
|
|
55
|
+
})),
|
|
56
|
+
this.dayViewTimedEventRenderer.render(),
|
|
57
|
+
this.timeLineRenderer.renderTimeMarker(source))));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
|
|
61
|
+
*
|
|
62
|
+
* @returns {HTMLElement[]} An array of HTMLElements is being returned. Each HTMLElement represents an hour block with a time value inside a div element.
|
|
63
|
+
*/
|
|
64
|
+
renderHourBlock() {
|
|
65
|
+
const timeLineSource = Array(24).fill('');
|
|
66
|
+
return timeLineSource.map(() => {
|
|
67
|
+
return h("div", { class: "grid-cell border-divider-top" });
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
__decorate([
|
|
72
|
+
MapToComponentField()
|
|
73
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "viewMode", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
MapToComponentField()
|
|
76
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "timeLineRenderer", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
MapToComponentField()
|
|
79
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "dayViewTimedEventRenderer", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
MapToComponentField()
|
|
82
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "dayViewFullDayEventRenderer", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
MapToComponentField()
|
|
85
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "calendarView", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
MapToComponentField()
|
|
88
|
+
], VegaCalendarViewWithTimeRenderer.prototype, "calendarViewController", void 0);
|
|
@@ -0,0 +1,177 @@
|
|
|
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 { forceUpdate, h } from '@stencil/core';
|
|
8
|
+
import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { getMonthName } from '../../../utils';
|
|
10
|
+
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/domNodeSubjectObserverFactory';
|
|
11
|
+
import { VegaInternalCalendarMonthEventsChange } from '../../../../../helpers/event-manager/eventID/vegaInternalEventId';
|
|
12
|
+
import { createEnterKeyHandlerToTriggerClick } from '../../../../../utils/accessibility';
|
|
13
|
+
/** This code snippet defines a TypeScript class `VegaCalendarMonthEventRenderer` that extends `VegaSlimmer`. Here's a breakdown of what the class and its methods are doing: */
|
|
14
|
+
export class VegaCalendarMonthEventRenderer extends VegaSlimmer {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.maxMonthDisplayEventsCount = 2;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* current row dates all events.
|
|
21
|
+
*
|
|
22
|
+
* @param {CalendarDate[]} rowDate the current view date object
|
|
23
|
+
* @returns {(CalendarEvent|null)[][]} the current view events
|
|
24
|
+
*/
|
|
25
|
+
getCurrentRowEvents(rowDate) {
|
|
26
|
+
const result = [];
|
|
27
|
+
rowDate.forEach((item) => {
|
|
28
|
+
const currentDateEvents = this.calendarEventController.getCurrentDateEvents(item);
|
|
29
|
+
result.push(currentDateEvents);
|
|
30
|
+
});
|
|
31
|
+
return this.fullDayEventLayoutRenderer.sortLongEvents(result);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The function filterRowDisplayEvents processes a 2D array of CalendarEvent objects to limit the number of events displayed per row.
|
|
35
|
+
*
|
|
36
|
+
* @param {(CalendarEvent|null)[][]} rowEvents - `rowEvents` is an array of arrays of `CalendarEvent` objects. Each inner array represents events for a specific row in a calendar display.
|
|
37
|
+
* @returns {(CalendarEvent|null)[][]} the current row should display events array
|
|
38
|
+
*/
|
|
39
|
+
filterRowDisplayEvents(rowEvents) {
|
|
40
|
+
const result = [];
|
|
41
|
+
rowEvents.forEach((events) => {
|
|
42
|
+
const displayEvents = events.length > this.maxMonthDisplayEventsCount
|
|
43
|
+
? events.slice(0, this.maxMonthDisplayEventsCount - 1)
|
|
44
|
+
: events;
|
|
45
|
+
result.push(displayEvents);
|
|
46
|
+
});
|
|
47
|
+
return this.hideTheCutOffEvents(rowEvents, result);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the month event container element ref
|
|
51
|
+
*
|
|
52
|
+
* @returns {HTMLDivElement} the container element
|
|
53
|
+
*/
|
|
54
|
+
getMonthEventContainerRef() {
|
|
55
|
+
return this.eventContainerRef;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* render the current date events
|
|
59
|
+
*
|
|
60
|
+
* @param {CalendarDate} calendarDate current day
|
|
61
|
+
* @param {Nullable<CalendarEvent>[]} allEvents current row events
|
|
62
|
+
* @param {Nullable<CalendarEvent>[]} displayEvents current row should display events
|
|
63
|
+
* @param {number} currentViewIndex current day index of week
|
|
64
|
+
* @returns {HTMLDivElement} the events container
|
|
65
|
+
*/
|
|
66
|
+
render(calendarDate, allEvents, displayEvents, currentViewIndex) {
|
|
67
|
+
const hiddenEventsLength = allEvents
|
|
68
|
+
.slice(displayEvents.length)
|
|
69
|
+
.filter((item) => item).length;
|
|
70
|
+
return (h("div", { class: "events-container", ref: (node) => (this.eventContainerRef = node) },
|
|
71
|
+
h("div", { class: "event-list" }, this.fullDayEventLayoutRenderer.render(displayEvents, currentViewIndex)),
|
|
72
|
+
this.renderMoreButton(allEvents, hiddenEventsLength, `${calendarDate.date} ${getMonthName(calendarDate.toDate())} ${calendarDate.year}`)));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Add a month event display count change observer, than update the component
|
|
76
|
+
*/
|
|
77
|
+
addMaxDisplayCountChange() {
|
|
78
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, VegaInternalCalendarMonthEventsChange, (payload) => {
|
|
79
|
+
this.maxMonthDisplayEventsCount = payload.detail;
|
|
80
|
+
if (this.viewMode === 'month') {
|
|
81
|
+
forceUpdate(this.host);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Render the event more button if there is no enough space to display all event
|
|
87
|
+
*
|
|
88
|
+
* @param {Nullable<CalendarEvent>[]} events all event list array
|
|
89
|
+
* @param {number} moreItemsLength popover events length
|
|
90
|
+
* @param {string} title the popover title
|
|
91
|
+
* @returns {HTMLDivElement | null} the more button or null
|
|
92
|
+
*/
|
|
93
|
+
renderMoreButton(events, moreItemsLength, title) {
|
|
94
|
+
if (moreItemsLength) {
|
|
95
|
+
const backgroundColorEvents = events.filter((eventItem) => {
|
|
96
|
+
return eventItem && (eventItem.isAllDayEvent || eventItem.isGroupEvent());
|
|
97
|
+
});
|
|
98
|
+
const otherEvents = events.filter((eventItem) => {
|
|
99
|
+
return eventItem && !eventItem.isAllDayEvent && !eventItem.isGroupEvent();
|
|
100
|
+
});
|
|
101
|
+
return (h("div", { class: "month-event-more" },
|
|
102
|
+
h("vega-popover", { trigger: "click", placement: "right" },
|
|
103
|
+
h("div", { tabIndex: 0, slot: "popover-content", role: "button", class: "more-button", onKeyDown: createEnterKeyHandlerToTriggerClick() }, `${moreItemsLength} More`),
|
|
104
|
+
h("vega-flex", { slot: "popover", direction: "col", gap: "0" },
|
|
105
|
+
h("vega-font", { textAlign: "center", variant: "font-field-label", color: "text-primary", style: { padding: '4px 0', marginBottom: '8px' } }, title),
|
|
106
|
+
h("vega-flex", { direction: "col", gap: "size-4", style: { paddingBottom: otherEvents.length ? '4px' : '0px' } }, backgroundColorEvents.map((item) => {
|
|
107
|
+
return this.eventItemRenderer.render(item, {
|
|
108
|
+
'month-event': true,
|
|
109
|
+
'calendar-event-large-size': true,
|
|
110
|
+
});
|
|
111
|
+
})),
|
|
112
|
+
otherEvents.map((item) => {
|
|
113
|
+
return this.eventItemRenderer.render(item, {
|
|
114
|
+
'month-event': true,
|
|
115
|
+
'calendar-event-large-size': true,
|
|
116
|
+
});
|
|
117
|
+
})))));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/*
|
|
121
|
+
* The below method is e2e-test covered in
|
|
122
|
+
* @see{module:vega-calendar-render-full-day-event-correct}
|
|
123
|
+
*/
|
|
124
|
+
/* istanbul ignore next */
|
|
125
|
+
/**
|
|
126
|
+
* The `hideTheCutOffEvents` method in the `VegaCalendarMonthEventRenderer` class is responsible for removing any cut-off events from the displayed events in each row
|
|
127
|
+
*
|
|
128
|
+
* @param {Nullable<CalendarEvent>[][]} allEvents the all events
|
|
129
|
+
* @param {Nullable<CalendarEvent>[][]} rowEvents the display events
|
|
130
|
+
* @returns {Nullable<CalendarEvent>[][]} new event array
|
|
131
|
+
*/
|
|
132
|
+
hideTheCutOffEvents(allEvents, rowEvents) {
|
|
133
|
+
const result = [];
|
|
134
|
+
const removeItems = [];
|
|
135
|
+
const shouldCheckEvents = rowEvents
|
|
136
|
+
.map((items) => items[items.length - 1])
|
|
137
|
+
.filter((item) => item && item.isGroupEvent());
|
|
138
|
+
if (shouldCheckEvents.length) {
|
|
139
|
+
shouldCheckEvents.forEach((checkItem) => {
|
|
140
|
+
if (allEvents.filter((items) => items.includes(checkItem)).length >
|
|
141
|
+
rowEvents.filter((items) => items.includes(checkItem)).length) {
|
|
142
|
+
removeItems.push(checkItem);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
if (removeItems.length) {
|
|
147
|
+
rowEvents.forEach((items) => {
|
|
148
|
+
if (items.length && removeItems.includes(items[items.length - 1])) {
|
|
149
|
+
result.push(items.slice(0, items.length - 1));
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
result.push(items);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
return rowEvents;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
__decorate([
|
|
161
|
+
MapToComponentField()
|
|
162
|
+
], VegaCalendarMonthEventRenderer.prototype, "viewMode", void 0);
|
|
163
|
+
__decorate([
|
|
164
|
+
MapToComponentField()
|
|
165
|
+
], VegaCalendarMonthEventRenderer.prototype, "host", void 0);
|
|
166
|
+
__decorate([
|
|
167
|
+
MapToComponentField()
|
|
168
|
+
], VegaCalendarMonthEventRenderer.prototype, "calendarEventController", void 0);
|
|
169
|
+
__decorate([
|
|
170
|
+
MapToComponentField()
|
|
171
|
+
], VegaCalendarMonthEventRenderer.prototype, "eventItemRenderer", void 0);
|
|
172
|
+
__decorate([
|
|
173
|
+
MapToComponentField()
|
|
174
|
+
], VegaCalendarMonthEventRenderer.prototype, "fullDayEventLayoutRenderer", void 0);
|
|
175
|
+
__decorate([
|
|
176
|
+
MapToComponentMethod('componentWillLoad')
|
|
177
|
+
], VegaCalendarMonthEventRenderer.prototype, "addMaxDisplayCountChange", null);
|