@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
|
@@ -3,28 +3,34 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-58ea899e.js');
|
|
6
|
-
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-cceb5c79.js');
|
|
7
6
|
const changeManager = require('./change-manager-a297e4d2.js');
|
|
8
|
-
const
|
|
9
|
-
const staticSubjectTitle = require('./static-subject-title-7e7d791a.js');
|
|
10
|
-
const array = require('./array-249289f2.js');
|
|
7
|
+
const staticSubjectTitle = require('./static-subject-title-5829a298.js');
|
|
11
8
|
const component = require('./component-1e352960.js');
|
|
12
|
-
const ui = require('./ui-4ce1fa08.js');
|
|
13
|
-
const immutableMap = require('./immutable-map-edf24b54.js');
|
|
14
9
|
const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
|
|
10
|
+
const placeholder = require('./placeholder-cb6d37ad.js');
|
|
15
11
|
const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-d10ace87.js');
|
|
16
|
-
const eventEmitSlimmer = require('./event-emit-slimmer-
|
|
17
|
-
const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-
|
|
18
|
-
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const subStateObserverSlimmer = require('./sub-state-observer-slimmer-90c26113.js');
|
|
12
|
+
const eventEmitSlimmer = require('./event-emit-slimmer-3cefb326.js');
|
|
13
|
+
const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-feb072c4.js');
|
|
14
|
+
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-56609e5a.js');
|
|
15
|
+
const subStateNotifySlimmer = require('./sub-state-notify-slimmer-066f2aa9.js');
|
|
16
|
+
const subStateObserverSlimmer = require('./sub-state-observer-slimmer-569e3297.js');
|
|
17
|
+
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-1e1123ea.js');
|
|
23
18
|
const tryGetDocument = require('./try-get-document-c0ebd39a.js');
|
|
19
|
+
const vegaInternalEventId = require('./vega-internal-event-id-6d4a2c53.js');
|
|
20
|
+
const observer = require('./observer-f49483e8.js');
|
|
21
|
+
const ui = require('./ui-9e181079.js');
|
|
22
|
+
const immutableMap = require('./immutable-map-edf24b54.js');
|
|
23
|
+
const childNodesNotifyObserverSlimmer = require('./child-nodes-notify-observer-slimmer-257fedb3.js');
|
|
24
|
+
const array = require('./array-249289f2.js');
|
|
25
|
+
require('./dynamic-slimmer-f31fdfd7.js');
|
|
26
|
+
require('./internal-vega-event-manager-9b503f1a.js');
|
|
27
|
+
require('./vega-env-manager-23b8b23c.js');
|
|
28
|
+
require('./feature-flag-controller-ce2162c8.js');
|
|
29
|
+
require('./index-4d7bce1a.js');
|
|
30
|
+
require('./_commonjsHelpers-537d719a.js');
|
|
24
31
|
require('./string-39438062.js');
|
|
25
32
|
require('./create-public-api-runtime-metrics-slimmer-e2e274e1.js');
|
|
26
|
-
require('./
|
|
27
|
-
require('./translation-ecfc704a.js');
|
|
33
|
+
require('./translation-f5adcb9f.js');
|
|
28
34
|
require('./page-resize-observer-slimmer-11937d6f.js');
|
|
29
35
|
require('./ui-32e69595.js');
|
|
30
36
|
require('./breakpoints-ebde4837.js');
|
|
@@ -32,13 +38,8 @@ require('./internal-form-field-validation-rule.abstract-07cdff46.js');
|
|
|
32
38
|
require('./mutation-observer-slimmer-749d5020.js');
|
|
33
39
|
require('./mutation-observer-filters-38cebc6d.js');
|
|
34
40
|
require('./number-4816603d.js');
|
|
35
|
-
require('./internal-vega-event-manager-28b957c8.js');
|
|
36
|
-
require('./vega-env-manager-23b8b23c.js');
|
|
37
|
-
require('./feature-flag-controller-ce2162c8.js');
|
|
38
|
-
require('./index-4d7bce1a.js');
|
|
39
|
-
require('./_commonjsHelpers-537d719a.js');
|
|
40
41
|
|
|
41
|
-
var __decorate$
|
|
42
|
+
var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
42
43
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
43
44
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
44
45
|
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;
|
|
@@ -61,14 +62,14 @@ class VegaFormNestStateController extends subStateObserverSlimmer.SubStateObserv
|
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
|
-
__decorate$
|
|
65
|
+
__decorate$6([
|
|
65
66
|
globalSlimmerRegistry.MapToComponentField()
|
|
66
67
|
], VegaFormNestStateController.prototype, "host", void 0);
|
|
67
|
-
__decorate$
|
|
68
|
+
__decorate$6([
|
|
68
69
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
69
70
|
], VegaFormNestStateController.prototype, "disableBlurValidation", void 0);
|
|
70
71
|
|
|
71
|
-
var __decorate$
|
|
72
|
+
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
72
73
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
73
74
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
74
75
|
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;
|
|
@@ -138,14 +139,14 @@ class VegaFormFieldValidationStateController extends globalSlimmerRegistry.VegaS
|
|
|
138
139
|
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_ELEMENT_VALIDATE, { host: target, detail: isValid });
|
|
139
140
|
}
|
|
140
141
|
}
|
|
141
|
-
__decorate$
|
|
142
|
+
__decorate$5([
|
|
142
143
|
globalSlimmerRegistry.MapToComponentField()
|
|
143
144
|
], VegaFormFieldValidationStateController.prototype, "host", void 0);
|
|
144
|
-
__decorate$
|
|
145
|
+
__decorate$5([
|
|
145
146
|
globalSlimmerRegistry.MapToComponentMethod('setValidationStates')
|
|
146
147
|
], VegaFormFieldValidationStateController.prototype, "setValidationStates", null);
|
|
147
148
|
|
|
148
|
-
var __decorate$
|
|
149
|
+
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
149
150
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
150
151
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
151
152
|
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;
|
|
@@ -167,127 +168,156 @@ class NativeFormRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
167
168
|
index.h("slot", null)));
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
|
-
__decorate$
|
|
171
|
+
__decorate$4([
|
|
171
172
|
globalSlimmerRegistry.MapToComponentField()
|
|
172
173
|
], NativeFormRenderer.prototype, "method", void 0);
|
|
173
|
-
__decorate$
|
|
174
|
+
__decorate$4([
|
|
174
175
|
globalSlimmerRegistry.MapToComponentField()
|
|
175
176
|
], NativeFormRenderer.prototype, "action", void 0);
|
|
176
177
|
|
|
177
|
-
|
|
178
|
+
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
179
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
180
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
181
|
+
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;
|
|
182
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Controller responsible for handling form submission in the VegaForm component.
|
|
186
|
+
*/
|
|
187
|
+
class VegaFormSubmitController extends globalSlimmerRegistry.VegaSlimmer {
|
|
188
|
+
/**
|
|
189
|
+
* Component lifecycle - [connectedCallback]
|
|
190
|
+
*/
|
|
191
|
+
connectedCallback() {
|
|
192
|
+
this.registerFormSubmitChangeManager();
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Component lifecycle - [disconnectedCallback]
|
|
196
|
+
*/
|
|
197
|
+
disconnectedCallback() {
|
|
198
|
+
this.unregisterFormSubmitChangeManager();
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Submits the form using native HTML form submission with all current field values.
|
|
202
|
+
*
|
|
203
|
+
* This method collects all form field values, creates hidden input elements for each field,
|
|
204
|
+
* appends them to a container inside the native form, and then triggers the native
|
|
205
|
+
* `requestSubmit()` method to submit the form.
|
|
206
|
+
*
|
|
207
|
+
* The method ensures that the form data is available in the native form for submission,
|
|
208
|
+
* which is useful when `useNativeForm` is enabled.
|
|
209
|
+
*
|
|
210
|
+
* @returns {Promise<void>} Resolves when the form submission process is complete.
|
|
211
|
+
*/
|
|
212
|
+
async submitWithFormData() {
|
|
213
|
+
if (!this.useNativeForm)
|
|
214
|
+
return;
|
|
215
|
+
const data = await this.host.getValue();
|
|
216
|
+
for (const dataKey in data) {
|
|
217
|
+
const hiddenInput = tryGetDocument.tryGetDocument().createElement('input');
|
|
218
|
+
hiddenInput.type = 'hidden';
|
|
219
|
+
hiddenInput.name = dataKey;
|
|
220
|
+
hiddenInput.value = data[dataKey];
|
|
221
|
+
this.nativeFormRenderer.getNativeFormRef().append(hiddenInput);
|
|
222
|
+
}
|
|
223
|
+
this.nativeFormRenderer.getNativeFormRef().requestSubmit();
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Registers the form submit event observer with the ChangeManager.
|
|
227
|
+
*/
|
|
228
|
+
registerFormSubmitChangeManager() {
|
|
229
|
+
var _a;
|
|
230
|
+
this.formSubmitEventObserver = new observer.Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
|
|
231
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
232
|
+
changeManager.ChangeManager.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormSubmit), this.formSubmitEventObserver);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Unregister the form submit event observer from the ChangeManager.
|
|
236
|
+
*/
|
|
237
|
+
unregisterFormSubmitChangeManager() {
|
|
238
|
+
var _a;
|
|
239
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
240
|
+
changeManager.ChangeManager.unregister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormSubmit), this.formSubmitEventObserver);
|
|
241
|
+
}
|
|
242
|
+
/*
|
|
243
|
+
* The below method is e2e-test covered in
|
|
244
|
+
* @see{module:vega-form-field-enter-to-submit-e2e}
|
|
245
|
+
*/
|
|
246
|
+
/* istanbul ignore next */
|
|
247
|
+
/**
|
|
248
|
+
* Can accept handler for FORM_SUBMIT.
|
|
249
|
+
*
|
|
250
|
+
* @param {FormEventsPayload} payload - The payload containing the host element that triggered the submit event.
|
|
251
|
+
* @returns {boolean} True if the host element is part of the current form, false otherwise.
|
|
252
|
+
*/
|
|
253
|
+
canAcceptFormSubmitEvent(payload) {
|
|
254
|
+
return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Handles the form submission process.
|
|
258
|
+
*
|
|
259
|
+
* @returns {Promise<void>} Resolves when the submission process is complete.
|
|
260
|
+
*/
|
|
261
|
+
async handleSubmitEvents() {
|
|
262
|
+
const valid = await this.host.valid();
|
|
263
|
+
if (valid.isValid) {
|
|
264
|
+
const formValue = await this.host.getValue();
|
|
265
|
+
const submitEvent = this.submitEventEmitter.emit(formValue);
|
|
266
|
+
if (!submitEvent.defaultPrevented) {
|
|
267
|
+
await this.submitWithFormData();
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
__decorate$3([
|
|
273
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
274
|
+
], VegaFormSubmitController.prototype, "host", void 0);
|
|
275
|
+
__decorate$3([
|
|
276
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
277
|
+
], VegaFormSubmitController.prototype, "useNativeForm", void 0);
|
|
278
|
+
__decorate$3([
|
|
279
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
280
|
+
], VegaFormSubmitController.prototype, "nativeFormRenderer", void 0);
|
|
281
|
+
__decorate$3([
|
|
282
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
283
|
+
], VegaFormSubmitController.prototype, "submitEventEmitter", void 0);
|
|
284
|
+
__decorate$3([
|
|
285
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
286
|
+
], VegaFormSubmitController.prototype, "vegaFormFieldController", void 0);
|
|
287
|
+
__decorate$3([
|
|
288
|
+
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
289
|
+
], VegaFormSubmitController.prototype, "connectedCallback", null);
|
|
290
|
+
__decorate$3([
|
|
291
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
292
|
+
], VegaFormSubmitController.prototype, "disconnectedCallback", null);
|
|
178
293
|
|
|
179
|
-
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
294
|
+
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
180
295
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
181
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
182
|
-
|
|
183
|
-
else
|
|
184
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
185
|
-
if (d = decorators[i])
|
|
186
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
296
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
297
|
+
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;
|
|
187
298
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
188
299
|
};
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
this.formSubmit = index.createEvent(this, "formSubmit", 7);
|
|
196
|
-
this.vegaFormReset = index.createEvent(this, "vegaFormReset", 7);
|
|
197
|
-
this.formReset = index.createEvent(this, "formReset", 7);
|
|
198
|
-
this.globalSlimmers = {};
|
|
199
|
-
this.submitEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaForm, domNodeSubjectObserverFactory.VegaFormSubmit);
|
|
200
|
-
this.resetEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaForm, domNodeSubjectObserverFactory.VegaFormReset);
|
|
201
|
-
this.validateEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaForm, domNodeSubjectObserverFactory.VegaValidate);
|
|
202
|
-
this.disableBlurValidationNotifySlimmer = subStateNotifySlimmer.createSubStateNotifySlimmer(VegaForm, 'disableBlurValidation', 'watchDisableBlurValidation');
|
|
203
|
-
this.stateController = new VegaFormNestStateController();
|
|
204
|
-
this.childEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectObserverFactory.VegaFormSubmit, domNodeSubjectObserverFactory.VegaFormReset], () => this.host.querySelector('vega-form'), {
|
|
205
|
-
customPreventHandle: (e) => {
|
|
206
|
-
e.stopPropagation();
|
|
207
|
-
},
|
|
208
|
-
});
|
|
209
|
-
this.childFormValidateEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectObserverFactory.VegaValidate], () => this.host, {
|
|
210
|
-
customPreventHandle: (e) => {
|
|
211
|
-
e.stopPropagation();
|
|
212
|
-
},
|
|
213
|
-
});
|
|
300
|
+
/**
|
|
301
|
+
* The form field controller for vega form to manage the form field states.
|
|
302
|
+
*/
|
|
303
|
+
class VegaFormFieldController extends globalSlimmerRegistry.VegaSlimmer {
|
|
304
|
+
constructor() {
|
|
305
|
+
super(...arguments);
|
|
214
306
|
this.childNotifyObserver = new childNodesNotifyObserverSlimmer.ChildNodesNotifyObserverSlimmer(staticSubjectTitle.FORM_ELEMENT_VALIDATE, (input) => this.updateInternalValidStatus(input));
|
|
215
|
-
this.childNodeValueChangeObserver = new childNodesNotifyObserverSlimmer.ChildNodesNotifyObserverSlimmer(staticSubjectTitle.FORM_ELEMENT_VALUE_CHANGE, () =>
|
|
216
|
-
|
|
217
|
-
this.vegaFormFieldValidationStateController = new VegaFormFieldValidationStateController();
|
|
218
|
-
this.nativeFormRenderer = new NativeFormRenderer();
|
|
219
|
-
this.invalidFieldPathMap = new immutableMap.ImmutableMap(new Map(), (newMap) => {
|
|
220
|
-
this.invalidFieldPathMap = newMap;
|
|
221
|
-
this.updateIsValidFlag();
|
|
307
|
+
this.childNodeValueChangeObserver = new childNodesNotifyObserverSlimmer.ChildNodesNotifyObserverSlimmer(staticSubjectTitle.FORM_ELEMENT_VALUE_CHANGE, () => {
|
|
308
|
+
this.isTouched = true;
|
|
222
309
|
});
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
this.pendingValidFieldPathMap = newMap;
|
|
310
|
+
this._invalidFieldPathMap = new immutableMap.ImmutableMap(new Map(), (newMap) => {
|
|
311
|
+
this._invalidFieldPathMap = newMap;
|
|
226
312
|
this.updateIsValidFlag();
|
|
227
313
|
});
|
|
228
|
-
this.controlledFieldPathSet = new Set();
|
|
229
|
-
/**
|
|
230
|
-
* Indicates whether the current form-controlled elements are valid.
|
|
231
|
-
*
|
|
232
|
-
* Form-controlled elements are considered for validation if they
|
|
233
|
-
* have the `data-vega-form` property.
|
|
234
|
-
*
|
|
235
|
-
* Disabled and invisible elements are excluded from validation.
|
|
236
|
-
*
|
|
237
|
-
* If the value is `undefined`, it means there are no
|
|
238
|
-
* form-controlled elements that can be validated.
|
|
239
|
-
*
|
|
240
|
-
* **Additional Notes:**
|
|
241
|
-
* 1. When depending on `isValid` for form validation, it is advised
|
|
242
|
-
* not to modify the following properties of the monitored DOM:
|
|
243
|
-
* - `disabled` property
|
|
244
|
-
* - Element visibility style
|
|
245
|
-
* 2. As this property relies heavily on the `VegaValidate` event emitted,
|
|
246
|
-
* it is highly recommended to enable auto-validation for all
|
|
247
|
-
* form-controlled elements to ensure that the value reflects
|
|
248
|
-
* the most up-to-date form validation status.
|
|
249
|
-
*
|
|
250
|
-
* @vegaVersion 1.3.0
|
|
251
|
-
*/
|
|
252
|
-
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
253
|
-
this.isValid = null;
|
|
254
|
-
/**
|
|
255
|
-
* Indicates whether the value of any current
|
|
256
|
-
* form-controlled elements has been changed.
|
|
257
|
-
*
|
|
258
|
-
* 1. When the value of any form-controlled element is changed,
|
|
259
|
-
* this parameter is set to `true`.
|
|
260
|
-
* 2. When resetting the form, this parameter is set to `false`.
|
|
261
|
-
* 3. When invoking the `setValue` method, this parameter is set to `false`.
|
|
262
|
-
*
|
|
263
|
-
* @vegaVersion 1.3.0
|
|
264
|
-
*/
|
|
265
|
-
this.isTouched = false;
|
|
266
|
-
/**
|
|
267
|
-
* Specifies whether form validation should be disabled on blur events of form elements.
|
|
268
|
-
*
|
|
269
|
-
* - This helps prevent validation on blur when clicking Submit inside an input,
|
|
270
|
-
* avoiding error messages that shift the button and block the click.
|
|
271
|
-
* - For nested forms, the parent form will override this property
|
|
272
|
-
* to ensure consistent validation behavior.
|
|
273
|
-
*
|
|
274
|
-
* @vegaVersion 2.47.0
|
|
275
|
-
*/
|
|
276
|
-
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
277
|
-
this.disableBlurValidation = false;
|
|
278
|
-
/**
|
|
279
|
-
* Determines whether the `vega-form` content is wrapped in a native HTML <form> element.
|
|
280
|
-
*
|
|
281
|
-
* @vegaVersion 2.64.0
|
|
282
|
-
*/
|
|
283
|
-
this.useNativeForm = false;
|
|
284
314
|
/**
|
|
285
|
-
*
|
|
286
|
-
* This property takes effect only when {@link useNativeForm} is set to `true`.
|
|
287
|
-
*
|
|
288
|
-
* @vegaVersion 2.64.0
|
|
315
|
+
* The form field element pending async valid map
|
|
289
316
|
*/
|
|
290
|
-
this.
|
|
317
|
+
this._pendingValidFieldPathMap = new immutableMap.ImmutableMap(new Map(), (newMap) => {
|
|
318
|
+
this._pendingValidFieldPathMap = newMap;
|
|
319
|
+
this.updateIsValidFlag();
|
|
320
|
+
});
|
|
291
321
|
/**
|
|
292
322
|
* If the element is valid, remove it from the set of
|
|
293
323
|
* invalid elements. If the element is invalid,
|
|
@@ -311,99 +341,39 @@ const VegaForm = class {
|
|
|
311
341
|
}
|
|
312
342
|
};
|
|
313
343
|
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
344
|
+
/**
|
|
345
|
+
* Component lifecycle - [connectedCallback]
|
|
346
|
+
*/
|
|
347
|
+
connectedCallback() {
|
|
348
|
+
this.initFormFieldDisconnectedObserver();
|
|
349
|
+
this.registerFormFieldPendingValid();
|
|
319
350
|
}
|
|
320
351
|
/**
|
|
321
|
-
* When the vegaForm is deleted, it is necessary to notify
|
|
322
|
-
* the parent's vegaForm to update its isValid status.
|
|
352
|
+
* When the vegaForm is deleted, it is necessary to notify the parent's vegaForm to update its isValid status.
|
|
323
353
|
*/
|
|
324
|
-
|
|
325
|
-
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, {
|
|
326
|
-
host: this.host,
|
|
327
|
-
});
|
|
354
|
+
disconnectedCallback() {
|
|
355
|
+
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, { host: this.host });
|
|
328
356
|
changeManager.ChangeManager.unregister(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
|
|
329
357
|
changeManager.ChangeManager.unregister(staticSubjectTitle.FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
330
358
|
}
|
|
331
|
-
async componentDidLoad() {
|
|
332
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
333
|
-
if (!isForm) {
|
|
334
|
-
this.controlledFieldPathSet.add(this.getFormFieldName(element, true));
|
|
335
|
-
}
|
|
336
|
-
});
|
|
337
|
-
this.initFormFieldDisconnectedObserver();
|
|
338
|
-
this.registerFormSubmitChangeManager();
|
|
339
|
-
this.registerFormResetChangeManager();
|
|
340
|
-
this.registerFormFieldPendingValidChangeManager();
|
|
341
|
-
}
|
|
342
359
|
/**
|
|
343
|
-
*
|
|
344
|
-
* all the vega field elements nested within the `vega-form`.
|
|
345
|
-
*
|
|
346
|
-
* If an element is a `vega-form` itself, it will recursively
|
|
347
|
-
* invoke its `valid()` method.
|
|
348
|
-
*
|
|
349
|
-
* @param {boolean | 'rule'} showError determine whether the validation result should be reflected in UI
|
|
350
|
-
* @return {Promise<FormValidateResult> } validation result
|
|
351
|
-
* @vegaVersion 1.3.0
|
|
360
|
+
* @inheritDoc
|
|
352
361
|
*/
|
|
353
|
-
async
|
|
354
|
-
const result = {
|
|
362
|
+
async getValue(option) {
|
|
363
|
+
const result = {};
|
|
355
364
|
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
result.isValid = false;
|
|
360
|
-
result.invalidFields.push(...nestedFormValidationResult.invalidFields);
|
|
361
|
-
result.invalidFieldsErrorMessages = Object.assign(Object.assign({}, result.invalidFieldsErrorMessages), nestedFormValidationResult.invalidFieldsErrorMessages);
|
|
362
|
-
}
|
|
365
|
+
const formFieldName = this.getFormFieldName(element);
|
|
366
|
+
if (isForm) {
|
|
367
|
+
result[formFieldName] = await element.getValue(option);
|
|
363
368
|
}
|
|
364
369
|
else {
|
|
365
|
-
|
|
366
|
-
if (!isValid) {
|
|
367
|
-
result.isValid = false;
|
|
368
|
-
result.invalidFields.push(this.getFormFieldName(element));
|
|
369
|
-
if (!result.invalidFieldsErrorMessages) {
|
|
370
|
-
result.invalidFieldsErrorMessages = {};
|
|
371
|
-
}
|
|
372
|
-
result.invalidFieldsErrorMessages[this.getFormFieldName(element)] = message;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
});
|
|
376
|
-
return result;
|
|
377
|
-
}
|
|
378
|
-
/**
|
|
379
|
-
* Invoke this method asynchronously to retrieve the values for
|
|
380
|
-
* all the available vega field elements nested within the `vega-form`.
|
|
381
|
-
*
|
|
382
|
-
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
383
|
-
* @return {Promise<T>} object with key and field value as key-value pair
|
|
384
|
-
* @vegaVersion 1.3.0
|
|
385
|
-
*/
|
|
386
|
-
async getValue(option) {
|
|
387
|
-
const result = {};
|
|
388
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
389
|
-
const formFieldName = this.getFormFieldName(element);
|
|
390
|
-
if (isForm) {
|
|
391
|
-
result[formFieldName] = await element.getValue(option);
|
|
392
|
-
}
|
|
393
|
-
else {
|
|
394
|
-
result[formFieldName] = VegaForm.getFormFieldValue(element);
|
|
370
|
+
result[formFieldName] = this.getFormFieldValue(element);
|
|
395
371
|
}
|
|
396
372
|
}, option);
|
|
397
373
|
return (array.isObjectArrayLike(result) ? Object.values(result) : result);
|
|
398
374
|
}
|
|
399
375
|
/**
|
|
400
|
-
*
|
|
401
|
-
*
|
|
402
|
-
* This action will also set the `isTouched` property to `false`.
|
|
403
|
-
*
|
|
404
|
-
* @param value to prefill into the vega-form
|
|
405
|
-
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
406
|
-
* @vegaVersion 1.3.0
|
|
376
|
+
* @inheritDoc
|
|
407
377
|
*/
|
|
408
378
|
async setValue(value, option) {
|
|
409
379
|
if (value) {
|
|
@@ -426,53 +396,74 @@ const VegaForm = class {
|
|
|
426
396
|
}
|
|
427
397
|
}
|
|
428
398
|
/**
|
|
429
|
-
*
|
|
430
|
-
* the default value provided, or an empty string if
|
|
431
|
-
* no default value is found.
|
|
432
|
-
*
|
|
433
|
-
* @param defaultValueMap map of the vega form field name to default value
|
|
434
|
-
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
435
|
-
*
|
|
436
|
-
* @vegaVersion 1.3.0
|
|
399
|
+
* @inheritDoc
|
|
437
400
|
*/
|
|
438
|
-
async
|
|
401
|
+
async valid(showError = true) {
|
|
402
|
+
const result = { isValid: true, invalidFields: [] };
|
|
439
403
|
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
404
|
+
if (typeof element['valid'] === 'function' && isForm) {
|
|
405
|
+
const nestedFormValidationResult = await element.valid(showError);
|
|
406
|
+
if (!nestedFormValidationResult.isValid) {
|
|
407
|
+
result.isValid = false;
|
|
408
|
+
result.invalidFields.push(...nestedFormValidationResult.invalidFields);
|
|
409
|
+
result.invalidFieldsErrorMessages = Object.assign(Object.assign({}, result.invalidFieldsErrorMessages), nestedFormValidationResult.invalidFieldsErrorMessages);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
const { isValid, message } = await this.handleChildFormFieldElementValid(element, showError);
|
|
414
|
+
if (!isValid) {
|
|
415
|
+
result.isValid = false;
|
|
416
|
+
result.invalidFields.push(this.getFormFieldName(element));
|
|
417
|
+
if (!result.invalidFieldsErrorMessages) {
|
|
418
|
+
result.invalidFieldsErrorMessages = {};
|
|
419
|
+
}
|
|
420
|
+
result.invalidFieldsErrorMessages[this.getFormFieldName(element)] = message;
|
|
421
|
+
}
|
|
443
422
|
}
|
|
444
|
-
}, option);
|
|
445
|
-
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_RESET_OPERATION_TRIGGERED, {
|
|
446
|
-
host: this.host,
|
|
447
|
-
defaultValueMap,
|
|
448
|
-
option,
|
|
449
423
|
});
|
|
450
|
-
|
|
424
|
+
return result;
|
|
451
425
|
}
|
|
452
426
|
/**
|
|
453
|
-
*
|
|
427
|
+
* The getter for the {@link _invalidFieldPathMap}
|
|
454
428
|
*
|
|
455
|
-
* @
|
|
429
|
+
* @returns {ImmutableMap<HTMLElement, string>} The map of invalid field elements and their paths
|
|
430
|
+
*/
|
|
431
|
+
get invalidFieldPathMap() {
|
|
432
|
+
return this._invalidFieldPathMap;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* The getter for the {@link _pendingValidFieldPathMap}
|
|
456
436
|
*
|
|
457
|
-
* @
|
|
437
|
+
* @returns {ImmutableMap<HTMLElement, string>} The map of pending valid field elements and their paths
|
|
458
438
|
*/
|
|
459
|
-
|
|
439
|
+
get pendingValidFieldPathMap() {
|
|
440
|
+
return this._pendingValidFieldPathMap;
|
|
460
441
|
}
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
442
|
+
/**
|
|
443
|
+
* Set the isTouched property of the form.
|
|
444
|
+
*
|
|
445
|
+
* @param {boolean} isTouched - The new value for isTouched.
|
|
446
|
+
*/
|
|
447
|
+
setIsTouched(isTouched) {
|
|
448
|
+
this.isTouched = isTouched;
|
|
466
449
|
}
|
|
467
|
-
|
|
468
|
-
|
|
450
|
+
/**
|
|
451
|
+
* It returns the value of data-vega-form that the given element is associated with.
|
|
452
|
+
*
|
|
453
|
+
* @param {HTMLElement} element - The element that is being validated.
|
|
454
|
+
* @returns {string} The name of the field.
|
|
455
|
+
*/
|
|
456
|
+
getFormFieldName(element) {
|
|
457
|
+
return element.dataset['vegaForm'];
|
|
469
458
|
}
|
|
470
459
|
/**
|
|
471
|
-
*
|
|
472
|
-
*
|
|
460
|
+
* Check if the given element is part of the current form.
|
|
461
|
+
*
|
|
462
|
+
* @param {HTMLElement} element - The element to check.
|
|
463
|
+
* @returns {boolean} True if the element is part of the current form, false otherwise.
|
|
473
464
|
*/
|
|
474
|
-
|
|
475
|
-
this.
|
|
465
|
+
isElementInCurrentForm(element) {
|
|
466
|
+
return this.invalidFieldPathMap.has(element) || ui.isParent(element, this.host);
|
|
476
467
|
}
|
|
477
468
|
/**
|
|
478
469
|
* Navigate the immediate child node under current vega form element with the following strategy
|
|
@@ -480,10 +471,10 @@ const VegaForm = class {
|
|
|
480
471
|
* - if a non-matched node found, it will call itself recursively and pass the node as the second parameter
|
|
481
472
|
* Once the navigation is finished, it will wait for all the pending visitor/self-invocation promise finished before return
|
|
482
473
|
*
|
|
483
|
-
* @param visitor async callback method that will be invoked if a matched vega field element found
|
|
474
|
+
* @param {(element: HTMLElement, isForm: boolean) => Promise<void>} visitor async callback method that will be invoked if a matched vega field element found
|
|
484
475
|
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
485
|
-
* @param [startElementNode] element
|
|
486
|
-
* @
|
|
476
|
+
* @param {HTMLElement} [startElementNode=this.host] the element to start the navigation, default to current vega form host
|
|
477
|
+
* @returns {Promise<void>} return void wrapped with promise to notify the navigation is done
|
|
487
478
|
*/
|
|
488
479
|
async navigateVegaFormChildren(visitor, option, startElementNode = this.host) {
|
|
489
480
|
const promiseQueue = [];
|
|
@@ -500,53 +491,43 @@ const VegaForm = class {
|
|
|
500
491
|
await Promise.all(promiseQueue);
|
|
501
492
|
}
|
|
502
493
|
/**
|
|
503
|
-
* Update the {@link isValid} property value based on the size of {@link
|
|
494
|
+
* Update the {@link isValid} property value based on the size of {@link invalidFieldPathMap}
|
|
504
495
|
* If the number of invalid elements is zero, then the form is valid.
|
|
505
496
|
*/
|
|
506
497
|
updateIsValidFlag() {
|
|
507
498
|
this.isValid = this.pendingValidFieldPathMap.size > 0 ? null : this.invalidFieldPathMap.size === 0;
|
|
508
499
|
}
|
|
509
500
|
/**
|
|
510
|
-
*
|
|
511
|
-
|
|
501
|
+
* Registers an observer with the ChangeManager that will be notified when a form field's pending validation state changes.
|
|
502
|
+
*/
|
|
503
|
+
registerFormFieldPendingValid() {
|
|
504
|
+
this.formFieldPendingValidObserver = new observer.Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
|
|
505
|
+
changeManager.ChangeManager.register(staticSubjectTitle.FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Can accept handler for FORM_FIELD_PENDING_VALID_CHANGE.
|
|
512
509
|
*
|
|
513
|
-
* @param {
|
|
514
|
-
* @
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
*/
|
|
519
|
-
getFormFieldName(element, includePath) {
|
|
520
|
-
let fieldName = element.dataset['vegaForm'];
|
|
521
|
-
if (includePath) {
|
|
522
|
-
let currentVegaForm = ui.findParent(element, 'vega-form');
|
|
523
|
-
/**
|
|
524
|
-
* The below method is e2e-test covered in
|
|
525
|
-
* @see {module:nested-vega-form-isValid-should-be-as-expected-when-value-changed}
|
|
526
|
-
*/
|
|
527
|
-
/* istanbul ignore next */
|
|
528
|
-
while (currentVegaForm && currentVegaForm !== this.host) {
|
|
529
|
-
fieldName = currentVegaForm.dataset['vegaForm'] + ' -> ' + fieldName;
|
|
530
|
-
currentVegaForm = ui.findParent(currentVegaForm, 'vega-form');
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
return fieldName;
|
|
510
|
+
* @param {PendingValidPayload} payload - The payload containing the host element that triggered the pending valid change event.
|
|
511
|
+
* @returns {boolean} True if the host element is part of the current form, false otherwise.
|
|
512
|
+
*/
|
|
513
|
+
canAcceptFormFieldPendingValid(payload) {
|
|
514
|
+
return this.isElementInCurrentForm(payload.host);
|
|
534
515
|
}
|
|
535
516
|
/**
|
|
536
|
-
*
|
|
517
|
+
* Handles the pending valid state change for a form field.
|
|
537
518
|
*
|
|
538
|
-
* @param {
|
|
539
|
-
* @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
|
|
540
|
-
* @param {boolean} skipInvisible - If true, only visible elements will be visited.
|
|
541
|
-
* @returns a boolean value.
|
|
519
|
+
* @param {PendingValidPayload} payload - The payload containing the host element and its pending valid state.
|
|
542
520
|
*/
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
(
|
|
546
|
-
|
|
521
|
+
handleFieldPendingValid(payload) {
|
|
522
|
+
if (typeof payload.detail === 'boolean') {
|
|
523
|
+
this.pendingValidFieldPathMap.delete(payload.host);
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
|
|
527
|
+
}
|
|
547
528
|
}
|
|
548
529
|
/**
|
|
549
|
-
* This function registers an observer with the ChangeManager that will be notified when
|
|
530
|
+
* This function registers an observer with the ChangeManager that will be notified when an element
|
|
550
531
|
* delete operation is triggered
|
|
551
532
|
*/
|
|
552
533
|
initFormFieldDisconnectedObserver() {
|
|
@@ -564,87 +545,45 @@ const VegaForm = class {
|
|
|
564
545
|
}
|
|
565
546
|
/**
|
|
566
547
|
* Get the fieldName of the deleted element in the current vegaForm, delete it from the invalidFieldPathSet array, and update isValid at the same time.
|
|
548
|
+
*
|
|
549
|
+
* @param {DisconnectedElementOperationPayload} payload - the delete element and vegaForm array.
|
|
567
550
|
*/
|
|
568
551
|
async updateInvalidFieldPath(payload) {
|
|
569
552
|
this.invalidFieldPathMap.delete(payload.host);
|
|
570
553
|
this.pendingValidFieldPathMap.delete(payload.host);
|
|
571
554
|
}
|
|
572
|
-
registerFormSubmitChangeManager() {
|
|
573
|
-
this.formEventsObserver = new observer.Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
|
|
574
|
-
changeManager.ChangeManager.register(staticSubjectTitle.FORM_SUBMIT, this.formEventsObserver);
|
|
575
|
-
}
|
|
576
555
|
/**
|
|
577
|
-
*
|
|
578
|
-
*
|
|
556
|
+
* 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.
|
|
557
|
+
*
|
|
558
|
+
* @param {HTMLElement} element - The HTMLElement to check.
|
|
559
|
+
* @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
|
|
560
|
+
* @param {boolean} skipInvisible - If true, only visible elements will be visited.
|
|
561
|
+
* @returns {boolean} a boolean value.
|
|
579
562
|
*/
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
async handleSubmitEvents() {
|
|
585
|
-
const valid = await this.valid();
|
|
586
|
-
if (valid.isValid) {
|
|
587
|
-
const formValue = await this.getValue();
|
|
588
|
-
const submitEvent = this.submitEventEmitter.emit(formValue);
|
|
589
|
-
if (!submitEvent.defaultPrevented) {
|
|
590
|
-
await this.submitWithFormData();
|
|
591
|
-
}
|
|
592
|
-
}
|
|
563
|
+
shouldVisitElement(element, skipDisabled, skipInvisible) {
|
|
564
|
+
return (this.getFormFieldName(element) &&
|
|
565
|
+
(!skipDisabled || !element['disabled']) &&
|
|
566
|
+
(!skipInvisible || ui.isElementVisible(element)));
|
|
593
567
|
}
|
|
594
568
|
/**
|
|
595
|
-
*
|
|
596
|
-
*
|
|
597
|
-
* This method collects all form field values, creates hidden input elements for each field,
|
|
598
|
-
* appends them to a container inside the native form, and then triggers the native
|
|
599
|
-
* `requestSubmit()` method to submit the form.
|
|
600
|
-
*
|
|
601
|
-
* The method ensures that the form data is available in the native form for submission,
|
|
602
|
-
* which is useful when `useNativeForm` is enabled.
|
|
569
|
+
* It retrieves the value of a form field element.
|
|
603
570
|
*
|
|
604
|
-
* @
|
|
571
|
+
* @param {HTMLElement} element - The form field element.
|
|
572
|
+
* @returns {unknown} The value of the form field element.
|
|
605
573
|
*/
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
const hiddenInput = tryGetDocument.tryGetDocument().createElement('input');
|
|
612
|
-
hiddenInput.type = 'hidden';
|
|
613
|
-
hiddenInput.name = dataKey;
|
|
614
|
-
hiddenInput.value = data[dataKey];
|
|
615
|
-
this.nativeFormRenderer.getNativeFormRef().append(hiddenInput);
|
|
616
|
-
}
|
|
617
|
-
this.nativeFormRenderer.getNativeFormRef().requestSubmit();
|
|
618
|
-
}
|
|
619
|
-
registerFormResetChangeManager() {
|
|
620
|
-
this.formEventsObserver = new observer.Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
|
|
621
|
-
changeManager.ChangeManager.register(staticSubjectTitle.FORM_RESET, this.formEventsObserver);
|
|
622
|
-
}
|
|
623
|
-
canAcceptFormResetEvent(payload) {
|
|
624
|
-
return this.isElementInCurrentForm(payload.host);
|
|
625
|
-
}
|
|
626
|
-
async handleResetEvents() {
|
|
627
|
-
await this.reset();
|
|
628
|
-
this.resetEventEmitter.emit();
|
|
629
|
-
}
|
|
630
|
-
registerFormFieldPendingValidChangeManager() {
|
|
631
|
-
this.formFieldPendingValidObserver = new observer.Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
|
|
632
|
-
changeManager.ChangeManager.register(staticSubjectTitle.FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
633
|
-
}
|
|
634
|
-
canAcceptFormFieldPendingValid(payload) {
|
|
635
|
-
return this.isElementInCurrentForm(payload.host);
|
|
636
|
-
}
|
|
637
|
-
handleFieldPendingValid(payload) {
|
|
638
|
-
if (typeof payload.detail === 'boolean') {
|
|
639
|
-
this.pendingValidFieldPathMap.delete(payload.host);
|
|
640
|
-
}
|
|
641
|
-
else {
|
|
642
|
-
this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
|
|
643
|
-
}
|
|
644
|
-
}
|
|
645
|
-
isElementInCurrentForm(element) {
|
|
646
|
-
return this.invalidFieldPathMap.has(element) || ui.isParent(element, this.host);
|
|
574
|
+
getFormFieldValue(element) {
|
|
575
|
+
return typeof element['value'] === 'undefined'
|
|
576
|
+
? // use element.getAttribute since the value property is not available in unit testing
|
|
577
|
+
element.getAttribute('value')
|
|
578
|
+
: element['value'];
|
|
647
579
|
}
|
|
580
|
+
/**
|
|
581
|
+
* It handles the validation of a child form field element.
|
|
582
|
+
*
|
|
583
|
+
* @param {HTMLElement} element - The form field element to validate.
|
|
584
|
+
* @param {boolean | 'rule'} showError - Whether to show error messages.
|
|
585
|
+
* @returns {Promise<EvaluateResultBase>} The validation result.
|
|
586
|
+
*/
|
|
648
587
|
async handleChildFormFieldElementValid(element, showError) {
|
|
649
588
|
const subject = domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(element, vegaInternalEventId.VegaInternalValid);
|
|
650
589
|
const { isValid, message } = await new Promise((resolve) => {
|
|
@@ -661,6 +600,303 @@ const VegaForm = class {
|
|
|
661
600
|
});
|
|
662
601
|
return { isValid, message };
|
|
663
602
|
}
|
|
603
|
+
}
|
|
604
|
+
__decorate$2([
|
|
605
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
606
|
+
], VegaFormFieldController.prototype, "host", void 0);
|
|
607
|
+
__decorate$2([
|
|
608
|
+
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
609
|
+
], VegaFormFieldController.prototype, "isValid", void 0);
|
|
610
|
+
__decorate$2([
|
|
611
|
+
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
612
|
+
], VegaFormFieldController.prototype, "isTouched", void 0);
|
|
613
|
+
__decorate$2([
|
|
614
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
615
|
+
], VegaFormFieldController.prototype, "childNotifyObserver", void 0);
|
|
616
|
+
__decorate$2([
|
|
617
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
618
|
+
], VegaFormFieldController.prototype, "childNodeValueChangeObserver", void 0);
|
|
619
|
+
__decorate$2([
|
|
620
|
+
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
621
|
+
], VegaFormFieldController.prototype, "connectedCallback", null);
|
|
622
|
+
__decorate$2([
|
|
623
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
624
|
+
], VegaFormFieldController.prototype, "disconnectedCallback", null);
|
|
625
|
+
__decorate$2([
|
|
626
|
+
globalSlimmerRegistry.MapToComponentMethod('getValue')
|
|
627
|
+
], VegaFormFieldController.prototype, "getValue", null);
|
|
628
|
+
__decorate$2([
|
|
629
|
+
globalSlimmerRegistry.MapToComponentMethod('setValue')
|
|
630
|
+
], VegaFormFieldController.prototype, "setValue", null);
|
|
631
|
+
__decorate$2([
|
|
632
|
+
globalSlimmerRegistry.MapToComponentMethod('valid')
|
|
633
|
+
], VegaFormFieldController.prototype, "valid", null);
|
|
634
|
+
|
|
635
|
+
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
636
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
637
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
638
|
+
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;
|
|
639
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
640
|
+
};
|
|
641
|
+
/**
|
|
642
|
+
* Reset controller for handling form reset events in the VegaForm component.
|
|
643
|
+
*/
|
|
644
|
+
class VegaFormResetController extends globalSlimmerRegistry.VegaSlimmer {
|
|
645
|
+
/**
|
|
646
|
+
* Component lifecycle - [connectedCallback]
|
|
647
|
+
*/
|
|
648
|
+
connectedCallback() {
|
|
649
|
+
this.registerFormResetChangeManager();
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* Component lifecycle - [disconnectedCallback]
|
|
653
|
+
*/
|
|
654
|
+
disconnectedCallback() {
|
|
655
|
+
this.unregisterFormResetChangeManager();
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* @inheritDoc
|
|
659
|
+
*/
|
|
660
|
+
async reset(defaultValueMap = {}, option) {
|
|
661
|
+
await this.vegaFormFieldController.navigateVegaFormChildren(async (element, isForm) => {
|
|
662
|
+
const formFieldName = this.vegaFormFieldController.getFormFieldName(element);
|
|
663
|
+
if (isForm) {
|
|
664
|
+
await element.reset(defaultValueMap[formFieldName] || {}, option);
|
|
665
|
+
}
|
|
666
|
+
}, option);
|
|
667
|
+
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_RESET_OPERATION_TRIGGERED, {
|
|
668
|
+
host: this.host,
|
|
669
|
+
defaultValueMap,
|
|
670
|
+
option,
|
|
671
|
+
});
|
|
672
|
+
this.vegaFormFieldController.setIsTouched(false);
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* Registers the form reset event observer with the ChangeManager.
|
|
676
|
+
*/
|
|
677
|
+
registerFormResetChangeManager() {
|
|
678
|
+
var _a;
|
|
679
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
680
|
+
this.formResetEventObserver = new observer.Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
|
|
681
|
+
changeManager.ChangeManager.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormReset), this.formResetEventObserver);
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* Unregister the form reset event observer from the ChangeManager.
|
|
685
|
+
*/
|
|
686
|
+
unregisterFormResetChangeManager() {
|
|
687
|
+
var _a;
|
|
688
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
689
|
+
changeManager.ChangeManager.unregister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormReset), this.formResetEventObserver);
|
|
690
|
+
}
|
|
691
|
+
/**
|
|
692
|
+
* Can accept form reset event.
|
|
693
|
+
*
|
|
694
|
+
* @param {FormEventsPayload} payload - The form events payload.
|
|
695
|
+
* @returns {boolean} True if the event can be accepted, false otherwise.
|
|
696
|
+
*/
|
|
697
|
+
canAcceptFormResetEvent(payload) {
|
|
698
|
+
return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* Handles reset events by resetting the form and emitting a reset event.
|
|
702
|
+
*/
|
|
703
|
+
async handleResetEvents() {
|
|
704
|
+
await this.host.reset();
|
|
705
|
+
this.resetEventEmitter.emit();
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
__decorate$1([
|
|
709
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
710
|
+
], VegaFormResetController.prototype, "host", void 0);
|
|
711
|
+
__decorate$1([
|
|
712
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
713
|
+
], VegaFormResetController.prototype, "vegaFormFieldController", void 0);
|
|
714
|
+
__decorate$1([
|
|
715
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
716
|
+
], VegaFormResetController.prototype, "resetEventEmitter", void 0);
|
|
717
|
+
__decorate$1([
|
|
718
|
+
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
719
|
+
], VegaFormResetController.prototype, "connectedCallback", null);
|
|
720
|
+
__decorate$1([
|
|
721
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
722
|
+
], VegaFormResetController.prototype, "disconnectedCallback", null);
|
|
723
|
+
__decorate$1([
|
|
724
|
+
globalSlimmerRegistry.MapToComponentMethod('reset')
|
|
725
|
+
], VegaFormResetController.prototype, "reset", null);
|
|
726
|
+
|
|
727
|
+
const vegaFormCss = ":host{display:block}";
|
|
728
|
+
|
|
729
|
+
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
730
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
731
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
732
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
733
|
+
else
|
|
734
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
735
|
+
if (d = decorators[i])
|
|
736
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
737
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
738
|
+
};
|
|
739
|
+
const VegaForm = class {
|
|
740
|
+
constructor(hostRef) {
|
|
741
|
+
index.registerInstance(this, hostRef);
|
|
742
|
+
this.vegaValidate = index.createEvent(this, "vegaValidate", 7);
|
|
743
|
+
this.validate = index.createEvent(this, "validate", 7);
|
|
744
|
+
this.vegaFormSubmit = index.createEvent(this, "vegaFormSubmit", 7);
|
|
745
|
+
this.formSubmit = index.createEvent(this, "formSubmit", 7);
|
|
746
|
+
this.vegaFormReset = index.createEvent(this, "vegaFormReset", 7);
|
|
747
|
+
this.formReset = index.createEvent(this, "formReset", 7);
|
|
748
|
+
this.globalSlimmers = {};
|
|
749
|
+
this.submitEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaForm, domNodeSubjectObserverFactory.VegaFormSubmit);
|
|
750
|
+
this.resetEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaForm, domNodeSubjectObserverFactory.VegaFormReset);
|
|
751
|
+
this.validateEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaForm, domNodeSubjectObserverFactory.VegaValidate);
|
|
752
|
+
this.disableBlurValidationNotifySlimmer = subStateNotifySlimmer.createSubStateNotifySlimmer(VegaForm, 'disableBlurValidation', 'watchDisableBlurValidation');
|
|
753
|
+
this.stateController = new VegaFormNestStateController();
|
|
754
|
+
this.childEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectObserverFactory.VegaFormSubmit, domNodeSubjectObserverFactory.VegaFormReset], () => this.host.querySelector('vega-form'), {
|
|
755
|
+
customPreventHandle: (e) => {
|
|
756
|
+
e.stopPropagation();
|
|
757
|
+
},
|
|
758
|
+
});
|
|
759
|
+
this.childFormValidateEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectObserverFactory.VegaValidate], () => this.host, {
|
|
760
|
+
customPreventHandle: (e) => {
|
|
761
|
+
e.stopPropagation();
|
|
762
|
+
},
|
|
763
|
+
});
|
|
764
|
+
this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
|
|
765
|
+
this.vegaFormFieldValidationStateController = new VegaFormFieldValidationStateController();
|
|
766
|
+
this.nativeFormRenderer = new NativeFormRenderer();
|
|
767
|
+
this.vegaFormSubmitController = new VegaFormSubmitController();
|
|
768
|
+
this.vegaFormResetController = new VegaFormResetController();
|
|
769
|
+
this.vegaFormFieldController = new VegaFormFieldController();
|
|
770
|
+
/**
|
|
771
|
+
* Indicates whether the current form-controlled elements are valid.
|
|
772
|
+
*
|
|
773
|
+
* Form-controlled elements are considered for validation if they
|
|
774
|
+
* have the `data-vega-form` property.
|
|
775
|
+
*
|
|
776
|
+
* Disabled and invisible elements are excluded from validation.
|
|
777
|
+
*
|
|
778
|
+
* If the value is `undefined`, it means there are no
|
|
779
|
+
* form-controlled elements that can be validated.
|
|
780
|
+
*
|
|
781
|
+
* **Additional Notes:**
|
|
782
|
+
* 1. When depending on `isValid` for form validation, it is advised
|
|
783
|
+
* not to modify the following properties of the monitored DOM:
|
|
784
|
+
* - `disabled` property
|
|
785
|
+
* - Element visibility style
|
|
786
|
+
* 2. As this property relies heavily on the `VegaValidate` event emitted,
|
|
787
|
+
* it is highly recommended to enable auto-validation for all
|
|
788
|
+
* form-controlled elements to ensure that the value reflects
|
|
789
|
+
* the most up-to-date form validation status.
|
|
790
|
+
*
|
|
791
|
+
* @vegaVersion 1.3.0
|
|
792
|
+
*/
|
|
793
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
794
|
+
this.isValid = null;
|
|
795
|
+
/**
|
|
796
|
+
* Indicates whether the value of any current
|
|
797
|
+
* form-controlled elements has been changed.
|
|
798
|
+
*
|
|
799
|
+
* 1. When the value of any form-controlled element is changed,
|
|
800
|
+
* this parameter is set to `true`.
|
|
801
|
+
* 2. When resetting the form, this parameter is set to `false`.
|
|
802
|
+
* 3. When invoking the `setValue` method, this parameter is set to `false`.
|
|
803
|
+
*
|
|
804
|
+
* @vegaVersion 1.3.0
|
|
805
|
+
*/
|
|
806
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
807
|
+
this.isTouched = false;
|
|
808
|
+
/**
|
|
809
|
+
* Specifies whether form validation should be disabled on blur events of form elements.
|
|
810
|
+
*
|
|
811
|
+
* - This helps prevent validation on blur when clicking Submit inside an input,
|
|
812
|
+
* avoiding error messages that shift the button and block the click.
|
|
813
|
+
* - For nested forms, the parent form will override this property
|
|
814
|
+
* to ensure consistent validation behavior.
|
|
815
|
+
*
|
|
816
|
+
* @vegaVersion 2.47.0
|
|
817
|
+
*/
|
|
818
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
819
|
+
this.disableBlurValidation = false;
|
|
820
|
+
/**
|
|
821
|
+
* Determines whether the `vega-form` content is wrapped in a native HTML <form> element.
|
|
822
|
+
*
|
|
823
|
+
* @vegaVersion 2.64.0
|
|
824
|
+
*/
|
|
825
|
+
this.useNativeForm = false;
|
|
826
|
+
/**
|
|
827
|
+
* Specifies the HTTP method used for form submission.
|
|
828
|
+
* This property takes effect only when {@link useNativeForm} is set to `true`.
|
|
829
|
+
*
|
|
830
|
+
* @vegaVersion 2.64.0
|
|
831
|
+
*/
|
|
832
|
+
this.method = 'get';
|
|
833
|
+
}
|
|
834
|
+
watchIsValid() {
|
|
835
|
+
this.validateEventEmitter.emit(this.isValid);
|
|
836
|
+
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_ELEMENT_VALIDATE, { host: this.host, detail: this.isValid });
|
|
837
|
+
}
|
|
838
|
+
watchDisableBlurValidation() {
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Invoke this method asynchronously to retrieve the validation result for
|
|
842
|
+
* all the vega field elements nested within the `vega-form`.
|
|
843
|
+
*
|
|
844
|
+
* If an element is a `vega-form` itself, it will recursively
|
|
845
|
+
* invoke its `valid()` method.
|
|
846
|
+
*
|
|
847
|
+
* @param {boolean | 'rule'} showError determine whether the validation result should be reflected in UI
|
|
848
|
+
* @return {Promise<FormValidateResult> } validation result
|
|
849
|
+
* @vegaVersion 1.3.0
|
|
850
|
+
*/
|
|
851
|
+
async valid(showError = true) {
|
|
852
|
+
return placeholder.methodPlaceholder(showError);
|
|
853
|
+
}
|
|
854
|
+
/**
|
|
855
|
+
* Invoke this method asynchronously to retrieve the values for
|
|
856
|
+
* all the available vega field elements nested within the `vega-form`.
|
|
857
|
+
*
|
|
858
|
+
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
859
|
+
* @return {Promise<T>} object with key and field value as key-value pair
|
|
860
|
+
* @vegaVersion 1.3.0
|
|
861
|
+
*/
|
|
862
|
+
async getValue(option) {
|
|
863
|
+
return placeholder.methodPlaceholder(option);
|
|
864
|
+
}
|
|
865
|
+
/**
|
|
866
|
+
* Invoke this method to prefill the `vega-form` with the given value.
|
|
867
|
+
*
|
|
868
|
+
* This action will also set the `isTouched` property to `false`.
|
|
869
|
+
*
|
|
870
|
+
* @param value to prefill into the vega-form
|
|
871
|
+
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
872
|
+
* @vegaVersion 1.3.0
|
|
873
|
+
*/
|
|
874
|
+
async setValue(value, option) {
|
|
875
|
+
}
|
|
876
|
+
/**
|
|
877
|
+
* Invoke this method to reset the vega field elements in the form to
|
|
878
|
+
* the default value provided, or an empty string if
|
|
879
|
+
* no default value is found.
|
|
880
|
+
*
|
|
881
|
+
* @param defaultValueMap map of the vega form field name to default value
|
|
882
|
+
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
883
|
+
*
|
|
884
|
+
* @vegaVersion 1.3.0
|
|
885
|
+
*/
|
|
886
|
+
async reset(defaultValueMap = {}, option) {
|
|
887
|
+
}
|
|
888
|
+
/**
|
|
889
|
+
* Invoke this method to set validation states on specific form fields.
|
|
890
|
+
*
|
|
891
|
+
* @param {VegaFormFieldValidationState[]} states - An array of validation error objects.
|
|
892
|
+
*
|
|
893
|
+
* @vegaVersion 2.59.0
|
|
894
|
+
*/
|
|
895
|
+
async setValidationStates(states) {
|
|
896
|
+
}
|
|
897
|
+
render() {
|
|
898
|
+
return component.sanitizeVegaComponent(index.h(index.Host, null, this.useNativeForm ? this.nativeFormRenderer.render() : index.h("slot", null)), this.host);
|
|
899
|
+
}
|
|
664
900
|
get host() { return index.getElement(this); }
|
|
665
901
|
static get watchers() { return {
|
|
666
902
|
"isValid": ["watchIsValid"],
|
|
@@ -693,19 +929,22 @@ __decorate([
|
|
|
693
929
|
], VegaForm.prototype, "childFormValidateEventPrevent", void 0);
|
|
694
930
|
__decorate([
|
|
695
931
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
696
|
-
], VegaForm.prototype, "
|
|
932
|
+
], VegaForm.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
697
933
|
__decorate([
|
|
698
934
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
699
|
-
], VegaForm.prototype, "
|
|
935
|
+
], VegaForm.prototype, "vegaFormFieldValidationStateController", void 0);
|
|
700
936
|
__decorate([
|
|
701
937
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
702
|
-
], VegaForm.prototype, "
|
|
938
|
+
], VegaForm.prototype, "nativeFormRenderer", void 0);
|
|
703
939
|
__decorate([
|
|
704
940
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
705
|
-
], VegaForm.prototype, "
|
|
941
|
+
], VegaForm.prototype, "vegaFormSubmitController", void 0);
|
|
706
942
|
__decorate([
|
|
707
943
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
708
|
-
], VegaForm.prototype, "
|
|
944
|
+
], VegaForm.prototype, "vegaFormResetController", void 0);
|
|
945
|
+
__decorate([
|
|
946
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
947
|
+
], VegaForm.prototype, "vegaFormFieldController", void 0);
|
|
709
948
|
VegaForm.style = vegaFormCss;
|
|
710
949
|
|
|
711
950
|
exports.vega_form = VegaForm;
|