@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
|
@@ -14,7 +14,7 @@ import { VegaCalendarMonthViewRenderer } from './slimmers/month-view/renderers/v
|
|
|
14
14
|
import { VegaCalendarViewWithTimeRenderer } from './slimmers/day-view/renderers/vega-calendar-view-with-time-renderer';
|
|
15
15
|
import { VegaCalendarTimeLineRenderer } from './slimmers/day-view/renderers/vega-calendar-time-line-renderer';
|
|
16
16
|
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/eventEmitSlimmer';
|
|
17
|
-
import { VegaChange, VegaEventClick } from '../../helpers/event-manager/eventID/vegaEventId';
|
|
17
|
+
import { VegaChange, VegaDateDblClick, VegaEventClick, } from '../../helpers/event-manager/eventID/vegaEventId';
|
|
18
18
|
import { VegaCalendarViewController } from './slimmers/common/controllers/vega-calendar-view-controller';
|
|
19
19
|
import { VegaCalendarCurrentPeriodController } from './slimmers/common/controllers/vega-calendar-current-period-controller';
|
|
20
20
|
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/childNodesEventPreventSlimmer';
|
|
@@ -51,6 +51,7 @@ export class VegaCalendar {
|
|
|
51
51
|
this.eventResponsiveController = new VegaCalendarEventResponsiveController();
|
|
52
52
|
this.changeEventEmitter = createEventEmitSlimmer(VegaCalendar, VegaChange);
|
|
53
53
|
this.eventClickEmitter = createEventEmitSlimmer(VegaCalendar, VegaEventClick);
|
|
54
|
+
this.dateDblClickEmitter = createEventEmitSlimmer(VegaCalendar, VegaDateDblClick);
|
|
54
55
|
this.changeEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange], () => this.switchPanelRenderer.getSwitchPanelRef());
|
|
55
56
|
this.timeFormatNotifySlimmer = createSubStateNotifySlimmer(VegaCalendar, 'timeFormat', 'watchTimeFormat');
|
|
56
57
|
this.calendarEvents = [];
|
|
@@ -65,10 +66,13 @@ export class VegaCalendar {
|
|
|
65
66
|
this.timeFormat = '24-hour';
|
|
66
67
|
}
|
|
67
68
|
/**
|
|
68
|
-
*
|
|
69
|
+
* Tracks changes to the current period state.
|
|
70
|
+
*
|
|
71
|
+
* @param {CalendarPeriod} newValue Specifies the new calendar period.
|
|
72
|
+
* @param {CalendarPeriod} oldValue Specifies the old calendar period.
|
|
69
73
|
*/
|
|
70
|
-
watchCurrentPeriodChange() {
|
|
71
|
-
methodPlaceholder();
|
|
74
|
+
watchCurrentPeriodChange(newValue, oldValue) {
|
|
75
|
+
methodPlaceholder(newValue, oldValue);
|
|
72
76
|
}
|
|
73
77
|
/**
|
|
74
78
|
* Watch the view mode change
|
|
@@ -261,6 +265,46 @@ export class VegaCalendar {
|
|
|
261
265
|
}
|
|
262
266
|
}
|
|
263
267
|
}
|
|
268
|
+
}, {
|
|
269
|
+
"method": "vegaDateDblClick",
|
|
270
|
+
"name": "vegaDateDblClick",
|
|
271
|
+
"bubbles": true,
|
|
272
|
+
"cancelable": true,
|
|
273
|
+
"composed": true,
|
|
274
|
+
"docs": {
|
|
275
|
+
"tags": [],
|
|
276
|
+
"text": "An event emitter notifying that a calendar date item has been double-clicked."
|
|
277
|
+
},
|
|
278
|
+
"complexType": {
|
|
279
|
+
"original": "VegaCalendarDateClickInfo",
|
|
280
|
+
"resolved": "VegaCalendarDateType & { hour: number; }",
|
|
281
|
+
"references": {
|
|
282
|
+
"VegaCalendarDateClickInfo": {
|
|
283
|
+
"location": "import",
|
|
284
|
+
"path": "./types"
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}, {
|
|
289
|
+
"method": "dateDblClick",
|
|
290
|
+
"name": "dateDblClick",
|
|
291
|
+
"bubbles": true,
|
|
292
|
+
"cancelable": true,
|
|
293
|
+
"composed": true,
|
|
294
|
+
"docs": {
|
|
295
|
+
"tags": [],
|
|
296
|
+
"text": "An event emitter notifying that a calendar date item has been double-clicked."
|
|
297
|
+
},
|
|
298
|
+
"complexType": {
|
|
299
|
+
"original": "VegaCalendarDateClickInfo",
|
|
300
|
+
"resolved": "VegaCalendarDateType & { hour: number; }",
|
|
301
|
+
"references": {
|
|
302
|
+
"VegaCalendarDateClickInfo": {
|
|
303
|
+
"location": "import",
|
|
304
|
+
"path": "./types"
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
264
308
|
}]; }
|
|
265
309
|
static get elementRef() { return "host"; }
|
|
266
310
|
static get watchers() { return [{
|
|
@@ -337,6 +381,9 @@ __decorate([
|
|
|
337
381
|
__decorate([
|
|
338
382
|
InjectVegaSlimmer()
|
|
339
383
|
], VegaCalendar.prototype, "eventClickEmitter", void 0);
|
|
384
|
+
__decorate([
|
|
385
|
+
InjectVegaSlimmer()
|
|
386
|
+
], VegaCalendar.prototype, "dateDblClickEmitter", void 0);
|
|
340
387
|
__decorate([
|
|
341
388
|
InjectVegaSlimmer()
|
|
342
389
|
], VegaCalendar.prototype, "changeEventPrevent", void 0);
|
|
@@ -37,7 +37,6 @@ export class VegaDropdownAppenderController extends ElementAppenderSlimmer {
|
|
|
37
37
|
*/
|
|
38
38
|
async watchIsDropdownShow() {
|
|
39
39
|
if (this.isDropdownShow) {
|
|
40
|
-
await this.renderer.listRenderer.scrollToIndex();
|
|
41
40
|
this.showEventEmitter.emit();
|
|
42
41
|
}
|
|
43
42
|
else {
|
|
@@ -105,9 +104,6 @@ __decorate([
|
|
|
105
104
|
__decorate([
|
|
106
105
|
MapToComponentField()
|
|
107
106
|
], VegaDropdownAppenderController.prototype, "renderer", void 0);
|
|
108
|
-
__decorate([
|
|
109
|
-
MapToComponentField()
|
|
110
|
-
], VegaDropdownAppenderController.prototype, "listRenderer", void 0);
|
|
111
107
|
__decorate([
|
|
112
108
|
MapToComponentField()
|
|
113
109
|
], VegaDropdownAppenderController.prototype, "searchRenderer", void 0);
|
|
@@ -6,6 +6,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { InjectVegaSlimmer, MapToComponentField, MapToComponentMethod, VegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
|
|
8
8
|
import { MutationObserverSlimmer } from '../../../../helpers/slimmers/mutation-observer/mutationObserverSlimmer';
|
|
9
|
+
import ChangeManager from '../../../../helpers/change-manager/changeManager';
|
|
10
|
+
import DomNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/domNodeSubjectFactory';
|
|
11
|
+
import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/eventID/vegaInternalEventId';
|
|
9
12
|
/**
|
|
10
13
|
* The controller for the table children components.
|
|
11
14
|
*/
|
|
@@ -63,7 +66,9 @@ export class VegaDropdownChildrenController extends VegaSlimmer {
|
|
|
63
66
|
* The function "watchSource" synchronizes the dropdown current data.
|
|
64
67
|
*/
|
|
65
68
|
watchSource() {
|
|
66
|
-
this.
|
|
69
|
+
if (this.renderModeController.isSourceRenderMode()) {
|
|
70
|
+
this.syncUpDropdownCurrentData();
|
|
71
|
+
}
|
|
67
72
|
}
|
|
68
73
|
/**
|
|
69
74
|
* The function checks if a given label exists in a label set.
|
|
@@ -93,6 +98,7 @@ export class VegaDropdownChildrenController extends VegaSlimmer {
|
|
|
93
98
|
}
|
|
94
99
|
else {
|
|
95
100
|
this.collectKeyAndLabelFromSlot();
|
|
101
|
+
this.notifyTemplateItemsChange();
|
|
96
102
|
}
|
|
97
103
|
}
|
|
98
104
|
/**
|
|
@@ -122,6 +128,13 @@ export class VegaDropdownChildrenController extends VegaSlimmer {
|
|
|
122
128
|
this.keySet.clear();
|
|
123
129
|
this.labelSet.clear();
|
|
124
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* The function `notifyTemplateItemsChange` notifies changes to dropdown items within a container element.
|
|
133
|
+
*/
|
|
134
|
+
notifyTemplateItemsChange() {
|
|
135
|
+
const container = this.renderer.getDropdownContentBoxRef() || this.host;
|
|
136
|
+
ChangeManager.notify(DomNodeSubjectFactory.getSubject(this.host, VegaInternalDropdownTemplateItemsChange), container.querySelectorAll('vega-dropdown-item'));
|
|
137
|
+
}
|
|
125
138
|
}
|
|
126
139
|
__decorate([
|
|
127
140
|
MapToComponentField()
|
|
@@ -0,0 +1,142 @@
|
|
|
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 { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { extractNumberFromString } from '../../../../utils/ui';
|
|
9
|
+
import { LogUtility } from '../../../../utils/log';
|
|
10
|
+
/**
|
|
11
|
+
* The `VegaDropdownScrollableController` class in TypeScript manages the behavior of a scrollable dropdown component,
|
|
12
|
+
* adjusting list container height and scrolling to specific indexes based on render mode and selected source key.
|
|
13
|
+
*/
|
|
14
|
+
export class VegaDropdownScrollableController extends VegaSlimmer {
|
|
15
|
+
/**
|
|
16
|
+
* The function `watchIsDropdownShow` adjusts the list container height and scrolls to a specific index
|
|
17
|
+
* if the dropdown is shown in a certain render mode.
|
|
18
|
+
*/
|
|
19
|
+
async watchIsDropdownShow() {
|
|
20
|
+
if (this.isDropdownShow) {
|
|
21
|
+
this.adjustListContainerMaxHeight();
|
|
22
|
+
await this.scrollToSelectedIndex();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The function scrollToSelected asynchronously scrolls to a selected index based on the render mode.
|
|
27
|
+
*/
|
|
28
|
+
async scrollToSelectedIndex() {
|
|
29
|
+
this.renderModeController.isSourceRenderMode()
|
|
30
|
+
? await this.scrollToVirtualIndex()
|
|
31
|
+
: this.scrollToTemplateIndex();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The function scrollToVirtualIndex asynchronously scrolls to a specific index in a virtual list based
|
|
35
|
+
* on the selected key.
|
|
36
|
+
*/
|
|
37
|
+
async scrollToVirtualIndex() {
|
|
38
|
+
const index = this.sourceForRender.findIndex((item) => item.key === this.getSelectedKey());
|
|
39
|
+
index >= 0 && (await this.listRenderer.getVirtualScrollRef().scrollToIndex(index));
|
|
40
|
+
}
|
|
41
|
+
/*
|
|
42
|
+
* The below method is e2e-test covered in
|
|
43
|
+
* @see{module:vega-dropdown-scroll-to-selected-key-in-single-template-e2e}
|
|
44
|
+
* @see{module:vega-dropdown-scroll-to-selected-key-in-multiple-template-e2e}
|
|
45
|
+
*/
|
|
46
|
+
/* istanbul ignore next */
|
|
47
|
+
/**
|
|
48
|
+
* The function scrollToTemplateIndex scrolls the dropdown content box to the selected item key.
|
|
49
|
+
*/
|
|
50
|
+
scrollToTemplateIndex() {
|
|
51
|
+
const scrolledKey = this.getSelectedKey();
|
|
52
|
+
if (scrolledKey) {
|
|
53
|
+
this.renderer
|
|
54
|
+
.getDropdownContentBoxRef()
|
|
55
|
+
.querySelector(`vega-dropdown-item[item-key='${scrolledKey}']`)
|
|
56
|
+
.scrollIntoView();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The function `getSelectedKey` returns the selected key based on the `selectType` condition.
|
|
61
|
+
*
|
|
62
|
+
* @returns {string} The `getSelectedKey` method returns a string value. If `this.selectType` is equal to
|
|
63
|
+
* 'multiple', it returns the first element of the `selectedSourceKey` array as a string. Otherwise, it
|
|
64
|
+
* returns the `selectedSourceKey` value as a string.
|
|
65
|
+
*/
|
|
66
|
+
getSelectedKey() {
|
|
67
|
+
return this.selectType === 'multiple'
|
|
68
|
+
? this.selectedSourceKey[0]
|
|
69
|
+
: this.selectedSourceKey;
|
|
70
|
+
}
|
|
71
|
+
/*
|
|
72
|
+
* The below method is e2e-test covered in
|
|
73
|
+
* @see{module:vega-dropdown-with-matchContainerHeight-e2e}
|
|
74
|
+
* @see{module:vega-dropdown-without-matchContainerHeight-e2e}
|
|
75
|
+
*/
|
|
76
|
+
/* istanbul ignore next */
|
|
77
|
+
/**
|
|
78
|
+
* we only calculate surplus space of bottom, we should calculate maxHeight more accurately here.
|
|
79
|
+
* such as minus the gap of dropdown, the dropdown padding top and bottom, the gap of bottom.
|
|
80
|
+
* if with searchable, we should minus the height of searchable.
|
|
81
|
+
* if the dropdown in the top of host, we should only minus top of distance from vega-dropdown to vega-dropdown-container.
|
|
82
|
+
*/
|
|
83
|
+
adjustListContainerMaxHeight() {
|
|
84
|
+
const dropdownRef = this.renderer.getDropdownContentBoxRef();
|
|
85
|
+
const dropdownMaxHeight = extractNumberFromString(dropdownRef.style.maxHeight);
|
|
86
|
+
const excludeTop = this.searchable ? 59 : 8;
|
|
87
|
+
const paddingSpace = dropdownRef.classList.contains('vega-placement-top') ? 0 : 8 + 8;
|
|
88
|
+
const height = dropdownMaxHeight - excludeTop - 8 - paddingSpace;
|
|
89
|
+
dropdownRef.style.maxHeight = 'unset';
|
|
90
|
+
if (height <= 40) {
|
|
91
|
+
this.setItemsContainerMaxHeight(40);
|
|
92
|
+
LogUtility.error("There have no space on the bottom to display dropdown, if you want to adjust position, you should make 'match-container-height' as false.");
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.setItemsContainerMaxHeight(height);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The function `setItemsContainerMaxHeight` adjusts the maximum height of the items container based on
|
|
100
|
+
* the render mode.
|
|
101
|
+
*
|
|
102
|
+
* @param {number} maxHeight - The `maxHeight` parameter is a number that represents the maximum height
|
|
103
|
+
* in pixels that the items container should have.
|
|
104
|
+
*/
|
|
105
|
+
setItemsContainerMaxHeight(maxHeight) {
|
|
106
|
+
if (this.renderModeController.isSourceRenderMode()) {
|
|
107
|
+
this.listRenderer.getVirtualScrollRef().viewportMaxHeight = maxHeight;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const templateContainerRef = this.listRenderer.getTemplateContainerRef();
|
|
111
|
+
templateContainerRef.style.overflowY = 'auto';
|
|
112
|
+
templateContainerRef.style.maxHeight = `${maxHeight}px`;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
__decorate([
|
|
117
|
+
MapToComponentField()
|
|
118
|
+
], VegaDropdownScrollableController.prototype, "isDropdownShow", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
MapToComponentField()
|
|
121
|
+
], VegaDropdownScrollableController.prototype, "renderModeController", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
MapToComponentField()
|
|
124
|
+
], VegaDropdownScrollableController.prototype, "sourceForRender", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
MapToComponentField()
|
|
127
|
+
], VegaDropdownScrollableController.prototype, "selectType", void 0);
|
|
128
|
+
__decorate([
|
|
129
|
+
MapToComponentField()
|
|
130
|
+
], VegaDropdownScrollableController.prototype, "selectedSourceKey", void 0);
|
|
131
|
+
__decorate([
|
|
132
|
+
MapToComponentField()
|
|
133
|
+
], VegaDropdownScrollableController.prototype, "searchable", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
MapToComponentField()
|
|
136
|
+
], VegaDropdownScrollableController.prototype, "listRenderer", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
MapToComponentField()
|
|
139
|
+
], VegaDropdownScrollableController.prototype, "renderer", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
MapToComponentMethod('watchIsDropdownShow')
|
|
142
|
+
], VegaDropdownScrollableController.prototype, "watchIsDropdownShow", null);
|
package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js
CHANGED
|
@@ -6,14 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { Fragment, h } from '@stencil/core';
|
|
8
8
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
-
import { extractNumberFromString } from '../../../../utils/ui';
|
|
10
|
-
import { LogUtility } from '../../../../utils/log';
|
|
11
9
|
export class VegaDropdownListRenderer extends VegaSlimmer {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(this.selectType === 'multiple' ? this.selectedSourceKey[0] : this.selectedSourceKey));
|
|
16
|
-
index >= 0 && (await this.virtualScrollRef.scrollToIndex(index));
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.defaultMaxHeightOfItemsContainer = 400;
|
|
17
13
|
}
|
|
18
14
|
/**
|
|
19
15
|
* The below method is e2e-test covered in
|
|
@@ -23,6 +19,9 @@ export class VegaDropdownListRenderer extends VegaSlimmer {
|
|
|
23
19
|
getVirtualScrollRef() {
|
|
24
20
|
return this.virtualScrollRef;
|
|
25
21
|
}
|
|
22
|
+
getTemplateContainerRef() {
|
|
23
|
+
return this.templateContainerRef;
|
|
24
|
+
}
|
|
26
25
|
renderBySource() {
|
|
27
26
|
return (h(Fragment, null,
|
|
28
27
|
this.renderLoading(),
|
|
@@ -57,64 +56,28 @@ export class VegaDropdownListRenderer extends VegaSlimmer {
|
|
|
57
56
|
return item['children']
|
|
58
57
|
? this.groupLevelRenderer.render(item, index, fixHeight)
|
|
59
58
|
: this.itemLevelRenderer.render(item, fixHeight);
|
|
60
|
-
}, viewportMaxHeight: this.
|
|
59
|
+
}, viewportMaxHeight: this.defaultMaxHeightOfItemsContainer, ref: (e) => (this.virtualScrollRef = e), isLoading: this.isLazyLoading }))));
|
|
61
60
|
}
|
|
62
61
|
renderDropdownListBySlot() {
|
|
63
62
|
return (h("ul", { role: "menu", "aria-label": "dropdown-ul", class: {
|
|
64
63
|
[`vega-dropdown-item-display-${this.itemDisplayRule}`]: true,
|
|
65
64
|
['v-hidden']: this.isLoading,
|
|
66
|
-
},
|
|
67
|
-
maxHeight: `${this.maxHeightOfItemsContainer}px`,
|
|
68
|
-
} },
|
|
65
|
+
}, ref: (ref) => (this.templateContainerRef = ref) },
|
|
69
66
|
h("slot", { name: "items" })));
|
|
70
67
|
}
|
|
71
|
-
/**
|
|
72
|
-
* we only calculate surplus space of bottom, we should calculate maxHeight more accurately here.
|
|
73
|
-
* such as minus the gap of dropdown, the dropdown padding top and bottom, the gap of bottom.
|
|
74
|
-
* if with searchable, we should minus the height of searchable.
|
|
75
|
-
* if the dropdown in the top of host, we should only minus top of distance from vega-dropdown to vega-dropdown-container.
|
|
76
|
-
* The below method is e2e-test covered in
|
|
77
|
-
* @see{module:vega-dropdown-with-matchContainerHeight-e2e}
|
|
78
|
-
* @see{module:vega-dropdown-without-matchContainerHeight-e2e}
|
|
79
|
-
*/
|
|
80
|
-
/* istanbul ignore next */
|
|
81
|
-
adjustListContainerMaxHeight() {
|
|
82
|
-
const dropdownRef = this.renderer.getDropdownContentBoxRef();
|
|
83
|
-
const dropdownMaxHeight = extractNumberFromString(dropdownRef.style.maxHeight);
|
|
84
|
-
const excludeTop = this.searchable ? 59 : 8;
|
|
85
|
-
const paddingSpace = dropdownRef.classList.contains('vega-placement-top') ? 0 : 8 + 8;
|
|
86
|
-
const height = dropdownMaxHeight - excludeTop - 8 - paddingSpace;
|
|
87
|
-
dropdownRef.style.maxHeight = 'unset';
|
|
88
|
-
if (height <= 40) {
|
|
89
|
-
this.maxHeightOfItemsContainer = 40;
|
|
90
|
-
LogUtility.error("There have no space on the bottom to display dropdown, if you want to adjust position, you should make 'match-container-height' as false.");
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
this.maxHeightOfItemsContainer = height;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
68
|
}
|
|
97
69
|
__decorate([
|
|
98
70
|
MapToComponentField()
|
|
99
|
-
], VegaDropdownListRenderer.prototype, "
|
|
100
|
-
__decorate([
|
|
101
|
-
MapToComponentField()
|
|
102
|
-
], VegaDropdownListRenderer.prototype, "searchString", void 0);
|
|
103
|
-
__decorate([
|
|
104
|
-
MapToComponentField()
|
|
105
|
-
], VegaDropdownListRenderer.prototype, "selectType", void 0);
|
|
71
|
+
], VegaDropdownListRenderer.prototype, "host", void 0);
|
|
106
72
|
__decorate([
|
|
107
73
|
MapToComponentField()
|
|
108
|
-
], VegaDropdownListRenderer.prototype, "
|
|
74
|
+
], VegaDropdownListRenderer.prototype, "isLoading", void 0);
|
|
109
75
|
__decorate([
|
|
110
76
|
MapToComponentField()
|
|
111
|
-
], VegaDropdownListRenderer.prototype, "
|
|
77
|
+
], VegaDropdownListRenderer.prototype, "searchString", void 0);
|
|
112
78
|
__decorate([
|
|
113
79
|
MapToComponentField()
|
|
114
80
|
], VegaDropdownListRenderer.prototype, "itemDisplayRule", void 0);
|
|
115
|
-
__decorate([
|
|
116
|
-
MapToComponentField({ writable: true })
|
|
117
|
-
], VegaDropdownListRenderer.prototype, "maxHeightOfItemsContainer", void 0);
|
|
118
81
|
__decorate([
|
|
119
82
|
MapToComponentField()
|
|
120
83
|
], VegaDropdownListRenderer.prototype, "sourceForRender", void 0);
|
|
@@ -126,7 +89,10 @@ __decorate([
|
|
|
126
89
|
], VegaDropdownListRenderer.prototype, "groupLevelRenderer", void 0);
|
|
127
90
|
__decorate([
|
|
128
91
|
MapToComponentField()
|
|
129
|
-
], VegaDropdownListRenderer.prototype, "
|
|
92
|
+
], VegaDropdownListRenderer.prototype, "isLazyLoading", void 0);
|
|
130
93
|
__decorate([
|
|
131
94
|
MapToComponentField()
|
|
132
|
-
], VegaDropdownListRenderer.prototype, "
|
|
95
|
+
], VegaDropdownListRenderer.prototype, "isDropdownShow", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
MapToComponentField()
|
|
98
|
+
], VegaDropdownListRenderer.prototype, "renderModeController", void 0);
|
package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js
CHANGED
|
@@ -47,8 +47,13 @@ export class VegaDropdownRenderer extends VegaSlimmer {
|
|
|
47
47
|
this.renderContentSlot(),
|
|
48
48
|
this.renderDropdown()));
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* TODO: We will use no-named slot for both template and source render mode. And will deprecate slot dropdown-content
|
|
52
|
+
*/
|
|
50
53
|
renderContentSlot() {
|
|
51
|
-
return this.renderModeController.isSourceRenderMode() ? h("slot", null) : h(
|
|
54
|
+
return this.renderModeController.isSourceRenderMode() ? (h("slot", null)) : (h(Fragment, null,
|
|
55
|
+
h("slot", { name: "dropdown-content" }),
|
|
56
|
+
h("slot", null)));
|
|
52
57
|
}
|
|
53
58
|
renderDropdown() {
|
|
54
59
|
const eventPreventFlag = this.host && this.host.dataset.vegaNoEventPrevent === 'true' ? 'true' : 'false';
|
|
@@ -43,16 +43,18 @@ export class VegaDropdownItemRenderer extends VegaSlimmer {
|
|
|
43
43
|
return this.prefixIcon && h("vega-icon", { icon: this.prefixIcon, size: "size-16" });
|
|
44
44
|
}
|
|
45
45
|
renderLabel() {
|
|
46
|
-
|
|
46
|
+
// We prioritize slots, and when both slots and labels are defined, we can collect label information for component display,
|
|
47
|
+
// such as input select selected item display
|
|
48
|
+
if (this.host.childElementCount > 0 || this.host.textContent.trim() !== '') {
|
|
49
|
+
return (h("span", { class: "vega-dropdown-item-label" },
|
|
50
|
+
h("slot", null)));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
47
53
|
return (h(Fragment, null,
|
|
48
54
|
h("span", { innerHTML: this.label, class: "vega-dropdown-item-label" }),
|
|
49
55
|
h("span", { class: "v-hidden" },
|
|
50
56
|
h("slot", null))));
|
|
51
57
|
}
|
|
52
|
-
else {
|
|
53
|
-
return (h("span", { class: "vega-dropdown-item-label" },
|
|
54
|
-
h("slot", null)));
|
|
55
|
-
}
|
|
56
58
|
}
|
|
57
59
|
renderCounter() {
|
|
58
60
|
return (this.count > 0 && (h("div", { class: "item-counter" },
|
|
@@ -27,6 +27,7 @@ import { ChildNodesNotifyObserverSlimmer, } from '../../helpers/event-manager/sl
|
|
|
27
27
|
import { DROPDOWN_ITEM_CLICK } from '../../helpers/change-manager/subject/static-subject/staticSubjectTitle';
|
|
28
28
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/componentUsageRuntimeMetrics';
|
|
29
29
|
import { VegaDropdownRuntimeMetricsPayloadDefinition } from '../../constants/runtime-metrics-payload-definition/vega-dropdown/runtime-metrics-payload-definition';
|
|
30
|
+
import { VegaDropdownScrollableController } from './slimmers/controllers/vega-dropdown-scrollable-controller';
|
|
30
31
|
export class VegaDropdown {
|
|
31
32
|
constructor() {
|
|
32
33
|
this.globalSlimmers = {};
|
|
@@ -47,6 +48,7 @@ export class VegaDropdown {
|
|
|
47
48
|
this.childrenController = new VegaDropdownChildrenController();
|
|
48
49
|
this.selectedController = new VegaDropdownSelectedController();
|
|
49
50
|
this.renderModeController = new VegaDropdownRenderModeController();
|
|
51
|
+
this.scrollableController = new VegaDropdownScrollableController();
|
|
50
52
|
this.selectTypeNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'selectType', 'watchSelectType');
|
|
51
53
|
this.selectedSourceKeyNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'selectedSourceKey', 'watchSelectedSourceKey');
|
|
52
54
|
this.prefixIconSlotNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'prefixIconSlot', 'watchPrefixIconSlot');
|
|
@@ -59,7 +61,6 @@ export class VegaDropdown {
|
|
|
59
61
|
this.itemDisplayRuleNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'itemDisplayRule', 'watchItemDisplayRule');
|
|
60
62
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaDropdownRuntimeMetricsPayloadDefinition);
|
|
61
63
|
this.searchString = null;
|
|
62
|
-
this.maxHeightOfItemsContainer = 400;
|
|
63
64
|
this.isDropdownShow = false;
|
|
64
65
|
/**
|
|
65
66
|
* Specifies the trigger mode for the dropdown.
|
|
@@ -693,7 +694,6 @@ export class VegaDropdown {
|
|
|
693
694
|
}; }
|
|
694
695
|
static get states() { return {
|
|
695
696
|
"searchString": {},
|
|
696
|
-
"maxHeightOfItemsContainer": {},
|
|
697
697
|
"isDropdownShow": {},
|
|
698
698
|
"sourceForRender": {}
|
|
699
699
|
}; }
|
|
@@ -1036,6 +1036,9 @@ __decorate([
|
|
|
1036
1036
|
__decorate([
|
|
1037
1037
|
InjectVegaSlimmer()
|
|
1038
1038
|
], VegaDropdown.prototype, "renderModeController", void 0);
|
|
1039
|
+
__decorate([
|
|
1040
|
+
InjectVegaSlimmer()
|
|
1041
|
+
], VegaDropdown.prototype, "scrollableController", void 0);
|
|
1039
1042
|
__decorate([
|
|
1040
1043
|
InjectVegaSlimmer()
|
|
1041
1044
|
], VegaDropdown.prototype, "selectTypeNotifySlimmer", void 0);
|
|
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
8
|
import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/domNodeSubjectObserverFactory';
|
|
9
9
|
import { VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownShow, } from '../../../../helpers/event-manager/eventID/vegaEventId';
|
|
10
|
+
import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/eventID/vegaInternalEventId';
|
|
10
11
|
/** The `VegaInputSelectDropdownController` class is a TypeScript React component that controls the behavior of a dropdown select input. */
|
|
11
12
|
export class VegaInputSelectDropdownController extends VegaSlimmer {
|
|
12
13
|
constructor() {
|
|
@@ -38,6 +39,22 @@ export class VegaInputSelectDropdownController extends VegaSlimmer {
|
|
|
38
39
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaDropdownSearch, (payload) => {
|
|
39
40
|
this.searchEventEmitter.emit(payload.detail);
|
|
40
41
|
});
|
|
42
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaInternalDropdownTemplateItemsChange,
|
|
43
|
+
/*
|
|
44
|
+
* The below method is e2e-test covered in
|
|
45
|
+
* @see{module:vega-input-select-template-single-select-e2e}
|
|
46
|
+
* @see{module:vega-input-select-template-multiple-select-e2e}
|
|
47
|
+
*/
|
|
48
|
+
/* istanbul ignore next */
|
|
49
|
+
(payload) => {
|
|
50
|
+
const addedItems = Array.from(payload)
|
|
51
|
+
.filter((item) => !this.source.find((sourceItem) => sourceItem.id === item.itemKey))
|
|
52
|
+
.map((item) => ({
|
|
53
|
+
id: item.itemKey,
|
|
54
|
+
displayName: item.label,
|
|
55
|
+
}));
|
|
56
|
+
this.sourceController.appendSourceItems(addedItems);
|
|
57
|
+
});
|
|
41
58
|
}
|
|
42
59
|
}
|
|
43
60
|
__decorate([
|
|
@@ -52,3 +69,9 @@ __decorate([
|
|
|
52
69
|
__decorate([
|
|
53
70
|
MapToComponentField()
|
|
54
71
|
], VegaInputSelectDropdownController.prototype, "vegaInputSelectValueController", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
MapToComponentField()
|
|
74
|
+
], VegaInputSelectDropdownController.prototype, "sourceController", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
MapToComponentField()
|
|
77
|
+
], VegaInputSelectDropdownController.prototype, "source", void 0);
|
|
@@ -0,0 +1,62 @@
|
|
|
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 { InjectVegaSlimmer, MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { MutationObserverSlimmer } from '../../../../helpers/slimmers/mutation-observer/mutationObserverSlimmer';
|
|
9
|
+
import { TagNameMutationFilter } from '../../../../helpers/slimmers/mutation-observer/mutationObserverFilters';
|
|
10
|
+
/**
|
|
11
|
+
* The class `VegaInputSelectItemsSlotController` extends `VegaSlimmer` and manages
|
|
12
|
+
* appending host items to a dropdown element.
|
|
13
|
+
*/
|
|
14
|
+
export class VegaInputSelectItemsSlotController extends VegaSlimmer {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.mutationObserver = new MutationObserverSlimmer({
|
|
18
|
+
mutationFilter: TagNameMutationFilter('VEGA-DROPDOWN-ITEM'),
|
|
19
|
+
options: {
|
|
20
|
+
childList: true,
|
|
21
|
+
subtree: true,
|
|
22
|
+
},
|
|
23
|
+
callback:
|
|
24
|
+
/*
|
|
25
|
+
* The below method is e2e-test covered in
|
|
26
|
+
* @see{module:vega-input-select-template-slot-change-e2e}
|
|
27
|
+
*/
|
|
28
|
+
/* istanbul ignore next */
|
|
29
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
30
|
+
() => this.appendHostItemsToDropdown(),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Component lifecycle - [componentDidLoad]
|
|
35
|
+
*/
|
|
36
|
+
componentDidLoad() {
|
|
37
|
+
this.appendHostItemsToDropdown();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The function appends host items to a dropdown element.
|
|
41
|
+
*/
|
|
42
|
+
appendHostItemsToDropdown() {
|
|
43
|
+
const items = this.host.querySelector('[slot=items]');
|
|
44
|
+
const itemsSlotRef = this.vegaInputSelectDropdownRenderer.getItemsSlotRef();
|
|
45
|
+
if (items && itemsSlotRef) {
|
|
46
|
+
itemsSlotRef.remove();
|
|
47
|
+
this.vegaInputSelectDropdownRenderer.getDropdownRef().append(items);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
__decorate([
|
|
52
|
+
InjectVegaSlimmer()
|
|
53
|
+
], VegaInputSelectItemsSlotController.prototype, "mutationObserver", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
MapToComponentField()
|
|
56
|
+
], VegaInputSelectItemsSlotController.prototype, "host", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
MapToComponentField()
|
|
59
|
+
], VegaInputSelectItemsSlotController.prototype, "vegaInputSelectDropdownRenderer", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
MapToComponentMethod('componentDidLoad')
|
|
62
|
+
], VegaInputSelectItemsSlotController.prototype, "componentDidLoad", null);
|
|
@@ -28,6 +28,17 @@ export class VegaInputSelectSourceController extends VegaSlimmer {
|
|
|
28
28
|
appendSourceItems(items) {
|
|
29
29
|
this.source = [...this.source, ...items];
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* This TypeScript function retrieves an item from a source array based on its ID.
|
|
33
|
+
*
|
|
34
|
+
* @param {SelectValueType<SelectType>} id - The `id` parameter in the `getItem` function is of type `SelectValueType<SelectType>`,
|
|
35
|
+
* which means it can accept a value that corresponds to the `SelectType` defined in the function.
|
|
36
|
+
* @returns { Nullable<SelectSourceItem>} The `getItem` function is returning a `SelectSourceItem` object that matches the provided
|
|
37
|
+
* `id`, or `null` if no matching item is found in the `source` array.
|
|
38
|
+
*/
|
|
39
|
+
getItem(id) {
|
|
40
|
+
return this.source.find((item) => item.id === id);
|
|
41
|
+
}
|
|
31
42
|
}
|
|
32
43
|
__decorate([
|
|
33
44
|
MapToComponentField({ writable: true })
|