udp-stencil-component-library 25.18.1-beta.6 → 25.18.1-beta.8
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_50.cjs.entry.js +169 -96
- package/dist/cjs/ag-grid-base_5.cjs.entry.js +5 -5
- package/dist/cjs/api-method-instance-grid.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/color-preview.cjs.entry.js +1 -1
- package/dist/cjs/date-time-renderer_6.cjs.entry.js +8 -8
- package/dist/cjs/entity-maintenance-grid.cjs.entry.js +1 -1
- package/dist/cjs/feature-details-card_2.cjs.entry.js +5 -5
- package/dist/cjs/image-upload_7.cjs.entry.js +6 -6
- package/dist/cjs/index-DrMNAZCL.js +4 -0
- package/dist/cjs/inputs-example.cjs.entry.js +2 -2
- 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/page-renderer.cjs.entry.js +1 -1
- package/dist/cjs/question-configs-renderer_5.cjs.entry.js +14 -14
- package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
- package/dist/cjs/search-method-grid.cjs.entry.js +1 -1
- package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
- package/dist/cjs/simple-card.cjs.entry.js +1 -1
- package/dist/cjs/stencil-library.cjs.js +1 -1
- 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 +2 -2
- package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
- package/dist/cjs/udp-dynamic-form.cjs.entry.js +1 -1
- package/dist/cjs/udp-forms-follow-up-list-card.cjs.entry.js +2 -2
- package/dist/cjs/udp-forms-list-card.cjs.entry.js +5 -5
- package/dist/cjs/udp-forms-list.cjs.entry.js +1 -1
- package/dist/cjs/udp-forms-renderer.cjs.entry.js +1 -1
- package/dist/cjs/udp-list-renderer.udp-pagination.udp-side-sheet.entry.cjs.js.map +1 -1
- package/dist/cjs/udp-list-renderer_3.cjs.entry.js +194 -5
- package/dist/cjs/udp-map.cjs.entry.js +3 -3
- package/dist/cjs/udp-page.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 +22 -0
- package/dist/cjs/udp-tab-panel.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/my-component/UI/data-display/icons/udp-icon.js +4 -1
- package/dist/collection/components/my-component/UI/data-display/icons/udp-icon.js.map +1 -1
- package/dist/collection/components/my-component/UI/data-display/kpi/kpi-list.js +1 -1
- package/dist/collection/components/my-component/UI/data-display/list-item/list-item.js +2 -2
- package/dist/collection/components/my-component/UI/data-display/pop-over/udp-pop-over.js +1 -1
- package/dist/collection/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.js +1 -1
- package/dist/collection/components/my-component/UI/data-display/primary-action-header/primary-action-header.js +2 -2
- package/dist/collection/components/my-component/UI/data-display/simple-card/simple-card.js +1 -1
- package/dist/collection/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.js +2 -2
- package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.js +1 -1
- package/dist/collection/components/my-component/UI/data-display/udp-avatar/udp-avatar.js +1 -1
- package/dist/collection/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.js +2 -2
- package/dist/collection/components/my-component/UI/dialogs/udp-dialog.js +1 -1
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/types.js +2 -0
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/types.js.map +1 -0
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.css +163 -137
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.js +269 -19
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.js.map +1 -1
- package/dist/collection/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.js +1 -1
- package/dist/collection/components/my-component/UI/feedback/udp-notification/udp-notification.js +2 -2
- package/dist/collection/components/my-component/UI/forms/dynamic-form/udp-dynamic-form.js +1 -1
- package/dist/collection/components/my-component/UI/forms/edit-view-form/edit-view-form.js +2 -2
- package/dist/collection/components/my-component/UI/forms/form/stencil-form.js +1 -1
- package/dist/collection/components/my-component/UI/forms/save-view-form/save-view-form.js +2 -2
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/forms-question-item/udp-forms-builder-question-item.js +2 -2
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js +2 -2
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js +3 -3
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js +6 -6
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/section-configs-renderer/section-configs-renderer.js +3 -3
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js +1 -1
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js +2 -2
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-menu/udp-forms-builder-menu.js +2 -2
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-style-override/udp-forms-builder-style-override.js +1 -1
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js +5 -5
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list.js +1 -1
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js +2 -2
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +1 -1
- package/dist/collection/components/my-component/UI/grid/ag-table/ag-table.js +1 -1
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.js +15 -15
- package/dist/collection/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.js +2 -2
- package/dist/collection/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.js +1 -1
- package/dist/collection/components/my-component/UI/grid/new-grid/ag-grid-base.js +1 -1
- package/dist/collection/components/my-component/UI/grid/new-grid/api-method-instance-grid.js +1 -1
- package/dist/collection/components/my-component/UI/grid/new-grid/client-side-grid.js +1 -1
- package/dist/collection/components/my-component/UI/grid/new-grid/entity-maintenance-grid.js +1 -1
- package/dist/collection/components/my-component/UI/grid/new-grid/search-method-grid.js +1 -1
- package/dist/collection/components/my-component/UI/grid/new-grid/server-side-grid.js +1 -1
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
- package/dist/collection/components/my-component/UI/inputs/checkbox/check-box.js +2 -2
- package/dist/collection/components/my-component/UI/inputs/date-range-selector/udp-date-range-selector.js +1 -1
- package/dist/collection/components/my-component/UI/inputs/date-selector/udp-date-selector.js +3 -3
- package/dist/collection/components/my-component/UI/inputs/date-time-selector/udp-datetime-selector.js +3 -3
- package/dist/collection/components/my-component/UI/inputs/image-upload/image-upload.js +1 -1
- package/dist/collection/components/my-component/UI/inputs/numeric-field/numeric-field.js +3 -3
- package/dist/collection/components/my-component/UI/inputs/signature-input/signature-input.js +2 -2
- package/dist/collection/components/my-component/UI/inputs/tally/tally.js +2 -2
- package/dist/collection/components/my-component/UI/inputs/text-area/text-area.js +3 -3
- package/dist/collection/components/my-component/UI/inputs/text-field/text-field.js +3 -3
- package/dist/collection/components/my-component/UI/inputs/time-selector/udp-time-selector.js +3 -3
- package/dist/collection/components/my-component/UI/inputs/toggle/stencil-toggle.js +4 -4
- package/dist/collection/components/my-component/UI/inputs/udp-selector/udp-selector.js +4 -4
- package/dist/collection/components/my-component/UI/layout/udp-container/udp-container.js +2 -2
- package/dist/collection/components/my-component/UI/layout/udp-container-query/udp-container-query.js +2 -2
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
- package/dist/collection/components/my-component/UI/layout/udp-page/udp-page.js +1 -1
- package/dist/collection/components/my-component/UI/layout/udp-split-screen/udp-split-screen.js +1 -1
- package/dist/collection/components/my-component/UI/layout/udp-vertical-spacer.js +1 -1
- package/dist/collection/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
- package/dist/collection/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
- package/dist/collection/components/my-component/UI/loaders/udp-skeleton-loading.js +1 -1
- package/dist/collection/components/my-component/UI/map/udp-map/map-component.js +1 -1
- package/dist/collection/components/my-component/UI/map/udp-map/popups/add-map-feature-popup.js +3 -3
- package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
- package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-popup.js +1 -1
- package/dist/collection/components/my-component/UI/map/udp-map/popups/select-layer-popup.js +2 -2
- package/dist/collection/components/my-component/UI/map/udp-map/popups/split-line-popup.js +1 -1
- package/dist/collection/components/my-component/UI/map/udp-map/toolbar/map-toolbar.js +6 -6
- package/dist/collection/components/my-component/UI/map/udp-map/udp-map-toolbar.js +1 -1
- package/dist/collection/components/my-component/UI/map/udp-map/udp-map.js +3 -3
- package/dist/collection/components/my-component/UI/menu/menu-item/udp-menu-item.js +1 -1
- package/dist/collection/components/my-component/UI/menu/udp-menu.js +1 -1
- package/dist/collection/components/my-component/UI/stepper/udp-stepper-demo.js +1 -1
- package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.css +0 -5
- package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.js +170 -37
- package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.js.map +1 -1
- package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.css +2 -4
- package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.js +3 -3
- package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.js.map +1 -1
- package/dist/collection/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.css +11 -0
- package/dist/collection/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.js +65 -0
- package/dist/collection/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.js.map +1 -0
- package/dist/collection/components/my-component/UI/toolbars/app-bar/app-bar.js +1 -1
- package/dist/collection/components/my-component/UI/util/ghost-render/ghost-render.js +1 -1
- package/dist/collection/components/my-component/demo/ambient-demo-container.js +1 -1
- package/dist/collection/components/test-component/inputs-example/inputs-example.js +2 -2
- package/dist/collection/page-renderer/page-renderer.js +1 -1
- package/dist/collection/theme/color-preview/color-preview.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 +1 -1
- package/dist/components/ag-table2.js +1 -1
- package/dist/components/ambient-demo-container2.js +1 -1
- package/dist/components/ambient-template-grid2.js +15 -15
- package/dist/components/api-method-instance-grid.js +1 -1
- package/dist/components/app-bar2.js +1 -1
- package/dist/components/check-box2.js +2 -2
- package/dist/components/chip-section.js +2 -2
- package/dist/components/client-side-grid2.js +1 -1
- package/dist/components/color-preview.js +1 -1
- package/dist/components/edit-view-form.js +2 -2
- package/dist/components/entity-maintenance-grid.js +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/fluent-dialog2.js +2 -2
- package/dist/components/ghost-render2.js +1 -1
- package/dist/components/grid-primary-bar2.js +2 -2
- package/dist/components/image-upload2.js +1 -1
- package/dist/components/inputs-example.js +2 -2
- package/dist/components/kpi-list2.js +1 -1
- package/dist/components/list-item.js +2 -2
- package/dist/components/list-options-renderer2.js +3 -3
- 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/page-renderer.js +1 -1
- package/dist/components/primary-action-header2.js +2 -2
- package/dist/components/question-configs-renderer2.js +6 -6
- package/dist/components/resource-timeline-calendar.js +1 -1
- package/dist/components/resource-timeline-primary-bar2.js +2 -2
- package/dist/components/save-view-form.js +2 -2
- package/dist/components/search-list-item2.js +1 -1
- package/dist/components/search-method-grid2.js +1 -1
- package/dist/components/section-configs-renderer2.js +3 -3
- package/dist/components/select-layer-popup2.js +2 -2
- package/dist/components/server-side-grid2.js +1 -1
- package/dist/components/signature-input2.js +2 -2
- package/dist/components/signature-renderer2.js +1 -1
- package/dist/components/simple-card.js +1 -1
- package/dist/components/split-line-popup2.js +1 -1
- package/dist/components/stencil-form2.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/udp-ambient-tool-tip2.js +2 -2
- package/dist/components/udp-avatar2.js +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-dialog2.js +1 -1
- package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
- package/dist/components/udp-dynamic-form.js +1 -1
- package/dist/components/udp-forms-builder-menu2.js +2 -2
- package/dist/components/udp-forms-builder-question-item2.js +2 -2
- package/dist/components/udp-forms-builder-style-override2.js +1 -1
- package/dist/components/udp-forms-builder.js +72 -60
- 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-list-card2.js +5 -5
- package/dist/components/udp-forms-list.js +51 -39
- package/dist/components/udp-forms-list.js.map +1 -1
- package/dist/components/udp-forms-renderer.js +67 -55
- package/dist/components/udp-forms-renderer.js.map +1 -1
- package/dist/components/udp-grid-loader2.js +2 -2
- package/dist/components/udp-hotlist-form2.js +1 -1
- package/dist/components/udp-icon2.js +4 -1
- package/dist/components/udp-icon2.js.map +1 -1
- 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-notification2.js +2 -2
- package/dist/components/udp-page.js +1 -1
- package/dist/components/udp-pop-over-grid-action-header2.js +1 -1
- package/dist/components/udp-pop-over2.js +1 -1
- package/dist/components/udp-selector2.js +4 -4
- package/dist/components/udp-side-sheet2.js +228 -19
- package/dist/components/udp-side-sheet2.js.map +1 -1
- 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.d.ts +11 -0
- package/dist/components/udp-tab-panel.js +45 -0
- package/dist/components/udp-tab-panel.js.map +1 -0
- package/dist/components/udp-tab2.js +3 -3
- package/dist/components/udp-tab2.js.map +1 -1
- package/dist/components/udp-tabs2.js +114 -40
- package/dist/components/udp-tabs2.js.map +1 -1
- package/dist/components/udp-time-selector2.js +3 -3
- package/dist/components/udp-vertical-spacer.js +1 -1
- package/dist/components/upd-alert-banner2.js +1 -1
- package/dist/docs.json +263 -31
- package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
- package/dist/esm/advanced-search_50.entry.js +169 -96
- package/dist/esm/ag-grid-base_5.entry.js +5 -5
- package/dist/esm/api-method-instance-grid.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/color-preview.entry.js +1 -1
- package/dist/esm/date-time-renderer_6.entry.js +8 -8
- package/dist/esm/entity-maintenance-grid.entry.js +1 -1
- package/dist/esm/feature-details-card_2.entry.js +5 -5
- package/dist/esm/image-upload_7.entry.js +6 -6
- package/dist/esm/index-n-1ZSeAs.js +4 -0
- package/dist/esm/inputs-example.entry.js +2 -2
- 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/page-renderer.entry.js +1 -1
- package/dist/esm/question-configs-renderer_5.entry.js +14 -14
- package/dist/esm/resource-timeline-calendar.entry.js +1 -1
- package/dist/esm/search-method-grid.entry.js +1 -1
- package/dist/esm/server-side-grid.entry.js +1 -1
- package/dist/esm/simple-card.entry.js +1 -1
- package/dist/esm/stencil-library.js +1 -1
- 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 +2 -2
- package/dist/esm/udp-date-range-selector.entry.js +1 -1
- package/dist/esm/udp-dynamic-form.entry.js +1 -1
- package/dist/esm/udp-forms-follow-up-list-card.entry.js +2 -2
- package/dist/esm/udp-forms-list-card.entry.js +5 -5
- package/dist/esm/udp-forms-list.entry.js +1 -1
- package/dist/esm/udp-forms-renderer.entry.js +1 -1
- package/dist/esm/udp-list-renderer.udp-pagination.udp-side-sheet.entry.js.map +1 -1
- package/dist/esm/udp-list-renderer_3.entry.js +194 -5
- package/dist/esm/udp-map.entry.js +3 -3
- package/dist/esm/udp-page.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 +20 -0
- package/dist/esm/udp-tab-panel.entry.js.map +1 -0
- package/dist/esm/udp-vertical-spacer.entry.js +1 -1
- package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
- package/dist/stencil-library/advanced-search_50.entry.js +1 -1
- package/dist/stencil-library/advanced-search_50.entry.js.map +1 -1
- package/dist/stencil-library/ag-grid-base_5.entry.js +1 -1
- package/dist/stencil-library/api-method-instance-grid.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/color-preview.entry.js +1 -1
- package/dist/stencil-library/date-time-renderer_6.entry.js +1 -1
- package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
- package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
- package/dist/stencil-library/image-upload_7.entry.js +1 -1
- package/dist/stencil-library/inputs-example.entry.js +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/page-renderer.entry.js +1 -1
- package/dist/stencil-library/question-configs-renderer_5.entry.js +1 -1
- package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
- package/dist/stencil-library/search-method-grid.entry.js +1 -1
- package/dist/stencil-library/server-side-grid.entry.js +1 -1
- package/dist/stencil-library/simple-card.entry.js +1 -1
- package/dist/stencil-library/simple-card.entry.js.map +1 -1
- package/dist/stencil-library/stencil-library.esm.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.js +1 -1
- package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
- package/dist/stencil-library/udp-dynamic-form.entry.js +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.js +1 -1
- package/dist/stencil-library/udp-forms-list.entry.js +1 -1
- package/dist/stencil-library/udp-forms-renderer.entry.js +1 -1
- package/dist/stencil-library/udp-list-renderer.udp-pagination.udp-side-sheet.entry.esm.js.map +1 -1
- package/dist/stencil-library/udp-list-renderer_3.entry.js +1 -1
- package/dist/stencil-library/udp-list-renderer_3.entry.js.map +1 -1
- package/dist/stencil-library/udp-map.entry.js +1 -1
- package/dist/stencil-library/udp-page.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.esm.js.map +1 -0
- package/dist/stencil-library/udp-tab-panel.entry.js +2 -0
- package/dist/stencil-library/udp-tab-panel.entry.js.map +1 -0
- package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
- package/dist/types/components/my-component/UI/drawers/udp-side-sheet/types.d.ts +7 -0
- package/dist/types/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.d.ts +114 -0
- package/dist/types/components/my-component/UI/tabs/tab/tabs/udp-tabs.d.ts +47 -4
- package/dist/types/components/my-component/UI/tabs/tab/udp-tab.d.ts +1 -1
- package/dist/types/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.d.ts +11 -0
- package/dist/types/components.d.ts +151 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"udp-forms-renderer.js","mappings":"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","names":["UdpFormsRenderer","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/forms/udp-forms/utils/udp-forms-renderer-utils.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/formUtils.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/PublicFormSubmissionHandler.ts","src/components/my-component/UI/forms/udp-forms/utils/classes/UdpFormSubmission.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/PrivateFormSubmissionHandler.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/FormSubmissionHandlerFactory.ts","src/components/my-component/UI/forms/udp-forms/utils/form-handler/UdpFormHandler.ts","src/components/my-component/UI/forms/udp-forms/utils/classes/UdpForm.ts","src/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.tsx"],"sourcesContent":["// take a masterForm's structure and build the empty initialValues object\nimport { UdpForm } from \"src/components\";\n\n// eg. { section1: { question1: { value: '', comments: [], metadata: {} }, question2: { value: '', comments: [], metadata: {} } }, section2: { question3: { value: '', comments: [], metadata: {} } } }\nexport const buildEmptyInitialValues = (masterForm: UdpForm) => {\n const initialValues = {};\n\n for (const section of masterForm.udpFormUdpFormSection) {\n initialValues[section.name] = {};\n\n const questionsOfSection = masterForm.formQuestions.filter(\n question => question.formSectionId == section.id,\n );\n\n for (const question of questionsOfSection) {\n initialValues[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 initialValues;\n};\n","/**\n * Utility function to check if an array contains File objects\n */\nexport function isFileArray(array: any): array is File[] {\n // Check if it's an array\n if (!Array.isArray(array)) {\n return false;\n }\n\n // Check if all elements in the array are instances of File\n return array.every(item => item instanceof File);\n}\n","// @ts-nocheck\nimport { Guid, UdpFormSubmissionStatus } from '../../types';\nimport { createFormData } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from './formUtils';\nimport { UdpFormSubmission } from '../classes/UdpFormSubmission';\nimport { IFormSubmissionHandler } from './IFormSubmissionHandler';\n\n\n\n// TODO: This handler needs to be updated with new public form logic. \n// ******* THIS HANDLER IS OUTDATED, AND WILL LIKELY NOT WORK ********* \n\n/**\n * Handles submission for *public* (unauthenticated) forms. \n */\nexport class PublicFormSubmissionHandler implements IFormSubmissionHandler {\n constructor(\n formId?: Guid,\n formVersion?: number,\n tenantId?: Guid\n ) {}\n\n public async fetchAndPopulateUdpFormSubmissionObj(submission: UdpFormSubmission) {\n return submission\n }\n \n\n private objectToFormData(obj: Record<string, any>): FormData {\n const files: File[] = [];\n const formObj: Record<string, any> = {};\n\n for (const key in obj) {\n let value = obj[key]?.value ?? obj[key];\n\n if (isFileArray(value)) {\n if (value.length > 0) {\n files.push(value[0]);\n formObj[key] = value[0].name;\n }\n } else if (Array.isArray(value)) {\n formObj[key] = value.map(v => (typeof v === 'string' ? v : v.value)).join(',');\n } else if (value !== null && value !== undefined && value !== '') {\n formObj[key] = value;\n }\n }\n\n return createFormData({\n formData: JSON.stringify(formObj),\n formFiles: files[0] || null\n });\n }\n\n async saveCurrentFormSubmissionState(values: Record<string, any>, submission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return submission\n }\n\n async createNewLinkedFollowUpFormSubmission(submission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return submission\n }\n\n async finalizeFormSubmissionState(values: Record<string, any>, submission: UdpFormSubmission) : Promise<UdpFormSubmission> {\n try {\n // const formData = this.objectToFormData(values);\n\n // await makeApiCall(\n // 'POST',\n // `${ConfigService.productV1ApiUrl}/UdpForm/${this.formId}/${this.formVersion}/submit/public?tenantId=${this.tenantId}`,\n // formData,\n // true\n // );\n\n return submission;\n } catch (error) {\n console.error('Public form submission failed:', error);\n throw error\n }\n }\n}","import { UdpFormSubmissionStatus } from '../../utils/types';\nimport { Guid, UdpTag } from 'src/global/types';\nimport { createFormData } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from '../form-submission-handler/formUtils';\n\n\nexport class UdpFormSubmission {\n id: Guid | null = null;\n formId: Guid | null = null;\n formVersion: number | null = null;\n data: any | null = {};\n unityUserId: Guid | null = null;\n clusterId: number | null = null;\n userDisplayName: string | null = '';\n status: UdpFormSubmissionStatus | null = null;\n businessObjectKey: string | null = '';\n udpTags: UdpTag[] | null = [];\n form: any | null = null;\n initialCreatedOn: Date | null = null;\n lastModifiedOn: Date | null = null;\n submittedOn: Date | null = null;\n\n constructor(initialData: Partial<UdpFormSubmission> = {}) {\n Object.assign(this, initialData);\n }\n\n // =============================\n // Form Data Processing\n // =============================\n\n public processSubmissionIntoFormDataWithoutValues(\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status); \n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const formData = createFormData(baseData);\n\n formData.append('Data', JSON.stringify(this.data));\n\n return formData;\n }\n\n\n\n public processSubmissionIntoFormData(\n formInputValuesAndMetadata: Record<\n string,\n Record<\n string,\n { value: any; comments?: any[]; files?: File[]; metadata?: Record<string, any> }\n >\n >,\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status); \n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const { cleanedData, files } = this.extractCleanedDataAndFiles(formInputValuesAndMetadata);\n const formData = createFormData(baseData);\n\n files.forEach(file => formData.append('FormFiles', file));\n \n const submissionDataObject = {\n submissionResponseData: cleanedData,\n submissionMetadata: this.data.submissionMetadata || null\n }\n\n formData.append('Data', JSON.stringify(submissionDataObject));\n\n return formData;\n }\n\n private resolveSubmissionStatus(status: UdpFormSubmissionStatus): number {\n if (status === 'submitted') return 2;\n if (status === 'in-progress') return 1;\n return typeof status === 'number' ? status : 1;\n }\n\n private buildBaseSubmissionData(statusValue: number): Record<string, any> {\n const baseData: Record<string, any> = {\n FormId: this.formId,\n FormVersion: this.formVersion.toString(),\n Status: statusValue.toString(),\n };\n\n if (this.id) {\n baseData.Id = this.id;\n }\n\n if (this.initialCreatedOn) {\n baseData.InitialCreatedOn = this.initialCreatedOn\n }\n \n if (this.lastModifiedOn) {\n baseData.LastModifiedOn = this.lastModifiedOn\n }\n\n if (this.submittedOn) {\n baseData.submittedOn = this.submittedOn\n }\n\n return baseData;\n }\n\n private extractCleanedDataAndFiles(data: Record<string, any>) {\n const files: File[] = [];\n const cleanedData: Record<\n string,\n Record<string, { value: any; comments: any[]; metadata?: Record<string, any> }>\n > = {};\n\n for (const sectionName in data) {\n cleanedData[sectionName] = {};\n\n for (const questionName in data[sectionName]) {\n const entry = data[sectionName][questionName];\n const { value, fieldFiles } = this.extractValueAndFiles(entry);\n if (fieldFiles) files.push(...fieldFiles);\n\n const comments = this.processComments(entry.comments);\n const metadata = this.processMetadata(entry.metadata);\n\n cleanedData[sectionName][questionName] = { value, comments, ...(metadata && { metadata }) };\n }\n }\n\n return { cleanedData, files };\n }\n\n // =============================\n // Form Data Processing Private Helpers\n // =============================\n\n private extractValueAndFiles(entry: any): { value: any; fieldFiles?: File[] } {\n let rawValue = entry?.value?.files ? entry.value.value : entry?.value;\n const fieldFiles = entry?.value?.files;\n\n if (fieldFiles && Array.isArray(fieldFiles)) {\n return {\n value: typeof rawValue === 'string' && rawValue.trim() !== '' ? rawValue : '',\n fieldFiles,\n };\n }\n\n if (isFileArray(rawValue)) {\n return {\n value: rawValue.length > 0 ? rawValue.map(f => f.name).join(',') : '',\n fieldFiles: rawValue,\n };\n }\n\n if (rawValue instanceof File) {\n return { value: rawValue.name, fieldFiles: [rawValue] };\n }\n\n if (Array.isArray(rawValue)) {\n return { value: rawValue.map(i => (typeof i === 'string' ? i : i?.value)).join(',') };\n }\n\n return { value: rawValue };\n }\n\n private processComments(comments: any[] | undefined) {\n return comments?.map(comment => ({ ...comment })) ?? [];\n }\n\n private processMetadata(metadata: Record<string, any> | undefined) {\n return metadata && Object.keys(metadata).length > 0 ? { ...metadata } : undefined;\n }\n}\n\n\n\n","import { UdpFormSubmissionStatus } from '../../utils/types';\nimport { makeApiCall } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { SearchBuilder, SearchOperators } from '../../../../../../../udp-utilities/search';\nimport { ConfigService } from 'src/udp-utilities/api-config';\nimport { UdpFormSubmission } from '../classes/UdpFormSubmission';\nimport { IFormSubmissionHandler } from './IFormSubmissionHandler';\n\n\n\n/**\n * Handles CRUD and submission operations for private UdpFormSubmission records.\n */\nexport class PrivateFormSubmissionHandler implements IFormSubmissionHandler {\n\n // =============================\n // Fetch Methods\n // =============================\n\n /** Fetch and refresh an existing UdpFormSubmission instance. */\n async fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n const response =\n udpFormSubmission.id\n ? await this.getFormSubmissionById(udpFormSubmission.id, udpFormSubmission.unityUserId)\n : null;\n\n if (!response) {\n console.warn('No form submission found for the provided object.');\n return udpFormSubmission;\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n }\n\n /** Internal method to fetch a form submission by ID and user. */\n private async getFormSubmissionById(id: string, unityUserId: string): Promise<UdpFormSubmission | null> {\n try {\n const search = new SearchBuilder(1, 1)\n .addFilter('id', id, SearchOperators.EQUALS)\n .addFilter('unityUserId', unityUserId, SearchOperators.EQUALS);\n // .addOrder('id', 'DESC'); // ordering not necessary when fetching by ID\n\n const response = await search.execute('UdpFormSubmission');\n return response?.pageList?.[0] as UdpFormSubmission || null;\n } catch (error) {\n console.error('Error fetching form submission by ID:', error);\n return null;\n }\n }\n\n // =============================\n // Save & Submit Methods\n // =============================\n async createNewLinkedFollowUpFormSubmission(udpFormSubmission): Promise<UdpFormSubmission> {\n const formData = await this.saveFormDataWithoutValues(udpFormSubmission, 'in-progress');\n return formData\n }\n\n\n // =============================\n // Save & Submit Methods\n // =============================\n /**\n * Save form data (draft or submitted).\n * Automatically determines POST or PUT and merges response with existing object.\n */\n async saveFormDataWithoutValues(udpFormSubmission: UdpFormSubmission, status: UdpFormSubmissionStatus): Promise<UdpFormSubmission> {\n try {\n const formData = udpFormSubmission.processSubmissionIntoFormDataWithoutValues(status);\n const { method, url } = this.getApiRequestInfo(udpFormSubmission);\n\n const response = await makeApiCall(method, url, formData, true);\n\n // PUT returns an empty string; refetch to refresh local data\n if (response === '') {\n return await this.fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission);\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Failed to save form udpFormSubmission:', error);\n throw error;\n }\n }\n\n /**\n * Save the current state of the form's data.\n * Automatically determines POST or PUT and merges response with existing object.\n */\n async saveCurrentFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return this.saveToDB(values, udpFormSubmission, 'in-progress')\n }\n\n\n /** Submit the form (final udpFormSubmission). */\n async finalizeFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return this.saveToDB(values, udpFormSubmission, 'submitted');\n }\n\n // =============================\n // Helpers\n // =============================\n\n /** Determine the correct HTTP method and URL for saving a form submission. */\n private getApiRequestInfo(udpFormSubmission: UdpFormSubmission): { method: 'POST' | 'PUT'; url: string } {\n const baseUrl = `${ConfigService.productV1ApiUrl}/UdpFormSubmission`;\n\n return udpFormSubmission.id\n ? { method: 'PUT', url: `${baseUrl}/${udpFormSubmission.id}` }\n : { method: 'POST', url: baseUrl };\n }\n\n private async saveToDB(values: Record<string, any>, udpFormSubmission: UdpFormSubmission, status: UdpFormSubmissionStatus): Promise<UdpFormSubmission> {\n try {\n const formData = udpFormSubmission.processSubmissionIntoFormData(values, status);\n const { method, url } = this.getApiRequestInfo(udpFormSubmission);\n\n const response = await makeApiCall(method, url, formData, true);\n\n // PUT returns an empty string; refetch to refresh local data\n if (response === '') {\n return await this.fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission);\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Failed to save form udpFormSubmission:', error);\n throw error;\n }\n }\n}\n\n","import { IFormSubmissionHandler } from './IFormSubmissionHandler';\nimport { PublicFormSubmissionHandler } from './PublicFormSubmissionHandler';\nimport { PrivateFormSubmissionHandler } from './PrivateFormSubmissionHandler';\nimport { Guid } from '../../utils/types';\n\n/**\n * Factory for creating form submission handlers.\n */\nexport class FormSubmissionHandlerFactory {\n static create(\n isPublic: boolean,\n userId?: Guid | null,\n formId?: Guid,\n version?: number,\n tenantId?: Guid,\n ): IFormSubmissionHandler {\n\n if (isPublic) {\n return new PublicFormSubmissionHandler(formId, version, tenantId);\n }\n\n if (!userId) {\n throw new Error('User ID is required for private forms');\n }\n\n return new PrivateFormSubmissionHandler();\n }\n}\n","import { Guid, StyleOverrides } from '../../utils/types';\nimport { UdpForm } from '../classes/UdpForm';\nimport { makeApiCall } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { ConfigService } from 'src/udp-utilities/api-config';\n\n/**\n * UDP Form handler (new UdpFormSubmission endpoint)\n */\nexport class UdpFormHandler {\n constructor(public tenantId?: Guid) {}\n\n // =============================\n // Fetching Form\n // =============================\n\n async getFormByFormId(formId): Promise<UdpForm> {\n const formData: UdpForm = await makeApiCall(\n 'GET',\n `${ConfigService.productV1ApiUrl}/UdpForm/${formId}/describe`,\n );\n\n if (formData.styleOverrides && typeof formData.styleOverrides === 'string') {\n formData.styleOverrides = JSON.parse(formData.styleOverrides) as StyleOverrides;\n }\n\n return formData;\n }\n\n async getFormByFormIdAndFormVersion(formId, formVersion): Promise<UdpForm> {\n const formData: UdpForm = await makeApiCall(\n 'GET',\n `${ConfigService.productV1ApiUrl}/UdpForm/${formId}/${formVersion}/describe`\n );\n\n if (formData.styleOverrides && typeof formData.styleOverrides === 'string') {\n formData.styleOverrides = JSON.parse(formData.styleOverrides) as StyleOverrides;\n }\n\n return formData;\n }\n}\n\n\n","import { StyleOverrides, UdpFormSection, UdpFormQuestion } from '../../utils/types';\nimport { Guid } from 'src/global/types';\nimport { UdpFormsTypeEnum } from '../../utils/enums';\n\nexport class UdpForm {\n id?: Guid;\n version?: number;\n type?: UdpFormsTypeEnum;\n isPrivate?: boolean;\n name?: string;\n description?: string;\n tenantId?: Guid;\n clusterId?: number;\n styleOverrides?: StyleOverrides;\n createdOn?: Date;\n formProperties?: any;\n udpFormUdpFormSection?: UdpFormSection[];\n formQuestions?: UdpFormQuestion[];\n\n constructor(initialData?: Partial<UdpForm>) {\n if (!initialData) return;\n\n Object.assign(this, initialData);\n }\n}\n","import { Component, Prop, State, Element, h } from '@stencil/core';\nimport { throttle } from 'lodash';\nimport { Guid } from 'src/global/types';\nimport { UdpFormsFieldTypeEnum } from '../utils/enums';\nimport { getCurrentTenantId } from 'src/udp-utilities/tenant/tenantUtils';\nimport { fetchLatestForms } from '../udp-forms-list/udp-form-api-utils';\nimport { UdpFormsTypeEnum, UdpFormsPageIdEnum } from '../utils/enums';\nimport { buildEmptyInitialValues } from '../utils/udp-forms-renderer-utils';\nimport { IFormSubmissionHandler } from '../utils/form-submission-handler/IFormSubmissionHandler';\nimport { FormSubmissionHandlerFactory } from '../utils/form-submission-handler/FormSubmissionHandlerFactory';\nimport { UdpFormHandler } from '../utils/form-handler/UdpFormHandler';\nimport { UdpFormSubmission } from '../utils/classes/UdpFormSubmission';\nimport { UdpForm } from '../utils/classes/UdpForm';\nimport { _getEnableSelectionWithoutKeys } from 'ag-grid-community-v33/dist/types/src/gridOptionsUtils';\n\n@Component({\n tag: 'udp-forms-renderer',\n shadow: true,\n})\nexport class UdpFormsRenderer {\n @Element() el: HTMLElement;\n \n @Prop() formId?: Guid | null;\n @Prop() version?: number | null;\n @Prop() submissionId?: Guid | null;\n @Prop() triggerAction: (actionId: Guid, params: Object) => void;\n @Prop() isPublic: boolean = false;\n @Prop() callbackUrl: string;\n @Prop() getUserCallback?: Function;\n @Prop() enqueueSnackbar: Function;\n @Prop() closeSnackbar: Function;\n @Prop() autoSaveDelay: number = 2000; // Debounce delay for auto-save in milliseconds (currently disabled)\n @Prop() history: Function;\n \n @State() initialValues: { [name: string]: any } = {};\n @State() submitSuccessful: boolean = false;\n @State() currentFormData: { [name: string]: any } = {};\n @State() isLoading: boolean = false;\n @State() isSaving: boolean = false;\n @State() isSubmitted: boolean = false;\n @State() saveErrorMessage: string | null = null;\n @State() dynamicSections: any[] = [];\n @State() isUpdatingSections: boolean = false;\n @State() reRenderKey: number = 0;\n @State() isFormDirty: boolean = false;\n @State() isUserModifiedComment: boolean = false;\n @State() isUserUpdatedSections: boolean = false;\n\n @State() sideSheetFollowUpFormsList: any[] = []; // used for follow up forms. \n @State() followUpSideSheetTotalItems: number = 0; // used for follow up forms. \n @State() isFollowUpFormsSideSheetOpen: boolean = false; // used for follow up forms.\n @State() followUpSideSheetListPageNumber: number = 1; // used for follow up forms.\n\n private FOLLOW_UP_SIDE_SHEET_PAGE_SIZE = 5;\n private readonly componentMap = {\n history: 'history',\n listItemData: 'listItemData',\n handleLaunchFollowUpForm: 'handleLaunchFollowUpForm'\n };\n\n\n private tenantId: Guid = getCurrentTenantId();\n // private debouncedAutoSave: (values: { [name: string]: any }) => void; // Kept for future use (currently disabled)\n private debouncedManualSave: (values: { [name: string]: any }) => void; // Debounced manual save (5 seconds)\n private formsUiEl!: HTMLUdpFormsUiElement;\n private userId: Guid | null = null;\n private userDisplayName: string | null = null;\n \n private udpForm: UdpForm; // udpForm data object \n private udpFormSubmission: UdpFormSubmission; // udpFormSubmission data object \n\n private formHandler: UdpFormHandler // hanlder for API interactions with the UdpForm domain\n private formSubmissionHandler: IFormSubmissionHandler; // handler for API interactions with the UdpFormSubmission domain\n\n private followUpParentSectionKey: string = ''; // used for follow up forms.\n private followUpParentQuestionKey: string = ''; // used for follow up forms.\n\n componentDidLoad() {\n if (this.formsUiEl) {\n this.formsUiEl.addEventListener(\n 'questionCommentAction',\n (e: CustomEvent<{ type: string; key: string }>) => this.handleQuestionCommentCRUD(e)\n );\n \n }\n\n if (this.el)\n {\n // Listen for launchFollowUpFormSideSheet event from udp-question\n this.el.addEventListener(\n 'launchFollowUpFormSideSheet',\n (e: CustomEvent<any>) => this.handleLaunchFollowUpFormSideSheet(e),\n );\n\n this.el.addEventListener('formDirtyChange', (e: CustomEvent<boolean>) => {\n this.isFormDirty = e.detail;\n });\n }\n\n }\n\n\n private handleLaunchFollowUpFormSideSheet = async (e) => {\n try {\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n this.followUpParentSectionKey = e.detail.sectionKey;\n this.followUpParentQuestionKey = e.detail.questionKey;\n await this.loadFollowUpForms(this.followUpParentSectionKey, this.followUpParentQuestionKey);\n this.isFollowUpFormsSideSheetOpen = true;\n } catch (error) {\n console.error('Error loading follow-up forms:', error);\n }\n };\n\n async componentWillLoad() {\n this.isLoading = true;\n\n try {\n // Get user info if available\n const user = this.getUserCallback?.();\n if (user) {\n this.userId = user.id || null;\n this.userDisplayName = user.name || null;\n } \n \n this.formSubmissionHandler = FormSubmissionHandlerFactory.create(this.isPublic, this.userId)\n this.udpFormSubmission = new UdpFormSubmission({id: this.submissionId, formId: this.formId, formVersion: this.version, unityUserId: this.userId})\n\n // fetch existing submission from Udp.FormSubmission if submissionId is provided \n // take exisitng object, and populate with db values, and return new obj with updated values\n if (this.submissionId) {\n this.udpFormSubmission = await this.formSubmissionHandler.fetchAndPopulateUdpFormSubmissionObj(this.udpFormSubmission); \n } \n\n // get the master form from Udp.Form\n let formId;\n let formVersion;\n\n if (this.submissionId) {\n formId = this.udpFormSubmission.formId;\n formVersion = this.udpFormSubmission.formVersion;\n } else if (this.formId && this.version) {\n formId = this.formId;\n formVersion = this.version;\n }\n \n this.formHandler = new UdpFormHandler(this.tenantId);\n const formData = await this.formHandler.getFormByFormIdAndFormVersion(formId, formVersion);\n this.udpForm = new UdpForm(formData);\n this.initialValues = buildEmptyInitialValues(this.udpForm);\n\n // if there's existing data, update the form's state\n if (this.udpFormSubmission.data.submissionResponseData) {\n this.initialValues = { ...this.udpFormSubmission.data.submissionResponseData };\n\n if (this.udpFormSubmission.status === 2 || this.udpFormSubmission.status === 'submitted') {\n this.isSubmitted = true;\n }\n }\n\n this.initializeDynamicSections(); // process the master form into dynamic sections \n \n // After sections/questions are prepared, seed initial values from URL for ALL questions,\n // with saved values taking precedence, and paragraph defaults as a fallback.\n this.applyUrlInitialValuesForAll();\n\n // Set up throttled manual save function (5 seconds) - fires immediately, then throttles\n this.debouncedManualSave = throttle(\n async (values: { [name: string]: any }) => {\n await this.handleManualSave(values);\n },\n 2000,\n { leading: true, trailing: false },\n );\n\n // Set up debounced auto-save function (currently disabled)\n // this.debouncedAutoSave = debounce(async (values: { [name: string]: any }) => {\n // // await this.handleAutoSave(values); // Disabled for now\n // }, this.autoSaveDelay);\n } catch (error) {\n console.error('Error failed to load form in the form renderer:', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n\n // build dynamic sections based on the\n private initializeDynamicSections() {\n const tempDynamicSection: any[] = [];\n const sortedSections = structuredClone(this.udpForm.udpFormUdpFormSection).sort((a, b) => a.order - b.order);\n\n for (const section of sortedSections) {\n section.sectionProperties = JSON.parse(section.sectionProperties || {});\n const repeatGroupKeys = this.findRepeatGroupKeys(section.name, this.initialValues);\n section.isOriginalSection = true;\n section.sectionPositionSuffix = 1; // default position\n\n // always add the original section into dynamic sections\n tempDynamicSection.push({\n ...structuredClone(section),\n // dynamicSectionName: section.name,\n formQuestions: structuredClone(this.udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({ ...q, questionIdentifierKey: `${section.name}.${q.name}` , isShowCommentInput: true})),\n });\n\n // create then add additional sections if there are repeated sections\n if (section.sectionProperties?.isRepeatable && repeatGroupKeys.length > 0) {\n const maxRepeatedSectionSuffix = Math.max(...repeatGroupKeys); // create a new section for the max value of repeat group keys, even if there are no saved answers\n\n // for (const repeatKey of repeatGroupKeys) { // create a section only for the suffix saved\n for (let repeatKey = 2; repeatKey <= maxRepeatedSectionSuffix; repeatKey++) {\n const clonedSection = {\n ...structuredClone(section),\n formQuestions: structuredClone(this.udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({ ...q, questionIdentifierKey: `${section.name}_${repeatKey}.${q.name}` , isShowCommentInput: true})),\n isOriginalSection: false,\n sectionPositionSuffix: repeatKey,\n };\n tempDynamicSection.push(clonedSection);\n }\n }\n }\n\n this.dynamicSections = tempDynamicSection;\n }\n\n private findRepeatGroupKeys(sectionName: string, values: Object): number[] {\n const keys = Object.keys(values);\n const repeatGroupSet = new Set<number>();\n\n // Match: sectionName_2\n const regex = new RegExp(`^${sectionName}_(\\\\d+)`);\n\n keys.forEach(key => {\n const match = key.match(regex);\n if (match && match[1]) {\n repeatGroupSet.add(Number(match[1]));\n }\n });\n\n return Array.from(repeatGroupSet).sort((a, b) => a - b);\n }\n\n /**\n * Duplicate a repeatable section\n */\n private duplicateRepeatableSection = (index: number) => {\n if (this.isSubmitted || this.isUpdatingSections) return;\n this.isUpdatingSections = true;\n this.isLoading = true;\n\n try {\n const sectionToClone = this.dynamicSections[index];\n if (!sectionToClone) return;\n\n const cloningSectionName = sectionToClone.name;\n\n // Find existing repeat group indices\n const repeatKeys = this.findRepeatGroupKeys(cloningSectionName, this.initialValues);\n const nextRepeatIndex = repeatKeys.length > 0 ? Math.max(...repeatKeys) + 1 : 2;\n\n const clonedSection = {\n ...structuredClone(sectionToClone),\n formQuestions: sectionToClone.formQuestions.map(q => {\n const newQuestionObj = structuredClone(q);\n newQuestionObj.questionIdentifierKey = `${cloningSectionName}_${nextRepeatIndex}.${q.name}`;\n return newQuestionObj;\n }),\n isOriginalSection: false,\n sectionPositionSuffix: nextRepeatIndex,\n };\n\n // Find the last index of this section group\n let insertAtIndex = index;\n for (let i = index + 1; i < this.dynamicSections.length; i++) {\n const s = this.dynamicSections[i];\n if (s.name === cloningSectionName) {\n insertAtIndex = i;\n } else {\n break;\n }\n }\n\n // Insert after the last repeat of the section group\n this.dynamicSections = [\n ...this.dynamicSections.slice(0, insertAtIndex + 1),\n clonedSection,\n ...this.dynamicSections.slice(insertAtIndex + 1),\n ];\n\n // Create new initial values structure\n const newInitialValues = structuredClone(this.udpFormSubmission.data.submissionResponseData);\n\n clonedSection.formQuestions.forEach(q => {\n const newSectionNameWithSuffix = `${cloningSectionName}_${nextRepeatIndex}`;\n const newQuestionName = q.name;\n\n if (!newInitialValues[newSectionNameWithSuffix]) {\n newInitialValues[newSectionNameWithSuffix] = {};\n }\n\n // Preserve only Paragraph values from the source section; clear others\n let value = '';\n if (q.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph) {\n // Determine source section key (the section being duplicated)\n const sourceSectionKey = sectionToClone.isOriginalSection\n ? cloningSectionName\n : `${cloningSectionName}_${sectionToClone.sectionPositionSuffix}`;\n const sourceVal = this.udpFormSubmission.data.submissionResponseData?.[sourceSectionKey]?.[newQuestionName]?.value;\n let fieldProps: any = q?.fieldProperties;\n if (typeof fieldProps === 'string') {\n try {\n fieldProps = JSON.parse(fieldProps || '{}');\n } catch {\n fieldProps = {};\n }\n }\n const paragraphDefault = fieldProps?.paragraphText ?? '';\n value = sourceVal ?? paragraphDefault;\n }\n\n newInitialValues[newSectionNameWithSuffix][newQuestionName] = { value, comments: [], metadata : {}};\n });\n // This will trigger a complete form re-render\n this.initialValues = {...newInitialValues};\n this.udpFormSubmission.data.submissionResponseData = {...newInitialValues};\n this.triggerFormRerender();\n } finally {\n this.isUpdatingSections = false;\n this.isLoading = false;\n this.isUserUpdatedSections = true;\n }\n };\n\n /**\n * Delete a repeatable section\n */\n private deleteRepeatableSection = (index: number) => {\n if (this.isSubmitted) return;\n\n const sectionToDelete = this.dynamicSections[index];\n if (!sectionToDelete || sectionToDelete.isOriginalSection) return;\n\n this.isUpdatingSections = true;\n this.isLoading = true;\n try {\n const deleteSectionName = sectionToDelete.name;\n const deleteSuffix = sectionToDelete.sectionPositionSuffix;\n const sectionKeyToDelete = `${deleteSectionName}_${deleteSuffix}`;\n\n const newInitialValues = { ...this.udpFormSubmission.data.submissionResponseData };\n delete newInitialValues[sectionKeyToDelete];\n\n // Remove the section from dynamicSections\n const updatedSections = structuredClone(this.dynamicSections);\n updatedSections.splice(index, 1);\n\n // Shift all later repeatable sections backward by 1\n updatedSections.forEach(section => {\n if (\n section.name !== deleteSectionName ||\n section.isOriginalSection ||\n section.sectionPositionSuffix <= deleteSuffix\n ) {\n return;\n }\n\n const oldSuffix = section.sectionPositionSuffix;\n const oldSectionKey = `${deleteSectionName}_${oldSuffix}`;\n const newSuffix = oldSuffix - 1;\n const newSectionKey = `${deleteSectionName}_${newSuffix}`;\n\n // Update suffix\n section.sectionPositionSuffix = newSuffix;\n\n // Update questionIdentifierKeys\n section.formQuestions = section.formQuestions.map(q => {\n const newSectionQuestion = structuredClone(q);\n newSectionQuestion.questionIdentifierKey = `${newSectionKey}.${q.name}`;\n return newSectionQuestion;\n });\n\n // Move data in initial values\n if (newInitialValues[oldSectionKey]) {\n newInitialValues[newSectionKey] = structuredClone(newInitialValues[oldSectionKey]);\n delete newInitialValues[oldSectionKey];\n }\n });\n\n this.dynamicSections = updatedSections;\n this.initialValues = {...newInitialValues};\n this.udpFormSubmission.data.submissionResponseData = {...newInitialValues};\n this.triggerFormRerender();\n } finally {\n this.isUpdatingSections = false;\n this.isLoading = false;\n this.isUserUpdatedSections = true;\n }\n };\n\n // Build initial values from URL for ALL fields, but do NOT override saved values.\n // For Paragraph, also fall back to the builder's default text when nothing else provided.\n private applyUrlInitialValuesForAll() {\n if (!Array.isArray(this.dynamicSections)) return;\n\n const urlParams =\n typeof window !== 'undefined' ? new URLSearchParams(window.location.search) : null;\n\n // 1) Collect URL values into nested structure: { [sectionKey]: { [questionName]: { value, comments: [] } } }\n const urlValuesNested: {\n [sectionKey: string]: { [qName: string]: { value: any; comments: any[] } };\n } = {};\n if (urlParams) {\n this.dynamicSections.forEach(section => {\n const sectionKey = section.isOriginalSection\n ? section.name\n : `${section.name}_${section.sectionPositionSuffix}`;\n (section.formQuestions || []).forEach(q => {\n if (!q) return;\n const candidates = [q.processedSubmissionName, q.questionIdentifierKey, q.name].filter(\n Boolean,\n ) as string[];\n let urlVal: string | null = null;\n for (const c of candidates) {\n urlVal = urlParams.get(c);\n if (urlVal !== null) break;\n }\n if (urlVal !== null) {\n if (!urlValuesNested[sectionKey]) urlValuesNested[sectionKey] = {};\n urlValuesNested[sectionKey][q.name] = { value: urlVal, comments: [] };\n }\n });\n });\n }\n\n // 2) Merge with saved values (this.initialValues) taking precedence\n const merged: { [sectionKey: string]: { [qName: string]: { value: any; comments: any[] } } } =\n structuredClone(this.initialValues) || {};\n Object.entries(urlValuesNested).forEach(([sectionKey, qMap]) => {\n if (!merged[sectionKey]) merged[sectionKey] = {} as any;\n Object.entries(qMap).forEach(([qName, valObj]) => {\n const existing = merged[sectionKey][qName];\n // Only set from URL if no saved value exists (null/undefined/empty-string)\n const isMissing =\n existing == null ||\n existing.value == null ||\n (typeof existing.value === 'string' && existing.value.trim() === '');\n if (isMissing) {\n merged[sectionKey][qName] = valObj;\n }\n });\n });\n\n // 3) Paragraph defaults: if still undefined/null, use fieldProperties.paragraphText\n this.dynamicSections.forEach(section => {\n const sectionKey = section.isOriginalSection\n ? section.name\n : `${section.name}_${section.sectionPositionSuffix}`;\n if (!merged[sectionKey]) merged[sectionKey] = {} as any;\n (section.formQuestions || []).forEach(q => {\n if (!q) return;\n if (q.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph) {\n const existing = merged[sectionKey][q.name];\n const isMissing =\n existing == null ||\n existing.value == null ||\n (typeof existing.value === 'string' && existing.value.trim() === '');\n if (isMissing) {\n let fieldProps: any = q?.fieldProperties;\n if (typeof fieldProps === 'string') {\n try {\n fieldProps = JSON.parse(fieldProps || '{}');\n } catch {\n fieldProps = {};\n }\n }\n merged[sectionKey][q.name] = {\n value: fieldProps?.paragraphText ?? '',\n comments: [],\n };\n }\n }\n });\n });\n\n this.initialValues = merged;\n this.udpFormSubmission.data.submissionResponseData = { ...merged } as any;\n }\n\n private async handleSubmit(values: { [name: string]: any }) {\n this.isLoading = true\n try {\n this.udpFormSubmission = await this.formSubmissionHandler.finalizeFormSubmissionState(values, this.udpFormSubmission);\n this.submitSuccessful = true;\n } catch (error) {\n this.enqueueSnackbar('There was an error submitting this form', {\n variant: 'error',\n anchorOrigin: { vertical: 'top', horizontal: 'center' },\n });\n throw error;\n } finally {\n this.isLoading = false \n }\n }\n\n\n /**\n * Auto save (background save)\n */\n private performBackgroundSaveAndUpdateLocalSubmissionState = async (values: { [name: string]: any }) => {\n this.saveErrorMessage = null;\n try {\n const updatedUdpFormSubmission = await this.formSubmissionHandler.saveCurrentFormSubmissionState(values, this.udpFormSubmission);\n this.udpFormSubmission = updatedUdpFormSubmission\n this.initialValues = { ...(updatedUdpFormSubmission.data?.submissionResponseData || {}) };\n } catch (error) {\n this.saveErrorMessage = 'Failed to save form data';\n } finally {\n this.isSaving = false;\n this.isUserModifiedComment = false;\n this.isUserUpdatedSections = false;\n this.isFormDirty = false;\n }\n };\n\n\n\n\n /**\n * Manual save function - debounced to 5 seconds\n */\n private handleManualSave = async (values: { [name: string]: any }) => {\n // Only save if handler supports it and user is authenticated\n // if (!this.formSubmissionHandler.supportsAutoSave() || !this.userId || !this.formSubmissionHandler.saveCurrentFormSubmissionState) {\n // return;\n // }\n\n this.isSaving = true;\n this.saveErrorMessage = null;\n\n try {\n const updatedUdpFormSubmission = await this.formSubmissionHandler.saveCurrentFormSubmissionState(values, this.udpFormSubmission);\n this.udpFormSubmission = updatedUdpFormSubmission\n this.initialValues = { ...(updatedUdpFormSubmission.data?.submissionResponseData || {}) };\n console.log('Form saved successfully');\n } catch (error) {\n console.error('Manual save failed:', error);\n this.saveErrorMessage = 'Failed to save form data';\n } finally {\n this.isSaving = false;\n this.isUserModifiedComment = false;\n this.isUserUpdatedSections = false;\n this.isFormDirty = false;\n }\n };\n\n private handleQuestionCommentCRUD(e: CustomEvent<{type: string, key: string}>) {\n const { type, key } = e.detail;\n const [sectionName, questionName] = key.split('.');\n let newInitialValues = { ...this.udpFormSubmission.data.submissionResponseData };\n\n switch (type) {\n case 'add':\n newInitialValues[sectionName][questionName].draftComment = {\n value: '',\n };\n break;\n\n case 'save':\n const draft = this.udpFormSubmission.data.submissionResponseData[sectionName][questionName].draftComment;\n if (!draft) return;\n newInitialValues[sectionName][questionName].comments.push({\n ...draft,\n timestamp: new Date().toISOString(),\n userId: this.userId,\n userDisplayName: this.userDisplayName\n });\n delete newInitialValues[sectionName][questionName].draftComment;\n this.isUserModifiedComment = true;\n break;\n\n case 'edit':\n const saved = this.udpFormSubmission.data.submissionResponseData[sectionName][questionName].comments[0];\n if (!saved) return;\n newInitialValues[sectionName][questionName].draftComment = { ...saved, timestamp: null };\n newInitialValues[sectionName][questionName].comments = [];\n break;\n\n case 'delete':\n newInitialValues[sectionName][questionName].comments = [];\n delete newInitialValues[sectionName][questionName].draftComment;\n this.isUserModifiedComment = true;\n break;\n }\n\n this.initialValues = { ...newInitialValues };\n this.udpFormSubmission.data.submissionResponseData = { ...newInitialValues };\n this.triggerFormRerender();\n }\n\n private handleFormChange = (values: { [name: string]: any }) => {\n if (this.isUpdatingSections) return;\n this.udpFormSubmission.data.submissionResponseData = values;\n };\n\n private handleFinish = () => {\n // Trigger any finish actions\n if (this.triggerAction) {\n this.triggerAction(null as any, { action: 'finish' });\n } \n };\n\n private triggerFormRerender = () => {\n const scrollY = window.scrollY;\n this.isLoading = true;\n this.reRenderKey += 1;\n\n // Small timeout to allow component mount to take effect\n setTimeout(() => {\n this.isLoading = false;\n window.scrollTo(0, scrollY);\n }, 100); \n };\n\n private async loadFollowUpForms(sectionKey, questionKey) {\n this.isLoading = true;\n this.saveErrorMessage = '';\n try {\n const response = await fetchLatestForms(this.followUpSideSheetListPageNumber, this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE, [{ searchField: 'type', searchOperator: '=', searchValue: UdpFormsTypeEnum.FollowUp }], { sortDirection: 'DESC', sortColumn: 'lastModifiedOn' });\n\n const data = response.data;\n\n if (!data || !Array.isArray(data.pageList)) {\n throw new Error('Malformed form versions data.');\n }\n\n this.sideSheetFollowUpFormsList = this.formatFollowUpFormsList(data.pageList, sectionKey, questionKey);\n this.followUpSideSheetTotalItems = data.total ?? 0;\n } catch (err) {\n console.error('Failed to follow up form.', err);\n this.saveErrorMessage = 'Failed to follow up forms.';\n } finally {\n this.isLoading = false;\n }\n }\n\n handleLaunchFollowUpForm = async (followUpFormId, followUpFormVersion, parentFormSubmissionId, parentFormId, parentFormVersion, sectionKey, questionKey) => {\n // create a new follow up form submission instance wiht a link to the parent form submission\n const followUpMasterForm = await this.formHandler.getFormByFormIdAndFormVersion(followUpFormId, followUpFormVersion);\n const followUpSubmissionData = {\n submissionResponseData: buildEmptyInitialValues(followUpMasterForm),\n submissionMetadata: {\n ParentSubmission: {\n submissionId: parentFormSubmissionId,\n formId: parentFormId,\n formVersion: parentFormVersion\n }\n }\n }\n \n const followUpFormSubmission = new UdpFormSubmission({formId: followUpFormId, formVersion: followUpFormVersion, unityUserId: this.userId, data: followUpSubmissionData})\n const followUpFormSubmissionHandler = FormSubmissionHandlerFactory.create(false, this.userId);\n const response = await followUpFormSubmissionHandler.createNewLinkedFollowUpFormSubmission(followUpFormSubmission);\n\n // update the current form submission state with the follow up form submission id in the metadata\n const itemMetadata = this.udpFormSubmission.data.submissionResponseData[sectionKey][questionKey].metadata\n this.udpFormSubmission.data.submissionResponseData[sectionKey][questionKey].metadata = {... itemMetadata, followUpFormSubmissionId: response.id}\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n\n const url = `/page/${UdpFormsPageIdEnum.FormRendererPageId}?udpf_submissionId=${response.id}`;\n window.open(url, '_blank'); \n this.handleSideSheetClose();\n this.triggerFormRerender();\n };\n\n private formatFollowUpFormsList(followUpFormsList, sectionKey, questionKey) {\n return followUpFormsList.map(item => ({\n listItemData: item,\n history: this.history,\n handleLaunchFollowUpForm: async () => await this.handleLaunchFollowUpForm(item.id, item.version, this.udpFormSubmission.id, this.udpFormSubmission.formId, this.udpFormSubmission.formVersion, sectionKey, questionKey),\n }));\n }\n\n private handleSideSheetClose = () => {\n // reset side sheet data\n this.sideSheetFollowUpFormsList = [];\n this.followUpSideSheetListPageNumber = 1;\n this.followUpSideSheetTotalItems = 0;\n this.isFollowUpFormsSideSheetOpen = false;\n this.followUpParentSectionKey = '';\n this.followUpParentQuestionKey = '';\n };\n\n private async handleSideSheetPageChange(page: number) {\n this.followUpSideSheetListPageNumber = page;\n await this.loadFollowUpForms(this.followUpParentSectionKey, this.followUpParentQuestionKey);\n }\n\n private renderFollowUpSideSheet() {\n return (\n <udp-side-sheet\n title=\"Link a Follow Up Form\"\n open={this.isFollowUpFormsSideSheetOpen}\n onUdpSideSheetClose={() => this.handleSideSheetClose()}\n position=\"right\"\n width=\"md\"\n >\n {this.isLoading && this.isFollowUpFormsSideSheetOpen && <udp-linear-loader />}\n <udp-list-renderer\n itemComponent=\"udp-forms-follow-up-list-card\"\n data={this.sideSheetFollowUpFormsList}\n pagination\n isServerSide\n isLoading={this.isLoading}\n itemsPerPage={this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE}\n currentPage={this.followUpSideSheetListPageNumber}\n totalItems={this.followUpSideSheetTotalItems}\n onPageChange={e => this.handleSideSheetPageChange(e.detail)}\n componentDataMap={this.componentMap}\n spacing='md'\n />\n </udp-side-sheet>\n );\n }\n\n private isShowManualSaveIcon = () => {\n // return (this.isFormDirty || this.isUserModifiedComment || this.isUserUpdatedSections) && !this.isSubmitted && !!this.userId;\n const showSaveIcon = (this.isFormDirty || this.isUserModifiedComment || this.isUserUpdatedSections) && !!this.userId;\n return showSaveIcon;\n };\n\n render() {\n return (\n <div class=\"forms-renderer-container\">\n {this.renderFollowUpSideSheet()}\n <udp-forms-ui\n udpForm={this.udpForm}\n initialValues={this.initialValues}\n udpFormSubmission={this.udpFormSubmission}\n submitSuccessful={this.submitSuccessful}\n isSaving={this.isSaving}\n saveErrorMessage={this.saveErrorMessage}\n // showAutoSaveStatus={this.formSubmissionHandler.supportsAutoSave() && !!this.userId}\n readonly={this.isSubmitted}\n handleSubmit={this.handleSubmit.bind(this)}\n handleSave={values => Promise.resolve(this.debouncedManualSave(values))}\n handleChange={this.handleFormChange}\n handleAction={this.triggerAction}\n handleFinish={this.handleFinish}\n userId={this.userId}\n isSubmitted={this.isSubmitted}\n dynamicSections={this.dynamicSections}\n duplicateRepeatableSection={this.duplicateRepeatableSection}\n deleteRepeatableSection={this.deleteRepeatableSection}\n ref={el => (this.formsUiEl = el)}\n key={`form-rerender-key-${this.reRenderKey}`}\n isShowManualSaveIcon={this.isShowManualSaveIcon()}\n isLoading={this.isLoading}\n performBackgroundSaveAndUpdateLocalSubmissionState={this.performBackgroundSaveAndUpdateLocalSubmissionState}\n />\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"udp-forms-renderer.js","mappings":"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","names":["UdpFormsRenderer","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/forms/udp-forms/utils/udp-forms-renderer-utils.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/formUtils.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/PublicFormSubmissionHandler.ts","src/components/my-component/UI/forms/udp-forms/utils/classes/UdpFormSubmission.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/PrivateFormSubmissionHandler.ts","src/components/my-component/UI/forms/udp-forms/utils/form-submission-handler/FormSubmissionHandlerFactory.ts","src/components/my-component/UI/forms/udp-forms/utils/form-handler/UdpFormHandler.ts","src/components/my-component/UI/forms/udp-forms/utils/classes/UdpForm.ts","src/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.tsx"],"sourcesContent":["// take a masterForm's structure and build the empty initialValues object\nimport { UdpForm } from \"src/components\";\n\n// eg. { section1: { question1: { value: '', comments: [], metadata: {} }, question2: { value: '', comments: [], metadata: {} } }, section2: { question3: { value: '', comments: [], metadata: {} } } }\nexport const buildEmptyInitialValues = (masterForm: UdpForm) => {\n const initialValues = {};\n\n for (const section of masterForm.udpFormUdpFormSection) {\n initialValues[section.name] = {};\n\n const questionsOfSection = masterForm.formQuestions.filter(\n question => question.formSectionId == section.id,\n );\n\n for (const question of questionsOfSection) {\n initialValues[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 initialValues;\n};\n","/**\n * Utility function to check if an array contains File objects\n */\nexport function isFileArray(array: any): array is File[] {\n // Check if it's an array\n if (!Array.isArray(array)) {\n return false;\n }\n\n // Check if all elements in the array are instances of File\n return array.every(item => item instanceof File);\n}\n","// @ts-nocheck\nimport { Guid, UdpFormSubmissionStatus } from '../../types';\nimport { createFormData } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from './formUtils';\nimport { UdpFormSubmission } from '../classes/UdpFormSubmission';\nimport { IFormSubmissionHandler } from './IFormSubmissionHandler';\n\n\n\n// TODO: This handler needs to be updated with new public form logic. \n// ******* THIS HANDLER IS OUTDATED, AND WILL LIKELY NOT WORK ********* \n\n/**\n * Handles submission for *public* (unauthenticated) forms. \n */\nexport class PublicFormSubmissionHandler implements IFormSubmissionHandler {\n constructor(\n formId?: Guid,\n formVersion?: number,\n tenantId?: Guid\n ) {}\n\n public async fetchAndPopulateUdpFormSubmissionObj(submission: UdpFormSubmission) {\n return submission\n }\n \n\n private objectToFormData(obj: Record<string, any>): FormData {\n const files: File[] = [];\n const formObj: Record<string, any> = {};\n\n for (const key in obj) {\n let value = obj[key]?.value ?? obj[key];\n\n if (isFileArray(value)) {\n if (value.length > 0) {\n files.push(value[0]);\n formObj[key] = value[0].name;\n }\n } else if (Array.isArray(value)) {\n formObj[key] = value.map(v => (typeof v === 'string' ? v : v.value)).join(',');\n } else if (value !== null && value !== undefined && value !== '') {\n formObj[key] = value;\n }\n }\n\n return createFormData({\n formData: JSON.stringify(formObj),\n formFiles: files[0] || null\n });\n }\n\n async saveCurrentFormSubmissionState(values: Record<string, any>, submission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return submission\n }\n\n async createNewLinkedFollowUpFormSubmission(submission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return submission\n }\n\n async finalizeFormSubmissionState(values: Record<string, any>, submission: UdpFormSubmission) : Promise<UdpFormSubmission> {\n try {\n // const formData = this.objectToFormData(values);\n\n // await makeApiCall(\n // 'POST',\n // `${ConfigService.productV1ApiUrl}/UdpForm/${this.formId}/${this.formVersion}/submit/public?tenantId=${this.tenantId}`,\n // formData,\n // true\n // );\n\n return submission;\n } catch (error) {\n console.error('Public form submission failed:', error);\n throw error\n }\n }\n}","import { UdpFormSubmissionStatus } from '../../utils/types';\nimport { Guid, UdpTag } from 'src/global/types';\nimport { createFormData } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { isFileArray } from '../form-submission-handler/formUtils';\n\n\nexport class UdpFormSubmission {\n id: Guid | null = null;\n formId: Guid | null = null;\n formVersion: number | null = null;\n data: any | null = {};\n unityUserId: Guid | null = null;\n clusterId: number | null = null;\n userDisplayName: string | null = '';\n status: UdpFormSubmissionStatus | null = null;\n businessObjectKey: string | null = '';\n udpTags: UdpTag[] | null = [];\n form: any | null = null;\n initialCreatedOn: Date | null = null;\n lastModifiedOn: Date | null = null;\n submittedOn: Date | null = null;\n\n constructor(initialData: Partial<UdpFormSubmission> = {}) {\n Object.assign(this, initialData);\n }\n\n // =============================\n // Form Data Processing\n // =============================\n\n public processSubmissionIntoFormDataWithoutValues(\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status); \n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const formData = createFormData(baseData);\n\n formData.append('Data', JSON.stringify(this.data));\n\n return formData;\n }\n\n\n\n public processSubmissionIntoFormData(\n formInputValuesAndMetadata: Record<\n string,\n Record<\n string,\n { value: any; comments?: any[]; files?: File[]; metadata?: Record<string, any> }\n >\n >,\n status: UdpFormSubmissionStatus,\n ): FormData {\n const statusValue = this.resolveSubmissionStatus(status); \n const baseData = this.buildBaseSubmissionData(statusValue);\n\n const { cleanedData, files } = this.extractCleanedDataAndFiles(formInputValuesAndMetadata);\n const formData = createFormData(baseData);\n\n files.forEach(file => formData.append('FormFiles', file));\n \n const submissionDataObject = {\n submissionResponseData: cleanedData,\n submissionMetadata: this.data.submissionMetadata || null\n }\n\n formData.append('Data', JSON.stringify(submissionDataObject));\n\n return formData;\n }\n\n private resolveSubmissionStatus(status: UdpFormSubmissionStatus): number {\n if (status === 'submitted') return 2;\n if (status === 'in-progress') return 1;\n return typeof status === 'number' ? status : 1;\n }\n\n private buildBaseSubmissionData(statusValue: number): Record<string, any> {\n const baseData: Record<string, any> = {\n FormId: this.formId,\n FormVersion: this.formVersion.toString(),\n Status: statusValue.toString(),\n };\n\n if (this.id) {\n baseData.Id = this.id;\n }\n\n if (this.initialCreatedOn) {\n baseData.InitialCreatedOn = this.initialCreatedOn\n }\n \n if (this.lastModifiedOn) {\n baseData.LastModifiedOn = this.lastModifiedOn\n }\n\n if (this.submittedOn) {\n baseData.submittedOn = this.submittedOn\n }\n\n return baseData;\n }\n\n private extractCleanedDataAndFiles(data: Record<string, any>) {\n const files: File[] = [];\n const cleanedData: Record<\n string,\n Record<string, { value: any; comments: any[]; metadata?: Record<string, any> }>\n > = {};\n\n for (const sectionName in data) {\n cleanedData[sectionName] = {};\n\n for (const questionName in data[sectionName]) {\n const entry = data[sectionName][questionName];\n const { value, fieldFiles } = this.extractValueAndFiles(entry);\n if (fieldFiles) files.push(...fieldFiles);\n\n const comments = this.processComments(entry.comments);\n const metadata = this.processMetadata(entry.metadata);\n\n cleanedData[sectionName][questionName] = { value, comments, ...(metadata && { metadata }) };\n }\n }\n\n return { cleanedData, files };\n }\n\n // =============================\n // Form Data Processing Private Helpers\n // =============================\n\n private extractValueAndFiles(entry: any): { value: any; fieldFiles?: File[] } {\n let rawValue = entry?.value?.files ? entry.value.value : entry?.value;\n const fieldFiles = entry?.value?.files;\n\n if (fieldFiles && Array.isArray(fieldFiles)) {\n return {\n value: typeof rawValue === 'string' && rawValue.trim() !== '' ? rawValue : '',\n fieldFiles,\n };\n }\n\n if (isFileArray(rawValue)) {\n return {\n value: rawValue.length > 0 ? rawValue.map(f => f.name).join(',') : '',\n fieldFiles: rawValue,\n };\n }\n\n if (rawValue instanceof File) {\n return { value: rawValue.name, fieldFiles: [rawValue] };\n }\n\n if (Array.isArray(rawValue)) {\n return { value: rawValue.map(i => (typeof i === 'string' ? i : i?.value)).join(',') };\n }\n\n return { value: rawValue };\n }\n\n private processComments(comments: any[] | undefined) {\n return comments?.map(comment => ({ ...comment })) ?? [];\n }\n\n private processMetadata(metadata: Record<string, any> | undefined) {\n return metadata && Object.keys(metadata).length > 0 ? { ...metadata } : undefined;\n }\n}\n\n\n\n","import { UdpFormSubmissionStatus } from '../../utils/types';\nimport { makeApiCall } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { SearchBuilder, SearchOperators } from '../../../../../../../udp-utilities/search';\nimport { ConfigService } from 'src/udp-utilities/api-config';\nimport { UdpFormSubmission } from '../classes/UdpFormSubmission';\nimport { IFormSubmissionHandler } from './IFormSubmissionHandler';\n\n\n\n/**\n * Handles CRUD and submission operations for private UdpFormSubmission records.\n */\nexport class PrivateFormSubmissionHandler implements IFormSubmissionHandler {\n\n // =============================\n // Fetch Methods\n // =============================\n\n /** Fetch and refresh an existing UdpFormSubmission instance. */\n async fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n const response =\n udpFormSubmission.id\n ? await this.getFormSubmissionById(udpFormSubmission.id, udpFormSubmission.unityUserId)\n : null;\n\n if (!response) {\n console.warn('No form submission found for the provided object.');\n return udpFormSubmission;\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n }\n\n /** Internal method to fetch a form submission by ID and user. */\n private async getFormSubmissionById(id: string, unityUserId: string): Promise<UdpFormSubmission | null> {\n try {\n const search = new SearchBuilder(1, 1)\n .addFilter('id', id, SearchOperators.EQUALS)\n .addFilter('unityUserId', unityUserId, SearchOperators.EQUALS);\n // .addOrder('id', 'DESC'); // ordering not necessary when fetching by ID\n\n const response = await search.execute('UdpFormSubmission');\n return response?.pageList?.[0] as UdpFormSubmission || null;\n } catch (error) {\n console.error('Error fetching form submission by ID:', error);\n return null;\n }\n }\n\n // =============================\n // Save & Submit Methods\n // =============================\n async createNewLinkedFollowUpFormSubmission(udpFormSubmission): Promise<UdpFormSubmission> {\n const formData = await this.saveFormDataWithoutValues(udpFormSubmission, 'in-progress');\n return formData\n }\n\n\n // =============================\n // Save & Submit Methods\n // =============================\n /**\n * Save form data (draft or submitted).\n * Automatically determines POST or PUT and merges response with existing object.\n */\n async saveFormDataWithoutValues(udpFormSubmission: UdpFormSubmission, status: UdpFormSubmissionStatus): Promise<UdpFormSubmission> {\n try {\n const formData = udpFormSubmission.processSubmissionIntoFormDataWithoutValues(status);\n const { method, url } = this.getApiRequestInfo(udpFormSubmission);\n\n const response = await makeApiCall(method, url, formData, true);\n\n // PUT returns an empty string; refetch to refresh local data\n if (response === '') {\n return await this.fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission);\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Failed to save form udpFormSubmission:', error);\n throw error;\n }\n }\n\n /**\n * Save the current state of the form's data.\n * Automatically determines POST or PUT and merges response with existing object.\n */\n async saveCurrentFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return this.saveToDB(values, udpFormSubmission, 'in-progress')\n }\n\n\n /** Submit the form (final udpFormSubmission). */\n async finalizeFormSubmissionState(values: Record<string, any>, udpFormSubmission: UdpFormSubmission): Promise<UdpFormSubmission> {\n return this.saveToDB(values, udpFormSubmission, 'submitted');\n }\n\n // =============================\n // Helpers\n // =============================\n\n /** Determine the correct HTTP method and URL for saving a form submission. */\n private getApiRequestInfo(udpFormSubmission: UdpFormSubmission): { method: 'POST' | 'PUT'; url: string } {\n const baseUrl = `${ConfigService.productV1ApiUrl}/UdpFormSubmission`;\n\n return udpFormSubmission.id\n ? { method: 'PUT', url: `${baseUrl}/${udpFormSubmission.id}` }\n : { method: 'POST', url: baseUrl };\n }\n\n private async saveToDB(values: Record<string, any>, udpFormSubmission: UdpFormSubmission, status: UdpFormSubmissionStatus): Promise<UdpFormSubmission> {\n try {\n const formData = udpFormSubmission.processSubmissionIntoFormData(values, status);\n const { method, url } = this.getApiRequestInfo(udpFormSubmission);\n\n const response = await makeApiCall(method, url, formData, true);\n\n // PUT returns an empty string; refetch to refresh local data\n if (response === '') {\n return await this.fetchAndPopulateUdpFormSubmissionObj(udpFormSubmission);\n }\n\n return new UdpFormSubmission({ ...udpFormSubmission, ...response });\n } catch (error) {\n console.error('Failed to save form udpFormSubmission:', error);\n throw error;\n }\n }\n}\n\n","import { IFormSubmissionHandler } from './IFormSubmissionHandler';\nimport { PublicFormSubmissionHandler } from './PublicFormSubmissionHandler';\nimport { PrivateFormSubmissionHandler } from './PrivateFormSubmissionHandler';\nimport { Guid } from '../../utils/types';\n\n/**\n * Factory for creating form submission handlers.\n */\nexport class FormSubmissionHandlerFactory {\n static create(\n isPublic: boolean,\n userId?: Guid | null,\n formId?: Guid,\n version?: number,\n tenantId?: Guid,\n ): IFormSubmissionHandler {\n\n if (isPublic) {\n return new PublicFormSubmissionHandler(formId, version, tenantId);\n }\n\n if (!userId) {\n throw new Error('User ID is required for private forms');\n }\n\n return new PrivateFormSubmissionHandler();\n }\n}\n","import { Guid, StyleOverrides } from '../../utils/types';\nimport { UdpForm } from '../classes/UdpForm';\nimport { makeApiCall } from '../../../../../../../udp-utilities/api/makeApiCall/makeApiCall';\nimport { ConfigService } from 'src/udp-utilities/api-config';\n\n/**\n * UDP Form handler (new UdpFormSubmission endpoint)\n */\nexport class UdpFormHandler {\n constructor(public tenantId?: Guid) {}\n\n // =============================\n // Fetching Form\n // =============================\n\n async getFormByFormId(formId): Promise<UdpForm> {\n const formData: UdpForm = await makeApiCall(\n 'GET',\n `${ConfigService.productV1ApiUrl}/UdpForm/${formId}/describe`,\n );\n\n if (formData.styleOverrides && typeof formData.styleOverrides === 'string') {\n formData.styleOverrides = JSON.parse(formData.styleOverrides) as StyleOverrides;\n }\n\n return formData;\n }\n\n async getFormByFormIdAndFormVersion(formId, formVersion): Promise<UdpForm> {\n const formData: UdpForm = await makeApiCall(\n 'GET',\n `${ConfigService.productV1ApiUrl}/UdpForm/${formId}/${formVersion}/describe`\n );\n\n if (formData.styleOverrides && typeof formData.styleOverrides === 'string') {\n formData.styleOverrides = JSON.parse(formData.styleOverrides) as StyleOverrides;\n }\n\n return formData;\n }\n}\n\n\n","import { StyleOverrides, UdpFormSection, UdpFormQuestion } from '../../utils/types';\nimport { Guid } from 'src/global/types';\nimport { UdpFormsTypeEnum } from '../../utils/enums';\n\nexport class UdpForm {\n id?: Guid;\n version?: number;\n type?: UdpFormsTypeEnum;\n isPrivate?: boolean;\n name?: string;\n description?: string;\n tenantId?: Guid;\n clusterId?: number;\n styleOverrides?: StyleOverrides;\n createdOn?: Date;\n formProperties?: any;\n udpFormUdpFormSection?: UdpFormSection[];\n formQuestions?: UdpFormQuestion[];\n\n constructor(initialData?: Partial<UdpForm>) {\n if (!initialData) return;\n\n Object.assign(this, initialData);\n }\n}\n","import { Component, Prop, State, Element, h } from '@stencil/core';\nimport { throttle } from 'lodash';\nimport { Guid } from 'src/global/types';\nimport { UdpFormsFieldTypeEnum } from '../utils/enums';\nimport { getCurrentTenantId } from 'src/udp-utilities/tenant/tenantUtils';\nimport { fetchLatestForms } from '../udp-forms-list/udp-form-api-utils';\nimport { UdpFormsTypeEnum, UdpFormsPageIdEnum } from '../utils/enums';\nimport { buildEmptyInitialValues } from '../utils/udp-forms-renderer-utils';\nimport { IFormSubmissionHandler } from '../utils/form-submission-handler/IFormSubmissionHandler';\nimport { FormSubmissionHandlerFactory } from '../utils/form-submission-handler/FormSubmissionHandlerFactory';\nimport { UdpFormHandler } from '../utils/form-handler/UdpFormHandler';\nimport { UdpFormSubmission } from '../utils/classes/UdpFormSubmission';\nimport { UdpForm } from '../utils/classes/UdpForm';\nimport { _getEnableSelectionWithoutKeys } from 'ag-grid-community-v33/dist/types/src/gridOptionsUtils';\n\n@Component({\n tag: 'udp-forms-renderer',\n shadow: true,\n})\nexport class UdpFormsRenderer {\n @Element() el: HTMLElement;\n \n @Prop() formId?: Guid | null;\n @Prop() version?: number | null;\n @Prop() submissionId?: Guid | null;\n @Prop() triggerAction: (actionId: Guid, params: Object) => void;\n @Prop() isPublic: boolean = false;\n @Prop() callbackUrl: string;\n @Prop() getUserCallback?: Function;\n @Prop() enqueueSnackbar: Function;\n @Prop() closeSnackbar: Function;\n @Prop() autoSaveDelay: number = 2000; // Debounce delay for auto-save in milliseconds (currently disabled)\n @Prop() history: Function;\n \n @State() initialValues: { [name: string]: any } = {};\n @State() submitSuccessful: boolean = false;\n @State() currentFormData: { [name: string]: any } = {};\n @State() isLoading: boolean = false;\n @State() isSaving: boolean = false;\n @State() isSubmitted: boolean = false;\n @State() saveErrorMessage: string | null = null;\n @State() dynamicSections: any[] = [];\n @State() isUpdatingSections: boolean = false;\n @State() reRenderKey: number = 0;\n @State() isFormDirty: boolean = false;\n @State() isUserModifiedComment: boolean = false;\n @State() isUserUpdatedSections: boolean = false;\n\n @State() sideSheetFollowUpFormsList: any[] = []; // used for follow up forms. \n @State() followUpSideSheetTotalItems: number = 0; // used for follow up forms. \n @State() isFollowUpFormsSideSheetOpen: boolean = false; // used for follow up forms.\n @State() followUpSideSheetListPageNumber: number = 1; // used for follow up forms.\n\n private FOLLOW_UP_SIDE_SHEET_PAGE_SIZE = 5;\n private readonly componentMap = {\n history: 'history',\n listItemData: 'listItemData',\n handleLaunchFollowUpForm: 'handleLaunchFollowUpForm'\n };\n\n\n private tenantId: Guid = getCurrentTenantId();\n // private debouncedAutoSave: (values: { [name: string]: any }) => void; // Kept for future use (currently disabled)\n private debouncedManualSave: (values: { [name: string]: any }) => void; // Debounced manual save (5 seconds)\n private formsUiEl!: HTMLUdpFormsUiElement;\n private userId: Guid | null = null;\n private userDisplayName: string | null = null;\n \n private udpForm: UdpForm; // udpForm data object \n private udpFormSubmission: UdpFormSubmission; // udpFormSubmission data object \n\n private formHandler: UdpFormHandler // hanlder for API interactions with the UdpForm domain\n private formSubmissionHandler: IFormSubmissionHandler; // handler for API interactions with the UdpFormSubmission domain\n\n private followUpParentSectionKey: string = ''; // used for follow up forms.\n private followUpParentQuestionKey: string = ''; // used for follow up forms.\n\n componentDidLoad() {\n if (this.formsUiEl) {\n this.formsUiEl.addEventListener(\n 'questionCommentAction',\n (e: CustomEvent<{ type: string; key: string }>) => this.handleQuestionCommentCRUD(e)\n );\n \n }\n\n if (this.el)\n {\n // Listen for launchFollowUpFormSideSheet event from udp-question\n this.el.addEventListener(\n 'launchFollowUpFormSideSheet',\n (e: CustomEvent<any>) => this.handleLaunchFollowUpFormSideSheet(e),\n );\n\n this.el.addEventListener('formDirtyChange', (e: CustomEvent<boolean>) => {\n this.isFormDirty = e.detail;\n });\n }\n\n }\n\n\n private handleLaunchFollowUpFormSideSheet = async (e) => {\n try {\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n this.followUpParentSectionKey = e.detail.sectionKey;\n this.followUpParentQuestionKey = e.detail.questionKey;\n await this.loadFollowUpForms(this.followUpParentSectionKey, this.followUpParentQuestionKey);\n this.isFollowUpFormsSideSheetOpen = true;\n } catch (error) {\n console.error('Error loading follow-up forms:', error);\n }\n };\n\n async componentWillLoad() {\n this.isLoading = true;\n\n try {\n // Get user info if available\n const user = this.getUserCallback?.();\n if (user) {\n this.userId = user.id || null;\n this.userDisplayName = user.name || null;\n } \n \n this.formSubmissionHandler = FormSubmissionHandlerFactory.create(this.isPublic, this.userId)\n this.udpFormSubmission = new UdpFormSubmission({id: this.submissionId, formId: this.formId, formVersion: this.version, unityUserId: this.userId})\n\n // fetch existing submission from Udp.FormSubmission if submissionId is provided \n // take exisitng object, and populate with db values, and return new obj with updated values\n if (this.submissionId) {\n this.udpFormSubmission = await this.formSubmissionHandler.fetchAndPopulateUdpFormSubmissionObj(this.udpFormSubmission); \n } \n\n // get the master form from Udp.Form\n let formId;\n let formVersion;\n\n if (this.submissionId) {\n formId = this.udpFormSubmission.formId;\n formVersion = this.udpFormSubmission.formVersion;\n } else if (this.formId && this.version) {\n formId = this.formId;\n formVersion = this.version;\n }\n \n this.formHandler = new UdpFormHandler(this.tenantId);\n const formData = await this.formHandler.getFormByFormIdAndFormVersion(formId, formVersion);\n this.udpForm = new UdpForm(formData);\n this.initialValues = buildEmptyInitialValues(this.udpForm);\n\n // if there's existing data, update the form's state\n if (this.udpFormSubmission.data.submissionResponseData) {\n this.initialValues = { ...this.udpFormSubmission.data.submissionResponseData };\n\n if (this.udpFormSubmission.status === 2 || this.udpFormSubmission.status === 'submitted') {\n this.isSubmitted = true;\n }\n }\n\n this.initializeDynamicSections(); // process the master form into dynamic sections \n \n // After sections/questions are prepared, seed initial values from URL for ALL questions,\n // with saved values taking precedence, and paragraph defaults as a fallback.\n this.applyUrlInitialValuesForAll();\n\n // Set up throttled manual save function (5 seconds) - fires immediately, then throttles\n this.debouncedManualSave = throttle(\n async (values: { [name: string]: any }) => {\n await this.handleManualSave(values);\n },\n 2000,\n { leading: true, trailing: false },\n );\n\n // Set up debounced auto-save function (currently disabled)\n // this.debouncedAutoSave = debounce(async (values: { [name: string]: any }) => {\n // // await this.handleAutoSave(values); // Disabled for now\n // }, this.autoSaveDelay);\n } catch (error) {\n console.error('Error failed to load form in the form renderer:', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n\n // build dynamic sections based on the\n private initializeDynamicSections() {\n const tempDynamicSection: any[] = [];\n const sortedSections = structuredClone(this.udpForm.udpFormUdpFormSection).sort((a, b) => a.order - b.order);\n\n for (const section of sortedSections) {\n section.sectionProperties = JSON.parse(section.sectionProperties || {});\n const repeatGroupKeys = this.findRepeatGroupKeys(section.name, this.initialValues);\n section.isOriginalSection = true;\n section.sectionPositionSuffix = 1; // default position\n\n // always add the original section into dynamic sections\n tempDynamicSection.push({\n ...structuredClone(section),\n // dynamicSectionName: section.name,\n formQuestions: structuredClone(this.udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({ ...q, questionIdentifierKey: `${section.name}.${q.name}` , isShowCommentInput: true})),\n });\n\n // create then add additional sections if there are repeated sections\n if (section.sectionProperties?.isRepeatable && repeatGroupKeys.length > 0) {\n const maxRepeatedSectionSuffix = Math.max(...repeatGroupKeys); // create a new section for the max value of repeat group keys, even if there are no saved answers\n\n // for (const repeatKey of repeatGroupKeys) { // create a section only for the suffix saved\n for (let repeatKey = 2; repeatKey <= maxRepeatedSectionSuffix; repeatKey++) {\n const clonedSection = {\n ...structuredClone(section),\n formQuestions: structuredClone(this.udpForm.formQuestions)\n .filter(q => q.formSectionId === section.id)\n .sort((a, b) => a.questionOrder - b.questionOrder)\n .map(q => ({ ...q, questionIdentifierKey: `${section.name}_${repeatKey}.${q.name}` , isShowCommentInput: true})),\n isOriginalSection: false,\n sectionPositionSuffix: repeatKey,\n };\n tempDynamicSection.push(clonedSection);\n }\n }\n }\n\n this.dynamicSections = tempDynamicSection;\n }\n\n private findRepeatGroupKeys(sectionName: string, values: Object): number[] {\n const keys = Object.keys(values);\n const repeatGroupSet = new Set<number>();\n\n // Match: sectionName_2\n const regex = new RegExp(`^${sectionName}_(\\\\d+)`);\n\n keys.forEach(key => {\n const match = key.match(regex);\n if (match && match[1]) {\n repeatGroupSet.add(Number(match[1]));\n }\n });\n\n return Array.from(repeatGroupSet).sort((a, b) => a - b);\n }\n\n /**\n * Duplicate a repeatable section\n */\n private duplicateRepeatableSection = (index: number) => {\n if (this.isSubmitted || this.isUpdatingSections) return;\n this.isUpdatingSections = true;\n this.isLoading = true;\n\n try {\n const sectionToClone = this.dynamicSections[index];\n if (!sectionToClone) return;\n\n const cloningSectionName = sectionToClone.name;\n\n // Find existing repeat group indices\n const repeatKeys = this.findRepeatGroupKeys(cloningSectionName, this.initialValues);\n const nextRepeatIndex = repeatKeys.length > 0 ? Math.max(...repeatKeys) + 1 : 2;\n\n const clonedSection = {\n ...structuredClone(sectionToClone),\n formQuestions: sectionToClone.formQuestions.map(q => {\n const newQuestionObj = structuredClone(q);\n newQuestionObj.questionIdentifierKey = `${cloningSectionName}_${nextRepeatIndex}.${q.name}`;\n return newQuestionObj;\n }),\n isOriginalSection: false,\n sectionPositionSuffix: nextRepeatIndex,\n };\n\n // Find the last index of this section group\n let insertAtIndex = index;\n for (let i = index + 1; i < this.dynamicSections.length; i++) {\n const s = this.dynamicSections[i];\n if (s.name === cloningSectionName) {\n insertAtIndex = i;\n } else {\n break;\n }\n }\n\n // Insert after the last repeat of the section group\n this.dynamicSections = [\n ...this.dynamicSections.slice(0, insertAtIndex + 1),\n clonedSection,\n ...this.dynamicSections.slice(insertAtIndex + 1),\n ];\n\n // Create new initial values structure\n const newInitialValues = structuredClone(this.udpFormSubmission.data.submissionResponseData);\n\n clonedSection.formQuestions.forEach(q => {\n const newSectionNameWithSuffix = `${cloningSectionName}_${nextRepeatIndex}`;\n const newQuestionName = q.name;\n\n if (!newInitialValues[newSectionNameWithSuffix]) {\n newInitialValues[newSectionNameWithSuffix] = {};\n }\n\n // Preserve only Paragraph values from the source section; clear others\n let value = '';\n if (q.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph) {\n // Determine source section key (the section being duplicated)\n const sourceSectionKey = sectionToClone.isOriginalSection\n ? cloningSectionName\n : `${cloningSectionName}_${sectionToClone.sectionPositionSuffix}`;\n const sourceVal = this.udpFormSubmission.data.submissionResponseData?.[sourceSectionKey]?.[newQuestionName]?.value;\n let fieldProps: any = q?.fieldProperties;\n if (typeof fieldProps === 'string') {\n try {\n fieldProps = JSON.parse(fieldProps || '{}');\n } catch {\n fieldProps = {};\n }\n }\n const paragraphDefault = fieldProps?.paragraphText ?? '';\n value = sourceVal ?? paragraphDefault;\n }\n\n newInitialValues[newSectionNameWithSuffix][newQuestionName] = { value, comments: [], metadata : {}};\n });\n // This will trigger a complete form re-render\n this.initialValues = {...newInitialValues};\n this.udpFormSubmission.data.submissionResponseData = {...newInitialValues};\n this.triggerFormRerender();\n } finally {\n this.isUpdatingSections = false;\n this.isLoading = false;\n this.isUserUpdatedSections = true;\n }\n };\n\n /**\n * Delete a repeatable section\n */\n private deleteRepeatableSection = (index: number) => {\n if (this.isSubmitted) return;\n\n const sectionToDelete = this.dynamicSections[index];\n if (!sectionToDelete || sectionToDelete.isOriginalSection) return;\n\n this.isUpdatingSections = true;\n this.isLoading = true;\n try {\n const deleteSectionName = sectionToDelete.name;\n const deleteSuffix = sectionToDelete.sectionPositionSuffix;\n const sectionKeyToDelete = `${deleteSectionName}_${deleteSuffix}`;\n\n const newInitialValues = { ...this.udpFormSubmission.data.submissionResponseData };\n delete newInitialValues[sectionKeyToDelete];\n\n // Remove the section from dynamicSections\n const updatedSections = structuredClone(this.dynamicSections);\n updatedSections.splice(index, 1);\n\n // Shift all later repeatable sections backward by 1\n updatedSections.forEach(section => {\n if (\n section.name !== deleteSectionName ||\n section.isOriginalSection ||\n section.sectionPositionSuffix <= deleteSuffix\n ) {\n return;\n }\n\n const oldSuffix = section.sectionPositionSuffix;\n const oldSectionKey = `${deleteSectionName}_${oldSuffix}`;\n const newSuffix = oldSuffix - 1;\n const newSectionKey = `${deleteSectionName}_${newSuffix}`;\n\n // Update suffix\n section.sectionPositionSuffix = newSuffix;\n\n // Update questionIdentifierKeys\n section.formQuestions = section.formQuestions.map(q => {\n const newSectionQuestion = structuredClone(q);\n newSectionQuestion.questionIdentifierKey = `${newSectionKey}.${q.name}`;\n return newSectionQuestion;\n });\n\n // Move data in initial values\n if (newInitialValues[oldSectionKey]) {\n newInitialValues[newSectionKey] = structuredClone(newInitialValues[oldSectionKey]);\n delete newInitialValues[oldSectionKey];\n }\n });\n\n this.dynamicSections = updatedSections;\n this.initialValues = {...newInitialValues};\n this.udpFormSubmission.data.submissionResponseData = {...newInitialValues};\n this.triggerFormRerender();\n } finally {\n this.isUpdatingSections = false;\n this.isLoading = false;\n this.isUserUpdatedSections = true;\n }\n };\n\n // Build initial values from URL for ALL fields, but do NOT override saved values.\n // For Paragraph, also fall back to the builder's default text when nothing else provided.\n private applyUrlInitialValuesForAll() {\n if (!Array.isArray(this.dynamicSections)) return;\n\n const urlParams =\n typeof window !== 'undefined' ? new URLSearchParams(window.location.search) : null;\n\n // 1) Collect URL values into nested structure: { [sectionKey]: { [questionName]: { value, comments: [] } } }\n const urlValuesNested: {\n [sectionKey: string]: { [qName: string]: { value: any; comments: any[] } };\n } = {};\n if (urlParams) {\n this.dynamicSections.forEach(section => {\n const sectionKey = section.isOriginalSection\n ? section.name\n : `${section.name}_${section.sectionPositionSuffix}`;\n (section.formQuestions || []).forEach(q => {\n if (!q) return;\n const candidates = [q.processedSubmissionName, q.questionIdentifierKey, q.name].filter(\n Boolean,\n ) as string[];\n let urlVal: string | null = null;\n for (const c of candidates) {\n urlVal = urlParams.get(c);\n if (urlVal !== null) break;\n }\n if (urlVal !== null) {\n if (!urlValuesNested[sectionKey]) urlValuesNested[sectionKey] = {};\n urlValuesNested[sectionKey][q.name] = { value: urlVal, comments: [] };\n }\n });\n });\n }\n\n // 2) Merge with saved values (this.initialValues) taking precedence\n const merged: { [sectionKey: string]: { [qName: string]: { value: any; comments: any[] } } } =\n structuredClone(this.initialValues) || {};\n Object.entries(urlValuesNested).forEach(([sectionKey, qMap]) => {\n if (!merged[sectionKey]) merged[sectionKey] = {} as any;\n Object.entries(qMap).forEach(([qName, valObj]) => {\n const existing = merged[sectionKey][qName];\n // Only set from URL if no saved value exists (null/undefined/empty-string)\n const isMissing =\n existing == null ||\n existing.value == null ||\n (typeof existing.value === 'string' && existing.value.trim() === '');\n if (isMissing) {\n merged[sectionKey][qName] = valObj;\n }\n });\n });\n\n // 3) Paragraph defaults: if still undefined/null, use fieldProperties.paragraphText\n this.dynamicSections.forEach(section => {\n const sectionKey = section.isOriginalSection\n ? section.name\n : `${section.name}_${section.sectionPositionSuffix}`;\n if (!merged[sectionKey]) merged[sectionKey] = {} as any;\n (section.formQuestions || []).forEach(q => {\n if (!q) return;\n if (q.fieldTypeId === UdpFormsFieldTypeEnum.Paragraph) {\n const existing = merged[sectionKey][q.name];\n const isMissing =\n existing == null ||\n existing.value == null ||\n (typeof existing.value === 'string' && existing.value.trim() === '');\n if (isMissing) {\n let fieldProps: any = q?.fieldProperties;\n if (typeof fieldProps === 'string') {\n try {\n fieldProps = JSON.parse(fieldProps || '{}');\n } catch {\n fieldProps = {};\n }\n }\n merged[sectionKey][q.name] = {\n value: fieldProps?.paragraphText ?? '',\n comments: [],\n };\n }\n }\n });\n });\n\n this.initialValues = merged;\n this.udpFormSubmission.data.submissionResponseData = { ...merged } as any;\n }\n\n private async handleSubmit(values: { [name: string]: any }) {\n this.isLoading = true\n try {\n this.udpFormSubmission = await this.formSubmissionHandler.finalizeFormSubmissionState(values, this.udpFormSubmission);\n this.submitSuccessful = true;\n } catch (error) {\n this.enqueueSnackbar('There was an error submitting this form', {\n variant: 'error',\n anchorOrigin: { vertical: 'top', horizontal: 'center' },\n });\n throw error;\n } finally {\n this.isLoading = false \n }\n }\n\n\n /**\n * Auto save (background save)\n */\n private performBackgroundSaveAndUpdateLocalSubmissionState = async (values: { [name: string]: any }) => {\n this.saveErrorMessage = null;\n try {\n const updatedUdpFormSubmission = await this.formSubmissionHandler.saveCurrentFormSubmissionState(values, this.udpFormSubmission);\n this.udpFormSubmission = updatedUdpFormSubmission\n this.initialValues = { ...(updatedUdpFormSubmission.data?.submissionResponseData || {}) };\n } catch (error) {\n this.saveErrorMessage = 'Failed to save form data';\n } finally {\n this.isSaving = false;\n this.isUserModifiedComment = false;\n this.isUserUpdatedSections = false;\n this.isFormDirty = false;\n }\n };\n\n\n\n\n /**\n * Manual save function - debounced to 5 seconds\n */\n private handleManualSave = async (values: { [name: string]: any }) => {\n // Only save if handler supports it and user is authenticated\n // if (!this.formSubmissionHandler.supportsAutoSave() || !this.userId || !this.formSubmissionHandler.saveCurrentFormSubmissionState) {\n // return;\n // }\n\n this.isSaving = true;\n this.saveErrorMessage = null;\n\n try {\n const updatedUdpFormSubmission = await this.formSubmissionHandler.saveCurrentFormSubmissionState(values, this.udpFormSubmission);\n this.udpFormSubmission = updatedUdpFormSubmission\n this.initialValues = { ...(updatedUdpFormSubmission.data?.submissionResponseData || {}) };\n console.log('Form saved successfully');\n } catch (error) {\n console.error('Manual save failed:', error);\n this.saveErrorMessage = 'Failed to save form data';\n } finally {\n this.isSaving = false;\n this.isUserModifiedComment = false;\n this.isUserUpdatedSections = false;\n this.isFormDirty = false;\n }\n };\n\n private handleQuestionCommentCRUD(e: CustomEvent<{type: string, key: string}>) {\n const { type, key } = e.detail;\n const [sectionName, questionName] = key.split('.');\n let newInitialValues = { ...this.udpFormSubmission.data.submissionResponseData };\n\n switch (type) {\n case 'add':\n newInitialValues[sectionName][questionName].draftComment = {\n value: '',\n };\n break;\n\n case 'save':\n const draft = this.udpFormSubmission.data.submissionResponseData[sectionName][questionName].draftComment;\n if (!draft) return;\n newInitialValues[sectionName][questionName].comments.push({\n ...draft,\n timestamp: new Date().toISOString(),\n userId: this.userId,\n userDisplayName: this.userDisplayName\n });\n delete newInitialValues[sectionName][questionName].draftComment;\n this.isUserModifiedComment = true;\n break;\n\n case 'edit':\n const saved = this.udpFormSubmission.data.submissionResponseData[sectionName][questionName].comments[0];\n if (!saved) return;\n newInitialValues[sectionName][questionName].draftComment = { ...saved, timestamp: null };\n newInitialValues[sectionName][questionName].comments = [];\n break;\n\n case 'delete':\n newInitialValues[sectionName][questionName].comments = [];\n delete newInitialValues[sectionName][questionName].draftComment;\n this.isUserModifiedComment = true;\n break;\n }\n\n this.initialValues = { ...newInitialValues };\n this.udpFormSubmission.data.submissionResponseData = { ...newInitialValues };\n this.triggerFormRerender();\n }\n\n private handleFormChange = (values: { [name: string]: any }) => {\n if (this.isUpdatingSections) return;\n this.udpFormSubmission.data.submissionResponseData = values;\n };\n\n private handleFinish = () => {\n // Trigger any finish actions\n if (this.triggerAction) {\n this.triggerAction(null as any, { action: 'finish' });\n } \n };\n\n private triggerFormRerender = () => {\n const scrollY = window.scrollY;\n this.isLoading = true;\n this.reRenderKey += 1;\n\n // Small timeout to allow component mount to take effect\n setTimeout(() => {\n this.isLoading = false;\n window.scrollTo(0, scrollY);\n }, 100); \n };\n\n private async loadFollowUpForms(sectionKey, questionKey) {\n this.isLoading = true;\n this.saveErrorMessage = '';\n try {\n const response = await fetchLatestForms(this.followUpSideSheetListPageNumber, this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE, [{ searchField: 'type', searchOperator: '=', searchValue: UdpFormsTypeEnum.FollowUp }], { sortDirection: 'DESC', sortColumn: 'lastModifiedOn' });\n\n const data = response.data;\n\n if (!data || !Array.isArray(data.pageList)) {\n throw new Error('Malformed form versions data.');\n }\n\n this.sideSheetFollowUpFormsList = this.formatFollowUpFormsList(data.pageList, sectionKey, questionKey);\n this.followUpSideSheetTotalItems = data.total ?? 0;\n } catch (err) {\n console.error('Failed to follow up form.', err);\n this.saveErrorMessage = 'Failed to follow up forms.';\n } finally {\n this.isLoading = false;\n }\n }\n\n handleLaunchFollowUpForm = async (followUpFormId, followUpFormVersion, parentFormSubmissionId, parentFormId, parentFormVersion, sectionKey, questionKey) => {\n // create a new follow up form submission instance wiht a link to the parent form submission\n const followUpMasterForm = await this.formHandler.getFormByFormIdAndFormVersion(followUpFormId, followUpFormVersion);\n const followUpSubmissionData = {\n submissionResponseData: buildEmptyInitialValues(followUpMasterForm),\n submissionMetadata: {\n ParentSubmission: {\n submissionId: parentFormSubmissionId,\n formId: parentFormId,\n formVersion: parentFormVersion\n }\n }\n }\n \n const followUpFormSubmission = new UdpFormSubmission({formId: followUpFormId, formVersion: followUpFormVersion, unityUserId: this.userId, data: followUpSubmissionData})\n const followUpFormSubmissionHandler = FormSubmissionHandlerFactory.create(false, this.userId);\n const response = await followUpFormSubmissionHandler.createNewLinkedFollowUpFormSubmission(followUpFormSubmission);\n\n // update the current form submission state with the follow up form submission id in the metadata\n const itemMetadata = this.udpFormSubmission.data.submissionResponseData[sectionKey][questionKey].metadata\n this.udpFormSubmission.data.submissionResponseData[sectionKey][questionKey].metadata = {... itemMetadata, followUpFormSubmissionId: response.id}\n await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);\n\n const url = `/page/${UdpFormsPageIdEnum.FormRendererPageId}?udpf_submissionId=${response.id}`;\n window.open(url, '_blank'); \n this.handleSideSheetClose();\n this.triggerFormRerender();\n };\n\n private formatFollowUpFormsList(followUpFormsList, sectionKey, questionKey) {\n return followUpFormsList.map(item => ({\n listItemData: item,\n history: this.history,\n handleLaunchFollowUpForm: async () => await this.handleLaunchFollowUpForm(item.id, item.version, this.udpFormSubmission.id, this.udpFormSubmission.formId, this.udpFormSubmission.formVersion, sectionKey, questionKey),\n }));\n }\n\n private handleSideSheetClose = () => {\n // reset side sheet data\n this.sideSheetFollowUpFormsList = [];\n this.followUpSideSheetListPageNumber = 1;\n this.followUpSideSheetTotalItems = 0;\n this.isFollowUpFormsSideSheetOpen = false;\n this.followUpParentSectionKey = '';\n this.followUpParentQuestionKey = '';\n };\n\n private async handleSideSheetPageChange(page: number) {\n this.followUpSideSheetListPageNumber = page;\n await this.loadFollowUpForms(this.followUpParentSectionKey, this.followUpParentQuestionKey);\n }\n\n private renderFollowUpSideSheet() {\n return (\n <udp-side-sheet\n title=\"Link a Follow Up Form\"\n open={this.isFollowUpFormsSideSheetOpen}\n onUdpSideSheetClose={() => this.handleSideSheetClose()}\n position=\"right\"\n width=\"md\"\n >\n {this.isLoading && this.isFollowUpFormsSideSheetOpen && <udp-linear-loader />}\n <udp-list-renderer\n itemComponent=\"udp-forms-follow-up-list-card\"\n data={this.sideSheetFollowUpFormsList}\n pagination\n isServerSide\n isLoading={this.isLoading}\n itemsPerPage={this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE}\n currentPage={this.followUpSideSheetListPageNumber}\n totalItems={this.followUpSideSheetTotalItems}\n onPageChange={e => this.handleSideSheetPageChange(e.detail)}\n componentDataMap={this.componentMap}\n spacing='md'\n />\n </udp-side-sheet>\n );\n }\n\n private isShowManualSaveIcon = () => {\n // return (this.isFormDirty || this.isUserModifiedComment || this.isUserUpdatedSections) && !this.isSubmitted && !!this.userId;\n const showSaveIcon = (this.isFormDirty || this.isUserModifiedComment || this.isUserUpdatedSections) && !!this.userId;\n return showSaveIcon;\n };\n\n render() {\n return (\n <div class=\"forms-renderer-container\">\n {this.renderFollowUpSideSheet()}\n <udp-forms-ui\n udpForm={this.udpForm}\n initialValues={this.initialValues}\n udpFormSubmission={this.udpFormSubmission}\n submitSuccessful={this.submitSuccessful}\n isSaving={this.isSaving}\n saveErrorMessage={this.saveErrorMessage}\n // showAutoSaveStatus={this.formSubmissionHandler.supportsAutoSave() && !!this.userId}\n readonly={this.isSubmitted}\n handleSubmit={this.handleSubmit.bind(this)}\n handleSave={values => Promise.resolve(this.debouncedManualSave(values))}\n handleChange={this.handleFormChange}\n handleAction={this.triggerAction}\n handleFinish={this.handleFinish}\n userId={this.userId}\n isSubmitted={this.isSubmitted}\n dynamicSections={this.dynamicSections}\n duplicateRepeatableSection={this.duplicateRepeatableSection}\n deleteRepeatableSection={this.deleteRepeatableSection}\n ref={el => (this.formsUiEl = el)}\n key={`form-rerender-key-${this.reRenderKey}`}\n isShowManualSaveIcon={this.isShowManualSaveIcon()}\n isLoading={this.isLoading}\n performBackgroundSaveAndUpdateLocalSubmissionState={this.performBackgroundSaveAndUpdateLocalSubmissionState}\n />\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -16,10 +16,10 @@ const UdpGridLoader = /*@__PURE__*/ proxyCustomElement(class UdpGridLoader exten
|
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
18
|
// Header bar (fatter, divided into columns)
|
|
19
|
-
const headerBar = (h("div", { key: '
|
|
19
|
+
const headerBar = (h("div", { key: '45f44170dff0e08a68d1d53f32a3961d86712b58', class: "grid-row" }, Array.from({ length: this.numColumns }).map(() => (h("udp-skeleton-loading", { width: "100%", height: "55px" })))));
|
|
20
20
|
// Row bars (each divided into columns)
|
|
21
21
|
const rowBars = Array.from({ length: this.numRows }).map(() => (h("div", { class: "grid-row" }, Array.from({ length: this.numColumns }).map(() => (h("udp-skeleton-loading", { width: "100%", height: "30px" }))))));
|
|
22
|
-
return (h("div", { key: '
|
|
22
|
+
return (h("div", { key: '9c9be92fa74d1a27aba15e811c863b07ba672c05', style: { width: this.width } }, headerBar, rowBars));
|
|
23
23
|
}
|
|
24
24
|
static get style() { return udpGridLoaderCss; }
|
|
25
25
|
}, [257, "udp-grid-loader", {
|
|
@@ -39,7 +39,7 @@ const UdpHotlistForm = /*@__PURE__*/ proxyCustomElement(class UdpHotlistForm ext
|
|
|
39
39
|
// console.log('Cancel button clicked');
|
|
40
40
|
// }
|
|
41
41
|
render() {
|
|
42
|
-
return (h("div", { key: '
|
|
42
|
+
return (h("div", { key: 'fed1159fa6172e2ef425fda713135e3cdac5b998', class: "wrapper" }, h("form", { key: '4bcf1830addf2e62a4b80bb689760997d53412de', class: "save-form", onSubmit: this.handleSubmit }, h("text-field", { key: '55b95fbe7649a5ff8a3d0a275ad55a2c0a2bcc11', label: "Hotlist Name", placeholder: "Create a name for your Hotlist", value: this.name, onChange: (event) => this.handleNameChange(event) }), h("stencil-toggle", { key: '1ff5aa5b5ff37e5870abeb5f15f4254586c2124e', label: "Private", checked: this.isPrivate, onToggledChange: this.handlePrivateChange }), h("div", { key: '101fd16f08d5aaf1d054dd91f0bd9a0451ac299c', class: "submit-button" }, h("custom-button", { key: '2af466a976f5f9cdebf9cd1054e7bb7bddbb9b32', variant: 'outline', type: "submit", onCustomClick: this.handleCancelClick }, "Cancel"), h("custom-button", { key: '58b86c74365d86ce22131e6462e83fe5036a15ba', disabled: !this.name, type: "submit", onCustomClick: this.onCustomButtonClick }, "Create List")))));
|
|
43
43
|
}
|
|
44
44
|
get el() { return this; }
|
|
45
45
|
static get style() { return udpHotlistFormCss; }
|
|
@@ -203,6 +203,9 @@ const UdpIcon = /*@__PURE__*/ proxyCustomElement(class UdpIcon extends H {
|
|
|
203
203
|
render() {
|
|
204
204
|
var _a, _b;
|
|
205
205
|
const iconData = getIconFromName(this.iconName, this.iconType);
|
|
206
|
+
if (!iconData) {
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
206
209
|
let iconColor;
|
|
207
210
|
if (this.color) {
|
|
208
211
|
switch (this.color) {
|
|
@@ -231,7 +234,7 @@ const UdpIcon = /*@__PURE__*/ proxyCustomElement(class UdpIcon extends H {
|
|
|
231
234
|
else {
|
|
232
235
|
iconColor = this.darkIcon ? 'black' : 'white';
|
|
233
236
|
}
|
|
234
|
-
return (h("div", {
|
|
237
|
+
return (h("div", { class: "icon-container" }, h("svg", Object.assign({}, ((_a = iconData === null || iconData === void 0 ? void 0 : iconData.attrs) !== null && _a !== void 0 ? _a : {}), { fill: iconColor }), (_b = iconData === null || iconData === void 0 ? void 0 : iconData.content) === null || _b === void 0 ? void 0 : _b.map((item, index) => {
|
|
235
238
|
var _a, _b;
|
|
236
239
|
if ((item === null || item === void 0 ? void 0 : item.elem) === 'path') {
|
|
237
240
|
return h("path", Object.assign({}, ((_a = item === null || item === void 0 ? void 0 : item.attrs) !== null && _a !== void 0 ? _a : {}), { key: index }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"udp-icon2.js","mappings":"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","names":["Add16","ChevronRight16","ChevronDown","OverflowMenuVertical16","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/data-display/icons/iconMapping.ts","src/components/my-component/UI/data-display/icons/iconUtils.ts","src/components/my-component/UI/data-display/icons/udp-icon.css?tag=udp-icon&encapsulation=shadow","src/components/my-component/UI/data-display/icons/udp-icon.tsx"],"sourcesContent":["import Add16 from '@carbon/icons/es/add/16';\nimport Add32 from '@carbon/icons/es/add/32';\nimport AddAlt16 from '@carbon/icons/es/add--alt/16';\nimport AddFilled16 from '@carbon/icons/es/add--filled/16';\nimport ArrowsHorizontal16 from '@carbon/icons/es/arrows--horizontal/16';\nimport Attachment16 from '@carbon/icons/es/attachment/16';\nimport Batchjob16 from '@carbon/icons/es/batch-job/16';\nimport Box16 from '@carbon/icons/es/box/16';\nimport Close16 from '@carbon/icons/es/close/16';\nimport Close24 from '@carbon/icons/es/close/24';\nimport Close32 from '@carbon/icons/es/close/32';\nimport CloseFilled16 from '@carbon/icons/es/close--filled/16';\nimport CloseOutlined16 from '@carbon/icons/es/close--outline/16';\nimport CheckMark16 from '@carbon/icons/es/checkmark/16';\nimport CheckMark24 from '@carbon/icons/es/checkmark/24';\nimport CheckMark32 from '@carbon/icons/es/checkmark/32';\nimport ChevronLeft16 from '@carbon/icons/es/chevron--left/16';\nimport ChevronRight16 from '@carbon/icons/es/chevron--right/16';\nimport ChevronDown from '@carbon/icons/es/chevron--down/16';\nimport Dataenrichment from '@carbon/icons/es/data-enrichment/16';\nimport Document16 from '@carbon/icons/es/document/16';\nimport DocumentAdd16 from '@carbon/icons/es/document--add/16';\nimport DocumentAttachment16 from '@carbon/icons/es/document--attachment/16';\nimport DocumentPDF16 from '@carbon/icons/es/document--pdf/16';\nimport Draggable16 from '@carbon/icons/es/draggable/16';\nimport Edit16 from '@carbon/icons/es/edit/16';\nimport Export16 from '@carbon/icons/es/export/16';\nimport Flag16 from '@carbon/icons/es/flag/16';\nimport Information16 from '@carbon/icons/es/information/16';\nimport Information32 from '@carbon/icons/es/information/32';\nimport Link16 from '@carbon/icons/es/link/16';\nimport OverflowMenuVertical16 from '@carbon/icons/es/overflow-menu--vertical/16';\nimport OverflowMenuVertical32 from '@carbon/icons/es/overflow-menu--vertical/32';\nimport Return16 from '@carbon/icons/es/return/16';\nimport Save16 from '@carbon/icons/es/save/16';\nimport Settings16 from '@carbon/icons/es/settings/16';\nimport Subtract16 from '@carbon/icons/es/subtract/16';\nimport SubtractAlt16 from '@carbon/icons/es/subtract--alt/16';\nimport SubtractFilled16 from '@carbon/icons/es/subtract--filled/16';\nimport TrashCan16 from '@carbon/icons/es/trash-can/16';\nimport User16 from '@carbon/icons/es/user/16';\nimport View16 from '@carbon/icons/es/view/16';\nimport Warning16 from '@carbon/icons/es/warning/16';\nimport Warning32 from '@carbon/icons/es/warning/32';\nimport WarningAlt16 from '@carbon/icons/es/warning--alt/16';\nimport WarningAlt32 from '@carbon/icons/es/warning--alt/32';\nimport Wizard16 from '@carbon/icons/es/product/16';\nimport Workspace16 from '@carbon/icons/es/workspace/16';\nimport ArrowUp16 from '@carbon/icons/es/arrow--up/16';\nimport ArrowDown16 from '@carbon/icons/es/arrow--down/16';\nimport ArrowRight16 from '@carbon/icons/es/arrow--right/16';\nimport ArrowLeft16 from '@carbon/icons/es/arrow--left/16';\nimport Copy16 from '@carbon/icons/es/copy/16';\nimport Star16 from '@carbon/icons/es/star/16';\nimport DataTable16 from '@carbon/icons/es/data-table/16';\nimport FitToWidth16 from '@carbon/icons/es/fit-to-width/16';\nimport Search16 from '@carbon/icons/es/search--advanced/16';\nimport Reset16 from '@carbon/icons/es/reset/16';\nimport Column from '@carbon/icons/es/column/16';\nimport HideColumn from '@carbon/icons/es/column--delete/16';\nimport Rotate from '@carbon/icons/es/watson-health/rotate--360/16';\nimport Filter from '@carbon/icons/es/filter/16';\nimport RelationshipDiagram from '@carbon/icons/es/app-connectivity/16';\n// Editor icons\nimport TextFont16 from '@carbon/icons/es/text--font/16';\nimport TextLongParagraph16 from '@carbon/icons/es/text--long-paragraph/16';\nimport CharacterWholeNumber16 from '@carbon/icons/es/character--whole-number/16';\nimport CheckboxChecked16 from '@carbon/icons/es/checkbox--checked/16';\nimport RadioButtonChecked16 from '@carbon/icons/es/radio-button--checked/16';\nimport EventSchedule16 from '@carbon/icons/es/event--schedule/16';\nimport ViewOff16 from '@carbon/icons/es/view--off/16';\nimport Time16 from '@carbon/icons/es/time/16';\nimport Calendar16 from '@carbon/icons/es/calendar/16';\nimport ListChecked16 from '@carbon/icons/es/list--checked/16';\nimport ListBulleted16 from '@carbon/icons/es/list--bulleted/16';\nimport CloudUpload16 from '@carbon/icons/es/cloud--upload/16';\nimport Locked16 from '@carbon/icons/es/locked/16';\nimport Pause from '@carbon/icons/es/pause/16';\n\nimport Unlocked16 from '@carbon/icons/es/unlocked/16';\nimport Send16 from '@carbon/icons/es/send/16';\nimport Email16 from '@carbon/icons/es/email/16';\nimport CheckMarkOutlined16 from '@carbon/icons/es/checkmark--outline/16';\nimport MigrateAlt16 from '@carbon/icons/es/migrate--alt/16';\nimport CheckboxCheckedFilled16 from '@carbon/icons/es/checkbox--checked--filled/16';\nimport Checkbox from '@carbon/icons/es/checkbox/16';\n\nimport { CarbonIcon } from './CarbonIcon';\n\nexport const iconMapping: Record<string, CarbonIcon> = {\n add: Add16 as CarbonIcon,\n add32: Add32 as CarbonIcon,\n addAlt: AddAlt16 as CarbonIcon,\n addFilled: AddFilled16 as CarbonIcon,\n arrowsHorizontal16: ArrowsHorizontal16 as CarbonIcon,\n arrowRight16: ArrowRight16 as CarbonIcon,\n arrowLeft16: ArrowLeft16 as CarbonIcon,\n attachment: Attachment16 as CarbonIcon,\n box: Box16 as CarbonIcon,\n close16: Close16 as CarbonIcon,\n close24: Close24 as CarbonIcon,\n close32: Close32 as CarbonIcon,\n closeFilled16: CloseFilled16 as CarbonIcon,\n closeOutlined16: CloseOutlined16 as CarbonIcon,\n checkMark: CheckMark16 as CarbonIcon,\n checkMark24: CheckMark24 as CarbonIcon,\n checkMark32: CheckMark32 as CarbonIcon,\n checkMarkOutlined: CheckMarkOutlined16 as CarbonIcon,\n chevronLeft16: ChevronLeft16 as CarbonIcon,\n chevronRight16: ChevronRight16 as CarbonIcon,\n chevronDown: ChevronDown as CarbonIcon,\n dashboard: Workspace16 as CarbonIcon,\n document: Document16 as CarbonIcon,\n documentAdd: DocumentAdd16 as CarbonIcon,\n documentAttachment: DocumentAttachment16 as CarbonIcon,\n documentPdf: DocumentPDF16 as CarbonIcon,\n draggable: Draggable16 as CarbonIcon,\n edit: Edit16 as CarbonIcon,\n export: Export16 as CarbonIcon,\n flag: Flag16 as CarbonIcon,\n information: Information16 as CarbonIcon,\n information32: Information32 as CarbonIcon,\n link: Link16 as CarbonIcon,\n opportunities: Dataenrichment as CarbonIcon,\n overflowMenuVertical: OverflowMenuVertical16 as CarbonIcon,\n overflowMenuVertical32: OverflowMenuVertical32 as CarbonIcon,\n return16: Return16 as CarbonIcon,\n save: Save16 as CarbonIcon,\n settings: Settings16 as CarbonIcon,\n subtract: Subtract16 as CarbonIcon,\n subtractAlt: SubtractAlt16 as CarbonIcon,\n subtractFilled: SubtractFilled16 as CarbonIcon,\n trashCan: TrashCan16 as CarbonIcon,\n user: User16 as CarbonIcon,\n view: View16 as CarbonIcon,\n wizard: Wizard16 as CarbonIcon,\n workorder: Batchjob16 as CarbonIcon,\n arrowUp: ArrowUp16 as CarbonIcon,\n arrowDown: ArrowDown16 as CarbonIcon,\n copy: Copy16 as CarbonIcon,\n star: Star16 as CarbonIcon,\n warning: Warning16 as CarbonIcon,\n warning32: Warning32 as CarbonIcon,\n warningAlt: WarningAlt16 as CarbonIcon,\n warningAlt32: WarningAlt32 as CarbonIcon,\n time: Time16 as CarbonIcon,\n text: TextLongParagraph16 as CarbonIcon,\n list: ListBulleted16 as CarbonIcon,\n calendar: Calendar16 as CarbonIcon,\n formTextField: TextFont16 as CarbonIcon,\n formTextArea: TextLongParagraph16 as CarbonIcon,\n formNumberField: CharacterWholeNumber16 as CarbonIcon,\n formDateField: Calendar16 as CarbonIcon,\n formCheckbox: CheckboxChecked16 as CarbonIcon,\n formFileUpload: CloudUpload16 as CarbonIcon,\n formRadioButton: RadioButtonChecked16 as CarbonIcon,\n formHiddenField: ViewOff16 as CarbonIcon,\n formTimeField: Time16 as CarbonIcon,\n formDateTimeField: EventSchedule16 as CarbonIcon,\n formMultiSelectField: ListChecked16 as CarbonIcon,\n formSingleSelectField: ListBulleted16 as CarbonIcon,\n dataTable: DataTable16 as CarbonIcon,\n fitToWidth: FitToWidth16 as CarbonIcon,\n search: Search16 as CarbonIcon,\n reset: Reset16 as CarbonIcon,\n column: Column as CarbonIcon,\n hideColumn: HideColumn as CarbonIcon,\n rotate: Rotate as CarbonIcon,\n lock: Locked16 as CarbonIcon,\n pause: Pause as CarbonIcon,\n filter: Filter as CarbonIcon,\n relationshipDiagram: RelationshipDiagram as CarbonIcon,\n unlock: Unlocked16 as CarbonIcon,\n send: Send16 as CarbonIcon,\n email: Email16 as CarbonIcon,\n migrateAlt: MigrateAlt16 as CarbonIcon,\n checkboxCheckedFilled: CheckboxCheckedFilled16 as CarbonIcon,\n checkbox: Checkbox as CarbonIcon,\n};\n\nexport default iconMapping;\n","import iconMapping from './iconMapping';\n\nexport const getIconFromName = (iconName: string, iconType: string = 'carbon') => {\n if (!iconName || iconName?.trim()?.length === 0) return;\n\n if (iconType === 'carbon') {\n return iconMapping[iconName];\n }\n return null;\n};\n",".icon-container{\n height: 100%;\n display: flex;\n align-items: center;\n color: inherit;\n}","import { Component, h, Prop } from '@stencil/core';\nimport { getIconFromName } from './iconUtils';\n\n@Component({\n tag: 'udp-icon',\n styleUrl: 'udp-icon.css',\n shadow: true,\n})\nexport class UdpIcon {\n @Prop() iconName: string;\n @Prop() iconType: string = 'carbon';\n /**\n * @deprecated Use color prop instead\n */\n @Prop() darkIcon: boolean = true;\n @Prop() color: 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'inherit' | string;\n\n render() {\n const iconData = getIconFromName(this.iconName, this.iconType);\n let iconColor: string;\n\n if (this.color) {\n switch (this.color) {\n case 'primary':\n iconColor = 'var(--primary-color)';\n break;\n case 'secondary':\n iconColor = 'var(--secondary-color)';\n break;\n case 'error':\n iconColor = 'var(--error-color-main)';\n break;\n case 'info':\n iconColor = 'var(--info-color-main)';\n break;\n case 'success':\n iconColor = 'var(--success-color-main)';\n break;\n case 'inherit':\n iconColor = 'currentColor';\n break;\n default:\n iconColor = this.color;\n }\n } else {\n iconColor = this.darkIcon ? 'black' : 'white';\n }\n\n return (\n <div class=\"icon-container\">\n <svg {...(iconData?.attrs ?? {})} fill={iconColor}>\n {iconData?.content?.map((item, index) => {\n if (item?.elem === 'path') {\n return <path {...(item?.attrs ?? {})} key={index} />;\n } else if (item?.elem === 'circle') {\n return <circle {...(item?.attrs ?? {})} key={index} />;\n }\n return null;\n })}\n </svg>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"udp-icon2.js","mappings":"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","names":["Add16","ChevronRight16","ChevronDown","OverflowMenuVertical16","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/data-display/icons/iconMapping.ts","src/components/my-component/UI/data-display/icons/iconUtils.ts","src/components/my-component/UI/data-display/icons/udp-icon.css?tag=udp-icon&encapsulation=shadow","src/components/my-component/UI/data-display/icons/udp-icon.tsx"],"sourcesContent":["import Add16 from '@carbon/icons/es/add/16';\nimport Add32 from '@carbon/icons/es/add/32';\nimport AddAlt16 from '@carbon/icons/es/add--alt/16';\nimport AddFilled16 from '@carbon/icons/es/add--filled/16';\nimport ArrowsHorizontal16 from '@carbon/icons/es/arrows--horizontal/16';\nimport Attachment16 from '@carbon/icons/es/attachment/16';\nimport Batchjob16 from '@carbon/icons/es/batch-job/16';\nimport Box16 from '@carbon/icons/es/box/16';\nimport Close16 from '@carbon/icons/es/close/16';\nimport Close24 from '@carbon/icons/es/close/24';\nimport Close32 from '@carbon/icons/es/close/32';\nimport CloseFilled16 from '@carbon/icons/es/close--filled/16';\nimport CloseOutlined16 from '@carbon/icons/es/close--outline/16';\nimport CheckMark16 from '@carbon/icons/es/checkmark/16';\nimport CheckMark24 from '@carbon/icons/es/checkmark/24';\nimport CheckMark32 from '@carbon/icons/es/checkmark/32';\nimport ChevronLeft16 from '@carbon/icons/es/chevron--left/16';\nimport ChevronRight16 from '@carbon/icons/es/chevron--right/16';\nimport ChevronDown from '@carbon/icons/es/chevron--down/16';\nimport Dataenrichment from '@carbon/icons/es/data-enrichment/16';\nimport Document16 from '@carbon/icons/es/document/16';\nimport DocumentAdd16 from '@carbon/icons/es/document--add/16';\nimport DocumentAttachment16 from '@carbon/icons/es/document--attachment/16';\nimport DocumentPDF16 from '@carbon/icons/es/document--pdf/16';\nimport Draggable16 from '@carbon/icons/es/draggable/16';\nimport Edit16 from '@carbon/icons/es/edit/16';\nimport Export16 from '@carbon/icons/es/export/16';\nimport Flag16 from '@carbon/icons/es/flag/16';\nimport Information16 from '@carbon/icons/es/information/16';\nimport Information32 from '@carbon/icons/es/information/32';\nimport Link16 from '@carbon/icons/es/link/16';\nimport OverflowMenuVertical16 from '@carbon/icons/es/overflow-menu--vertical/16';\nimport OverflowMenuVertical32 from '@carbon/icons/es/overflow-menu--vertical/32';\nimport Return16 from '@carbon/icons/es/return/16';\nimport Save16 from '@carbon/icons/es/save/16';\nimport Settings16 from '@carbon/icons/es/settings/16';\nimport Subtract16 from '@carbon/icons/es/subtract/16';\nimport SubtractAlt16 from '@carbon/icons/es/subtract--alt/16';\nimport SubtractFilled16 from '@carbon/icons/es/subtract--filled/16';\nimport TrashCan16 from '@carbon/icons/es/trash-can/16';\nimport User16 from '@carbon/icons/es/user/16';\nimport View16 from '@carbon/icons/es/view/16';\nimport Warning16 from '@carbon/icons/es/warning/16';\nimport Warning32 from '@carbon/icons/es/warning/32';\nimport WarningAlt16 from '@carbon/icons/es/warning--alt/16';\nimport WarningAlt32 from '@carbon/icons/es/warning--alt/32';\nimport Wizard16 from '@carbon/icons/es/product/16';\nimport Workspace16 from '@carbon/icons/es/workspace/16';\nimport ArrowUp16 from '@carbon/icons/es/arrow--up/16';\nimport ArrowDown16 from '@carbon/icons/es/arrow--down/16';\nimport ArrowRight16 from '@carbon/icons/es/arrow--right/16';\nimport ArrowLeft16 from '@carbon/icons/es/arrow--left/16';\nimport Copy16 from '@carbon/icons/es/copy/16';\nimport Star16 from '@carbon/icons/es/star/16';\nimport DataTable16 from '@carbon/icons/es/data-table/16';\nimport FitToWidth16 from '@carbon/icons/es/fit-to-width/16';\nimport Search16 from '@carbon/icons/es/search--advanced/16';\nimport Reset16 from '@carbon/icons/es/reset/16';\nimport Column from '@carbon/icons/es/column/16';\nimport HideColumn from '@carbon/icons/es/column--delete/16';\nimport Rotate from '@carbon/icons/es/watson-health/rotate--360/16';\nimport Filter from '@carbon/icons/es/filter/16';\nimport RelationshipDiagram from '@carbon/icons/es/app-connectivity/16';\n// Editor icons\nimport TextFont16 from '@carbon/icons/es/text--font/16';\nimport TextLongParagraph16 from '@carbon/icons/es/text--long-paragraph/16';\nimport CharacterWholeNumber16 from '@carbon/icons/es/character--whole-number/16';\nimport CheckboxChecked16 from '@carbon/icons/es/checkbox--checked/16';\nimport RadioButtonChecked16 from '@carbon/icons/es/radio-button--checked/16';\nimport EventSchedule16 from '@carbon/icons/es/event--schedule/16';\nimport ViewOff16 from '@carbon/icons/es/view--off/16';\nimport Time16 from '@carbon/icons/es/time/16';\nimport Calendar16 from '@carbon/icons/es/calendar/16';\nimport ListChecked16 from '@carbon/icons/es/list--checked/16';\nimport ListBulleted16 from '@carbon/icons/es/list--bulleted/16';\nimport CloudUpload16 from '@carbon/icons/es/cloud--upload/16';\nimport Locked16 from '@carbon/icons/es/locked/16';\nimport Pause from '@carbon/icons/es/pause/16';\n\nimport Unlocked16 from '@carbon/icons/es/unlocked/16';\nimport Send16 from '@carbon/icons/es/send/16';\nimport Email16 from '@carbon/icons/es/email/16';\nimport CheckMarkOutlined16 from '@carbon/icons/es/checkmark--outline/16';\nimport MigrateAlt16 from '@carbon/icons/es/migrate--alt/16';\nimport CheckboxCheckedFilled16 from '@carbon/icons/es/checkbox--checked--filled/16';\nimport Checkbox from '@carbon/icons/es/checkbox/16';\n\nimport { CarbonIcon } from './CarbonIcon';\n\nexport const iconMapping: Record<string, CarbonIcon> = {\n add: Add16 as CarbonIcon,\n add32: Add32 as CarbonIcon,\n addAlt: AddAlt16 as CarbonIcon,\n addFilled: AddFilled16 as CarbonIcon,\n arrowsHorizontal16: ArrowsHorizontal16 as CarbonIcon,\n arrowRight16: ArrowRight16 as CarbonIcon,\n arrowLeft16: ArrowLeft16 as CarbonIcon,\n attachment: Attachment16 as CarbonIcon,\n box: Box16 as CarbonIcon,\n close16: Close16 as CarbonIcon,\n close24: Close24 as CarbonIcon,\n close32: Close32 as CarbonIcon,\n closeFilled16: CloseFilled16 as CarbonIcon,\n closeOutlined16: CloseOutlined16 as CarbonIcon,\n checkMark: CheckMark16 as CarbonIcon,\n checkMark24: CheckMark24 as CarbonIcon,\n checkMark32: CheckMark32 as CarbonIcon,\n checkMarkOutlined: CheckMarkOutlined16 as CarbonIcon,\n chevronLeft16: ChevronLeft16 as CarbonIcon,\n chevronRight16: ChevronRight16 as CarbonIcon,\n chevronDown: ChevronDown as CarbonIcon,\n dashboard: Workspace16 as CarbonIcon,\n document: Document16 as CarbonIcon,\n documentAdd: DocumentAdd16 as CarbonIcon,\n documentAttachment: DocumentAttachment16 as CarbonIcon,\n documentPdf: DocumentPDF16 as CarbonIcon,\n draggable: Draggable16 as CarbonIcon,\n edit: Edit16 as CarbonIcon,\n export: Export16 as CarbonIcon,\n flag: Flag16 as CarbonIcon,\n information: Information16 as CarbonIcon,\n information32: Information32 as CarbonIcon,\n link: Link16 as CarbonIcon,\n opportunities: Dataenrichment as CarbonIcon,\n overflowMenuVertical: OverflowMenuVertical16 as CarbonIcon,\n overflowMenuVertical32: OverflowMenuVertical32 as CarbonIcon,\n return16: Return16 as CarbonIcon,\n save: Save16 as CarbonIcon,\n settings: Settings16 as CarbonIcon,\n subtract: Subtract16 as CarbonIcon,\n subtractAlt: SubtractAlt16 as CarbonIcon,\n subtractFilled: SubtractFilled16 as CarbonIcon,\n trashCan: TrashCan16 as CarbonIcon,\n user: User16 as CarbonIcon,\n view: View16 as CarbonIcon,\n wizard: Wizard16 as CarbonIcon,\n workorder: Batchjob16 as CarbonIcon,\n arrowUp: ArrowUp16 as CarbonIcon,\n arrowDown: ArrowDown16 as CarbonIcon,\n copy: Copy16 as CarbonIcon,\n star: Star16 as CarbonIcon,\n warning: Warning16 as CarbonIcon,\n warning32: Warning32 as CarbonIcon,\n warningAlt: WarningAlt16 as CarbonIcon,\n warningAlt32: WarningAlt32 as CarbonIcon,\n time: Time16 as CarbonIcon,\n text: TextLongParagraph16 as CarbonIcon,\n list: ListBulleted16 as CarbonIcon,\n calendar: Calendar16 as CarbonIcon,\n formTextField: TextFont16 as CarbonIcon,\n formTextArea: TextLongParagraph16 as CarbonIcon,\n formNumberField: CharacterWholeNumber16 as CarbonIcon,\n formDateField: Calendar16 as CarbonIcon,\n formCheckbox: CheckboxChecked16 as CarbonIcon,\n formFileUpload: CloudUpload16 as CarbonIcon,\n formRadioButton: RadioButtonChecked16 as CarbonIcon,\n formHiddenField: ViewOff16 as CarbonIcon,\n formTimeField: Time16 as CarbonIcon,\n formDateTimeField: EventSchedule16 as CarbonIcon,\n formMultiSelectField: ListChecked16 as CarbonIcon,\n formSingleSelectField: ListBulleted16 as CarbonIcon,\n dataTable: DataTable16 as CarbonIcon,\n fitToWidth: FitToWidth16 as CarbonIcon,\n search: Search16 as CarbonIcon,\n reset: Reset16 as CarbonIcon,\n column: Column as CarbonIcon,\n hideColumn: HideColumn as CarbonIcon,\n rotate: Rotate as CarbonIcon,\n lock: Locked16 as CarbonIcon,\n pause: Pause as CarbonIcon,\n filter: Filter as CarbonIcon,\n relationshipDiagram: RelationshipDiagram as CarbonIcon,\n unlock: Unlocked16 as CarbonIcon,\n send: Send16 as CarbonIcon,\n email: Email16 as CarbonIcon,\n migrateAlt: MigrateAlt16 as CarbonIcon,\n checkboxCheckedFilled: CheckboxCheckedFilled16 as CarbonIcon,\n checkbox: Checkbox as CarbonIcon,\n};\n\nexport default iconMapping;\n","import iconMapping from './iconMapping';\n\nexport const getIconFromName = (iconName: string, iconType: string = 'carbon') => {\n if (!iconName || iconName?.trim()?.length === 0) return;\n\n if (iconType === 'carbon') {\n return iconMapping[iconName];\n }\n return null;\n};\n",".icon-container{\n height: 100%;\n display: flex;\n align-items: center;\n color: inherit;\n}","import { Component, h, Prop } from '@stencil/core';\nimport { getIconFromName } from './iconUtils';\n\n@Component({\n tag: 'udp-icon',\n styleUrl: 'udp-icon.css',\n shadow: true,\n})\nexport class UdpIcon {\n @Prop() iconName: string;\n @Prop() iconType: string = 'carbon';\n /**\n * @deprecated Use color prop instead\n */\n @Prop() darkIcon: boolean = true;\n @Prop() color: 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'inherit' | string;\n\n render() {\n const iconData = getIconFromName(this.iconName, this.iconType);\n if (!iconData){\n return null;\n }\n \n let iconColor: string;\n\n if (this.color) {\n switch (this.color) {\n case 'primary':\n iconColor = 'var(--primary-color)';\n break;\n case 'secondary':\n iconColor = 'var(--secondary-color)';\n break;\n case 'error':\n iconColor = 'var(--error-color-main)';\n break;\n case 'info':\n iconColor = 'var(--info-color-main)';\n break;\n case 'success':\n iconColor = 'var(--success-color-main)';\n break;\n case 'inherit':\n iconColor = 'currentColor';\n break;\n default:\n iconColor = this.color;\n }\n } else {\n iconColor = this.darkIcon ? 'black' : 'white';\n }\n\n return (\n <div class=\"icon-container\">\n <svg {...(iconData?.attrs ?? {})} fill={iconColor}>\n {iconData?.content?.map((item, index) => {\n if (item?.elem === 'path') {\n return <path {...(item?.attrs ?? {})} key={index} />;\n } else if (item?.elem === 'circle') {\n return <circle {...(item?.attrs ?? {})} key={index} />;\n }\n return null;\n })}\n </svg>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -19,7 +19,7 @@ const UdpLinearLoader = /*@__PURE__*/ proxyCustomElement(class UdpLinearLoader e
|
|
|
19
19
|
loader: true,
|
|
20
20
|
[`loader--color-${this.color}`]: true,
|
|
21
21
|
};
|
|
22
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: 'e87886877c3dd11c47b1cc2a04f24fac06a6834c' }, h("div", { key: '13fd6426afe4ab10b8f69cf577674a80086388e4', class: loaderClasses }, h("div", { key: '230bb05b4fa3082299aed007ff77588deb4a46d2', class: "indeterminate" }))));
|
|
23
23
|
}
|
|
24
24
|
static get style() { return udpLinearLoaderCss; }
|
|
25
25
|
}, [257, "udp-linear-loader", {
|
|
@@ -229,7 +229,7 @@ const UdpMapToolbar = /*@__PURE__*/ proxyCustomElement(class UdpMapToolbar exten
|
|
|
229
229
|
}
|
|
230
230
|
//////////////////////////////////////////////////////////RENDER/////////////////////////////////////////////////////
|
|
231
231
|
render() {
|
|
232
|
-
return (h("map-toolbar", { key: '
|
|
232
|
+
return (h("map-toolbar", { key: 'fe800500ed0c628a824e7e07e5bbfc3cd62a5fb6', map: this.map, mapTitle: this.mapTitle, layerOptions: this.layerOptions, handleSelectLayers: this.handleSelectLayers, visibleLayers: this.selectedLayers, tileOptions: this.tileSelectOptions, handleSelectTile: this.handleSelectTile, selectedTile: this.selectedTile, enableTileSelection: this.enableTileSelection, filterPanel: this.filterPanel, enableDragBox: this.enableDragBox, selectedFeatureByBoxSelection: this.selectedFeatureByBoxSelection, handleUnselectFeatures: this.handleBulkUnselectFeatures, selectedFeaturesActionPanel: this.bulkSelectedFeaturesActionPanel, handleCancelBoxSelection: this.handleCancelBulkSelectDraw, handleBulkSelectionTypeOnChange: this.bulkSelectDraw, mapProjection: this.mapProjection, refreshEvent: this.handleRefresh, refreshButtonTooltip: this.refreshButtonTooltip, enableAddNewFeature: this.enableAddNewFeature, handleStartDrawingMapFeature: this.startDrawingMapFeature, cancelAddNewFeature: this.cancelAddNewFeature, addNewFeature: this.addNewFeature, enableSplit: this.enableSplitFeature, handleStartSplitting: this.handleStartSplitting, handleCancelSplit: this.handleCancelSplit, handleSaveSplit: this.handleSaveSplit, readOnlyMap: this.readOnlyMap, enableAdd: this.enableAdd, addMultipleFeatures: this.addMultipleFeatures, showSplitButton: this.showSplitButton, readOnlyLayers: this.readOnlyLayers, addFeaturePanelConfig: this.addFeaturePanelConfig }));
|
|
233
233
|
}
|
|
234
234
|
get el() { return this; }
|
|
235
235
|
static get watchers() { return {
|