udp-stencil-component-library 25.18.2-beta.4 → 25.18.2-beta.6
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/add-map-feature-popup_4.cjs.entry.js +12 -12
- package/dist/cjs/advanced-search_12.cjs.entry.js +1 -1
- package/dist/cjs/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ag-grid-base_6.cjs.entry.js +27 -11
- package/dist/cjs/api-method-instance-grid.cjs.entry.js +1 -1
- package/dist/cjs/app-bar.cjs.entry.js +1 -1
- package/dist/cjs/check-box.cjs.entry.js +2 -2
- package/dist/cjs/chip-section.cjs.entry.js +2 -2
- package/dist/cjs/client-side-grid_2.cjs.entry.js +3 -3
- package/dist/cjs/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.cjs.js.map +1 -1
- package/dist/cjs/date-time-renderer_7.cjs.entry.js +13 -13
- package/dist/cjs/entity-maintenance-grid.cjs.entry.js +1 -1
- package/dist/cjs/{enums-DVbZnzL8.js → enums-CgcTuQjC.js} +8 -2
- package/dist/cjs/enums-CgcTuQjC.js.map +1 -0
- package/dist/cjs/feature-details-card_2.cjs.entry.js +5 -5
- package/dist/cjs/filter-conditions_7.cjs.entry.js +2 -2
- package/dist/cjs/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.cjs.js.map +1 -1
- package/dist/cjs/form-metadata-display_8.cjs.entry.js +15 -15
- package/dist/cjs/index-CGCOXUJE.js +10 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-component_2.cjs.entry.js +2 -2
- package/dist/cjs/numeric-field_5.cjs.entry.js +15 -15
- package/dist/cjs/primary-action-header.udp-tabs.entry.cjs.js.map +1 -0
- package/dist/cjs/{primary-action-header_3.cjs.entry.js → primary-action-header_2.cjs.entry.js} +4 -266
- package/dist/cjs/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.cjs.js.map +1 -1
- package/dist/cjs/question-configs-renderer_4.cjs.entry.js +7 -7
- package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
- package/dist/cjs/search-method-grid.cjs.entry.js +2 -1
- package/dist/cjs/search-method-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
- package/dist/cjs/side-sheet-container.cjs.entry.js +1 -1
- package/dist/cjs/stencil-library.cjs.js +1 -1
- package/dist/cjs/stencil-toggle.cjs.entry.js +4 -4
- package/dist/cjs/text-field_2.cjs.entry.js +7 -7
- package/dist/cjs/udp-chip_3.cjs.entry.js +1 -1
- package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
- package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
- package/dist/cjs/udp-container.cjs.entry.js +35 -0
- package/dist/cjs/udp-container.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
- package/dist/cjs/udp-dynamic-container-with-menu.cjs.entry.js +1 -1
- package/dist/cjs/{udp-forms-builder-question-template-CNONS2l5.js → udp-forms-builder-question-template-BMMpObLX.js} +3 -3
- package/dist/cjs/udp-forms-builder-question-template-BMMpObLX.js.map +1 -0
- package/dist/cjs/udp-forms-builder.cjs.entry.js +2 -2
- package/dist/cjs/udp-forms-builder.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-follow-up-list-card.cjs.entry.js +3 -3
- package/dist/cjs/udp-forms-follow-up-list-card.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-list-card.cjs.entry.js +6 -6
- package/dist/cjs/udp-forms-list-card.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-list.cjs.entry.js +2 -2
- package/dist/cjs/udp-forms-list.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-renderer.cjs.entry.js +270 -202
- package/dist/cjs/udp-forms-renderer.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-forms-ui.cjs.entry.js +6 -6
- package/dist/cjs/udp-forms-ui.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-linear-loader.udp-side-sheet.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-linear-loader_2.cjs.entry.js +289 -0
- package/dist/cjs/udp-map.cjs.entry.js +3 -3
- package/dist/cjs/udp-menu-item.udp-pop-over.entry.cjs.js.map +1 -0
- package/dist/cjs/{udp-pop-over.cjs.entry.js → udp-menu-item_2.cjs.entry.js} +23 -1
- package/dist/cjs/udp-page.cjs.entry.js +1 -1
- package/dist/cjs/udp-skeleton-loading.cjs.entry.js +1 -1
- package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
- package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
- package/dist/cjs/udp-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/udp-tab.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline-connector.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline-dot.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline-item.cjs.entry.js +2 -2
- package/dist/cjs/udp-timeline-separator.cjs.entry.js +1 -1
- package/dist/cjs/udp-timeline.cjs.entry.js +1 -1
- package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
- package/dist/cjs/{utils-DZ_OMtAy.js → utils-Bp02BX38.js} +8 -8
- package/dist/cjs/utils-Bp02BX38.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.js +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js +4 -4
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.js +5 -5
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js +5 -5
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js +6 -6
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer/question-specific-configs-renderer.js +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer/question-specific-configs-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js +4 -4
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js +7 -7
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js +2 -2
- package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js +3 -3
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js +13 -13
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.js +195 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +86 -238
- package/dist/collection/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/classes/UdpForm.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpFormSubmission.js +4 -12
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/classes/UdpFormSubmission.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/enums.js +6 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/enums.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/IFormHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-handler/UdpFormHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/FormSubmissionHandlerFactory.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/IFormSubmissionHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PrivateFormSubmissionHandler.js +6 -4
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PrivateFormSubmissionHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/PublicFormSubmissionHandler.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/form-submission-handler/formUtils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/types.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/utils.js +5 -5
- package/dist/collection/components/forms/udp-forms/udp-forms-utils/utils.js.map +1 -0
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.js +10 -10
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.js.map +1 -1
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js +13 -13
- package/dist/collection/components/forms/udp-forms/udp-question/udp-question.js.map +1 -1
- package/dist/collection/components/grid/new-grid/ag-grid-base.js +2 -1
- package/dist/collection/components/grid/new-grid/ag-grid-base.js.map +1 -1
- package/dist/collection/components/grid/new-grid/api-method-instance-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/client-side-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js +1 -0
- package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js.map +1 -1
- package/dist/collection/components/grid/new-grid/entity-maintenance-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js +24 -9
- package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js.map +1 -1
- package/dist/collection/components/grid/new-grid/interfaces/grid.js.map +1 -1
- package/dist/collection/components/grid/new-grid/search-method-grid.js +1 -1
- package/dist/collection/components/grid/new-grid/server-side-grid.js +1 -1
- package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
- package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
- package/dist/collection/components/inputs/checkbox/check-box.js +2 -2
- package/dist/collection/components/inputs/date-range-selector/udp-date-range-selector.js +1 -1
- package/dist/collection/components/inputs/date-selector/udp-date-selector.js +3 -3
- package/dist/collection/components/inputs/date-time-selector/udp-datetime-selector.js +3 -3
- package/dist/collection/components/inputs/form metadata display/form-metadata-display.js +2 -2
- package/dist/collection/components/inputs/form metadata display/form-metadata-display.js.map +1 -1
- package/dist/collection/components/inputs/image-upload/image-upload.js +1 -1
- package/dist/collection/components/inputs/numeric-field/numeric-field.js +3 -3
- package/dist/collection/components/inputs/signature-input/signature-input.js +2 -2
- package/dist/collection/components/inputs/tally/tally.js +2 -2
- package/dist/collection/components/inputs/text-area/text-area.js +3 -3
- package/dist/collection/components/inputs/text-field/text-field.js +3 -3
- package/dist/collection/components/inputs/time-selector/udp-time-selector.js +3 -3
- package/dist/collection/components/inputs/toggle/stencil-toggle.js +4 -4
- package/dist/collection/components/inputs/udp-selector/udp-selector.js +4 -4
- package/dist/collection/components/layout/udp-container/udp-container.js +2 -2
- package/dist/collection/components/layout/udp-container-query/udp-container-query.js +2 -2
- package/dist/collection/components/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
- package/dist/collection/components/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
- package/dist/collection/components/layout/udp-page/udp-page.js +1 -1
- package/dist/collection/components/layout/udp-split-screen/udp-split-screen.js +1 -1
- package/dist/collection/components/layout/udp-vertical-spacer.js +1 -1
- package/dist/collection/components/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
- package/dist/collection/components/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
- package/dist/collection/components/loaders/udp-skeleton-loading.js +1 -1
- package/dist/collection/components/map/udp-map/map-component.js +1 -1
- package/dist/collection/components/map/udp-map/popups/add-map-feature-popup.js +3 -3
- package/dist/collection/components/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
- package/dist/collection/components/map/udp-map/popups/feature-details-popup.js +1 -1
- package/dist/collection/components/map/udp-map/popups/select-layer-popup.js +2 -2
- package/dist/collection/components/map/udp-map/popups/split-line-popup.js +1 -1
- package/dist/collection/components/map/udp-map/toolbar/map-toolbar.js +6 -6
- package/dist/collection/components/map/udp-map/udp-map-toolbar.js +1 -1
- package/dist/collection/components/map/udp-map/udp-map.js +3 -3
- package/dist/collection/components/menu/menu-item/udp-menu-item.js +1 -1
- package/dist/collection/components/menu/udp-menu.js +1 -1
- package/dist/collection/components/stepper/udp-stepper-demo.js +1 -1
- package/dist/collection/components/tabs/tab/tabs/udp-tabs.js +2 -2
- package/dist/collection/components/tabs/tab/udp-tab.js +1 -1
- package/dist/collection/components/tabs/udp-tab-panel/udp-tab-panel.js +2 -2
- package/dist/collection/components/timeline/udp-timeline-connector.js +1 -1
- package/dist/collection/components/timeline/udp-timeline-dot.js +1 -1
- package/dist/collection/components/timeline/udp-timeline-item.js +2 -2
- package/dist/collection/components/timeline/udp-timeline-separator.js +1 -1
- package/dist/collection/components/timeline/udp-timeline.js +1 -1
- package/dist/collection/components/toolbars/app-bar/app-bar.js +1 -1
- package/dist/collection/components/util/ghost-render/ghost-render.js +1 -1
- package/dist/collection/deprecated/components/side-sheet/side-sheet-container.js +1 -1
- package/dist/collection/deprecated/components/side-sheet/side-sheet.js +1 -1
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
- package/dist/components/add-map-feature-popup2.js +3 -3
- package/dist/components/ag-grid-base2.js +78 -38
- package/dist/components/ag-grid-base2.js.map +1 -1
- package/dist/components/api-method-instance-grid.js +59 -35
- package/dist/components/api-method-instance-grid.js.map +1 -1
- package/dist/components/app-bar.js +1 -1
- package/dist/components/check-box.js +2 -2
- package/dist/components/chip-section.js +2 -2
- package/dist/components/client-side-grid2.js +55 -31
- package/dist/components/client-side-grid2.js.map +1 -1
- package/dist/components/date-time-renderer2.js.map +1 -1
- package/dist/components/entity-maintenance-grid.js +1 -1
- package/dist/components/enums.js +7 -1
- package/dist/components/enums.js.map +1 -1
- package/dist/components/feature-details-card2.js +4 -4
- package/dist/components/feature-details-popup2.js +1 -1
- package/dist/components/file-upload-renderer2.js +2 -2
- package/dist/components/file-upload-renderer2.js.map +1 -1
- package/dist/components/form-metadata-display-renderer2.js +3 -3
- package/dist/components/form-metadata-display-renderer2.js.map +1 -1
- package/dist/components/form-metadata-display2.js +1 -1
- package/dist/components/form-metadata-display2.js.map +1 -1
- package/dist/components/forms-builder-utils.js.map +1 -1
- package/dist/components/ghost-render2.js +1 -1
- package/dist/components/image-upload2.js +1 -1
- package/dist/components/list-options-renderer2.js +3 -3
- package/dist/components/list-options-renderer2.js.map +1 -1
- package/dist/components/map-component2.js +1 -1
- package/dist/components/map-toolbar2.js +6 -6
- package/dist/components/numeric-field2.js +3 -3
- package/dist/components/question-configs-renderer2.js +5 -5
- package/dist/components/question-configs-renderer2.js.map +1 -1
- package/dist/components/question-specific-configs-renderer2.js.map +1 -1
- package/dist/components/resource-timeline-calendar.js +59 -35
- package/dist/components/resource-timeline-calendar.js.map +1 -1
- package/dist/components/resource-timeline-primary-bar2.js +2 -2
- package/dist/components/search-method-grid2.js +58 -33
- package/dist/components/search-method-grid2.js.map +1 -1
- package/dist/components/select-layer-popup2.js +2 -2
- package/dist/components/server-side-grid2.js +55 -31
- package/dist/components/server-side-grid2.js.map +1 -1
- package/dist/components/side-sheet-container2.js +1 -1
- package/dist/components/side-sheet2.js +1 -1
- package/dist/components/signature-input2.js +2 -2
- package/dist/components/signature-renderer2.js +1 -1
- package/dist/components/signature-renderer2.js.map +1 -1
- package/dist/components/split-line-popup2.js +1 -1
- package/dist/components/stencil-toggle2.js +4 -4
- package/dist/components/tally.js +2 -2
- package/dist/components/text-area2.js +3 -3
- package/dist/components/text-field2.js +3 -3
- package/dist/components/text-input-renderer2.js +2 -2
- package/dist/components/text-input-renderer2.js.map +1 -1
- package/dist/components/udp-container-query-grid-item.js +1 -1
- package/dist/components/udp-container-query-grid.js +1 -1
- package/dist/components/udp-container-query2.js +2 -2
- package/dist/components/udp-container2.js +2 -2
- package/dist/components/udp-date-range-selector.js +1 -1
- package/dist/components/udp-date-selector2.js +3 -3
- package/dist/components/udp-datetime-selector2.js +3 -3
- package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
- package/dist/components/udp-forms-builder.js.map +1 -1
- package/dist/components/udp-forms-follow-up-list-card.js +2 -2
- package/dist/components/udp-forms-follow-up-list-card.js.map +1 -1
- package/dist/components/udp-forms-list-card2.js +4 -4
- package/dist/components/udp-forms-list-card2.js.map +1 -1
- package/dist/components/udp-forms-list.js +1 -1
- package/dist/components/udp-forms-list.js.map +1 -1
- package/dist/components/udp-forms-renderer.js +273 -207
- package/dist/components/udp-forms-renderer.js.map +1 -1
- package/dist/components/udp-forms-ui2.js +6 -6
- package/dist/components/udp-forms-ui2.js.map +1 -1
- package/dist/components/udp-grid-loader2.js +2 -2
- package/dist/components/udp-linear-loader2.js +1 -1
- package/dist/components/udp-map-toolbar2.js +1 -1
- package/dist/components/udp-map.js +3 -3
- package/dist/components/udp-menu-item2.js +1 -1
- package/dist/components/udp-menu2.js +1 -1
- package/dist/components/udp-page.js +1 -1
- package/dist/components/udp-question-comments2.js +5 -5
- package/dist/components/udp-question-comments2.js.map +1 -1
- package/dist/components/udp-question2.js +4 -4
- package/dist/components/udp-question2.js.map +1 -1
- package/dist/components/udp-selector2.js +4 -4
- package/dist/components/udp-skeleton-loading2.js +1 -1
- package/dist/components/udp-split-screen.js +1 -1
- package/dist/components/udp-stepper-demo.js +1 -1
- package/dist/components/udp-tab-panel.js +2 -2
- package/dist/components/udp-tab.js +1 -1
- package/dist/components/udp-tabs2.js +2 -2
- package/dist/components/udp-time-selector2.js +3 -3
- package/dist/components/udp-timeline-connector.js +1 -1
- package/dist/components/udp-timeline-dot.js +1 -1
- package/dist/components/udp-timeline-item.js +2 -2
- package/dist/components/udp-timeline-separator.js +1 -1
- package/dist/components/udp-timeline.js +1 -1
- package/dist/components/udp-vertical-spacer.js +1 -1
- package/dist/components/utils.js +6 -6
- package/dist/components/utils.js.map +1 -1
- package/dist/docs.json +258 -205
- package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
- package/dist/esm/advanced-search_12.entry.js +1 -1
- package/dist/esm/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.js.map +1 -1
- package/dist/esm/ag-grid-base_6.entry.js +27 -11
- package/dist/esm/api-method-instance-grid.entry.js +1 -1
- package/dist/esm/app-bar.entry.js +1 -1
- package/dist/esm/check-box.entry.js +2 -2
- package/dist/esm/chip-section.entry.js +2 -2
- package/dist/esm/client-side-grid_2.entry.js +3 -3
- package/dist/esm/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.js.map +1 -1
- package/dist/esm/date-time-renderer_7.entry.js +13 -13
- package/dist/esm/entity-maintenance-grid.entry.js +1 -1
- package/dist/esm/{enums-CHxgVY-B.js → enums-DHT5wSnX.js} +9 -3
- package/dist/esm/enums-DHT5wSnX.js.map +1 -0
- package/dist/esm/feature-details-card_2.entry.js +5 -5
- package/dist/esm/filter-conditions_7.entry.js +2 -2
- package/dist/esm/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.js.map +1 -1
- package/dist/esm/form-metadata-display_8.entry.js +15 -15
- package/dist/esm/index-CaZq3YdB.js +10 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-component_2.entry.js +2 -2
- package/dist/esm/numeric-field_5.entry.js +15 -15
- package/dist/esm/primary-action-header.udp-tabs.entry.js.map +1 -0
- package/dist/esm/{primary-action-header_3.entry.js → primary-action-header_2.entry.js} +5 -262
- package/dist/esm/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.js.map +1 -1
- package/dist/esm/question-configs-renderer_4.entry.js +7 -7
- package/dist/esm/resource-timeline-calendar.entry.js +1 -1
- package/dist/esm/search-method-grid.entry.js +2 -1
- package/dist/esm/search-method-grid.entry.js.map +1 -1
- package/dist/esm/server-side-grid.entry.js +1 -1
- package/dist/esm/side-sheet-container.entry.js +1 -1
- package/dist/esm/stencil-library.js +1 -1
- package/dist/esm/stencil-toggle.entry.js +4 -4
- package/dist/esm/text-field_2.entry.js +7 -7
- package/dist/esm/udp-chip_3.entry.js +1 -1
- package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
- package/dist/esm/udp-container-query-grid.entry.js +1 -1
- package/dist/esm/udp-container-query.entry.js +2 -2
- package/dist/esm/udp-container.entry.js +33 -0
- package/dist/esm/udp-container.entry.js.map +1 -0
- package/dist/esm/udp-date-range-selector.entry.js +1 -1
- package/dist/esm/udp-dynamic-container-with-menu.entry.js +1 -1
- package/dist/esm/{udp-forms-builder-question-template-DQJb7f4Y.js → udp-forms-builder-question-template-D6ADNZEG.js} +3 -3
- package/dist/esm/udp-forms-builder-question-template-D6ADNZEG.js.map +1 -0
- package/dist/esm/udp-forms-builder.entry.js +2 -2
- package/dist/esm/udp-forms-builder.entry.js.map +1 -1
- package/dist/esm/udp-forms-follow-up-list-card.entry.js +3 -3
- package/dist/esm/udp-forms-follow-up-list-card.entry.js.map +1 -1
- package/dist/esm/udp-forms-list-card.entry.js +6 -6
- package/dist/esm/udp-forms-list-card.entry.js.map +1 -1
- package/dist/esm/udp-forms-list.entry.js +2 -2
- package/dist/esm/udp-forms-list.entry.js.map +1 -1
- package/dist/esm/udp-forms-renderer.entry.js +270 -202
- package/dist/esm/udp-forms-renderer.entry.js.map +1 -1
- package/dist/esm/udp-forms-ui.entry.js +6 -6
- package/dist/esm/udp-forms-ui.entry.js.map +1 -1
- package/dist/esm/udp-linear-loader.udp-side-sheet.entry.js.map +1 -0
- package/dist/esm/udp-linear-loader_2.entry.js +282 -0
- package/dist/esm/udp-map.entry.js +3 -3
- package/dist/esm/udp-menu-item.udp-pop-over.entry.js.map +1 -0
- package/dist/esm/{udp-pop-over.entry.js → udp-menu-item_2.entry.js} +24 -3
- package/dist/esm/udp-page.entry.js +1 -1
- package/dist/esm/udp-skeleton-loading.entry.js +1 -1
- package/dist/esm/udp-split-screen.entry.js +1 -1
- package/dist/esm/udp-stepper-demo.entry.js +1 -1
- package/dist/esm/udp-tab-panel.entry.js +2 -2
- package/dist/esm/udp-tab.entry.js +1 -1
- package/dist/esm/udp-timeline-connector.entry.js +1 -1
- package/dist/esm/udp-timeline-dot.entry.js +1 -1
- package/dist/esm/udp-timeline-item.entry.js +2 -2
- package/dist/esm/udp-timeline-separator.entry.js +1 -1
- package/dist/esm/udp-timeline.entry.js +1 -1
- package/dist/esm/udp-vertical-spacer.entry.js +1 -1
- package/dist/esm/{utils-CiUp9KGZ.js → utils-kwLwITIE.js} +8 -8
- package/dist/esm/utils-kwLwITIE.js.map +1 -0
- package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
- package/dist/stencil-library/advanced-search_12.entry.js +1 -1
- package/dist/stencil-library/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.esm.js.map +1 -1
- package/dist/stencil-library/ag-grid-base_6.entry.js +1 -1
- package/dist/stencil-library/ag-grid-base_6.entry.js.map +1 -1
- package/dist/stencil-library/api-method-instance-grid.entry.js +1 -1
- package/dist/stencil-library/app-bar.entry.js +1 -1
- package/dist/stencil-library/check-box.entry.js +1 -1
- package/dist/stencil-library/chip-section.entry.js +1 -1
- package/dist/stencil-library/client-side-grid_2.entry.js +1 -1
- package/dist/stencil-library/date-time-renderer.file-upload-renderer.form-metadata-display-renderer.list-options-renderer.question-specific-configs-renderer.signature-renderer.text-input-renderer.entry.esm.js.map +1 -1
- package/dist/stencil-library/date-time-renderer_7.entry.js +1 -1
- package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
- package/dist/stencil-library/{enums-CHxgVY-B.js → enums-DHT5wSnX.js} +2 -2
- package/dist/stencil-library/enums-DHT5wSnX.js.map +1 -0
- package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
- package/dist/stencil-library/filter-conditions_7.entry.js +1 -1
- package/dist/stencil-library/form-metadata-display.image-upload.signature-input.stencil-form.tally-display.udp-question.udp-question-comments.udp-save-draft-button.entry.esm.js.map +1 -1
- package/dist/stencil-library/form-metadata-display_8.entry.js +1 -1
- package/dist/stencil-library/form-metadata-display_8.entry.js.map +1 -1
- package/dist/stencil-library/map-component_2.entry.js +1 -1
- package/dist/stencil-library/numeric-field_5.entry.js +1 -1
- package/dist/stencil-library/primary-action-header.udp-tabs.entry.esm.js.map +1 -0
- package/dist/stencil-library/primary-action-header_2.entry.js +2 -0
- package/dist/stencil-library/primary-action-header_2.entry.js.map +1 -0
- package/dist/stencil-library/question-configs-renderer.section-configs-renderer.udp-forms-builder-menu.udp-forms-builder-question-item.entry.esm.js.map +1 -1
- package/dist/stencil-library/question-configs-renderer_4.entry.js +1 -1
- package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
- package/dist/stencil-library/search-method-grid.entry.esm.js.map +1 -1
- package/dist/stencil-library/search-method-grid.entry.js +1 -1
- package/dist/stencil-library/search-method-grid.entry.js.map +1 -1
- package/dist/stencil-library/server-side-grid.entry.js +1 -1
- package/dist/stencil-library/side-sheet-container.entry.js +1 -1
- package/dist/stencil-library/stencil-library.esm.js +1 -1
- package/dist/stencil-library/stencil-toggle.entry.js +1 -1
- package/dist/stencil-library/text-field_2.entry.js +1 -1
- package/dist/stencil-library/udp-chip_3.entry.js +1 -1
- package/dist/stencil-library/udp-container-query-grid-item.entry.js +1 -1
- package/dist/stencil-library/udp-container-query-grid.entry.js +1 -1
- package/dist/stencil-library/udp-container-query.entry.js +1 -1
- package/dist/stencil-library/udp-container.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-container.entry.js +2 -0
- package/dist/stencil-library/udp-container.entry.js.map +1 -0
- package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
- package/dist/stencil-library/udp-dynamic-container-with-menu.entry.js +1 -1
- package/dist/stencil-library/{udp-forms-builder-question-template-DQJb7f4Y.js → udp-forms-builder-question-template-D6ADNZEG.js} +2 -2
- package/dist/stencil-library/udp-forms-builder-question-template-D6ADNZEG.js.map +1 -0
- package/dist/stencil-library/udp-forms-builder.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-builder.entry.js +1 -1
- package/dist/stencil-library/udp-forms-follow-up-list-card.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-follow-up-list-card.entry.js +1 -1
- package/dist/stencil-library/udp-forms-list-card.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-list-card.entry.js +1 -1
- package/dist/stencil-library/udp-forms-list-card.entry.js.map +1 -1
- package/dist/stencil-library/udp-forms-list.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-list.entry.js +1 -1
- package/dist/stencil-library/udp-forms-renderer.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-renderer.entry.js +1 -1
- package/dist/stencil-library/udp-forms-renderer.entry.js.map +1 -1
- package/dist/stencil-library/udp-forms-ui.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-forms-ui.entry.js +1 -1
- package/dist/stencil-library/udp-forms-ui.entry.js.map +1 -1
- package/dist/stencil-library/udp-linear-loader.udp-side-sheet.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-linear-loader_2.entry.js +2 -0
- package/dist/stencil-library/udp-linear-loader_2.entry.js.map +1 -0
- package/dist/stencil-library/udp-map.entry.js +1 -1
- package/dist/stencil-library/udp-menu-item.udp-pop-over.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-menu-item_2.entry.js +2 -0
- package/dist/stencil-library/udp-menu-item_2.entry.js.map +1 -0
- package/dist/stencil-library/udp-page.entry.js +1 -1
- package/dist/stencil-library/udp-skeleton-loading.entry.js +1 -1
- package/dist/stencil-library/udp-split-screen.entry.js +1 -1
- package/dist/stencil-library/udp-stepper-demo.entry.js +1 -1
- package/dist/stencil-library/udp-tab-panel.entry.js +1 -1
- package/dist/stencil-library/udp-tab.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-connector.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-dot.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-item.entry.js +1 -1
- package/dist/stencil-library/udp-timeline-item.entry.js.map +1 -1
- package/dist/stencil-library/udp-timeline-separator.entry.js +1 -1
- package/dist/stencil-library/udp-timeline.entry.js +1 -1
- package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
- package/dist/stencil-library/{utils-CiUp9KGZ.js → utils-kwLwITIE.js} +1 -1
- package/dist/stencil-library/utils-kwLwITIE.js.map +1 -0
- package/dist/types/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.d.ts +2 -2
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/date-time-renderer/date-time-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/form-metadata-display-renderer/form-metadata-display-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-forms-builder/udp-forms-builder.d.ts +2 -2
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-ui/udp-forms-ui.d.ts +4 -4
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-utils.d.ts +12 -0
- package/dist/types/components/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.d.ts +4 -9
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpFormSubmission.d.ts +4 -5
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/enums.d.ts +5 -0
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/types.d.ts +0 -1
- package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/utils.d.ts +1 -1
- package/dist/types/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.d.ts +2 -2
- package/dist/types/components/forms/udp-forms/udp-question/udp-question.d.ts +4 -4
- package/dist/types/components/grid/new-grid/gridFunctions/bulkActions.d.ts +4 -2
- package/dist/types/components/grid/new-grid/interfaces/grid.d.ts +1 -0
- package/dist/types/components.d.ts +32 -30
- package/package.json +1 -1
- package/dist/cjs/enums-DVbZnzL8.js.map +0 -1
- package/dist/cjs/primary-action-header.udp-side-sheet.udp-tabs.entry.cjs.js.map +0 -1
- package/dist/cjs/udp-container.udp-linear-loader.entry.cjs.js.map +0 -1
- package/dist/cjs/udp-container_2.cjs.entry.js +0 -56
- package/dist/cjs/udp-forms-builder-question-template-CNONS2l5.js.map +0 -1
- package/dist/cjs/udp-menu-item.cjs.entry.js +0 -27
- package/dist/cjs/udp-menu-item.entry.cjs.js.map +0 -1
- package/dist/cjs/udp-pop-over.entry.cjs.js.map +0 -1
- package/dist/cjs/utils-DZ_OMtAy.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/classes/UdpForm.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/classes/UdpFormSubmission.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/enums.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-handler/IFormHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-handler/UdpFormHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/FormSubmissionHandlerFactory.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/IFormSubmissionHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/PrivateFormSubmissionHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/PublicFormSubmissionHandler.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/form-submission-handler/formUtils.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/types.js.map +0 -1
- package/dist/collection/components/forms/udp-forms/utils/utils.js.map +0 -1
- package/dist/esm/enums-CHxgVY-B.js.map +0 -1
- package/dist/esm/primary-action-header.udp-side-sheet.udp-tabs.entry.js.map +0 -1
- package/dist/esm/udp-container.udp-linear-loader.entry.js.map +0 -1
- package/dist/esm/udp-container_2.entry.js +0 -53
- package/dist/esm/udp-forms-builder-question-template-DQJb7f4Y.js.map +0 -1
- package/dist/esm/udp-menu-item.entry.js +0 -25
- package/dist/esm/udp-menu-item.entry.js.map +0 -1
- package/dist/esm/udp-pop-over.entry.js.map +0 -1
- package/dist/esm/utils-CiUp9KGZ.js.map +0 -1
- package/dist/stencil-library/enums-CHxgVY-B.js.map +0 -1
- package/dist/stencil-library/primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js.map +0 -1
- package/dist/stencil-library/primary-action-header_3.entry.js +0 -2
- package/dist/stencil-library/primary-action-header_3.entry.js.map +0 -1
- package/dist/stencil-library/udp-container.udp-linear-loader.entry.esm.js.map +0 -1
- package/dist/stencil-library/udp-container_2.entry.js +0 -2
- package/dist/stencil-library/udp-container_2.entry.js.map +0 -1
- package/dist/stencil-library/udp-forms-builder-question-template-DQJb7f4Y.js.map +0 -1
- package/dist/stencil-library/udp-menu-item.entry.esm.js.map +0 -1
- package/dist/stencil-library/udp-menu-item.entry.js +0 -2
- package/dist/stencil-library/udp-menu-item.entry.js.map +0 -1
- package/dist/stencil-library/udp-pop-over.entry.esm.js.map +0 -1
- package/dist/stencil-library/udp-pop-over.entry.js +0 -2
- package/dist/stencil-library/udp-pop-over.entry.js.map +0 -1
- package/dist/stencil-library/utils-CiUp9KGZ.js.map +0 -1
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpForm.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/IFormHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/UdpFormHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/FormSubmissionHandlerFactory.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/IFormSubmissionHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PublicFormSubmissionHandler.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/formUtils.js +0 -0
- /package/dist/collection/components/forms/udp-forms/{utils → udp-forms-utils}/types.js +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/classes/UdpForm.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/IFormHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-handler/UdpFormHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/FormSubmissionHandlerFactory.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/IFormSubmissionHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PrivateFormSubmissionHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/PublicFormSubmissionHandler.d.ts +0 -0
- /package/dist/types/components/forms/udp-forms/{utils → udp-forms-utils}/form-submission-handler/formUtils.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/udp-forms-utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// take a masterForm's structure and build the empty currentValues object\nimport { UdpForm } from \"src/components\";\n\n/**\n * Translate and format UTC timestamp to local time.\n */\nexport const dateFormatter = (dateString: string, formatStyle: 'long' | 'short' = 'long' ) => {\n let normalizedDateString = dateString;\n\n // Check if the string is in the 'YYYY-MM-DD HH:mm:ss.sss' format (i.e., contains a space, not 'T')\n // If the input is '2025-12-10T20:23:23.055Z', it passes straight through.\n // This format is assumed to be missing timezone info and needs to be treated as UTC.\n if (dateString.includes(' ')) {\n // Replace the space with 'T' \n normalizedDateString = dateString.replace(' ', 'T');\n }\n\n if (!dateString.toUpperCase().endsWith('Z')) {\n // append Z if not there\n normalizedDateString = normalizedDateString + 'Z';\n }\n\n const date = new Date(normalizedDateString);\n\n // short format: DD/MM/YY HH:MM am/pm (e.g. 05/09/25 03:45 pm)\n if (formatStyle === 'short') {\n const pad = (n: number) => String(n).padStart(2, '0');\n const day = pad(date.getDate());\n const month = pad(date.getMonth() + 1);\n const yearShort = String(date.getFullYear()).slice(-2);\n\n const hours24 = date.getHours();\n const minutes = pad(date.getMinutes());\n const period = hours24 >= 12 ? 'pm' : 'am';\n const hours12 = hours24 % 12 === 0 ? 12 : hours24 % 12;\n const hours = String(hours12).padStart(2, '0');\n\n return `${day}/${month}/${yearShort} ${hours}:${minutes} ${period}`;\n }\n\n // default long format \n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n });\n};\n\n\n// eg. { section1: { question1: { value: '', comments: [], metadata: {} }, question2: { value: '', comments: [], metadata: {} } }, section2: { question3: { value: '', comments: [], metadata: {} } } }\nexport const buildEmptyCurrentValues = (masterForm: UdpForm) => {\n const currentValues = {};\n\n for (const section of masterForm.udpFormUdpFormSection) {\n currentValues[section.name] = {};\n\n const questionsOfSection = masterForm.formQuestions.filter(\n question => question.formSectionId == section.id,\n );\n\n for (const question of questionsOfSection) {\n currentValues[section.name][question.name] = {\n value: '', // default empty value\n comments: [], // default empty comments array\n metadata: {}, // default metadata object\n };\n }\n }\n\n return currentValues;\n};\n\n\nexport const overrideFont = (element: HTMLElement, cssVariable) => {\n if(element?.shadowRoot?.lastElementChild){ // this returns null in react for some instances\n element?.shadowRoot?.lastElementChild?.setAttribute?.('style', `font-family: var(${cssVariable})`)\n return;\n }\n const observer = new MutationObserver((mutationsList, observer) => {\n mutationsList.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n mutation.addedNodes.forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n (node as HTMLElement)?.setAttribute?.('style', `font-family: var(${cssVariable})`);\n observer.disconnect(); // Stop observing once the target is found\n }\n });\n }\n });\n });\n\n if (element?.shadowRoot) {\n observer.observe(element.shadowRoot, { childList: true });\n }\n };\n\n\nexport const fontOverrideMapping = {\n Arial: \"--font-override-arial\"\n}"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { dateFormatter } from "../../utils/utils";
|
|
2
|
+
import { dateFormatter } from "../../udp-forms-utils/utils";
|
|
3
3
|
export class UdpQuestionComments {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.commentFieldProps = {};
|
|
6
|
-
this.
|
|
6
|
+
this.currentValues = {};
|
|
7
7
|
this.userId = null;
|
|
8
8
|
}
|
|
9
9
|
emitQuestionCommentAction(type, commentId) {
|
|
@@ -31,7 +31,7 @@ export class UdpQuestionComments {
|
|
|
31
31
|
render() {
|
|
32
32
|
var _a, _b;
|
|
33
33
|
const [sectionName, questionName] = this.question.questionIdentifierKey.split('.');
|
|
34
|
-
const questionData = ((_b = (_a = this.
|
|
34
|
+
const questionData = ((_b = (_a = this.currentValues) === null || _a === void 0 ? void 0 : _a[sectionName]) === null || _b === void 0 ? void 0 : _b[questionName]) || {
|
|
35
35
|
comments: [],
|
|
36
36
|
draftComments: [],
|
|
37
37
|
};
|
|
@@ -48,9 +48,9 @@ export class UdpQuestionComments {
|
|
|
48
48
|
: [];
|
|
49
49
|
// enforce single active action UX:
|
|
50
50
|
// - Only one draft is shown/active at a time (pick first draft if present)
|
|
51
|
-
// detect any draft anywhere in the form's
|
|
51
|
+
// detect any draft anywhere in the form's currentValues
|
|
52
52
|
const activeDraft = draftComments.length > 0 ? draftComments[0] : null;
|
|
53
|
-
const isAnyQuestionContainsActiveDraft = Object.values(this.
|
|
53
|
+
const isAnyQuestionContainsActiveDraft = Object.values(this.currentValues || {}).some((section) => Object.values(section || {}).some((q) => {
|
|
54
54
|
if (!q)
|
|
55
55
|
return false;
|
|
56
56
|
const drafts = q.draftComments;
|
|
@@ -96,8 +96,8 @@ export class UdpQuestionComments {
|
|
|
96
96
|
"references": {
|
|
97
97
|
"UdpFormQuestion": {
|
|
98
98
|
"location": "import",
|
|
99
|
-
"path": "../../utils/types",
|
|
100
|
-
"id": "src/components/forms/udp-forms/utils/types.ts::UdpFormQuestion"
|
|
99
|
+
"path": "../../udp-forms-utils/types",
|
|
100
|
+
"id": "src/components/forms/udp-forms/udp-forms-utils/types.ts::UdpFormQuestion"
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
},
|
|
@@ -128,7 +128,7 @@ export class UdpQuestionComments {
|
|
|
128
128
|
"setter": false,
|
|
129
129
|
"defaultValue": "{}"
|
|
130
130
|
},
|
|
131
|
-
"
|
|
131
|
+
"currentValues": {
|
|
132
132
|
"type": "unknown",
|
|
133
133
|
"mutable": false,
|
|
134
134
|
"complexType": {
|
|
@@ -155,8 +155,8 @@ export class UdpQuestionComments {
|
|
|
155
155
|
"references": {
|
|
156
156
|
"Guid": {
|
|
157
157
|
"location": "import",
|
|
158
|
-
"path": "../../utils/types",
|
|
159
|
-
"id": "src/components/forms/udp-forms/utils/types.ts::Guid"
|
|
158
|
+
"path": "../../udp-forms-utils/types",
|
|
159
|
+
"id": "src/components/forms/udp-forms/udp-forms-utils/types.ts::Guid"
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"udp-question-comments.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { UdpFormQuestion, Guid } from '../../utils/types';\nimport { dateFormatter } from '../../utils/utils';\n\n@Component({\n tag: 'udp-question-comments',\n styleUrl: 'udp-question-comments.css',\n shadow: true,\n})\nexport class UdpQuestionComments {\n @Prop() question: UdpFormQuestion;\n @Prop() commentFieldProps: object = {};\n @Prop() initialValues: { [name: string]: any } = {};\n @Prop() userId: Guid | null = null;\n\n @Event({ bubbles: true, composed: true }) questionCommentAction: EventEmitter<{\n type: 'add' | 'save' | 'edit' | 'delete' | 'editClose';\n questionIdentifierKey: string;\n commentId: string;\n }>;\n\n private emitQuestionCommentAction(type: 'add' | 'save' | 'edit' | 'delete' | 'editClose', commentId) {\n this.questionCommentAction.emit({\n type,\n questionIdentifierKey: this.question.questionIdentifierKey,\n commentId,\n });\n }\n\n private handleCommentAdd() {\n this.emitQuestionCommentAction('add', null);\n }\n private handleCommentSave(commentId) {\n this.emitQuestionCommentAction('save', commentId);\n }\n private handleCommentEdit(commentId) {\n this.emitQuestionCommentAction('edit', commentId);\n }\n private handleCommentDelete(commentId) {\n this.emitQuestionCommentAction('delete', commentId);\n }\n private handleCommentEditClose(commentId) {\n this.emitQuestionCommentAction('editClose', commentId);\n }\n\n render() {\n const [sectionName, questionName] = this.question.questionIdentifierKey.split('.');\n const questionData = this.initialValues?.[sectionName]?.[questionName] || {\n comments: [],\n draftComments: [],\n };\n\n // normalize incoming shape (back-compat)\n const savedComments = Array.isArray(questionData.comments)\n ? questionData.comments\n : questionData.comments\n ? [questionData.comments]\n : [];\n const draftComments = Array.isArray(questionData.draftComments)\n ? questionData.draftComments\n : questionData.draftComments\n ? [questionData.draftComments]\n : [];\n\n // enforce single active action UX:\n // - Only one draft is shown/active at a time (pick first draft if present)\n\n // detect any draft anywhere in the form's initialValues\n const activeDraft = draftComments.length > 0 ? draftComments[0] : null;\n const isAnyQuestionContainsActiveDraft = Object.values(this.initialValues || {}).some((section: any) =>\n Object.values(section || {}).some((q: any) => {\n if (!q) return false;\n const drafts = q.draftComments;\n if (!drafts) return false;\n if ( Array.isArray(drafts) && drafts.length < 1) return false\n\n return true\n }),\n );\n\n return (\n <div>\n {/* Render saved comments — disable actions if a draft is active */}\n {savedComments.map((commentObj, idx) => {\n const commentsIdentifierValueKey = `${this.question.questionIdentifierKey}.comments[${idx}].value`;\n const isOwner = commentObj?.userId === this.userId;\n const showActions = !activeDraft && isOwner; // only show edit/delete when no active draft and owner\n \n\n // return the comment edit component if it's the active draft\n if (activeDraft && commentObj.commentId == activeDraft.commentId) {\n return (\n <div class=\"question-comment-draft-container\" key={activeDraft.commentId || `draft-0`}>\n <stencil-field\n name={`${this.question.questionIdentifierKey}.draftComments[0].value`}\n required={true}\n ignoreDirty={true}\n >\n <text-area {...this.commentFieldProps} label=\"Comment:\" placeholder=\"Add a comment\" />\n </stencil-field>\n\n <div class=\"question-comment-action-container\">\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentSave(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"save\" color=\"inherit\" />}\n >\n Save\n </udp-button>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentDelete(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"trashCan\" color=\"inherit\" />}\n >\n Delete\n </udp-button>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentEditClose(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"close16\" color=\"inherit\" />}\n >\n Cancel\n </udp-button>\n </div>\n </div>\n )\n }\n\n // return the comment display component \n return !commentObj?.isDeleted ? (\n <div class=\"question-comment-input-container\" key={commentObj.commentId || idx}>\n <stencil-field name={commentsIdentifierValueKey} style={{ display: 'none' }}>\n <text-area disabled={true} />\n </stencil-field>\n\n <div class=\"question-comment-display\">\n <unity-typography variant=\"h4\" color=\"inherit\" class=\"question-comment-header\">\n {`${commentObj?.userDisplayName} ${\n commentObj?.timestamp ? `on ${dateFormatter(commentObj.timestamp, 'short')}` : ''\n }`}\n </unity-typography>\n {commentObj?.value}\n </div>\n <div class=\"question-comment-action-container\">\n {showActions && !isAnyQuestionContainsActiveDraft && (\n <div>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentEdit(commentObj.commentId)}\n startIcon={<udp-icon iconName=\"edit\" color=\"inherit\" />}\n >\n Edit\n </udp-button>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div></div>\n );\n })}\n\n {/* New commend at the bottom of the comment thread */}\n {activeDraft && activeDraft.isTempComment && !savedComments.includes(c => c.commentId == activeDraft.commentId) && (\n <div class=\"question-comment-draft-container\" key={activeDraft.commentId || `draft-0`}>\n <stencil-field\n name={`${this.question.questionIdentifierKey}.draftComments[0].value`}\n required={true}\n ignoreDirty={true}\n >\n <text-area {...this.commentFieldProps} label=\"Comment:\" placeholder=\"Add a comment\" />\n </stencil-field>\n\n <div class=\"question-comment-action-container\">\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentEditClose(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"trashCan\" color=\"inherit\" />}\n >\n Cancel\n </udp-button>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentSave(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"save\" color=\"inherit\" />}\n >\n Save\n </udp-button>\n </div>\n </div>\n )}\n\n {/* Add button only when there is no active draft */}\n {!activeDraft && !isAnyQuestionContainsActiveDraft &&(\n <div class=\"question-comment-add-comment-button\">\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentAdd()}\n startIcon={<udp-icon iconName=\"add\" color=\"inherit\" />}\n >\n Add a Comment\n </udp-button>\n </div>\n )}\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"udp-question-comments.js","sourceRoot":"","sources":["../../../../../../src/components/forms/udp-forms/udp-question/udp-question-comment/udp-question-comments.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { UdpFormQuestion, Guid } from '../../udp-forms-utils/types';\nimport { dateFormatter } from '../../udp-forms-utils/utils';\n\n@Component({\n tag: 'udp-question-comments',\n styleUrl: 'udp-question-comments.css',\n shadow: true,\n})\nexport class UdpQuestionComments {\n @Prop() question: UdpFormQuestion;\n @Prop() commentFieldProps: object = {};\n @Prop() currentValues: { [name: string]: any } = {};\n @Prop() userId: Guid | null = null;\n\n @Event({ bubbles: true, composed: true }) questionCommentAction: EventEmitter<{\n type: 'add' | 'save' | 'edit' | 'delete' | 'editClose';\n questionIdentifierKey: string;\n commentId: string;\n }>;\n\n private emitQuestionCommentAction(type: 'add' | 'save' | 'edit' | 'delete' | 'editClose', commentId) {\n this.questionCommentAction.emit({\n type,\n questionIdentifierKey: this.question.questionIdentifierKey,\n commentId,\n });\n }\n\n private handleCommentAdd() {\n this.emitQuestionCommentAction('add', null);\n }\n private handleCommentSave(commentId) {\n this.emitQuestionCommentAction('save', commentId);\n }\n private handleCommentEdit(commentId) {\n this.emitQuestionCommentAction('edit', commentId);\n }\n private handleCommentDelete(commentId) {\n this.emitQuestionCommentAction('delete', commentId);\n }\n private handleCommentEditClose(commentId) {\n this.emitQuestionCommentAction('editClose', commentId);\n }\n\n render() {\n const [sectionName, questionName] = this.question.questionIdentifierKey.split('.');\n const questionData = this.currentValues?.[sectionName]?.[questionName] || {\n comments: [],\n draftComments: [],\n };\n\n // normalize incoming shape (back-compat)\n const savedComments = Array.isArray(questionData.comments)\n ? questionData.comments\n : questionData.comments\n ? [questionData.comments]\n : [];\n const draftComments = Array.isArray(questionData.draftComments)\n ? questionData.draftComments\n : questionData.draftComments\n ? [questionData.draftComments]\n : [];\n\n // enforce single active action UX:\n // - Only one draft is shown/active at a time (pick first draft if present)\n\n // detect any draft anywhere in the form's currentValues\n const activeDraft = draftComments.length > 0 ? draftComments[0] : null;\n const isAnyQuestionContainsActiveDraft = Object.values(this.currentValues || {}).some((section: any) =>\n Object.values(section || {}).some((q: any) => {\n if (!q) return false;\n const drafts = q.draftComments;\n if (!drafts) return false;\n if ( Array.isArray(drafts) && drafts.length < 1) return false\n\n return true\n }),\n );\n\n return (\n <div>\n {/* Render saved comments — disable actions if a draft is active */}\n {savedComments.map((commentObj, idx) => {\n const commentsIdentifierValueKey = `${this.question.questionIdentifierKey}.comments[${idx}].value`;\n const isOwner = commentObj?.userId === this.userId;\n const showActions = !activeDraft && isOwner; // only show edit/delete when no active draft and owner\n \n\n // return the comment edit component if it's the active draft\n if (activeDraft && commentObj.commentId == activeDraft.commentId) {\n return (\n <div class=\"question-comment-draft-container\" key={activeDraft.commentId || `draft-0`}>\n <stencil-field\n name={`${this.question.questionIdentifierKey}.draftComments[0].value`}\n required={true}\n ignoreDirty={true}\n >\n <text-area {...this.commentFieldProps} label=\"Comment:\" placeholder=\"Add a comment\" />\n </stencil-field>\n\n <div class=\"question-comment-action-container\">\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentSave(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"save\" color=\"inherit\" />}\n >\n Save\n </udp-button>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentDelete(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"trashCan\" color=\"inherit\" />}\n >\n Delete\n </udp-button>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentEditClose(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"close16\" color=\"inherit\" />}\n >\n Cancel\n </udp-button>\n </div>\n </div>\n )\n }\n\n // return the comment display component \n return !commentObj?.isDeleted ? (\n <div class=\"question-comment-input-container\" key={commentObj.commentId || idx}>\n <stencil-field name={commentsIdentifierValueKey} style={{ display: 'none' }}>\n <text-area disabled={true} />\n </stencil-field>\n\n <div class=\"question-comment-display\">\n <unity-typography variant=\"h4\" color=\"inherit\" class=\"question-comment-header\">\n {`${commentObj?.userDisplayName} ${\n commentObj?.timestamp ? `on ${dateFormatter(commentObj.timestamp, 'short')}` : ''\n }`}\n </unity-typography>\n {commentObj?.value}\n </div>\n <div class=\"question-comment-action-container\">\n {showActions && !isAnyQuestionContainsActiveDraft && (\n <div>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentEdit(commentObj.commentId)}\n startIcon={<udp-icon iconName=\"edit\" color=\"inherit\" />}\n >\n Edit\n </udp-button>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div></div>\n );\n })}\n\n {/* New commend at the bottom of the comment thread */}\n {activeDraft && activeDraft.isTempComment && !savedComments.includes(c => c.commentId == activeDraft.commentId) && (\n <div class=\"question-comment-draft-container\" key={activeDraft.commentId || `draft-0`}>\n <stencil-field\n name={`${this.question.questionIdentifierKey}.draftComments[0].value`}\n required={true}\n ignoreDirty={true}\n >\n <text-area {...this.commentFieldProps} label=\"Comment:\" placeholder=\"Add a comment\" />\n </stencil-field>\n\n <div class=\"question-comment-action-container\">\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentEditClose(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"trashCan\" color=\"inherit\" />}\n >\n Cancel\n </udp-button>\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentSave(activeDraft.commentId)}\n startIcon={<udp-icon iconName=\"save\" color=\"inherit\" />}\n >\n Save\n </udp-button>\n </div>\n </div>\n )}\n\n {/* Add button only when there is no active draft */}\n {!activeDraft && !isAnyQuestionContainsActiveDraft &&(\n <div class=\"question-comment-add-comment-button\">\n <udp-button\n variant=\"text\"\n onClick={() => this.handleCommentAdd()}\n startIcon={<udp-icon iconName=\"add\" color=\"inherit\" />}\n >\n Add a Comment\n </udp-button>\n </div>\n )}\n </div>\n );\n }\n}\n"]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { UdpFormsFieldTypeEnum } from "../utils/enums";
|
|
3
|
-
import { fontOverrideMapping, overrideFont } from "../utils/utils";
|
|
2
|
+
import { UdpFormsFieldTypeEnum } from "../udp-forms-utils/enums";
|
|
3
|
+
import { fontOverrideMapping, overrideFont } from "../udp-forms-utils/utils";
|
|
4
4
|
import { useFormApi } from "../../form/useFormApi";
|
|
5
5
|
import { getIconFromName } from "../../../data-display/icons/iconUtils";
|
|
6
|
-
import { UdpFormsPageIdEnum } from "../utils/enums";
|
|
6
|
+
import { UdpFormsPageIdEnum } from "../udp-forms-utils/enums";
|
|
7
7
|
export class UdpQuestion {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.disabled = false;
|
|
10
10
|
this.readonly = false;
|
|
11
|
-
this.
|
|
11
|
+
this.currentValues = {};
|
|
12
12
|
this.clientUserInfo = {
|
|
13
13
|
id: null,
|
|
14
14
|
displayName: null,
|
|
@@ -218,7 +218,7 @@ export class UdpQuestion {
|
|
|
218
218
|
'question-container': true,
|
|
219
219
|
} }, h("div", { class: "question-title-and-helper-container" }, h("div", { class: "question-title-and-followup-container" }, this.question.questionText && (h("unity-typography", { id: `questionText${this.question.name}`, variant: ((_b = (_a = this.styleOverrides) === null || _a === void 0 ? void 0 : _a.questionText) === null || _b === void 0 ? void 0 : _b.variant) || 'h3' }, titleText)), h("div", null, this.question.fieldProperties.allowFollowUpForms && ((() => {
|
|
220
220
|
var _a;
|
|
221
|
-
const metadata = (_a = this.
|
|
221
|
+
const metadata = (_a = this.currentValues[sectionKey][questionKey]) === null || _a === void 0 ? void 0 : _a.metadata;
|
|
222
222
|
const followUpId = metadata === null || metadata === void 0 ? void 0 : metadata.followUpFormSubmissionId;
|
|
223
223
|
if (followUpId) {
|
|
224
224
|
// Valid GUID → show arrow icon to open follow-up form
|
|
@@ -232,7 +232,7 @@ export class UdpQuestion {
|
|
|
232
232
|
this.launchFollowUpFormSideSheet.emit({ sectionKey, questionKey });
|
|
233
233
|
} }));
|
|
234
234
|
}
|
|
235
|
-
})()))), this.question.helperText && (h("unity-typography", { id: `helperText${this.question.name}`, variant: ((_d = (_c = this.styleOverrides) === null || _c === void 0 ? void 0 : _c.helperText) === null || _d === void 0 ? void 0 : _d.variant) || 'caption-text' }, this.question.helperText))), component, this.question.fieldProperties.allowFollowUpForms && (h("div", null, h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormId` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId` }, h("text-field", null)))), this.question.fieldProperties.allowComments && (h("udp-question-comments", { question: this.question,
|
|
235
|
+
})()))), this.question.helperText && (h("unity-typography", { id: `helperText${this.question.name}`, variant: ((_d = (_c = this.styleOverrides) === null || _c === void 0 ? void 0 : _c.helperText) === null || _d === void 0 ? void 0 : _d.variant) || 'caption-text' }, this.question.helperText))), component, this.question.fieldProperties.allowFollowUpForms && (h("div", null, h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormId` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion` }, h("text-field", null)), h("stencil-field", { hidden: true, name: `${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId` }, h("text-field", null)))), this.question.fieldProperties.allowComments && (h("udp-question-comments", { question: this.question, currentValues: this.currentValues, userId: this.clientUserInfo.id }))));
|
|
236
236
|
}
|
|
237
237
|
static get is() { return "udp-question"; }
|
|
238
238
|
static get encapsulation() { return "shadow"; }
|
|
@@ -257,8 +257,8 @@ export class UdpQuestion {
|
|
|
257
257
|
"references": {
|
|
258
258
|
"UdpFormQuestion": {
|
|
259
259
|
"location": "import",
|
|
260
|
-
"path": "../utils/types",
|
|
261
|
-
"id": "src/components/forms/udp-forms/utils/types.ts::UdpFormQuestion"
|
|
260
|
+
"path": "../udp-forms-utils/types",
|
|
261
|
+
"id": "src/components/forms/udp-forms/udp-forms-utils/types.ts::UdpFormQuestion"
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
},
|
|
@@ -358,8 +358,8 @@ export class UdpQuestion {
|
|
|
358
358
|
"references": {
|
|
359
359
|
"FontOverrides": {
|
|
360
360
|
"location": "import",
|
|
361
|
-
"path": "../utils/types",
|
|
362
|
-
"id": "src/components/forms/udp-forms/utils/types.ts::FontOverrides"
|
|
361
|
+
"path": "../udp-forms-utils/types",
|
|
362
|
+
"id": "src/components/forms/udp-forms/udp-forms-utils/types.ts::FontOverrides"
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
},
|
|
@@ -372,7 +372,7 @@ export class UdpQuestion {
|
|
|
372
372
|
"getter": false,
|
|
373
373
|
"setter": false
|
|
374
374
|
},
|
|
375
|
-
"
|
|
375
|
+
"currentValues": {
|
|
376
376
|
"type": "unknown",
|
|
377
377
|
"mutable": false,
|
|
378
378
|
"complexType": {
|
|
@@ -417,8 +417,8 @@ export class UdpQuestion {
|
|
|
417
417
|
"references": {
|
|
418
418
|
"UdpFormSubmission": {
|
|
419
419
|
"location": "import",
|
|
420
|
-
"path": "../utils/classes/UdpFormSubmission",
|
|
421
|
-
"id": "src/components/forms/udp-forms/utils/classes/UdpFormSubmission.ts::UdpFormSubmission"
|
|
420
|
+
"path": "../udp-forms-utils/classes/UdpFormSubmission",
|
|
421
|
+
"id": "src/components/forms/udp-forms/udp-forms-utils/classes/UdpFormSubmission.ts::UdpFormSubmission"
|
|
422
422
|
}
|
|
423
423
|
}
|
|
424
424
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"udp-question.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/udp-question/udp-question.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Element, h, Prop, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { UdpFormQuestion } from '../utils/types';\nimport { UdpFormsFieldTypeEnum } from '../utils/enums';\nimport { FontOverrides } from '../utils/types';\nimport { fontOverrideMapping, overrideFont } from '../utils/utils';\nimport { useFormApi } from '../../form/useFormApi';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { UdpFormsPageIdEnum } from '../utils/enums';\nimport { UdpFormSubmission } from '../utils/classes/UdpFormSubmission';\n\n@Component({\n tag: 'udp-question',\n styleUrl: 'udp-question.css',\n shadow: true,\n})\nexport class UdpQuestion {\n @Prop() question: UdpFormQuestion;\n @Prop() questionNumber: number;\n @Prop({ mutable: true }) value: string; // only used for Paragraph type (UdpFormsFieldTypeEnum.Paragraph)\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() styleOverrides: {\n helperText: FontOverrides;\n questionText: FontOverrides;\n paragraphText: FontOverrides;\n };\n @Prop() initialValues: { [name: string]: any } = {};\n @Prop() clientUserInfo: { id: string | null; displayName: string | null; email: string | null } = {\n id: null,\n displayName: null,\n email: null,\n }\n @Prop() udpFormSubmission: UdpFormSubmission = null;\n\n @Event() launchFollowUpFormSideSheet: EventEmitter<any>;\n\n @State() private _fieldComponent: ComponentInterface;\n @State() private tallyData: {\n yesCount: number;\n noCount: number;\n naCount: number;\n totalFields: number;\n } = { yesCount: 0, noCount: 0, naCount: 0, totalFields: 0 };\n @State() private formApi: any = null;\n\n @Element() el: HTMLElement;\n\n @Watch('question')\n @Watch('questionNumber')\n @Watch('value')\n @Watch('disabled')\n @Watch('readonly')\n @Watch('styleOverrides')\n protected propChanged() {\n this.updateFieldComponent();\n }\n\n async componentWillLoad() {\n this.updateFieldComponent();\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally) {\n await this.initializeFormApiForTally();\n }\n }\n\n private async initializeFormApiForTally() {\n try {\n this.formApi = await useFormApi(this.el);\n\n if (this.formApi) {\n // Subscribe to form changes to update tally in real-time\n const unsubscribe = this.formApi.subscribe(\n () => {\n this.calculateTally();\n },\n { active: true, dirty: true, values: true },\n );\n\n // Store unsubscribe function for cleanup if needed\n (this as any).unsubscribeFormApi = unsubscribe;\n\n // Initial calculation\n this.calculateTally();\n }\n } catch (error) {\n console.error('Failed to initialize form API for tally:', error);\n }\n }\n\n private calculateTally() {\n if (!this.formApi || this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Tally) {\n return;\n }\n\n try {\n const formValues = this.formApi.getState().values;\n\n const formElement = this.el.closest('stencil-form');\n if (!formElement) {\n return;\n }\n\n // Get all udp-question elements in the form\n const questionElements = formElement.querySelectorAll('udp-question');\n const yesNoFields: string[] = [];\n\n // Identify YesNo field types\n questionElements.forEach((questionEl: any) => {\n if (questionEl.question && questionEl.question.fieldTypeId === UdpFormsFieldTypeEnum.YesNo) {\n const fieldName = `${questionEl.question.questionIdentifierKey}.value`;\n if (fieldName) {\n const shouldInclude = this.shouldIncludeFieldInTally(fieldName);\n if (shouldInclude) {\n yesNoFields.push(fieldName);\n }\n }\n }\n });\n\n // Count Yes/No/NA responses\n let yesCount = 0;\n let noCount = 0;\n let naCount = 0;\n\n yesNoFields.forEach(fieldName => {\n const [sectionKey, questionKey] = fieldName.split(\".\");\n const value = formValues[sectionKey][questionKey].value;\n\n if (value === 'true' || value === true) {\n yesCount++;\n } else if (value === 'false' || value === false) {\n noCount++;\n } else if (value === 'na') {\n naCount++;\n }\n });\n\n this.tallyData = {\n yesCount,\n noCount,\n naCount,\n totalFields: yesNoFields.length,\n };\n\n // Force a re-render to update the component\n this.updateFieldComponent();\n } catch (error) {\n console.error('Error calculating tally:', error);\n }\n }\n\n private shouldIncludeFieldInTally(fieldName: string): boolean {\n const fieldProps = this.question.fieldProperties;\n\n // If includeFields is specified, only include those fields\n if (fieldProps?.includeFields && fieldProps.includeFields.length > 0) {\n return fieldProps.includeFields.includes(fieldName);\n }\n\n // If excludeFields is specified, exclude those fields\n if (fieldProps?.excludeFields && fieldProps.excludeFields.length > 0) {\n return !fieldProps.excludeFields.includes(fieldName);\n }\n\n // Include all fields by default\n return true;\n }\n\n private updateFieldComponent() {\n this._fieldComponent = this.getFieldComponent();\n }\n\n private getFieldComponent(): ComponentInterface {\n const props = {\n name: `${this.question.questionIdentifierKey}.value`,\n required: this.question.required,\n };\n\n const fieldProps = { ...this.question.fieldProperties, id: this.questionNumber, disabled: this.disabled, readonly: this.readonly };\n switch (this.question.fieldTypeId) {\n case UdpFormsFieldTypeEnum.SingleLineText:\n return (\n <stencil-field {...props}>\n <text-field {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.MultiLineText:\n return (\n <stencil-field {...props}>\n <text-area fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Checkbox:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.RadioButton:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DropdownSingleSelect:\n case UdpFormsFieldTypeEnum.DropdownMultipleSelect:\n let options: { label: string; value: string } = fieldProps?.items?.map?.(items => ({ label: items.display, value: items.value, ...fieldProps }));\n return (\n <stencil-field {...props}>\n <udp-selector options={options ?? []} multiSelect={this.question.fieldTypeId === UdpFormsFieldTypeEnum.DropdownMultipleSelect} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.YesNo:\n return (\n <stencil-field {...props}>\n <selectable-list\n valueKey=\"value\"\n displayKey=\"display\"\n useCheckbox={true} // Use radio buttons\n multiSelect={false}\n items={[\n { value: 'true', display: 'Yes' },\n { value: 'false', display: 'No' },\n { value: 'na', display: 'Not Applicable' },\n ]}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ListMultiSelect:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateSelector:\n return (\n <stencil-field {...props}>\n <udp-date-selector min={fieldProps?.minDate} max={fieldProps?.maxDate} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.TimeSelector:\n return (\n <stencil-field {...props}>\n <udp-time-selector min={fieldProps?.minTime} max={fieldProps?.maxTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateTimeSelector:\n return (\n <stencil-field {...props}>\n <udp-datetime-selector max={fieldProps?.maxDateTime} min={fieldProps?.minDateTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.FileUpload:\n return (\n <stencil-field {...props}>\n <file-upload fullWidth={true} allowMultiple={false} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ImageUpload:\n return (\n <stencil-field {...props}>\n <image-upload fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Signature:\n return (\n <div>\n <stencil-field {...props} fieldIdentifierKey={`${this.question.questionIdentifierKey}`} registerMetadata={true} metadataFieldNames={['signature.latitude', 'signature.longitude', 'signature.timestamp']}>\n <signature-input {...fieldProps} value={this.value} />\n </stencil-field>\n <stencil-field required={this.question.required} name={ `${this.question.questionIdentifierKey}.metadata.signature.fullName`}>\n <text-field {...fieldProps} label={'Full Name'}/>\n </stencil-field>\n </div>\n );\n case UdpFormsFieldTypeEnum.Paragraph:\n // Wrap in stencil-field and include a hidden input so the value is part of the form submission\n return (\n <stencil-field name={this.question.name} required={false}>\n <input type=\"hidden\" name={this.question.name} value={this.value || ''} />\n {this.value ? (\n <unity-typography id={`paragraphText${this.question.name}`} variant={this.styleOverrides?.paragraphText?.variant || 'body'}>\n {this.value}\n </unity-typography>\n ) : (\n <div />\n )}\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Number:\n return (\n <stencil-field {...props}>\n <numeric-field {...fieldProps} />\n </stencil-field>\n );\n\n case UdpFormsFieldTypeEnum.Tally:\n return (\n <tally-display\n id={this.questionNumber}\n label={this.question.questionText || 'Response Tally'}\n yesCount={this.tallyData.yesCount}\n noCount={this.tallyData.noCount}\n naCount={this.tallyData.naCount}\n totalFields={this.tallyData.totalFields}\n {...fieldProps}\n required={false}\n />\n );\n case UdpFormsFieldTypeEnum.FormMetadataDisplay: {\n const isPersistedSubmission = !!this.udpFormSubmission?.id;\n\n // If persisted, do NOT fall back to client user (avoids showing Person A while viewing Person B's submission)\n const userDisplayName = isPersistedSubmission\n ? (this.udpFormSubmission?.userDisplayName ?? null)\n : (this.clientUserInfo?.displayName ?? null);\n\n const userEmail = isPersistedSubmission\n ? (this.udpFormSubmission?.userEmail ?? null)\n : (this.clientUserInfo?.email ?? null);\n\n const submittedOn = this.udpFormSubmission?.submittedOn ?? null;\n\n return (\n <form-metadata-display\n userDisplayName={userDisplayName}\n userEmail={userEmail}\n submittedOn={submittedOn}\n {...fieldProps}\n />\n );\n };\n case UdpFormsFieldTypeEnum.Hidden:\n default:\n return <div />;\n }\n }\n async componentDidLoad() {\n // If form API wasn't available during componentWillLoad, try again\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally && !this.formApi) {\n await this.initializeFormApiForTally();\n }\n\n // override the fonts based on style overrides\n const variantsAndOverrides = [];\n for (const override in this.styleOverrides) {\n variantsAndOverrides.push({\n id: override + this.question.name,\n fontOverride: this.styleOverrides?.[override]?.fontFamily,\n variant: this.styleOverrides?.[override]?.variant,\n });\n }\n variantsAndOverrides.forEach(override => {\n if (!fontOverrideMapping[override?.fontOverride] || !this.el || !this.el.shadowRoot) return;\n overrideFont(this.el?.shadowRoot?.getElementById?.(override.id), fontOverrideMapping[override?.fontOverride]);\n });\n }\n render() {\n const component = this._fieldComponent;\n const titleText = `${this.question.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph ? '' : `${this.questionNumber}.`} ${this.question.questionText} ${\n this.question.required && this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Paragraph ? '*' : ''\n }`;\n // const commentFieldProps = { disabled: this.disabled, readonly: this.readonly };\n const fieldName = `${this.question.questionIdentifierKey}.value`;\n const [sectionKey, questionKey] = fieldName.split(\".\");\n\n if (!component) return null;\n return (\n <div\n class={{\n 'hidden': this.question.fieldTypeId === UdpFormsFieldTypeEnum.Hidden,\n 'question-container': true,\n }}\n >\n <div class=\"question-title-and-helper-container\">\n <div class=\"question-title-and-followup-container\">\n {this.question.questionText && (\n <unity-typography\n id={`questionText${this.question.name}`}\n variant={this.styleOverrides?.questionText?.variant || 'h3'}\n >\n {titleText}\n </unity-typography>\n )}\n <div>\n {this.question.fieldProperties.allowFollowUpForms && (\n (() => {\n const metadata = this.initialValues[sectionKey][questionKey]?.metadata;\n const followUpId = metadata?.followUpFormSubmissionId;\n if (followUpId) {\n // Valid GUID → show arrow icon to open follow-up form\n const url = `/page/${UdpFormsPageIdEnum.FormRendererPageId}?udpf_submissionId=${followUpId}`;\n return (\n <stencil-icon-button\n icon={getIconFromName('link')}\n tooltip=\"Open Follow-Up Form\"\n onClick={() => window.open(url, '_blank')}\n />\n );\n }\n\n if (!this.readonly) {\n // No valid follow-up yet → show link icon to create one\n return (\n <stencil-icon-button\n icon={getIconFromName('document')}\n tooltip=\"Create Follow-Up Form\"\n onClick={() => {\n console.log('clicked create follow up form')\n this.launchFollowUpFormSideSheet.emit({ sectionKey, questionKey });\n }}\n />\n );\n }\n \n })()\n )}\n </div>\n </div>\n {this.question.helperText && (\n <unity-typography\n id={`helperText${this.question.name}`}\n variant={this.styleOverrides?.helperText?.variant || 'caption-text'}\n >\n {this.question.helperText}\n </unity-typography>\n )}\n </div>\n\n {component}\n\n {this.question.fieldProperties.allowFollowUpForms && (\n <div>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormId`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId`}>\n <text-field />\n </stencil-field>\n </div>\n )}\n {this.question.fieldProperties.allowComments && (\n <udp-question-comments\n question={this.question}\n initialValues={this.initialValues}\n userId={this.clientUserInfo.id}\n />\n )}\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"udp-question.js","sourceRoot":"","sources":["../../../../../src/components/forms/udp-forms/udp-question/udp-question.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Element, h, Prop, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { UdpFormQuestion } from '../udp-forms-utils/types';\nimport { UdpFormsFieldTypeEnum } from '../udp-forms-utils/enums';\nimport { FontOverrides } from '../udp-forms-utils/types';\nimport { fontOverrideMapping, overrideFont } from '../udp-forms-utils/utils';\nimport { useFormApi } from '../../form/useFormApi';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { UdpFormsPageIdEnum } from '../udp-forms-utils/enums';\nimport { UdpFormSubmission } from '../udp-forms-utils/classes/UdpFormSubmission';\n\n@Component({\n tag: 'udp-question',\n styleUrl: 'udp-question.css',\n shadow: true,\n})\nexport class UdpQuestion {\n @Prop() question: UdpFormQuestion;\n @Prop() questionNumber: number;\n @Prop({ mutable: true }) value: string; // only used for Paragraph type (UdpFormsFieldTypeEnum.Paragraph)\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() styleOverrides: {\n helperText: FontOverrides;\n questionText: FontOverrides;\n paragraphText: FontOverrides;\n };\n @Prop() currentValues: { [name: string]: any } = {};\n @Prop() clientUserInfo: { id: string | null; displayName: string | null; email: string | null } = {\n id: null,\n displayName: null,\n email: null,\n }\n @Prop() udpFormSubmission: UdpFormSubmission = null;\n\n @Event() launchFollowUpFormSideSheet: EventEmitter<any>;\n\n @State() private _fieldComponent: ComponentInterface;\n @State() private tallyData: {\n yesCount: number;\n noCount: number;\n naCount: number;\n totalFields: number;\n } = { yesCount: 0, noCount: 0, naCount: 0, totalFields: 0 };\n @State() private formApi: any = null;\n\n @Element() el: HTMLElement;\n\n @Watch('question')\n @Watch('questionNumber')\n @Watch('value')\n @Watch('disabled')\n @Watch('readonly')\n @Watch('styleOverrides')\n protected propChanged() {\n this.updateFieldComponent();\n }\n\n async componentWillLoad() {\n this.updateFieldComponent();\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally) {\n await this.initializeFormApiForTally();\n }\n }\n\n private async initializeFormApiForTally() {\n try {\n this.formApi = await useFormApi(this.el);\n\n if (this.formApi) {\n // Subscribe to form changes to update tally in real-time\n const unsubscribe = this.formApi.subscribe(\n () => {\n this.calculateTally();\n },\n { active: true, dirty: true, values: true },\n );\n\n // Store unsubscribe function for cleanup if needed\n (this as any).unsubscribeFormApi = unsubscribe;\n\n // Initial calculation\n this.calculateTally();\n }\n } catch (error) {\n console.error('Failed to initialize form API for tally:', error);\n }\n }\n\n private calculateTally() {\n if (!this.formApi || this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Tally) {\n return;\n }\n\n try {\n const formValues = this.formApi.getState().values;\n\n const formElement = this.el.closest('stencil-form');\n if (!formElement) {\n return;\n }\n\n // Get all udp-question elements in the form\n const questionElements = formElement.querySelectorAll('udp-question');\n const yesNoFields: string[] = [];\n\n // Identify YesNo field types\n questionElements.forEach((questionEl: any) => {\n if (questionEl.question && questionEl.question.fieldTypeId === UdpFormsFieldTypeEnum.YesNo) {\n const fieldName = `${questionEl.question.questionIdentifierKey}.value`;\n if (fieldName) {\n const shouldInclude = this.shouldIncludeFieldInTally(fieldName);\n if (shouldInclude) {\n yesNoFields.push(fieldName);\n }\n }\n }\n });\n\n // Count Yes/No/NA responses\n let yesCount = 0;\n let noCount = 0;\n let naCount = 0;\n\n yesNoFields.forEach(fieldName => {\n const [sectionKey, questionKey] = fieldName.split(\".\");\n const value = formValues[sectionKey][questionKey].value;\n\n if (value === 'true' || value === true) {\n yesCount++;\n } else if (value === 'false' || value === false) {\n noCount++;\n } else if (value === 'na') {\n naCount++;\n }\n });\n\n this.tallyData = {\n yesCount,\n noCount,\n naCount,\n totalFields: yesNoFields.length,\n };\n\n // Force a re-render to update the component\n this.updateFieldComponent();\n } catch (error) {\n console.error('Error calculating tally:', error);\n }\n }\n\n private shouldIncludeFieldInTally(fieldName: string): boolean {\n const fieldProps = this.question.fieldProperties;\n\n // If includeFields is specified, only include those fields\n if (fieldProps?.includeFields && fieldProps.includeFields.length > 0) {\n return fieldProps.includeFields.includes(fieldName);\n }\n\n // If excludeFields is specified, exclude those fields\n if (fieldProps?.excludeFields && fieldProps.excludeFields.length > 0) {\n return !fieldProps.excludeFields.includes(fieldName);\n }\n\n // Include all fields by default\n return true;\n }\n\n private updateFieldComponent() {\n this._fieldComponent = this.getFieldComponent();\n }\n\n private getFieldComponent(): ComponentInterface {\n const props = {\n name: `${this.question.questionIdentifierKey}.value`,\n required: this.question.required,\n };\n\n const fieldProps = { ...this.question.fieldProperties, id: this.questionNumber, disabled: this.disabled, readonly: this.readonly };\n switch (this.question.fieldTypeId) {\n case UdpFormsFieldTypeEnum.SingleLineText:\n return (\n <stencil-field {...props}>\n <text-field {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.MultiLineText:\n return (\n <stencil-field {...props}>\n <text-area fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Checkbox:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.RadioButton:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" useCheckbox={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DropdownSingleSelect:\n case UdpFormsFieldTypeEnum.DropdownMultipleSelect:\n let options: { label: string; value: string } = fieldProps?.items?.map?.(items => ({ label: items.display, value: items.value, ...fieldProps }));\n return (\n <stencil-field {...props}>\n <udp-selector options={options ?? []} multiSelect={this.question.fieldTypeId === UdpFormsFieldTypeEnum.DropdownMultipleSelect} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.YesNo:\n return (\n <stencil-field {...props}>\n <selectable-list\n valueKey=\"value\"\n displayKey=\"display\"\n useCheckbox={true} // Use radio buttons\n multiSelect={false}\n items={[\n { value: 'true', display: 'Yes' },\n { value: 'false', display: 'No' },\n { value: 'na', display: 'Not Applicable' },\n ]}\n {...fieldProps}\n />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ListMultiSelect:\n return (\n <stencil-field {...props}>\n <selectable-list valueKey=\"value\" displayKey=\"display\" multiSelect={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateSelector:\n return (\n <stencil-field {...props}>\n <udp-date-selector min={fieldProps?.minDate} max={fieldProps?.maxDate} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.TimeSelector:\n return (\n <stencil-field {...props}>\n <udp-time-selector min={fieldProps?.minTime} max={fieldProps?.maxTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.DateTimeSelector:\n return (\n <stencil-field {...props}>\n <udp-datetime-selector max={fieldProps?.maxDateTime} min={fieldProps?.minDateTime} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.FileUpload:\n return (\n <stencil-field {...props}>\n <file-upload fullWidth={true} allowMultiple={false} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.ImageUpload:\n return (\n <stencil-field {...props}>\n <image-upload fullWidth={true} {...fieldProps} />\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Signature:\n return (\n <div>\n <stencil-field {...props} fieldIdentifierKey={`${this.question.questionIdentifierKey}`} registerMetadata={true} metadataFieldNames={['signature.latitude', 'signature.longitude', 'signature.timestamp']}>\n <signature-input {...fieldProps} value={this.value} />\n </stencil-field>\n <stencil-field required={this.question.required} name={ `${this.question.questionIdentifierKey}.metadata.signature.fullName`}>\n <text-field {...fieldProps} label={'Full Name'}/>\n </stencil-field>\n </div>\n );\n case UdpFormsFieldTypeEnum.Paragraph:\n // Wrap in stencil-field and include a hidden input so the value is part of the form submission\n return (\n <stencil-field name={this.question.name} required={false}>\n <input type=\"hidden\" name={this.question.name} value={this.value || ''} />\n {this.value ? (\n <unity-typography id={`paragraphText${this.question.name}`} variant={this.styleOverrides?.paragraphText?.variant || 'body'}>\n {this.value}\n </unity-typography>\n ) : (\n <div />\n )}\n </stencil-field>\n );\n case UdpFormsFieldTypeEnum.Number:\n return (\n <stencil-field {...props}>\n <numeric-field {...fieldProps} />\n </stencil-field>\n );\n\n case UdpFormsFieldTypeEnum.Tally:\n return (\n <tally-display\n id={this.questionNumber}\n label={this.question.questionText || 'Response Tally'}\n yesCount={this.tallyData.yesCount}\n noCount={this.tallyData.noCount}\n naCount={this.tallyData.naCount}\n totalFields={this.tallyData.totalFields}\n {...fieldProps}\n required={false}\n />\n );\n case UdpFormsFieldTypeEnum.FormMetadataDisplay: {\n const isPersistedSubmission = !!this.udpFormSubmission?.id;\n\n // If persisted, do NOT fall back to client user (avoids showing Person A while viewing Person B's submission)\n const userDisplayName = isPersistedSubmission\n ? (this.udpFormSubmission?.userDisplayName ?? null)\n : (this.clientUserInfo?.displayName ?? null);\n\n const userEmail = isPersistedSubmission\n ? (this.udpFormSubmission?.userEmail ?? null)\n : (this.clientUserInfo?.email ?? null);\n\n const submittedOn = this.udpFormSubmission?.submittedOn ?? null;\n\n return (\n <form-metadata-display\n userDisplayName={userDisplayName}\n userEmail={userEmail}\n submittedOn={submittedOn}\n {...fieldProps}\n />\n );\n };\n case UdpFormsFieldTypeEnum.Hidden:\n default:\n return <div />;\n }\n }\n async componentDidLoad() {\n // If form API wasn't available during componentWillLoad, try again\n if (this.question.fieldTypeId === UdpFormsFieldTypeEnum.Tally && !this.formApi) {\n await this.initializeFormApiForTally();\n }\n\n // override the fonts based on style overrides\n const variantsAndOverrides = [];\n for (const override in this.styleOverrides) {\n variantsAndOverrides.push({\n id: override + this.question.name,\n fontOverride: this.styleOverrides?.[override]?.fontFamily,\n variant: this.styleOverrides?.[override]?.variant,\n });\n }\n variantsAndOverrides.forEach(override => {\n if (!fontOverrideMapping[override?.fontOverride] || !this.el || !this.el.shadowRoot) return;\n overrideFont(this.el?.shadowRoot?.getElementById?.(override.id), fontOverrideMapping[override?.fontOverride]);\n });\n }\n render() {\n const component = this._fieldComponent;\n const titleText = `${this.question.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph ? '' : `${this.questionNumber}.`} ${this.question.questionText} ${\n this.question.required && this.question.fieldTypeId !== UdpFormsFieldTypeEnum.Paragraph ? '*' : ''\n }`;\n // const commentFieldProps = { disabled: this.disabled, readonly: this.readonly };\n const fieldName = `${this.question.questionIdentifierKey}.value`;\n const [sectionKey, questionKey] = fieldName.split(\".\");\n\n if (!component) return null;\n return (\n <div\n class={{\n 'hidden': this.question.fieldTypeId === UdpFormsFieldTypeEnum.Hidden,\n 'question-container': true,\n }}\n >\n <div class=\"question-title-and-helper-container\">\n <div class=\"question-title-and-followup-container\">\n {this.question.questionText && (\n <unity-typography\n id={`questionText${this.question.name}`}\n variant={this.styleOverrides?.questionText?.variant || 'h3'}\n >\n {titleText}\n </unity-typography>\n )}\n <div>\n {this.question.fieldProperties.allowFollowUpForms && (\n (() => {\n const metadata = this.currentValues[sectionKey][questionKey]?.metadata;\n const followUpId = metadata?.followUpFormSubmissionId;\n if (followUpId) {\n // Valid GUID → show arrow icon to open follow-up form\n const url = `/page/${UdpFormsPageIdEnum.FormRendererPageId}?udpf_submissionId=${followUpId}`;\n return (\n <stencil-icon-button\n icon={getIconFromName('link')}\n tooltip=\"Open Follow-Up Form\"\n onClick={() => window.open(url, '_blank')}\n />\n );\n }\n\n if (!this.readonly) {\n // No valid follow-up yet → show link icon to create one\n return (\n <stencil-icon-button\n icon={getIconFromName('document')}\n tooltip=\"Create Follow-Up Form\"\n onClick={() => {\n console.log('clicked create follow up form')\n this.launchFollowUpFormSideSheet.emit({ sectionKey, questionKey });\n }}\n />\n );\n }\n \n })()\n )}\n </div>\n </div>\n {this.question.helperText && (\n <unity-typography\n id={`helperText${this.question.name}`}\n variant={this.styleOverrides?.helperText?.variant || 'caption-text'}\n >\n {this.question.helperText}\n </unity-typography>\n )}\n </div>\n\n {component}\n\n {this.question.fieldProperties.allowFollowUpForms && (\n <div>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormId`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormVersion`}>\n <text-field />\n </stencil-field>\n <stencil-field hidden={true} name={`${this.question.questionIdentifierKey}.metadata.followUpParentFormSubmissionId`}>\n <text-field />\n </stencil-field>\n </div>\n )}\n {this.question.fieldProperties.allowComments && (\n <udp-question-comments\n question={this.question}\n currentValues={this.currentValues}\n userId={this.clientUserInfo.id}\n />\n )}\n </div>\n );\n }\n}\n"]}
|
|
@@ -62,6 +62,7 @@ export class AgGridBase {
|
|
|
62
62
|
getSelectedNodes: () => this.gridApi.getSelectedNodes(), //gets all selected row nodes
|
|
63
63
|
getSearchObject: () => { var _a; return (_a = this.gridApi.getGridOption('context')) === null || _a === void 0 ? void 0 : _a.searchObject; }, //gets current full search object
|
|
64
64
|
getEntityName: () => { var _a; return (_a = this.gridApi.getGridOption('context')) === null || _a === void 0 ? void 0 : _a.entityName; }, //gets entity name
|
|
65
|
+
getRowCount: () => { var _a; return (_a = this.gridApi.getGridOption('context')) === null || _a === void 0 ? void 0 : _a.rowCount; }, //gets entity name
|
|
65
66
|
getFilterModel: () => this.gridApi.getFilterModel(),
|
|
66
67
|
setFilterModel: model => this.gridApi.setFilterModel(model),
|
|
67
68
|
onFilterChanged: () => this.gridApi.onFilterChanged(),
|
|
@@ -150,7 +151,7 @@ export class AgGridBase {
|
|
|
150
151
|
render() {
|
|
151
152
|
var _a;
|
|
152
153
|
const variantClass = `variant-${((_a = this.headerConfig) === null || _a === void 0 ? void 0 : _a.variant) || 'light'}`;
|
|
153
|
-
return (h("div", { key: '
|
|
154
|
+
return (h("div", { key: '24fa82598a8b3c7cd8908d279dd5d55fa56fb059', class: variantClass, ref: el => (this.gridContainerEl = el) }, h("ghost-render", { key: '5a135714392f7edb7fee6d2146e231971ed0ca93' }, h("div", { key: 'f8a3749c2bff52ca09f110152d2a0c9d61d8458c' }, h("udp-dialog", { key: '7c245a75a383f6acc3df2eae99beb1eca1b0ce3b' }), h("udp-list-item", { key: '00c826a169725fe7950b5f48e6c6018554885eaf' }), h("hint-panel", { key: 'e36c1b28357c275c6d71caa245a5e5dfc0dcf8a8' }), h("udp-side-sheet", { key: '26ce13c227185842de854c0dca352a5bae875038' }))), h("div", { key: '97ec4f0e8a4e464965fddc7d27807797bf9690b1', class: "grid-base-header" }, h("grid-header", { key: '2af72231d327d5ff5c6b6c082ca24c8389b71db6', headerConfig: this.headerConfig, gridFunctions: this.gridFunctions, onHeaderAction: this.onHeaderAction }), h("div", { key: 'b3464f54b3c57d19d2deaa673e7a6b483573fa6c', class: "action-bar", style: { viewTransitionName: `action-bar` } }, this.gridFunctionInstances.map(fn => { var _a; return (_a = fn.render) === null || _a === void 0 ? void 0 : _a.call(fn); }))), h("div", { key: '851c7e4d8f06734ad7a0e5e5119ed61eb8556c57', id: "myNewGrid", ref: el => (this.gridEl = el), style: {
|
|
154
155
|
viewTransitionName: `my-new-grid`,
|
|
155
156
|
} })));
|
|
156
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-grid-base.js","sourceRoot":"","sources":["../../../../src/components/grid/new-grid/ag-grid-base.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, EventEmitter, Event, State, Watch } from '@stencil/core';\nimport {\n createGrid,\n GridOptions,\n ModuleRegistry,\n themeQuartz,\n GridApi,\n GridReadyEvent,\n ColDef,\n} from 'ag-grid-community-v33';\nimport { HeaderConfig, GridApiMethods } from './interfaces/grid';\nimport { AllEnterpriseModule, LicenseManager } from 'ag-grid-enterprise-v33';\nimport { gridFunctionRegistry } from './gridFunctionRegistry';\nimport { GridFunction } from './interfaces/gridFunction';\nimport ActionsRenderer from '../renderers/actions-renderer';\nimport CurrencyRenderer from '../renderers/currency-renderer';\nimport DateTimeCellRenderer from '../renderers/date-time-cell-renderer';\nimport IconRenderer from '../renderers/icon-renderer';\nimport StatusRenderer from '../renderers/status-renderer';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\nimport { configureUdpColumnMods } from './helperFunctions/configureUdpColumnMods';\nimport { dateTimeValueFormatter } from './helperFunctions/valueFormatters';\nimport isEqual from 'lodash/isEqual';\n\nconst myTheme = themeQuartz.withParams({\n wrapperBorderRadius: 0,\n wrapperBorder: false,\n //headerBackgroundColor: 'var(--udp-grid-column-header-bg)',\n headerCellHoverBackgroundColor: 'var(--udp-grid-column-header-bg-hover)',\n //headerTextColor: 'var(--udp-grid-column-header-text)',\n borderColor: '#E9ECEF',\n});\n\n@Component({\n tag: 'ag-grid-base',\n shadow: false,\n styleUrl: 'ag-grid-base.css',\n})\nexport class AgGridBase {\n @Element() el!: HTMLElement;\n\n @Prop() columnDefs: Array<ColDef>;\n @Prop() gridOptions!: GridOptions;\n @Prop() headerConfig: HeaderConfig = {};\n @Prop() gridHeight: string;\n @Prop() gridFunctions: GridFunctionConfig[] = [];\n @Prop() gridId: string;\n @Prop() entityName: string;\n @Prop() gridApiCallback?: (api: GridApiMethods) => void;\n\n @State() refreshKey = 0;\n\n @Event() gridReady!: EventEmitter<GridApi>;\n\n private gridApi!: GridApi;\n\n private gridFunctionInstances: GridFunction[] = [];\n\n private gridEl: HTMLElement;\n private gridContainerEl: HTMLElement;\n private resizeDebounce: any;\n private resizeObserver: ResizeObserver;\n\n private updateGridHeight = () => {\n if (this.gridEl) {\n const rect = this.gridEl.getBoundingClientRect();\n const availableHeight = window.innerHeight - rect.top;\n const BOTTOM_BUFFER = 10;\n this.gridEl.style.height = `${\n availableHeight - BOTTOM_BUFFER > 400 ? availableHeight - BOTTOM_BUFFER : 400\n }px`;\n }\n };\n\n private scheduleHeightUpdate = () => {\n clearTimeout(this.resizeDebounce);\n this.resizeDebounce = setTimeout(this.updateGridHeight, 100);\n };\n\n private refreshGridFunctions = () => {\n this.refreshKey++; // flip a dummy state so Stencil re-invokes render()\n };\n\n componentWillLoad() {\n ModuleRegistry.registerModules([AllEnterpriseModule]);\n\n LicenseManager.setLicenseKey(\n 'Using_this_{AG_Grid}_Enterprise_key_{AG-080613}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2026}____[v3]_[01]_MTc4MjYwMTIwMDAwMA==5c7d1487ecb13b28e75415d34b7cf694',\n );\n }\n\n componentDidLoad() {\n const gridOptions: GridOptions = {\n tooltipShowMode: 'whenTruncated',\n tooltipShowDelay: 500,\n ...this.gridOptions,\n columnTypes: {\n booleanChip: {\n cellRenderer: 'iconRenderer',\n cellRendererParams: {\n iconMappingConfig: {\n true: { iconName: 'checkMark24', color: 'success' },\n false: { iconName: 'close24', color: 'error' },\n },\n },\n },\n },\n dataTypeDefinitions: {\n dateTimeString: {\n baseDataType: 'dateTimeString',\n extendsDataType: 'dateTimeString',\n valueFormatter: dateTimeValueFormatter,\n },\n boolean: {\n baseDataType: 'boolean',\n extendsDataType: 'boolean',\n columnTypes: 'booleanChip',\n },\n },\n gridId: this.gridId,\n onGridReady: this.onGridReady,\n theme: myTheme,\n components: {\n actionsRenderer: ActionsRenderer,\n currencyRenderer: CurrencyRenderer,\n dateTimeCellRenderer: DateTimeCellRenderer,\n iconRenderer: IconRenderer,\n statusRenderer: StatusRenderer,\n ...this.gridOptions?.components,\n },\n domLayout: 'normal',\n defaultColDef: {\n sortable: true,\n filter: true,\n flex: 1,\n minWidth: 150,\n suppressHeaderMenuButton: true,\n ...this.gridOptions?.defaultColDef,\n filterParams: {\n buttons: ['reset', 'apply'],\n closeOnApply: true,\n maxNumConditions: 10,\n ...this.gridOptions?.defaultColDef?.filterParams,\n },\n },\n };\n\n createGrid(this.el.querySelector('#myNewGrid') as HTMLElement, gridOptions);\n\n if (this.gridHeight) {\n this.gridEl.style.height = this.gridHeight;\n } else {\n this.updateGridHeight();\n this.resizeObserver = new ResizeObserver(this.scheduleHeightUpdate);\n this.resizeObserver.observe(this.gridContainerEl);\n }\n }\n\n disconnectedCallback() {\n this.gridApi?.destroy();\n }\n\n private onGridReady = (e: GridReadyEvent) => {\n this.gridApi = e.api;\n this.updateGridContextValues();\n\n //create grid plugin function objects from the gridFunction.ts registry\n this.gridFunctionInstances = this.gridFunctions\n .map(config => {\n const Ctor = gridFunctionRegistry[config.name];\n if (!Ctor) return null;\n\n const instance = new Ctor();\n // Pass the callback from the config object\n instance.init(this.gridApi, this.refreshGridFunctions, config.params);\n\n return instance;\n })\n .filter((f): f is GridFunction => !!f);\n\n //set api methods\n if (this.gridApiCallback) {\n this.gridApiCallback({\n refreshServerSide: () => this.gridApi.refreshServerSide(), //Refreshes server side datasource\n getSelectedRows: () => this.gridApi.getSelectedRows(), //gets all selected row data\n getSelectedNodes: () => this.gridApi.getSelectedNodes(), //gets all selected row nodes\n getSearchObject: () => this.gridApi.getGridOption('context')?.searchObject, //gets current full search object\n getEntityName: () => this.gridApi.getGridOption('context')?.entityName, //gets entity name\n getFilterModel: () => this.gridApi.getFilterModel(),\n setFilterModel: model => this.gridApi.setFilterModel(model),\n onFilterChanged: () => this.gridApi.onFilterChanged(),\n expandAll: () => this.gridApi.expandAll(),\n collapseAll: () => this.gridApi.collapseAll(),\n toggleLoadingOverlay: value => this.gridApi.setGridOption('loading', value),\n refreshCells: () => this.gridApi.refreshCells(),\n refreshClientSideRowModel: type => this.gridApi.refreshClientSideRowModel(type),\n selectAll: (mode, source) => this.gridApi.selectAll(mode, source),\n deselectAll: (mode, source) => this.gridApi.deselectAll(mode, source),\n getServerSideSelectionState: () => this.gridApi.getServerSideSelectionState(),\n setServerSideSelectionState: state => this.gridApi.setServerSideSelectionState(state),\n forEachNode: callback => this.gridApi.forEachNode(callback),\n forEachNodeAfterFilterAndSort: callback =>\n this.gridApi.forEachNodeAfterFilterAndSort(callback),\n });\n }\n\n //set column defs\n this.setColumnDefs();\n this.gridReady.emit(this.gridApi);\n };\n\n @Watch('columnDefs')\n handleUpdateColumnDefs(newVal, prevVal) {\n if (isEqual(newVal, prevVal)) {\n return;\n }\n this.setColumnDefs();\n }\n\n setColumnDefs() {\n if (this.columnDefs && this.gridApi) {\n const newDefs = configureUdpColumnMods(\n this.columnDefs,\n this.gridFunctions?.some(func => func?.name === 'advancedSearch'), //disabled column filtering if advanced search is on\n );\n this.gridApi.setGridOption('columnDefs', newDefs);\n }\n }\n\n private onHeaderAction = (ev: CustomEvent<{ name: string; payload?: any }>) => {\n this.gridFunctionInstances.forEach(f => f.onAction?.(ev.detail.name, ev.detail.payload));\n };\n\n private updateGridContextValues = () => {\n this.gridApi.setGridOption('context', {\n ...this.gridApi.getGridOption('context'),\n entityName: this.entityName,\n gridId: this.gridId,\n });\n };\n\n @Watch('entityName')\n @Watch('gridId')\n handleEntityNameChange() {\n this.updateGridContextValues();\n }\n\n render() {\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n\n return (\n <div class={variantClass} ref={el => (this.gridContainerEl = el as HTMLElement)}>\n {/*\n @workaround(Compiler Hint)\n @reason The <udp-dialog> and <udp-list-item> is rendered dynamically by a grid function.\n They are ghost-rendered here to prevent it from being tree-shaken out of\n the production build. See <ghost-render> for more details.\n */}\n <ghost-render>\n <div>\n <udp-dialog />\n <udp-list-item />\n <hint-panel />\n </div>\n </ghost-render>\n <div class=\"grid-base-header\">\n <grid-header\n headerConfig={this.headerConfig}\n gridFunctions={this.gridFunctions}\n onHeaderAction={this.onHeaderAction}\n />\n <div class=\"action-bar\" style={{ viewTransitionName: `action-bar` }}>\n {this.gridFunctionInstances.map(fn => fn.render?.())}\n </div>\n </div>\n <div\n id=\"myNewGrid\"\n ref={el => (this.gridEl = el as HTMLElement)}\n style={{\n viewTransitionName: `my-new-grid`,\n }}\n ></div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ag-grid-base.js","sourceRoot":"","sources":["../../../../src/components/grid/new-grid/ag-grid-base.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, EventEmitter, Event, State, Watch } from '@stencil/core';\nimport {\n createGrid,\n GridOptions,\n ModuleRegistry,\n themeQuartz,\n GridApi,\n GridReadyEvent,\n ColDef,\n} from 'ag-grid-community-v33';\nimport { HeaderConfig, GridApiMethods } from './interfaces/grid';\nimport { AllEnterpriseModule, LicenseManager } from 'ag-grid-enterprise-v33';\nimport { gridFunctionRegistry } from './gridFunctionRegistry';\nimport { GridFunction } from './interfaces/gridFunction';\nimport ActionsRenderer from '../renderers/actions-renderer';\nimport CurrencyRenderer from '../renderers/currency-renderer';\nimport DateTimeCellRenderer from '../renderers/date-time-cell-renderer';\nimport IconRenderer from '../renderers/icon-renderer';\nimport StatusRenderer from '../renderers/status-renderer';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\nimport { configureUdpColumnMods } from './helperFunctions/configureUdpColumnMods';\nimport { dateTimeValueFormatter } from './helperFunctions/valueFormatters';\nimport isEqual from 'lodash/isEqual';\n\nconst myTheme = themeQuartz.withParams({\n wrapperBorderRadius: 0,\n wrapperBorder: false,\n //headerBackgroundColor: 'var(--udp-grid-column-header-bg)',\n headerCellHoverBackgroundColor: 'var(--udp-grid-column-header-bg-hover)',\n //headerTextColor: 'var(--udp-grid-column-header-text)',\n borderColor: '#E9ECEF',\n});\n\n@Component({\n tag: 'ag-grid-base',\n shadow: false,\n styleUrl: 'ag-grid-base.css',\n})\nexport class AgGridBase {\n @Element() el!: HTMLElement;\n\n @Prop() columnDefs: Array<ColDef>;\n @Prop() gridOptions!: GridOptions;\n @Prop() headerConfig: HeaderConfig = {};\n @Prop() gridHeight: string;\n @Prop() gridFunctions: GridFunctionConfig[] = [];\n @Prop() gridId: string;\n @Prop() entityName: string;\n @Prop() gridApiCallback?: (api: GridApiMethods) => void;\n\n @State() refreshKey = 0;\n\n @Event() gridReady!: EventEmitter<GridApi>;\n\n private gridApi!: GridApi;\n\n private gridFunctionInstances: GridFunction[] = [];\n\n private gridEl: HTMLElement;\n private gridContainerEl: HTMLElement;\n private resizeDebounce: any;\n private resizeObserver: ResizeObserver;\n\n private updateGridHeight = () => {\n if (this.gridEl) {\n const rect = this.gridEl.getBoundingClientRect();\n const availableHeight = window.innerHeight - rect.top;\n const BOTTOM_BUFFER = 10;\n this.gridEl.style.height = `${\n availableHeight - BOTTOM_BUFFER > 400 ? availableHeight - BOTTOM_BUFFER : 400\n }px`;\n }\n };\n\n private scheduleHeightUpdate = () => {\n clearTimeout(this.resizeDebounce);\n this.resizeDebounce = setTimeout(this.updateGridHeight, 100);\n };\n\n private refreshGridFunctions = () => {\n this.refreshKey++; // flip a dummy state so Stencil re-invokes render()\n };\n\n componentWillLoad() {\n ModuleRegistry.registerModules([AllEnterpriseModule]);\n\n LicenseManager.setLicenseKey(\n 'Using_this_{AG_Grid}_Enterprise_key_{AG-080613}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2026}____[v3]_[01]_MTc4MjYwMTIwMDAwMA==5c7d1487ecb13b28e75415d34b7cf694',\n );\n }\n\n componentDidLoad() {\n const gridOptions: GridOptions = {\n tooltipShowMode: 'whenTruncated',\n tooltipShowDelay: 500,\n ...this.gridOptions,\n columnTypes: {\n booleanChip: {\n cellRenderer: 'iconRenderer',\n cellRendererParams: {\n iconMappingConfig: {\n true: { iconName: 'checkMark24', color: 'success' },\n false: { iconName: 'close24', color: 'error' },\n },\n },\n },\n },\n dataTypeDefinitions: {\n dateTimeString: {\n baseDataType: 'dateTimeString',\n extendsDataType: 'dateTimeString',\n valueFormatter: dateTimeValueFormatter,\n },\n boolean: {\n baseDataType: 'boolean',\n extendsDataType: 'boolean',\n columnTypes: 'booleanChip',\n },\n },\n gridId: this.gridId,\n onGridReady: this.onGridReady,\n theme: myTheme,\n components: {\n actionsRenderer: ActionsRenderer,\n currencyRenderer: CurrencyRenderer,\n dateTimeCellRenderer: DateTimeCellRenderer,\n iconRenderer: IconRenderer,\n statusRenderer: StatusRenderer,\n ...this.gridOptions?.components,\n },\n domLayout: 'normal',\n defaultColDef: {\n sortable: true,\n filter: true,\n flex: 1,\n minWidth: 150,\n suppressHeaderMenuButton: true,\n ...this.gridOptions?.defaultColDef,\n filterParams: {\n buttons: ['reset', 'apply'],\n closeOnApply: true,\n maxNumConditions: 10,\n ...this.gridOptions?.defaultColDef?.filterParams,\n },\n },\n };\n\n createGrid(this.el.querySelector('#myNewGrid') as HTMLElement, gridOptions);\n\n if (this.gridHeight) {\n this.gridEl.style.height = this.gridHeight;\n } else {\n this.updateGridHeight();\n this.resizeObserver = new ResizeObserver(this.scheduleHeightUpdate);\n this.resizeObserver.observe(this.gridContainerEl);\n }\n }\n\n disconnectedCallback() {\n this.gridApi?.destroy();\n }\n\n private onGridReady = (e: GridReadyEvent) => {\n this.gridApi = e.api;\n this.updateGridContextValues();\n\n //create grid plugin function objects from the gridFunction.ts registry\n this.gridFunctionInstances = this.gridFunctions\n .map(config => {\n const Ctor = gridFunctionRegistry[config.name];\n if (!Ctor) return null;\n\n const instance = new Ctor();\n // Pass the callback from the config object\n instance.init(this.gridApi, this.refreshGridFunctions, config.params);\n\n return instance;\n })\n .filter((f): f is GridFunction => !!f);\n\n //set api methods\n if (this.gridApiCallback) {\n this.gridApiCallback({\n refreshServerSide: () => this.gridApi.refreshServerSide(), //Refreshes server side datasource\n getSelectedRows: () => this.gridApi.getSelectedRows(), //gets all selected row data\n getSelectedNodes: () => this.gridApi.getSelectedNodes(), //gets all selected row nodes\n getSearchObject: () => this.gridApi.getGridOption('context')?.searchObject, //gets current full search object\n getEntityName: () => this.gridApi.getGridOption('context')?.entityName, //gets entity name\n getRowCount: () => this.gridApi.getGridOption('context')?.rowCount, //gets entity name\n getFilterModel: () => this.gridApi.getFilterModel(),\n setFilterModel: model => this.gridApi.setFilterModel(model),\n onFilterChanged: () => this.gridApi.onFilterChanged(),\n expandAll: () => this.gridApi.expandAll(),\n collapseAll: () => this.gridApi.collapseAll(),\n toggleLoadingOverlay: value => this.gridApi.setGridOption('loading', value),\n refreshCells: () => this.gridApi.refreshCells(),\n refreshClientSideRowModel: type => this.gridApi.refreshClientSideRowModel(type),\n selectAll: (mode, source) => this.gridApi.selectAll(mode, source),\n deselectAll: (mode, source) => this.gridApi.deselectAll(mode, source),\n getServerSideSelectionState: () => this.gridApi.getServerSideSelectionState(),\n setServerSideSelectionState: state => this.gridApi.setServerSideSelectionState(state),\n forEachNode: callback => this.gridApi.forEachNode(callback),\n forEachNodeAfterFilterAndSort: callback =>\n this.gridApi.forEachNodeAfterFilterAndSort(callback),\n });\n }\n\n //set column defs\n this.setColumnDefs();\n this.gridReady.emit(this.gridApi);\n };\n\n @Watch('columnDefs')\n handleUpdateColumnDefs(newVal, prevVal) {\n if (isEqual(newVal, prevVal)) {\n return;\n }\n this.setColumnDefs();\n }\n\n setColumnDefs() {\n if (this.columnDefs && this.gridApi) {\n const newDefs = configureUdpColumnMods(\n this.columnDefs,\n this.gridFunctions?.some(func => func?.name === 'advancedSearch'), //disabled column filtering if advanced search is on\n );\n this.gridApi.setGridOption('columnDefs', newDefs);\n }\n }\n\n private onHeaderAction = (ev: CustomEvent<{ name: string; payload?: any }>) => {\n this.gridFunctionInstances.forEach(f => f.onAction?.(ev.detail.name, ev.detail.payload));\n };\n\n private updateGridContextValues = () => {\n this.gridApi.setGridOption('context', {\n ...this.gridApi.getGridOption('context'),\n entityName: this.entityName,\n gridId: this.gridId,\n });\n };\n\n @Watch('entityName')\n @Watch('gridId')\n handleEntityNameChange() {\n this.updateGridContextValues();\n }\n\n render() {\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n\n return (\n <div class={variantClass} ref={el => (this.gridContainerEl = el as HTMLElement)}>\n {/*\n @workaround(Compiler Hint)\n @reason The <udp-dialog> and <udp-list-item> is rendered dynamically by a grid function.\n They are ghost-rendered here to prevent it from being tree-shaken out of\n the production build. See <ghost-render> for more details.\n */}\n <ghost-render>\n <div>\n <udp-dialog />\n <udp-list-item />\n <hint-panel />\n <udp-side-sheet />\n </div>\n </ghost-render>\n <div class=\"grid-base-header\">\n <grid-header\n headerConfig={this.headerConfig}\n gridFunctions={this.gridFunctions}\n onHeaderAction={this.onHeaderAction}\n />\n <div class=\"action-bar\" style={{ viewTransitionName: `action-bar` }}>\n {this.gridFunctionInstances.map(fn => fn.render?.())}\n </div>\n </div>\n <div\n id=\"myNewGrid\"\n ref={el => (this.gridEl = el as HTMLElement)}\n style={{\n viewTransitionName: `my-new-grid`,\n }}\n ></div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -99,7 +99,7 @@ export class ApiMethodInstanceGrid {
|
|
|
99
99
|
this.getApiMethodInstanceData();
|
|
100
100
|
}
|
|
101
101
|
render() {
|
|
102
|
-
return (h("search-method-grid", { key: '
|
|
102
|
+
return (h("search-method-grid", { key: '33e4a95cef2df0e1bad3284a3ac51a9adc41b07f', onGridReady: e => this.handleGridReady(e), gridFunctions: this.gridFunctions, gridOptions: this.gridOptions, gridHeaderConfig: this.gridHeaderConfig, gridId: this.gridId, entityName: this.entityName, gridHeight: this.gridHeight, searchMethodConfig: this.searchMethodConfig, gridApiCallback: this.gridApiCallback }));
|
|
103
103
|
}
|
|
104
104
|
static get is() { return "api-method-instance-grid"; }
|
|
105
105
|
static get properties() {
|
|
@@ -20,7 +20,7 @@ export class ClientSideGrid {
|
|
|
20
20
|
this.clientSideConfig = Object.assign(Object.assign({}, this.gridOptions), { rowModelType: 'clientSide' });
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return (h("ag-grid-base", { key: '
|
|
23
|
+
return (h("ag-grid-base", { key: '073068c51c1ba01ba6807b6c400d12564dc03fd1', columnDefs: this.columnDefs, gridOptions: this.clientSideConfig, headerConfig: this.gridHeaderConfig, onGridReady: e => this.handleGridReady(e), gridFunctions: this.gridFunctions, gridId: this.gridId, gridApiCallback: this.gridApiCallback }));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "client-side-grid"; }
|
|
26
26
|
static get properties() {
|
|
@@ -210,6 +210,7 @@ export const createSearchMethodDataSource = (options) => {
|
|
|
210
210
|
let finalRowData = response.pageList;
|
|
211
211
|
const columnDefs = params.api.getColumnDefs();
|
|
212
212
|
finalRowData = await processLookupsInData(response.pageList, columnDefs);
|
|
213
|
+
params.api.setGridOption('context', Object.assign(Object.assign({}, params.api.getGridOption('context')), { rowCount: parseInt(response.total) }));
|
|
213
214
|
params.success({
|
|
214
215
|
rowData: finalRowData,
|
|
215
216
|
rowCount: parseInt(response.total),
|