@globalpayments/vega 2.16.0 → 2.17.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-5e074c5e.js → app-globals-4e0416c1.js} +2 -2
- package/dist/cjs/{childNodesEventPreventSlimmer-7e1895d7.js → childNodesEventPreventSlimmer-6848c3cf.js} +1 -1
- package/dist/cjs/{eventEmitSlimmer-ea57144a.js → eventEmitSlimmer-1d70a720.js} +1 -1
- package/dist/cjs/{formFieldControllerSlimmer-9271a8b8.js → formFieldControllerSlimmer-8b54f14d.js} +1 -1
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/{internalVegaEventManager-543c20cb.js → internalVegaEventManager-743a124d.js} +2 -2
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/{subStateObserverSlimmer-48ad20a1.js → subStateObserverSlimmer-60e4d6da.js} +28 -14
- package/dist/cjs/vega-accordion.cjs.entry.js +4 -4
- package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
- package/dist/cjs/vega-banner.cjs.entry.js +3 -3
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-circle.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-group_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
- package/dist/cjs/vega-button.cjs.entry.js +57 -12
- package/dist/cjs/vega-calendar_2.cjs.entry.js +830 -90
- package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-chip.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/vega-combo-box.cjs.entry.js +6 -6
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-dialog_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +308 -183
- package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
- package/dist/cjs/vega-form.cjs.entry.js +6 -6
- package/dist/cjs/vega-image-uploader.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-select.cjs.entry.js +168 -58
- package/dist/cjs/vega-input.cjs.entry.js +5 -5
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +4 -4
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
- package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
- package/dist/cjs/vega-radio_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +7 -7
- package/dist/cjs/{vega-skeleton-loader-controller-bac82c82.js → vega-skeleton-loader-controller-8932c0ed.js} +3 -3
- package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-table_8.cjs.entry.js +6 -6
- package/dist/cjs/vega-textarea.cjs.entry.js +6 -6
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
- package/dist/cjs/vega.cjs.js +5 -5
- package/dist/cjs/{vegaEventId-d7774262.js → vegaEventId-f375a6a3.js} +2 -0
- package/dist/cjs/{vegaInternalEventId-173c4941.js → vegaInternalEventId-ac38dd4b.js} +2 -0
- package/dist/collection/components/vega-button/slimmers/renderers/vega-button-loading-renderer.js +24 -0
- package/dist/collection/components/vega-button/vega-button.css +9 -1
- package/dist/collection/components/vega-button/vega-button.js +49 -7
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +38 -24
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +54 -1
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.js +13 -21
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/baseRepeatPattern.js +61 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventDailyRepeatPattern.js +70 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventMonthlyRepeatPattern.js +90 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventRepeatPatternFactory.js +60 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventWeeklyRepeatPattern.js +163 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventYearlyRepeatPattern.js +92 -0
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendarEventRepeatPatternFactory.test.js +105 -0
- package/dist/collection/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.js +0 -5
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.js +0 -5
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +21 -4
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +45 -2
- package/dist/collection/components/vega-calendar/vega-calendar.css +0 -1
- package/dist/collection/components/vega-calendar/vega-calendar.js +51 -4
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +0 -4
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +14 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +142 -0
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +16 -50
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +6 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.js +1 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +7 -5
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +1 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +5 -2
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +23 -0
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.js +62 -0
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.js +11 -0
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.js +7 -10
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +18 -2
- package/dist/collection/components/vega-input-select/vega-input-select.js +5 -0
- package/dist/collection/components/vega-loading-indicator/vega-loading-indicator.js +2 -2
- package/dist/collection/constants/ui.js +1 -1
- package/dist/collection/helpers/calendar/calendar-date.js +11 -0
- package/dist/collection/helpers/calendar/calendar-event.js +73 -24
- package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +8 -0
- package/dist/collection/helpers/calendar/calendar-period/day-period.js +1 -0
- package/dist/collection/helpers/calendar/calendar-period/month-period.js +16 -3
- package/dist/collection/helpers/calendar/calendar-period/week-period.js +1 -0
- package/dist/collection/helpers/calendar/test/calendar-event.test.js +23 -20
- package/dist/collection/helpers/event-manager/eventID/componentEventIdMap.js +2 -2
- package/dist/collection/helpers/event-manager/eventID/vegaEventId.js +1 -1
- package/dist/collection/helpers/event-manager/eventID/vegaInternalEventId.js +1 -0
- package/dist/collection/helpers/slimmers/sub-state/subStateObserverSlimmer.js +27 -13
- package/dist/collection/helpers/slimmers/sub-state/test/sub-state-observer-slimmer.test.js +15 -3
- 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/esm/{app-globals-032d6105.js → app-globals-ba85a900.js} +2 -2
- package/dist/esm/{childNodesEventPreventSlimmer-b9c50cc4.js → childNodesEventPreventSlimmer-d0da4527.js} +1 -1
- package/dist/esm/{eventEmitSlimmer-9c33f04e.js → eventEmitSlimmer-7b16eef9.js} +1 -1
- package/dist/esm/{formFieldControllerSlimmer-85ff874e.js → formFieldControllerSlimmer-ea050a17.js} +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/{internalVegaEventManager-e1501923.js → internalVegaEventManager-71d00966.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{subStateObserverSlimmer-354b33f6.js → subStateObserverSlimmer-2a8a615e.js} +28 -14
- package/dist/esm/vega-accordion.entry.js +4 -4
- package/dist/esm/vega-app-header-button.entry.js +4 -4
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +4 -4
- package/dist/esm/vega-button-group_2.entry.js +6 -6
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +59 -14
- package/dist/esm/vega-calendar_2.entry.js +830 -90
- package/dist/esm/vega-carousel.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +6 -6
- package/dist/esm/vega-chip.entry.js +4 -4
- package/dist/esm/vega-color-picker.entry.js +5 -5
- package/dist/esm/vega-combo-box.entry.js +6 -6
- package/dist/esm/vega-date-picker_2.entry.js +6 -6
- package/dist/esm/vega-dialog_2.entry.js +4 -4
- package/dist/esm/vega-dropdown_5.entry.js +308 -183
- package/dist/esm/vega-field-label.entry.js +4 -4
- package/dist/esm/vega-form.entry.js +6 -6
- package/dist/esm/vega-image-uploader.entry.js +6 -6
- package/dist/esm/vega-input-credit-card.entry.js +6 -6
- package/dist/esm/vega-input-range.entry.js +6 -6
- package/dist/esm/vega-input-select.entry.js +168 -58
- package/dist/esm/vega-input.entry.js +5 -5
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +4 -4
- package/dist/esm/vega-loader-wrapper_2.entry.js +1 -1
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination.entry.js +4 -4
- package/dist/esm/vega-popover_2.entry.js +3 -3
- package/dist/esm/vega-progress-tracker.entry.js +3 -3
- package/dist/esm/vega-radio_2.entry.js +6 -6
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-tile_2.entry.js +7 -7
- package/dist/esm/{vega-skeleton-loader-controller-3f5500e5.js → vega-skeleton-loader-controller-778b12be.js} +3 -3
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_8.entry.js +6 -6
- package/dist/esm/vega-textarea.entry.js +6 -6
- package/dist/esm/vega-time-picker_2.entry.js +6 -6
- package/dist/esm/vega-toggle-switch.entry.js +3 -3
- package/dist/esm/vega.js +5 -5
- package/dist/esm/{vegaEventId-680887e1.js → vegaEventId-f279bb62.js} +2 -1
- package/dist/esm/{vegaInternalEventId-600b3751.js → vegaInternalEventId-bde5d617.js} +2 -1
- package/dist/types/components/vega-button/slimmers/renderers/vega-button-loading-renderer.d.ts +13 -0
- package/dist/types/components/vega-button/vega-button.d.ts +16 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +12 -9
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +20 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.d.ts +8 -12
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/baseRepeatPattern.d.ts +50 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventDailyRepeatPattern.d.ts +43 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventMonthlyRepeatPattern.d.ts +55 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventRepeatPatternFactory.d.ts +34 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventWeeklyRepeatPattern.d.ts +99 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventYearlyRepeatPattern.d.ts +57 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/test/calendarEventRepeatPatternFactory.test.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +8 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +23 -0
- package/dist/types/components/vega-calendar/types.d.ts +14 -2
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +15 -3
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +0 -1
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +4 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.d.ts +57 -0
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +7 -17
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.d.ts +3 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +2 -1
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +2 -0
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.d.ts +19 -0
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.d.ts +11 -1
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.d.ts +1 -1
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +6 -0
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +2 -0
- package/dist/types/components.d.ts +17 -1
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/helpers/calendar/calendar-date.d.ts +8 -0
- package/dist/types/helpers/calendar/calendar-event.d.ts +44 -2
- package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +10 -2
- package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -0
- package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +12 -0
- package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -0
- package/dist/types/helpers/event-manager/eventID/vegaEventId.d.ts +1 -1
- package/dist/types/helpers/event-manager/eventID/vegaInternalEventId.d.ts +1 -0
- package/dist/types/helpers/slimmers/sub-state/subStateObserverSlimmer.d.ts +9 -0
- package/dist/types/types/components.type.d.ts +1 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-0f88130f.entry.js → p-0ef3d3fd.entry.js} +1 -1
- package/dist/vega/p-1080d80a.js +1 -0
- package/dist/vega/{p-9d9f7c25.entry.js → p-154a3145.entry.js} +1 -1
- package/dist/vega/{p-cbb90cf6.entry.js → p-1bc3348e.entry.js} +1 -1
- package/dist/vega/{p-86d3e5eb.entry.js → p-255aa39b.entry.js} +1 -1
- package/dist/vega/p-29654e12.entry.js +1 -0
- package/dist/vega/{p-77b39fe7.entry.js → p-2f905e6f.entry.js} +1 -1
- package/dist/vega/p-3490dd8a.entry.js +1 -0
- package/dist/vega/p-3fee5d7e.entry.js +1 -0
- package/dist/vega/p-44f4924b.js +1 -0
- package/dist/vega/p-4546cd3d.entry.js +1 -0
- package/dist/vega/{p-77ff7c72.js → p-5141bcac.js} +1 -1
- package/dist/vega/{p-16608c5a.js → p-51e2c836.js} +1 -1
- package/dist/vega/{p-d7cb0227.entry.js → p-52bf3ce1.entry.js} +1 -1
- package/dist/vega/{p-cd05ab96.entry.js → p-5611cf4c.entry.js} +1 -1
- package/dist/vega/{p-40db8b33.entry.js → p-5e3f5e8e.entry.js} +1 -1
- package/dist/vega/p-642d58ff.js +1 -0
- package/dist/vega/{p-9b5e858e.entry.js → p-6470d034.entry.js} +1 -1
- package/dist/vega/{p-8e63fc54.entry.js → p-6877dc17.entry.js} +1 -1
- package/dist/vega/{p-1dfddf03.entry.js → p-69cf5269.entry.js} +1 -1
- package/dist/vega/{p-21675b8e.entry.js → p-70af1334.entry.js} +1 -1
- package/dist/vega/{p-bd1bc019.entry.js → p-7115c145.entry.js} +1 -1
- package/dist/vega/{p-7d22c459.entry.js → p-795927c4.entry.js} +1 -1
- package/dist/vega/{p-6ad96891.entry.js → p-7c1d2dcf.entry.js} +1 -1
- package/dist/vega/p-7f9cb4c0.entry.js +1 -0
- package/dist/vega/p-82fd348b.entry.js +1 -0
- package/dist/vega/p-8543f9c3.entry.js +1 -0
- package/dist/vega/{p-12e93c00.entry.js → p-8771bf66.entry.js} +1 -1
- package/dist/vega/{p-84787f59.entry.js → p-88cf7e56.entry.js} +1 -1
- package/dist/vega/{p-d7f7e2df.entry.js → p-8e7d6700.entry.js} +1 -1
- package/dist/vega/p-9119ad95.entry.js +1 -0
- package/dist/vega/p-9799f3d8.entry.js +1 -0
- package/dist/vega/{p-61c96c79.entry.js → p-a6c43909.entry.js} +1 -1
- package/dist/vega/{p-ceb5067a.entry.js → p-b23ad436.entry.js} +1 -1
- package/dist/vega/{p-c8e1b56d.entry.js → p-b570e6c7.entry.js} +1 -1
- package/dist/vega/{p-ba37eaad.entry.js → p-b6f68efd.entry.js} +1 -1
- package/dist/vega/{p-25f60a0b.entry.js → p-b8a47375.entry.js} +1 -1
- package/dist/vega/{p-7fd253e0.entry.js → p-b8d45e28.entry.js} +1 -1
- package/dist/vega/{p-9e5f7b82.js → p-bba06111.js} +1 -1
- package/dist/vega/{p-2066e3eb.entry.js → p-c1401fab.entry.js} +1 -1
- package/dist/vega/{p-a9f61d9e.entry.js → p-cafe75e8.entry.js} +1 -1
- package/dist/vega/{p-7d9934ee.entry.js → p-cf40587e.entry.js} +1 -1
- package/dist/vega/{p-7706a169.js → p-d126407a.js} +1 -1
- package/dist/vega/{p-fb34de30.entry.js → p-e373bc4d.entry.js} +1 -1
- package/dist/vega/p-eacf64be.js +1 -0
- package/dist/vega/{p-1d628d23.entry.js → p-ec4afdaa.entry.js} +1 -1
- package/dist/vega/{p-a9d3ea86.js → p-f0330fcc.js} +1 -1
- package/dist/vega/{p-c0ca1a1c.entry.js → p-f8a97354.entry.js} +1 -1
- package/dist/vega/{p-f5d3d49f.entry.js → p-f96ee751.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-1092a8ce.entry.js +0 -1
- package/dist/vega/p-43515fe4.entry.js +0 -1
- package/dist/vega/p-592e755b.entry.js +0 -1
- package/dist/vega/p-76265c0e.entry.js +0 -1
- package/dist/vega/p-9316cd6d.entry.js +0 -1
- package/dist/vega/p-a9c3e9fd.js +0 -1
- package/dist/vega/p-aae8855d.js +0 -1
- package/dist/vega/p-bb845e70.entry.js +0 -1
- package/dist/vega/p-c47d4933.js +0 -1
- package/dist/vega/p-c9f922bf.entry.js +0 -1
- package/dist/vega/p-ca1fae74.entry.js +0 -1
- package/dist/vega/p-eb461dad.entry.js +0 -1
- package/dist/vega/p-f1d8fd1c.js +0 -1
|
@@ -27,9 +27,11 @@ const VegaInternalLeftNavLinkClick = new VegaInternalEventID('leftNavLinkClick')
|
|
|
27
27
|
const VegaInternalSubStatePull = new VegaInternalEventID('subStatePull');
|
|
28
28
|
const VegaInternalSubStatePush = new VegaInternalEventID('subStatePush');
|
|
29
29
|
const VegaInternalCalendarMonthEventsChange = new VegaInternalEventID('monthEventsChange');
|
|
30
|
+
const VegaInternalDropdownTemplateItemsChange = new VegaInternalEventID('dropdownTemplateItemsChange');
|
|
30
31
|
|
|
31
32
|
exports.VegaInternalButtonGroupClick = VegaInternalButtonGroupClick;
|
|
32
33
|
exports.VegaInternalCalendarMonthEventsChange = VegaInternalCalendarMonthEventsChange;
|
|
34
|
+
exports.VegaInternalDropdownTemplateItemsChange = VegaInternalDropdownTemplateItemsChange;
|
|
33
35
|
exports.VegaInternalFieldErrorStateChange = VegaInternalFieldErrorStateChange;
|
|
34
36
|
exports.VegaInternalLeftNavLinkClick = VegaInternalLeftNavLinkClick;
|
|
35
37
|
exports.VegaInternalSubStatePull = VegaInternalSubStatePull;
|
package/dist/collection/components/vega-button/slimmers/renderers/vega-button-loading-renderer.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
/** This code snippet defines a TypeScript class named `VegaButtonLoadingRenderer` that extends `VegaSlimmer`. It includes several class properties (`loading`, `loadingMode`, `size`, `danger`) that are mapped to fields of a `VegaButton` component. The `render` method of this class is responsible for rendering a loading indicator component (`vega-loading-indicator`) based on the values of the class properties. */
|
|
10
|
+
export class VegaButtonLoadingRenderer extends VegaSlimmer {
|
|
11
|
+
/**
|
|
12
|
+
* renders a loading indicator component based on the values of certain properties (`loading`) of the class instance.
|
|
13
|
+
*
|
|
14
|
+
* @returns {Nullable<HTMLVegaLoadingIndicatorElement>} Loading element if the property loading set to true
|
|
15
|
+
*/
|
|
16
|
+
render() {
|
|
17
|
+
if (this.loading) {
|
|
18
|
+
return h("vega-loading-indicator", { size: "micro", mode: "indeterminate" });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
__decorate([
|
|
23
|
+
MapToComponentField()
|
|
24
|
+
], VegaButtonLoadingRenderer.prototype, "loading", void 0);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */
|
|
1
|
+
/* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */ /* This file is generated by vega-design 2.0.77 */
|
|
2
2
|
/**
|
|
3
3
|
* Deprecated. Not for use in new websites.
|
|
4
4
|
* https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word
|
|
@@ -188,4 +188,12 @@
|
|
|
188
188
|
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
189
189
|
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
190
190
|
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
:host .vega-button-variant-primary vega-loading-indicator::part(circle-loader-progress) {
|
|
194
|
+
stroke: rgba(var(--v-text-white, 252, 252, 252, 1));
|
|
195
|
+
}
|
|
196
|
+
:host .vega-button-variant-primary vega-loading-indicator::part(circle-loader-track) {
|
|
197
|
+
stroke: rgba(var(--v-text-white, 252, 252, 252, 1));
|
|
198
|
+
opacity: 0.2;
|
|
191
199
|
}
|
|
@@ -16,6 +16,7 @@ import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/ev
|
|
|
16
16
|
import { VegaClick } from '../../helpers/event-manager/eventID/vegaEventId';
|
|
17
17
|
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/childNodesEventPreventSlimmer';
|
|
18
18
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/componentUsageRuntimeMetrics';
|
|
19
|
+
import { VegaButtonLoadingRenderer } from './slimmers/renderers/vega-button-loading-renderer';
|
|
19
20
|
export class VegaButton {
|
|
20
21
|
constructor() {
|
|
21
22
|
this.globalSlimmers = {};
|
|
@@ -28,12 +29,13 @@ export class VegaButton {
|
|
|
28
29
|
this.eventPrevent = new ChildNodesEventPreventSlimmer([VegaClick], () => this.host, {
|
|
29
30
|
useCapture: true,
|
|
30
31
|
customPreventHandle: (e) => {
|
|
31
|
-
if (this.
|
|
32
|
+
if (this.isDisabledButton()) {
|
|
32
33
|
e.stopImmediatePropagation();
|
|
33
34
|
}
|
|
34
35
|
},
|
|
35
36
|
});
|
|
36
37
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
38
|
+
this.vegaButtonLoadingRenderer = new VegaButtonLoadingRenderer();
|
|
37
39
|
this.currentBreakpoint = getCurrentBreakpoint();
|
|
38
40
|
/**
|
|
39
41
|
* Specifies the size of the button.
|
|
@@ -72,8 +74,14 @@ export class VegaButton {
|
|
|
72
74
|
* form submission and data reset.
|
|
73
75
|
*/
|
|
74
76
|
this.type = 'button';
|
|
77
|
+
/**
|
|
78
|
+
* Specifies whether the button is in a loading state. When `true`,
|
|
79
|
+
* the button is disabled and an indeterminate loading indicator
|
|
80
|
+
* is displayed within the button.
|
|
81
|
+
*/
|
|
82
|
+
this.loading = false;
|
|
75
83
|
this.handleClick = (e) => {
|
|
76
|
-
if (this.
|
|
84
|
+
if (this.isDisabledButton()) {
|
|
77
85
|
e.preventDefault();
|
|
78
86
|
}
|
|
79
87
|
else {
|
|
@@ -95,16 +103,17 @@ export class VegaButton {
|
|
|
95
103
|
h("button", { type: this.type, "aria-label": this.label || 'No label defined', class: {
|
|
96
104
|
[`vega-button-size-${ResponsiveFormatFacade.formatCustom(this.size)}`]: true,
|
|
97
105
|
[`vega-button-variant-${this.variant}`]: true,
|
|
98
|
-
'vega-button-disabled': this.
|
|
106
|
+
'vega-button-disabled': this.isDisabledButton(),
|
|
99
107
|
'vega-button-danger': this.danger,
|
|
100
|
-
}, onClick: this.handleClick, disabled: this.
|
|
108
|
+
}, onClick: this.handleClick, disabled: this.isDisabledButton(), part: "button" }, this.renderContent())), this.host);
|
|
101
109
|
}
|
|
102
110
|
renderContent() {
|
|
103
|
-
if (this.icon) {
|
|
111
|
+
if (this.icon || this.loading) {
|
|
104
112
|
return (h("vega-flex", { alignItems: "center", gap: "size-8", justifyContent: "center" },
|
|
105
113
|
this.iconAlign === 'left' && this.renderIcon(),
|
|
106
114
|
this.renderLabel(),
|
|
107
|
-
this.iconAlign === 'right' && this.renderIcon()
|
|
115
|
+
this.iconAlign === 'right' && this.renderIcon(),
|
|
116
|
+
this.vegaButtonLoadingRenderer.render()));
|
|
108
117
|
}
|
|
109
118
|
else {
|
|
110
119
|
return this.renderLabel();
|
|
@@ -114,7 +123,19 @@ export class VegaButton {
|
|
|
114
123
|
return this.label && h("span", null, this.label);
|
|
115
124
|
}
|
|
116
125
|
renderIcon() {
|
|
117
|
-
|
|
126
|
+
if (this.icon) {
|
|
127
|
+
return (h("vega-icon", { icon: this.icon, class: "vega-flex-shrink-0 v-min-w-min", size: this.size === 'large' ? 'size-24' : 'size-16' }));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The function `isDisabledButton` returns true if either the `disabled` or `loading` property is true.
|
|
132
|
+
*
|
|
133
|
+
* @returns {boolean} The method `isDisabledButton()` is returning a boolean value, which is determined by the
|
|
134
|
+
* logical OR operation between `this.disabled` and `this.loading`. If either `this.disabled` or
|
|
135
|
+
* `this.loading` is true, the method will return `true`, indicating that the button is disabled.
|
|
136
|
+
*/
|
|
137
|
+
isDisabledButton() {
|
|
138
|
+
return this.disabled || this.loading;
|
|
118
139
|
}
|
|
119
140
|
static get is() { return "vega-button"; }
|
|
120
141
|
static get encapsulation() { return "shadow"; }
|
|
@@ -309,6 +330,24 @@ export class VegaButton {
|
|
|
309
330
|
"attribute": "type",
|
|
310
331
|
"reflect": false,
|
|
311
332
|
"defaultValue": "'button'"
|
|
333
|
+
},
|
|
334
|
+
"loading": {
|
|
335
|
+
"type": "boolean",
|
|
336
|
+
"mutable": false,
|
|
337
|
+
"complexType": {
|
|
338
|
+
"original": "boolean",
|
|
339
|
+
"resolved": "boolean",
|
|
340
|
+
"references": {}
|
|
341
|
+
},
|
|
342
|
+
"required": false,
|
|
343
|
+
"optional": false,
|
|
344
|
+
"docs": {
|
|
345
|
+
"tags": [],
|
|
346
|
+
"text": "Specifies whether the button is in a loading state. When `true`,\n the button is disabled and an indeterminate loading indicator\n is displayed within the button."
|
|
347
|
+
},
|
|
348
|
+
"attribute": "loading",
|
|
349
|
+
"reflect": false,
|
|
350
|
+
"defaultValue": "false"
|
|
312
351
|
}
|
|
313
352
|
}; }
|
|
314
353
|
static get states() { return {
|
|
@@ -365,3 +404,6 @@ __decorate([
|
|
|
365
404
|
__decorate([
|
|
366
405
|
InjectVegaSlimmer()
|
|
367
406
|
], VegaButton.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
407
|
+
__decorate([
|
|
408
|
+
InjectVegaSlimmer()
|
|
409
|
+
], VegaButton.prototype, "vegaButtonLoadingRenderer", void 0);
|
|
@@ -16,19 +16,50 @@ export class VegaCalendarCurrentPeriodController extends VegaSlimmer {
|
|
|
16
16
|
setCurrentPeriod(newPeriod) {
|
|
17
17
|
this.currentPeriod = newPeriod;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* set new current period by the view mode and the current date
|
|
21
|
+
*
|
|
22
|
+
* @param {VegaCalendarViewModeType} viewMode view mode value
|
|
23
|
+
* @param {CalendarDate} date current date
|
|
24
|
+
*/
|
|
25
|
+
updateCalendarPeriod(viewMode, date) {
|
|
26
|
+
switch (viewMode) {
|
|
27
|
+
case 'month':
|
|
28
|
+
this.setCurrentPeriod(new MonthPeriod(date));
|
|
29
|
+
break;
|
|
30
|
+
case 'week':
|
|
31
|
+
this.setCurrentPeriod(new WeekPeriod(date));
|
|
32
|
+
break;
|
|
33
|
+
case 'day':
|
|
34
|
+
this.setCurrentPeriod(new DayPeriod(date));
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
19
38
|
/**
|
|
20
39
|
* default current period is month period, re-create period if the default view mode is not month
|
|
21
40
|
* set default calendar view
|
|
22
41
|
*/
|
|
23
42
|
initialCurrentPeriod() {
|
|
24
|
-
this.
|
|
43
|
+
this.updateCalendarPeriod(this.viewMode, CalendarDate.from(new Date()));
|
|
25
44
|
}
|
|
26
45
|
/**
|
|
27
46
|
* emit period change event
|
|
47
|
+
*
|
|
48
|
+
* @param {CalendarPeriod} newValue the new calendar period
|
|
49
|
+
* @param {CalendarPeriod} oldValue the prev calendar period
|
|
28
50
|
*/
|
|
29
|
-
emitChangeEvent() {
|
|
51
|
+
emitChangeEvent(newValue, oldValue) {
|
|
52
|
+
if (newValue &&
|
|
53
|
+
oldValue &&
|
|
54
|
+
newValue.startDate.equal(oldValue.startDate) &&
|
|
55
|
+
newValue.endDate.equal(oldValue.endDate)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (newValue && newValue.type !== this.viewMode) {
|
|
59
|
+
this.viewMode = newValue.type;
|
|
60
|
+
}
|
|
30
61
|
this.changeEventEmitter.emit({
|
|
31
|
-
viewMode:
|
|
62
|
+
viewMode: newValue.type,
|
|
32
63
|
currentPeriod: this.getCurrentPeriodSummary(),
|
|
33
64
|
});
|
|
34
65
|
}
|
|
@@ -38,7 +69,9 @@ export class VegaCalendarCurrentPeriodController extends VegaSlimmer {
|
|
|
38
69
|
* @param {VegaCalendarViewModeType} viewMode new view mode value
|
|
39
70
|
*/
|
|
40
71
|
updateCurrentPeriodByViewMode(viewMode) {
|
|
41
|
-
this.
|
|
72
|
+
if (this.currentPeriod && viewMode !== this.currentPeriod.type) {
|
|
73
|
+
this.updateCalendarPeriod(viewMode, this.currentPeriod.current);
|
|
74
|
+
}
|
|
42
75
|
}
|
|
43
76
|
/**
|
|
44
77
|
* The function `getStartDateAndEndDate` returns an array of `VegaCalendarDateType` objects based on the `startDate` and `endDate` properties of the `currentPeriod` object.
|
|
@@ -63,25 +96,6 @@ export class VegaCalendarCurrentPeriodController extends VegaSlimmer {
|
|
|
63
96
|
},
|
|
64
97
|
};
|
|
65
98
|
}
|
|
66
|
-
/**
|
|
67
|
-
* set new current period by the view mode and the current date
|
|
68
|
-
*
|
|
69
|
-
* @param {VegaCalendarViewModeType} viewMode view mode value
|
|
70
|
-
* @param {CalendarDate} date current date
|
|
71
|
-
*/
|
|
72
|
-
initCalendarPeriod(viewMode, date) {
|
|
73
|
-
switch (viewMode) {
|
|
74
|
-
case 'month':
|
|
75
|
-
this.setCurrentPeriod(new MonthPeriod(date));
|
|
76
|
-
break;
|
|
77
|
-
case 'week':
|
|
78
|
-
this.setCurrentPeriod(new WeekPeriod(date));
|
|
79
|
-
break;
|
|
80
|
-
case 'day':
|
|
81
|
-
this.setCurrentPeriod(new DayPeriod(date));
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
99
|
}
|
|
86
100
|
__decorate([
|
|
87
101
|
MapToComponentField({ writable: true })
|
|
@@ -90,7 +104,7 @@ __decorate([
|
|
|
90
104
|
MapToComponentField()
|
|
91
105
|
], VegaCalendarCurrentPeriodController.prototype, "changeEventEmitter", void 0);
|
|
92
106
|
__decorate([
|
|
93
|
-
MapToComponentField()
|
|
107
|
+
MapToComponentField({ writable: true })
|
|
94
108
|
], VegaCalendarCurrentPeriodController.prototype, "viewMode", void 0);
|
|
95
109
|
__decorate([
|
|
96
110
|
MapToComponentMethod('componentWillLoad')
|
|
@@ -9,6 +9,11 @@ import { CalendarEvent } from '../../../../../helpers/calendar/calendar-event';
|
|
|
9
9
|
import { LogUtility } from '../../../../../utils/log';
|
|
10
10
|
/** The `VegaCalendarEventController` class in TypeScript manages calendar events, initializes event layouts, retrieves events for the current date, and checks if a date falls within the range of a calendar event. */
|
|
11
11
|
export class VegaCalendarEventController extends VegaSlimmer {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
// This map is cache for newly generated calendar events
|
|
15
|
+
this.repeatEventMap = new Map();
|
|
16
|
+
}
|
|
12
17
|
/**
|
|
13
18
|
* The function `getCurrentDateEvent` returns an array of calendar events for the current date, including both normal events and group events.
|
|
14
19
|
*
|
|
@@ -19,7 +24,7 @@ export class VegaCalendarEventController extends VegaSlimmer {
|
|
|
19
24
|
* the group events and returns the combined array.
|
|
20
25
|
*/
|
|
21
26
|
getCurrentDateEvents(date) {
|
|
22
|
-
const allEvents = this.
|
|
27
|
+
const allEvents = this.createRepeatEvents();
|
|
23
28
|
return allEvents.filter((item) => item.isCurrentDayEvent(date));
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
@@ -29,6 +34,7 @@ export class VegaCalendarEventController extends VegaSlimmer {
|
|
|
29
34
|
*/
|
|
30
35
|
updateAfterEventChange(newEvents) {
|
|
31
36
|
this.initCalendarEvents(newEvents);
|
|
37
|
+
this.repeatEventMap.clear();
|
|
32
38
|
}
|
|
33
39
|
/**
|
|
34
40
|
* initial calendar events in first time
|
|
@@ -56,10 +62,57 @@ export class VegaCalendarEventController extends VegaSlimmer {
|
|
|
56
62
|
}
|
|
57
63
|
this.calendarEvents = result;
|
|
58
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* We need generate new calendar event from the full-day repeat calendar event, so we can render those event as normal full-day event
|
|
67
|
+
*
|
|
68
|
+
* @returns {CalendarEvent[]} The `handleRepeatEvents` method returns an array of `CalendarEvent` objects.
|
|
69
|
+
*/
|
|
70
|
+
createRepeatEvents() {
|
|
71
|
+
const allEvents = this.calendarEvents;
|
|
72
|
+
const otherEvents = [];
|
|
73
|
+
const newRepeatEvents = [];
|
|
74
|
+
allEvents.forEach((item) => {
|
|
75
|
+
if (item.isRepeatEvent) {
|
|
76
|
+
const repeatSeries = item.getRepeatSeries(this.currentPeriod);
|
|
77
|
+
repeatSeries.forEach((series) => {
|
|
78
|
+
newRepeatEvents.push(this.generateCalendarEventByRepeatSeries(item, series));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
otherEvents.push(item);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return newRepeatEvents.concat(otherEvents);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* This function generates a calendar event based on a repeat series and stores it in a map to avoid duplicate creation.
|
|
89
|
+
*
|
|
90
|
+
* @param {CalendarEvent} calendarEvent - The `calendarEvent` parameter represents a single event on
|
|
91
|
+
* a calendar. It contains information such as the event's start date, end date, and other details.
|
|
92
|
+
* @param {CalendarDate} series - The repeat start date
|
|
93
|
+
* @returns {CalendarEvent} The function `generateCalendarEventByRepeatSeries` returns a `CalendarEvent` object. If
|
|
94
|
+
* the event key already exists in the `repeatEventMap`, it returns the corresponding `CalendarEvent`
|
|
95
|
+
* object from the map. Otherwise, it creates a new `CalendarEvent` object based on the input
|
|
96
|
+
* `calendarEvent` and `series` parameters, adds it to the `repeatEventMap`, and then
|
|
97
|
+
*/
|
|
98
|
+
generateCalendarEventByRepeatSeries(calendarEvent, series) {
|
|
99
|
+
const eventKey = `${calendarEvent.eventKey}-${series.year}${series.month}${series.date}`;
|
|
100
|
+
if (this.repeatEventMap.has(eventKey)) {
|
|
101
|
+
return this.repeatEventMap.get(eventKey);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
const result = calendarEvent.copyTo(eventKey, series);
|
|
105
|
+
this.repeatEventMap.set(eventKey, result);
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
59
109
|
}
|
|
60
110
|
__decorate([
|
|
61
111
|
MapToComponentField({ writable: true })
|
|
62
112
|
], VegaCalendarEventController.prototype, "calendarEvents", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
MapToComponentField()
|
|
115
|
+
], VegaCalendarEventController.prototype, "currentPeriod", void 0);
|
|
63
116
|
__decorate([
|
|
64
117
|
MapToComponentField()
|
|
65
118
|
], VegaCalendarEventController.prototype, "events", void 0);
|
|
@@ -14,39 +14,34 @@ export class VegaCalendarViewController extends VegaSlimmer {
|
|
|
14
14
|
this.weekViewGenerator = new WeekViewGenerator();
|
|
15
15
|
this.dayViewGenerator = new DayViewGenerator();
|
|
16
16
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Update the view mode by param
|
|
19
|
-
*
|
|
20
|
-
* @param {VegaCalendarViewModeType} viewMode view mode string
|
|
21
|
-
*/
|
|
22
|
-
setViewMode(viewMode) {
|
|
23
|
-
this.viewMode = viewMode;
|
|
24
|
-
}
|
|
25
17
|
/**
|
|
26
18
|
* set default calendar view
|
|
27
19
|
*/
|
|
28
20
|
initialCalendarView() {
|
|
29
|
-
this.setCalendarView(this.
|
|
21
|
+
this.setCalendarView(this.getCalendarViewByPeriod(this.currentPeriod));
|
|
30
22
|
}
|
|
31
23
|
/**
|
|
32
24
|
* generator new calendar view if the calendar current period changes
|
|
25
|
+
*
|
|
26
|
+
* @param {CalendarPeriod} newValue the new calendar period
|
|
33
27
|
*/
|
|
34
|
-
generateCalendarView() {
|
|
35
|
-
this.setCalendarView(this.
|
|
28
|
+
generateCalendarView(newValue) {
|
|
29
|
+
this.setCalendarView(this.getCalendarViewByPeriod(newValue));
|
|
36
30
|
}
|
|
37
31
|
/**
|
|
38
|
-
* The function `
|
|
32
|
+
* The function `getCalendarViewByPeriod` returns a specific calendar view based on the current period.
|
|
39
33
|
*
|
|
40
|
-
* @
|
|
34
|
+
* @param {CalendarPeriod} newPeriod the new period
|
|
35
|
+
* @returns {CalendarView} get the match calendar view by the period
|
|
41
36
|
*/
|
|
42
|
-
|
|
43
|
-
switch (
|
|
37
|
+
getCalendarViewByPeriod(newPeriod) {
|
|
38
|
+
switch (newPeriod.type) {
|
|
44
39
|
case 'week':
|
|
45
|
-
return this.weekViewGenerator.generate(
|
|
40
|
+
return this.weekViewGenerator.generate(newPeriod);
|
|
46
41
|
case 'day':
|
|
47
|
-
return this.dayViewGenerator.generate(
|
|
42
|
+
return this.dayViewGenerator.generate(newPeriod);
|
|
48
43
|
default:
|
|
49
|
-
return this.monthViewGenerator.generate(
|
|
44
|
+
return this.monthViewGenerator.generate(newPeriod);
|
|
50
45
|
}
|
|
51
46
|
}
|
|
52
47
|
/**
|
|
@@ -61,9 +56,6 @@ export class VegaCalendarViewController extends VegaSlimmer {
|
|
|
61
56
|
__decorate([
|
|
62
57
|
MapToComponentField({ writable: true })
|
|
63
58
|
], VegaCalendarViewController.prototype, "calendarView", void 0);
|
|
64
|
-
__decorate([
|
|
65
|
-
MapToComponentField({ writable: true })
|
|
66
|
-
], VegaCalendarViewController.prototype, "viewMode", void 0);
|
|
67
59
|
__decorate([
|
|
68
60
|
MapToComponentField()
|
|
69
61
|
], VegaCalendarViewController.prototype, "currentPeriod", void 0);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/** The above code defines an abstract class `CalendarEventBaseRepeatPattern` in TypeScript that represents a repeat pattern for calendar events. Here is a summary of what the code is doing: */
|
|
2
|
+
export class CalendarEventBaseRepeatPattern {
|
|
3
|
+
/**
|
|
4
|
+
* The constructor initializes the current date for a given date range and interval.
|
|
5
|
+
*
|
|
6
|
+
* @param {CalendarDate} repeatStartDate - The `repeatStartDate` parameter represents the starting date of a
|
|
7
|
+
* calendar event or interval. It is of type `CalendarDate`, which likely contains information such as
|
|
8
|
+
* the year, month, and day of the event.
|
|
9
|
+
* @param {number} interval - The `interval` parameter represents the frequency at which the event
|
|
10
|
+
* occurs. For example, if the interval is set to 2, it means the event occurs every 2 units of time
|
|
11
|
+
* (e.g., every 2 days, weeks, months, etc.).
|
|
12
|
+
* @param {Nullable<number>} count - The `count` parameter specifies the number of occurrences of the event. If `count`
|
|
13
|
+
* is provided, the event will repeat `count` times within the specified interval. If `count` is
|
|
14
|
+
* `null`, the event will repeat indefinitely until the `until` date is reached.
|
|
15
|
+
* @param {Nullable<CalendarDate>} until - The `until` parameter in the constructor represents a date until which the recurring
|
|
16
|
+
* event will occur. If this date is reached, the recurring event will stop.
|
|
17
|
+
*/
|
|
18
|
+
constructor(repeatStartDate, interval, count, until) {
|
|
19
|
+
this.repeatStartDate = repeatStartDate;
|
|
20
|
+
this.interval = interval;
|
|
21
|
+
this.count = count;
|
|
22
|
+
this.until = until;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The function `getRepeatSeries` retrieves a series of repeated events within a specified calendar period.
|
|
26
|
+
*
|
|
27
|
+
* @param {CalendarPeriod} period - The `period` parameter in the `getRepeatSeries` method represents
|
|
28
|
+
* a specific time period in the form of a `CalendarPeriod` object. This object typically contains a
|
|
29
|
+
* `startDate` and an `endDate`, which define the range of dates for which you want to generate repeat series.
|
|
30
|
+
* @param {number} eventSpansDays - the current repeat series cross days, default value is one
|
|
31
|
+
* @returns {CalendarDate[]} repeat start date array
|
|
32
|
+
*/
|
|
33
|
+
getRepeatSeries(period, eventSpansDays = 1) {
|
|
34
|
+
this.generateRepeatDateCacheUntilEndDate(period.endDate);
|
|
35
|
+
return this.cache.filter((item) => {
|
|
36
|
+
return this.isSeriesInPeriod(item, eventSpansDays, period);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The function `isSeriesInPeriod` checks if a series of dates falls within a specified date range.
|
|
41
|
+
*
|
|
42
|
+
* @param {CalendarDate} series - The `series` parameter represents a specific date in the form of a
|
|
43
|
+
* `CalendarDate` object.
|
|
44
|
+
* @param {number} seriesSpansDays - The `seriesSpansDays` parameter represents the number of days
|
|
45
|
+
* that the series spans. It is used to calculate the end date of the series based on the start date.
|
|
46
|
+
* @param {CalendarPeriod} period - Date period
|
|
47
|
+
* @returns {boolean} a boolean value indicating whether the given series falls within the specified date
|
|
48
|
+
* range.
|
|
49
|
+
*/
|
|
50
|
+
isSeriesInPeriod(series, seriesSpansDays, period) {
|
|
51
|
+
const seriesStart = series.toDate();
|
|
52
|
+
const seriesEnd = new Date(series.year, series.month - 1, series.date + seriesSpansDays - 1);
|
|
53
|
+
const { startDate, endDate } = period;
|
|
54
|
+
const rangeStart = startDate.toDate();
|
|
55
|
+
const rangeEnd = endDate.toDate();
|
|
56
|
+
return ((seriesStart >= rangeStart && seriesStart <= rangeEnd) ||
|
|
57
|
+
(seriesEnd >= rangeStart && seriesEnd <= rangeEnd) ||
|
|
58
|
+
(seriesStart <= rangeStart && seriesEnd >= rangeEnd));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
CalendarEventBaseRepeatPattern.daySeconds = 24 * 60 * 60 * 1000;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { CalendarDate } from '../../../../../../helpers/calendar';
|
|
2
|
+
import { CalendarEventBaseRepeatPattern } from './baseRepeatPattern';
|
|
3
|
+
/** The `CalendarEventDailyRepeatPattern` class in TypeScript represents a daily repeating pattern for calendar events. */
|
|
4
|
+
export class CalendarEventDailyRepeatPattern extends CalendarEventBaseRepeatPattern {
|
|
5
|
+
/**
|
|
6
|
+
* The constructor initializes the current date for a given date range and interval.
|
|
7
|
+
*
|
|
8
|
+
* @param {CalendarDate} startDate - The `startDate` parameter is of type `CalendarDate` and represents the starting date for a specific interval or range.
|
|
9
|
+
* @param {number} interval - The `interval` parameter represents the frequency at which the event
|
|
10
|
+
* occurs. For example, if the interval is set to 1, it means the event occurs every day. If the
|
|
11
|
+
* interval is set to 2, it means the event occurs every other day.
|
|
12
|
+
* @param {Nullable<number>} count - The `count` parameter specifies the number of occurrences of the event. If `count`
|
|
13
|
+
* is provided, the event will repeat `count` times within the specified interval. If `count` is
|
|
14
|
+
* `null`, the event will repeat indefinitely until the `until` date is reached.
|
|
15
|
+
* @param {Nullable<CalendarDate>} until - The `until` parameter in the constructor is of type `Nullable<CalendarDate>`, which
|
|
16
|
+
* means it can either accept a `CalendarDate` object or be `null`. This parameter is used to specify
|
|
17
|
+
* a date until which the recurring event should repeat. If `until` is provided, the event
|
|
18
|
+
*/
|
|
19
|
+
constructor(startDate, interval, count, until) {
|
|
20
|
+
super(startDate, interval, count, until);
|
|
21
|
+
this.initCache();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The function generates and caches repeated dates before a specified end date.
|
|
25
|
+
*
|
|
26
|
+
* @param {CalendarDate} endDate - The `endDate` parameter represents the date until which you want to
|
|
27
|
+
* generate repeat dates in the cache. The function `generateRepeatDateCacheBeforeEndDate` is
|
|
28
|
+
* responsible for populating the cache with repeat dates until the specified `endDate`. It checks the
|
|
29
|
+
* last date in the cache and generates subsequent repeat dates until
|
|
30
|
+
*/
|
|
31
|
+
generateRepeatDateCacheUntilEndDate(endDate) {
|
|
32
|
+
const lastMatchDate = this.cache[this.cache.length - 1];
|
|
33
|
+
if (lastMatchDate.toDate() < endDate.toDate() &&
|
|
34
|
+
(!this.count || (typeof this.count === 'number' && this.cache.length < this.count))) {
|
|
35
|
+
let nextMatchDate = this.getNextRepeatStartDate(lastMatchDate);
|
|
36
|
+
while (nextMatchDate && nextMatchDate.toDate() < endDate.toDate()) {
|
|
37
|
+
nextMatchDate = this.getNextRepeatStartDate(nextMatchDate);
|
|
38
|
+
if (typeof this.count === 'number' && this.cache.length >= this.count) {
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The function `initCache` initializes a cache array with the `startDate` value.
|
|
46
|
+
*/
|
|
47
|
+
initCache() {
|
|
48
|
+
this.cache = [this.repeatStartDate];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The function getNextRepeatStartDate calculates the next repeat start date based on a given date and certain conditions.
|
|
52
|
+
*
|
|
53
|
+
* @param {CalendarDate} date - The `date` parameter represents the current date for which you want to
|
|
54
|
+
* calculate the next repeat start date. It is an instance of the `CalendarDate` class.
|
|
55
|
+
* @returns {Nullable<CalendarDate>} The function `getNextRepeatStartDate` returns either a `CalendarDate` object if certain
|
|
56
|
+
* conditions are met, or `null` if the conditions are not met.
|
|
57
|
+
*/
|
|
58
|
+
getNextRepeatStartDate(date) {
|
|
59
|
+
const nextDate = new Date(date.year, date.month - 1, date.date + this.interval);
|
|
60
|
+
const nextCalendarDate = CalendarDate.from(nextDate);
|
|
61
|
+
if ((this.until && nextDate > this.until.toDate()) ||
|
|
62
|
+
(typeof this.count === 'number' && this.cache.length >= this.count)) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.cache.push(nextCalendarDate);
|
|
67
|
+
return nextCalendarDate;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { CalendarDate } from '../../../../../../helpers/calendar';
|
|
2
|
+
import { CalendarEventBaseRepeatPattern } from './baseRepeatPattern';
|
|
3
|
+
/** The `CalendarEventMonthlyRepeatPattern` class in TypeScript represents a monthly repeat pattern for calendar events. */
|
|
4
|
+
export class CalendarEventMonthlyRepeatPattern extends CalendarEventBaseRepeatPattern {
|
|
5
|
+
/**
|
|
6
|
+
* The constructor initializes the event with specified start and end dates, interval, count, and until date, and sets the byMonthDay property to the start date's day.
|
|
7
|
+
*
|
|
8
|
+
* @param {CalendarDate} startDate - The `startDate` parameter represents the starting date of the
|
|
9
|
+
* event or interval. It is of type `CalendarDate`, which likely includes the year, month, and day
|
|
10
|
+
* components of the date.
|
|
11
|
+
* @param {number} interval - The `interval` parameter specifies the frequency of the recurring
|
|
12
|
+
* events. For example, if the interval is set to 2, the event will occur every 2 units of time (days,
|
|
13
|
+
* weeks, months, etc.).
|
|
14
|
+
* @param {Nullable<number>} count - The `count` parameter specifies the number of occurrences of the event. If `count`
|
|
15
|
+
* is provided, the event will repeat `count` times within the specified interval. If `count` is not
|
|
16
|
+
* provided (or is `null`), the event will repeat indefinitely based on the other parameters like `
|
|
17
|
+
* @param {Nullable<CalendarDate>} until - The `until` parameter is a nullable `CalendarDate` that specifies the end date for
|
|
18
|
+
* the recurring event. If provided, the event will repeat until this date. If not provided, the event
|
|
19
|
+
* will repeat indefinitely based on the other parameters like `count` or `endDate`.
|
|
20
|
+
*/
|
|
21
|
+
constructor(startDate, interval, count, until) {
|
|
22
|
+
super(startDate, interval, count, until);
|
|
23
|
+
this.byMonthDay = this.repeatStartDate.date;
|
|
24
|
+
this.initCache();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* This function generates and caches repeated dates before a specified end date.
|
|
28
|
+
*
|
|
29
|
+
* @param {CalendarDate} endDate - The `endDate` parameter in the
|
|
30
|
+
* `generateRepeatDateCacheUntilEndDate` function is a CalendarDate object that represents the end
|
|
31
|
+
* date until which the repeat dates need to be generated and cached. The function checks if the last
|
|
32
|
+
* cached date is before the `endDate` and generates additional repeat dates until it reaches
|
|
33
|
+
*/
|
|
34
|
+
generateRepeatDateCacheUntilEndDate(endDate) {
|
|
35
|
+
const lastMatchDate = this.cache[this.cache.length - 1];
|
|
36
|
+
if (lastMatchDate.toDate() < endDate.toDate() &&
|
|
37
|
+
(!this.count || (typeof this.count === 'number' && this.cache.length < this.count))) {
|
|
38
|
+
let nextMatchDate = this.getNextRepeatStartDate(lastMatchDate);
|
|
39
|
+
while (nextMatchDate && nextMatchDate.toDate() < endDate.toDate()) {
|
|
40
|
+
nextMatchDate = this.getNextRepeatStartDate(nextMatchDate);
|
|
41
|
+
if (typeof this.count === 'number' && this.cache.length >= this.count) {
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The function `initCache` initializes a cache array with the startDate value.
|
|
49
|
+
*/
|
|
50
|
+
initCache() {
|
|
51
|
+
this.cache = [this.repeatStartDate];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The getNextRepeatStartDate function calculates the next start date based on a given date and interval, considering constraints such as end date and count limit.
|
|
55
|
+
*
|
|
56
|
+
* @param {CalendarDate} date - The `date` parameter represents the current date for which you want to
|
|
57
|
+
* calculate the next repeat start date. It is of type `CalendarDate`.
|
|
58
|
+
* @returns {Nullable<CalendarDate>} The function `getNextRepeatStartDate` returns a nullable `CalendarDate`. It either returns
|
|
59
|
+
* the next calculated `CalendarDate` based on the input date and interval, or it returns `null` if
|
|
60
|
+
* certain conditions are met (such as reaching the specified end date or count limit).
|
|
61
|
+
*/
|
|
62
|
+
getNextRepeatStartDate(date) {
|
|
63
|
+
const nextDate = this.getNextStartDate(date.year, date.month - 1 + this.interval);
|
|
64
|
+
const nextCalendarDate = CalendarDate.from(nextDate);
|
|
65
|
+
if ((this.until && nextDate > this.until.toDate()) ||
|
|
66
|
+
(typeof this.count === 'number' && this.cache.length >= this.count)) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.cache.push(nextCalendarDate);
|
|
71
|
+
return nextCalendarDate;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* get the new date with fixed date, if the date.getDate() not equal the fixed date, find the next month
|
|
76
|
+
*
|
|
77
|
+
* @param {number} year year
|
|
78
|
+
* @param {number} month month
|
|
79
|
+
* @returns {Date} the new date
|
|
80
|
+
*/
|
|
81
|
+
getNextStartDate(year, month) {
|
|
82
|
+
const nextDate = new Date(year, month, this.byMonthDay);
|
|
83
|
+
if (nextDate.getDate() === this.byMonthDay) {
|
|
84
|
+
return nextDate;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return this.getNextStartDate(year, month + 1);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|