udp-stencil-component-library 25.18.2-beta.8 → 25.18.2-beta.9

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.
Files changed (49) hide show
  1. package/dist/cjs/date-time-renderer_7.cjs.entry.js +2 -2
  2. package/dist/cjs/{enums-CgcTuQjC.js → enums-B3aaCQaV.js} +3 -3
  3. package/dist/cjs/{enums-CgcTuQjC.js.map → enums-B3aaCQaV.js.map} +1 -1
  4. package/dist/cjs/form-metadata-display_8.cjs.entry.js +1 -1
  5. package/dist/cjs/question-configs-renderer_4.cjs.entry.js +2 -2
  6. package/dist/cjs/{udp-forms-builder-question-template-BMMpObLX.js → udp-forms-builder-question-template-BS5ijef_.js} +3 -3
  7. package/dist/cjs/{udp-forms-builder-question-template-BMMpObLX.js.map → udp-forms-builder-question-template-BS5ijef_.js.map} +1 -1
  8. package/dist/cjs/udp-forms-builder.cjs.entry.js +2 -2
  9. package/dist/cjs/udp-forms-follow-up-list-card.cjs.entry.js +1 -1
  10. package/dist/cjs/udp-forms-list-card.cjs.entry.js +1 -1
  11. package/dist/cjs/udp-forms-list.cjs.entry.js +1 -1
  12. package/dist/cjs/udp-forms-renderer.cjs.entry.js +1 -1
  13. package/dist/cjs/udp-forms-ui.cjs.entry.js +1 -1
  14. package/dist/collection/components/forms/udp-forms/udp-forms-utils/enums.js +1 -1
  15. package/dist/collection/components/forms/udp-forms/udp-forms-utils/enums.js.map +1 -1
  16. package/dist/components/enums.js +1 -1
  17. package/dist/components/enums.js.map +1 -1
  18. package/dist/docs.json +1 -1
  19. package/dist/esm/date-time-renderer_7.entry.js +2 -2
  20. package/dist/esm/{enums-DHT5wSnX.js → enums-D5dod6Ie.js} +3 -3
  21. package/dist/esm/{enums-DHT5wSnX.js.map → enums-D5dod6Ie.js.map} +1 -1
  22. package/dist/esm/form-metadata-display_8.entry.js +1 -1
  23. package/dist/esm/question-configs-renderer_4.entry.js +2 -2
  24. package/dist/esm/{udp-forms-builder-question-template-D6ADNZEG.js → udp-forms-builder-question-template-BsYOju9V.js} +3 -3
  25. package/dist/{stencil-library/udp-forms-builder-question-template-D6ADNZEG.js.map → esm/udp-forms-builder-question-template-BsYOju9V.js.map} +1 -1
  26. package/dist/esm/udp-forms-builder.entry.js +2 -2
  27. package/dist/esm/udp-forms-follow-up-list-card.entry.js +1 -1
  28. package/dist/esm/udp-forms-list-card.entry.js +1 -1
  29. package/dist/esm/udp-forms-list.entry.js +1 -1
  30. package/dist/esm/udp-forms-renderer.entry.js +1 -1
  31. package/dist/esm/udp-forms-ui.entry.js +1 -1
  32. package/dist/stencil-library/date-time-renderer_7.entry.js +1 -1
  33. package/dist/stencil-library/enums-D5dod6Ie.js +2 -0
  34. package/dist/stencil-library/{enums-DHT5wSnX.js.map → enums-D5dod6Ie.js.map} +1 -1
  35. package/dist/stencil-library/form-metadata-display_8.entry.js +1 -1
  36. package/dist/stencil-library/question-configs-renderer_4.entry.js +1 -1
  37. package/dist/stencil-library/{udp-forms-builder-question-template-D6ADNZEG.js → udp-forms-builder-question-template-BsYOju9V.js} +2 -2
  38. package/dist/{esm/udp-forms-builder-question-template-D6ADNZEG.js.map → stencil-library/udp-forms-builder-question-template-BsYOju9V.js.map} +1 -1
  39. package/dist/stencil-library/udp-forms-builder.entry.js +1 -1
  40. package/dist/stencil-library/udp-forms-follow-up-list-card.entry.js +1 -1
  41. package/dist/stencil-library/udp-forms-follow-up-list-card.entry.js.map +1 -1
  42. package/dist/stencil-library/udp-forms-list-card.entry.js +1 -1
  43. package/dist/stencil-library/udp-forms-list-card.entry.js.map +1 -1
  44. package/dist/stencil-library/udp-forms-list.entry.js +1 -1
  45. package/dist/stencil-library/udp-forms-renderer.entry.js +1 -1
  46. package/dist/stencil-library/udp-forms-ui.entry.js +1 -1
  47. package/dist/types/components/forms/udp-forms/udp-forms-utils/enums.d.ts +1 -1
  48. package/package.json +1 -1
  49. package/dist/stencil-library/enums-DHT5wSnX.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"udp-forms-builder-question-template-D6ADNZEG.js","sources":["src/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.ts","src/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.ts"],"sourcesContent":["import { UdpFormsTypeEnum } from '../udp-forms-utils/enums';\nimport { StyleOverrides } from '../udp-forms-utils/types';\n\nexport const deepCloneFormSections = (formSections: any[]): any[] => {\n return structuredClone(formSections);\n};\n\nexport const styleOverrideDefault: StyleOverrides = {\n background: {\n backgroundImage: null,\n backgroundColor: null,\n },\n headerBackgroundColor: null,\n fontFamily: null,\n helperText: {\n variant: null,\n fontFamily: null,\n },\n questionText: {\n variant: null,\n fontFamily: null,\n },\n titleText: {\n variant: null,\n fontFamily: null,\n },\n paragraphText: {\n variant: null,\n fontFamily: null,\n },\n};\n\nexport const formSectionDefault = {\n title: '',\n sectionText: '',\n sectionProperties: {},\n formQuestions: [],\n};\n\nexport const formMetadataDefault = {\n isPrivate: true,\n type: UdpFormsTypeEnum.Standard,\n version: 1,\n name: '',\n description: '',\n};\n","import { UdpFormsFieldTypeEnum } from '../udp-forms-utils/enums';\nimport { deepCloneFormSections } from './forms-builder-utils';\n\ntype FormSections = any[];\n\n// === Helper Functions ===\n\nconst updateFieldProperties = (formSections: FormSections, sIndex: number, qIndex: number, updateFn: (props: any) => any): FormSections => {\n const newSections = deepCloneFormSections(formSections);\n const questionItem = { ...newSections[sIndex].formQuestions[qIndex] };\n const oldProps = questionItem.fieldProperties || {};\n questionItem.fieldProperties = updateFn(oldProps);\n newSections[sIndex].formQuestions[qIndex] = questionItem;\n return newSections;\n};\n\n// === Handlers ===\n\nconst handleFieldPropertyAddListItem = (formSections: FormSections, sIndex: number, qIndex: number, displayText: string, valueText: string) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n items: [...(props.items || []), { display: displayText, value: valueText }],\n }));\n\nconst handleFieldPropertyRemoveListItem = (formSections: FormSections, sIndex: number, qIndex: number, itemIndex: number) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => {\n const items = [...(props.items || [])];\n items.splice(itemIndex, 1);\n return { ...props, items };\n });\n\nconst handleFieldPropertyListItemChange = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, idx: number, field: 'display' | 'value') => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => {\n const items = [...(props.items || [])];\n items[idx] = { ...items[idx], [field]: input.value };\n return { ...props, items };\n });\n};\n\nconst handleFieldPropertyLookupChange = (selectedLookupId: string, formSections: FormSections, sIndex: number, qIndex: number) => {\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n lookupId: selectedLookupId,\n }));\n};\n\nconst handleFieldPropertyToggleManualOrLookupOptions = (formSections: FormSections, sIndex: number, qIndex: number) => {\n return updateFieldProperties(formSections, sIndex, qIndex, props => {\n const { items, lookupId, ...otherConfigs } = props;\n\n if (items && !lookupId) {\n return {\n ...otherConfigs,\n lookupId: '',\n };\n } else {\n return {\n ...otherConfigs,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n };\n }\n });\n};\n\nconst handleFieldPropertyMinMaxCharacter = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, fieldName: 'maxCharacter' | 'minCharacter') => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: input.value,\n }));\n};\n\nconst handleFieldPropertyBooleanToggle = (\n formSections: FormSections,\n sIndex: number,\n qIndex: number,\n fieldName: 'allowFutureDate' | 'hideDragAndDrop' | 'hideButton' | 'allowComments' | 'allowFollowUpForms' | 'includeLocation',\n) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: !props[fieldName],\n }));\n\nconst handleFieldPropertyDateTime = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, fieldName: string) => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: input.value,\n }));\n};\n\nconst handleGenericProperty = (value: any, formSections: FormSections, sIndex: number, qIndex: number, fieldName: 'questionText' | 'helperText' | 'required') => {\n const newSections = deepCloneFormSections(formSections);\n const questionItem = { ...newSections[sIndex].formQuestions[qIndex] };\n questionItem[fieldName] = value;\n newSections[sIndex].formQuestions[qIndex] = questionItem;\n return newSections;\n};\n\n// Paragraph-specific: store the paragraph text under fieldProperties.paragraphText\nconst handleParagraphValueChange = (event: Event, formSections: FormSections, sIndex: number, qIndex: number) => {\n const input = event.target as HTMLTextAreaElement | HTMLInputElement;\n const newValue = input?.value ?? '';\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n paragraphText: newValue,\n }));\n};\n\n\nconst questionsTemplate = [\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Hidden,\n questionTypeName: 'Hidden',\n icon: 'formHiddenField',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.SingleLineText,\n questionTypeName: 'Single Line Text',\n icon: 'formTextField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyMinMaxCharacter,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxCharacter: 64, minCharacter: 0 },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.MultiLineText,\n questionTypeName: 'Multi Line Text',\n icon: 'formTextArea',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyMinMaxCharacter,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxCharacter: 256, minCharacter: 0 },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Checkbox,\n questionTypeName: 'Checkbox',\n icon: 'formCheckbox',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.RadioButton,\n questionTypeName: 'Radio Button',\n icon: 'formRadioButton',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DropdownSingleSelect,\n questionTypeName: 'Dropdown Single Select',\n icon: 'formSingleSelectField',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DropdownMultipleSelect,\n questionTypeName: 'Dropdown Multiple Select',\n icon: 'formMultiSelectField',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.ListMultiSelect,\n questionTypeName: 'List',\n icon: 'list',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DateSelector,\n questionTypeName: 'Date Selector',\n icon: 'formDateField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n allowFutureDate: false,\n maxDate: '2099-12-31',\n minDate: '1980-01-01',\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.TimeSelector,\n questionTypeName: 'Time Selector',\n icon: 'formTimeField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxTime: '17:00:00', minTime: '09:00:00' },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DateTimeSelector,\n questionTypeName: 'DateTime Selector',\n icon: 'formDateTimeField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n allowFutureDate: false,\n maxDateTime: '2099-12-31 23:59:59',\n minDateTime: '1980-01-01 00:00:00',\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.FileUpload,\n questionTypeName: 'File Upload',\n icon: 'formFileUpload',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, hideDragAndDrop: false, hideButton: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.YesNo,\n questionTypeName: 'Yes/No',\n icon: 'checkMark',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Signature,\n questionTypeName: 'Signature',\n icon: 'document',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, includeLocation: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Tally,\n questionTypeName: 'Tally Display',\n icon: 'formNumberField',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, ignoreRequiredConfig: true },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Number,\n questionTypeName: 'Numeric',\n icon: 'box',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Paragraph,\n questionTypeName: 'Paragraph',\n icon: 'formTextArea',\n // Store paragraph text alongside other question properties\n handlers: { handleGenericProperty, handleParagraphValueChange },\n defaultFieldProperties: { paragraphText: '' },\n // Signal that question text is optional for this type; builder UI can use this to relax validation/UX\n questionTextOptional: true,\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.ImageUpload,\n questionTypeName: 'Image Upload',\n icon: 'formFileUpload',\n // Align options/handlers with File Upload\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { hideDragAndDrop: false, allowComments: false, allowFollowUpForms: false, hideButton: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.FormMetadataDisplay,\n questionTypeName: 'Form Metadata Display',\n icon: 'user',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { displayOwnerFullName: true, displayOwnerEmail: true, displaySubmissionDate: true, allowComments: false, allowFollowUpForms: false},\n }, \n];\n\nexport default questionsTemplate;"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"udp-forms-builder-question-template-BsYOju9V.js","sources":["src/components/forms/udp-forms/udp-forms-builder/forms-builder-utils.ts","src/components/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.ts"],"sourcesContent":["import { UdpFormsTypeEnum } from '../udp-forms-utils/enums';\nimport { StyleOverrides } from '../udp-forms-utils/types';\n\nexport const deepCloneFormSections = (formSections: any[]): any[] => {\n return structuredClone(formSections);\n};\n\nexport const styleOverrideDefault: StyleOverrides = {\n background: {\n backgroundImage: null,\n backgroundColor: null,\n },\n headerBackgroundColor: null,\n fontFamily: null,\n helperText: {\n variant: null,\n fontFamily: null,\n },\n questionText: {\n variant: null,\n fontFamily: null,\n },\n titleText: {\n variant: null,\n fontFamily: null,\n },\n paragraphText: {\n variant: null,\n fontFamily: null,\n },\n};\n\nexport const formSectionDefault = {\n title: '',\n sectionText: '',\n sectionProperties: {},\n formQuestions: [],\n};\n\nexport const formMetadataDefault = {\n isPrivate: true,\n type: UdpFormsTypeEnum.Standard,\n version: 1,\n name: '',\n description: '',\n};\n","import { UdpFormsFieldTypeEnum } from '../udp-forms-utils/enums';\nimport { deepCloneFormSections } from './forms-builder-utils';\n\ntype FormSections = any[];\n\n// === Helper Functions ===\n\nconst updateFieldProperties = (formSections: FormSections, sIndex: number, qIndex: number, updateFn: (props: any) => any): FormSections => {\n const newSections = deepCloneFormSections(formSections);\n const questionItem = { ...newSections[sIndex].formQuestions[qIndex] };\n const oldProps = questionItem.fieldProperties || {};\n questionItem.fieldProperties = updateFn(oldProps);\n newSections[sIndex].formQuestions[qIndex] = questionItem;\n return newSections;\n};\n\n// === Handlers ===\n\nconst handleFieldPropertyAddListItem = (formSections: FormSections, sIndex: number, qIndex: number, displayText: string, valueText: string) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n items: [...(props.items || []), { display: displayText, value: valueText }],\n }));\n\nconst handleFieldPropertyRemoveListItem = (formSections: FormSections, sIndex: number, qIndex: number, itemIndex: number) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => {\n const items = [...(props.items || [])];\n items.splice(itemIndex, 1);\n return { ...props, items };\n });\n\nconst handleFieldPropertyListItemChange = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, idx: number, field: 'display' | 'value') => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => {\n const items = [...(props.items || [])];\n items[idx] = { ...items[idx], [field]: input.value };\n return { ...props, items };\n });\n};\n\nconst handleFieldPropertyLookupChange = (selectedLookupId: string, formSections: FormSections, sIndex: number, qIndex: number) => {\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n lookupId: selectedLookupId,\n }));\n};\n\nconst handleFieldPropertyToggleManualOrLookupOptions = (formSections: FormSections, sIndex: number, qIndex: number) => {\n return updateFieldProperties(formSections, sIndex, qIndex, props => {\n const { items, lookupId, ...otherConfigs } = props;\n\n if (items && !lookupId) {\n return {\n ...otherConfigs,\n lookupId: '',\n };\n } else {\n return {\n ...otherConfigs,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n };\n }\n });\n};\n\nconst handleFieldPropertyMinMaxCharacter = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, fieldName: 'maxCharacter' | 'minCharacter') => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: input.value,\n }));\n};\n\nconst handleFieldPropertyBooleanToggle = (\n formSections: FormSections,\n sIndex: number,\n qIndex: number,\n fieldName: 'allowFutureDate' | 'hideDragAndDrop' | 'hideButton' | 'allowComments' | 'allowFollowUpForms' | 'includeLocation',\n) =>\n updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: !props[fieldName],\n }));\n\nconst handleFieldPropertyDateTime = (event: Event, formSections: FormSections, sIndex: number, qIndex: number, fieldName: string) => {\n const input = event.target as HTMLInputElement;\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n [fieldName]: input.value,\n }));\n};\n\nconst handleGenericProperty = (value: any, formSections: FormSections, sIndex: number, qIndex: number, fieldName: 'questionText' | 'helperText' | 'required') => {\n const newSections = deepCloneFormSections(formSections);\n const questionItem = { ...newSections[sIndex].formQuestions[qIndex] };\n questionItem[fieldName] = value;\n newSections[sIndex].formQuestions[qIndex] = questionItem;\n return newSections;\n};\n\n// Paragraph-specific: store the paragraph text under fieldProperties.paragraphText\nconst handleParagraphValueChange = (event: Event, formSections: FormSections, sIndex: number, qIndex: number) => {\n const input = event.target as HTMLTextAreaElement | HTMLInputElement;\n const newValue = input?.value ?? '';\n return updateFieldProperties(formSections, sIndex, qIndex, props => ({\n ...props,\n paragraphText: newValue,\n }));\n};\n\n\nconst questionsTemplate = [\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Hidden,\n questionTypeName: 'Hidden',\n icon: 'formHiddenField',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.SingleLineText,\n questionTypeName: 'Single Line Text',\n icon: 'formTextField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyMinMaxCharacter,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxCharacter: 64, minCharacter: 0 },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.MultiLineText,\n questionTypeName: 'Multi Line Text',\n icon: 'formTextArea',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyMinMaxCharacter,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxCharacter: 256, minCharacter: 0 },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Checkbox,\n questionTypeName: 'Checkbox',\n icon: 'formCheckbox',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.RadioButton,\n questionTypeName: 'Radio Button',\n icon: 'formRadioButton',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DropdownSingleSelect,\n questionTypeName: 'Dropdown Single Select',\n icon: 'formSingleSelectField',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DropdownMultipleSelect,\n questionTypeName: 'Dropdown Multiple Select',\n icon: 'formMultiSelectField',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.ListMultiSelect,\n questionTypeName: 'List',\n icon: 'list',\n isContainsOptionItems: true,\n handlers: {\n handleGenericProperty,\n handleFieldPropertyAddListItem,\n handleFieldPropertyRemoveListItem,\n handleFieldPropertyListItemChange,\n handleFieldPropertyToggleManualOrLookupOptions,\n handleFieldPropertyLookupChange,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n items: [\n {\n display: '',\n value: '',\n },\n ],\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DateSelector,\n questionTypeName: 'Date Selector',\n icon: 'formDateField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n allowFutureDate: false,\n maxDate: '2099-12-31',\n minDate: '1980-01-01',\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.TimeSelector,\n questionTypeName: 'Time Selector',\n icon: 'formTimeField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, maxTime: '17:00:00', minTime: '09:00:00' },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.DateTimeSelector,\n questionTypeName: 'DateTime Selector',\n icon: 'formDateTimeField',\n handlers: {\n handleGenericProperty,\n handleFieldPropertyDateTime,\n handleFieldPropertyBooleanToggle,\n },\n defaultFieldProperties: {\n allowComments: false,\n allowFollowUpForms: false,\n allowFutureDate: false,\n maxDateTime: '2099-12-31 23:59:59',\n minDateTime: '1980-01-01 00:00:00',\n },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.FileUpload,\n questionTypeName: 'File Upload',\n icon: 'formFileUpload',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, hideDragAndDrop: false, hideButton: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.YesNo,\n questionTypeName: 'Yes/No',\n icon: 'checkMark',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Signature,\n questionTypeName: 'Signature',\n icon: 'document',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, includeLocation: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Tally,\n questionTypeName: 'Tally Display',\n icon: 'formNumberField',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false, ignoreRequiredConfig: true },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Number,\n questionTypeName: 'Numeric',\n icon: 'box',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { allowComments: false, allowFollowUpForms: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.Paragraph,\n questionTypeName: 'Paragraph',\n icon: 'formTextArea',\n // Store paragraph text alongside other question properties\n handlers: { handleGenericProperty, handleParagraphValueChange },\n defaultFieldProperties: { paragraphText: '' },\n // Signal that question text is optional for this type; builder UI can use this to relax validation/UX\n questionTextOptional: true,\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.ImageUpload,\n questionTypeName: 'Image Upload',\n icon: 'formFileUpload',\n // Align options/handlers with File Upload\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { hideDragAndDrop: false, allowComments: false, allowFollowUpForms: false, hideButton: false },\n },\n {\n fieldTypeId: UdpFormsFieldTypeEnum.FormMetadataDisplay,\n questionTypeName: 'Form Metadata Display',\n icon: 'user',\n handlers: { handleGenericProperty, handleFieldPropertyBooleanToggle },\n defaultFieldProperties: { displayOwnerFullName: true, displayOwnerEmail: true, displaySubmissionDate: true, allowComments: false, allowFollowUpForms: false},\n }, \n];\n\nexport default questionsTemplate;"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as i,h as t,a as o}from"./index-CaZq3YdB.js";import{m as s}from"./makeApiCall-B-daVutk.js";import{f as e,q as n,d as r,a,s as c}from"./udp-forms-builder-question-template-D6ADNZEG.js";import{g as l}from"./iconUtils-DcPvHO4A.js";import{g as h}from"./tenantUtils-Basdb1b1.js";import d from"sortablejs";import{v4 as u}from"uuid";import{U as p,a as m}from"./enums-DHT5wSnX.js";import{C as f}from"./configService-BqLfkVKh.js";import"axios";import"./iconMapping-CPerGeNF.js";import"@carbon/icons/es/add/16";import"@carbon/icons/es/add/32";import"@carbon/icons/es/add--alt/16";import"@carbon/icons/es/add--filled/16";import"@carbon/icons/es/arrows--horizontal/16";import"@carbon/icons/es/attachment/16";import"@carbon/icons/es/batch-job/16";import"@carbon/icons/es/box/16";import"@carbon/icons/es/close/16";import"@carbon/icons/es/close/24";import"@carbon/icons/es/close/32";import"@carbon/icons/es/close--filled/16";import"@carbon/icons/es/close--outline/16";import"@carbon/icons/es/checkmark/16";import"@carbon/icons/es/checkmark/24";import"@carbon/icons/es/checkmark/32";import"@carbon/icons/es/chevron--left/16";import"@carbon/icons/es/chevron--right/16";import"@carbon/icons/es/chevron--down/16";import"@carbon/icons/es/data-enrichment/16";import"@carbon/icons/es/document/16";import"@carbon/icons/es/document--add/16";import"@carbon/icons/es/document--attachment/16";import"@carbon/icons/es/document--pdf/16";import"@carbon/icons/es/document--video/16";import"@carbon/icons/es/document--audio/16";import"@carbon/icons/es/draggable/16";import"@carbon/icons/es/edit/16";import"@carbon/icons/es/export/16";import"@carbon/icons/es/flag/16";import"@carbon/icons/es/information/16";import"@carbon/icons/es/information/32";import"@carbon/icons/es/link/16";import"@carbon/icons/es/overflow-menu--vertical/16";import"@carbon/icons/es/overflow-menu--vertical/32";import"@carbon/icons/es/return/16";import"@carbon/icons/es/save/16";import"@carbon/icons/es/settings/16";import"@carbon/icons/es/subtract/16";import"@carbon/icons/es/subtract--alt/16";import"@carbon/icons/es/subtract--filled/16";import"@carbon/icons/es/trash-can/16";import"@carbon/icons/es/user/16";import"@carbon/icons/es/view/16";import"@carbon/icons/es/warning/16";import"@carbon/icons/es/warning/32";import"@carbon/icons/es/warning--alt/16";import"@carbon/icons/es/warning--alt/32";import"@carbon/icons/es/product/16";import"@carbon/icons/es/workspace/16";import"@carbon/icons/es/arrow--up/16";import"@carbon/icons/es/arrow--down/16";import"@carbon/icons/es/arrow--right/16";import"@carbon/icons/es/arrow--left/16";import"@carbon/icons/es/copy/16";import"@carbon/icons/es/star/16";import"@carbon/icons/es/data-table/16";import"@carbon/icons/es/fit-to-width/16";import"@carbon/icons/es/search--advanced/16";import"@carbon/icons/es/reset/16";import"@carbon/icons/es/column/16";import"@carbon/icons/es/column--delete/16";import"@carbon/icons/es/watson-health/rotate--360/16";import"@carbon/icons/es/filter/16";import"@carbon/icons/es/app-connectivity/16";import"@carbon/icons/es/text--font/16";import"@carbon/icons/es/text--long-paragraph/16";import"@carbon/icons/es/character--whole-number/16";import"@carbon/icons/es/checkbox--checked/16";import"@carbon/icons/es/radio-button--checked/16";import"@carbon/icons/es/event--schedule/16";import"@carbon/icons/es/view--off/16";import"@carbon/icons/es/time/16";import"@carbon/icons/es/calendar/16";import"@carbon/icons/es/list--checked/16";import"@carbon/icons/es/list--bulleted/16";import"@carbon/icons/es/cloud--upload/16";import"@carbon/icons/es/locked/16";import"@carbon/icons/es/pause/16";import"@carbon/icons/es/unlocked/16";import"@carbon/icons/es/send/16";import"@carbon/icons/es/email/16";import"@carbon/icons/es/checkmark--outline/16";import"@carbon/icons/es/migrate--alt/16";import"@carbon/icons/es/checkbox--checked--filled/16";import"@carbon/icons/es/checkbox/16";import"@carbon/icons/es/ZIP/16";import"@carbon/icons/es/image/16";import"@carbon/icons/es/PPT/16";import"@carbon/icons/es/XLS/16";const b=":host{display:block;--udp-form-primary-color:#007bff;--udp-form-spacing-unit:16px}.udp-forms-page{display:flex;flex-direction:column;gap:var(--spacing-06, 32px);padding:var(--spacing-06, 32px);padding-bottom:var(--spacing-12)}.form-section-questions-container{display:flex;flex-direction:column}.form-details-container{display:flex;flex-direction:column;padding:var(--spacing-05, 24px);background-color:var(--card-background-color, white)}.form-details-version-container{margin-bottom:var(--spacing-05)}.udp-form-builder-field-container,.udp-forms-builder-item-generic-configs,.udp-forms-builder-item-specific-configs{display:flex;flex-direction:column;gap:var(--spacing-04, 16px)}.form-section{}.form-section-header{display:flex;flex-direction:row;justify-content:space-between;background-color:var(--primary-color-dark, #000);color:var(--primary-contrast-text, #FFF);padding:var(--spacing-04, 16px) var(--spacing-05, 24px);align-items:center}.add-question-button-container{display:flex;justify-content:center;align-items:center}.question-editor-container{padding:var(--spacing-05, 24px);display:flex;flex-direction:column;gap:var(--spacing-05, 24px)}.add-question-to-section-button-container{padding:var(--spacing-02, 8px) 0;margin:auto}.sortable-ghost{opacity:0.5;transform:scale(0.98);background:#f4f4f4;border:1px dashed #ccc}.sortable-chosen{background:#eef6ff;box-shadow:0 0 4px 2px rgba(51, 153, 255, 0.3)}.form-question-drag-handle{transform:rotate(90deg);cursor:grab}.form-question-drag-handle:active{cursor:grabbing}.form-question-drag-handle .drag-wrapper{cursor:inherit}.form-question-drag-handle stencil-icon-button{pointer-events:none;}";var g=undefined&&undefined.__rest||function(i,t){var o={};for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)&&t.indexOf(s)<0)o[s]=i[s];if(i!=null&&typeof Object.getOwnPropertySymbols==="function")for(var e=0,s=Object.getOwnPropertySymbols(i);e<s.length;e++){if(t.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(i,s[e]))o[s[e]]=i[s[e]]}return o};const v=class{constructor(t){i(this,t);this.isFollowUpFormConfigOn=false;this.isPublicFormConfigOn=false;this.isCommentingConfigOn=true;this.formsBuilderUrlPath="";this.formMetadata=e;this.formSections=[];this.formSectionsDraft=[];this.isNewForm=true;this.isMostRecentFormVersion=false;this.isError=false;this.isLoading=false;this.isShowStyleOverrides=false;this.isStyleSheetOpen=false;this.isDialogOpen=false;this.showMenuAtIndex=null;this.editingQuestion=null;this.editingSection=null;this.isQuestionEditorOpen=false;this.isSectionEditorOpen=false;this.lookupOptionsDataProcessed=[];this.dialogAction=null;this.dialogMessage="Are you sure you want to delete this?";this.sortableInstances=[];this.formsBuilderPageId=p.FormBuilderPageId;this.formTypeOptions=Object.keys(m).filter((i=>isNaN(Number(i)))).map((i=>({value:String(m[i]),label:i})));this.toggleStyleSheet=()=>{this.isStyleSheetOpen=!this.isStyleSheetOpen};this.getQuestionTypeName=i=>{const t=n.find((t=>t.fieldTypeId===i));return t?t.questionTypeName:"Unknown"};this.getIsContainsOptionItems=i=>{const t=n.find((t=>t.fieldTypeId===i));return t?t.isContainsOptionItems||false:false};this.getIconForQuestion=i=>{const t=n.find((t=>t.fieldTypeId===i));return t?t.icon:null};this.handleQuestionDelete=(i,t)=>{const o=r(this.formSections);o[i].formQuestions.splice(t,1);this.formSections=o};this.handleQuestionCopy=(i,t)=>{const o=r(this.formSections);const s=this.formSections[i].formQuestions[t];const e=Object.assign(Object.assign({},s),{questionText:(s.questionText||"")+" (Copy)",id:u()});o[i].formQuestions.splice(t+1,0,e);this.formSections=o};this.handleQuestionClick=(i,t)=>{this.editingQuestion={sIndex:i,qIndex:t};this.isQuestionEditorOpen=true;this.formSectionsDraft=r(this.formSections)};this.closeQuestionEditor=()=>{this.isQuestionEditorOpen=false;this.editingQuestion=null;this.formSectionsDraft=null};this.addQuestionOfType=(i,t,o)=>{const s={questionTypeName:i.questionTypeName,fieldTypeId:i.fieldTypeId,fieldProperties:i.defaultFieldProperties,helperText:"",questionText:"",section:t!==undefined?t+1:this.formSections.length>0?this.formSections[this.formSections.length-1].formQuestions[0].section:1,isContainsOptionItems:i.isContainsOptionItems,icon:i.icon,required:false,form:null,isPrivate:true,id:u()};const e=r(this.formSections);let n=t;let c=o;if(t!==undefined&&o!==undefined){if(e[t].formQuestions){e[t].formQuestions.splice(o,0,s)}else{const i=e.length-1;e[i].formQuestions.push(s);n=i;c=e[i].formQuestions.length-1}}else{const i=e.length-1;if(i<0||e[i].formQuestions.length===0){e.push(Object.assign(Object.assign({},a),{formQuestions:[s]}));n=e.length-1;c=0}else{e[i].formQuestions.push(s);n=i;c=e[i].formQuestions.length-1}}this.formSectionsDraft=e;if(this.showMenuAtIndex)this.showMenuAtIndex=null;return{sIndex:n,qIndex:c}};this.handleSectionMoveDown=i=>{if(i>=this.formSections.length-1)return;const t=[...this.formSections];[t[i],t[i+1]]=[t[i+1],t[i]];this.formSections=t};this.handleSectionMoveUp=i=>{if(i<=0)return;const t=[...this.formSections];[t[i],t[i-1]]=[t[i-1],t[i]];this.formSections=t};this.handleSectionDelete=i=>{const t=[...this.formSections];t.splice(i,1);this.formSections=t};this.updateFormSectionsWithDraft=()=>{this.formSections=this.formSectionsDraft;this.formSectionsDraft=null};this.hasUnsavedFormSectionsChanges=()=>JSON.stringify(this.formSections)!==JSON.stringify(this.formSectionsDraft);this.handleSectionEditClick=i=>{this.editingSection={sIndex:i};this.isSectionEditorOpen=true;this.formSectionsDraft=r(this.formSections)};this.closeSectionEditor=()=>{this.isSectionEditorOpen=false;this.editingSection=null;this.formSectionsDraft=null}}async initializeForm(){this.formMetadata.isPrivate=e.isPrivate;this.formMetadata.tenantId=h();this.formMetadata.type=e.type;this.formMetadata.version=e.version;this.formMetadata.name=e.name;this.formMetadata.description=e.description;this.formMetadata.styleOverrides=c;try{this.isLoading=true;const i=await s("GET",f.productV1ApiUrl+"/UdpLookup");if(!i){throw new Error(`Error fetching lookup data`)}this.lookupOptionsDataProcessed=i.map((i=>Object.assign(Object.assign({},i),{value:i.id,label:i.name})));if(this.formId&&this.version){const i=await s("GET",`${f.productV1ApiUrl}/UdpForm/${this.formId}/${this.version}/describe`);const t=await s("GET",`${f.productV1ApiUrl}/UdpForm/${this.formId}/describe`);this.isNewForm=false;if(!i||!t||!i.id||!t){throw new Error(`Error fetching form data`)}if(i.id==t.id&&i.version==t.version){this.isMostRecentFormVersion=true}const o=structuredClone(i.udpFormUdpFormSection).map((i=>Object.assign(Object.assign({},i),{formQuestions:[]})));o.forEach((i=>{if(!i.sectionProperties){i.sectionProperties={}}else{i.sectionProperties=JSON.parse(i.sectionProperties)}}));i.formQuestions.forEach((i=>{const t=o.find((t=>t.id===i.formSectionId));if(t){const o=Object.assign({},i.fieldProperties);if("lookupId"in o&&"items"in o){delete o.items}t.formQuestions.push(Object.assign(Object.assign({},i),{fieldProperties:o,questionTypeName:this.getQuestionTypeName(i.fieldTypeId),isContainsOptionItems:this.getIsContainsOptionItems(i.fieldTypeId),icon:this.getIconForQuestion(i.fieldTypeId)}))}}));o.forEach((i=>{i.formQuestions.sort(((i,t)=>i.questionOrder-t.questionOrder))}));o.sort(((i,t)=>i.order-t.order));const e=g(i,[]);e.styleOverrides=this.deepMerge(c,JSON.parse(e.styleOverrides)||{});this.formMetadata=e;this.formSections=o;this.isLoading=false}}catch(i){this.isError=true;this.enqueueSnackbar("Error loading form data",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}})}finally{this.isLoading=false}}async submitForm(){if(!this.isValidForm()){return}this.isLoading=true;try{const i={name:this.formMetadata.name,description:this.formMetadata.description,tenantId:this.formMetadata.tenantId,isPrivate:this.formMetadata.isPrivate,type:this.formMetadata.type,styleOverrides:JSON.stringify(this.formMetadata.styleOverrides),id:this.formMetadata.id,version:this.formMetadata.version};const t=`${f.productV1ApiUrl}/UdpForm${this.isMostRecentFormVersion?"/versions":""}`;const o=await s("POST",t,i);const e=o.id;const n=o.version;if(!o||!o.id||!o.version){throw new Error(`Invalid form response: ${JSON.stringify(o)}`)}let r=0;let a=0;const c=[];for(const[i,t]of this.formSections.entries()){r+=1;const o=Object.assign(Object.assign({},t),{formId:e,formVersion:n,order:r,sectionProperties:JSON.stringify(t.sectionProperties),name:`section${r}`});const l=await s("POST",`${f.productV1ApiUrl}/UdpFormSection`,o);if(!l||!l.id){throw new Error(`Invalid section response: ${JSON.stringify(l)}`)}const h=l.id;for(const o of t.formQuestions){a+=1;const t=Object.assign(Object.assign({},o),{formId:e,formVersion:n,section:i+1,questionOrder:a,formSectionId:h,name:`question${a}`});const r=s("POST",`${f.productV1ApiUrl}/UdpFormQuestion`,t);c.push(r)}}await Promise.all(c);this.enqueueSnackbar("Success",{variant:"success",anchorOrigin:{vertical:"top",horizontal:"center"}});if(this.formsBuilderUrlPath){this.history.push(`${this.formsBuilderUrlPath}&udpf_formId=${e}&udpf_version=${n}`);return}this.history.push(`/page/${this.formsBuilderPageId}?udpf_formId=${e}&udpf_version=${n}`)}catch(i){console.error("Form submission error:",i);this.enqueueSnackbar("Error saving form",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}})}finally{this.isLoading=false}}componentDidLoad(){this.initializeSortable()}componentDidUpdate(){this.initializeSortable()}componentWillLoad(){this.initializeForm()}onFormIdOrVersionChange(){this.initializeForm()}initializeSortable(){if(!(this.isNewForm||this.isMostRecentFormVersion)){return}this.sortableInstances.forEach((i=>i.destroy()));this.sortableInstances=[];this.formSections.forEach(((i,t)=>{const o=this.hostEl.shadowRoot.querySelector(`#section-${t}`);if(o){const i=new d(o,{animation:200,easing:"cubic-bezier(0.25, 1, 0.5, 1)",draggable:"udp-forms-builder-question-item",handle:".form-question-drag-handle",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",direction:"vertical",forceFallback:false,dragoverBubble:false,swapThreshold:.6,onEnd:i=>this.handleDragEnd(i,t)});this.sortableInstances.push(i)}}))}handleDragEnd(i,t){const o=i.oldIndex;const s=i.newIndex;if(o===s||o==null||s==null)return;const e=structuredClone(this.formSections[t]);const[n]=e.formQuestions.splice(o,1);e.formQuestions.splice(s,0,n);const a=r(this.formSections);a[t]=e;this.formSections=a}deepMerge(i,t){const o=Object.assign({},i);for(const s in t){if(t[s]&&typeof t[s]==="object"&&!Array.isArray(t[s])){o[s]=this.deepMerge(i[s]||{},t[s])}else{o[s]=t[s]}}return o}isValidForm(){return this.validateFormMetadata()&&this.validateFormSections()&&this.validateAllQuestions()}validateFormMetadata(){var i;if(!((i=this.formMetadata.name)===null||i===void 0?void 0:i.trim())){this.enqueueSnackbar("Please enter a form name.",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}return true}validateFormSections(){if(this.formSections.length<1){this.enqueueSnackbar("Please add at least one section to the form.",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}for(let i=0;i<this.formSections.length;i++){const t=this.formSections[i];const o=(t===null||t===void 0?void 0:t.formQuestions)||[];if(o.length<1){const o=(t===null||t===void 0?void 0:t.title)?`"${t.title}"`:`#${i+1}`;this.enqueueSnackbar(`Section ${o} must contain at least one question.`,{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}}return true}validateAllQuestions(){for(let i=0;i<this.formSections.length;i++){const t=this.formSections[i];const o=(t===null||t===void 0?void 0:t.formQuestions)||[];for(let t=0;t<o.length;t++){const o=this.validateQuestionItem(i,t);if(!o){this.enqueueSnackbar("Please validate all questions.",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}}}return true}validateQuestionItem(i,t){const o=this.formSections[i].formQuestions[t];const s=n.find((i=>i.fieldTypeId===o.fieldTypeId));const e=!(s&&s.questionTextOptional);if(e&&!o.questionText){return false}if(o.isContainsOptionItems){const i=o.fieldProperties;if(!(i===null||i===void 0?void 0:i.lookupId)){if(!Array.isArray(i===null||i===void 0?void 0:i.items)||i.items.length===0){return false}const t=i.items.some((i=>!i.display||!i.value));if(t){return false}}}return true}render(){if(this.isError){return t("div",null," There is an Error With the Form Builder")}const i=this.isNewForm||this.isMostRecentFormVersion;return t("div",null,t("primary-action-header",{title:"UDP Form Builder",actionButtonLabel:i?this.isMostRecentFormVersion?`Create New Version (v.${this.version+1})`:"Create New Form":"",primaryActionClick:i?()=>this.submitForm():null,defaultActionButtons:i?[{label:"Style Overrides",clickHandler:this.toggleStyleSheet,tooltip:"Style Overrides",visible:false,icon:l("settings")}]:[],tabs:false}),t("udp-side-sheet",{open:this.isQuestionEditorOpen,onUdpSideSheetClose:()=>this.closeQuestionEditor(),onUdpPrimaryButtonClick:()=>{if(!this.hasUnsavedFormSectionsChanges()){return}this.updateFormSectionsWithDraft();this.closeQuestionEditor()},primaryButtonDisabled:!this.hasUnsavedFormSectionsChanges(),title:"Edit Question",position:"right",width:"md",primaryButtonLabel:"Update"},this.isQuestionEditorOpen&&t("div",{class:"question-editor-container"},t("question-configs-renderer",{formSectionsDraft:this.formSectionsDraft,sIndex:this.editingQuestion.sIndex,qIndex:this.editingQuestion.qIndex,isViewOnly:!i,onFormSectionsDraftChange:i=>this.formSectionsDraft=i,lookupOptions:this.lookupOptionsDataProcessed,formType:this.formMetadata.type,isFollowUpFormConfigOn:this.isFollowUpFormConfigOn,isCommentingConfigOn:this.isCommentingConfigOn}))),t("udp-side-sheet",{open:this.isSectionEditorOpen,onUdpSideSheetClose:()=>this.closeSectionEditor(),title:"Edit Section Fields",position:"right",width:"md",primaryButtonDisabled:!this.hasUnsavedFormSectionsChanges(),primaryButtonLabel:"Update",onUdpPrimaryButtonClick:()=>{if(!this.hasUnsavedFormSectionsChanges()){return}this.updateFormSectionsWithDraft();this.closeSectionEditor()}},this.isSectionEditorOpen&&t("div",{class:"section-editor-container"},t("section-configs-renderer",{formSectionsDraft:this.formSectionsDraft,sIndex:this.editingSection.sIndex,isViewOnly:!i,onFormSectionsDraftChange:i=>this.formSectionsDraft=i}))),t("fluent-dialog",{open:this.isDialogOpen,message:this.dialogMessage,labelOne:"Confirm",labelTwo:"Cancel",actionOne:()=>{if(typeof this.dialogAction==="function"){this.dialogAction()}},actionTwo:()=>this.isDialogOpen=false}),this.isLoading&&t("udp-linear-loader",null),!this.isLoading&&t("udp-container",{maxWidth:"lg"},t("div",{class:"udp-forms-page"},t("div",{class:"form-details-container"},t("div",{class:"form-details-name-container"},i?t("div",{class:"form-details-name-input"},t("text-field",{label:"Form Name",value:this.formMetadata.name,placeholder:"Form Name",disabled:!i,required:true,margin:"none",maxCharacter:128,onInput:i=>{this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{name:i.target.value})}})):t("div",{class:"form-details-name-display"},t("unity-typography",{variant:"h2"},this.formMetadata.name+" (View Only)"))),t("div",{class:"form-details-description-container"},i?t("div",{class:"form-details-details-input"},t("text-area",{label:"Form Description",value:this.formMetadata.description,placeholder:"Form Description",disabled:!i,required:false,margin:"none",maxCharacter:256,onInput:i=>{this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{description:i.target.value})}})):t("div",{class:"form-details-description-display"},t("unity-typography",null,this.formMetadata.description))),this.isFollowUpFormConfigOn&&(this.isNewForm?t("udp-selector",{label:"Form Type",key:"udo-form-type-selector",initialValue:this.formMetadata.type,options:this.formTypeOptions,disabled:!i||!this.isNewForm,required:true,onChange:i=>{this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{type:i.detail})}}):t("div",{class:"form-details-version-container"},t("unity-typography",null,"Form Type: ",m[this.formMetadata.type]))),t("div",{class:"form-details-version-container"},t("unity-typography",null,"Version: ",this.formMetadata.version)),this.isPublicFormConfigOn&&t("div",{class:"form-details-private-container"},t("div",{class:"toggle-container"},t("stencil-toggle",{label:"Private Form",margin:"none",disabled:!i,checked:this.formMetadata.isPrivate===true,labelPosition:"right",onToggledChange:()=>{let i=!this.formMetadata.isPrivate;this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{isPrivate:i})}})))),i&&t("div",{class:"add-question-button-container"},t("udp-button",{startIcon:t("udp-icon",{iconName:"add",color:"inherit"}),onClick:()=>{const i=this.formSections.length;const t=r(this.formSections);t.push(Object.assign(Object.assign({},a),{order:i+1,title:`Section ${i+1}`}));this.formSections=t}},"Add a Section")),this.formSections.map(((o,s)=>{var e,c;return t("div",{key:s,class:"form-section"},t("div",{class:"form-section-header"},t("div",{class:"form-section-header-title"},t("unity-typography",{variant:"h6",color:"inherit"},o.title)),i&&t("div",{class:"form-section-header-actions"},s>0&&t("stencil-icon-button",{icon:l("arrowUp"),tooltip:"Move Section Up",onClick:()=>{this.handleSectionMoveUp(s)}}),s<this.formSections.length-1&&t("stencil-icon-button",{icon:l("arrowDown"),tooltip:"Move Section Down",onClick:()=>{this.handleSectionMoveDown(s)}}),t("stencil-icon-button",{icon:l("edit"),tooltip:`Edit Section Fields`,onClick:()=>this.handleSectionEditClick(s)}),t("stencil-icon-button",{icon:l("trashCan"),tooltip:"Delete Section",onClick:i=>{i.stopPropagation();this.dialogMessage="Are you sure you want to delete this section?";this.dialogAction=()=>{this.handleSectionDelete(s);this.isDialogOpen=false};this.isDialogOpen=true}}))),t("div",{class:"form-section-questions-container"},(this.isNewForm||this.isMostRecentFormVersion)&&this.showMenuAtIndex&&this.showMenuAtIndex.sIndex===s&&this.showMenuAtIndex.qIndex===0&&t("udp-forms-builder-menu",{isVisible:true,questionsTemplate:n,onAddSection:()=>{const i=this.formSections.length;const t=r(this.formSections);t.push(Object.assign(Object.assign({},a),{order:i,title:`Section ${i+1}`}));this.formSections=t;this.showMenuAtIndex={sIndex:i,qIndex:0}},onAddQuestion:i=>{const t=this.showMenuAtIndex?this.addQuestionOfType(i.detail,this.showMenuAtIndex.sIndex,this.showMenuAtIndex.qIndex):this.addQuestionOfType(i.detail);this.editingQuestion=Object.assign({},t);this.isQuestionEditorOpen=true},onCancelClick:()=>this.showMenuAtIndex=null}),t("div",{class:"form-section-questions-draggable-container",id:`section-${s}`},o.formQuestions.map(((o,e)=>t("udp-forms-builder-question-item",{key:o.id,iconName:o.icon,primaryText:`${o.questionText}`,secondaryText:o.helperText?o.helperText:null,avatarBackgroundColor:this.validateQuestionItem(s,e)?"info":"warning"},t("stencil-chip",{slot:"status-chip",text:"Required",showDelete:false,clickable:false,hidden:!o.required}),i&&t("div",{slot:"drag-and-drop"},t("div",{class:"form-question-drag-handle"},t("div",{class:"drag-wrapper"},t("stencil-icon-button",{icon:l("draggable"),tooltip:"Move Question",noBackground:true})))),t("div",{slot:"actions"},i?t("fragment",null,t("stencil-icon-button",{icon:l("edit"),tooltip:"Edit Question Details",onClick:i=>{i.stopPropagation();this.handleQuestionClick(s,e)},noBackground:true}),t("stencil-icon-button",{icon:l("copy"),tooltip:"Duplicate Question",onClick:i=>{i.stopPropagation();this.handleQuestionCopy(s,e)},noBackground:true}),t("stencil-icon-button",{icon:l("trashCan"),tooltip:"Delete Question",onClick:i=>{i.stopPropagation();this.dialogMessage="Are you sure you want to delete this question?";this.dialogAction=()=>{this.handleQuestionDelete(s,e);this.isDialogOpen=false};this.isDialogOpen=true},noBackground:true})):t("stencil-icon-button",{icon:l("view"),tooltip:"View Question Details",onClick:i=>{i.stopPropagation();this.handleQuestionClick(s,e)},noBackground:true})))))),i&&!this.showMenuAtIndex&&t("div",{class:"add-question-to-section-button-container"},t("udp-button",{variant:"text",onClick:()=>{this.showMenuAtIndex={sIndex:s,qIndex:o.formQuestions.length}},startIcon:t("udp-icon",{iconName:"add",color:"inherit"})},"Add a Question")),i&&((e=this.showMenuAtIndex)===null||e===void 0?void 0:e.sIndex)===s&&((c=this.showMenuAtIndex)===null||c===void 0?void 0:c.qIndex)===o.formQuestions.length&&o.formQuestions.length>0&&t("udp-forms-builder-menu",{isVisible:true,questionsTemplate:n,onAddSection:()=>{const i=r(this.formSections);i.splice(s+1,0,[]);this.formSections=i;this.showMenuAtIndex=null},onAddQuestion:i=>{if(this.showMenuAtIndex){const t=this.addQuestionOfType(i.detail,this.showMenuAtIndex.sIndex,this.showMenuAtIndex.qIndex);this.editingQuestion=Object.assign({},t);this.isQuestionEditorOpen=true}},onCancelClick:()=>this.showMenuAtIndex=null})))})))))}get hostEl(){return o(this)}static get watchers(){return{formId:["onFormIdOrVersionChange"],version:["onFormIdOrVersionChange"]}}};v.style=b;export{v as udp_forms_builder};
1
+ import{r as i,h as t,a as o}from"./index-CaZq3YdB.js";import{m as s}from"./makeApiCall-B-daVutk.js";import{f as e,q as n,d as r,a,s as c}from"./udp-forms-builder-question-template-BsYOju9V.js";import{g as l}from"./iconUtils-DcPvHO4A.js";import{g as h}from"./tenantUtils-Basdb1b1.js";import d from"sortablejs";import{v4 as u}from"uuid";import{U as p,a as m}from"./enums-D5dod6Ie.js";import{C as f}from"./configService-BqLfkVKh.js";import"axios";import"./iconMapping-CPerGeNF.js";import"@carbon/icons/es/add/16";import"@carbon/icons/es/add/32";import"@carbon/icons/es/add--alt/16";import"@carbon/icons/es/add--filled/16";import"@carbon/icons/es/arrows--horizontal/16";import"@carbon/icons/es/attachment/16";import"@carbon/icons/es/batch-job/16";import"@carbon/icons/es/box/16";import"@carbon/icons/es/close/16";import"@carbon/icons/es/close/24";import"@carbon/icons/es/close/32";import"@carbon/icons/es/close--filled/16";import"@carbon/icons/es/close--outline/16";import"@carbon/icons/es/checkmark/16";import"@carbon/icons/es/checkmark/24";import"@carbon/icons/es/checkmark/32";import"@carbon/icons/es/chevron--left/16";import"@carbon/icons/es/chevron--right/16";import"@carbon/icons/es/chevron--down/16";import"@carbon/icons/es/data-enrichment/16";import"@carbon/icons/es/document/16";import"@carbon/icons/es/document--add/16";import"@carbon/icons/es/document--attachment/16";import"@carbon/icons/es/document--pdf/16";import"@carbon/icons/es/document--video/16";import"@carbon/icons/es/document--audio/16";import"@carbon/icons/es/draggable/16";import"@carbon/icons/es/edit/16";import"@carbon/icons/es/export/16";import"@carbon/icons/es/flag/16";import"@carbon/icons/es/information/16";import"@carbon/icons/es/information/32";import"@carbon/icons/es/link/16";import"@carbon/icons/es/overflow-menu--vertical/16";import"@carbon/icons/es/overflow-menu--vertical/32";import"@carbon/icons/es/return/16";import"@carbon/icons/es/save/16";import"@carbon/icons/es/settings/16";import"@carbon/icons/es/subtract/16";import"@carbon/icons/es/subtract--alt/16";import"@carbon/icons/es/subtract--filled/16";import"@carbon/icons/es/trash-can/16";import"@carbon/icons/es/user/16";import"@carbon/icons/es/view/16";import"@carbon/icons/es/warning/16";import"@carbon/icons/es/warning/32";import"@carbon/icons/es/warning--alt/16";import"@carbon/icons/es/warning--alt/32";import"@carbon/icons/es/product/16";import"@carbon/icons/es/workspace/16";import"@carbon/icons/es/arrow--up/16";import"@carbon/icons/es/arrow--down/16";import"@carbon/icons/es/arrow--right/16";import"@carbon/icons/es/arrow--left/16";import"@carbon/icons/es/copy/16";import"@carbon/icons/es/star/16";import"@carbon/icons/es/data-table/16";import"@carbon/icons/es/fit-to-width/16";import"@carbon/icons/es/search--advanced/16";import"@carbon/icons/es/reset/16";import"@carbon/icons/es/column/16";import"@carbon/icons/es/column--delete/16";import"@carbon/icons/es/watson-health/rotate--360/16";import"@carbon/icons/es/filter/16";import"@carbon/icons/es/app-connectivity/16";import"@carbon/icons/es/text--font/16";import"@carbon/icons/es/text--long-paragraph/16";import"@carbon/icons/es/character--whole-number/16";import"@carbon/icons/es/checkbox--checked/16";import"@carbon/icons/es/radio-button--checked/16";import"@carbon/icons/es/event--schedule/16";import"@carbon/icons/es/view--off/16";import"@carbon/icons/es/time/16";import"@carbon/icons/es/calendar/16";import"@carbon/icons/es/list--checked/16";import"@carbon/icons/es/list--bulleted/16";import"@carbon/icons/es/cloud--upload/16";import"@carbon/icons/es/locked/16";import"@carbon/icons/es/pause/16";import"@carbon/icons/es/unlocked/16";import"@carbon/icons/es/send/16";import"@carbon/icons/es/email/16";import"@carbon/icons/es/checkmark--outline/16";import"@carbon/icons/es/migrate--alt/16";import"@carbon/icons/es/checkbox--checked--filled/16";import"@carbon/icons/es/checkbox/16";import"@carbon/icons/es/ZIP/16";import"@carbon/icons/es/image/16";import"@carbon/icons/es/PPT/16";import"@carbon/icons/es/XLS/16";const b=":host{display:block;--udp-form-primary-color:#007bff;--udp-form-spacing-unit:16px}.udp-forms-page{display:flex;flex-direction:column;gap:var(--spacing-06, 32px);padding:var(--spacing-06, 32px);padding-bottom:var(--spacing-12)}.form-section-questions-container{display:flex;flex-direction:column}.form-details-container{display:flex;flex-direction:column;padding:var(--spacing-05, 24px);background-color:var(--card-background-color, white)}.form-details-version-container{margin-bottom:var(--spacing-05)}.udp-form-builder-field-container,.udp-forms-builder-item-generic-configs,.udp-forms-builder-item-specific-configs{display:flex;flex-direction:column;gap:var(--spacing-04, 16px)}.form-section{}.form-section-header{display:flex;flex-direction:row;justify-content:space-between;background-color:var(--primary-color-dark, #000);color:var(--primary-contrast-text, #FFF);padding:var(--spacing-04, 16px) var(--spacing-05, 24px);align-items:center}.add-question-button-container{display:flex;justify-content:center;align-items:center}.question-editor-container{padding:var(--spacing-05, 24px);display:flex;flex-direction:column;gap:var(--spacing-05, 24px)}.add-question-to-section-button-container{padding:var(--spacing-02, 8px) 0;margin:auto}.sortable-ghost{opacity:0.5;transform:scale(0.98);background:#f4f4f4;border:1px dashed #ccc}.sortable-chosen{background:#eef6ff;box-shadow:0 0 4px 2px rgba(51, 153, 255, 0.3)}.form-question-drag-handle{transform:rotate(90deg);cursor:grab}.form-question-drag-handle:active{cursor:grabbing}.form-question-drag-handle .drag-wrapper{cursor:inherit}.form-question-drag-handle stencil-icon-button{pointer-events:none;}";var g=undefined&&undefined.__rest||function(i,t){var o={};for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)&&t.indexOf(s)<0)o[s]=i[s];if(i!=null&&typeof Object.getOwnPropertySymbols==="function")for(var e=0,s=Object.getOwnPropertySymbols(i);e<s.length;e++){if(t.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(i,s[e]))o[s[e]]=i[s[e]]}return o};const v=class{constructor(t){i(this,t);this.isFollowUpFormConfigOn=false;this.isPublicFormConfigOn=false;this.isCommentingConfigOn=true;this.formsBuilderUrlPath="";this.formMetadata=e;this.formSections=[];this.formSectionsDraft=[];this.isNewForm=true;this.isMostRecentFormVersion=false;this.isError=false;this.isLoading=false;this.isShowStyleOverrides=false;this.isStyleSheetOpen=false;this.isDialogOpen=false;this.showMenuAtIndex=null;this.editingQuestion=null;this.editingSection=null;this.isQuestionEditorOpen=false;this.isSectionEditorOpen=false;this.lookupOptionsDataProcessed=[];this.dialogAction=null;this.dialogMessage="Are you sure you want to delete this?";this.sortableInstances=[];this.formsBuilderPageId=p.FormBuilderPageId;this.formTypeOptions=Object.keys(m).filter((i=>isNaN(Number(i)))).map((i=>({value:String(m[i]),label:i})));this.toggleStyleSheet=()=>{this.isStyleSheetOpen=!this.isStyleSheetOpen};this.getQuestionTypeName=i=>{const t=n.find((t=>t.fieldTypeId===i));return t?t.questionTypeName:"Unknown"};this.getIsContainsOptionItems=i=>{const t=n.find((t=>t.fieldTypeId===i));return t?t.isContainsOptionItems||false:false};this.getIconForQuestion=i=>{const t=n.find((t=>t.fieldTypeId===i));return t?t.icon:null};this.handleQuestionDelete=(i,t)=>{const o=r(this.formSections);o[i].formQuestions.splice(t,1);this.formSections=o};this.handleQuestionCopy=(i,t)=>{const o=r(this.formSections);const s=this.formSections[i].formQuestions[t];const e=Object.assign(Object.assign({},s),{questionText:(s.questionText||"")+" (Copy)",id:u()});o[i].formQuestions.splice(t+1,0,e);this.formSections=o};this.handleQuestionClick=(i,t)=>{this.editingQuestion={sIndex:i,qIndex:t};this.isQuestionEditorOpen=true;this.formSectionsDraft=r(this.formSections)};this.closeQuestionEditor=()=>{this.isQuestionEditorOpen=false;this.editingQuestion=null;this.formSectionsDraft=null};this.addQuestionOfType=(i,t,o)=>{const s={questionTypeName:i.questionTypeName,fieldTypeId:i.fieldTypeId,fieldProperties:i.defaultFieldProperties,helperText:"",questionText:"",section:t!==undefined?t+1:this.formSections.length>0?this.formSections[this.formSections.length-1].formQuestions[0].section:1,isContainsOptionItems:i.isContainsOptionItems,icon:i.icon,required:false,form:null,isPrivate:true,id:u()};const e=r(this.formSections);let n=t;let c=o;if(t!==undefined&&o!==undefined){if(e[t].formQuestions){e[t].formQuestions.splice(o,0,s)}else{const i=e.length-1;e[i].formQuestions.push(s);n=i;c=e[i].formQuestions.length-1}}else{const i=e.length-1;if(i<0||e[i].formQuestions.length===0){e.push(Object.assign(Object.assign({},a),{formQuestions:[s]}));n=e.length-1;c=0}else{e[i].formQuestions.push(s);n=i;c=e[i].formQuestions.length-1}}this.formSectionsDraft=e;if(this.showMenuAtIndex)this.showMenuAtIndex=null;return{sIndex:n,qIndex:c}};this.handleSectionMoveDown=i=>{if(i>=this.formSections.length-1)return;const t=[...this.formSections];[t[i],t[i+1]]=[t[i+1],t[i]];this.formSections=t};this.handleSectionMoveUp=i=>{if(i<=0)return;const t=[...this.formSections];[t[i],t[i-1]]=[t[i-1],t[i]];this.formSections=t};this.handleSectionDelete=i=>{const t=[...this.formSections];t.splice(i,1);this.formSections=t};this.updateFormSectionsWithDraft=()=>{this.formSections=this.formSectionsDraft;this.formSectionsDraft=null};this.hasUnsavedFormSectionsChanges=()=>JSON.stringify(this.formSections)!==JSON.stringify(this.formSectionsDraft);this.handleSectionEditClick=i=>{this.editingSection={sIndex:i};this.isSectionEditorOpen=true;this.formSectionsDraft=r(this.formSections)};this.closeSectionEditor=()=>{this.isSectionEditorOpen=false;this.editingSection=null;this.formSectionsDraft=null}}async initializeForm(){this.formMetadata.isPrivate=e.isPrivate;this.formMetadata.tenantId=h();this.formMetadata.type=e.type;this.formMetadata.version=e.version;this.formMetadata.name=e.name;this.formMetadata.description=e.description;this.formMetadata.styleOverrides=c;try{this.isLoading=true;const i=await s("GET",f.productV1ApiUrl+"/UdpLookup");if(!i){throw new Error(`Error fetching lookup data`)}this.lookupOptionsDataProcessed=i.map((i=>Object.assign(Object.assign({},i),{value:i.id,label:i.name})));if(this.formId&&this.version){const i=await s("GET",`${f.productV1ApiUrl}/UdpForm/${this.formId}/${this.version}/describe`);const t=await s("GET",`${f.productV1ApiUrl}/UdpForm/${this.formId}/describe`);this.isNewForm=false;if(!i||!t||!i.id||!t){throw new Error(`Error fetching form data`)}if(i.id==t.id&&i.version==t.version){this.isMostRecentFormVersion=true}const o=structuredClone(i.udpFormUdpFormSection).map((i=>Object.assign(Object.assign({},i),{formQuestions:[]})));o.forEach((i=>{if(!i.sectionProperties){i.sectionProperties={}}else{i.sectionProperties=JSON.parse(i.sectionProperties)}}));i.formQuestions.forEach((i=>{const t=o.find((t=>t.id===i.formSectionId));if(t){const o=Object.assign({},i.fieldProperties);if("lookupId"in o&&"items"in o){delete o.items}t.formQuestions.push(Object.assign(Object.assign({},i),{fieldProperties:o,questionTypeName:this.getQuestionTypeName(i.fieldTypeId),isContainsOptionItems:this.getIsContainsOptionItems(i.fieldTypeId),icon:this.getIconForQuestion(i.fieldTypeId)}))}}));o.forEach((i=>{i.formQuestions.sort(((i,t)=>i.questionOrder-t.questionOrder))}));o.sort(((i,t)=>i.order-t.order));const e=g(i,[]);e.styleOverrides=this.deepMerge(c,JSON.parse(e.styleOverrides)||{});this.formMetadata=e;this.formSections=o;this.isLoading=false}}catch(i){this.isError=true;this.enqueueSnackbar("Error loading form data",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}})}finally{this.isLoading=false}}async submitForm(){if(!this.isValidForm()){return}this.isLoading=true;try{const i={name:this.formMetadata.name,description:this.formMetadata.description,tenantId:this.formMetadata.tenantId,isPrivate:this.formMetadata.isPrivate,type:this.formMetadata.type,styleOverrides:JSON.stringify(this.formMetadata.styleOverrides),id:this.formMetadata.id,version:this.formMetadata.version};const t=`${f.productV1ApiUrl}/UdpForm${this.isMostRecentFormVersion?"/versions":""}`;const o=await s("POST",t,i);const e=o.id;const n=o.version;if(!o||!o.id||!o.version){throw new Error(`Invalid form response: ${JSON.stringify(o)}`)}let r=0;let a=0;const c=[];for(const[i,t]of this.formSections.entries()){r+=1;const o=Object.assign(Object.assign({},t),{formId:e,formVersion:n,order:r,sectionProperties:JSON.stringify(t.sectionProperties),name:`section${r}`});const l=await s("POST",`${f.productV1ApiUrl}/UdpFormSection`,o);if(!l||!l.id){throw new Error(`Invalid section response: ${JSON.stringify(l)}`)}const h=l.id;for(const o of t.formQuestions){a+=1;const t=Object.assign(Object.assign({},o),{formId:e,formVersion:n,section:i+1,questionOrder:a,formSectionId:h,name:`question${a}`});const r=s("POST",`${f.productV1ApiUrl}/UdpFormQuestion`,t);c.push(r)}}await Promise.all(c);this.enqueueSnackbar("Success",{variant:"success",anchorOrigin:{vertical:"top",horizontal:"center"}});if(this.formsBuilderUrlPath){this.history.push(`${this.formsBuilderUrlPath}&udpf_formId=${e}&udpf_version=${n}`);return}this.history.push(`/page/${this.formsBuilderPageId}?udpf_formId=${e}&udpf_version=${n}`)}catch(i){console.error("Form submission error:",i);this.enqueueSnackbar("Error saving form",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}})}finally{this.isLoading=false}}componentDidLoad(){this.initializeSortable()}componentDidUpdate(){this.initializeSortable()}componentWillLoad(){this.initializeForm()}onFormIdOrVersionChange(){this.initializeForm()}initializeSortable(){if(!(this.isNewForm||this.isMostRecentFormVersion)){return}this.sortableInstances.forEach((i=>i.destroy()));this.sortableInstances=[];this.formSections.forEach(((i,t)=>{const o=this.hostEl.shadowRoot.querySelector(`#section-${t}`);if(o){const i=new d(o,{animation:200,easing:"cubic-bezier(0.25, 1, 0.5, 1)",draggable:"udp-forms-builder-question-item",handle:".form-question-drag-handle",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",direction:"vertical",forceFallback:false,dragoverBubble:false,swapThreshold:.6,onEnd:i=>this.handleDragEnd(i,t)});this.sortableInstances.push(i)}}))}handleDragEnd(i,t){const o=i.oldIndex;const s=i.newIndex;if(o===s||o==null||s==null)return;const e=structuredClone(this.formSections[t]);const[n]=e.formQuestions.splice(o,1);e.formQuestions.splice(s,0,n);const a=r(this.formSections);a[t]=e;this.formSections=a}deepMerge(i,t){const o=Object.assign({},i);for(const s in t){if(t[s]&&typeof t[s]==="object"&&!Array.isArray(t[s])){o[s]=this.deepMerge(i[s]||{},t[s])}else{o[s]=t[s]}}return o}isValidForm(){return this.validateFormMetadata()&&this.validateFormSections()&&this.validateAllQuestions()}validateFormMetadata(){var i;if(!((i=this.formMetadata.name)===null||i===void 0?void 0:i.trim())){this.enqueueSnackbar("Please enter a form name.",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}return true}validateFormSections(){if(this.formSections.length<1){this.enqueueSnackbar("Please add at least one section to the form.",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}for(let i=0;i<this.formSections.length;i++){const t=this.formSections[i];const o=(t===null||t===void 0?void 0:t.formQuestions)||[];if(o.length<1){const o=(t===null||t===void 0?void 0:t.title)?`"${t.title}"`:`#${i+1}`;this.enqueueSnackbar(`Section ${o} must contain at least one question.`,{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}}return true}validateAllQuestions(){for(let i=0;i<this.formSections.length;i++){const t=this.formSections[i];const o=(t===null||t===void 0?void 0:t.formQuestions)||[];for(let t=0;t<o.length;t++){const o=this.validateQuestionItem(i,t);if(!o){this.enqueueSnackbar("Please validate all questions.",{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}});return false}}}return true}validateQuestionItem(i,t){const o=this.formSections[i].formQuestions[t];const s=n.find((i=>i.fieldTypeId===o.fieldTypeId));const e=!(s&&s.questionTextOptional);if(e&&!o.questionText){return false}if(o.isContainsOptionItems){const i=o.fieldProperties;if(!(i===null||i===void 0?void 0:i.lookupId)){if(!Array.isArray(i===null||i===void 0?void 0:i.items)||i.items.length===0){return false}const t=i.items.some((i=>!i.display||!i.value));if(t){return false}}}return true}render(){if(this.isError){return t("div",null," There is an Error With the Form Builder")}const i=this.isNewForm||this.isMostRecentFormVersion;return t("div",null,t("primary-action-header",{title:"UDP Form Builder",actionButtonLabel:i?this.isMostRecentFormVersion?`Create New Version (v.${this.version+1})`:"Create New Form":"",primaryActionClick:i?()=>this.submitForm():null,defaultActionButtons:i?[{label:"Style Overrides",clickHandler:this.toggleStyleSheet,tooltip:"Style Overrides",visible:false,icon:l("settings")}]:[],tabs:false}),t("udp-side-sheet",{open:this.isQuestionEditorOpen,onUdpSideSheetClose:()=>this.closeQuestionEditor(),onUdpPrimaryButtonClick:()=>{if(!this.hasUnsavedFormSectionsChanges()){return}this.updateFormSectionsWithDraft();this.closeQuestionEditor()},primaryButtonDisabled:!this.hasUnsavedFormSectionsChanges(),title:"Edit Question",position:"right",width:"md",primaryButtonLabel:"Update"},this.isQuestionEditorOpen&&t("div",{class:"question-editor-container"},t("question-configs-renderer",{formSectionsDraft:this.formSectionsDraft,sIndex:this.editingQuestion.sIndex,qIndex:this.editingQuestion.qIndex,isViewOnly:!i,onFormSectionsDraftChange:i=>this.formSectionsDraft=i,lookupOptions:this.lookupOptionsDataProcessed,formType:this.formMetadata.type,isFollowUpFormConfigOn:this.isFollowUpFormConfigOn,isCommentingConfigOn:this.isCommentingConfigOn}))),t("udp-side-sheet",{open:this.isSectionEditorOpen,onUdpSideSheetClose:()=>this.closeSectionEditor(),title:"Edit Section Fields",position:"right",width:"md",primaryButtonDisabled:!this.hasUnsavedFormSectionsChanges(),primaryButtonLabel:"Update",onUdpPrimaryButtonClick:()=>{if(!this.hasUnsavedFormSectionsChanges()){return}this.updateFormSectionsWithDraft();this.closeSectionEditor()}},this.isSectionEditorOpen&&t("div",{class:"section-editor-container"},t("section-configs-renderer",{formSectionsDraft:this.formSectionsDraft,sIndex:this.editingSection.sIndex,isViewOnly:!i,onFormSectionsDraftChange:i=>this.formSectionsDraft=i}))),t("fluent-dialog",{open:this.isDialogOpen,message:this.dialogMessage,labelOne:"Confirm",labelTwo:"Cancel",actionOne:()=>{if(typeof this.dialogAction==="function"){this.dialogAction()}},actionTwo:()=>this.isDialogOpen=false}),this.isLoading&&t("udp-linear-loader",null),!this.isLoading&&t("udp-container",{maxWidth:"lg"},t("div",{class:"udp-forms-page"},t("div",{class:"form-details-container"},t("div",{class:"form-details-name-container"},i?t("div",{class:"form-details-name-input"},t("text-field",{label:"Form Name",value:this.formMetadata.name,placeholder:"Form Name",disabled:!i,required:true,margin:"none",maxCharacter:128,onInput:i=>{this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{name:i.target.value})}})):t("div",{class:"form-details-name-display"},t("unity-typography",{variant:"h2"},this.formMetadata.name+" (View Only)"))),t("div",{class:"form-details-description-container"},i?t("div",{class:"form-details-details-input"},t("text-area",{label:"Form Description",value:this.formMetadata.description,placeholder:"Form Description",disabled:!i,required:false,margin:"none",maxCharacter:256,onInput:i=>{this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{description:i.target.value})}})):t("div",{class:"form-details-description-display"},t("unity-typography",null,this.formMetadata.description))),this.isFollowUpFormConfigOn&&(this.isNewForm?t("udp-selector",{label:"Form Type",key:"udo-form-type-selector",initialValue:this.formMetadata.type,options:this.formTypeOptions,disabled:!i||!this.isNewForm,required:true,onChange:i=>{this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{type:i.detail})}}):t("div",{class:"form-details-version-container"},t("unity-typography",null,"Form Type: ",m[this.formMetadata.type]))),t("div",{class:"form-details-version-container"},t("unity-typography",null,"Version: ",this.formMetadata.version)),this.isPublicFormConfigOn&&t("div",{class:"form-details-private-container"},t("div",{class:"toggle-container"},t("stencil-toggle",{label:"Private Form",margin:"none",disabled:!i,checked:this.formMetadata.isPrivate===true,labelPosition:"right",onToggledChange:()=>{let i=!this.formMetadata.isPrivate;this.formMetadata=Object.assign(Object.assign({},this.formMetadata),{isPrivate:i})}})))),i&&t("div",{class:"add-question-button-container"},t("udp-button",{startIcon:t("udp-icon",{iconName:"add",color:"inherit"}),onClick:()=>{const i=this.formSections.length;const t=r(this.formSections);t.push(Object.assign(Object.assign({},a),{order:i+1,title:`Section ${i+1}`}));this.formSections=t}},"Add a Section")),this.formSections.map(((o,s)=>{var e,c;return t("div",{key:s,class:"form-section"},t("div",{class:"form-section-header"},t("div",{class:"form-section-header-title"},t("unity-typography",{variant:"h6",color:"inherit"},o.title)),i&&t("div",{class:"form-section-header-actions"},s>0&&t("stencil-icon-button",{icon:l("arrowUp"),tooltip:"Move Section Up",onClick:()=>{this.handleSectionMoveUp(s)}}),s<this.formSections.length-1&&t("stencil-icon-button",{icon:l("arrowDown"),tooltip:"Move Section Down",onClick:()=>{this.handleSectionMoveDown(s)}}),t("stencil-icon-button",{icon:l("edit"),tooltip:`Edit Section Fields`,onClick:()=>this.handleSectionEditClick(s)}),t("stencil-icon-button",{icon:l("trashCan"),tooltip:"Delete Section",onClick:i=>{i.stopPropagation();this.dialogMessage="Are you sure you want to delete this section?";this.dialogAction=()=>{this.handleSectionDelete(s);this.isDialogOpen=false};this.isDialogOpen=true}}))),t("div",{class:"form-section-questions-container"},(this.isNewForm||this.isMostRecentFormVersion)&&this.showMenuAtIndex&&this.showMenuAtIndex.sIndex===s&&this.showMenuAtIndex.qIndex===0&&t("udp-forms-builder-menu",{isVisible:true,questionsTemplate:n,onAddSection:()=>{const i=this.formSections.length;const t=r(this.formSections);t.push(Object.assign(Object.assign({},a),{order:i,title:`Section ${i+1}`}));this.formSections=t;this.showMenuAtIndex={sIndex:i,qIndex:0}},onAddQuestion:i=>{const t=this.showMenuAtIndex?this.addQuestionOfType(i.detail,this.showMenuAtIndex.sIndex,this.showMenuAtIndex.qIndex):this.addQuestionOfType(i.detail);this.editingQuestion=Object.assign({},t);this.isQuestionEditorOpen=true},onCancelClick:()=>this.showMenuAtIndex=null}),t("div",{class:"form-section-questions-draggable-container",id:`section-${s}`},o.formQuestions.map(((o,e)=>t("udp-forms-builder-question-item",{key:o.id,iconName:o.icon,primaryText:`${o.questionText}`,secondaryText:o.helperText?o.helperText:null,avatarBackgroundColor:this.validateQuestionItem(s,e)?"info":"warning"},t("stencil-chip",{slot:"status-chip",text:"Required",showDelete:false,clickable:false,hidden:!o.required}),i&&t("div",{slot:"drag-and-drop"},t("div",{class:"form-question-drag-handle"},t("div",{class:"drag-wrapper"},t("stencil-icon-button",{icon:l("draggable"),tooltip:"Move Question",noBackground:true})))),t("div",{slot:"actions"},i?t("fragment",null,t("stencil-icon-button",{icon:l("edit"),tooltip:"Edit Question Details",onClick:i=>{i.stopPropagation();this.handleQuestionClick(s,e)},noBackground:true}),t("stencil-icon-button",{icon:l("copy"),tooltip:"Duplicate Question",onClick:i=>{i.stopPropagation();this.handleQuestionCopy(s,e)},noBackground:true}),t("stencil-icon-button",{icon:l("trashCan"),tooltip:"Delete Question",onClick:i=>{i.stopPropagation();this.dialogMessage="Are you sure you want to delete this question?";this.dialogAction=()=>{this.handleQuestionDelete(s,e);this.isDialogOpen=false};this.isDialogOpen=true},noBackground:true})):t("stencil-icon-button",{icon:l("view"),tooltip:"View Question Details",onClick:i=>{i.stopPropagation();this.handleQuestionClick(s,e)},noBackground:true})))))),i&&!this.showMenuAtIndex&&t("div",{class:"add-question-to-section-button-container"},t("udp-button",{variant:"text",onClick:()=>{this.showMenuAtIndex={sIndex:s,qIndex:o.formQuestions.length}},startIcon:t("udp-icon",{iconName:"add",color:"inherit"})},"Add a Question")),i&&((e=this.showMenuAtIndex)===null||e===void 0?void 0:e.sIndex)===s&&((c=this.showMenuAtIndex)===null||c===void 0?void 0:c.qIndex)===o.formQuestions.length&&o.formQuestions.length>0&&t("udp-forms-builder-menu",{isVisible:true,questionsTemplate:n,onAddSection:()=>{const i=r(this.formSections);i.splice(s+1,0,[]);this.formSections=i;this.showMenuAtIndex=null},onAddQuestion:i=>{if(this.showMenuAtIndex){const t=this.addQuestionOfType(i.detail,this.showMenuAtIndex.sIndex,this.showMenuAtIndex.qIndex);this.editingQuestion=Object.assign({},t);this.isQuestionEditorOpen=true}},onCancelClick:()=>this.showMenuAtIndex=null})))})))))}get hostEl(){return o(this)}static get watchers(){return{formId:["onFormIdOrVersionChange"],version:["onFormIdOrVersionChange"]}}};v.style=b;export{v as udp_forms_builder};
2
2
  //# sourceMappingURL=udp-forms-builder.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,F as a}from"./index-CaZq3YdB.js";import{a as d}from"./enums-DHT5wSnX.js";const r=class{constructor(e){t(this,e)}render(){const t=e(a,{key:"0148fa047cd997bc9cff28cd98833074e8dc8f64"},e("unity-typography",{key:"e6d1704c0d97d94253cfda377818114234bd46c9",variant:"body1",color:"textSecondary"},"Version: ",this.listItemData.version),e("unity-typography",{key:"f6e98358257ddf8596abfdb100f5a633c063752a",variant:"body1",color:"textSecondary"},"Form Type: ",d[this.listItemData.type]));return e("udp-card",{key:"6a5285ec5d718bb09965e61621544e81b900e9eb",cardTitle:this.listItemData.name,subheader:this.listItemData.description,onTitleClick:()=>this.handleLaunchFollowUpForm(),disableContentPadding:true,adornmentStatus:"info"},t)}};export{r as udp_forms_follow_up_list_card};
1
+ import{r as e,h as t,F as d}from"./index-CaZq3YdB.js";import{a}from"./enums-D5dod6Ie.js";const o=class{constructor(t){e(this,t)}render(){const e=t(d,{key:"0148fa047cd997bc9cff28cd98833074e8dc8f64"},t("unity-typography",{key:"e6d1704c0d97d94253cfda377818114234bd46c9",variant:"body1",color:"textSecondary"},"Version: ",this.listItemData.version),t("unity-typography",{key:"f6e98358257ddf8596abfdb100f5a633c063752a",variant:"body1",color:"textSecondary"},"Form Type: ",a[this.listItemData.type]));return t("udp-card",{key:"6a5285ec5d718bb09965e61621544e81b900e9eb",cardTitle:this.listItemData.name,subheader:this.listItemData.description,onTitleClick:()=>this.handleLaunchFollowUpForm(),disableContentPadding:true,adornmentStatus:"info"},e)}};export{o as udp_forms_follow_up_list_card};
2
2
  //# sourceMappingURL=udp-forms-follow-up-list-card.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","h","Fragment","UdpFormsTypeEnum","UdpFormsFollowUpListCard","constructor","hostRef","this","render","contentJsx","key","variant","color","listItemData","version","type","cardTitle","name","subheader","description","onTitleClick","handleLaunchFollowUpForm","disableContentPadding","adornmentStatus"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,MAAgB,kCAC1CC,MAAwB,sBAEtC,MAAMC,EAA2B,MAC7B,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,EAC3B,CACA,MAAAE,GACI,MAAMC,EAAcR,EAAEC,EAAU,CAAEQ,IAAK,4CAA8CT,EAAE,mBAAoB,CAAES,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,YAAaL,KAAKM,aAAaC,SAAUb,EAAE,mBAAoB,CAAES,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,cAAeT,EAAiBI,KAAKM,aAAaE,QAC1Z,OAAQd,EAAE,WAAY,CAAES,IAAK,2CAA4CM,UAAWT,KAAKM,aAAaI,KAAMC,UAAWX,KAAKM,aAAaM,YAAaC,aAAc,IAAMb,KAAKc,2BAA4BC,sBAAuB,KAAMC,gBAAiB,QAAUd,EACvQ,UAGKL","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","h","Fragment","UdpFormsTypeEnum","UdpFormsFollowUpListCard","constructor","hostRef","this","render","contentJsx","key","variant","color","listItemData","version","type","cardTitle","name","subheader","description","onTitleClick","handleLaunchFollowUpForm","disableContentPadding","adornmentStatus"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,MAAgB,6BAC1CC,MAAwB,sBAEtC,MAAMC,EAA2B,MAC7B,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,EAC3B,CACA,MAAAE,GACI,MAAMC,EAAcR,EAAEC,EAAU,CAAEQ,IAAK,4CAA8CT,EAAE,mBAAoB,CAAES,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,YAAaL,KAAKM,aAAaC,SAAUb,EAAE,mBAAoB,CAAES,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,cAAeT,EAAiBI,KAAKM,aAAaE,QAC1Z,OAAQd,EAAE,WAAY,CAAES,IAAK,2CAA4CM,UAAWT,KAAKM,aAAaI,KAAMC,UAAWX,KAAKM,aAAaM,YAAaC,aAAc,IAAMb,KAAKc,2BAA4BC,sBAAuB,KAAMC,gBAAiB,QAAUd,EACvQ,UAGKL","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as e,F as s}from"./index-CaZq3YdB.js";import{U as o,a as r}from"./enums-DHT5wSnX.js";import{d}from"./utils-kwLwITIE.js";import a from"@carbon/icons/es/chevron--right/16";import n from"@carbon/icons/es/edit/16";import c from"@carbon/icons/es/document--add/16";const h=class{constructor(e){t(this,e);this.closeSidesheet=i(this,"closeSidesheet");this.isFollowUpFormConfigOn=false;this.isRendererRedirectConfigOn=false;this.getFormBuilderUrl=()=>{if(this.formsBuilderUrlPath){return`${this.formsBuilderUrlPath}&udpf_formId=${this.data.id}&udpf_version=${this.data.version}`}return`/page/${o.FormBuilderPageId}?udpf_formId=${this.data.id}&udpf_version=${this.data.version}`};this.getFormRendererUrl=()=>{if(this.formsRendererUrlPath){return`${this.formsRendererUrlPath}?udpf_formId=${this.data.id}&udpf_version=${this.data.version}`}return`/page/${o.FormRendererPageId}?udpf_formId=${this.data.id}&udpf_version=${this.data.version}`};this.formBuilderHandler=()=>{this.history.push(this.getFormBuilderUrl())};this.formRendererHandler=()=>{this.history.push(this.getFormRendererUrl())};this.handleEditOrTitleClick=t=>{t.preventDefault();this.closeSidesheet.emit();this.formBuilderHandler()}}render(){const t=e(s,{key:"3166b3f05f873b49f68e8ba3589bea738609a96d"},e("unity-typography",{key:"037d7678981cadedb7d0f93fac64beb1c7916494",variant:"body1",color:"textSecondary"},"Version: ",this.data.version),!this.isSideSheetList&&e("unity-typography",{key:"5a23010323d0a47fce7631ed80fd93d501a3225a",variant:"body1",color:"textSecondary"},"Last Modified: ",d(this.data.lastModifiedOn)),e("unity-typography",{key:"21557df926c9f21ae828c33266599ef646602c9b",variant:"body1",color:"textSecondary"},"Created On: ",this.isSideSheetList?d(this.data.createdOn):d(this.data.initialCreatedOn)),this.isFollowUpFormConfigOn&&e("unity-typography",{key:"985f213e727138071649f58d50e79ff0fb8eee62",variant:"body1",color:"textSecondary"},"Form Type: ",r[this.data.type]));const i=e(s,{key:"8707b318aa94dd0da14dae0ee74ac7c2a7dfeb94"},e("stencil-icon-button",{key:"9bd8e2612509a1edb47174079b7b10ebfdc99592",icon:n,tooltip:"Edit Form Template",onClick:t=>this.handleEditOrTitleClick(t)}),!this.isSideSheetList&&this.isRendererRedirectConfigOn&&e("stencil-icon-button",{key:"55e61c2569e0ed68aab3f1b06574ca97ee3db383",icon:c,tooltip:"View Form",onClick:t=>{t.stopPropagation();this.formRendererHandler()}}),!this.isSideSheetList&&e("stencil-icon-button",{key:"f0f7c2274b0b808f37bc0d4951282e548eb20670",icon:a,tooltip:"See Form Version History",onClick:t=>{var i;t.stopPropagation();(i=this.openSideSheet)===null||i===void 0?void 0:i.call(this)}}));return e("udp-card",{key:"669b56c71cebf72528a33d5994e2496ad10da12d",cardTitle:this.data.name,subheader:this.data.description,actions:i,onTitleClick:this.handleEditOrTitleClick,disableContentPadding:true,adornmentStatus:"info"},t)}};export{h as udp_forms_list_card};
1
+ import{r as t,c as i,h as e,F as s}from"./index-CaZq3YdB.js";import{U as o,a as d}from"./enums-D5dod6Ie.js";import{d as r}from"./utils-kwLwITIE.js";import a from"@carbon/icons/es/chevron--right/16";import n from"@carbon/icons/es/edit/16";import c from"@carbon/icons/es/document--add/16";const h=class{constructor(e){t(this,e);this.closeSidesheet=i(this,"closeSidesheet");this.isFollowUpFormConfigOn=false;this.isRendererRedirectConfigOn=false;this.getFormBuilderUrl=()=>{if(this.formsBuilderUrlPath){return`${this.formsBuilderUrlPath}&udpf_formId=${this.data.id}&udpf_version=${this.data.version}`}return`/page/${o.FormBuilderPageId}?udpf_formId=${this.data.id}&udpf_version=${this.data.version}`};this.getFormRendererUrl=()=>{if(this.formsRendererUrlPath){return`${this.formsRendererUrlPath}?udpf_formId=${this.data.id}&udpf_version=${this.data.version}`}return`/page/${o.FormRendererPageId}?udpf_formId=${this.data.id}&udpf_version=${this.data.version}`};this.formBuilderHandler=()=>{this.history.push(this.getFormBuilderUrl())};this.formRendererHandler=()=>{this.history.push(this.getFormRendererUrl())};this.handleEditOrTitleClick=t=>{t.preventDefault();this.closeSidesheet.emit();this.formBuilderHandler()}}render(){const t=e(s,{key:"3166b3f05f873b49f68e8ba3589bea738609a96d"},e("unity-typography",{key:"037d7678981cadedb7d0f93fac64beb1c7916494",variant:"body1",color:"textSecondary"},"Version: ",this.data.version),!this.isSideSheetList&&e("unity-typography",{key:"5a23010323d0a47fce7631ed80fd93d501a3225a",variant:"body1",color:"textSecondary"},"Last Modified: ",r(this.data.lastModifiedOn)),e("unity-typography",{key:"21557df926c9f21ae828c33266599ef646602c9b",variant:"body1",color:"textSecondary"},"Created On: ",this.isSideSheetList?r(this.data.createdOn):r(this.data.initialCreatedOn)),this.isFollowUpFormConfigOn&&e("unity-typography",{key:"985f213e727138071649f58d50e79ff0fb8eee62",variant:"body1",color:"textSecondary"},"Form Type: ",d[this.data.type]));const i=e(s,{key:"8707b318aa94dd0da14dae0ee74ac7c2a7dfeb94"},e("stencil-icon-button",{key:"9bd8e2612509a1edb47174079b7b10ebfdc99592",icon:n,tooltip:"Edit Form Template",onClick:t=>this.handleEditOrTitleClick(t)}),!this.isSideSheetList&&this.isRendererRedirectConfigOn&&e("stencil-icon-button",{key:"55e61c2569e0ed68aab3f1b06574ca97ee3db383",icon:c,tooltip:"View Form",onClick:t=>{t.stopPropagation();this.formRendererHandler()}}),!this.isSideSheetList&&e("stencil-icon-button",{key:"f0f7c2274b0b808f37bc0d4951282e548eb20670",icon:a,tooltip:"See Form Version History",onClick:t=>{var i;t.stopPropagation();(i=this.openSideSheet)===null||i===void 0?void 0:i.call(this)}}));return e("udp-card",{key:"669b56c71cebf72528a33d5994e2496ad10da12d",cardTitle:this.data.name,subheader:this.data.description,actions:i,onTitleClick:this.handleEditOrTitleClick,disableContentPadding:true,adornmentStatus:"info"},t)}};export{h as udp_forms_list_card};
2
2
  //# sourceMappingURL=udp-forms-list-card.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","createEvent","h","Fragment","UdpFormsPageIdEnum","UdpFormsTypeEnum","dateFormatter","ChevronRight24","Edit16","DocumentAdd16","UdpFormsListCard","constructor","hostRef","this","closeSidesheet","isFollowUpFormConfigOn","isRendererRedirectConfigOn","getFormBuilderUrl","formsBuilderUrlPath","data","id","version","FormBuilderPageId","getFormRendererUrl","formsRendererUrlPath","FormRendererPageId","formBuilderHandler","history","push","formRendererHandler","handleEditOrTitleClick","e","preventDefault","emit","render","contentJsx","key","variant","color","isSideSheetList","lastModifiedOn","createdOn","initialCreatedOn","type","actionsJsx","icon","tooltip","onClick","stopPropagation","_a","openSideSheet","call","cardTitle","name","subheader","description","actions","onTitleClick","disableContentPadding","adornmentStatus"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,MAAgB,kCAC5DC,OAAyBC,MAAwB,6BACjDC,MAAqB,6BAC5BC,MAAoB,4CACpBC,MAAY,kCACZC,MAAmB,oCAE1B,MAAMC,EAAmB,MACrB,WAAAC,CAAYC,GACRZ,EAAiBa,KAAMD,GACvBC,KAAKC,eAAiBb,EAAYY,KAAM,kBAIxCA,KAAKE,uBAAyB,MAI9BF,KAAKG,2BAA6B,MAOlCH,KAAKI,kBAAoB,KACrB,GAAIJ,KAAKK,oBAAqB,CAC1B,MAAO,GAAGL,KAAKK,mCAAmCL,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAC7F,CACA,MAAO,SAASjB,EAAmBkB,iCAAiCT,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAAS,EAQxHR,KAAKU,mBAAqB,KACtB,GAAIV,KAAKW,qBAAsB,CAC3B,MAAO,GAAGX,KAAKW,oCAAoCX,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAC9F,CACA,MAAO,SAASjB,EAAmBqB,kCAAkCZ,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAAS,EAUzHR,KAAKa,mBAAqB,KACtBb,KAAKc,QAAQC,KAAKf,KAAKI,oBAAoB,EAU/CJ,KAAKgB,oBAAsB,KACvBhB,KAAKc,QAAQC,KAAKf,KAAKU,qBAAqB,EAOhDV,KAAKiB,uBAA0BC,IAC3BA,EAAEC,iBACFnB,KAAKC,eAAemB,OACpBpB,KAAKa,oBAAoB,CAEjC,CACA,MAAAQ,GACI,MAAMC,EAAcjC,EAAEC,EAAU,CAAEiC,IAAK,4CAA8ClC,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,YAAazB,KAAKM,KAAKE,UAAWR,KAAK0B,iBAAoBrC,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,kBAAmBhC,EAAcO,KAAKM,KAAKqB,iBAAmBtC,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,eAAgBzB,KAAK0B,gBAAkBjC,EAAcO,KAAKM,KAAKsB,WAAanC,EAAcO,KAAKM,KAAKuB,mBAAoB7B,KAAKE,wBAA2Bb,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,cAAejC,EAAiBQ,KAAKM,KAAKwB,QACp2B,MAAMC,EAAc1C,EAAEC,EAAU,CAAEiC,IAAK,4CAA8ClC,EAAE,sBAAuB,CAAEkC,IAAK,2CAA4CS,KAAMrC,EAAQsC,QAAS,qBAAsBC,QAAUhB,GAAMlB,KAAKiB,uBAAuBC,MAAQlB,KAAK0B,iBAAmB1B,KAAKG,4BAA+Bd,EAAE,sBAAuB,CAAEkC,IAAK,2CAA4CS,KAAMpC,EAAeqC,QAAS,YAAaC,QAAShB,IACtbA,EAAEiB,kBACFnC,KAAKgB,qBAAqB,KACtBhB,KAAK0B,iBAAoBrC,EAAE,sBAAuB,CAAEkC,IAAK,2CAA4CS,KAAMtC,EAAgBuC,QAAS,2BAA4BC,QAAShB,IAC7K,IAAIkB,EACJlB,EAAEiB,mBACDC,EAAKpC,KAAKqC,iBAAmB,MAAQD,SAAY,OAAS,EAAIA,EAAGE,KAAKtC,KAAK,KAEpF,OAAQX,EAAE,WAAY,CAAEkC,IAAK,2CAA4CgB,UAAWvC,KAAKM,KAAKkC,KAAMC,UAAWzC,KAAKM,KAAKoC,YAAaC,QAASZ,EAAYa,aAAc5C,KAAKiB,uBAAwB4B,sBAAuB,KAAMC,gBAAiB,QAAUxB,EAClQ,UAGKzB","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","createEvent","h","Fragment","UdpFormsPageIdEnum","UdpFormsTypeEnum","dateFormatter","ChevronRight24","Edit16","DocumentAdd16","UdpFormsListCard","constructor","hostRef","this","closeSidesheet","isFollowUpFormConfigOn","isRendererRedirectConfigOn","getFormBuilderUrl","formsBuilderUrlPath","data","id","version","FormBuilderPageId","getFormRendererUrl","formsRendererUrlPath","FormRendererPageId","formBuilderHandler","history","push","formRendererHandler","handleEditOrTitleClick","e","preventDefault","emit","render","contentJsx","key","variant","color","isSideSheetList","lastModifiedOn","createdOn","initialCreatedOn","type","actionsJsx","icon","tooltip","onClick","stopPropagation","_a","openSideSheet","call","cardTitle","name","subheader","description","actions","onTitleClick","disableContentPadding","adornmentStatus"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,MAAgB,kCAC5DC,OAAyBC,MAAwB,kCACjDC,MAAqB,6BAC5BC,MAAoB,4CACpBC,MAAY,kCACZC,MAAmB,oCAE1B,MAAMC,EAAmB,MACrB,WAAAC,CAAYC,GACRZ,EAAiBa,KAAMD,GACvBC,KAAKC,eAAiBb,EAAYY,KAAM,kBAIxCA,KAAKE,uBAAyB,MAI9BF,KAAKG,2BAA6B,MAOlCH,KAAKI,kBAAoB,KACrB,GAAIJ,KAAKK,oBAAqB,CAC1B,MAAO,GAAGL,KAAKK,mCAAmCL,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAC7F,CACA,MAAO,SAASjB,EAAmBkB,iCAAiCT,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAAS,EAQxHR,KAAKU,mBAAqB,KACtB,GAAIV,KAAKW,qBAAsB,CAC3B,MAAO,GAAGX,KAAKW,oCAAoCX,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAC9F,CACA,MAAO,SAASjB,EAAmBqB,kCAAkCZ,KAAKM,KAAKC,mBAAmBP,KAAKM,KAAKE,SAAS,EAUzHR,KAAKa,mBAAqB,KACtBb,KAAKc,QAAQC,KAAKf,KAAKI,oBAAoB,EAU/CJ,KAAKgB,oBAAsB,KACvBhB,KAAKc,QAAQC,KAAKf,KAAKU,qBAAqB,EAOhDV,KAAKiB,uBAA0BC,IAC3BA,EAAEC,iBACFnB,KAAKC,eAAemB,OACpBpB,KAAKa,oBAAoB,CAEjC,CACA,MAAAQ,GACI,MAAMC,EAAcjC,EAAEC,EAAU,CAAEiC,IAAK,4CAA8ClC,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,YAAazB,KAAKM,KAAKE,UAAWR,KAAK0B,iBAAoBrC,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,kBAAmBhC,EAAcO,KAAKM,KAAKqB,iBAAmBtC,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,eAAgBzB,KAAK0B,gBAAkBjC,EAAcO,KAAKM,KAAKsB,WAAanC,EAAcO,KAAKM,KAAKuB,mBAAoB7B,KAAKE,wBAA2Bb,EAAE,mBAAoB,CAAEkC,IAAK,2CAA4CC,QAAS,QAASC,MAAO,iBAAmB,cAAejC,EAAiBQ,KAAKM,KAAKwB,QACp2B,MAAMC,EAAc1C,EAAEC,EAAU,CAAEiC,IAAK,4CAA8ClC,EAAE,sBAAuB,CAAEkC,IAAK,2CAA4CS,KAAMrC,EAAQsC,QAAS,qBAAsBC,QAAUhB,GAAMlB,KAAKiB,uBAAuBC,MAAQlB,KAAK0B,iBAAmB1B,KAAKG,4BAA+Bd,EAAE,sBAAuB,CAAEkC,IAAK,2CAA4CS,KAAMpC,EAAeqC,QAAS,YAAaC,QAAShB,IACtbA,EAAEiB,kBACFnC,KAAKgB,qBAAqB,KACtBhB,KAAK0B,iBAAoBrC,EAAE,sBAAuB,CAAEkC,IAAK,2CAA4CS,KAAMtC,EAAgBuC,QAAS,2BAA4BC,QAAShB,IAC7K,IAAIkB,EACJlB,EAAEiB,mBACDC,EAAKpC,KAAKqC,iBAAmB,MAAQD,SAAY,OAAS,EAAIA,EAAGE,KAAKtC,KAAK,KAEpF,OAAQX,EAAE,WAAY,CAAEkC,IAAK,2CAA4CgB,UAAWvC,KAAKM,KAAKkC,KAAMC,UAAWzC,KAAKM,KAAKoC,YAAaC,QAASZ,EAAYa,aAAc5C,KAAKiB,uBAAwB4B,sBAAuB,KAAMC,gBAAiB,QAAUxB,EAClQ,UAGKzB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,h as t,a as i}from"./index-CaZq3YdB.js";import{f as s,a}from"./udp-form-api-utils-vPSYCvIA.js";import{U as r}from"./enums-DHT5wSnX.js";import"axios";import"./tenantUtils-Basdb1b1.js";import"./configService-BqLfkVKh.js";const o=":host{display:block}.udp-form-filter-container{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-05);flex-wrap:nowrap;padding:var(--spacing-05) 0}.error-banner{background-color:#fdecea;border:1px solid #f5c6cb;color:#a94442;padding:12px;margin-bottom:12px;border-radius:4px}.selector-group,.search-group{display:flex;gap:0.75rem;align-items:flex-end}.selector-group{flex-grow:1;flex-shrink:1;max-width:500px}";const n=class{constructor(t){e(this,t);this.isPublicFormConfigOn=false;this.isCreateNewFormHeaderActionConfigOn=false;this.isFollowUpFormConfigOn=false;this.isRendererRedirectConfigOn=false;this.isSideSheetOpen=false;this.mainFormsList=[];this.sideSheetFormsList=[];this.mainListPageNumber=1;this.sideSheetListPageNumber=1;this.mainTotalItems=0;this.sideSheetTotalItems=0;this.isLoading=true;this.errorMessage="";this.sortState={sortDirection:"DESC",sortColumn:"initialCreatedOn"};this.searchFilters=[];this.nameFilter="";this.formsBuilderPageId=r.FormBuilderPageId;this.SIDE_SHEET_PAGE_SIZE=5;this.MAIN_PAGE_SIZE=5;this.componentMap={history:"history",isSideSheetList:"isSideSheetList",openSideSheet:"openSideSheet",data:"data",titleClick:"titleClick",formsBuilderUrlPath:"formsBuilderUrlPath",formsRendererUrlPath:"formsRendererUrlPath",isFollowUpFormConfigOn:"isFollowUpFormConfigOn"};this.SORT_DIRECTIONS=[{label:"Asc",value:"ASC"},{label:"Desc",value:"DESC"}];this.SORT_COLUMNS=[{label:"Created On",value:"initialCreatedOn"},{label:"Last Modified",value:"lastModifiedOn"},{label:"Name",value:"name"}];this.FORM_TYPES=[{label:"Any",value:"0"},{label:"Standard",value:"1"},{label:"FollowUp",value:"2"}];this.debouncedFormNameSearch=(()=>{let e;return()=>{clearTimeout(e);e=window.setTimeout((()=>this.loadMainForms()),300)}})();this.handleHeaderPrimaryActionClick=()=>{if(this.formsBuilderUrlPath){this.history.push(this.formsBuilderUrlPath);return}this.history.push(`/page/${this.formsBuilderPageId}`)};this.handleSideSheetPrimaryAction=()=>{const e=this.mainFormsList.find((e=>e.data.id===this.sideSheetFormsList[0].data.id)).data;const t=e.id;const i=e.version;if(this.formsBuilderUrlPath){this.history.push(`${this.formsBuilderUrlPath}&udpf_formId=${t}&udpf_version=${i}`);this.isSideSheetOpen=false;return}this.history.push(`/page/${this.formsBuilderPageId}?udpf_formId=${t}&udpf_version=${i}`);this.isSideSheetOpen=false};this.handleSideSheetClose=()=>{this.sideSheetFormsList=[];this.sideSheetListPageNumber=1;this.sideSheetTotalItems=0;this.isSideSheetOpen=false}}componentDidLoad(){return this.loadMainForms()}async loadMainForms(){var e;this.isLoading=true;this.errorMessage="";try{const t=await s(this.mainListPageNumber,this.MAIN_PAGE_SIZE,this.searchFilters,this.sortState);const i=t.data;if(!i||!Array.isArray(i.pageList)){throw new Error("Malformed data received from server.")}this.mainFormsList=this.formatList(i.pageList,false);this.mainTotalItems=(e=i.total)!==null&&e!==void 0?e:0}catch(e){console.error("Error loading forms data:",e);this.errorMessage="Failed to load forms. Please try again."}finally{this.isLoading=false}}async loadFormVersions(){var e;this.isLoading=true;this.errorMessage="";try{const t=await a(this.currentFormId,this.sideSheetListPageNumber,this.SIDE_SHEET_PAGE_SIZE);const i=t.data;if(!i||!Array.isArray(i.pageList)){throw new Error("Malformed form versions data.")}this.sideSheetFormsList=this.formatList(i.pageList,true);this.sideSheetTotalItems=(e=i.total)!==null&&e!==void 0?e:0}catch(e){console.error("Error loading form versions:",e);this.errorMessage="Failed to load form versions."}finally{this.isLoading=false}}formatList(e,t){return e.map((e=>({data:e,history:this.history,isSideSheetList:t,openSideSheet:()=>this.handleOpenSideSheet(e.id),formsBuilderUrlPath:this.formsBuilderUrlPath,formsRendererUrlPath:this.formsRendererUrlPath,isFollowUpFormConfigOn:this.isFollowUpFormConfigOn,isRendererRedirectConfigOn:this.isRendererRedirectConfigOn})))}async handleMainPageChange(e){this.mainListPageNumber=e;await this.loadMainForms()}handleOrderFilterChange({fieldName:e,value:t}){this.sortState=Object.assign(Object.assign({},this.sortState),{[e]:t})}handleFormNameSearchFilterChange(e){const t=e.target;this.nameFilter=t.value;const i="name";const s="LIKE";const a={searchField:i,searchOperator:s,searchValue:t.value};let r=this.searchFilters.filter((e=>e.searchField!==i));if(t.value.trim()!==""){r.push(a)}this.searchFilters=r;this.mainListPageNumber=1}async handleFormTypeFilterChange(e){const t=e.target;const i=t.value;const s="type";let a=this.searchFilters.filter((e=>e.searchField!==s));if(i!=="0"){const e={searchField:s,searchOperator:"=",searchValue:i};a.push(e)}this.searchFilters=a;this.mainListPageNumber=1;await this.loadMainForms()}async refetchMainListData(e,t){if(JSON.stringify(e)===JSON.stringify(t))return;this.mainListPageNumber=1;await this.loadMainForms()}async handleOpenSideSheet(e){this.currentFormId=e;this.sideSheetListPageNumber=1;this.isSideSheetOpen=true;await this.loadFormVersions()}async handleSideSheetPageChange(e){this.sideSheetListPageNumber=e;await this.loadFormVersions()}renderFilters(){return t("div",{class:"udp-form-filter-container"},t("div",{class:"search-group"},t("text-field",{label:"Search Name",value:this.nameFilter,placeholder:"Search Form Name",onInput:async e=>{this.handleFormNameSearchFilterChange(e);this.debouncedFormNameSearch()},margin:"none"})),t("div",{class:"selector-group"},this.isPublicFormConfigOn&&t("udp-selector",{label:"Form Type",name:"sortColumn",options:this.FORM_TYPES,onChange:async e=>await this.handleFormTypeFilterChange(e),initialValue:"0"}),t("udp-selector",{label:"Sort By",name:"sortColumn",options:this.SORT_COLUMNS,onChange:e=>this.handleOrderFilterChange({fieldName:"sortColumn",value:e.detail}),initialValue:this.sortState.sortColumn}),t("udp-selector",{label:"Sort Direction",name:"sortDirection",options:this.SORT_DIRECTIONS,onChange:e=>this.handleOrderFilterChange({fieldName:"sortDirection",value:e.detail}),initialValue:this.sortState.sortDirection})))}renderSideSheet(){return t("udp-side-sheet",{primaryButtonLabel:"Create New Form Version",title:"Form Version History",open:this.isSideSheetOpen,onUdpSideSheetClose:()=>this.handleSideSheetClose(),position:"right",width:"md",onUdpPrimaryButtonClick:()=>this.handleSideSheetPrimaryAction()},this.isLoading&&this.isSideSheetOpen&&t("udp-linear-loader",null),t("udp-list-renderer",{itemComponent:"udp-forms-list-card",data:this.sideSheetFormsList,pagination:true,isServerSide:true,isLoading:this.isLoading,itemsPerPage:this.SIDE_SHEET_PAGE_SIZE,currentPage:this.sideSheetListPageNumber,totalItems:this.sideSheetTotalItems,onPageChange:e=>this.handleSideSheetPageChange(e.detail),componentDataMap:this.componentMap,spacing:"md",onCloseSidesheet:()=>this.handleSideSheetClose()}))}renderErrorMessage(){return this.errorMessage?t("div",{class:"error-banner"},t("unity-typography",{variant:"body2"},this.errorMessage)):null}render(){return t("div",{key:"521f65ec8356fbd1cc33ca101ae454acd65047ec",class:"udp-forms-list-container"},this.isCreateNewFormHeaderActionConfigOn?t("primary-action-header",{title:"UDP Forms",primaryActionClick:()=>this.handleHeaderPrimaryActionClick(),actionButtonLabel:"Create New Form",tabs:false}):t("primary-action-header",{title:"UDP Forms",tabs:false}),this.isLoading&&t("udp-linear-loader",{key:"6a080e748bd474223c77805ee51a94baaba7698f"}),this.renderSideSheet(),t("udp-container",{key:"682a613ced5e4d9c8b0aec6ce4b4450efd4b3967",maxWidth:"lg"},this.renderErrorMessage(),this.renderFilters(),t("udp-list-renderer",{key:"8e49e0bdef5d4ee15ec56c2358e68b38c4b69080",itemComponent:"udp-forms-list-card",data:this.mainFormsList,pagination:true,isServerSide:true,isLoading:this.isLoading,itemsPerPage:this.MAIN_PAGE_SIZE,currentPage:this.mainListPageNumber,totalItems:this.mainTotalItems,onPageChange:e=>this.handleMainPageChange(e.detail),componentDataMap:this.componentMap,spacing:"md"})),t("udp-forms-list-card",{key:"5386a41357733fc99e6b8540596bd64a758af33a",style:{display:"none"}}),t("div",{key:"675cf300948e4f506f7470366f643451d9be5096",style:{height:"60px"}}))}get el(){return i(this)}static get watchers(){return{sortState:["refetchMainListData"]}}};n.style=o;export{n as udp_forms_list};
1
+ import{r as e,h as t,a as i}from"./index-CaZq3YdB.js";import{f as s,a}from"./udp-form-api-utils-vPSYCvIA.js";import{U as r}from"./enums-D5dod6Ie.js";import"axios";import"./tenantUtils-Basdb1b1.js";import"./configService-BqLfkVKh.js";const o=":host{display:block}.udp-form-filter-container{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-05);flex-wrap:nowrap;padding:var(--spacing-05) 0}.error-banner{background-color:#fdecea;border:1px solid #f5c6cb;color:#a94442;padding:12px;margin-bottom:12px;border-radius:4px}.selector-group,.search-group{display:flex;gap:0.75rem;align-items:flex-end}.selector-group{flex-grow:1;flex-shrink:1;max-width:500px}";const n=class{constructor(t){e(this,t);this.isPublicFormConfigOn=false;this.isCreateNewFormHeaderActionConfigOn=false;this.isFollowUpFormConfigOn=false;this.isRendererRedirectConfigOn=false;this.isSideSheetOpen=false;this.mainFormsList=[];this.sideSheetFormsList=[];this.mainListPageNumber=1;this.sideSheetListPageNumber=1;this.mainTotalItems=0;this.sideSheetTotalItems=0;this.isLoading=true;this.errorMessage="";this.sortState={sortDirection:"DESC",sortColumn:"initialCreatedOn"};this.searchFilters=[];this.nameFilter="";this.formsBuilderPageId=r.FormBuilderPageId;this.SIDE_SHEET_PAGE_SIZE=5;this.MAIN_PAGE_SIZE=5;this.componentMap={history:"history",isSideSheetList:"isSideSheetList",openSideSheet:"openSideSheet",data:"data",titleClick:"titleClick",formsBuilderUrlPath:"formsBuilderUrlPath",formsRendererUrlPath:"formsRendererUrlPath",isFollowUpFormConfigOn:"isFollowUpFormConfigOn"};this.SORT_DIRECTIONS=[{label:"Asc",value:"ASC"},{label:"Desc",value:"DESC"}];this.SORT_COLUMNS=[{label:"Created On",value:"initialCreatedOn"},{label:"Last Modified",value:"lastModifiedOn"},{label:"Name",value:"name"}];this.FORM_TYPES=[{label:"Any",value:"0"},{label:"Standard",value:"1"},{label:"FollowUp",value:"2"}];this.debouncedFormNameSearch=(()=>{let e;return()=>{clearTimeout(e);e=window.setTimeout((()=>this.loadMainForms()),300)}})();this.handleHeaderPrimaryActionClick=()=>{if(this.formsBuilderUrlPath){this.history.push(this.formsBuilderUrlPath);return}this.history.push(`/page/${this.formsBuilderPageId}`)};this.handleSideSheetPrimaryAction=()=>{const e=this.mainFormsList.find((e=>e.data.id===this.sideSheetFormsList[0].data.id)).data;const t=e.id;const i=e.version;if(this.formsBuilderUrlPath){this.history.push(`${this.formsBuilderUrlPath}&udpf_formId=${t}&udpf_version=${i}`);this.isSideSheetOpen=false;return}this.history.push(`/page/${this.formsBuilderPageId}?udpf_formId=${t}&udpf_version=${i}`);this.isSideSheetOpen=false};this.handleSideSheetClose=()=>{this.sideSheetFormsList=[];this.sideSheetListPageNumber=1;this.sideSheetTotalItems=0;this.isSideSheetOpen=false}}componentDidLoad(){return this.loadMainForms()}async loadMainForms(){var e;this.isLoading=true;this.errorMessage="";try{const t=await s(this.mainListPageNumber,this.MAIN_PAGE_SIZE,this.searchFilters,this.sortState);const i=t.data;if(!i||!Array.isArray(i.pageList)){throw new Error("Malformed data received from server.")}this.mainFormsList=this.formatList(i.pageList,false);this.mainTotalItems=(e=i.total)!==null&&e!==void 0?e:0}catch(e){console.error("Error loading forms data:",e);this.errorMessage="Failed to load forms. Please try again."}finally{this.isLoading=false}}async loadFormVersions(){var e;this.isLoading=true;this.errorMessage="";try{const t=await a(this.currentFormId,this.sideSheetListPageNumber,this.SIDE_SHEET_PAGE_SIZE);const i=t.data;if(!i||!Array.isArray(i.pageList)){throw new Error("Malformed form versions data.")}this.sideSheetFormsList=this.formatList(i.pageList,true);this.sideSheetTotalItems=(e=i.total)!==null&&e!==void 0?e:0}catch(e){console.error("Error loading form versions:",e);this.errorMessage="Failed to load form versions."}finally{this.isLoading=false}}formatList(e,t){return e.map((e=>({data:e,history:this.history,isSideSheetList:t,openSideSheet:()=>this.handleOpenSideSheet(e.id),formsBuilderUrlPath:this.formsBuilderUrlPath,formsRendererUrlPath:this.formsRendererUrlPath,isFollowUpFormConfigOn:this.isFollowUpFormConfigOn,isRendererRedirectConfigOn:this.isRendererRedirectConfigOn})))}async handleMainPageChange(e){this.mainListPageNumber=e;await this.loadMainForms()}handleOrderFilterChange({fieldName:e,value:t}){this.sortState=Object.assign(Object.assign({},this.sortState),{[e]:t})}handleFormNameSearchFilterChange(e){const t=e.target;this.nameFilter=t.value;const i="name";const s="LIKE";const a={searchField:i,searchOperator:s,searchValue:t.value};let r=this.searchFilters.filter((e=>e.searchField!==i));if(t.value.trim()!==""){r.push(a)}this.searchFilters=r;this.mainListPageNumber=1}async handleFormTypeFilterChange(e){const t=e.target;const i=t.value;const s="type";let a=this.searchFilters.filter((e=>e.searchField!==s));if(i!=="0"){const e={searchField:s,searchOperator:"=",searchValue:i};a.push(e)}this.searchFilters=a;this.mainListPageNumber=1;await this.loadMainForms()}async refetchMainListData(e,t){if(JSON.stringify(e)===JSON.stringify(t))return;this.mainListPageNumber=1;await this.loadMainForms()}async handleOpenSideSheet(e){this.currentFormId=e;this.sideSheetListPageNumber=1;this.isSideSheetOpen=true;await this.loadFormVersions()}async handleSideSheetPageChange(e){this.sideSheetListPageNumber=e;await this.loadFormVersions()}renderFilters(){return t("div",{class:"udp-form-filter-container"},t("div",{class:"search-group"},t("text-field",{label:"Search Name",value:this.nameFilter,placeholder:"Search Form Name",onInput:async e=>{this.handleFormNameSearchFilterChange(e);this.debouncedFormNameSearch()},margin:"none"})),t("div",{class:"selector-group"},this.isPublicFormConfigOn&&t("udp-selector",{label:"Form Type",name:"sortColumn",options:this.FORM_TYPES,onChange:async e=>await this.handleFormTypeFilterChange(e),initialValue:"0"}),t("udp-selector",{label:"Sort By",name:"sortColumn",options:this.SORT_COLUMNS,onChange:e=>this.handleOrderFilterChange({fieldName:"sortColumn",value:e.detail}),initialValue:this.sortState.sortColumn}),t("udp-selector",{label:"Sort Direction",name:"sortDirection",options:this.SORT_DIRECTIONS,onChange:e=>this.handleOrderFilterChange({fieldName:"sortDirection",value:e.detail}),initialValue:this.sortState.sortDirection})))}renderSideSheet(){return t("udp-side-sheet",{primaryButtonLabel:"Create New Form Version",title:"Form Version History",open:this.isSideSheetOpen,onUdpSideSheetClose:()=>this.handleSideSheetClose(),position:"right",width:"md",onUdpPrimaryButtonClick:()=>this.handleSideSheetPrimaryAction()},this.isLoading&&this.isSideSheetOpen&&t("udp-linear-loader",null),t("udp-list-renderer",{itemComponent:"udp-forms-list-card",data:this.sideSheetFormsList,pagination:true,isServerSide:true,isLoading:this.isLoading,itemsPerPage:this.SIDE_SHEET_PAGE_SIZE,currentPage:this.sideSheetListPageNumber,totalItems:this.sideSheetTotalItems,onPageChange:e=>this.handleSideSheetPageChange(e.detail),componentDataMap:this.componentMap,spacing:"md",onCloseSidesheet:()=>this.handleSideSheetClose()}))}renderErrorMessage(){return this.errorMessage?t("div",{class:"error-banner"},t("unity-typography",{variant:"body2"},this.errorMessage)):null}render(){return t("div",{key:"521f65ec8356fbd1cc33ca101ae454acd65047ec",class:"udp-forms-list-container"},this.isCreateNewFormHeaderActionConfigOn?t("primary-action-header",{title:"UDP Forms",primaryActionClick:()=>this.handleHeaderPrimaryActionClick(),actionButtonLabel:"Create New Form",tabs:false}):t("primary-action-header",{title:"UDP Forms",tabs:false}),this.isLoading&&t("udp-linear-loader",{key:"6a080e748bd474223c77805ee51a94baaba7698f"}),this.renderSideSheet(),t("udp-container",{key:"682a613ced5e4d9c8b0aec6ce4b4450efd4b3967",maxWidth:"lg"},this.renderErrorMessage(),this.renderFilters(),t("udp-list-renderer",{key:"8e49e0bdef5d4ee15ec56c2358e68b38c4b69080",itemComponent:"udp-forms-list-card",data:this.mainFormsList,pagination:true,isServerSide:true,isLoading:this.isLoading,itemsPerPage:this.MAIN_PAGE_SIZE,currentPage:this.mainListPageNumber,totalItems:this.mainTotalItems,onPageChange:e=>this.handleMainPageChange(e.detail),componentDataMap:this.componentMap,spacing:"md"})),t("udp-forms-list-card",{key:"5386a41357733fc99e6b8540596bd64a758af33a",style:{display:"none"}}),t("div",{key:"675cf300948e4f506f7470366f643451d9be5096",style:{height:"60px"}}))}get el(){return i(this)}static get watchers(){return{sortState:["refetchMainListData"]}}};n.style=o;export{n as udp_forms_list};
2
2
  //# sourceMappingURL=udp-forms-list.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,a as s}from"./index-CaZq3YdB.js";import{throttle as e}from"lodash";import{g as n}from"./tenantUtils-Basdb1b1.js";import{f as o}from"./udp-form-api-utils-vPSYCvIA.js";import{b as r,U as a,c as l,a as c}from"./enums-DHT5wSnX.js";import{b as u}from"./utils-kwLwITIE.js";import{c as h,m as d}from"./makeApiCall-B-daVutk.js";import{S as f,c as m}from"./SearchBuilder-CvKqGlUH.js";import{C as v}from"./configService-BqLfkVKh.js";import{v4 as b}from"uuid";import"axios";function p(t){if(!Array.isArray(t)){return false}return t.every((t=>t instanceof File))}class y{constructor(t={}){this.id=null;this.formId=null;this.formVersion=null;this.data={};this.unityUserId=null;this.clusterId=null;this.userDisplayName="";this.status=null;this.businessObjectKey="";this.udpTags=[];this.form=null;this.initialCreatedOn=null;this.lastModifiedOn=null;this.submittedOn=null;this.generic1=null;this.generic2=null;this.generic3=null;this.userEmail=null;Object.assign(this,t)}processSubmissionIntoFormDataWithoutValues(t){const i=this.buildBaseSubmissionData(t);const s=h(i);s.append("Data",JSON.stringify(this.data));return s}processSubmissionIntoFormData(t,i){const s=this.buildBaseSubmissionData(i);const{cleanedData:e,files:n}=this.extractCleanedDataAndFiles(t);const o=h(s);n.forEach((t=>o.append("FormFiles",t)));const r={submissionResponseData:e,submissionMetadata:this.data.submissionMetadata||null};o.append("Data",JSON.stringify(r));return o}buildBaseSubmissionData(t){const i={FormId:this.formId,FormVersion:this.formVersion.toString(),Status:t};if(this.id){i.Id=this.id}if(this.initialCreatedOn){i.InitialCreatedOn=this.initialCreatedOn}else{i.InitialCreatedOn=(new Date).toISOString()}if(this.lastModifiedOn){i.LastModifiedOn=this.lastModifiedOn}else{i.LastModifiedOn=(new Date).toISOString()}if(this.submittedOn){i.submittedOn=this.submittedOn}if(this.generic1){i.generic1=this.generic1.toString()}if(this.generic2){i.generic2=this.generic2.toString()}if(this.generic3){i.generic3=this.generic3.toString()}return i}extractCleanedDataAndFiles(t){const i=[];const s={};for(const e in t){s[e]={};for(const n in t[e]){const o=t[e][n];const{value:r,fieldFiles:a}=this.extractValueAndFiles(o);if(a)i.push(...a);const l=this.processComments(o.comments);const c=this.processMetadata(o.metadata);s[e][n]=Object.assign({value:r,comments:l},c&&{metadata:c})}}return{cleanedData:s,files:i}}extractValueAndFiles(t){var i,s;let e=((i=t===null||t===void 0?void 0:t.value)===null||i===void 0?void 0:i.files)?t.value.value:t===null||t===void 0?void 0:t.value;const n=(s=t===null||t===void 0?void 0:t.value)===null||s===void 0?void 0:s.files;if(n&&Array.isArray(n)){return{value:typeof e==="string"&&e.trim()!==""?e:"",fieldFiles:n}}if(p(e)){return{value:e.length>0?e.map((t=>t.name)).join(","):"",fieldFiles:e}}if(e instanceof File){return{value:e.name,fieldFiles:[e]}}if(Array.isArray(e)){return{value:e.map((t=>typeof t==="string"?t:t===null||t===void 0?void 0:t.value)).join(",")}}return{value:e}}processComments(t){var i;return(i=t===null||t===void 0?void 0:t.map((t=>Object.assign({},t))))!==null&&i!==void 0?i:[]}processMetadata(t){return t&&Object.keys(t).length>0?Object.assign({},t):undefined}}class w{constructor(t){this.accessMode=t}async addComment(t,i){if(!(t===null||t===void 0?void 0:t.id)){throw new Error("Cannot add a comment without a submission ID.")}const s=`${v.productV1ApiUrl}/UdpFormSubmission/${t.id}/comments/${this.accessMode}`;await d("POST",s,i,true)}async updateComment(t,i){if(!(t===null||t===void 0?void 0:t.id)){throw new Error("Cannot update a comment without a submission ID.")}const{sectionKey:s,questionKey:e,commentId:n,value:o}=i;const r=`${v.productV1ApiUrl}/UdpFormSubmission/${t.id}/comments/${n}`;await d("PUT",r,{value:o,sectionKey:s,questionKey:e},true)}async deleteComment(t,i){if(!(t===null||t===void 0?void 0:t.id)){throw new Error("Cannot delete a comment without a submission ID.")}const{commentId:s}=i;const e=`${v.productV1ApiUrl}/UdpFormSubmission/${t.id}/comments/${s}`;await d("DELETE",e,null,true)}async fetchAndPopulateUdpFormSubmissionObj(t){if(!(t===null||t===void 0?void 0:t.id)){console.warn("Cannot fetch form submission without an ID.");return t}if(this.accessMode==="public"){const i=await this.getFormSubmissionByIdAndUser(t.id,t.unityUserId);return i?new y(Object.assign(Object.assign({},t),i)):t}const{id:i}=t;const s=await this.getFormSubmissionById(i);return s?new y(Object.assign(Object.assign({},t),s)):t}async createNewLinkedFollowUpFormSubmission(t){if(this.accessMode==="public"){throw new Error("Follow-up form submissions are not supported for public forms.")}return this.saveFormDataWithoutValues(t,r.InProgress)}async saveCurrentFormSubmissionState(t,i){if(this.accessMode==="public"){return i}return this.saveSubmissionToDB(t,i,r.InProgress)}async finalizeFormSubmissionState(t,i){return this.saveSubmissionToDB(t,i,r.Submitted)}async saveFormDataWithoutValues(t,i){const s=t.processSubmissionIntoFormDataWithoutValues(i);const{method:e,url:n}=this.getApiRequestInfo(t);const o=await d(e,n,s,true);if(o===""){return await this.fetchAndPopulateUdpFormSubmissionObj(t)}return new y(Object.assign(Object.assign({},t),o))}getApiRequestInfo(t){const i=`${v.productV1ApiUrl}/UdpFormSubmission/${this.accessMode}`;if(this.accessMode==="public"){return{method:"POST",url:i}}return t.id?{method:"PUT",url:i}:{method:"POST",url:i}}async saveSubmissionToDB(t,i,s){const e=i.processSubmissionIntoFormData(t,s);const{method:n,url:o}=this.getApiRequestInfo(i);const r=await d(n,o,e,true);if(r===""){return await this.fetchAndPopulateUdpFormSubmissionObj(i)}const a=new y(Object.assign(Object.assign({},i),r));Object.assign(i,a);return a}async getFormSubmissionById(t){var i;try{const s=new f(1,1).addFilter("id",t,m.EQUALS);const e=await s.execute("UdpFormSubmission");return((i=e===null||e===void 0?void 0:e.pageList)===null||i===void 0?void 0:i[0])||null}catch(t){console.error("Error fetching form submission by ID:",t);return null}}async getFormSubmissionByIdAndUser(t,i){var s;try{const e=new f(1,1).addFilter("id",t,m.EQUALS).addFilter("unityUserId",i,m.EQUALS);const n=await e.execute("UdpFormSubmission");return((s=n===null||n===void 0?void 0:n.pageList)===null||s===void 0?void 0:s[0])||null}catch(t){console.error("Error fetching form submission by ID:",t);return null}}}class S{static create(t,i){return new w(t?"public":"private")}}class O{constructor(t,i=false){this.tenantId=t;this.isPublic=i}buildDescribeUrl(t,i){const s=v.productV1ApiUrl;if(this.isPublic){return`${s}/UdpForm/${t}/${i}/describe/public`}else{return`${s}/UdpForm/${t}/${i}/describe`}}async getFormByFormIdAndFormVersion(t,i){const s=this.buildDescribeUrl(t,i);const e=await d("GET",s);if(e.styleOverrides&&typeof e.styleOverrides==="string"){e.styleOverrides=JSON.parse(e.styleOverrides)}return e}}class j{constructor(t){if(!t)return;Object.assign(this,t)}}const I=(t,i)=>{const s=Object.keys(i);const e=new Set;const n=new RegExp(`^${t}_(\\d+)`);s.forEach((t=>{const i=t.match(n);if(i&&i[1]){e.add(Number(i[1]))}}));return Array.from(e).sort(((t,i)=>t-i))};const F=(t,i)=>{var s;const e=[];const n=structuredClone(t.udpFormUdpFormSection).sort(((t,i)=>t.order-i.order));for(const o of n){o.sectionProperties=JSON.parse(o.sectionProperties||{});const n=I(o.name,i);o.isOriginalSection=true;o.sectionPositionSuffix=1;e.push(Object.assign(Object.assign({},structuredClone(o)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===o.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${o.name}.${t.name}`,isShowCommentInput:true})))}));if(((s=o.sectionProperties)===null||s===void 0?void 0:s.isRepeatable)&&n.length>0){const i=Math.max(...n);for(let s=2;s<=i;s++){const i=Object.assign(Object.assign({},structuredClone(o)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===o.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${o.name}_${s}.${t.name}`,isShowCommentInput:true}))),isOriginalSection:false,sectionPositionSuffix:s});e.push(i)}}}return e};const C=t=>{const i=t&&typeof t==="object"?t:{};const s={};Object.keys(i).forEach((t=>{var i;const e=t.match(/^([^._?&#]+)_(\d+)\./);if(!e)return;const n=e[1];const o=Number(e[2]);if(!Number.isFinite(o)||o<2)return;const r=(i=s[n])!==null&&i!==void 0?i:1;if(o>r)s[n]=o}));return s};const $=(t,i,s)=>{var e,n;const o=C(s);const r=[];const a=structuredClone(t.udpFormUdpFormSection).sort(((t,i)=>t.order-i.order));for(const s of a){s.sectionProperties=JSON.parse(s.sectionProperties||{});const a=I(s.name,i);const l=a.length>0?Math.max(...a):1;const c=(e=o===null||o===void 0?void 0:o[s.name])!==null&&e!==void 0?e:1;const u=Math.max(l,c);s.isOriginalSection=true;s.sectionPositionSuffix=1;r.push(Object.assign(Object.assign({},structuredClone(s)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===s.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${s.name}.${t.name}`,isShowCommentInput:true})))}));if(((n=s.sectionProperties)===null||n===void 0?void 0:n.isRepeatable)&&u>=2){for(let i=2;i<=u;i++){const e=Object.assign(Object.assign({},structuredClone(s)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===s.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${s.name}_${i}.${t.name}`,isShowCommentInput:true}))),isOriginalSection:false,sectionPositionSuffix:i});r.push(e)}}}return r};const D=(t,i)=>{if(!Array.isArray(t))return;const s=i&&typeof i==="object"?i:{};const e={};Object.keys(s).forEach((t=>{e[String(t).toLowerCase()]=s[t]}));const n={};t.forEach((t=>{const i=t.isOriginalSection?t.name:`${t.name}_${t.sectionPositionSuffix}`;(t.formQuestions||[]).forEach((t=>{if(!t)return;const s=[t.processedSubmissionName,t.questionIdentifierKey,t.name].filter(Boolean);let o=undefined;for(const t of s){const i=String(t).toLowerCase();if(Object.prototype.hasOwnProperty.call(e,i)){o=e[i];break}}if(o!==undefined&&o!==null){if(!n[i])n[i]={};n[i][t.name]={value:o,comments:[]}}}))}));const o={};Object.entries(n).forEach((([t,i])=>{if(!o[t])o[t]={};Object.entries(i).forEach((([i,s])=>{const e=o[t][i];const n=e==null||e.value==null||typeof e.value==="string"&&e.value.trim()==="";if(n){o[t][i]=s}}))}));t.forEach((t=>{const i=t.isOriginalSection?t.name:`${t.name}_${t.sectionPositionSuffix}`;if(!o[i])o[i]={};(t.formQuestions||[]).forEach((t=>{var s;if(!t)return;if(t.fieldTypeId===l.Paragraph){const e=o[i][t.name];const n=e==null||e.value==null||typeof e.value==="string"&&e.value.trim()==="";if(n){let e=t===null||t===void 0?void 0:t.fieldProperties;if(typeof e==="string"){try{e=JSON.parse(e||"{}")}catch(t){e={}}}o[i][t.name]={value:(s=e===null||e===void 0?void 0:e.paragraphText)!==null&&s!==void 0?s:"",comments:[]}}}}))}));return o};const g=(t,i)=>{const s=typeof window!=="undefined"?window.location.pathname:`/page/${a.FormRendererPageId}`;const e=typeof window!=="undefined"?window.location.hash:"";const n=`${s}?udpf_submissionId=${t}${e}`;const o=i;if(o){if(typeof o.replace==="function"){o.replace(n);return}if(typeof o.push==="function"){o.push(n);return}if(typeof o==="function"){try{o(n,{replace:true})}catch(t){o(n)}return}}if(typeof window!=="undefined"&&window.history&&typeof window.history.replaceState==="function"){window.history.replaceState({},"",n)}else if(typeof window!=="undefined"){window.location.href=n}};const U=(t,i)=>{i===null||i===void 0?void 0:i(t,{variant:"success",anchorOrigin:{vertical:"top",horizontal:"center"}})};const x=(t,i)=>{i===null||i===void 0?void 0:i(t,{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}})};const K=t=>t.isOriginalSection?t.name:`${t.name}_${t.sectionPositionSuffix}`;const P=t=>{if(!t)return{};if(typeof t==="object")return t;if(typeof t!=="string")return{};try{return JSON.parse(t||"{}")}catch(t){return{}}};const q=t=>{var i,s,e;const{dynamicSections:n,values:o,index:r}=t;const a=n[r];if(!a)return{nextDynamicSections:n,nextValues:o};const c=a.name;const u=I(c,o);const h=u.length>0?Math.max(...u)+1:2;const d=Object.assign(Object.assign({},structuredClone(a)),{formQuestions:(a.formQuestions||[]).map((t=>{const i=structuredClone(t);i.questionIdentifierKey=`${c}_${h}.${t.name}`;return i})),isOriginalSection:false,sectionPositionSuffix:h});let f=r;for(let t=r+1;t<n.length;t++){const i=n[t];if(i.name===c)f=t;else break}const m=[...n.slice(0,f+1),d,...n.slice(f+1)];const v=structuredClone(o||{});const b=`${c}_${h}`;const p=K(a);for(const t of d.formQuestions||[]){if(!v[b])v[b]={};let n="";if(t.fieldTypeId===l.Paragraph){const r=(s=(i=o===null||o===void 0?void 0:o[p])===null||i===void 0?void 0:i[t.name])===null||s===void 0?void 0:s.value;const a=P(t.fieldProperties);const l=(e=a===null||a===void 0?void 0:a.paragraphText)!==null&&e!==void 0?e:"";n=r!==null&&r!==void 0?r:l}v[b][t.name]={value:n,comments:[],metadata:{}}}return{nextDynamicSections:m,nextValues:v}};const A=t=>{const{dynamicSections:i,values:s,index:e}=t;const n=i[e];if(!n||n.isOriginalSection){return{nextDynamicSections:i,nextValues:s}}const o=n.name;const r=n.sectionPositionSuffix;const a=`${o}_${r}`;const l=Object.assign({},s||{});delete l[a];const c=structuredClone(i);c.splice(e,1);c.forEach((t=>{var i;if(t.name!==o||t.isOriginalSection||((i=t.sectionPositionSuffix)!==null&&i!==void 0?i:0)<=(r!==null&&r!==void 0?r:0)){return}const s=t.sectionPositionSuffix;const e=`${o}_${s}`;const n=s-1;const a=`${o}_${n}`;t.sectionPositionSuffix=n;t.formQuestions=(t.formQuestions||[]).map((t=>{const i=structuredClone(t);i.questionIdentifierKey=`${a}.${t.name}`;return i}));if(l[e]){l[a]=structuredClone(l[e]);delete l[e]}}));return{nextDynamicSections:c,nextValues:l}};function _(t){var i,s,e,n,o;const{actionType:r,questionIdentifierKey:a,commentId:l,currentSubmissionResponseData:c,clientUserInfo:u}=t;const h=(a||"").split(".");const d=h[0]||"";const f=h[1]||"";if(!d||!f){return{sectionKey:d,questionKey:f,nextSubmissionResponseData:c||{},didMutate:false,shouldPersist:false,persistIntent:"none",commentId:l}}const m=structuredClone(c||{});if(!m[d])m[d]={};if(!m[d][f]){m[d][f]={value:"",comments:[],draftComments:[],metadata:{}}}else{m[d][f].comments=(i=m[d][f].comments)!==null&&i!==void 0?i:[];m[d][f].draftComments=(s=m[d][f].draftComments)!==null&&s!==void 0?s:[];m[d][f].metadata=(e=m[d][f].metadata)!==null&&e!==void 0?e:{}}const v=m[d][f].draftComments;if(v&&!Array.isArray(v)){m[d][f].draftComments=[v]}else if(!v){m[d][f].draftComments=[]}const p=m[d][f].comments||[];const y=m[d][f].draftComments||[];let w=false;switch(r){case"add":{const t={value:"",commentId:b(),isTempComment:true,timestamp:null};m[d][f].draftComments=[t,...y];w=true;break}case"save":{const t=y.findIndex((t=>t.commentId===l));if(t===-1){return{sectionKey:d,questionKey:f,nextSubmissionResponseData:m,didMutate:false,shouldPersist:false,persistIntent:"none",commentId:l}}const i=y[t];const s=i.timestamp||(new Date).toISOString();const e=Object.assign(Object.assign({},i),{timestamp:s,editedTimestamp:(new Date).toISOString(),userId:u===null||u===void 0?void 0:u.id,userDisplayName:u===null||u===void 0?void 0:u.displayName,isDraftComment:false});const n=p.findIndex((t=>t.commentId===l));if(n!==-1){const t=[...p];t[n]=Object.assign({},e);m[d][f].comments=t}else{m[d][f].comments=[...p,e]}m[d][f].draftComments=y.filter((t=>t.commentId!==l));w=true;break}case"edit":{const t=p.find((t=>t.commentId===l));if(!t){return{sectionKey:d,questionKey:f,nextSubmissionResponseData:m,didMutate:false,shouldPersist:false,persistIntent:"none",commentId:l}}const i=Object.assign(Object.assign({},t),{isDraftComment:true,timestamp:null});m[d][f].draftComments=[i,...y];m[d][f].comments=p;w=true;break}case"delete":{m[d][f].comments=p.map((t=>{if(t.commentId===l){return Object.assign(Object.assign({},t),{isDeleted:true,value:"",editedTimestamp:(new Date).toISOString()})}return t}));w=true;break}case"editClose":{m[d][f].draftComments=y.filter((t=>t.commentId!==l));w=true;break}}const S=r==="save"||r==="delete";let O;if(r==="save"){const t=(((o=(n=m===null||m===void 0?void 0:m[d])===null||n===void 0?void 0:n[f])===null||o===void 0?void 0:o.comments)||[]).find((t=>t.commentId===l));O=t===null||t===void 0?void 0:t.value}return{sectionKey:d,questionKey:f,nextSubmissionResponseData:m,didMutate:w,shouldPersist:S,persistIntent:"none",commentId:l,valueToPersist:O}}const k=class{constructor(i){t(this,i);this.isPublic=false;this.autoSaveDelay=2e3;this.urlContext={};this.currentValues={};this.submitSuccessful=false;this.isLoading=false;this.isSaving=false;this.isSubmitted=false;this.dynamicSections=[];this.isUpdatingSections=false;this.reRenderKey=0;this.hasUnsavedChanges=false;this.sideSheetFollowUpFormsList=[];this.followUpSideSheetTotalItems=0;this.isFollowUpFormsSideSheetOpen=false;this.followUpSideSheetListPageNumber=1;this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE=5;this.componentMap={history:"history",listItemData:"listItemData",handleLaunchFollowUpForm:"handleLaunchFollowUpForm"};this.tenantId=n();this.clientUserInfo={id:null,displayName:null,email:null};this.followUpParentSectionKey="";this.followUpParentQuestionKey="";this.publicFeatures={allowDraftSave:false,allowComments:true,allowFollowUpForms:false};this.handleLaunchFollowUpFormSideSheet=async t=>{try{if(this.isPublic){return}this.followUpParentSectionKey=t.detail.sectionKey;this.followUpParentQuestionKey=t.detail.questionKey;await this.loadFollowUpForms(this.followUpParentSectionKey,this.followUpParentQuestionKey);this.isFollowUpFormsSideSheetOpen=true}catch(t){console.error("Error loading follow-up forms:",t)}};this.duplicateRepeatableSection=t=>{if(this.isSubmitted||this.isUpdatingSections)return;this.isUpdatingSections=true;this.isLoading=true;try{const{nextDynamicSections:i,nextValues:s}=q({dynamicSections:this.dynamicSections,values:structuredClone(this.udpFormSubmission.data.submissionResponseData||{}),index:t});this.dynamicSections=i;this.currentValues=Object.assign({},s);this.udpFormSubmission.data.submissionResponseData=Object.assign({},s);this.triggerFormRerender()}finally{this.isUpdatingSections=false;this.isLoading=false;this.hasUnsavedChanges=true}};this.deleteRepeatableSection=t=>{if(this.isSubmitted)return;const i=this.dynamicSections[t];if(!i||i.isOriginalSection)return;this.isUpdatingSections=true;this.isLoading=true;try{const{nextDynamicSections:i,nextValues:s}=A({dynamicSections:this.dynamicSections,values:Object.assign({},this.udpFormSubmission.data.submissionResponseData||{}),index:t});this.dynamicSections=i;this.currentValues=Object.assign({},s);this.udpFormSubmission.data.submissionResponseData=Object.assign({},s);this.triggerFormRerender()}finally{this.isUpdatingSections=false;this.isLoading=false;this.hasUnsavedChanges=true}};this.performBackgroundSaveAndUpdateLocalSubmissionState=async t=>this.performBackgroundSaveAndUpdateLocalSubmissionStateInternal(t);this.performBackgroundSaveAndUpdateLocalSubmissionStateInternal=async(t,i)=>{var s,e;const n=(s=i===null||i===void 0?void 0:i.allowUrlReplace)!==null&&s!==void 0?s:!this.isPublic;const o=(e=i===null||i===void 0?void 0:i.forceCreateDraftIfMissingId)!==null&&e!==void 0?e:false;if(this.isPublic&&!this.publicFeatures.allowDraftSave&&!o){return}try{await this.formSubmissionHandler.saveCurrentFormSubmissionState(t,this.udpFormSubmission);await this.refreshSubmissionAndSyncState();if(n&&!new URLSearchParams(window.location.search).has("udpf_submissionId")){g(this.udpFormSubmission.id,this.history)}}catch(t){}finally{this.isSaving=false;this.hasUnsavedChanges=false}};this.refreshSubmissionAndSyncState=async()=>{var t,i;if(!((t=this.udpFormSubmission)===null||t===void 0?void 0:t.id))return;const s=await this.formSubmissionHandler.fetchAndPopulateUdpFormSubmissionObj(this.udpFormSubmission);this.udpFormSubmission=s;this.currentValues=Object.assign({},((i=s.data)===null||i===void 0?void 0:i.submissionResponseData)||{});this.isSubmitted=s.status===r.Submitted};this.handleManualSave=async t=>{if(this.isPublic&&!this.publicFeatures.allowDraftSave)return;this.isSaving=true;try{await this.formSubmissionHandler.saveCurrentFormSubmissionState(t,this.udpFormSubmission);await this.refreshSubmissionAndSyncState();if(!new URLSearchParams(window.location.search).has("udpf_submissionId")){g(this.udpFormSubmission.id,this.history)}U("Form saved successfully.",this.enqueueSnackbar)}catch(t){x("There was an error saving this form",this.enqueueSnackbar)}finally{this.isSaving=false;this.hasUnsavedChanges=false}};this.handleFormChange=t=>{if(this.isUpdatingSections)return;this.udpFormSubmission.data.submissionResponseData=t};this.handleFinish=()=>{if(this.triggerAction){this.triggerAction(null,{action:"finish"})}};this.triggerFormRerender=()=>{const t=window.scrollY;this.reRenderKey+=1;requestAnimationFrame((()=>{window.scrollTo({top:t,behavior:"auto"})}))};this.handleLaunchFollowUpForm=async(t,i,s,e,n,o,r)=>{const l=await this.formHandler.getFormByFormIdAndFormVersion(t,i);const c={submissionResponseData:u(l),submissionMetadata:{ParentSubmission:{submissionId:s,formId:e,formVersion:n}}};const h=new y({formId:t,formVersion:i,unityUserId:this.clientUserInfo.id,data:c});const d=S.create(false,this.clientUserInfo.id);const f=await d.createNewLinkedFollowUpFormSubmission(h);const m=this.udpFormSubmission.data.submissionResponseData[o][r].metadata;this.udpFormSubmission.data.submissionResponseData[o][r].metadata=Object.assign(Object.assign({},m),{followUpFormSubmissionId:f.id});await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);const v=`/page/${a.FormRendererPageId}?udpf_submissionId=${f.id}`;window.open(v,"_blank");this.handleSideSheetClose();this.triggerFormRerender()};this.handleSideSheetClose=()=>{this.sideSheetFollowUpFormsList=[];this.followUpSideSheetListPageNumber=1;this.followUpSideSheetTotalItems=0;this.isFollowUpFormsSideSheetOpen=false;this.followUpParentSectionKey="";this.followUpParentQuestionKey=""}}componentDidLoad(){if(this.el){this.el.addEventListener("questionCommentAction",(async t=>this.handleQuestionCommentLiveCRUD(t)));this.el.addEventListener("launchFollowUpFormSideSheet",(t=>this.handleLaunchFollowUpFormSideSheet(t)));this.el.addEventListener("formDirtyChange",(t=>{this.hasUnsavedChanges=this.hasUnsavedChanges||t.detail}))}}async componentWillLoad(){var t;this.isLoading=true;try{if(this.isPublic){this.clientUserInfo.id="00000000-0000-0000-0000-000000000001";this.clientUserInfo.displayName="Anonymous"}else{const i=(t=this.getUserCallback)===null||t===void 0?void 0:t.call(this);if(i){this.clientUserInfo.id=i.id||null;this.clientUserInfo.displayName=i.name||null;this.clientUserInfo.email=i.email||null}}this.formSubmissionHandler=S.create(this.isPublic,this.clientUserInfo.id);this.udpFormSubmission=new y({id:this.submissionId,formId:this.formId,formVersion:this.version,unityUserId:this.clientUserInfo.id,generic1:this.urlContext.generic1,generic2:this.urlContext.generic2,generic3:this.urlContext.generic3});if(this.submissionId){this.udpFormSubmission=await this.formSubmissionHandler.fetchAndPopulateUdpFormSubmissionObj(this.udpFormSubmission)}let i;let s;if(this.submissionId){i=this.udpFormSubmission.formId;s=this.udpFormSubmission.formVersion}else if(this.formId&&this.version){i=this.formId;s=this.version}this.formHandler=new O(this.tenantId);const n=await this.formHandler.getFormByFormIdAndFormVersion(i,s);this.udpForm=new j(n);this.currentValues=u(this.udpForm);if(this.udpFormSubmission.data.submissionResponseData){this.currentValues=Object.assign({},this.udpFormSubmission.data.submissionResponseData);if(this.udpFormSubmission.status===r.Submitted){this.isSubmitted=true}}if((!this.udpFormSubmission.id||this.udpFormSubmission.status===r.Created)&&this.urlContext&&Object.keys(this.urlContext).length>0){this.dynamicSections=$(this.udpForm,this.currentValues,this.urlContext);const t=D(this.dynamicSections,this.urlContext);if(t){this.currentValues=t;this.udpFormSubmission.data.submissionResponseData=Object.assign({},t)}}else{this.dynamicSections=F(this.udpForm,this.currentValues)}this.debouncedManualSave=e((async t=>{await this.handleManualSave(t)}),2e3,{leading:true,trailing:false})}catch(t){console.error("Error failed to load form in the form renderer:",t)}finally{this.isLoading=false}}async handleSubmit(t){this.isLoading=true;try{await this.formSubmissionHandler.finalizeFormSubmissionState(t,this.udpFormSubmission);await this.refreshSubmissionAndSyncState();this.submitSuccessful=true}catch(t){x("There was an error submitting this form",this.enqueueSnackbar);throw t}finally{this.isLoading=false}}async handleQuestionCommentLiveCRUD(t){var i,s,e,n,o,a;if(this.isPublic&&!this.publicFeatures.allowComments)return;try{const{type:l,questionIdentifierKey:c,commentId:u}=t.detail;const h=_({actionType:l,questionIdentifierKey:c,commentId:u,currentSubmissionResponseData:this.udpFormSubmission.data.submissionResponseData||{},clientUserInfo:this.clientUserInfo});const d=h.nextSubmissionResponseData;this.udpFormSubmission.data.submissionResponseData=Object.assign({},d);if(l==="edit"||l==="editClose"||l==="add"){this.currentValues=Object.assign({},d)}if(h.shouldPersist){const t=((i=this.udpFormSubmission)===null||i===void 0?void 0:i.status)===r.Submitted;const c=((s=this.udpFormSubmission)===null||s===void 0?void 0:s.unityUserId)===this.clientUserInfo.id;const u=(((o=(n=(e=this.currentValues||{})===null||e===void 0?void 0:e[h.sectionKey])===null||n===void 0?void 0:n[h.questionKey])===null||o===void 0?void 0:o.comments)||[]).find((t=>(t===null||t===void 0?void 0:t.commentId)===h.commentId&&!(t===null||t===void 0?void 0:t.isDeleted)));if(t||!c){if(!((a=this.udpFormSubmission)===null||a===void 0?void 0:a.id)){this.currentValues=Object.assign({},d)}else if(l==="save"){const t=h.valueToPersist;if(t){try{if(u){await this.formSubmissionHandler.updateComment(this.udpFormSubmission,{sectionKey:h.sectionKey,questionKey:h.questionKey,value:t,commentId:h.commentId})}else{await this.formSubmissionHandler.addComment(this.udpFormSubmission,{sectionKey:h.sectionKey,questionKey:h.questionKey,value:t,commentId:h.commentId})}await this.refreshSubmissionAndSyncState();U(u?"Comment updated.":"Comment added.",this.enqueueSnackbar)}catch(t){x(u?"Failed to update comment.":"Failed to add comment.",this.enqueueSnackbar);throw t}}}else if(l==="delete"){try{await this.formSubmissionHandler.deleteComment(this.udpFormSubmission,{sectionKey:h.sectionKey,questionKey:h.questionKey,commentId:h.commentId});await this.refreshSubmissionAndSyncState();U("Comment deleted.",this.enqueueSnackbar)}catch(t){x("Failed to delete comment.",this.enqueueSnackbar);throw t}}}else{if(this.isPublic){this.currentValues=Object.assign({},d)}else{await this.handleManualSave(d)}}}else{this.currentValues=Object.assign({},d)}}catch(t){console.error("Error handling live comment CRUD:",t)}finally{this.triggerFormRerender()}}async loadFollowUpForms(t,i){var s;this.isLoading=true;try{const e=await o(this.followUpSideSheetListPageNumber,this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE,[{searchField:"type",searchOperator:"=",searchValue:c.FollowUp}],{sortDirection:"DESC",sortColumn:"lastModifiedOn"});const n=e.data;if(!n||!Array.isArray(n.pageList)){throw new Error("Malformed form versions data.")}this.sideSheetFollowUpFormsList=this.formatFollowUpFormsList(n.pageList,t,i);this.followUpSideSheetTotalItems=(s=n.total)!==null&&s!==void 0?s:0}catch(t){console.error("Failed to follow up form.",t)}finally{this.isLoading=false}}formatFollowUpFormsList(t,i,s){return t.map((t=>({listItemData:t,history:this.history,handleLaunchFollowUpForm:async()=>await this.handleLaunchFollowUpForm(t.id,t.version,this.udpFormSubmission.id,this.udpFormSubmission.formId,this.udpFormSubmission.formVersion,i,s)})))}async handleSideSheetPageChange(t){this.followUpSideSheetListPageNumber=t;await this.loadFollowUpForms(this.followUpParentSectionKey,this.followUpParentQuestionKey)}renderFollowUpSideSheet(){if(this.isPublic)return null;return i("udp-side-sheet",{title:"Link a Follow Up Form",open:this.isFollowUpFormsSideSheetOpen,onUdpSideSheetClose:()=>this.handleSideSheetClose(),position:"right",width:"md"},this.isLoading&&this.isFollowUpFormsSideSheetOpen&&i("udp-linear-loader",null),i("udp-list-renderer",{itemComponent:"udp-forms-follow-up-list-card",data:this.sideSheetFollowUpFormsList,pagination:true,isServerSide:true,isLoading:this.isLoading,itemsPerPage:this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE,currentPage:this.followUpSideSheetListPageNumber,totalItems:this.followUpSideSheetTotalItems,onPageChange:t=>this.handleSideSheetPageChange(t.detail),componentDataMap:this.componentMap,spacing:"md"}))}isShowManualSaveIcon(){if(this.isPublic)return false;const t=!!this.clientUserInfo.id&&this.hasUnsavedChanges;return t}get isReadOnlyMode(){return this.isSubmitted||this.udpFormSubmission.unityUserId!==this.clientUserInfo.id}render(){return i("div",{key:"37ec47fc7f3ecec70ba7ca3e12717789285be5d8",class:"forms-renderer-container",style:this.isLoading?{minHeight:"100vh"}:{}},this.renderFollowUpSideSheet(),i("udp-forms-ui",{udpForm:this.udpForm,currentValues:this.currentValues,udpFormSubmission:this.udpFormSubmission,submitSuccessful:this.submitSuccessful,isSaving:this.isSaving,readonly:this.isReadOnlyMode,handleSubmit:this.handleSubmit.bind(this),handleSave:t=>Promise.resolve(this.debouncedManualSave(t)),handleChange:this.handleFormChange,handleAction:this.triggerAction,handleFinish:this.handleFinish,clientUserInfo:this.clientUserInfo,isSubmitted:this.isSubmitted,dynamicSections:this.dynamicSections,duplicateRepeatableSection:this.duplicateRepeatableSection,deleteRepeatableSection:this.deleteRepeatableSection,key:`form-rerender-key-${this.reRenderKey}`,isShowManualSaveIcon:this.isShowManualSaveIcon(),isLoading:this.isLoading,performBackgroundSaveAndUpdateLocalSubmissionState:this.performBackgroundSaveAndUpdateLocalSubmissionState}))}get el(){return s(this)}};export{k as udp_forms_renderer};
1
+ import{r as t,h as i,a as s}from"./index-CaZq3YdB.js";import{throttle as e}from"lodash";import{g as n}from"./tenantUtils-Basdb1b1.js";import{f as o}from"./udp-form-api-utils-vPSYCvIA.js";import{b as r,U as a,c as l,a as c}from"./enums-D5dod6Ie.js";import{b as u}from"./utils-kwLwITIE.js";import{c as h,m as d}from"./makeApiCall-B-daVutk.js";import{S as f,c as m}from"./SearchBuilder-CvKqGlUH.js";import{C as v}from"./configService-BqLfkVKh.js";import{v4 as b}from"uuid";import"axios";function p(t){if(!Array.isArray(t)){return false}return t.every((t=>t instanceof File))}class y{constructor(t={}){this.id=null;this.formId=null;this.formVersion=null;this.data={};this.unityUserId=null;this.clusterId=null;this.userDisplayName="";this.status=null;this.businessObjectKey="";this.udpTags=[];this.form=null;this.initialCreatedOn=null;this.lastModifiedOn=null;this.submittedOn=null;this.generic1=null;this.generic2=null;this.generic3=null;this.userEmail=null;Object.assign(this,t)}processSubmissionIntoFormDataWithoutValues(t){const i=this.buildBaseSubmissionData(t);const s=h(i);s.append("Data",JSON.stringify(this.data));return s}processSubmissionIntoFormData(t,i){const s=this.buildBaseSubmissionData(i);const{cleanedData:e,files:n}=this.extractCleanedDataAndFiles(t);const o=h(s);n.forEach((t=>o.append("FormFiles",t)));const r={submissionResponseData:e,submissionMetadata:this.data.submissionMetadata||null};o.append("Data",JSON.stringify(r));return o}buildBaseSubmissionData(t){const i={FormId:this.formId,FormVersion:this.formVersion.toString(),Status:t};if(this.id){i.Id=this.id}if(this.initialCreatedOn){i.InitialCreatedOn=this.initialCreatedOn}else{i.InitialCreatedOn=(new Date).toISOString()}if(this.lastModifiedOn){i.LastModifiedOn=this.lastModifiedOn}else{i.LastModifiedOn=(new Date).toISOString()}if(this.submittedOn){i.submittedOn=this.submittedOn}if(this.generic1){i.generic1=this.generic1.toString()}if(this.generic2){i.generic2=this.generic2.toString()}if(this.generic3){i.generic3=this.generic3.toString()}return i}extractCleanedDataAndFiles(t){const i=[];const s={};for(const e in t){s[e]={};for(const n in t[e]){const o=t[e][n];const{value:r,fieldFiles:a}=this.extractValueAndFiles(o);if(a)i.push(...a);const l=this.processComments(o.comments);const c=this.processMetadata(o.metadata);s[e][n]=Object.assign({value:r,comments:l},c&&{metadata:c})}}return{cleanedData:s,files:i}}extractValueAndFiles(t){var i,s;let e=((i=t===null||t===void 0?void 0:t.value)===null||i===void 0?void 0:i.files)?t.value.value:t===null||t===void 0?void 0:t.value;const n=(s=t===null||t===void 0?void 0:t.value)===null||s===void 0?void 0:s.files;if(n&&Array.isArray(n)){return{value:typeof e==="string"&&e.trim()!==""?e:"",fieldFiles:n}}if(p(e)){return{value:e.length>0?e.map((t=>t.name)).join(","):"",fieldFiles:e}}if(e instanceof File){return{value:e.name,fieldFiles:[e]}}if(Array.isArray(e)){return{value:e.map((t=>typeof t==="string"?t:t===null||t===void 0?void 0:t.value)).join(",")}}return{value:e}}processComments(t){var i;return(i=t===null||t===void 0?void 0:t.map((t=>Object.assign({},t))))!==null&&i!==void 0?i:[]}processMetadata(t){return t&&Object.keys(t).length>0?Object.assign({},t):undefined}}class w{constructor(t){this.accessMode=t}async addComment(t,i){if(!(t===null||t===void 0?void 0:t.id)){throw new Error("Cannot add a comment without a submission ID.")}const s=`${v.productV1ApiUrl}/UdpFormSubmission/${t.id}/comments/${this.accessMode}`;await d("POST",s,i,true)}async updateComment(t,i){if(!(t===null||t===void 0?void 0:t.id)){throw new Error("Cannot update a comment without a submission ID.")}const{sectionKey:s,questionKey:e,commentId:n,value:o}=i;const r=`${v.productV1ApiUrl}/UdpFormSubmission/${t.id}/comments/${n}`;await d("PUT",r,{value:o,sectionKey:s,questionKey:e},true)}async deleteComment(t,i){if(!(t===null||t===void 0?void 0:t.id)){throw new Error("Cannot delete a comment without a submission ID.")}const{commentId:s}=i;const e=`${v.productV1ApiUrl}/UdpFormSubmission/${t.id}/comments/${s}`;await d("DELETE",e,null,true)}async fetchAndPopulateUdpFormSubmissionObj(t){if(!(t===null||t===void 0?void 0:t.id)){console.warn("Cannot fetch form submission without an ID.");return t}if(this.accessMode==="public"){const i=await this.getFormSubmissionByIdAndUser(t.id,t.unityUserId);return i?new y(Object.assign(Object.assign({},t),i)):t}const{id:i}=t;const s=await this.getFormSubmissionById(i);return s?new y(Object.assign(Object.assign({},t),s)):t}async createNewLinkedFollowUpFormSubmission(t){if(this.accessMode==="public"){throw new Error("Follow-up form submissions are not supported for public forms.")}return this.saveFormDataWithoutValues(t,r.InProgress)}async saveCurrentFormSubmissionState(t,i){if(this.accessMode==="public"){return i}return this.saveSubmissionToDB(t,i,r.InProgress)}async finalizeFormSubmissionState(t,i){return this.saveSubmissionToDB(t,i,r.Submitted)}async saveFormDataWithoutValues(t,i){const s=t.processSubmissionIntoFormDataWithoutValues(i);const{method:e,url:n}=this.getApiRequestInfo(t);const o=await d(e,n,s,true);if(o===""){return await this.fetchAndPopulateUdpFormSubmissionObj(t)}return new y(Object.assign(Object.assign({},t),o))}getApiRequestInfo(t){const i=`${v.productV1ApiUrl}/UdpFormSubmission/${this.accessMode}`;if(this.accessMode==="public"){return{method:"POST",url:i}}return t.id?{method:"PUT",url:i}:{method:"POST",url:i}}async saveSubmissionToDB(t,i,s){const e=i.processSubmissionIntoFormData(t,s);const{method:n,url:o}=this.getApiRequestInfo(i);const r=await d(n,o,e,true);if(r===""){return await this.fetchAndPopulateUdpFormSubmissionObj(i)}const a=new y(Object.assign(Object.assign({},i),r));Object.assign(i,a);return a}async getFormSubmissionById(t){var i;try{const s=new f(1,1).addFilter("id",t,m.EQUALS);const e=await s.execute("UdpFormSubmission");return((i=e===null||e===void 0?void 0:e.pageList)===null||i===void 0?void 0:i[0])||null}catch(t){console.error("Error fetching form submission by ID:",t);return null}}async getFormSubmissionByIdAndUser(t,i){var s;try{const e=new f(1,1).addFilter("id",t,m.EQUALS).addFilter("unityUserId",i,m.EQUALS);const n=await e.execute("UdpFormSubmission");return((s=n===null||n===void 0?void 0:n.pageList)===null||s===void 0?void 0:s[0])||null}catch(t){console.error("Error fetching form submission by ID:",t);return null}}}class S{static create(t,i){return new w(t?"public":"private")}}class O{constructor(t,i=false){this.tenantId=t;this.isPublic=i}buildDescribeUrl(t,i){const s=v.productV1ApiUrl;if(this.isPublic){return`${s}/UdpForm/${t}/${i}/describe/public`}else{return`${s}/UdpForm/${t}/${i}/describe`}}async getFormByFormIdAndFormVersion(t,i){const s=this.buildDescribeUrl(t,i);const e=await d("GET",s);if(e.styleOverrides&&typeof e.styleOverrides==="string"){e.styleOverrides=JSON.parse(e.styleOverrides)}return e}}class j{constructor(t){if(!t)return;Object.assign(this,t)}}const I=(t,i)=>{const s=Object.keys(i);const e=new Set;const n=new RegExp(`^${t}_(\\d+)`);s.forEach((t=>{const i=t.match(n);if(i&&i[1]){e.add(Number(i[1]))}}));return Array.from(e).sort(((t,i)=>t-i))};const F=(t,i)=>{var s;const e=[];const n=structuredClone(t.udpFormUdpFormSection).sort(((t,i)=>t.order-i.order));for(const o of n){o.sectionProperties=JSON.parse(o.sectionProperties||{});const n=I(o.name,i);o.isOriginalSection=true;o.sectionPositionSuffix=1;e.push(Object.assign(Object.assign({},structuredClone(o)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===o.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${o.name}.${t.name}`,isShowCommentInput:true})))}));if(((s=o.sectionProperties)===null||s===void 0?void 0:s.isRepeatable)&&n.length>0){const i=Math.max(...n);for(let s=2;s<=i;s++){const i=Object.assign(Object.assign({},structuredClone(o)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===o.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${o.name}_${s}.${t.name}`,isShowCommentInput:true}))),isOriginalSection:false,sectionPositionSuffix:s});e.push(i)}}}return e};const C=t=>{const i=t&&typeof t==="object"?t:{};const s={};Object.keys(i).forEach((t=>{var i;const e=t.match(/^([^._?&#]+)_(\d+)\./);if(!e)return;const n=e[1];const o=Number(e[2]);if(!Number.isFinite(o)||o<2)return;const r=(i=s[n])!==null&&i!==void 0?i:1;if(o>r)s[n]=o}));return s};const $=(t,i,s)=>{var e,n;const o=C(s);const r=[];const a=structuredClone(t.udpFormUdpFormSection).sort(((t,i)=>t.order-i.order));for(const s of a){s.sectionProperties=JSON.parse(s.sectionProperties||{});const a=I(s.name,i);const l=a.length>0?Math.max(...a):1;const c=(e=o===null||o===void 0?void 0:o[s.name])!==null&&e!==void 0?e:1;const u=Math.max(l,c);s.isOriginalSection=true;s.sectionPositionSuffix=1;r.push(Object.assign(Object.assign({},structuredClone(s)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===s.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${s.name}.${t.name}`,isShowCommentInput:true})))}));if(((n=s.sectionProperties)===null||n===void 0?void 0:n.isRepeatable)&&u>=2){for(let i=2;i<=u;i++){const e=Object.assign(Object.assign({},structuredClone(s)),{formQuestions:structuredClone(t.formQuestions).filter((t=>t.formSectionId===s.id)).sort(((t,i)=>t.questionOrder-i.questionOrder)).map((t=>Object.assign(Object.assign({},t),{questionIdentifierKey:`${s.name}_${i}.${t.name}`,isShowCommentInput:true}))),isOriginalSection:false,sectionPositionSuffix:i});r.push(e)}}}return r};const D=(t,i)=>{if(!Array.isArray(t))return;const s=i&&typeof i==="object"?i:{};const e={};Object.keys(s).forEach((t=>{e[String(t).toLowerCase()]=s[t]}));const n={};t.forEach((t=>{const i=t.isOriginalSection?t.name:`${t.name}_${t.sectionPositionSuffix}`;(t.formQuestions||[]).forEach((t=>{if(!t)return;const s=[t.processedSubmissionName,t.questionIdentifierKey,t.name].filter(Boolean);let o=undefined;for(const t of s){const i=String(t).toLowerCase();if(Object.prototype.hasOwnProperty.call(e,i)){o=e[i];break}}if(o!==undefined&&o!==null){if(!n[i])n[i]={};n[i][t.name]={value:o,comments:[]}}}))}));const o={};Object.entries(n).forEach((([t,i])=>{if(!o[t])o[t]={};Object.entries(i).forEach((([i,s])=>{const e=o[t][i];const n=e==null||e.value==null||typeof e.value==="string"&&e.value.trim()==="";if(n){o[t][i]=s}}))}));t.forEach((t=>{const i=t.isOriginalSection?t.name:`${t.name}_${t.sectionPositionSuffix}`;if(!o[i])o[i]={};(t.formQuestions||[]).forEach((t=>{var s;if(!t)return;if(t.fieldTypeId===l.Paragraph){const e=o[i][t.name];const n=e==null||e.value==null||typeof e.value==="string"&&e.value.trim()==="";if(n){let e=t===null||t===void 0?void 0:t.fieldProperties;if(typeof e==="string"){try{e=JSON.parse(e||"{}")}catch(t){e={}}}o[i][t.name]={value:(s=e===null||e===void 0?void 0:e.paragraphText)!==null&&s!==void 0?s:"",comments:[]}}}}))}));return o};const g=(t,i)=>{const s=typeof window!=="undefined"?window.location.pathname:`/page/${a.FormRendererPageId}`;const e=typeof window!=="undefined"?window.location.hash:"";const n=`${s}?udpf_submissionId=${t}${e}`;const o=i;if(o){if(typeof o.replace==="function"){o.replace(n);return}if(typeof o.push==="function"){o.push(n);return}if(typeof o==="function"){try{o(n,{replace:true})}catch(t){o(n)}return}}if(typeof window!=="undefined"&&window.history&&typeof window.history.replaceState==="function"){window.history.replaceState({},"",n)}else if(typeof window!=="undefined"){window.location.href=n}};const U=(t,i)=>{i===null||i===void 0?void 0:i(t,{variant:"success",anchorOrigin:{vertical:"top",horizontal:"center"}})};const x=(t,i)=>{i===null||i===void 0?void 0:i(t,{variant:"error",anchorOrigin:{vertical:"top",horizontal:"center"}})};const K=t=>t.isOriginalSection?t.name:`${t.name}_${t.sectionPositionSuffix}`;const P=t=>{if(!t)return{};if(typeof t==="object")return t;if(typeof t!=="string")return{};try{return JSON.parse(t||"{}")}catch(t){return{}}};const q=t=>{var i,s,e;const{dynamicSections:n,values:o,index:r}=t;const a=n[r];if(!a)return{nextDynamicSections:n,nextValues:o};const c=a.name;const u=I(c,o);const h=u.length>0?Math.max(...u)+1:2;const d=Object.assign(Object.assign({},structuredClone(a)),{formQuestions:(a.formQuestions||[]).map((t=>{const i=structuredClone(t);i.questionIdentifierKey=`${c}_${h}.${t.name}`;return i})),isOriginalSection:false,sectionPositionSuffix:h});let f=r;for(let t=r+1;t<n.length;t++){const i=n[t];if(i.name===c)f=t;else break}const m=[...n.slice(0,f+1),d,...n.slice(f+1)];const v=structuredClone(o||{});const b=`${c}_${h}`;const p=K(a);for(const t of d.formQuestions||[]){if(!v[b])v[b]={};let n="";if(t.fieldTypeId===l.Paragraph){const r=(s=(i=o===null||o===void 0?void 0:o[p])===null||i===void 0?void 0:i[t.name])===null||s===void 0?void 0:s.value;const a=P(t.fieldProperties);const l=(e=a===null||a===void 0?void 0:a.paragraphText)!==null&&e!==void 0?e:"";n=r!==null&&r!==void 0?r:l}v[b][t.name]={value:n,comments:[],metadata:{}}}return{nextDynamicSections:m,nextValues:v}};const A=t=>{const{dynamicSections:i,values:s,index:e}=t;const n=i[e];if(!n||n.isOriginalSection){return{nextDynamicSections:i,nextValues:s}}const o=n.name;const r=n.sectionPositionSuffix;const a=`${o}_${r}`;const l=Object.assign({},s||{});delete l[a];const c=structuredClone(i);c.splice(e,1);c.forEach((t=>{var i;if(t.name!==o||t.isOriginalSection||((i=t.sectionPositionSuffix)!==null&&i!==void 0?i:0)<=(r!==null&&r!==void 0?r:0)){return}const s=t.sectionPositionSuffix;const e=`${o}_${s}`;const n=s-1;const a=`${o}_${n}`;t.sectionPositionSuffix=n;t.formQuestions=(t.formQuestions||[]).map((t=>{const i=structuredClone(t);i.questionIdentifierKey=`${a}.${t.name}`;return i}));if(l[e]){l[a]=structuredClone(l[e]);delete l[e]}}));return{nextDynamicSections:c,nextValues:l}};function _(t){var i,s,e,n,o;const{actionType:r,questionIdentifierKey:a,commentId:l,currentSubmissionResponseData:c,clientUserInfo:u}=t;const h=(a||"").split(".");const d=h[0]||"";const f=h[1]||"";if(!d||!f){return{sectionKey:d,questionKey:f,nextSubmissionResponseData:c||{},didMutate:false,shouldPersist:false,persistIntent:"none",commentId:l}}const m=structuredClone(c||{});if(!m[d])m[d]={};if(!m[d][f]){m[d][f]={value:"",comments:[],draftComments:[],metadata:{}}}else{m[d][f].comments=(i=m[d][f].comments)!==null&&i!==void 0?i:[];m[d][f].draftComments=(s=m[d][f].draftComments)!==null&&s!==void 0?s:[];m[d][f].metadata=(e=m[d][f].metadata)!==null&&e!==void 0?e:{}}const v=m[d][f].draftComments;if(v&&!Array.isArray(v)){m[d][f].draftComments=[v]}else if(!v){m[d][f].draftComments=[]}const p=m[d][f].comments||[];const y=m[d][f].draftComments||[];let w=false;switch(r){case"add":{const t={value:"",commentId:b(),isTempComment:true,timestamp:null};m[d][f].draftComments=[t,...y];w=true;break}case"save":{const t=y.findIndex((t=>t.commentId===l));if(t===-1){return{sectionKey:d,questionKey:f,nextSubmissionResponseData:m,didMutate:false,shouldPersist:false,persistIntent:"none",commentId:l}}const i=y[t];const s=i.timestamp||(new Date).toISOString();const e=Object.assign(Object.assign({},i),{timestamp:s,editedTimestamp:(new Date).toISOString(),userId:u===null||u===void 0?void 0:u.id,userDisplayName:u===null||u===void 0?void 0:u.displayName,isDraftComment:false});const n=p.findIndex((t=>t.commentId===l));if(n!==-1){const t=[...p];t[n]=Object.assign({},e);m[d][f].comments=t}else{m[d][f].comments=[...p,e]}m[d][f].draftComments=y.filter((t=>t.commentId!==l));w=true;break}case"edit":{const t=p.find((t=>t.commentId===l));if(!t){return{sectionKey:d,questionKey:f,nextSubmissionResponseData:m,didMutate:false,shouldPersist:false,persistIntent:"none",commentId:l}}const i=Object.assign(Object.assign({},t),{isDraftComment:true,timestamp:null});m[d][f].draftComments=[i,...y];m[d][f].comments=p;w=true;break}case"delete":{m[d][f].comments=p.map((t=>{if(t.commentId===l){return Object.assign(Object.assign({},t),{isDeleted:true,value:"",editedTimestamp:(new Date).toISOString()})}return t}));w=true;break}case"editClose":{m[d][f].draftComments=y.filter((t=>t.commentId!==l));w=true;break}}const S=r==="save"||r==="delete";let O;if(r==="save"){const t=(((o=(n=m===null||m===void 0?void 0:m[d])===null||n===void 0?void 0:n[f])===null||o===void 0?void 0:o.comments)||[]).find((t=>t.commentId===l));O=t===null||t===void 0?void 0:t.value}return{sectionKey:d,questionKey:f,nextSubmissionResponseData:m,didMutate:w,shouldPersist:S,persistIntent:"none",commentId:l,valueToPersist:O}}const k=class{constructor(i){t(this,i);this.isPublic=false;this.autoSaveDelay=2e3;this.urlContext={};this.currentValues={};this.submitSuccessful=false;this.isLoading=false;this.isSaving=false;this.isSubmitted=false;this.dynamicSections=[];this.isUpdatingSections=false;this.reRenderKey=0;this.hasUnsavedChanges=false;this.sideSheetFollowUpFormsList=[];this.followUpSideSheetTotalItems=0;this.isFollowUpFormsSideSheetOpen=false;this.followUpSideSheetListPageNumber=1;this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE=5;this.componentMap={history:"history",listItemData:"listItemData",handleLaunchFollowUpForm:"handleLaunchFollowUpForm"};this.tenantId=n();this.clientUserInfo={id:null,displayName:null,email:null};this.followUpParentSectionKey="";this.followUpParentQuestionKey="";this.publicFeatures={allowDraftSave:false,allowComments:true,allowFollowUpForms:false};this.handleLaunchFollowUpFormSideSheet=async t=>{try{if(this.isPublic){return}this.followUpParentSectionKey=t.detail.sectionKey;this.followUpParentQuestionKey=t.detail.questionKey;await this.loadFollowUpForms(this.followUpParentSectionKey,this.followUpParentQuestionKey);this.isFollowUpFormsSideSheetOpen=true}catch(t){console.error("Error loading follow-up forms:",t)}};this.duplicateRepeatableSection=t=>{if(this.isSubmitted||this.isUpdatingSections)return;this.isUpdatingSections=true;this.isLoading=true;try{const{nextDynamicSections:i,nextValues:s}=q({dynamicSections:this.dynamicSections,values:structuredClone(this.udpFormSubmission.data.submissionResponseData||{}),index:t});this.dynamicSections=i;this.currentValues=Object.assign({},s);this.udpFormSubmission.data.submissionResponseData=Object.assign({},s);this.triggerFormRerender()}finally{this.isUpdatingSections=false;this.isLoading=false;this.hasUnsavedChanges=true}};this.deleteRepeatableSection=t=>{if(this.isSubmitted)return;const i=this.dynamicSections[t];if(!i||i.isOriginalSection)return;this.isUpdatingSections=true;this.isLoading=true;try{const{nextDynamicSections:i,nextValues:s}=A({dynamicSections:this.dynamicSections,values:Object.assign({},this.udpFormSubmission.data.submissionResponseData||{}),index:t});this.dynamicSections=i;this.currentValues=Object.assign({},s);this.udpFormSubmission.data.submissionResponseData=Object.assign({},s);this.triggerFormRerender()}finally{this.isUpdatingSections=false;this.isLoading=false;this.hasUnsavedChanges=true}};this.performBackgroundSaveAndUpdateLocalSubmissionState=async t=>this.performBackgroundSaveAndUpdateLocalSubmissionStateInternal(t);this.performBackgroundSaveAndUpdateLocalSubmissionStateInternal=async(t,i)=>{var s,e;const n=(s=i===null||i===void 0?void 0:i.allowUrlReplace)!==null&&s!==void 0?s:!this.isPublic;const o=(e=i===null||i===void 0?void 0:i.forceCreateDraftIfMissingId)!==null&&e!==void 0?e:false;if(this.isPublic&&!this.publicFeatures.allowDraftSave&&!o){return}try{await this.formSubmissionHandler.saveCurrentFormSubmissionState(t,this.udpFormSubmission);await this.refreshSubmissionAndSyncState();if(n&&!new URLSearchParams(window.location.search).has("udpf_submissionId")){g(this.udpFormSubmission.id,this.history)}}catch(t){}finally{this.isSaving=false;this.hasUnsavedChanges=false}};this.refreshSubmissionAndSyncState=async()=>{var t,i;if(!((t=this.udpFormSubmission)===null||t===void 0?void 0:t.id))return;const s=await this.formSubmissionHandler.fetchAndPopulateUdpFormSubmissionObj(this.udpFormSubmission);this.udpFormSubmission=s;this.currentValues=Object.assign({},((i=s.data)===null||i===void 0?void 0:i.submissionResponseData)||{});this.isSubmitted=s.status===r.Submitted};this.handleManualSave=async t=>{if(this.isPublic&&!this.publicFeatures.allowDraftSave)return;this.isSaving=true;try{await this.formSubmissionHandler.saveCurrentFormSubmissionState(t,this.udpFormSubmission);await this.refreshSubmissionAndSyncState();if(!new URLSearchParams(window.location.search).has("udpf_submissionId")){g(this.udpFormSubmission.id,this.history)}U("Form saved successfully.",this.enqueueSnackbar)}catch(t){x("There was an error saving this form",this.enqueueSnackbar)}finally{this.isSaving=false;this.hasUnsavedChanges=false}};this.handleFormChange=t=>{if(this.isUpdatingSections)return;this.udpFormSubmission.data.submissionResponseData=t};this.handleFinish=()=>{if(this.triggerAction){this.triggerAction(null,{action:"finish"})}};this.triggerFormRerender=()=>{const t=window.scrollY;this.reRenderKey+=1;requestAnimationFrame((()=>{window.scrollTo({top:t,behavior:"auto"})}))};this.handleLaunchFollowUpForm=async(t,i,s,e,n,o,r)=>{const l=await this.formHandler.getFormByFormIdAndFormVersion(t,i);const c={submissionResponseData:u(l),submissionMetadata:{ParentSubmission:{submissionId:s,formId:e,formVersion:n}}};const h=new y({formId:t,formVersion:i,unityUserId:this.clientUserInfo.id,data:c});const d=S.create(false,this.clientUserInfo.id);const f=await d.createNewLinkedFollowUpFormSubmission(h);const m=this.udpFormSubmission.data.submissionResponseData[o][r].metadata;this.udpFormSubmission.data.submissionResponseData[o][r].metadata=Object.assign(Object.assign({},m),{followUpFormSubmissionId:f.id});await this.performBackgroundSaveAndUpdateLocalSubmissionState(this.udpFormSubmission.data.submissionResponseData);const v=`/page/${a.FormRendererPageId}?udpf_submissionId=${f.id}`;window.open(v,"_blank");this.handleSideSheetClose();this.triggerFormRerender()};this.handleSideSheetClose=()=>{this.sideSheetFollowUpFormsList=[];this.followUpSideSheetListPageNumber=1;this.followUpSideSheetTotalItems=0;this.isFollowUpFormsSideSheetOpen=false;this.followUpParentSectionKey="";this.followUpParentQuestionKey=""}}componentDidLoad(){if(this.el){this.el.addEventListener("questionCommentAction",(async t=>this.handleQuestionCommentLiveCRUD(t)));this.el.addEventListener("launchFollowUpFormSideSheet",(t=>this.handleLaunchFollowUpFormSideSheet(t)));this.el.addEventListener("formDirtyChange",(t=>{this.hasUnsavedChanges=this.hasUnsavedChanges||t.detail}))}}async componentWillLoad(){var t;this.isLoading=true;try{if(this.isPublic){this.clientUserInfo.id="00000000-0000-0000-0000-000000000001";this.clientUserInfo.displayName="Anonymous"}else{const i=(t=this.getUserCallback)===null||t===void 0?void 0:t.call(this);if(i){this.clientUserInfo.id=i.id||null;this.clientUserInfo.displayName=i.name||null;this.clientUserInfo.email=i.email||null}}this.formSubmissionHandler=S.create(this.isPublic,this.clientUserInfo.id);this.udpFormSubmission=new y({id:this.submissionId,formId:this.formId,formVersion:this.version,unityUserId:this.clientUserInfo.id,generic1:this.urlContext.generic1,generic2:this.urlContext.generic2,generic3:this.urlContext.generic3});if(this.submissionId){this.udpFormSubmission=await this.formSubmissionHandler.fetchAndPopulateUdpFormSubmissionObj(this.udpFormSubmission)}let i;let s;if(this.submissionId){i=this.udpFormSubmission.formId;s=this.udpFormSubmission.formVersion}else if(this.formId&&this.version){i=this.formId;s=this.version}this.formHandler=new O(this.tenantId);const n=await this.formHandler.getFormByFormIdAndFormVersion(i,s);this.udpForm=new j(n);this.currentValues=u(this.udpForm);if(this.udpFormSubmission.data.submissionResponseData){this.currentValues=Object.assign({},this.udpFormSubmission.data.submissionResponseData);if(this.udpFormSubmission.status===r.Submitted){this.isSubmitted=true}}if((!this.udpFormSubmission.id||this.udpFormSubmission.status===r.Created)&&this.urlContext&&Object.keys(this.urlContext).length>0){this.dynamicSections=$(this.udpForm,this.currentValues,this.urlContext);const t=D(this.dynamicSections,this.urlContext);if(t){this.currentValues=t;this.udpFormSubmission.data.submissionResponseData=Object.assign({},t)}}else{this.dynamicSections=F(this.udpForm,this.currentValues)}this.debouncedManualSave=e((async t=>{await this.handleManualSave(t)}),2e3,{leading:true,trailing:false})}catch(t){console.error("Error failed to load form in the form renderer:",t)}finally{this.isLoading=false}}async handleSubmit(t){this.isLoading=true;try{await this.formSubmissionHandler.finalizeFormSubmissionState(t,this.udpFormSubmission);await this.refreshSubmissionAndSyncState();this.submitSuccessful=true}catch(t){x("There was an error submitting this form",this.enqueueSnackbar);throw t}finally{this.isLoading=false}}async handleQuestionCommentLiveCRUD(t){var i,s,e,n,o,a;if(this.isPublic&&!this.publicFeatures.allowComments)return;try{const{type:l,questionIdentifierKey:c,commentId:u}=t.detail;const h=_({actionType:l,questionIdentifierKey:c,commentId:u,currentSubmissionResponseData:this.udpFormSubmission.data.submissionResponseData||{},clientUserInfo:this.clientUserInfo});const d=h.nextSubmissionResponseData;this.udpFormSubmission.data.submissionResponseData=Object.assign({},d);if(l==="edit"||l==="editClose"||l==="add"){this.currentValues=Object.assign({},d)}if(h.shouldPersist){const t=((i=this.udpFormSubmission)===null||i===void 0?void 0:i.status)===r.Submitted;const c=((s=this.udpFormSubmission)===null||s===void 0?void 0:s.unityUserId)===this.clientUserInfo.id;const u=(((o=(n=(e=this.currentValues||{})===null||e===void 0?void 0:e[h.sectionKey])===null||n===void 0?void 0:n[h.questionKey])===null||o===void 0?void 0:o.comments)||[]).find((t=>(t===null||t===void 0?void 0:t.commentId)===h.commentId&&!(t===null||t===void 0?void 0:t.isDeleted)));if(t||!c){if(!((a=this.udpFormSubmission)===null||a===void 0?void 0:a.id)){this.currentValues=Object.assign({},d)}else if(l==="save"){const t=h.valueToPersist;if(t){try{if(u){await this.formSubmissionHandler.updateComment(this.udpFormSubmission,{sectionKey:h.sectionKey,questionKey:h.questionKey,value:t,commentId:h.commentId})}else{await this.formSubmissionHandler.addComment(this.udpFormSubmission,{sectionKey:h.sectionKey,questionKey:h.questionKey,value:t,commentId:h.commentId})}await this.refreshSubmissionAndSyncState();U(u?"Comment updated.":"Comment added.",this.enqueueSnackbar)}catch(t){x(u?"Failed to update comment.":"Failed to add comment.",this.enqueueSnackbar);throw t}}}else if(l==="delete"){try{await this.formSubmissionHandler.deleteComment(this.udpFormSubmission,{sectionKey:h.sectionKey,questionKey:h.questionKey,commentId:h.commentId});await this.refreshSubmissionAndSyncState();U("Comment deleted.",this.enqueueSnackbar)}catch(t){x("Failed to delete comment.",this.enqueueSnackbar);throw t}}}else{if(this.isPublic){this.currentValues=Object.assign({},d)}else{await this.handleManualSave(d)}}}else{this.currentValues=Object.assign({},d)}}catch(t){console.error("Error handling live comment CRUD:",t)}finally{this.triggerFormRerender()}}async loadFollowUpForms(t,i){var s;this.isLoading=true;try{const e=await o(this.followUpSideSheetListPageNumber,this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE,[{searchField:"type",searchOperator:"=",searchValue:c.FollowUp}],{sortDirection:"DESC",sortColumn:"lastModifiedOn"});const n=e.data;if(!n||!Array.isArray(n.pageList)){throw new Error("Malformed form versions data.")}this.sideSheetFollowUpFormsList=this.formatFollowUpFormsList(n.pageList,t,i);this.followUpSideSheetTotalItems=(s=n.total)!==null&&s!==void 0?s:0}catch(t){console.error("Failed to follow up form.",t)}finally{this.isLoading=false}}formatFollowUpFormsList(t,i,s){return t.map((t=>({listItemData:t,history:this.history,handleLaunchFollowUpForm:async()=>await this.handleLaunchFollowUpForm(t.id,t.version,this.udpFormSubmission.id,this.udpFormSubmission.formId,this.udpFormSubmission.formVersion,i,s)})))}async handleSideSheetPageChange(t){this.followUpSideSheetListPageNumber=t;await this.loadFollowUpForms(this.followUpParentSectionKey,this.followUpParentQuestionKey)}renderFollowUpSideSheet(){if(this.isPublic)return null;return i("udp-side-sheet",{title:"Link a Follow Up Form",open:this.isFollowUpFormsSideSheetOpen,onUdpSideSheetClose:()=>this.handleSideSheetClose(),position:"right",width:"md"},this.isLoading&&this.isFollowUpFormsSideSheetOpen&&i("udp-linear-loader",null),i("udp-list-renderer",{itemComponent:"udp-forms-follow-up-list-card",data:this.sideSheetFollowUpFormsList,pagination:true,isServerSide:true,isLoading:this.isLoading,itemsPerPage:this.FOLLOW_UP_SIDE_SHEET_PAGE_SIZE,currentPage:this.followUpSideSheetListPageNumber,totalItems:this.followUpSideSheetTotalItems,onPageChange:t=>this.handleSideSheetPageChange(t.detail),componentDataMap:this.componentMap,spacing:"md"}))}isShowManualSaveIcon(){if(this.isPublic)return false;const t=!!this.clientUserInfo.id&&this.hasUnsavedChanges;return t}get isReadOnlyMode(){return this.isSubmitted||this.udpFormSubmission.unityUserId!==this.clientUserInfo.id}render(){return i("div",{key:"37ec47fc7f3ecec70ba7ca3e12717789285be5d8",class:"forms-renderer-container",style:this.isLoading?{minHeight:"100vh"}:{}},this.renderFollowUpSideSheet(),i("udp-forms-ui",{udpForm:this.udpForm,currentValues:this.currentValues,udpFormSubmission:this.udpFormSubmission,submitSuccessful:this.submitSuccessful,isSaving:this.isSaving,readonly:this.isReadOnlyMode,handleSubmit:this.handleSubmit.bind(this),handleSave:t=>Promise.resolve(this.debouncedManualSave(t)),handleChange:this.handleFormChange,handleAction:this.triggerAction,handleFinish:this.handleFinish,clientUserInfo:this.clientUserInfo,isSubmitted:this.isSubmitted,dynamicSections:this.dynamicSections,duplicateRepeatableSection:this.duplicateRepeatableSection,deleteRepeatableSection:this.deleteRepeatableSection,key:`form-rerender-key-${this.reRenderKey}`,isShowManualSaveIcon:this.isShowManualSaveIcon(),isLoading:this.isLoading,performBackgroundSaveAndUpdateLocalSubmissionState:this.performBackgroundSaveAndUpdateLocalSubmissionState}))}get el(){return s(this)}};export{k as udp_forms_renderer};
2
2
  //# sourceMappingURL=udp-forms-renderer.entry.js.map