@heartlandone/vega 2.64.0 → 2.65.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-a190cd2d.js → app-globals-681a0ed4.js} +9 -9
- package/dist/cjs/{brand-switch-state-controller-slimmer-5efa1b24.js → brand-switch-state-controller-slimmer-3d41b2a4.js} +1 -1
- package/dist/cjs/{child-nodes-event-prevent-slimmer-4e96270e.js → child-nodes-event-prevent-slimmer-feb072c4.js} +1 -1
- package/dist/cjs/{child-nodes-notify-observer-slimmer-34ac3bfc.js → child-nodes-notify-observer-slimmer-257fedb3.js} +1 -1
- package/dist/cjs/{code-block-417a131b.js → code-block-961d54e8.js} +4 -4
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-0c4d1453.js → component-value-history-controller-slimmer.abstract-c5b8b47b.js} +6 -6
- package/dist/cjs/{dark-mode-state-controller-slimmer-add5d8a8.js → dark-mode-state-controller-slimmer-8a87ec08.js} +1 -1
- package/dist/cjs/{dark-mode-style-controller-41c94aac.js → dark-mode-style-controller-27809ff8.js} +1 -1
- package/dist/cjs/{design-token-ae0de304.js → design-token-98652b67.js} +1 -1
- package/dist/cjs/{dom-node-subject-observer-factory-58e3c010.js → dom-node-subject-observer-factory-56609e5a.js} +1 -1
- package/dist/cjs/{dto-renderer-manager-6d338e46.js → dto-renderer-manager-4b9d2560.js} +4 -4
- package/dist/cjs/{element-appender-slimmer-5a23e722.js → element-appender-slimmer-1f46981b.js} +6 -6
- package/dist/cjs/{event-emit-slimmer-428d8802.js → event-emit-slimmer-3cefb326.js} +2 -2
- package/dist/cjs/{form-field-controller-slimmer-cceb5c79.js → form-field-controller-slimmer-1e1123ea.js} +16 -8
- package/dist/cjs/{image-annotation-action-9785bc59.js → image-annotation-action-03b36f68.js} +4 -4
- package/dist/cjs/{index-9a92abce.js → index-f2fe26a0.js} +2 -2
- package/dist/cjs/index.cjs.js +16 -16
- package/dist/cjs/{inject-keyboard-manager-ad865c95.js → inject-keyboard-manager-51033b3f.js} +1 -1
- package/dist/cjs/{internal-vega-event-manager-28b957c8.js → internal-vega-event-manager-9b503f1a.js} +1 -1
- package/dist/cjs/{keyboard-manager-7f4e1f43.js → keyboard-manager-144907d7.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-138a90e5.js → keyboard-manager-slimmer-04c48756.js} +1 -1
- package/dist/cjs/{language-extension-abbc251a.js → language-extension-059d62f6.js} +2 -2
- package/dist/cjs/loader.cjs.js +14 -14
- package/dist/cjs/{public-rules-ffc5db13.js → public-rules-58e0218b.js} +8 -8
- package/dist/cjs/{range-37161c00.js → range-42732973.js} +2 -2
- package/dist/cjs/{responsive-format-facade-b20dad44.js → responsive-format-facade-29070d00.js} +5 -5
- package/dist/cjs/{rich-text-editor-required-rule-604ea2b9.js → rich-text-editor-required-rule-ce4dd5fb.js} +1 -1
- package/dist/cjs/{static-subject-title-7e7d791a.js → static-subject-title-5829a298.js} +0 -6
- package/dist/cjs/{string-input-formatter-slimmer-8445abc9.js → string-input-formatter-slimmer-0d69ea76.js} +3 -3
- package/dist/cjs/{style-formatter-56751462.js → style-formatter-f6723cb3.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-52fa23af.js → sub-state-notify-slimmer-066f2aa9.js} +2 -2
- package/dist/cjs/{sub-state-observer-slimmer-90c26113.js → sub-state-observer-slimmer-569e3297.js} +3 -3
- package/dist/cjs/{token-extension-46821c19.js → token-extension-260adb8a.js} +6 -6
- package/dist/cjs/{translation-ecfc704a.js → translation-f5adcb9f.js} +1 -1
- package/dist/cjs/{translation-slimmer-40a3536d.js → translation-slimmer-4b6239d1.js} +1 -1
- package/dist/cjs/{ui-4ce1fa08.js → ui-9e181079.js} +16 -3
- package/dist/cjs/vega-accordion.cjs.entry.js +13 -13
- package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
- package/dist/cjs/vega-app-header-button.cjs.entry.js +14 -14
- package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/vega-banner.cjs.entry.js +4 -4
- package/dist/cjs/vega-box.cjs.entry.js +13 -13
- package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
- package/dist/cjs/vega-button-circle.cjs.entry.js +19 -16
- package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
- package/dist/cjs/vega-button.cjs.entry.js +19 -14
- package/dist/cjs/vega-calendar_4.cjs.entry.js +506 -212
- package/dist/cjs/vega-card.cjs.entry.js +12 -12
- package/dist/cjs/vega-carousel.cjs.entry.js +12 -12
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-chip.cjs.entry.js +14 -14
- package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
- package/dist/cjs/vega-color-picker.cjs.entry.js +9 -9
- package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +62 -25
- package/dist/cjs/vega-dialog_2.cjs.entry.js +15 -15
- package/dist/cjs/vega-divider.cjs.entry.js +12 -12
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +23 -22
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
- package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
- package/dist/cjs/vega-file-uploader.cjs.entry.js +10 -10
- package/dist/cjs/vega-flag-icon.cjs.entry.js +12 -12
- package/dist/cjs/vega-flex.cjs.entry.js +13 -13
- package/dist/cjs/vega-font.cjs.entry.js +12 -12
- package/dist/cjs/vega-form.cjs.entry.js +593 -354
- package/dist/cjs/vega-grid.cjs.entry.js +12 -12
- package/dist/cjs/vega-icon.cjs.entry.js +12 -12
- package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -17
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +14 -14
- package/dist/cjs/vega-input-range.cjs.entry.js +11 -11
- package/dist/cjs/vega-input-select.cjs.entry.js +16 -16
- package/dist/cjs/vega-input.cjs.entry.js +11 -11
- package/dist/cjs/{vega-internal-event-id-dfd8b802.js → vega-internal-event-id-6d4a2c53.js} +6 -0
- package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +44 -20
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +6 -6
- package/dist/cjs/vega-pagination.cjs.entry.js +14 -14
- package/dist/cjs/vega-popover_2.cjs.entry.js +16 -16
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +13 -13
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +10 -10
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +23 -23
- package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +16 -16
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +14 -14
- package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -16
- package/dist/cjs/vega-stepper.cjs.entry.js +10 -10
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-table_8.cjs.entry.js +16 -16
- package/dist/cjs/vega-text.cjs.entry.js +1 -1
- package/dist/cjs/vega-textarea.cjs.entry.js +10 -10
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +19 -19
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +9 -9
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +14 -14
- package/dist/cjs/vega.cjs.js +14 -14
- package/dist/collection/components/vega-button/vega-button.js +9 -2
- package/dist/collection/components/vega-button-circle/vega-button-circle.js +8 -3
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +7 -4
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +21 -1
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +18 -1
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +14 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.js +8 -9
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +3 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendar-event-repeat-pattern-factory.test.js +34 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.js +31 -5
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +4 -1
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +5 -3
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +4 -1
- package/dist/collection/components/vega-calendar/vega-calendar.js +47 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +37 -3
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +6 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +1 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +4 -8
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +4 -0
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-controller.js +351 -0
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-reset-controller.js +99 -0
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-submit-controller.js +122 -0
- package/dist/collection/components/vega-form/vega-form.js +20 -366
- package/dist/collection/components/vega-modal/vega-modal.css +4 -1
- package/dist/collection/components/vega-nav/slimmers/vega-nav-observer-slimmer.js +8 -3
- package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -4
- package/dist/collection/helpers/calendar/calendar-date.js +10 -8
- package/dist/collection/helpers/calendar/calendar-event.js +152 -16
- package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +13 -4
- package/dist/collection/helpers/calendar/calendar-period/day-period.js +4 -4
- package/dist/collection/helpers/calendar/calendar-period/month-period.js +7 -6
- package/dist/collection/helpers/calendar/calendar-period/week-period.js +3 -3
- package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +1 -1
- package/dist/collection/helpers/calendar/test/calendar-date.test.js +24 -0
- package/dist/collection/helpers/calendar/test/calendar-event.test.js +71 -0
- package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +28 -0
- package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +35 -0
- package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +43 -0
- package/dist/collection/helpers/calendar/test/utils.test.js +29 -1
- package/dist/collection/helpers/calendar/utils.js +46 -0
- package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +0 -2
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -0
- package/dist/collection/helpers/validator/form-field-controller.js +13 -3
- package/dist/collection/utils/test/ui.test.js +55 -0
- package/dist/collection/utils/ui.js +16 -3
- package/dist/esm/{app-globals-b074e012.js → app-globals-1bacb762.js} +9 -9
- package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-60249013.js} +1 -1
- package/dist/esm/{child-nodes-event-prevent-slimmer-7fe3dc57.js → child-nodes-event-prevent-slimmer-f32efdee.js} +1 -1
- package/dist/esm/{child-nodes-notify-observer-slimmer-78f77c2c.js → child-nodes-notify-observer-slimmer-b676cd2b.js} +1 -1
- package/dist/esm/{code-block-a6c78bbb.js → code-block-cb657afd.js} +4 -4
- package/dist/esm/{component-value-history-controller-slimmer.abstract-d37d2df7.js → component-value-history-controller-slimmer.abstract-65a83eaf.js} +6 -6
- package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-f2b4f8ed.js} +1 -1
- package/dist/esm/{dark-mode-style-controller-5cf1c482.js → dark-mode-style-controller-b7e85b6a.js} +1 -1
- package/dist/esm/{design-token-6f9e70c4.js → design-token-3889675a.js} +1 -1
- package/dist/esm/{dom-node-subject-observer-factory-c7bc3035.js → dom-node-subject-observer-factory-ed4b89f4.js} +1 -1
- package/dist/esm/{dto-renderer-manager-5b036e47.js → dto-renderer-manager-8cac8f0f.js} +4 -4
- package/dist/esm/{element-appender-slimmer-1d6c2960.js → element-appender-slimmer-31b21e1b.js} +6 -6
- package/dist/esm/{event-emit-slimmer-3922d816.js → event-emit-slimmer-000ca6a7.js} +2 -2
- package/dist/esm/{form-field-controller-slimmer-c29b345f.js → form-field-controller-slimmer-24dbc255.js} +16 -8
- package/dist/esm/{image-annotation-action-f6308cf4.js → image-annotation-action-59ea166c.js} +4 -4
- package/dist/esm/{index-4f26bbd0.js → index-50b32f3d.js} +2 -2
- package/dist/esm/index.js +16 -16
- package/dist/esm/{inject-keyboard-manager-109817bf.js → inject-keyboard-manager-f7d92809.js} +1 -1
- package/dist/esm/{internal-vega-event-manager-cb06e987.js → internal-vega-event-manager-13e3ed3d.js} +1 -1
- package/dist/esm/{keyboard-manager-ab521d22.js → keyboard-manager-f4bbc452.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-cae3a002.js → keyboard-manager-slimmer-a02cbc5f.js} +1 -1
- package/dist/esm/{language-extension-962c427a.js → language-extension-038014ac.js} +2 -2
- package/dist/esm/loader.js +14 -14
- package/dist/esm/{public-rules-6fa7533f.js → public-rules-a42e6f59.js} +8 -8
- package/dist/esm/{range-4d7aa0fd.js → range-c08d8de1.js} +2 -2
- package/dist/esm/{responsive-format-facade-b594fc72.js → responsive-format-facade-d8ccc742.js} +5 -5
- package/dist/esm/{rich-text-editor-required-rule-a72374cd.js → rich-text-editor-required-rule-3a8f319c.js} +1 -1
- package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-52f93124.js} +1 -4
- package/dist/esm/{string-input-formatter-slimmer-75256a17.js → string-input-formatter-slimmer-c64c7855.js} +3 -3
- package/dist/esm/{style-formatter-56074ede.js → style-formatter-ab6a9248.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-85c658b7.js → sub-state-notify-slimmer-8b3b15ee.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-e58a2485.js → sub-state-observer-slimmer-2b98e2c9.js} +3 -3
- package/dist/esm/{token-extension-3c198013.js → token-extension-f5bf06a5.js} +6 -6
- package/dist/esm/{translation-3d35961b.js → translation-f10b1e19.js} +1 -1
- package/dist/esm/{translation-slimmer-d5b0d292.js → translation-slimmer-984c9ce6.js} +1 -1
- package/dist/esm/{ui-c20be16d.js → ui-bb99c0c2.js} +16 -3
- package/dist/esm/vega-accordion.entry.js +13 -13
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +14 -14
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +4 -4
- package/dist/esm/vega-box.entry.js +13 -13
- package/dist/esm/vega-brand-logo.entry.js +3 -3
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +19 -16
- package/dist/esm/vega-button-group_2.entry.js +8 -8
- package/dist/esm/vega-button-link.entry.js +5 -5
- package/dist/esm/vega-button.entry.js +19 -14
- package/dist/esm/vega-calendar_4.entry.js +507 -213
- package/dist/esm/vega-card.entry.js +12 -12
- package/dist/esm/vega-carousel.entry.js +12 -12
- package/dist/esm/vega-checkbox_2.entry.js +11 -11
- package/dist/esm/vega-chip.entry.js +14 -14
- package/dist/esm/vega-code-block.entry.js +15 -15
- package/dist/esm/vega-color-picker.entry.js +9 -9
- package/dist/esm/vega-combo-box.entry.js +12 -12
- package/dist/esm/vega-date-picker_2.entry.js +62 -25
- package/dist/esm/vega-dialog_2.entry.js +15 -15
- package/dist/esm/vega-divider.entry.js +12 -12
- package/dist/esm/vega-dropdown_5.entry.js +23 -22
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-error.entry.js +1 -1
- package/dist/esm/vega-field-label.entry.js +4 -4
- package/dist/esm/vega-file-uploader.entry.js +10 -10
- package/dist/esm/vega-flag-icon.entry.js +12 -12
- package/dist/esm/vega-flex.entry.js +13 -13
- package/dist/esm/vega-font.entry.js +12 -12
- package/dist/esm/vega-form.entry.js +593 -354
- package/dist/esm/vega-grid.entry.js +12 -12
- package/dist/esm/vega-icon.entry.js +12 -12
- package/dist/esm/vega-image-uploader.entry.js +17 -17
- package/dist/esm/vega-input-credit-card.entry.js +10 -10
- package/dist/esm/vega-input-numeric.entry.js +13 -13
- package/dist/esm/vega-input-phone-number.entry.js +14 -14
- package/dist/esm/vega-input-range.entry.js +11 -11
- package/dist/esm/vega-input-select.entry.js +16 -16
- package/dist/esm/vega-input.entry.js +11 -11
- package/dist/esm/{vega-internal-event-id-bee7946b.js → vega-internal-event-id-5c3e5f7f.js} +4 -1
- package/dist/esm/vega-item-toggle.entry.js +4 -4
- package/dist/esm/vega-left-nav_5.entry.js +44 -20
- package/dist/esm/vega-loader-wrapper_2.entry.js +11 -11
- package/dist/esm/vega-page-notification_2.entry.js +2 -2
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
- package/dist/esm/vega-pagination.entry.js +14 -14
- package/dist/esm/vega-popover_2.entry.js +16 -16
- package/dist/esm/vega-progress-tracker.entry.js +4 -4
- package/dist/esm/vega-radio_2.entry.js +13 -13
- package/dist/esm/vega-rich-text-content.entry.js +10 -10
- package/dist/esm/vega-rich-text-editor_4.entry.js +23 -23
- package/dist/esm/vega-segment-control.entry.js +4 -4
- package/dist/esm/vega-selection-chip_2.entry.js +16 -16
- package/dist/esm/vega-selection-tile_2.entry.js +12 -12
- package/dist/esm/vega-sidenav_3.entry.js +14 -14
- package/dist/esm/vega-signature-capture.entry.js +16 -16
- package/dist/esm/vega-stepper.entry.js +10 -10
- package/dist/esm/vega-tab-group_2.entry.js +6 -6
- package/dist/esm/vega-table_8.entry.js +16 -16
- package/dist/esm/vega-text.entry.js +1 -1
- package/dist/esm/vega-textarea.entry.js +10 -10
- package/dist/esm/vega-time-picker_2.entry.js +19 -19
- package/dist/esm/vega-toggle-switch.entry.js +9 -9
- package/dist/esm/vega-tooltip_2.entry.js +14 -14
- package/dist/esm/vega.js +14 -14
- package/dist/sri/vega-sri-loader.js +147 -0
- package/dist/sri/vega-sri-manifest.json +698 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +6 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +5 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +6 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.d.ts +3 -1
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/types.d.ts +5 -0
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +17 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +13 -0
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +1 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -0
- package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-controller.d.ts +158 -0
- package/dist/types/components/vega-form/slimmers/controllers/vega-form-reset-controller.d.ts +43 -0
- package/dist/types/components/vega-form/slimmers/controllers/vega-form-submit-controller.d.ts +55 -0
- package/dist/types/components/vega-form/types.d.ts +13 -0
- package/dist/types/components/vega-form/vega-form.d.ts +6 -110
- package/dist/types/components/vega-nav/slimmers/vega-nav-observer-slimmer.d.ts +3 -0
- package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +8 -0
- package/dist/types/components.d.ts +12 -1
- package/dist/types/helpers/calendar/calendar-date.d.ts +5 -3
- package/dist/types/helpers/calendar/calendar-event.d.ts +50 -1
- package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +8 -1
- package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -1
- package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +4 -3
- package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -1
- package/dist/types/helpers/calendar/utils.d.ts +22 -0
- package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +0 -2
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
- package/dist/types/types/components.type.d.ts +0 -1
- package/dist/types/utils/ui.d.ts +5 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-4e503e23.entry.js → p-050bb2ad.entry.js} +1 -1
- package/dist/vega/{p-3cdbee7e.js → p-053eb64a.js} +1 -1
- package/dist/vega/{p-56b8ffd5.entry.js → p-0685cba6.entry.js} +1 -1
- package/dist/vega/{p-df31307b.entry.js → p-12d4488b.entry.js} +1 -1
- package/dist/vega/{p-119430db.entry.js → p-13c6a04c.entry.js} +1 -1
- package/dist/vega/{p-6c85c1f3.entry.js → p-185dfdd4.entry.js} +1 -1
- package/dist/vega/{p-a1cf29a9.js → p-199dc74b.js} +1 -1
- package/dist/vega/p-1bd5d806.entry.js +1 -0
- package/dist/vega/p-1eb5b772.entry.js +1 -0
- package/dist/vega/{p-21a480b0.entry.js → p-1f061725.entry.js} +1 -1
- package/dist/vega/{p-f81f2071.entry.js → p-1f43f551.entry.js} +1 -1
- package/dist/vega/{p-1da54ff3.js → p-2033f86e.js} +1 -1
- package/dist/vega/{p-37fd7a80.js → p-228de113.js} +1 -1
- package/dist/vega/{p-f1436035.js → p-24cb0a7e.js} +1 -1
- package/dist/vega/{p-55c26035.entry.js → p-299e14b4.entry.js} +1 -1
- package/dist/vega/{p-b9e8c6bf.entry.js → p-2d91799a.entry.js} +1 -1
- package/dist/vega/{p-ffc2ef90.entry.js → p-2f4f3744.entry.js} +1 -1
- package/dist/vega/{p-7c75ce6c.entry.js → p-303efbfe.entry.js} +1 -1
- package/dist/vega/p-308aa2e3.js +1 -0
- package/dist/vega/{p-e4b0606a.entry.js → p-33837794.entry.js} +1 -1
- package/dist/vega/{p-d20ab09f.entry.js → p-33c6fb3f.entry.js} +1 -1
- package/dist/vega/{p-459efe39.entry.js → p-3494a5f1.entry.js} +1 -1
- package/dist/vega/{p-06b624e6.js → p-378e5881.js} +1 -1
- package/dist/vega/{p-d3bf55e9.js → p-39482a1a.js} +1 -1
- package/dist/vega/{p-6163818f.js → p-39b4c838.js} +1 -1
- package/dist/vega/{p-7aae9252.entry.js → p-3b953a24.entry.js} +1 -1
- package/dist/vega/{p-2ee4def0.js → p-3c21b875.js} +1 -1
- package/dist/vega/p-43257678.js +1 -0
- package/dist/vega/{p-e27802fb.js → p-45ead9fe.js} +1 -1
- package/dist/vega/{p-bb58a7cf.entry.js → p-4897bedd.entry.js} +1 -1
- package/dist/vega/{p-8938b5c4.js → p-4c192985.js} +1 -1
- package/dist/vega/{p-d4564bfd.js → p-521d1d07.js} +1 -1
- package/dist/vega/{p-52b0abb5.entry.js → p-59d70a67.entry.js} +1 -1
- package/dist/vega/{p-92ec4fac.entry.js → p-5cdcd08f.entry.js} +1 -1
- package/dist/vega/{p-bf8d2978.entry.js → p-5d36cc3f.entry.js} +1 -1
- package/dist/vega/{p-61966868.entry.js → p-5e1c913d.entry.js} +1 -1
- package/dist/vega/{p-0b92b15b.entry.js → p-5e2ef0b8.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-f4877bee.entry.js → p-5f854901.entry.js} +1 -1
- package/dist/vega/p-5fec05a2.js +1 -0
- package/dist/vega/p-63596567.entry.js +1 -0
- package/dist/vega/{p-b3cd1992.entry.js → p-63a5bbf4.entry.js} +1 -1
- package/dist/vega/{p-3af81271.js → p-64c3d021.js} +1 -1
- package/dist/vega/p-651fe4fc.js +1 -0
- package/dist/vega/{p-db29b9f9.entry.js → p-671afda4.entry.js} +1 -1
- package/dist/vega/{p-32655cfc.entry.js → p-676bee73.entry.js} +1 -1
- package/dist/vega/{p-1d3a7be6.entry.js → p-6a4db686.entry.js} +1 -1
- package/dist/vega/{p-3176804b.entry.js → p-6ce1e9d4.entry.js} +1 -1
- package/dist/vega/{p-ae963cb3.entry.js → p-6d371296.entry.js} +1 -1
- package/dist/vega/{p-9819dda9.entry.js → p-6f96dd01.entry.js} +1 -1
- package/dist/vega/{p-684391a4.entry.js → p-719354e7.entry.js} +1 -1
- package/dist/vega/{p-e41931d4.entry.js → p-74e684fc.entry.js} +1 -1
- package/dist/vega/{p-eb5f99db.entry.js → p-78d607ca.entry.js} +1 -1
- package/dist/vega/{p-3709b0e0.js → p-7c594a9f.js} +1 -1
- package/dist/vega/p-7cd2b93b.js +1 -0
- package/dist/vega/{p-4b57bb12.entry.js → p-833d81d0.entry.js} +1 -1
- package/dist/vega/{p-1be68fba.js → p-840c09c7.js} +1 -1
- package/dist/vega/p-852fa2d2.entry.js +1 -0
- package/dist/vega/{p-fd2d02ea.entry.js → p-85ad1c21.entry.js} +1 -1
- package/dist/vega/{p-956a5899.entry.js → p-8a5c123f.entry.js} +1 -1
- package/dist/vega/{p-2044aa2c.js → p-901ff5d3.js} +1 -1
- package/dist/vega/{p-4faa7bab.entry.js → p-9439077d.entry.js} +1 -1
- package/dist/vega/{p-3354f5a7.js → p-99b1492c.js} +1 -1
- package/dist/vega/{p-4082fa22.entry.js → p-9d492a46.entry.js} +1 -1
- package/dist/vega/p-9e6db93d.entry.js +1 -0
- package/dist/vega/{p-1110b422.entry.js → p-a082d41b.entry.js} +1 -1
- package/dist/vega/{p-27dfa896.js → p-a4912b85.js} +1 -1
- package/dist/vega/p-a528714c.js +1 -0
- package/dist/vega/p-a5713178.js +1 -0
- package/dist/vega/{p-3a9aa6eb.entry.js → p-a6010b93.entry.js} +1 -1
- package/dist/vega/{p-3eaa6cce.entry.js → p-a61e2108.entry.js} +1 -1
- package/dist/vega/{p-e4acac0a.entry.js → p-a69c9e42.entry.js} +1 -1
- package/dist/vega/{p-a9e3058e.entry.js → p-ab3c4b43.entry.js} +1 -1
- package/dist/vega/{p-3a0b9e66.entry.js → p-ae598946.entry.js} +1 -1
- package/dist/vega/{p-743c5baf.js → p-b4c25109.js} +1 -1
- package/dist/vega/{p-2608b9fe.js → p-b510e4d7.js} +1 -1
- package/dist/vega/{p-4669ce11.entry.js → p-b68a13df.entry.js} +1 -1
- package/dist/vega/{p-159fda34.entry.js → p-ba24f7b9.entry.js} +1 -1
- package/dist/vega/p-bc9484a6.js +1 -0
- package/dist/vega/{p-3a455ac3.entry.js → p-c12000ee.entry.js} +1 -1
- package/dist/vega/{p-179693f1.entry.js → p-c1fa6088.entry.js} +2 -2
- package/dist/vega/{p-697acd40.js → p-c241f615.js} +1 -1
- package/dist/vega/{p-5443d614.entry.js → p-c682d53c.entry.js} +1 -1
- package/dist/vega/{p-0f2c83a1.entry.js → p-c8a3fb7f.entry.js} +1 -1
- package/dist/vega/{p-1655b920.entry.js → p-c96d28dc.entry.js} +1 -1
- package/dist/vega/p-cef9f638.js +1 -0
- package/dist/vega/{p-32058dbd.entry.js → p-cf211582.entry.js} +1 -1
- package/dist/vega/p-d3137a6e.entry.js +1 -0
- package/dist/vega/{p-641fbb48.entry.js → p-d418ecc1.entry.js} +1 -1
- package/dist/vega/{p-06e6be0e.js → p-d5d6dae6.js} +1 -1
- package/dist/vega/p-d5ff8b7f.js +1 -0
- package/dist/vega/p-d9671d27.js +1 -0
- package/dist/vega/{p-64e949fa.entry.js → p-dabba918.entry.js} +1 -1
- package/dist/vega/{p-c7f68d74.js → p-dc92fec6.js} +1 -1
- package/dist/vega/p-e853105a.entry.js +1 -0
- package/dist/vega/p-ebfc4323.entry.js +1 -0
- package/dist/vega/{p-04158119.entry.js → p-f83739d0.entry.js} +1 -1
- package/dist/vega/{p-15766433.entry.js → p-fbc85265.entry.js} +1 -1
- package/dist/vega/{p-4ae3eebf.entry.js → p-fbd38139.entry.js} +1 -1
- package/dist/vega/{p-a30ebdf5.js → p-fddca002.js} +1 -1
- package/dist/vega/{p-57c42c30.entry.js → p-fee972e6.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -2
- package/dist/vega/p-1aba48bc.js +0 -1
- package/dist/vega/p-1cb87bad.entry.js +0 -1
- package/dist/vega/p-3355ec0f.js +0 -1
- package/dist/vega/p-3674db0f.js +0 -1
- package/dist/vega/p-36f331bf.entry.js +0 -1
- package/dist/vega/p-465a6660.entry.js +0 -1
- package/dist/vega/p-575235c8.js +0 -1
- package/dist/vega/p-5773a9a3.js +0 -1
- package/dist/vega/p-6be16084.js +0 -1
- package/dist/vega/p-6ed663d5.entry.js +0 -1
- package/dist/vega/p-84eabbec.entry.js +0 -1
- package/dist/vega/p-904d1b43.js +0 -1
- package/dist/vega/p-96bda7ca.js +0 -1
- package/dist/vega/p-a3d77013.js +0 -1
- package/dist/vega/p-be539a54.js +0 -1
- package/dist/vega/p-c8789df1.entry.js +0 -1
- package/dist/vega/p-e6158a33.entry.js +0 -1
- package/dist/vega/p-ed0f000b.entry.js +0 -1
- package/dist/vega/p-f37558c1.js +0 -1
|
@@ -5,27 +5,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { Component, Host, h, Element, Method, Prop, Watch, Event } from '@stencil/core';
|
|
8
|
-
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
|
|
9
8
|
import ChangeManager from '../../helpers/change-manager/change-manager';
|
|
10
|
-
import {
|
|
11
|
-
import { FORM_FIELD_ELEMENT_DISCONNECTED, FORM_RESET_OPERATION_TRIGGERED, FORM_SUBMIT, FORM_RESET, FORM_FIELD_PENDING_VALID_CHANGE, FORM_ELEMENT_VALUE_CHANGE, FORM_ELEMENT_VALIDATE, } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
|
|
12
|
-
import { isObjectArrayLike } from '../../utils/array';
|
|
9
|
+
import { FORM_ELEMENT_VALIDATE } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
|
|
13
10
|
import { sanitizeVegaComponent } from '../../utils/component';
|
|
14
|
-
import { isElementVisible, findParent, isParent } from '../../utils/ui';
|
|
15
|
-
import { ImmutableMap } from '../../helpers/immutable/immutable-map';
|
|
16
11
|
import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
|
|
17
12
|
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
|
|
18
13
|
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
|
|
19
14
|
import { VegaFormReset, VegaFormSubmit, VegaValidate, } from '../../helpers/event-manager/event-id/vega-event-id';
|
|
20
|
-
import { ChildNodesNotifyObserverSlimmer, } from '../../helpers/event-manager/slimmers/child-nodes-notify-observer-slimmer';
|
|
21
|
-
import domNodeSubjectFactory from '../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
22
|
-
import { VegaInternalValid } from '../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
23
15
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
|
|
24
16
|
import { createSubStateNotifySlimmer } from '../../helpers/slimmers/sub-state/sub-state-notify-slimmer';
|
|
25
17
|
import { VegaFormNestStateController } from './slimmers/controllers/vega-form-nest-state-controller';
|
|
26
18
|
import { VegaFormFieldValidationStateController } from './slimmers/controllers/vega-form-field-validation-state-controller';
|
|
27
19
|
import { NativeFormRenderer } from './slimmers/renderers/native-form-renderer';
|
|
28
|
-
import {
|
|
20
|
+
import { VegaFormSubmitController } from './slimmers/controllers/vega-form-submit-controller';
|
|
21
|
+
import { VegaFormFieldController } from './slimmers/controllers/vega-form-field-controller';
|
|
22
|
+
import { VegaFormResetController } from './slimmers/controllers/vega-form-reset-controller';
|
|
29
23
|
/**
|
|
30
24
|
* @vegaVersion 1.3.0
|
|
31
25
|
*/
|
|
@@ -47,21 +41,12 @@ export class VegaForm {
|
|
|
47
41
|
e.stopPropagation();
|
|
48
42
|
},
|
|
49
43
|
});
|
|
50
|
-
this.childNotifyObserver = new ChildNodesNotifyObserverSlimmer(FORM_ELEMENT_VALIDATE, (input) => this.updateInternalValidStatus(input));
|
|
51
|
-
this.childNodeValueChangeObserver = new ChildNodesNotifyObserverSlimmer(FORM_ELEMENT_VALUE_CHANGE, () => this.updateInternalTouchedStatus());
|
|
52
44
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
53
45
|
this.vegaFormFieldValidationStateController = new VegaFormFieldValidationStateController();
|
|
54
46
|
this.nativeFormRenderer = new NativeFormRenderer();
|
|
55
|
-
this.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
});
|
|
59
|
-
// The form field element pending async valid map
|
|
60
|
-
this.pendingValidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
|
|
61
|
-
this.pendingValidFieldPathMap = newMap;
|
|
62
|
-
this.updateIsValidFlag();
|
|
63
|
-
});
|
|
64
|
-
this.controlledFieldPathSet = new Set();
|
|
47
|
+
this.vegaFormSubmitController = new VegaFormSubmitController();
|
|
48
|
+
this.vegaFormResetController = new VegaFormResetController();
|
|
49
|
+
this.vegaFormFieldController = new VegaFormFieldController();
|
|
65
50
|
/**
|
|
66
51
|
* Indicates whether the current form-controlled elements are valid.
|
|
67
52
|
*
|
|
@@ -98,6 +83,7 @@ export class VegaForm {
|
|
|
98
83
|
*
|
|
99
84
|
* @vegaVersion 1.3.0
|
|
100
85
|
*/
|
|
86
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
101
87
|
this.isTouched = false;
|
|
102
88
|
/**
|
|
103
89
|
* Specifies whether form validation should be disabled on blur events of form elements.
|
|
@@ -124,28 +110,6 @@ export class VegaForm {
|
|
|
124
110
|
* @vegaVersion 2.64.0
|
|
125
111
|
*/
|
|
126
112
|
this.method = 'get';
|
|
127
|
-
/**
|
|
128
|
-
* If the element is valid, remove it from the set of
|
|
129
|
-
* invalid elements. If the element is invalid,
|
|
130
|
-
* add it to the set of invalid elements.
|
|
131
|
-
*
|
|
132
|
-
* @param {NotifyObserverPayload<boolean>} payload - CustomEvent<boolean> the vegaValidate subject notify from child elements
|
|
133
|
-
*/
|
|
134
|
-
this.updateInternalValidStatus = (payload) => {
|
|
135
|
-
if (payload.host !== this.host) {
|
|
136
|
-
const target = payload.host;
|
|
137
|
-
const isElementValid = payload.detail;
|
|
138
|
-
if (FormFieldControllerSlimmer.isValidFormField(target) &&
|
|
139
|
-
this.shouldVisitElement(target, false, false)) {
|
|
140
|
-
if (isElementValid) {
|
|
141
|
-
this.invalidFieldPathMap.delete(target);
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
this.invalidFieldPathMap.set(target, target.dataset['vegaForm']);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
113
|
}
|
|
150
114
|
watchIsValid() {
|
|
151
115
|
this.validateEventEmitter.emit(this.isValid);
|
|
@@ -154,28 +118,6 @@ export class VegaForm {
|
|
|
154
118
|
watchDisableBlurValidation() {
|
|
155
119
|
methodPlaceholder();
|
|
156
120
|
}
|
|
157
|
-
/**
|
|
158
|
-
* When the vegaForm is deleted, it is necessary to notify
|
|
159
|
-
* the parent's vegaForm to update its isValid status.
|
|
160
|
-
*/
|
|
161
|
-
async disconnectedCallback() {
|
|
162
|
-
ChangeManager.notify(FORM_FIELD_ELEMENT_DISCONNECTED, {
|
|
163
|
-
host: this.host,
|
|
164
|
-
});
|
|
165
|
-
ChangeManager.unregister(FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
|
|
166
|
-
ChangeManager.unregister(FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
167
|
-
}
|
|
168
|
-
async componentDidLoad() {
|
|
169
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
170
|
-
if (!isForm) {
|
|
171
|
-
this.controlledFieldPathSet.add(this.getFormFieldName(element, true));
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
this.initFormFieldDisconnectedObserver();
|
|
175
|
-
this.registerFormSubmitChangeManager();
|
|
176
|
-
this.registerFormResetChangeManager();
|
|
177
|
-
this.registerFormFieldPendingValidChangeManager();
|
|
178
|
-
}
|
|
179
121
|
/**
|
|
180
122
|
* Invoke this method asynchronously to retrieve the validation result for
|
|
181
123
|
* all the vega field elements nested within the `vega-form`.
|
|
@@ -188,29 +130,7 @@ export class VegaForm {
|
|
|
188
130
|
* @vegaVersion 1.3.0
|
|
189
131
|
*/
|
|
190
132
|
async valid(showError = true) {
|
|
191
|
-
|
|
192
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
193
|
-
if (typeof element['valid'] === 'function' && isForm) {
|
|
194
|
-
const nestedFormValidationResult = await element.valid(showError);
|
|
195
|
-
if (!nestedFormValidationResult.isValid) {
|
|
196
|
-
result.isValid = false;
|
|
197
|
-
result.invalidFields.push(...nestedFormValidationResult.invalidFields);
|
|
198
|
-
result.invalidFieldsErrorMessages = Object.assign(Object.assign({}, result.invalidFieldsErrorMessages), nestedFormValidationResult.invalidFieldsErrorMessages);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
const { isValid, message } = await this.handleChildFormFieldElementValid(element, showError);
|
|
203
|
-
if (!isValid) {
|
|
204
|
-
result.isValid = false;
|
|
205
|
-
result.invalidFields.push(this.getFormFieldName(element));
|
|
206
|
-
if (!result.invalidFieldsErrorMessages) {
|
|
207
|
-
result.invalidFieldsErrorMessages = {};
|
|
208
|
-
}
|
|
209
|
-
result.invalidFieldsErrorMessages[this.getFormFieldName(element)] = message;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
return result;
|
|
133
|
+
return methodPlaceholder(showError);
|
|
214
134
|
}
|
|
215
135
|
/**
|
|
216
136
|
* Invoke this method asynchronously to retrieve the values for
|
|
@@ -221,17 +141,7 @@ export class VegaForm {
|
|
|
221
141
|
* @vegaVersion 1.3.0
|
|
222
142
|
*/
|
|
223
143
|
async getValue(option) {
|
|
224
|
-
|
|
225
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
226
|
-
const formFieldName = this.getFormFieldName(element);
|
|
227
|
-
if (isForm) {
|
|
228
|
-
result[formFieldName] = await element.getValue(option);
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
result[formFieldName] = VegaForm.getFormFieldValue(element);
|
|
232
|
-
}
|
|
233
|
-
}, option);
|
|
234
|
-
return (isObjectArrayLike(result) ? Object.values(result) : result);
|
|
144
|
+
return methodPlaceholder(option);
|
|
235
145
|
}
|
|
236
146
|
/**
|
|
237
147
|
* Invoke this method to prefill the `vega-form` with the given value.
|
|
@@ -243,24 +153,7 @@ export class VegaForm {
|
|
|
243
153
|
* @vegaVersion 1.3.0
|
|
244
154
|
*/
|
|
245
155
|
async setValue(value, option) {
|
|
246
|
-
|
|
247
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
248
|
-
const formFieldName = this.getFormFieldName(element);
|
|
249
|
-
if (isForm) {
|
|
250
|
-
await element.setValue(value[formFieldName], option);
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
await element.componentOnReady(); // Link issue https://gethired.atlassian.net/browse/GHUI-385
|
|
254
|
-
if (value[formFieldName] !== undefined) {
|
|
255
|
-
// If element have setValue method, we will directly call this method, otherwise we set the value to value property.
|
|
256
|
-
typeof element['setValue'] === 'function'
|
|
257
|
-
? await element['setValue'](value[formFieldName])
|
|
258
|
-
: (element['value'] = value[formFieldName]);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}, option);
|
|
262
|
-
this.isTouched = false;
|
|
263
|
-
}
|
|
156
|
+
methodPlaceholder(value, option);
|
|
264
157
|
}
|
|
265
158
|
/**
|
|
266
159
|
* Invoke this method to reset the vega field elements in the form to
|
|
@@ -273,18 +166,7 @@ export class VegaForm {
|
|
|
273
166
|
* @vegaVersion 1.3.0
|
|
274
167
|
*/
|
|
275
168
|
async reset(defaultValueMap = {}, option) {
|
|
276
|
-
|
|
277
|
-
const formFieldName = this.getFormFieldName(element);
|
|
278
|
-
if (isForm) {
|
|
279
|
-
await element.reset(defaultValueMap[formFieldName] || {}, option);
|
|
280
|
-
}
|
|
281
|
-
}, option);
|
|
282
|
-
ChangeManager.notify(FORM_RESET_OPERATION_TRIGGERED, {
|
|
283
|
-
host: this.host,
|
|
284
|
-
defaultValueMap,
|
|
285
|
-
option,
|
|
286
|
-
});
|
|
287
|
-
this.isTouched = false;
|
|
169
|
+
methodPlaceholder(defaultValueMap, option);
|
|
288
170
|
}
|
|
289
171
|
/**
|
|
290
172
|
* Invoke this method to set validation states on specific form fields.
|
|
@@ -296,209 +178,9 @@ export class VegaForm {
|
|
|
296
178
|
async setValidationStates(states) {
|
|
297
179
|
methodPlaceholder(states);
|
|
298
180
|
}
|
|
299
|
-
static getFormFieldValue(element) {
|
|
300
|
-
return typeof element['value'] === 'undefined'
|
|
301
|
-
? // use element.getAttribute since the value property is not available in unit testing
|
|
302
|
-
element.getAttribute('value')
|
|
303
|
-
: element['value'];
|
|
304
|
-
}
|
|
305
181
|
render() {
|
|
306
182
|
return sanitizeVegaComponent(h(Host, null, this.useNativeForm ? this.nativeFormRenderer.render() : h("slot", null)), this.host);
|
|
307
183
|
}
|
|
308
|
-
/**
|
|
309
|
-
* If the value of any child elements have changed,
|
|
310
|
-
* make 'isTouched' prop as false.
|
|
311
|
-
*/
|
|
312
|
-
updateInternalTouchedStatus() {
|
|
313
|
-
this.isTouched = true;
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Navigate the immediate child node under current vega form element with the following strategy
|
|
317
|
-
* - if a matched vega field element found, will pass it to the visitor method passed in
|
|
318
|
-
* - if a non-matched node found, it will call itself recursively and pass the node as the second parameter
|
|
319
|
-
* Once the navigation is finished, it will wait for all the pending visitor/self-invocation promise finished before return
|
|
320
|
-
*
|
|
321
|
-
* @param visitor async callback method that will be invoked if a matched vega field element found
|
|
322
|
-
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
323
|
-
* @param [startElementNode] element node that the navigation will be started from, default is the current host element
|
|
324
|
-
* @return {Promise<void>} return void wrapped with promise to notify the navigation is done
|
|
325
|
-
*/
|
|
326
|
-
async navigateVegaFormChildren(visitor, option, startElementNode = this.host) {
|
|
327
|
-
const promiseQueue = [];
|
|
328
|
-
Array.from(startElementNode.children).forEach((child) => {
|
|
329
|
-
if (FormFieldControllerSlimmer.isValidFormField(child)) {
|
|
330
|
-
if (this.shouldVisitElement(child, option === null || option === void 0 ? void 0 : option.skipDisabled, option === null || option === void 0 ? void 0 : option.skipInvisible)) {
|
|
331
|
-
promiseQueue.push(visitor(child, child.tagName === 'VEGA-FORM'));
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
promiseQueue.push(this.navigateVegaFormChildren(visitor, option, child));
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
await Promise.all(promiseQueue);
|
|
339
|
-
}
|
|
340
|
-
/**
|
|
341
|
-
* Update the {@link isValid} property value based on the size of {@link invalidFieldPathSet}
|
|
342
|
-
* If the number of invalid elements is zero, then the form is valid.
|
|
343
|
-
*/
|
|
344
|
-
updateIsValidFlag() {
|
|
345
|
-
this.isValid = this.pendingValidFieldPathMap.size > 0 ? null : this.invalidFieldPathMap.size === 0;
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* It returns the value of data-vega-form that the given element is associated with, if child HTMLElements share the same data-vega-form property name
|
|
349
|
-
* in the same vega-form, then includePath has to be set to be true to get a complete path to avoid the confusion of isValid checking.
|
|
350
|
-
*
|
|
351
|
-
* @param {HTMLElement} element - The element that is being validated.
|
|
352
|
-
* @param {boolean} [includePath] - If true, the field name will include the path to the field. For
|
|
353
|
-
* example, if the field is in a vega-form with the name "address", the field name will be "address ->
|
|
354
|
-
* street".
|
|
355
|
-
* @returns The name of the field.
|
|
356
|
-
*/
|
|
357
|
-
getFormFieldName(element, includePath) {
|
|
358
|
-
let fieldName = element.dataset['vegaForm'];
|
|
359
|
-
if (includePath) {
|
|
360
|
-
let currentVegaForm = findParent(element, 'vega-form');
|
|
361
|
-
/**
|
|
362
|
-
* The below method is e2e-test covered in
|
|
363
|
-
* @see {module:nested-vega-form-isValid-should-be-as-expected-when-value-changed}
|
|
364
|
-
*/
|
|
365
|
-
/* istanbul ignore next */
|
|
366
|
-
while (currentVegaForm && currentVegaForm !== this.host) {
|
|
367
|
-
fieldName = currentVegaForm.dataset['vegaForm'] + ' -> ' + fieldName;
|
|
368
|
-
currentVegaForm = findParent(currentVegaForm, 'vega-form');
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
return fieldName;
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Return true if the HTMLElement has data-vega-form property and it's not disabled and not invisible if these two properties have to be checked.
|
|
375
|
-
*
|
|
376
|
-
* @param {HTMLElement} element - The HTMLElement to check.
|
|
377
|
-
* @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
|
|
378
|
-
* @param {boolean} skipInvisible - If true, only visible elements will be visited.
|
|
379
|
-
* @returns a boolean value.
|
|
380
|
-
*/
|
|
381
|
-
shouldVisitElement(element, skipDisabled, skipInvisible) {
|
|
382
|
-
return (this.getFormFieldName(element) &&
|
|
383
|
-
(!skipDisabled || !element['disabled']) &&
|
|
384
|
-
(!skipInvisible || isElementVisible(element)));
|
|
385
|
-
}
|
|
386
|
-
/**
|
|
387
|
-
* This function registers an observer with the ChangeManager that will be notified when a element
|
|
388
|
-
* delete operation is triggered
|
|
389
|
-
*/
|
|
390
|
-
initFormFieldDisconnectedObserver() {
|
|
391
|
-
this.formFieldDisconnectedObserver = new Observer(this.canAcceptFormFieldDisconnectedOperation.bind(this), this.updateInvalidFieldPath.bind(this));
|
|
392
|
-
ChangeManager.register(FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
|
|
393
|
-
}
|
|
394
|
-
/**
|
|
395
|
-
* If the deleted element is a child or grandchild of current vegaForm, the isValid of all these vegaForms will be updated.
|
|
396
|
-
*
|
|
397
|
-
* @param {DisconnectedElementOperationPayload} payload - the delete element and vegaForm array.
|
|
398
|
-
* @returns {boolean} A boolean value.
|
|
399
|
-
*/
|
|
400
|
-
canAcceptFormFieldDisconnectedOperation(payload) {
|
|
401
|
-
return this.invalidFieldPathMap.has(payload.host);
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Get the fieldName of the deleted element in the current vegaForm, delete it from the invalidFieldPathSet array, and update isValid at the same time.
|
|
405
|
-
*/
|
|
406
|
-
async updateInvalidFieldPath(payload) {
|
|
407
|
-
this.invalidFieldPathMap.delete(payload.host);
|
|
408
|
-
this.pendingValidFieldPathMap.delete(payload.host);
|
|
409
|
-
}
|
|
410
|
-
registerFormSubmitChangeManager() {
|
|
411
|
-
this.formEventsObserver = new Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
|
|
412
|
-
ChangeManager.register(FORM_SUBMIT, this.formEventsObserver);
|
|
413
|
-
}
|
|
414
|
-
/**
|
|
415
|
-
* The below method is e2e-test covered in
|
|
416
|
-
* @see{module:vega-form-field-enter-to-submit-e2e}
|
|
417
|
-
*/
|
|
418
|
-
/* istanbul ignore next */
|
|
419
|
-
canAcceptFormSubmitEvent(payload) {
|
|
420
|
-
return this.isElementInCurrentForm(payload.host);
|
|
421
|
-
}
|
|
422
|
-
async handleSubmitEvents() {
|
|
423
|
-
const valid = await this.valid();
|
|
424
|
-
if (valid.isValid) {
|
|
425
|
-
const formValue = await this.getValue();
|
|
426
|
-
const submitEvent = this.submitEventEmitter.emit(formValue);
|
|
427
|
-
if (!submitEvent.defaultPrevented) {
|
|
428
|
-
await this.submitWithFormData();
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
/**
|
|
433
|
-
* Submits the form using native HTML form submission with all current field values.
|
|
434
|
-
*
|
|
435
|
-
* This method collects all form field values, creates hidden input elements for each field,
|
|
436
|
-
* appends them to a container inside the native form, and then triggers the native
|
|
437
|
-
* `requestSubmit()` method to submit the form.
|
|
438
|
-
*
|
|
439
|
-
* The method ensures that the form data is available in the native form for submission,
|
|
440
|
-
* which is useful when `useNativeForm` is enabled.
|
|
441
|
-
*
|
|
442
|
-
* @returns {Promise<void>} Resolves when the form submission process is complete.
|
|
443
|
-
*/
|
|
444
|
-
async submitWithFormData() {
|
|
445
|
-
if (!this.useNativeForm)
|
|
446
|
-
return;
|
|
447
|
-
const data = await this.getValue();
|
|
448
|
-
for (const dataKey in data) {
|
|
449
|
-
const hiddenInput = tryGetDocument().createElement('input');
|
|
450
|
-
hiddenInput.type = 'hidden';
|
|
451
|
-
hiddenInput.name = dataKey;
|
|
452
|
-
hiddenInput.value = data[dataKey];
|
|
453
|
-
this.nativeFormRenderer.getNativeFormRef().append(hiddenInput);
|
|
454
|
-
}
|
|
455
|
-
this.nativeFormRenderer.getNativeFormRef().requestSubmit();
|
|
456
|
-
}
|
|
457
|
-
registerFormResetChangeManager() {
|
|
458
|
-
this.formEventsObserver = new Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
|
|
459
|
-
ChangeManager.register(FORM_RESET, this.formEventsObserver);
|
|
460
|
-
}
|
|
461
|
-
canAcceptFormResetEvent(payload) {
|
|
462
|
-
return this.isElementInCurrentForm(payload.host);
|
|
463
|
-
}
|
|
464
|
-
async handleResetEvents() {
|
|
465
|
-
await this.reset();
|
|
466
|
-
this.resetEventEmitter.emit();
|
|
467
|
-
}
|
|
468
|
-
registerFormFieldPendingValidChangeManager() {
|
|
469
|
-
this.formFieldPendingValidObserver = new Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
|
|
470
|
-
ChangeManager.register(FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
471
|
-
}
|
|
472
|
-
canAcceptFormFieldPendingValid(payload) {
|
|
473
|
-
return this.isElementInCurrentForm(payload.host);
|
|
474
|
-
}
|
|
475
|
-
handleFieldPendingValid(payload) {
|
|
476
|
-
if (typeof payload.detail === 'boolean') {
|
|
477
|
-
this.pendingValidFieldPathMap.delete(payload.host);
|
|
478
|
-
}
|
|
479
|
-
else {
|
|
480
|
-
this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
isElementInCurrentForm(element) {
|
|
484
|
-
return this.invalidFieldPathMap.has(element) || isParent(element, this.host);
|
|
485
|
-
}
|
|
486
|
-
async handleChildFormFieldElementValid(element, showError) {
|
|
487
|
-
const subject = domNodeSubjectFactory.getSubject(element, VegaInternalValid);
|
|
488
|
-
const { isValid, message } = await new Promise((resolve) => {
|
|
489
|
-
//This setTimeout method here to avoid the dom node subject observer not existing and blocks the promise status
|
|
490
|
-
const timerId = setTimeout(() => {
|
|
491
|
-
resolve({ isValid: true, message: '' });
|
|
492
|
-
}, 2000);
|
|
493
|
-
ChangeManager.notify(subject, {
|
|
494
|
-
host: element,
|
|
495
|
-
message: showError,
|
|
496
|
-
promiseResolve: resolve,
|
|
497
|
-
timerId,
|
|
498
|
-
});
|
|
499
|
-
});
|
|
500
|
-
return { isValid, message };
|
|
501
|
-
}
|
|
502
184
|
static get is() { return "vega-form"; }
|
|
503
185
|
static get encapsulation() { return "shadow"; }
|
|
504
186
|
static get originalStyleUrls() { return {
|
|
@@ -770,16 +452,6 @@ export class VegaForm {
|
|
|
770
452
|
"FormValidateResult": {
|
|
771
453
|
"location": "import",
|
|
772
454
|
"path": "./types"
|
|
773
|
-
},
|
|
774
|
-
"HTMLElement": {
|
|
775
|
-
"location": "global"
|
|
776
|
-
},
|
|
777
|
-
"HTMLVegaFormElement": {
|
|
778
|
-
"location": "global"
|
|
779
|
-
},
|
|
780
|
-
"EvaluateResultBase": {
|
|
781
|
-
"location": "import",
|
|
782
|
-
"path": "../../helpers/validator/rules/validation-rule"
|
|
783
455
|
}
|
|
784
456
|
},
|
|
785
457
|
"return": "Promise<FormValidateResult>"
|
|
@@ -818,15 +490,6 @@ export class VegaForm {
|
|
|
818
490
|
"FormControlOption": {
|
|
819
491
|
"location": "import",
|
|
820
492
|
"path": "./types"
|
|
821
|
-
},
|
|
822
|
-
"Record": {
|
|
823
|
-
"location": "global"
|
|
824
|
-
},
|
|
825
|
-
"HTMLElement": {
|
|
826
|
-
"location": "global"
|
|
827
|
-
},
|
|
828
|
-
"HTMLVegaFormElement": {
|
|
829
|
-
"location": "global"
|
|
830
493
|
}
|
|
831
494
|
},
|
|
832
495
|
"return": "Promise<T>"
|
|
@@ -871,12 +534,6 @@ export class VegaForm {
|
|
|
871
534
|
"FormControlOption": {
|
|
872
535
|
"location": "import",
|
|
873
536
|
"path": "./types"
|
|
874
|
-
},
|
|
875
|
-
"HTMLElement": {
|
|
876
|
-
"location": "global"
|
|
877
|
-
},
|
|
878
|
-
"HTMLVegaFormElement": {
|
|
879
|
-
"location": "global"
|
|
880
537
|
}
|
|
881
538
|
},
|
|
882
539
|
"return": "Promise<void>"
|
|
@@ -918,12 +575,6 @@ export class VegaForm {
|
|
|
918
575
|
"FormControlOption": {
|
|
919
576
|
"location": "import",
|
|
920
577
|
"path": "./types"
|
|
921
|
-
},
|
|
922
|
-
"HTMLElement": {
|
|
923
|
-
"location": "global"
|
|
924
|
-
},
|
|
925
|
-
"HTMLVegaFormElement": {
|
|
926
|
-
"location": "global"
|
|
927
578
|
}
|
|
928
579
|
},
|
|
929
580
|
"return": "Promise<void>"
|
|
@@ -1010,16 +661,19 @@ __decorate([
|
|
|
1010
661
|
], VegaForm.prototype, "childFormValidateEventPrevent", void 0);
|
|
1011
662
|
__decorate([
|
|
1012
663
|
InjectVegaSlimmer()
|
|
1013
|
-
], VegaForm.prototype, "
|
|
664
|
+
], VegaForm.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
665
|
+
__decorate([
|
|
666
|
+
InjectVegaSlimmer()
|
|
667
|
+
], VegaForm.prototype, "vegaFormFieldValidationStateController", void 0);
|
|
1014
668
|
__decorate([
|
|
1015
669
|
InjectVegaSlimmer()
|
|
1016
|
-
], VegaForm.prototype, "
|
|
670
|
+
], VegaForm.prototype, "nativeFormRenderer", void 0);
|
|
1017
671
|
__decorate([
|
|
1018
672
|
InjectVegaSlimmer()
|
|
1019
|
-
], VegaForm.prototype, "
|
|
673
|
+
], VegaForm.prototype, "vegaFormSubmitController", void 0);
|
|
1020
674
|
__decorate([
|
|
1021
675
|
InjectVegaSlimmer()
|
|
1022
|
-
], VegaForm.prototype, "
|
|
676
|
+
], VegaForm.prototype, "vegaFormResetController", void 0);
|
|
1023
677
|
__decorate([
|
|
1024
678
|
InjectVegaSlimmer()
|
|
1025
|
-
], VegaForm.prototype, "
|
|
679
|
+
], VegaForm.prototype, "vegaFormFieldController", void 0);
|
|
@@ -2565,7 +2565,7 @@
|
|
|
2565
2565
|
|
|
2566
2566
|
.vega-modal-header {
|
|
2567
2567
|
display: flex;
|
|
2568
|
-
align-items:
|
|
2568
|
+
align-items: center;
|
|
2569
2569
|
flex-direction: row;
|
|
2570
2570
|
gap: 8px;
|
|
2571
2571
|
padding-bottom: 0px;
|
|
@@ -2627,6 +2627,9 @@
|
|
|
2627
2627
|
.vega-modal-close-btn {
|
|
2628
2628
|
cursor: pointer;
|
|
2629
2629
|
}
|
|
2630
|
+
.vega-modal-close-btn vega-icon {
|
|
2631
|
+
display: block;
|
|
2632
|
+
}
|
|
2630
2633
|
|
|
2631
2634
|
.vega-modal-content {
|
|
2632
2635
|
padding-top: 0px;
|
|
@@ -5,7 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { VegaSlimmer, MapToComponentMethod } from 'vega-slimmer/core';
|
|
8
|
-
import { LEFT_NAV_LINK_SELECTED_TOPIC } from '../../../helpers/change-manager/subject/static-subject/static-subject-title';
|
|
9
8
|
import { Observer } from '../../../helpers/change-manager/observer/observer';
|
|
10
9
|
import ChangeManager from '../../../helpers/change-manager/change-manager';
|
|
11
10
|
import { findParent } from '../../../utils/ui';
|
|
@@ -23,14 +22,20 @@ export class VegaNavObserverSlimmer extends VegaSlimmer {
|
|
|
23
22
|
* Unregister the observer with subject of LEFT_NAV_LINK_SELECTED_TOPIC.
|
|
24
23
|
*/
|
|
25
24
|
disconnectedCallback() {
|
|
26
|
-
|
|
25
|
+
const subject = this.getObserverSubject();
|
|
26
|
+
if (subject) {
|
|
27
|
+
ChangeManager.unregister(subject, this.observer);
|
|
28
|
+
}
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* The function creates an observer to observe the subject of LEFT_NAV_LINK_SELECTED_TOPIC.
|
|
30
32
|
*/
|
|
31
33
|
componentWillLoad() {
|
|
32
34
|
this.observer = new Observer(this.isAcceptableNavListObserver.bind(this), this.observerListener.bind(this));
|
|
33
|
-
|
|
35
|
+
const subject = this.getObserverSubject();
|
|
36
|
+
if (subject) {
|
|
37
|
+
ChangeManager.register(subject, this.observer);
|
|
38
|
+
}
|
|
34
39
|
}
|
|
35
40
|
/**
|
|
36
41
|
* The function checks if the input is an HTMLElement and if it has the same parent element with the host element.
|
|
@@ -5,11 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
|
|
8
|
-
import { LEFT_NAV_LINK_SELECTED_TOPIC } from '../../../../../helpers/change-manager/subject/static-subject/static-subject-title';
|
|
9
8
|
import ChangeManager from '../../../../../helpers/change-manager/change-manager';
|
|
10
9
|
import { VegaNavObserverSlimmer } from '../../../slimmers/vega-nav-observer-slimmer';
|
|
11
10
|
import domNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
12
|
-
import { VegaInternalInitializeLeftNavLinkSelected } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
11
|
+
import { VegaInternalInitializeLeftNavLinkSelected, VegaInternalLeftNavLinkSelectedTopic, } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
13
12
|
export class VegaLeftNavLinkController extends VegaNavObserverSlimmer {
|
|
14
13
|
/**
|
|
15
14
|
* When selected is true during initialization, the VegaInternalInitializeLeftNavLinkSelected observer needs to be notified
|
|
@@ -26,7 +25,10 @@ export class VegaLeftNavLinkController extends VegaNavObserverSlimmer {
|
|
|
26
25
|
}
|
|
27
26
|
componentDidRender() {
|
|
28
27
|
if (this.selected) {
|
|
29
|
-
|
|
28
|
+
const subject = this.getObserverSubject();
|
|
29
|
+
if (subject) {
|
|
30
|
+
ChangeManager.notify(subject, this.host);
|
|
31
|
+
}
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
@@ -35,7 +37,9 @@ export class VegaLeftNavLinkController extends VegaNavObserverSlimmer {
|
|
|
35
37
|
*/
|
|
36
38
|
/* istanbul ignore next */
|
|
37
39
|
setSelected(selected) {
|
|
38
|
-
this.
|
|
40
|
+
if (!this.customSelectionEnabled) {
|
|
41
|
+
this.selected = selected;
|
|
42
|
+
}
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
45
|
* The below method is e2e-test covered in
|
|
@@ -47,6 +51,16 @@ export class VegaLeftNavLinkController extends VegaNavObserverSlimmer {
|
|
|
47
51
|
this.setSelected(false);
|
|
48
52
|
}
|
|
49
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Returns the dom node subject for selection observer registration.
|
|
56
|
+
* The subject is scoped to the top parent nav container for this link.
|
|
57
|
+
*/
|
|
58
|
+
getObserverSubject() {
|
|
59
|
+
const topParent = this.vegaLeftNavHierarchyController.getTopParent();
|
|
60
|
+
return topParent
|
|
61
|
+
? domNodeSubjectFactory.getSubject(topParent, VegaInternalLeftNavLinkSelectedTopic)
|
|
62
|
+
: null;
|
|
63
|
+
}
|
|
50
64
|
}
|
|
51
65
|
__decorate([
|
|
52
66
|
MapToComponentField()
|
|
@@ -54,6 +68,9 @@ __decorate([
|
|
|
54
68
|
__decorate([
|
|
55
69
|
MapToComponentField({ writable: true })
|
|
56
70
|
], VegaLeftNavLinkController.prototype, "selected", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
MapToComponentField()
|
|
73
|
+
], VegaLeftNavLinkController.prototype, "customSelectionEnabled", void 0);
|
|
57
74
|
__decorate([
|
|
58
75
|
MapToComponentField()
|
|
59
76
|
], VegaLeftNavLinkController.prototype, "vegaLeftNavHierarchyController", void 0);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { VegaInternalTranslation } from '../translation';
|
|
2
|
+
import { getCurrentDatePartsInTimezone, getSystemTimezone } from './utils';
|
|
2
3
|
/**
|
|
3
4
|
* Calendar date class
|
|
4
5
|
*/
|
|
@@ -11,11 +12,13 @@ export class CalendarDate {
|
|
|
11
12
|
/**
|
|
12
13
|
* Create a calendar date from a Date object
|
|
13
14
|
*
|
|
14
|
-
* @param {Date}
|
|
15
|
+
* @param {Date} currentDate - The Date object to create CalendarDate from
|
|
16
|
+
* @param {string} timezone - Timezone identifier for timezone-aware date creation. If not provided, uses system timezone.
|
|
15
17
|
* @returns {CalendarDate} - Return a CalendarDate object
|
|
16
18
|
*/
|
|
17
|
-
static from(
|
|
18
|
-
|
|
19
|
+
static from(currentDate, timezone = getSystemTimezone()) {
|
|
20
|
+
const { year, month, date } = getCurrentDatePartsInTimezone(timezone, currentDate);
|
|
21
|
+
return new CalendarDate(year, month, date);
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
24
|
* The year of the calendar date
|
|
@@ -53,13 +56,12 @@ export class CalendarDate {
|
|
|
53
56
|
/**
|
|
54
57
|
* Verify whether the calendar date is today
|
|
55
58
|
*
|
|
59
|
+
* @param {string} timezone - Timezone to consider when checking today's date. If not provided, uses system timezone.
|
|
56
60
|
* @returns {boolean} - Return true if the calendar date is today. Otherwise, return false.
|
|
57
61
|
*/
|
|
58
|
-
isToday() {
|
|
59
|
-
const
|
|
60
|
-
return
|
|
61
|
-
today.getMonth() + 1 === this.month &&
|
|
62
|
-
today.getDate() === this.date);
|
|
62
|
+
isToday(timezone = getSystemTimezone()) {
|
|
63
|
+
const { year, month, date } = getCurrentDatePartsInTimezone(timezone, new Date());
|
|
64
|
+
return year === this.year && month === this.month && date === this.date;
|
|
63
65
|
}
|
|
64
66
|
/**
|
|
65
67
|
* Convert the calendar date to a Date object
|