@oneblink/apps-react 8.14.0 → 9.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/OneBlinkAutoSaveForm.d.ts +1 -1
- package/dist/OneBlinkAutoSaveForm.js +6 -8
- package/dist/OneBlinkAutoSaveForm.js.map +1 -1
- package/dist/OneBlinkForm.d.ts +6 -10
- package/dist/OneBlinkForm.js +3 -6
- package/dist/OneBlinkForm.js.map +1 -1
- package/dist/OneBlinkFormBase.d.ts +2 -2
- package/dist/OneBlinkFormBase.js +51 -147
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/OneBlinkReadOnlyForm.d.ts +2 -2
- package/dist/OneBlinkReadOnlyForm.js +3 -2
- package/dist/OneBlinkReadOnlyForm.js.map +1 -1
- package/dist/PaymentReceipt.d.ts +2 -2
- package/dist/PaymentReceipt.js +12 -33
- package/dist/PaymentReceipt.js.map +1 -1
- package/dist/apps/Sentry.d.ts +7 -0
- package/dist/apps/Sentry.js +16 -0
- package/dist/apps/Sentry.js.map +1 -0
- package/dist/apps/approvals-service.d.ts +390 -0
- package/dist/apps/approvals-service.js +987 -0
- package/dist/apps/approvals-service.js.map +1 -0
- package/dist/apps/attachments-service.d.ts +49 -0
- package/dist/apps/attachments-service.js +134 -0
- package/dist/apps/attachments-service.js.map +1 -0
- package/dist/apps/auth-service.d.ts +114 -0
- package/dist/apps/auth-service.js +194 -0
- package/dist/apps/auth-service.js.map +1 -0
- package/dist/apps/auto-save-service.d.ts +82 -0
- package/dist/apps/auto-save-service.js +105 -0
- package/dist/apps/auto-save-service.js.map +1 -0
- package/dist/apps/draft-service.d.ts +148 -0
- package/dist/apps/draft-service.js +583 -0
- package/dist/apps/draft-service.js.map +1 -0
- package/dist/apps/form-service.d.ts +204 -0
- package/dist/apps/form-service.js +718 -0
- package/dist/apps/form-service.js.map +1 -0
- package/dist/apps/form-store-service.d.ts +141 -0
- package/dist/apps/form-store-service.js +114 -0
- package/dist/apps/form-store-service.js.map +1 -0
- package/dist/apps/forms-app-environment-service.d.ts +19 -0
- package/dist/apps/forms-app-environment-service.js +55 -0
- package/dist/apps/forms-app-environment-service.js.map +1 -0
- package/dist/apps/forms-app-service.d.ts +18 -0
- package/dist/apps/forms-app-service.js +53 -0
- package/dist/apps/forms-app-service.js.map +1 -0
- package/dist/apps/index.d.ts +253 -0
- package/dist/apps/index.js +255 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/job-service.d.ts +20 -0
- package/dist/apps/job-service.js +95 -0
- package/dist/apps/job-service.js.map +1 -0
- package/dist/apps/localisation-service.d.ts +207 -0
- package/dist/apps/localisation-service.js +321 -0
- package/dist/apps/localisation-service.js.map +1 -0
- package/dist/apps/notification-service.d.ts +83 -0
- package/dist/apps/notification-service.js +315 -0
- package/dist/apps/notification-service.js.map +1 -0
- package/dist/apps/offline-service.d.ts +18 -0
- package/dist/apps/offline-service.js +25 -0
- package/dist/apps/offline-service.js.map +1 -0
- package/dist/apps/payment-service.d.ts +110 -0
- package/dist/apps/payment-service.js +182 -0
- package/dist/apps/payment-service.js.map +1 -0
- package/dist/apps/prefill-service.d.ts +14 -0
- package/dist/apps/prefill-service.js +19 -0
- package/dist/apps/prefill-service.js.map +1 -0
- package/dist/apps/scheduled-tasks-service.d.ts +127 -0
- package/dist/apps/scheduled-tasks-service.js +240 -0
- package/dist/apps/scheduled-tasks-service.js.map +1 -0
- package/dist/apps/scheduling-service.d.ts +101 -0
- package/dist/apps/scheduling-service.js +171 -0
- package/dist/apps/scheduling-service.js.map +1 -0
- package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
- package/dist/apps/services/AWSCognitoClient.js +436 -0
- package/dist/apps/services/AWSCognitoClient.js.map +1 -0
- package/dist/apps/services/api/drafts.d.ts +7 -0
- package/dist/apps/services/api/drafts.js +236 -0
- package/dist/apps/services/api/drafts.js.map +1 -0
- package/dist/apps/services/api/notifications.d.ts +3 -0
- package/dist/apps/services/api/notifications.js +60 -0
- package/dist/apps/services/api/notifications.js.map +1 -0
- package/dist/apps/services/api/payment.d.ts +23 -0
- package/dist/apps/services/api/payment.js +235 -0
- package/dist/apps/services/api/payment.js.map +1 -0
- package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
- package/dist/apps/services/api/prefill.d.ts +1 -0
- package/dist/apps/services/api/prefill.js +70 -0
- package/dist/apps/services/api/prefill.js.map +1 -0
- package/dist/apps/services/api/receipt-id.d.ts +2 -0
- package/dist/apps/services/api/receipt-id.js +54 -0
- package/dist/apps/services/api/receipt-id.js.map +1 -0
- package/dist/apps/services/api/scheduling.d.ts +38 -0
- package/dist/apps/services/api/scheduling.js +142 -0
- package/dist/apps/services/api/scheduling.js.map +1 -0
- package/dist/apps/services/api/submissions.d.ts +18 -0
- package/dist/apps/services/api/submissions.js +166 -0
- package/dist/apps/services/api/submissions.js.map +1 -0
- package/dist/apps/services/cognito.d.ts +302 -0
- package/dist/apps/services/cognito.js +441 -0
- package/dist/apps/services/cognito.js.map +1 -0
- package/dist/apps/services/draft-data-store.d.ts +16 -0
- package/dist/apps/services/draft-data-store.js +115 -0
- package/dist/apps/services/draft-data-store.js.map +1 -0
- package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
- package/dist/apps/services/external-id-generation.d.ts +4 -0
- package/dist/apps/services/external-id-generation.js +59 -0
- package/dist/apps/services/external-id-generation.js.map +1 -0
- package/dist/apps/services/fetch.d.ts +12 -0
- package/dist/apps/services/fetch.js +95 -0
- package/dist/apps/services/fetch.js.map +1 -0
- package/dist/apps/services/forms-key.d.ts +51 -0
- package/dist/apps/services/forms-key.js +83 -0
- package/dist/apps/services/forms-key.js.map +1 -0
- package/dist/apps/services/generate-generic-error.d.ts +3 -0
- package/dist/apps/services/generate-generic-error.js +52 -0
- package/dist/apps/services/generate-generic-error.js.map +1 -0
- package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
- package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
- package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkUploader.js +11 -0
- package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
- package/dist/apps/services/getDeviceInformation.d.ts +17 -0
- package/dist/apps/services/getDeviceInformation.js +38 -0
- package/dist/apps/services/getDeviceInformation.js.map +1 -0
- package/dist/apps/services/integration-elements.d.ts +383 -0
- package/dist/apps/services/integration-elements.js +761 -0
- package/dist/apps/services/integration-elements.js.map +1 -0
- package/dist/apps/services/job-prefill.d.ts +40 -0
- package/dist/apps/services/job-prefill.js +78 -0
- package/dist/apps/services/job-prefill.js.map +1 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
- package/dist/apps/services/payment-providers/receipt-items.js +58 -0
- package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
- package/dist/apps/services/pending-queue.d.ts +150 -0
- package/dist/apps/services/pending-queue.js +316 -0
- package/dist/apps/services/pending-queue.js.map +1 -0
- package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
- package/dist/apps/services/prepareSubmissionData.js +113 -0
- package/dist/apps/services/prepareSubmissionData.js.map +1 -0
- package/dist/apps/services/query-string.d.ts +1 -0
- package/dist/apps/services/query-string.js +16 -0
- package/dist/apps/services/query-string.js.map +1 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
- package/dist/apps/services/schedulingHandlers.d.ts +36 -0
- package/dist/apps/services/schedulingHandlers.js +76 -0
- package/dist/apps/services/schedulingHandlers.js.map +1 -0
- package/dist/apps/services/server-validation.d.ts +2 -0
- package/dist/apps/services/server-validation.js +36 -0
- package/dist/apps/services/server-validation.js.map +1 -0
- package/dist/apps/services/serverRequest.d.ts +5 -0
- package/dist/apps/services/serverRequest.js +24 -0
- package/dist/apps/services/serverRequest.js.map +1 -0
- package/dist/apps/services/submit.d.ts +19 -0
- package/dist/apps/services/submit.js +219 -0
- package/dist/apps/services/submit.js.map +1 -0
- package/dist/apps/services/uploadAttachment.d.ts +52 -0
- package/dist/apps/services/uploadAttachment.js +73 -0
- package/dist/apps/services/uploadAttachment.js.map +1 -0
- package/dist/apps/services/user-token.d.ts +27 -0
- package/dist/apps/services/user-token.js +33 -0
- package/dist/apps/services/user-token.js.map +1 -0
- package/dist/apps/services/utils.d.ts +12 -0
- package/dist/apps/services/utils.js +100 -0
- package/dist/apps/services/utils.js.map +1 -0
- package/dist/apps/submission-service.d.ts +226 -0
- package/dist/apps/submission-service.js +425 -0
- package/dist/apps/submission-service.js.map +1 -0
- package/dist/apps/tenants.d.ts +30 -0
- package/dist/apps/tenants.js +155 -0
- package/dist/apps/tenants.js.map +1 -0
- package/dist/apps/types/form.d.ts +4 -0
- package/dist/apps/types/form.js +2 -0
- package/dist/apps/types/form.js.map +1 -0
- package/dist/apps/types/payments.d.ts +45 -0
- package/dist/apps/types/payments.js +2 -0
- package/dist/apps/types/payments.js.map +1 -0
- package/dist/apps/types/scheduling.d.ts +5 -0
- package/dist/apps/types/scheduling.js +2 -0
- package/dist/apps/types/scheduling.js.map +1 -0
- package/dist/apps/types/submissions.d.ts +175 -0
- package/dist/apps/types/submissions.js +2 -0
- package/dist/apps/types/submissions.js.map +1 -0
- package/dist/components/ArcGISWebMap.d.ts +3 -3
- package/dist/components/ArcGISWebMap.js +29 -39
- package/dist/components/ArcGISWebMap.js.map +1 -1
- package/dist/components/Clickable.d.ts +1 -1
- package/dist/components/Clickable.js +2 -1
- package/dist/components/Clickable.js.map +1 -1
- package/dist/components/ConfirmDialog.d.ts +2 -2
- package/dist/components/ConfirmDialog.js +8 -14
- package/dist/components/ConfirmDialog.js.map +1 -1
- package/dist/components/CopyToClipboardIconButton.d.ts +1 -1
- package/dist/components/CopyToClipboardIconButton.js +10 -14
- package/dist/components/CopyToClipboardIconButton.js.map +1 -1
- package/dist/components/CustomAccordion.d.ts +2 -19
- package/dist/components/ErrorSnackbar.d.ts +1 -1
- package/dist/components/ErrorSnackbar.js +6 -7
- package/dist/components/ErrorSnackbar.js.map +1 -1
- package/dist/components/ImageCropper/CropModal.d.ts +1 -1
- package/dist/components/ImageCropper/CropModal.js +2 -8
- package/dist/components/ImageCropper/CropModal.js.map +1 -1
- package/dist/components/ImageCropper/index.d.ts +1 -1
- package/dist/components/ImageCropper/index.js +3 -5
- package/dist/components/ImageCropper/index.js.map +1 -1
- package/dist/components/InputClear.js +2 -3
- package/dist/components/InputClear.js.map +1 -1
- package/dist/components/InputField.d.ts +3 -2
- package/dist/components/InputField.js +5 -2
- package/dist/components/InputField.js.map +1 -1
- package/dist/components/Lists.d.ts +1 -3
- package/dist/components/Lists.js +2 -2
- package/dist/components/Lists.js.map +1 -1
- package/dist/components/LoadingWithMessage.js +2 -6
- package/dist/components/LoadingWithMessage.js.map +1 -1
- package/dist/components/MaterialIcon.d.ts +2 -4
- package/dist/components/MaterialIcon.js +4 -4
- package/dist/components/MaterialIcon.js.map +1 -1
- package/dist/components/NotificationGrid.d.ts +2 -2
- package/dist/components/NotificationGrid.js +4 -7
- package/dist/components/NotificationGrid.js.map +1 -1
- package/dist/components/QuillHTML.d.ts +1 -1
- package/dist/components/QuillHTML.js +2 -1
- package/dist/components/QuillHTML.js.map +1 -1
- package/dist/components/SuccessSnackbar.d.ts +1 -1
- package/dist/components/SuccessSnackbar.js +3 -6
- package/dist/components/SuccessSnackbar.js.map +1 -1
- package/dist/components/ValidationErrorsCard.d.ts +2 -2
- package/dist/components/ValidationErrorsCard.js +32 -49
- package/dist/components/ValidationErrorsCard.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +6 -7
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsContainer.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsContainer.js +9 -11
- package/dist/components/calendar-bookings/CalendarBookingsContainer.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +2 -2
- package/dist/components/calendar-bookings/CalendarBookingsForm.js +34 -46
- package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsProvider.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsProvider.js +2 -6
- package/dist/components/calendar-bookings/CalendarBookingsProvider.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +6 -7
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
- package/dist/components/calendar-bookings/ErrorModal.d.ts +1 -1
- package/dist/components/calendar-bookings/ErrorModal.js +8 -12
- package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
- package/dist/components/downloadable-files/LayoutProvider.d.ts +1 -1
- package/dist/components/downloadable-files/LayoutProvider.js +2 -1
- package/dist/components/downloadable-files/LayoutProvider.js.map +1 -1
- package/dist/components/downloadable-files/index.d.ts +2 -2
- package/dist/components/downloadable-files/index.js +4 -6
- package/dist/components/downloadable-files/index.js.map +1 -1
- package/dist/components/downloadable-files/resource-components.d.ts +4 -4
- package/dist/components/downloadable-files/resource-components.js +10 -33
- package/dist/components/downloadable-files/resource-components.js.map +1 -1
- package/dist/components/formStore/FormStoreTableProvider.d.ts +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js +6 -16
- package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js +3 -4
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js +21 -54
- package/dist/components/formStore/OneBlinkFormStoreColumnsButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.d.ts +2 -2
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +8 -27
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.js +5 -6
- package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +2 -3
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.js +129 -95
- package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
- package/dist/components/formStore/display/ElementDisplay.d.ts +3 -4
- package/dist/components/formStore/display/ElementDisplay.js +11 -14
- package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
- package/dist/components/formStore/display/FormStoreIcon.d.ts +1 -1
- package/dist/components/formStore/display/FormStoreIcon.js +2 -2
- package/dist/components/formStore/display/FormStoreIcon.js.map +1 -1
- package/dist/components/formStore/table/ActionedByTableCell.d.ts +1 -1
- package/dist/components/formStore/table/ActionedByTableCell.js +6 -7
- package/dist/components/formStore/table/ActionedByTableCell.js.map +1 -1
- package/dist/components/formStore/table/ColumnFilters.d.ts +3 -3
- package/dist/components/formStore/table/ColumnFilters.js +85 -101
- package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
- package/dist/components/formStore/table/FormElementTableCell.d.ts +1 -1
- package/dist/components/formStore/table/FormElementTableCell.js +35 -98
- package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
- package/dist/components/formStore/table/HeaderCellMoreButton.d.ts +4 -4
- package/dist/components/formStore/table/HeaderCellMoreButton.js +26 -32
- package/dist/components/formStore/table/HeaderCellMoreButton.js.map +1 -1
- package/dist/components/formStore/table/Pickers.d.ts +4 -4
- package/dist/components/formStore/table/Pickers.js +15 -14
- package/dist/components/formStore/table/Pickers.js.map +1 -1
- package/dist/components/formStore/table/RepeatableSetCell.js +17 -21
- package/dist/components/formStore/table/RepeatableSetCell.js.map +1 -1
- package/dist/components/formStore/table/RepeatableSetCellAccordion.js +2 -4
- package/dist/components/formStore/table/RepeatableSetCellAccordion.js.map +1 -1
- package/dist/components/formStore/table/TableCellCopyButton.d.ts +1 -1
- package/dist/components/formStore/table/TableCellCopyButton.js +2 -3
- package/dist/components/formStore/table/TableCellCopyButton.js.map +1 -1
- package/dist/components/formStore/table/generateColumns.d.ts +6 -7
- package/dist/components/formStore/table/generateColumns.js +23 -18
- package/dist/components/formStore/table/generateColumns.js.map +1 -1
- package/dist/components/formStore/table/getVersionedState.d.ts +4 -3
- package/dist/components/formStore/table/getVersionedState.js +23 -6
- package/dist/components/formStore/table/getVersionedState.js.map +1 -1
- package/dist/components/formStore/table/useFormStoreTable.d.ts +146 -37
- package/dist/components/formStore/table/useFormStoreTable.js +268 -199
- package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
- package/dist/components/formStore/useFormStoreTableContext.d.ts +144 -35
- package/dist/components/messages/ErrorMessage.js +3 -3
- package/dist/components/messages/ErrorMessage.js.map +1 -1
- package/dist/components/messages/LargeIconMessage.js +2 -6
- package/dist/components/messages/LargeIconMessage.js.map +1 -1
- package/dist/components/messages/NoResourcesYet.d.ts +1 -1
- package/dist/components/messages/NoResourcesYet.js +2 -1
- package/dist/components/messages/NoResourcesYet.js.map +1 -1
- package/dist/components/mfa/MfaDialog.d.ts +2 -2
- package/dist/components/mfa/MfaDialog.js +10 -49
- package/dist/components/mfa/MfaDialog.js.map +1 -1
- package/dist/components/mfa/MultiFactorAuthentication.d.ts +2 -5
- package/dist/components/mfa/MultiFactorAuthentication.js +14 -45
- package/dist/components/mfa/MultiFactorAuthentication.js.map +1 -1
- package/dist/components/payments/PaymentForm.d.ts +1 -1
- package/dist/components/payments/PaymentForm.js +5 -10
- package/dist/components/payments/PaymentForm.js.map +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +2 -2
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js +12 -46
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
- package/dist/components/receipts/Receipt.d.ts +1 -1
- package/dist/components/receipts/Receipt.js +2 -2
- package/dist/components/receipts/Receipt.js.map +1 -1
- package/dist/components/receipts/ReceiptButton.d.ts +1 -1
- package/dist/components/receipts/ReceiptButton.js +3 -2
- package/dist/components/receipts/ReceiptButton.js.map +1 -1
- package/dist/components/receipts/ReceiptList.d.ts +1 -1
- package/dist/components/receipts/ReceiptList.js +2 -9
- package/dist/components/receipts/ReceiptList.js.map +1 -1
- package/dist/components/receipts/ReceiptListItem.d.ts +1 -1
- package/dist/components/receipts/ReceiptListItem.js +2 -11
- package/dist/components/receipts/ReceiptListItem.js.map +1 -1
- package/dist/components/renderer/AnnotationModal.d.ts +1 -1
- package/dist/components/renderer/AnnotationModal.js +6 -14
- package/dist/components/renderer/AnnotationModal.js.map +1 -1
- package/dist/components/renderer/AutocompleteDropdown.d.ts +1 -1
- package/dist/components/renderer/AutocompleteDropdown.js +16 -35
- package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
- package/dist/components/renderer/CopyToClipboardButton.d.ts +1 -1
- package/dist/components/renderer/CopyToClipboardButton.js +2 -4
- package/dist/components/renderer/CopyToClipboardButton.js.map +1 -1
- package/dist/components/renderer/CustomisableButtonInner.js +2 -4
- package/dist/components/renderer/CustomisableButtonInner.js.map +1 -1
- package/dist/components/renderer/FormElementLabelContainer.d.ts +3 -3
- package/dist/components/renderer/FormElementLabelContainer.js +7 -14
- package/dist/components/renderer/FormElementLabelContainer.js.map +1 -1
- package/dist/components/renderer/FormElementOptions.d.ts +1 -1
- package/dist/components/renderer/FormElementOptions.js +4 -5
- package/dist/components/renderer/FormElementOptions.js.map +1 -1
- package/dist/components/renderer/FormElementValidationMessage.js +3 -5
- package/dist/components/renderer/FormElementValidationMessage.js.map +1 -1
- package/dist/components/renderer/LookupButton.d.ts +1 -1
- package/dist/components/renderer/LookupButton.js +4 -8
- package/dist/components/renderer/LookupButton.js.map +1 -1
- package/dist/components/renderer/LookupNotification.d.ts +1 -1
- package/dist/components/renderer/LookupNotification.js +16 -38
- package/dist/components/renderer/LookupNotification.js.map +1 -1
- package/dist/components/renderer/Modal.d.ts +3 -3
- package/dist/components/renderer/Modal.js +7 -10
- package/dist/components/renderer/Modal.js.map +1 -1
- package/dist/components/renderer/OnLoading.d.ts +1 -1
- package/dist/components/renderer/OnLoading.js +3 -3
- package/dist/components/renderer/OnLoading.js.map +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.d.ts +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +3 -5
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
- package/dist/components/renderer/OneBlinkFormElements.d.ts +1 -1
- package/dist/components/renderer/OneBlinkFormElements.js +61 -90
- package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
- package/dist/components/renderer/PageFormElements.d.ts +1 -1
- package/dist/components/renderer/PageFormElements.js +3 -5
- package/dist/components/renderer/PageFormElements.js.map +1 -1
- package/dist/components/renderer/ProgressBar.d.ts +1 -1
- package/dist/components/renderer/ProgressBar.js +2 -1
- package/dist/components/renderer/ProgressBar.js.map +1 -1
- package/dist/components/renderer/ReverseGeocode.d.ts +1 -1
- package/dist/components/renderer/ReverseGeocode.js +3 -2
- package/dist/components/renderer/ReverseGeocode.js.map +1 -1
- package/dist/components/renderer/ToggleAllCheckbox.js +4 -5
- package/dist/components/renderer/ToggleAllCheckbox.js.map +1 -1
- package/dist/components/renderer/Tooltip.d.ts +1 -1
- package/dist/components/renderer/Tooltip.js +5 -1
- package/dist/components/renderer/Tooltip.js.map +1 -1
- package/dist/components/renderer/attachments/AttachmentStatus.d.ts +1 -1
- package/dist/components/renderer/attachments/AttachmentStatus.js +6 -15
- package/dist/components/renderer/attachments/AttachmentStatus.js.map +1 -1
- package/dist/components/renderer/attachments/DropdownMenu.js +30 -42
- package/dist/components/renderer/attachments/DropdownMenu.js.map +1 -1
- package/dist/components/renderer/attachments/FileCard.d.ts +1 -1
- package/dist/components/renderer/attachments/FileCard.js +2 -10
- package/dist/components/renderer/attachments/FileCard.js.map +1 -1
- package/dist/components/renderer/attachments/FileCardContent.d.ts +1 -1
- package/dist/components/renderer/attachments/FileCardContent.js +3 -4
- package/dist/components/renderer/attachments/FileCardContent.js.map +1 -1
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.d.ts +1 -1
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.js +2 -5
- package/dist/components/renderer/attachments/ImagePreviewUnavailable.js.map +1 -1
- package/dist/components/renderer/attachments/ProgressBar.js +2 -4
- package/dist/components/renderer/attachments/ProgressBar.js.map +1 -1
- package/dist/form-elements/ComplianceButton.js +3 -4
- package/dist/form-elements/ComplianceButton.js.map +1 -1
- package/dist/form-elements/FormElementABN.d.ts +1 -1
- package/dist/form-elements/FormElementABN.js +18 -28
- package/dist/form-elements/FormElementABN.js.map +1 -1
- package/dist/form-elements/FormElementAPINSWLiquorLicence.d.ts +2 -2
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js +4 -22
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
- package/dist/form-elements/FormElementArcGISWebMap.d.ts +1 -1
- package/dist/form-elements/FormElementArcGISWebMap.js +21 -36
- package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
- package/dist/form-elements/FormElementAutocomplete.d.ts +1 -1
- package/dist/form-elements/FormElementAutocomplete.js +6 -10
- package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
- package/dist/form-elements/FormElementBSB.d.ts +1 -1
- package/dist/form-elements/FormElementBSB.js +22 -31
- package/dist/form-elements/FormElementBSB.js.map +1 -1
- package/dist/form-elements/FormElementBarcodeScanner.d.ts +1 -1
- package/dist/form-elements/FormElementBarcodeScanner.js +16 -50
- package/dist/form-elements/FormElementBarcodeScanner.js.map +1 -1
- package/dist/form-elements/FormElementBoolean.d.ts +1 -1
- package/dist/form-elements/FormElementBoolean.js +4 -4
- package/dist/form-elements/FormElementBoolean.js.map +1 -1
- package/dist/form-elements/FormElementCalculation.d.ts +1 -1
- package/dist/form-elements/FormElementCalculation.js +4 -11
- package/dist/form-elements/FormElementCalculation.js.map +1 -1
- package/dist/form-elements/FormElementCamera.d.ts +1 -1
- package/dist/form-elements/FormElementCamera.js +7 -53
- package/dist/form-elements/FormElementCamera.js.map +1 -1
- package/dist/form-elements/FormElementCaptcha.d.ts +1 -1
- package/dist/form-elements/FormElementCaptcha.js +2 -4
- package/dist/form-elements/FormElementCaptcha.js.map +1 -1
- package/dist/form-elements/FormElementCheckBoxes.d.ts +1 -1
- package/dist/form-elements/FormElementCheckBoxes.js +23 -33
- package/dist/form-elements/FormElementCheckBoxes.js.map +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.d.ts +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js +3 -2
- package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.d.ts +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js +3 -5
- package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
- package/dist/form-elements/FormElementCompliance.d.ts +2 -2
- package/dist/form-elements/FormElementCompliance.js +13 -25
- package/dist/form-elements/FormElementCompliance.js.map +1 -1
- package/dist/form-elements/FormElementDate.d.ts +1 -1
- package/dist/form-elements/FormElementDate.js +3 -10
- package/dist/form-elements/FormElementDate.js.map +1 -1
- package/dist/form-elements/FormElementDateTime.d.ts +1 -1
- package/dist/form-elements/FormElementDateTime.js +3 -10
- package/dist/form-elements/FormElementDateTime.js.map +1 -1
- package/dist/form-elements/FormElementEmail.d.ts +1 -1
- package/dist/form-elements/FormElementEmail.js +4 -13
- package/dist/form-elements/FormElementEmail.js.map +1 -1
- package/dist/form-elements/FormElementFile.d.ts +1 -1
- package/dist/form-elements/FormElementFile.js +2 -12
- package/dist/form-elements/FormElementFile.js.map +1 -1
- package/dist/form-elements/FormElementFiles.d.ts +2 -2
- package/dist/form-elements/FormElementFiles.js +9 -17
- package/dist/form-elements/FormElementFiles.js.map +1 -1
- package/dist/form-elements/FormElementForm.d.ts +1 -1
- package/dist/form-elements/FormElementForm.js +2 -1
- package/dist/form-elements/FormElementForm.js.map +1 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.d.ts +1 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.js +5 -11
- package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.d.ts +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js +3 -5
- package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
- package/dist/form-elements/FormElementGoogleAddress.d.ts +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js +3 -8
- package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
- package/dist/form-elements/FormElementHTML.d.ts +1 -1
- package/dist/form-elements/FormElementHTML.js +2 -3
- package/dist/form-elements/FormElementHTML.js.map +1 -1
- package/dist/form-elements/FormElementHeading.d.ts +1 -1
- package/dist/form-elements/FormElementHeading.js +7 -8
- package/dist/form-elements/FormElementHeading.js.map +1 -1
- package/dist/form-elements/FormElementImage.d.ts +1 -1
- package/dist/form-elements/FormElementImage.js +3 -3
- package/dist/form-elements/FormElementImage.js.map +1 -1
- package/dist/form-elements/FormElementLocation.d.ts +1 -1
- package/dist/form-elements/FormElementLocation.js +21 -48
- package/dist/form-elements/FormElementLocation.js.map +1 -1
- package/dist/form-elements/FormElementLookupButton.d.ts +2 -3
- package/dist/form-elements/FormElementLookupButton.js +5 -8
- package/dist/form-elements/FormElementLookupButton.js.map +1 -1
- package/dist/form-elements/FormElementNumber.d.ts +1 -1
- package/dist/form-elements/FormElementNumber.js +4 -15
- package/dist/form-elements/FormElementNumber.js.map +1 -1
- package/dist/form-elements/FormElementPointAddress.d.ts +2 -2
- package/dist/form-elements/FormElementPointAddress.js +7 -14
- package/dist/form-elements/FormElementPointAddress.js.map +1 -1
- package/dist/form-elements/FormElementPointAddressV3.d.ts +1 -1
- package/dist/form-elements/FormElementPointAddressV3.js +3 -10
- package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.d.ts +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js +15 -27
- package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
- package/dist/form-elements/FormElementRadio.d.ts +1 -1
- package/dist/form-elements/FormElementRadio.js +24 -30
- package/dist/form-elements/FormElementRadio.js.map +1 -1
- package/dist/form-elements/FormElementRepeatableSet.d.ts +1 -1
- package/dist/form-elements/FormElementRepeatableSet.js +21 -39
- package/dist/form-elements/FormElementRepeatableSet.js.map +1 -1
- package/dist/form-elements/FormElementSection.d.ts +1 -1
- package/dist/form-elements/FormElementSection.js +16 -34
- package/dist/form-elements/FormElementSection.js.map +1 -1
- package/dist/form-elements/FormElementSelect.d.ts +1 -1
- package/dist/form-elements/FormElementSelect.js +12 -23
- package/dist/form-elements/FormElementSelect.js.map +1 -1
- package/dist/form-elements/FormElementSignature.d.ts +1 -1
- package/dist/form-elements/FormElementSignature.js +21 -46
- package/dist/form-elements/FormElementSignature.js.map +1 -1
- package/dist/form-elements/FormElementSummary.d.ts +1 -1
- package/dist/form-elements/FormElementSummary.js +9 -6
- package/dist/form-elements/FormElementSummary.js.map +1 -1
- package/dist/form-elements/FormElementTelephone.d.ts +1 -1
- package/dist/form-elements/FormElementTelephone.js +4 -13
- package/dist/form-elements/FormElementTelephone.js.map +1 -1
- package/dist/form-elements/FormElementText.d.ts +1 -1
- package/dist/form-elements/FormElementText.js +6 -21
- package/dist/form-elements/FormElementText.js.map +1 -1
- package/dist/form-elements/FormElementTextarea.d.ts +1 -1
- package/dist/form-elements/FormElementTextarea.js +6 -20
- package/dist/form-elements/FormElementTextarea.js.map +1 -1
- package/dist/form-elements/FormElementTime.d.ts +1 -1
- package/dist/form-elements/FormElementTime.js +3 -10
- package/dist/form-elements/FormElementTime.js.map +1 -1
- package/dist/form-elements/OptionButton.js +3 -5
- package/dist/form-elements/OptionButton.js.map +1 -1
- package/dist/hooks/attachments/useAttachment.d.ts +1 -1
- package/dist/hooks/attachments/useAttachment.js +1 -1
- package/dist/hooks/attachments/useAttachment.js.map +1 -1
- package/dist/hooks/attachments/useAttachmentBlobs.d.ts +1 -1
- package/dist/hooks/attachments/useAttachmentBlobs.js +2 -1
- package/dist/hooks/attachments/useAttachmentBlobs.js.map +1 -1
- package/dist/hooks/attachments/useAttachments.d.ts +1 -1
- package/dist/hooks/attachments/useAttachments.js.map +1 -1
- package/dist/hooks/form-date-picker/useFormDatePickerProps.d.ts +7 -8
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js +10 -10
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js.map +1 -1
- package/dist/hooks/useAuth.d.ts +1 -1
- package/dist/hooks/useAuth.js +3 -2
- package/dist/hooks/useAuth.js.map +1 -1
- package/dist/hooks/useConditionalLogic.js +1 -1
- package/dist/hooks/useConditionalLogic.js.map +1 -1
- package/dist/hooks/useDrafts.d.ts +2 -2
- package/dist/hooks/useDrafts.js +3 -2
- package/dist/hooks/useDrafts.js.map +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.d.ts +2 -2
- package/dist/hooks/useDynamicOptionsLoaderState.js +5 -14
- package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
- package/dist/hooks/useFormElementLookups.d.ts +2 -2
- package/dist/hooks/useFormElementLookups.js +3 -2
- package/dist/hooks/useFormElementLookups.js.map +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.js +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
- package/dist/hooks/useFormSubmissionDuration.js +2 -0
- package/dist/hooks/useFormSubmissionDuration.js.map +1 -1
- package/dist/hooks/useFormSubmissionModelContext.d.ts +1 -1
- package/dist/hooks/useFormSubmissionModelContext.js +2 -1
- package/dist/hooks/useFormSubmissionModelContext.js.map +1 -1
- package/dist/hooks/useFormSubmissionState.d.ts +1 -1
- package/dist/hooks/useFormSubmissionState.js +1 -1
- package/dist/hooks/useFormSubmissionState.js.map +1 -1
- package/dist/hooks/useIsHovering.d.ts +1 -1
- package/dist/hooks/useIsHovering.js +4 -4
- package/dist/hooks/useIsHovering.js.map +1 -1
- package/dist/hooks/useIsOffline.d.ts +1 -1
- package/dist/hooks/useIsOffline.js +3 -2
- package/dist/hooks/useIsOffline.js.map +1 -1
- package/dist/hooks/useIsPageVisible.d.ts +1 -1
- package/dist/hooks/useIsPageVisible.js +2 -1
- package/dist/hooks/useIsPageVisible.js.map +1 -1
- package/dist/hooks/useLoadDataState.js +3 -1
- package/dist/hooks/useLoadDataState.js.map +1 -1
- package/dist/hooks/useLogin.js +1 -1
- package/dist/hooks/useLogin.js.map +1 -1
- package/dist/hooks/useMfa.d.ts +2 -2
- package/dist/hooks/useMfa.js +3 -2
- package/dist/hooks/useMfa.js.map +1 -1
- package/dist/hooks/useOnUploadAttachment.d.ts +1 -1
- package/dist/hooks/useOnUploadAttachment.js +1 -1
- package/dist/hooks/useOnUploadAttachment.js.map +1 -1
- package/dist/hooks/useOneBlinkFormContainer.d.ts +2 -1
- package/dist/hooks/useOneBlinkFormContainer.js +2 -2
- package/dist/hooks/useOneBlinkFormContainer.js.map +1 -1
- package/dist/hooks/usePages.d.ts +1 -1
- package/dist/hooks/usePendingSubmissions.d.ts +2 -2
- package/dist/hooks/usePendingSubmissions.js +3 -2
- package/dist/hooks/usePendingSubmissions.js.map +1 -1
- package/dist/hooks/useReCAPTCHAProps.d.ts +1 -1
- package/dist/hooks/useReCAPTCHAProps.js.map +1 -1
- package/dist/hooks/useReplaceableText.js +1 -1
- package/dist/hooks/useReplaceableText.js.map +1 -1
- package/dist/hooks/useSignUp.js +1 -1
- package/dist/hooks/useSignUp.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/attachments.d.ts +1 -1
- package/dist/services/attachments.js +1 -1
- package/dist/services/attachments.js.map +1 -1
- package/dist/services/blob-utils.js +1 -1
- package/dist/services/blob-utils.js.map +1 -1
- package/dist/services/checkIfAttachmentsExist.d.ts +1 -1
- package/dist/services/checkIfAttachmentsExist.js.map +1 -1
- package/dist/services/defaultCoordinates.js +1 -1
- package/dist/services/defaultCoordinates.js.map +1 -1
- package/dist/services/download-file.d.ts +1 -1
- package/dist/services/download-file.js +2 -2
- package/dist/services/download-file.js.map +1 -1
- package/dist/services/drawTimestampOnCanvas.js +1 -1
- package/dist/services/drawTimestampOnCanvas.js.map +1 -1
- package/dist/services/form-validation/validateSubmission.js +1 -1
- package/dist/services/form-validation/validateSubmission.js.map +1 -1
- package/dist/services/form-validation/validators.d.ts +1 -1
- package/dist/services/form-validation/validators.js.map +1 -1
- package/dist/services/generate-default-data.js +1 -1
- package/dist/services/generate-default-data.js.map +1 -1
- package/dist/services/injectableOptions.js +1 -1
- package/dist/services/injectableOptions.js.map +1 -1
- package/dist/styles.css +208 -204
- package/dist/types/attachments.d.ts +1 -1
- package/dist/types/attachments.js.map +1 -1
- package/dist/utils/sendGoogleAnalyticsEvent.js +1 -1
- package/dist/utils/sendGoogleAnalyticsEvent.js.map +1 -1
- package/package.json +58 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-service.js","sourceRoot":"","sources":["../../src/apps/form-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { formElementsService, typeCastService } from '@oneblink/sdk-core'\nimport { EnvironmentTypes, FormTypes, FreshdeskTypes } from '@oneblink/types'\nimport OneBlinkAppsError from './services/errors/oneBlinkAppsError'\nimport { isOffline } from './offline-service'\nimport { isLoggedIn } from './services/cognito'\nimport {\n fetchWithError,\n generateHeaders,\n HTTPError,\n searchRequest,\n getRequest,\n} from './services/fetch'\nimport tenants from './tenants'\n\nimport Sentry from './Sentry'\nexport * from './services/integration-elements'\n\n/**\n * Get an array of OneBlink Forms.\n *\n * #### Example\n *\n * ```js\n * const formsAppId = 1\n * const forms = await formService.getForms(formAppId)\n * ```\n *\n * @param formsAppId\n * @param abortSignal\n * @returns\n */\nasync function getForms(\n formsAppId: number,\n abortSignal?: AbortSignal,\n): Promise<FormTypes.Form[]> {\n const url = `${tenants.current.apiOrigin}/forms-apps/${formsAppId}/forms`\n return searchRequest<{ forms: FormTypes.Form[] }>(\n url,\n {\n injectForms: true,\n },\n abortSignal,\n )\n .then(({ forms }) => forms)\n .catch((error) => {\n Sentry.captureException(error)\n console.error('Error retrieving forms', error)\n\n if (isOffline()) {\n throw new OneBlinkAppsError(\n 'You are currently offline and do not have a local copy of this app available, please connect to the internet and try again',\n {\n originalError: error,\n isOffline: true,\n },\n )\n }\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'The application you are attempting to view requires authentication. Please login and try again.',\n {\n originalError: error,\n requiresLogin: true,\n httpStatusCode: error.status,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access to this application. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n requiresAccessRequest: true,\n httpStatusCode: error.status,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the application you are looking for. Please contact your administrator to ensure the application configuration has been completed successfully.',\n {\n originalError: error,\n title: 'Unknown Application',\n requiresAccessRequest: true,\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n })\n}\n\n/**\n * Get a OneBlink Form by id or slug.\n *\n * #### Example\n *\n * ```js\n * const form = await formService.getForm({\n * formId: 1,\n * formAppId: 1, // `formsAppId` is optional\n * formsAppEnvironmentId: undefined,\n * formSlug: undefined,\n * toCompleteTask: false,\n * })\n *\n * // OR\n *\n * const form = await formService.getForm({\n * formSlug: 'audit',\n * formAppId: 1,\n * formsAppEnvironmentId: undefined,\n * formId: undefined,\n * toCompleteTask: false,\n * })\n *\n * // OR\n *\n * const form = await formService.getForm({\n * formSlug: 'audit',\n * formsAppEnvironmentId: 1,\n * formAppId: undefined,\n * formId: undefined,\n * toCompleteTask: false,\n * })\n * ```\n *\n * @param options\n * @returns\n */\nasync function getForm({\n formsAppId,\n formsAppEnvironmentId,\n abortSignal,\n formSlug,\n toCompleteTask,\n formId,\n}: {\n formSlug: string | undefined\n formId: number | undefined\n formsAppId: number | undefined\n formsAppEnvironmentId: number | undefined\n toCompleteTask?: boolean\n abortSignal?: AbortSignal\n}): Promise<FormTypes.Form> {\n return (\n (() => {\n const queryParams = {\n toCompleteTask,\n }\n if (formSlug) {\n if (!Number.isNaN(formsAppEnvironmentId)) {\n return searchRequest<FormTypes.Form>(\n `${tenants.current.apiOrigin}/forms-app-environments/${formsAppEnvironmentId}/forms/${formSlug}`,\n queryParams,\n abortSignal,\n )\n }\n\n if (!Number.isNaN(formsAppId)) {\n return searchRequest<FormTypes.Form>(\n `${tenants.current.apiOrigin}/forms-apps/${formsAppId}/forms/${formSlug}`,\n queryParams,\n abortSignal,\n )\n }\n }\n\n return searchRequest<FormTypes.Form>(\n `${tenants.current.apiOrigin}/form-definitions/${formId}`,\n queryParams,\n abortSignal,\n )\n })()\n // If we could not find a form by Id for any reason,\n // we will try and get it from cache from the all forms endpoint\n .catch((error) => {\n if (typeof formsAppId !== 'number' || Number.isNaN(formsAppId)) {\n throw error\n }\n\n return getForms(formsAppId, abortSignal)\n .catch(() => {\n // Ignore getForms() error and throw the error from attempt to get form by id\n throw error\n })\n .then((forms) => {\n const form = forms.find(\n (form) =>\n form.id === formId || (formSlug && form.slug === formSlug),\n )\n if (form) {\n return form\n }\n throw error\n })\n })\n .catch((error) => {\n Sentry.captureException(error)\n console.warn(\n 'Error retrieving form from API',\n {\n formsAppId,\n formsAppEnvironmentId,\n formSlug,\n formId,\n },\n error,\n )\n if (isOffline()) {\n throw new OneBlinkAppsError(\n 'You are currently offline and do not have a local copy of this form available, please connect to the internet and try again',\n {\n originalError: error,\n isOffline: true,\n },\n )\n }\n\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'The form you are attempting to complete requires authentication. Please login and try again.',\n {\n originalError: error,\n requiresLogin: true,\n httpStatusCode: error.status,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access to complete this form. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n requiresAccessRequest: true,\n httpStatusCode: error.status,\n },\n )\n }\n case 400:\n case 404: {\n let message =\n 'We could not find the form you are looking for. Please contact your administrator to ensure your form configuration has been completed successfully.'\n const requiresLogin = !isLoggedIn()\n if (requiresLogin) {\n message +=\n ' Try logging in if you believe this form requires authentication.'\n }\n throw new OneBlinkAppsError(message, {\n originalError: error,\n title: 'Unknown Form',\n httpStatusCode: error.status,\n requiresLogin,\n })\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n })\n )\n}\n\ntype FormElementLookupResult = FormTypes.FormElementLookup & {\n url: string | null\n records: FormTypes.FormElementLookupStaticDataRecord[] | null\n runLookupOnClear: boolean\n}\n\n/**\n * Get an array of OneBlink Form Element Lookups.\n *\n * #### Example\n *\n * ```js\n * const organisationId = '1234567890ABCDEFG'\n * const formsAppEnvironmentId = 1\n * const formElementLookups = await formService.getFormElementLookups(\n * organisationId,\n * formsAppEnvironmentId,\n * )\n * ```\n *\n * @param organisationId\n * @param formsAppEnvironmentId\n * @param abortSignal\n * @returns\n */\nasync function getFormElementLookups(\n organisationId: string,\n formsAppEnvironmentId: number,\n abortSignal?: AbortSignal,\n): Promise<FormElementLookupResult[]> {\n try {\n const data = await searchRequest<{\n formElementLookups: FormTypes.FormElementLookup[]\n }>(\n `${tenants.current.apiOrigin}/form-element-lookups`,\n {\n organisationId,\n },\n abortSignal,\n )\n return data.formElementLookups.map((formElementLookup) => ({\n ...formElementLookup,\n url: getFormElementLookupUrl(formElementLookup, formsAppEnvironmentId),\n records: getFormElementLookupRecords(\n formElementLookup,\n formsAppEnvironmentId,\n ),\n runLookupOnClear: getFormElementLookupRunLookupOnClear(\n formElementLookup,\n formsAppEnvironmentId,\n ),\n }))\n } catch (error) {\n Sentry.captureException(error)\n console.warn(\n `Error retrieving form element lookups for organisationId ${organisationId}`,\n error,\n )\n throw error\n }\n}\nfunction getFormElementLookupUrl(\n formElementLookup: FormTypes.FormElementLookup,\n formsAppEnvironmentId: number,\n) {\n if (formElementLookup.type === 'STATIC_DATA') {\n return null\n }\n\n return formElementLookup.environments.reduce<string | null>(\n (url, formElementLookupEnvironment) => {\n if (\n !url &&\n formElementLookupEnvironment.formsAppEnvironmentId ===\n formsAppEnvironmentId\n ) {\n return formElementLookupEnvironment.url\n }\n return url\n },\n null,\n )\n}\nfunction getFormElementLookupRecords(\n formElementLookup: FormTypes.FormElementLookup,\n formsAppEnvironmentId: number,\n) {\n if (formElementLookup.type !== 'STATIC_DATA') {\n return null\n }\n\n return formElementLookup.environments.reduce<\n FormTypes.FormElementLookupStaticDataRecord[] | null\n >((records, formElementLookupEnvironment) => {\n if (\n !records &&\n formElementLookupEnvironment.formsAppEnvironmentId ===\n formsAppEnvironmentId\n ) {\n return formElementLookupEnvironment.records\n }\n return records\n }, null)\n}\nfunction getFormElementLookupRunLookupOnClear(\n formElementLookup: FormTypes.FormElementLookup,\n formsAppEnvironmentId: number,\n) {\n if (formElementLookup.type === 'STATIC_DATA') {\n return formElementLookup.environments.some(\n (formElementLookupEnvironment) => {\n return (\n formElementLookupEnvironment.formsAppEnvironmentId ===\n formsAppEnvironmentId &&\n formElementLookupEnvironment.records.some((record) => {\n return record.inputType === 'UNDEFINED'\n })\n )\n },\n )\n }\n\n return formElementLookup.environments.some((formElementLookupEnvironment) => {\n return (\n formElementLookupEnvironment.formsAppEnvironmentId ===\n formsAppEnvironmentId && formElementLookupEnvironment.runLookupOnClear\n )\n })\n}\n\n/**\n * Get a OneBlink Form Element Lookup.\n *\n * #### Example\n *\n * ```js\n * const organisationId = '1234567890ABCDEFG'\n * const formsAppEnvironmentId = 1\n * const formElementLookupId = 1\n * const formElementLookup = await formService.getFormElementLookupById(\n * organisationId,\n * formsAppEnvironmentId,\n * formElementLookupId,\n * )\n * if (formElementLookup) {\n * // Use lookup\n * }\n * ```\n *\n * @param organisationId\n * @param formsAppEnvironmentId\n * @param formElementLookupId\n * @param abortSignal\n * @returns\n */\nasync function getFormElementLookupById(\n organisationId: string,\n formsAppEnvironmentId: number,\n formElementLookupId: number,\n abortSignal?: AbortSignal,\n): Promise<FormElementLookupResult | undefined> {\n return getFormElementLookups(\n organisationId,\n formsAppEnvironmentId,\n abortSignal,\n ).then((formElementLookups) =>\n formElementLookups.find(\n (formElementLookup) => formElementLookup.id === formElementLookupId,\n ),\n )\n}\n\n/**\n * Get a list of options sets for an organisation.\n *\n * @param organisationId The identifier for the organisation to fetch options\n * sets for\n * @param abortSignal A signal to abort any asynchronous processing\n * @returns An array of options sets\n */\nasync function getFormElementOptionsSets(\n organisationId: string,\n abortSignal: AbortSignal,\n): Promise<Array<FormTypes.FormElementOptionSet>> {\n const { formElementDynamicOptionSets } = await searchRequest<{\n formElementDynamicOptionSets: Array<FormTypes.FormElementOptionSet>\n }>(\n `${tenants.current.apiOrigin}/form-element-options/dynamic`,\n {\n organisationId,\n },\n abortSignal,\n )\n return formElementDynamicOptionSets\n}\n\ntype FormElementOptionsSetResult =\n | {\n type: 'OPTIONS'\n options: unknown\n }\n | {\n type: 'SEARCH'\n url: string\n searchQuerystringParameter: string\n }\n | {\n type: 'ERROR'\n error: OneBlinkAppsError\n }\n\n/**\n * Get the options for an options set.\n *\n * @param formElementOptionsSet The form element options set to generate options\n * from\n * @param options The environment and form to pull options from\n * @param abortSignal A signal to abort any asynchronous processing\n * @returns A result object containing potential options or a predictable error\n */\nasync function getFormElementOptionsSetOptions(\n formElementOptionsSet: FormTypes.FormElementOptionSet,\n {\n formsAppEnvironmentId,\n formId,\n }: {\n formsAppEnvironmentId: number\n formId: number\n },\n abortSignal: AbortSignal,\n): Promise<FormElementOptionsSetResult> {\n switch (formElementOptionsSet.type) {\n case 'HCMS_CATEGORIES':\n case 'STATIC': {\n const formElementOptionsSetEnvironment =\n formElementOptionsSet.environments.find(\n (environment: FormTypes.FormElementOptionSetEnvironmentStatic) =>\n environment.formsAppEnvironmentId === formsAppEnvironmentId,\n )\n if (formElementOptionsSetEnvironment) {\n return {\n type: 'OPTIONS',\n options: formElementOptionsSetEnvironment.options,\n }\n }\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `List environment configuration has not been completed yet. Please contact your administrator to rectify the issue.`,\n {\n title: 'Misconfigured List',\n originalError: new Error(\n JSON.stringify(\n {\n formElementOptionsSetId: formElementOptionsSet.id,\n formElementOptionsSetName: formElementOptionsSet.name,\n formsAppEnvironmentId,\n },\n null,\n 2,\n ),\n ),\n },\n ),\n }\n }\n case 'SHAREPOINT_LIST_COLUMN': {\n const formElementOptionSetEnvironmentSharePointListColumn =\n formElementOptionsSet.environments.find(\n (environment) =>\n environment.formsAppEnvironmentId === formsAppEnvironmentId,\n )\n if (!formElementOptionSetEnvironmentSharePointListColumn) {\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Dynamic list configuration has not been completed yet. Please contact your administrator to rectify the issue.`,\n {\n title: 'Misconfigured Dynamic List',\n originalError: new Error(\n JSON.stringify(\n {\n formElementOptionsSetId: formElementOptionsSet.id,\n formElementOptionsSetName: formElementOptionsSet.name,\n formsAppEnvironmentId,\n },\n null,\n 2,\n ),\n ),\n },\n ),\n }\n }\n\n try {\n const { options } = await getRequest<{ options: unknown }>(\n `${tenants.current.apiOrigin}/forms/${formId}/sharepoint-list-column-options?formElementOptionsSetId=${formElementOptionsSet.id}`,\n abortSignal,\n )\n return {\n type: 'OPTIONS',\n options,\n }\n } catch (error) {\n Sentry.captureException(error)\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Options could not be loaded. Please contact your administrator to rectify the issue.`,\n {\n title: 'Invalid List Response',\n httpStatusCode: (error as HTTPError).status,\n originalError: new OneBlinkAppsError(\n JSON.stringify(\n {\n formsAppEnvironmentId,\n formElementOptionsSetId: formElementOptionsSet.id,\n formElementOptionsSetName: formElementOptionsSet.name,\n sharepointSite:\n formElementOptionSetEnvironmentSharePointListColumn\n .sharepointSite.displayName,\n sharepointList:\n formElementOptionSetEnvironmentSharePointListColumn\n .sharepointList.displayName,\n sharepointColumn:\n formElementOptionSetEnvironmentSharePointListColumn\n .sharepointColumn.displayName,\n },\n null,\n 2,\n ),\n {\n originalError: error as HTTPError,\n },\n ),\n },\n ),\n }\n }\n }\n case 'GOOD_TO_GO_CUSTOM_FIELD': {\n const formElementOptionSetEnvironmentGoodToGoCustomField =\n formElementOptionsSet.environments.find(\n (environment) =>\n environment.formsAppEnvironmentId === formsAppEnvironmentId,\n )\n if (!formElementOptionSetEnvironmentGoodToGoCustomField) {\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Dynamic list configuration has not been completed yet. Please contact your administrator to rectify the issue.`,\n {\n title: 'Misconfigured Dynamic List',\n originalError: new Error(\n JSON.stringify(\n {\n formElementOptionsSetId: formElementOptionsSet.id,\n formElementOptionsSetName: formElementOptionsSet.name,\n formsAppEnvironmentId,\n },\n null,\n 2,\n ),\n ),\n },\n ),\n }\n }\n\n try {\n const { options } = await getRequest<{ options: unknown }>(\n `${tenants.current.apiOrigin}/forms/${formId}/good-to-go-custom-field-options?formElementOptionsSetId=${formElementOptionsSet.id}`,\n abortSignal,\n )\n return {\n type: 'OPTIONS',\n options,\n }\n } catch (error) {\n Sentry.captureException(error)\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Options could not be loaded. Please contact your administrator to rectify the issue.`,\n {\n title: 'Invalid List Response',\n httpStatusCode: (error as HTTPError).status,\n originalError: new OneBlinkAppsError(\n JSON.stringify(\n {\n formsAppEnvironmentId,\n formElementOptionsSetId: formElementOptionsSet.id,\n formElementOptionsSetName: formElementOptionsSet.name,\n goodToGoCustomField:\n formElementOptionSetEnvironmentGoodToGoCustomField\n .goodToGoCustomField.displayName,\n },\n null,\n 2,\n ),\n {\n originalError: error as HTTPError,\n },\n ),\n },\n ),\n }\n }\n }\n case 'HOSTED_API':\n case 'URL':\n default: {\n const formElementOptionsSetEnvironment =\n formElementOptionsSet.environments.find(\n (environment: FormTypes.FormElementOptionSetEnvironmentUrl) =>\n environment.formsAppEnvironmentId === formsAppEnvironmentId,\n )\n if (!formElementOptionsSetEnvironment) {\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Dynamic list configuration has not been completed yet. Please contact your administrator to rectify the issue.`,\n {\n title: 'Misconfigured Dynamic List',\n originalError: new Error(\n JSON.stringify(\n {\n formElementOptionsSetId: formElementOptionsSet.id,\n formElementOptionsSetName: formElementOptionsSet.name,\n formsAppEnvironmentId,\n },\n null,\n 2,\n ),\n ),\n },\n ),\n }\n }\n\n if (formElementOptionsSetEnvironment.searchQuerystringParameter) {\n return {\n type: 'SEARCH',\n url: formElementOptionsSetEnvironment.url,\n searchQuerystringParameter:\n formElementOptionsSetEnvironment.searchQuerystringParameter,\n }\n }\n\n try {\n const headers = await generateHeaders()\n const response = await fetchWithError(\n formElementOptionsSetEnvironment.url,\n {\n headers,\n signal: abortSignal,\n },\n )\n\n if (!response.ok) {\n const text = await response.text()\n throw new Error(text)\n }\n\n const options = await response.json()\n return {\n type: 'OPTIONS',\n options,\n }\n } catch (error) {\n Sentry.captureException(error)\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Options could not be loaded. Please contact your administrator to rectify the issue.`,\n {\n title: 'Invalid List Response',\n httpStatusCode: (error as HTTPError).status,\n originalError: new OneBlinkAppsError(\n JSON.stringify(\n {\n formElementOptionsSetId: formElementOptionsSet.id,\n formElementOptionsSetName: formElementOptionsSet.name,\n formElementOptionsSetUrl:\n formElementOptionsSetEnvironment.url,\n formsAppEnvironmentId,\n },\n null,\n 2,\n ),\n {\n originalError: error as HTTPError,\n },\n ),\n },\n ),\n }\n }\n }\n }\n}\n\n/**\n * @param form The form definition the form element is in. Used to generate\n * conditional logic for the\n * @param element The form element to have options appended to\n * @param data The untrusted options that need to be parsed.\n * @returns A new form element. The element passed in is not mutated.\n */\nfunction parseFormElementOptions(\n form: FormTypes.Form,\n element: FormTypes.FormElementWithOptions,\n options: unknown,\n): FormTypes.FormElementWithOptions {\n const dynamicOptions =\n formElementsService.parseDynamicFormElementOptions(options)\n const conditionallyShowOptionsElementIds: string[] = []\n const formElementOptions = dynamicOptions.map<FormTypes.ChoiceElementOption>(\n (option) => {\n const optionsMap = (option.attributes || []).reduce<\n Record<string, FormTypes.ChoiceElementOptionAttribute>\n >((memo, { label, value }) => {\n if (\n !element.attributesMapping ||\n !Array.isArray(element.attributesMapping)\n ) {\n return memo\n }\n const attribute = element.attributesMapping.find(\n (map) => map.attribute === label,\n )\n if (!attribute) return memo\n\n const elementId = attribute.elementId\n const predicateElement = formElementsService.findFormElement(\n form.elements,\n (el) => el.id === elementId,\n )\n if (!predicateElement) {\n return memo\n }\n\n const predicateElementWithOptions =\n typeCastService.formElements.toOptionsElement(predicateElement)\n if (!predicateElementWithOptions) {\n return memo\n }\n\n const predicateOption = predicateElementWithOptions.options?.find(\n (option) => option.value === value,\n )\n memo[elementId] = memo[elementId] || {\n elementId,\n optionIds: [],\n }\n memo[elementId].optionIds.push(\n predicateOption?.id || predicateOption?.value || value,\n )\n\n conditionallyShowOptionsElementIds.push(elementId)\n return memo\n }, {})\n\n return {\n ...option,\n id: option.value,\n attributes: Object.keys(optionsMap).map((key) => optionsMap[key]),\n }\n },\n )\n\n return {\n ...element,\n options: formElementOptions,\n conditionallyShowOptionsElementIds,\n }\n}\n\n/**\n * Load the options for Form Elements that are using a OneBlink List. Useful to\n * cache all the dynamic options when first opening an application.\n *\n * @param forms\n * @param abortSignal\n * @returns\n */\nasync function loadFormElementDynamicOptions(\n forms: FormTypes.Form[],\n abortSignal: AbortSignal,\n): Promise<void> {\n await Promise.all([\n (async () => {\n const formWithFreshdeskFields = forms.find((form) => {\n return formElementsService.findFormElement(form.elements, (el) => {\n const formElementWithOptions =\n typeCastService.formElements.toOptionsElement(el)\n return (\n formElementWithOptions?.optionsType === 'FRESHDESK_FIELD' &&\n !!formElementWithOptions.freshdeskFieldName\n )\n })\n }, [])\n if (formWithFreshdeskFields) {\n await getFreshdeskFields(formWithFreshdeskFields.id, abortSignal)\n }\n })(),\n (async () => {\n // Get the lists id for each element\n const formElementOptionsSetIds = forms.reduce((ids: number[], form) => {\n formElementsService.forEachFormElementWithOptions(\n form.elements,\n (el) => {\n if (\n el.optionsType === 'DYNAMIC' &&\n typeof el.dynamicOptionSetId === 'number'\n ) {\n ids.push(el.dynamicOptionSetId)\n }\n },\n )\n return ids\n }, [])\n\n if (!formElementOptionsSetIds.length) {\n return\n }\n\n // Get the lists for all the ids\n const organisationId = forms[0].organisationId\n const allFormElementOptionsSets = await getFormElementOptionsSets(\n organisationId,\n abortSignal,\n )\n\n const formElementOptionsSets = allFormElementOptionsSets.filter(\n ({ id }) => formElementOptionsSetIds.includes(id || 0),\n )\n\n // Get the options for all the lists\n await Promise.all(\n formElementOptionsSets.map(async (formElementOptionsSet) => {\n await getFormElementOptionsSetOptions(\n formElementOptionsSet,\n {\n formsAppEnvironmentId: forms[0].formsAppEnvironmentId,\n formId: forms[0].id,\n },\n abortSignal,\n )\n }),\n )\n })(),\n (async () => {\n //Check if there are any forms with a lookup\n const isThereAFormWithLookup = forms.some((form) => {\n const element = formElementsService.findFormElement(\n form.elements,\n (el) => {\n const lookupElement =\n typeCastService.formElements.toLookupElement(el)\n if (lookupElement) {\n if (lookupElement.isDataLookup || lookupElement.isElementLookup) {\n return true\n }\n }\n return false\n },\n )\n return !!element\n })\n\n if (!isThereAFormWithLookup) {\n return\n }\n\n //Obtain all lookups\n const organisationId = forms[0].organisationId\n const formsAppEnvironmentId = forms[0].formsAppEnvironmentId\n await getFormElementLookups(\n organisationId,\n formsAppEnvironmentId,\n abortSignal,\n )\n })(),\n ])\n}\n\n/**\n * Get the Freshdesk Fields associated with a form\n *\n * @param formId The identifier for the form to fetch freshdesk fields for\n * @param abortSignal A signal to abort any asynchronous processing\n * @returns An array of Freshdesk Fields\n */\nasync function getFreshdeskFields(\n formId: number,\n abortSignal: AbortSignal,\n): Promise<FreshdeskTypes.FreshdeskField[]> {\n return await getRequest<FreshdeskTypes.FreshdeskField[]>(\n `${tenants.current.apiOrigin}/forms/${formId}/freshdesk-fields`,\n abortSignal,\n )\n}\n\n/**\n * Parse Freshdesk Field options associated with a form element as form element\n * options.\n *\n * @param freshdeskFields An array of Freshdesk Fields\n * @param element The element to array of Freshdesk Fields\n * @returns An object containing valid options or a predictable error\n */\nfunction parseFreshdeskFieldOptions(\n freshdeskFields: FreshdeskTypes.FreshdeskField[],\n element: FormTypes.FormElementWithOptions,\n):\n | {\n type: 'OPTIONS'\n options: FormTypes.ChoiceElementOption[]\n }\n | {\n type: 'ERROR'\n error: OneBlinkAppsError\n } {\n const freshdeskField = freshdeskFields.find(\n (freshdeskField) => element.freshdeskFieldName === freshdeskField.name,\n )\n if (!freshdeskField) {\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Freshdesk Field does not exist. Please contact your administrator to rectify the issue.`,\n {\n title: 'Missing Freshdesk Field',\n originalError: new Error(JSON.stringify(element, null, 2)),\n },\n ),\n }\n }\n const options = freshdeskField.options\n if (!Array.isArray(options)) {\n return {\n type: 'ERROR',\n error: new OneBlinkAppsError(\n `Freshdesk Field does not have options. Please contact your administrator to rectify the issue.`,\n {\n title: 'Invalid Freshdesk Field',\n originalError: new Error(\n JSON.stringify({ element, freshdeskField }, null, 2),\n ),\n },\n ),\n }\n }\n\n return {\n type: 'OPTIONS',\n options: mapNestedOptions(options) || [],\n }\n}\n\nconst mapNestedOptions = (\n options: FreshdeskTypes.FreshdeskFieldOption[] | undefined,\n): FormTypes.ChoiceElementOption[] | undefined => {\n return options?.map<FormTypes.ChoiceElementOption>(\n ({ value, label, options: nestedOptions }) => ({\n id: value.toString(),\n value: value.toString(),\n label,\n options: mapNestedOptions(\n nestedOptions,\n ) as FormTypes.DynamicChoiceElementOption[],\n }),\n )\n}\n\n/**\n * Get configuration for a OneBlink Form.\n *\n * #### Example\n *\n * ```js\n * const formId = 1\n * const configuration = await formService.getFormConfiguration(formId)\n * ```\n *\n * @param formId\n * @param abortSignal\n * @returns\n */\nasync function getFormConfiguration(\n formId: number,\n abortSignal?: AbortSignal,\n): Promise<EnvironmentTypes.FormsAppEnvironmentConfiguration> {\n const url = `${tenants.current.apiOrigin}/forms/${formId}/configuration`\n\n try {\n return await getRequest<EnvironmentTypes.FormsAppEnvironmentConfiguration>(\n url,\n abortSignal,\n )\n } catch (err) {\n Sentry.captureException(err)\n\n const error = err as HTTPError\n\n if (isOffline()) {\n throw new OneBlinkAppsError(\n 'You are currently offline and do not have a local copy of this form available, please connect to the internet and try again',\n {\n originalError: error,\n isOffline: true,\n },\n )\n }\n\n switch (error.status) {\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the form you are looking for. Please contact support if the problem persists.',\n {\n originalError: error,\n title: 'Unknown Form',\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n }\n}\n\nexport {\n FormElementOptionsSetResult,\n getForms,\n getForm,\n FormElementLookupResult,\n getFormElementLookups,\n getFormElementLookupById,\n getFormElementOptionsSets,\n getFormElementOptionsSetOptions,\n parseFormElementOptions,\n getFreshdeskFields,\n parseFreshdeskFieldOptions,\n loadFormElementDynamicOptions,\n getFormConfiguration,\n}\n"]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { FormTypes, SubmissionTypes } from '@oneblink/types';
|
|
2
|
+
/** Filter for a single property in a Form Store Record */
|
|
3
|
+
export type FormStoreFilter<T> = {
|
|
4
|
+
$regex?: string;
|
|
5
|
+
$options?: string;
|
|
6
|
+
$eq?: T;
|
|
7
|
+
$gte?: T;
|
|
8
|
+
$gt?: T;
|
|
9
|
+
$lt?: T;
|
|
10
|
+
$lte?: T;
|
|
11
|
+
$in?: string[];
|
|
12
|
+
$elemMatch?: {
|
|
13
|
+
$in?: string[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
/** Filters available for filter Form Store Records */
|
|
17
|
+
export type FormStoreFilters = {
|
|
18
|
+
/** Filter results by the date/time they were completed */
|
|
19
|
+
dateTimeCompleted?: FormStoreFilter<string>;
|
|
20
|
+
/** Filter results by the date/time they were submitted */
|
|
21
|
+
dateTimeSubmitted?: FormStoreFilter<string>;
|
|
22
|
+
/** Filter results by the user that submitted */
|
|
23
|
+
submittedBy?: FormStoreFilter<string>;
|
|
24
|
+
/** Filter results by the submissionId, must be a valid GUID */
|
|
25
|
+
submissionId?: FormStoreFilter<string>;
|
|
26
|
+
/** Filter results by the externalId */
|
|
27
|
+
externalId?: FormStoreFilter<string>;
|
|
28
|
+
/** Filter results by the submission data */
|
|
29
|
+
submission?: Record<string, FormStoreFilter<unknown> | undefined>;
|
|
30
|
+
/** Filter results by the task that was completed by submitting a form */
|
|
31
|
+
task?: {
|
|
32
|
+
/** Filter results by the task name */
|
|
33
|
+
name?: FormStoreFilter<string>;
|
|
34
|
+
};
|
|
35
|
+
/** Filter results by the task action that was used to complete a task */
|
|
36
|
+
taskAction?: {
|
|
37
|
+
/** Filter results by the task action label */
|
|
38
|
+
label?: FormStoreFilter<string>;
|
|
39
|
+
};
|
|
40
|
+
/** Filter results by the task group that included the task */
|
|
41
|
+
taskGroup?: {
|
|
42
|
+
/** Filter results by the task group name */
|
|
43
|
+
name?: FormStoreFilter<string>;
|
|
44
|
+
};
|
|
45
|
+
/** Filter results by the task group instance that included the task */
|
|
46
|
+
taskGroupInstance?: {
|
|
47
|
+
/** Filter results by the task group instance label */
|
|
48
|
+
label?: FormStoreFilter<string>;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export type FormStoreParameters = {
|
|
52
|
+
/** Filters available for filter Form Store Records */
|
|
53
|
+
filters?: FormStoreFilters;
|
|
54
|
+
/**
|
|
55
|
+
* Unwind repeatable set entries to denormalise data, this makes data cleaner
|
|
56
|
+
* for tabular data purposes
|
|
57
|
+
*/
|
|
58
|
+
unwindRepeatableSets?: boolean;
|
|
59
|
+
/** Sort the results by multiple properties */
|
|
60
|
+
sorting?: Array<{
|
|
61
|
+
/** Property to sort by */
|
|
62
|
+
property: string;
|
|
63
|
+
/** Sorting direction */
|
|
64
|
+
direction: 'ascending' | 'descending';
|
|
65
|
+
}>;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Get the available form elements for a form to display form store records
|
|
69
|
+
*
|
|
70
|
+
* #### Example
|
|
71
|
+
*
|
|
72
|
+
* ```js
|
|
73
|
+
* const formId = 1
|
|
74
|
+
* const { formElements } =
|
|
75
|
+
* await formStoreService.getFormStoreDefinition(formId)
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @param formId The identified of the form you want to get the definition of
|
|
79
|
+
* @param abortSignal An AbortSignal to abort the request
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
export declare function getFormStoreDefinition(formId: number, abortSignal?: AbortSignal): Promise<{
|
|
83
|
+
formElements: FormTypes.FormElementWithName[];
|
|
84
|
+
}>;
|
|
85
|
+
/**
|
|
86
|
+
* Search for Form Store Records
|
|
87
|
+
*
|
|
88
|
+
* #### Example
|
|
89
|
+
*
|
|
90
|
+
* ```js
|
|
91
|
+
* const { formStoreRecords } =
|
|
92
|
+
* await formStoreService.searchFormStoreRecords({
|
|
93
|
+
* formId: 1,
|
|
94
|
+
* paging: {
|
|
95
|
+
* limit: 50,
|
|
96
|
+
* offset: 0,
|
|
97
|
+
* },
|
|
98
|
+
* })
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @param searchParameters Search parameters for filtering, sorting, and paging
|
|
102
|
+
* @param abortSignal An AbortSignal to abort the request
|
|
103
|
+
* @returns
|
|
104
|
+
*/
|
|
105
|
+
export declare function searchFormStoreRecords(searchParameters: {
|
|
106
|
+
formId: number;
|
|
107
|
+
paging: {
|
|
108
|
+
limit: number;
|
|
109
|
+
offset: number;
|
|
110
|
+
};
|
|
111
|
+
} & FormStoreParameters, abortSignal: AbortSignal): Promise<{
|
|
112
|
+
formStoreRecords: SubmissionTypes.FormStoreRecord[];
|
|
113
|
+
meta: {
|
|
114
|
+
limit: number;
|
|
115
|
+
offset: number;
|
|
116
|
+
nextOffset?: number;
|
|
117
|
+
};
|
|
118
|
+
}>;
|
|
119
|
+
/**
|
|
120
|
+
* Export Form Store Records as a CSV file. This function will download the file
|
|
121
|
+
* automatically.
|
|
122
|
+
*
|
|
123
|
+
* #### Example
|
|
124
|
+
*
|
|
125
|
+
* ```js
|
|
126
|
+
* await formStoreService.exportFormStoreRecords({
|
|
127
|
+
* formId: 1,
|
|
128
|
+
* })
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* @param fileName Name of the file to download. ".csv" will be added to the end
|
|
132
|
+
* of the file name if not passed
|
|
133
|
+
* @param searchParameters Search parameters for filtering, sorting, and
|
|
134
|
+
* including columns
|
|
135
|
+
* @param abortSignal An AbortSignal to abort the request
|
|
136
|
+
* @returns
|
|
137
|
+
*/
|
|
138
|
+
export declare function exportFormStoreRecords(fileName: string, searchParameters: {
|
|
139
|
+
formId: number;
|
|
140
|
+
includeColumns?: string[];
|
|
141
|
+
} & FormStoreParameters, abortSignal?: AbortSignal): Promise<void>;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { saveAs } from 'file-saver';
|
|
2
|
+
import OneBlinkAppsError from './services/errors/oneBlinkAppsError';
|
|
3
|
+
import { generateHeaders, searchRequest, postRequest, fetchWithError, } from './services/fetch';
|
|
4
|
+
import tenants from './tenants';
|
|
5
|
+
/**
|
|
6
|
+
* Get the available form elements for a form to display form store records
|
|
7
|
+
*
|
|
8
|
+
* #### Example
|
|
9
|
+
*
|
|
10
|
+
* ```js
|
|
11
|
+
* const formId = 1
|
|
12
|
+
* const { formElements } =
|
|
13
|
+
* await formStoreService.getFormStoreDefinition(formId)
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @param formId The identified of the form you want to get the definition of
|
|
17
|
+
* @param abortSignal An AbortSignal to abort the request
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
export async function getFormStoreDefinition(formId, abortSignal) {
|
|
21
|
+
try {
|
|
22
|
+
return await searchRequest(`${tenants.current.apiOrigin}/form-store/elements`, {
|
|
23
|
+
formId,
|
|
24
|
+
}, abortSignal);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
const error = err;
|
|
28
|
+
throw new OneBlinkAppsError(error.message, {
|
|
29
|
+
httpStatusCode: error.status,
|
|
30
|
+
originalError: error,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Search for Form Store Records
|
|
36
|
+
*
|
|
37
|
+
* #### Example
|
|
38
|
+
*
|
|
39
|
+
* ```js
|
|
40
|
+
* const { formStoreRecords } =
|
|
41
|
+
* await formStoreService.searchFormStoreRecords({
|
|
42
|
+
* formId: 1,
|
|
43
|
+
* paging: {
|
|
44
|
+
* limit: 50,
|
|
45
|
+
* offset: 0,
|
|
46
|
+
* },
|
|
47
|
+
* })
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @param searchParameters Search parameters for filtering, sorting, and paging
|
|
51
|
+
* @param abortSignal An AbortSignal to abort the request
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
export async function searchFormStoreRecords(searchParameters, abortSignal) {
|
|
55
|
+
try {
|
|
56
|
+
const { submissions, meta } = await postRequest(`${tenants.current.apiOrigin}/form-store`, searchParameters, abortSignal);
|
|
57
|
+
return {
|
|
58
|
+
formStoreRecords: submissions,
|
|
59
|
+
meta,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
const error = err;
|
|
64
|
+
throw new OneBlinkAppsError(error.message, {
|
|
65
|
+
httpStatusCode: error.status,
|
|
66
|
+
originalError: error,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Export Form Store Records as a CSV file. This function will download the file
|
|
72
|
+
* automatically.
|
|
73
|
+
*
|
|
74
|
+
* #### Example
|
|
75
|
+
*
|
|
76
|
+
* ```js
|
|
77
|
+
* await formStoreService.exportFormStoreRecords({
|
|
78
|
+
* formId: 1,
|
|
79
|
+
* })
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @param fileName Name of the file to download. ".csv" will be added to the end
|
|
83
|
+
* of the file name if not passed
|
|
84
|
+
* @param searchParameters Search parameters for filtering, sorting, and
|
|
85
|
+
* including columns
|
|
86
|
+
* @param abortSignal An AbortSignal to abort the request
|
|
87
|
+
* @returns
|
|
88
|
+
*/
|
|
89
|
+
export async function exportFormStoreRecords(fileName, searchParameters, abortSignal) {
|
|
90
|
+
if (!fileName.toLowerCase().endsWith('.csv')) {
|
|
91
|
+
fileName += '.csv';
|
|
92
|
+
}
|
|
93
|
+
const headers = await generateHeaders();
|
|
94
|
+
headers.Accept = 'text/csv';
|
|
95
|
+
const response = await fetchWithError(`${tenants.current.apiOrigin}/form-store/export`, {
|
|
96
|
+
method: 'POST',
|
|
97
|
+
headers,
|
|
98
|
+
mode: 'cors',
|
|
99
|
+
cache: 'default',
|
|
100
|
+
body: JSON.stringify(searchParameters),
|
|
101
|
+
signal: abortSignal,
|
|
102
|
+
});
|
|
103
|
+
if (response.ok) {
|
|
104
|
+
const blob = await response.blob();
|
|
105
|
+
saveAs(blob, fileName);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
const body = await response.json();
|
|
109
|
+
throw new OneBlinkAppsError(body.message, {
|
|
110
|
+
httpStatusCode: response.status,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=form-store-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-store-service.js","sourceRoot":"","sources":["../../src/apps/form-store-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,EACL,eAAe,EACf,aAAa,EACb,WAAW,EAEX,cAAc,GACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,OAAO,MAAM,WAAW,CAAA;AAsE/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,WAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,sBAAsB,EAClD;YACE,MAAM;SACP,EACD,WAAW,CACZ,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAgB,CAAA;QAC9B,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,gBAMuB,EACvB,WAAwB;IAKxB,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAG5C,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,aAAa,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAA;QAC5E,OAAO;YACL,gBAAgB,EAAE,WAAW;YAC7B,IAAI;SACL,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAgB,CAAA;QAC9B,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;YACzC,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,gBAGuB,EACvB,WAAyB;IAEzB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,QAAQ,IAAI,MAAM,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAA;IACvC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,oBAAoB,EAChD;QACE,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACtC,MAAM,EAAE,WAAW;KACpB,CACF,CAAA;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACxC,cAAc,EAAE,QAAQ,CAAC,MAAM;SAChC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport { saveAs } from 'file-saver'\nimport OneBlinkAppsError from './services/errors/oneBlinkAppsError'\nimport {\n generateHeaders,\n searchRequest,\n postRequest,\n HTTPError,\n fetchWithError,\n} from './services/fetch'\nimport tenants from './tenants'\n\n/** Filter for a single property in a Form Store Record */\nexport type FormStoreFilter<T> = {\n $regex?: string\n $options?: string\n $eq?: T\n $gte?: T\n $gt?: T\n $lt?: T\n $lte?: T\n $in?: string[]\n $elemMatch?: {\n $in?: string[]\n }\n}\n\n/** Filters available for filter Form Store Records */\nexport type FormStoreFilters = {\n /** Filter results by the date/time they were completed */\n dateTimeCompleted?: FormStoreFilter<string>\n /** Filter results by the date/time they were submitted */\n dateTimeSubmitted?: FormStoreFilter<string>\n /** Filter results by the user that submitted */\n submittedBy?: FormStoreFilter<string>\n /** Filter results by the submissionId, must be a valid GUID */\n submissionId?: FormStoreFilter<string>\n /** Filter results by the externalId */\n externalId?: FormStoreFilter<string>\n /** Filter results by the submission data */\n submission?: Record<string, FormStoreFilter<unknown> | undefined>\n /** Filter results by the task that was completed by submitting a form */\n task?: {\n /** Filter results by the task name */\n name?: FormStoreFilter<string>\n }\n /** Filter results by the task action that was used to complete a task */\n taskAction?: {\n /** Filter results by the task action label */\n label?: FormStoreFilter<string>\n }\n /** Filter results by the task group that included the task */\n taskGroup?: {\n /** Filter results by the task group name */\n name?: FormStoreFilter<string>\n }\n /** Filter results by the task group instance that included the task */\n taskGroupInstance?: {\n /** Filter results by the task group instance label */\n label?: FormStoreFilter<string>\n }\n}\n\nexport type FormStoreParameters = {\n /** Filters available for filter Form Store Records */\n filters?: FormStoreFilters\n /**\n * Unwind repeatable set entries to denormalise data, this makes data cleaner\n * for tabular data purposes\n */\n unwindRepeatableSets?: boolean\n /** Sort the results by multiple properties */\n sorting?: Array<{\n /** Property to sort by */\n property: string\n /** Sorting direction */\n direction: 'ascending' | 'descending'\n }>\n}\n\n/**\n * Get the available form elements for a form to display form store records\n *\n * #### Example\n *\n * ```js\n * const formId = 1\n * const { formElements } =\n * await formStoreService.getFormStoreDefinition(formId)\n * ```\n *\n * @param formId The identified of the form you want to get the definition of\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function getFormStoreDefinition(\n formId: number,\n abortSignal?: AbortSignal,\n): Promise<{ formElements: FormTypes.FormElementWithName[] }> {\n try {\n return await searchRequest(\n `${tenants.current.apiOrigin}/form-store/elements`,\n {\n formId,\n },\n abortSignal,\n )\n } catch (err) {\n const error = err as HTTPError\n throw new OneBlinkAppsError(error.message, {\n httpStatusCode: error.status,\n originalError: error,\n })\n }\n}\n\n/**\n * Search for Form Store Records\n *\n * #### Example\n *\n * ```js\n * const { formStoreRecords } =\n * await formStoreService.searchFormStoreRecords({\n * formId: 1,\n * paging: {\n * limit: 50,\n * offset: 0,\n * },\n * })\n * ```\n *\n * @param searchParameters Search parameters for filtering, sorting, and paging\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function searchFormStoreRecords(\n searchParameters: {\n formId: number\n paging: {\n limit: number\n offset: number\n }\n } & FormStoreParameters,\n abortSignal: AbortSignal,\n): Promise<{\n formStoreRecords: SubmissionTypes.FormStoreRecord[]\n meta: { limit: number; offset: number; nextOffset?: number }\n}> {\n try {\n const { submissions, meta } = await postRequest<{\n submissions: SubmissionTypes.FormStoreRecord[]\n meta: { limit: number; offset: number; nextOffset?: number }\n }>(`${tenants.current.apiOrigin}/form-store`, searchParameters, abortSignal)\n return {\n formStoreRecords: submissions,\n meta,\n }\n } catch (err) {\n const error = err as HTTPError\n throw new OneBlinkAppsError(error.message, {\n httpStatusCode: error.status,\n originalError: error,\n })\n }\n}\n\n/**\n * Export Form Store Records as a CSV file. This function will download the file\n * automatically.\n *\n * #### Example\n *\n * ```js\n * await formStoreService.exportFormStoreRecords({\n * formId: 1,\n * })\n * ```\n *\n * @param fileName Name of the file to download. \".csv\" will be added to the end\n * of the file name if not passed\n * @param searchParameters Search parameters for filtering, sorting, and\n * including columns\n * @param abortSignal An AbortSignal to abort the request\n * @returns\n */\nexport async function exportFormStoreRecords(\n fileName: string,\n searchParameters: {\n formId: number\n includeColumns?: string[]\n } & FormStoreParameters,\n abortSignal?: AbortSignal,\n): Promise<void> {\n if (!fileName.toLowerCase().endsWith('.csv')) {\n fileName += '.csv'\n }\n const headers = await generateHeaders()\n headers.Accept = 'text/csv'\n const response = await fetchWithError(\n `${tenants.current.apiOrigin}/form-store/export`,\n {\n method: 'POST',\n headers,\n mode: 'cors',\n cache: 'default',\n body: JSON.stringify(searchParameters),\n signal: abortSignal,\n },\n )\n if (response.ok) {\n const blob = await response.blob()\n saveAs(blob, fileName)\n } else {\n const body = await response.json()\n throw new OneBlinkAppsError(body.message, {\n httpStatusCode: response.status,\n })\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EnvironmentTypes } from '@oneblink/types';
|
|
2
|
+
/**
|
|
3
|
+
* Get configuration for a OneBlink Forms App Environment.
|
|
4
|
+
*
|
|
5
|
+
* #### Example
|
|
6
|
+
*
|
|
7
|
+
* ```js
|
|
8
|
+
* const formsAppEnvironmentId = 1
|
|
9
|
+
* const configuration =
|
|
10
|
+
* await formsAppEnvironmentService.getFormsAppEnvironmentConfiguration(
|
|
11
|
+
* formsAppEnvironmentId,
|
|
12
|
+
* )
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @param formsAppEnvironmentId
|
|
16
|
+
* @param abortSignal
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare function getFormsAppEnvironmentConfiguration(formsAppEnvironmentId: number, abortSignal?: AbortSignal): Promise<EnvironmentTypes.FormsAppEnvironmentConfiguration>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import tenants from './tenants';
|
|
2
|
+
import { getRequest } from './services/fetch';
|
|
3
|
+
import { isOffline } from './offline-service';
|
|
4
|
+
import OneBlinkAppsError from './services/errors/oneBlinkAppsError';
|
|
5
|
+
import Sentry from './Sentry';
|
|
6
|
+
/**
|
|
7
|
+
* Get configuration for a OneBlink Forms App Environment.
|
|
8
|
+
*
|
|
9
|
+
* #### Example
|
|
10
|
+
*
|
|
11
|
+
* ```js
|
|
12
|
+
* const formsAppEnvironmentId = 1
|
|
13
|
+
* const configuration =
|
|
14
|
+
* await formsAppEnvironmentService.getFormsAppEnvironmentConfiguration(
|
|
15
|
+
* formsAppEnvironmentId,
|
|
16
|
+
* )
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @param formsAppEnvironmentId
|
|
20
|
+
* @param abortSignal
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export async function getFormsAppEnvironmentConfiguration(formsAppEnvironmentId, abortSignal) {
|
|
24
|
+
const url = `${tenants.current.apiOrigin}/forms-app-environments/${formsAppEnvironmentId}/configuration`;
|
|
25
|
+
try {
|
|
26
|
+
return await getRequest(url, abortSignal);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
Sentry.captureException(err);
|
|
30
|
+
const error = err;
|
|
31
|
+
if (isOffline()) {
|
|
32
|
+
throw new OneBlinkAppsError('You are currently offline and do not have a local copy of this form available, please connect to the internet and try again', {
|
|
33
|
+
originalError: error,
|
|
34
|
+
isOffline: true,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
switch (error.status) {
|
|
38
|
+
case 400:
|
|
39
|
+
case 404: {
|
|
40
|
+
throw new OneBlinkAppsError('We could not find the form you are looking for. Please contact support if the problem persists.', {
|
|
41
|
+
originalError: error,
|
|
42
|
+
title: 'Unknown Form',
|
|
43
|
+
httpStatusCode: error.status,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
default: {
|
|
47
|
+
throw new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
|
|
48
|
+
originalError: error,
|
|
49
|
+
httpStatusCode: error.status,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=forms-app-environment-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms-app-environment-service.js","sourceRoot":"","sources":["../../src/apps/forms-app-environment-service.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAa,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,qBAA6B,EAC7B,WAAyB;IAEzB,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,2BAA2B,qBAAqB,gBAAgB,CAAA;IAExG,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CACrB,GAAG,EACH,WAAW,CACZ,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAE5B,MAAM,KAAK,GAAG,GAAgB,CAAA;QAE9B,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,iBAAiB,CACzB,6HAA6H,EAC7H;gBACE,aAAa,EAAE,KAAK;gBACpB,SAAS,EAAE,IAAI;aAChB,CACF,CAAA;QACH,CAAC;QAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,iBAAiB,CACzB,iGAAiG,EACjG;oBACE,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,cAAc;oBACrB,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CACF,CAAA;YACH,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAI,iBAAiB,CACzB,gFAAgF,EAChF;oBACE,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CACF,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { EnvironmentTypes } from '@oneblink/types'\nimport tenants from './tenants'\nimport { HTTPError, getRequest } from './services/fetch'\nimport { isOffline } from './offline-service'\nimport OneBlinkAppsError from './services/errors/oneBlinkAppsError'\nimport Sentry from './Sentry'\n\n/**\n * Get configuration for a OneBlink Forms App Environment.\n *\n * #### Example\n *\n * ```js\n * const formsAppEnvironmentId = 1\n * const configuration =\n * await formsAppEnvironmentService.getFormsAppEnvironmentConfiguration(\n * formsAppEnvironmentId,\n * )\n * ```\n *\n * @param formsAppEnvironmentId\n * @param abortSignal\n * @returns\n */\nexport async function getFormsAppEnvironmentConfiguration(\n formsAppEnvironmentId: number,\n abortSignal?: AbortSignal,\n): Promise<EnvironmentTypes.FormsAppEnvironmentConfiguration> {\n const url = `${tenants.current.apiOrigin}/forms-app-environments/${formsAppEnvironmentId}/configuration`\n\n try {\n return await getRequest<EnvironmentTypes.FormsAppEnvironmentConfiguration>(\n url,\n abortSignal,\n )\n } catch (err) {\n Sentry.captureException(err)\n\n const error = err as HTTPError\n\n if (isOffline()) {\n throw new OneBlinkAppsError(\n 'You are currently offline and do not have a local copy of this form available, please connect to the internet and try again',\n {\n originalError: error,\n isOffline: true,\n },\n )\n }\n\n switch (error.status) {\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the form you are looking for. Please contact support if the problem persists.',\n {\n originalError: error,\n title: 'Unknown Form',\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FormsAppsTypes, EnvironmentTypes } from '@oneblink/types';
|
|
2
|
+
export type FormsAppConfigurationResponse = FormsAppsTypes.FormsAppConfiguration<EnvironmentTypes.FormsAppEnvironmentStyles>;
|
|
3
|
+
/**
|
|
4
|
+
* Get configuration for a OneBlink Forms App.
|
|
5
|
+
*
|
|
6
|
+
* #### Example
|
|
7
|
+
*
|
|
8
|
+
* ```js
|
|
9
|
+
* const formsAppId = 1
|
|
10
|
+
* const formsApp =
|
|
11
|
+
* await formsAppService.getFormsAppConfiguration(formAppId)
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @param formsAppId
|
|
15
|
+
* @param abortSignal
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare function getFormsAppConfiguration(formsAppId: number, abortSignal?: AbortSignal): Promise<FormsAppConfigurationResponse>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import tenants from './tenants';
|
|
2
|
+
import { getRequest } from './services/fetch';
|
|
3
|
+
import { isOffline } from './offline-service';
|
|
4
|
+
import OneBlinkAppsError from './services/errors/oneBlinkAppsError';
|
|
5
|
+
import Sentry from './Sentry';
|
|
6
|
+
/**
|
|
7
|
+
* Get configuration for a OneBlink Forms App.
|
|
8
|
+
*
|
|
9
|
+
* #### Example
|
|
10
|
+
*
|
|
11
|
+
* ```js
|
|
12
|
+
* const formsAppId = 1
|
|
13
|
+
* const formsApp =
|
|
14
|
+
* await formsAppService.getFormsAppConfiguration(formAppId)
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @param formsAppId
|
|
18
|
+
* @param abortSignal
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
export async function getFormsAppConfiguration(formsAppId, abortSignal) {
|
|
22
|
+
const url = `${tenants.current.apiOrigin}/forms-apps/${formsAppId}/hostname-configuration`;
|
|
23
|
+
try {
|
|
24
|
+
return await getRequest(url, abortSignal);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
Sentry.captureException(err);
|
|
28
|
+
const error = err;
|
|
29
|
+
if (isOffline()) {
|
|
30
|
+
throw new OneBlinkAppsError('You are currently offline and do not have a local copy of this app available, please connect to the internet and try again', {
|
|
31
|
+
originalError: error,
|
|
32
|
+
isOffline: true,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
switch (error.status) {
|
|
36
|
+
case 400:
|
|
37
|
+
case 404: {
|
|
38
|
+
throw new OneBlinkAppsError('We could not find the forms app you are looking for. Please contact support if the problem persists.', {
|
|
39
|
+
originalError: error,
|
|
40
|
+
title: 'Unknown Form',
|
|
41
|
+
httpStatusCode: error.status,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
default: {
|
|
45
|
+
throw new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
|
|
46
|
+
originalError: error,
|
|
47
|
+
httpStatusCode: error.status,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=forms-app-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms-app-service.js","sourceRoot":"","sources":["../../src/apps/forms-app-service.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAa,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,MAAM,MAAM,UAAU,CAAA;AAK7B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAAkB,EAClB,WAAyB;IAEzB,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,eAAe,UAAU,yBAAyB,CAAA;IAE1F,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAgC,GAAG,EAAE,WAAW,CAAC,CAAA;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAE5B,MAAM,KAAK,GAAG,GAAgB,CAAA;QAE9B,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,iBAAiB,CACzB,4HAA4H,EAC5H;gBACE,aAAa,EAAE,KAAK;gBACpB,SAAS,EAAE,IAAI;aAChB,CACF,CAAA;QACH,CAAC;QAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,iBAAiB,CACzB,sGAAsG,EACtG;oBACE,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,cAAc;oBACrB,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CACF,CAAA;YACH,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAI,iBAAiB,CACzB,gFAAgF,EAChF;oBACE,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CACF,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { FormsAppsTypes, EnvironmentTypes } from '@oneblink/types'\nimport tenants from './tenants'\nimport { HTTPError, getRequest } from './services/fetch'\nimport { isOffline } from './offline-service'\nimport OneBlinkAppsError from './services/errors/oneBlinkAppsError'\nimport Sentry from './Sentry'\n\nexport type FormsAppConfigurationResponse =\n FormsAppsTypes.FormsAppConfiguration<EnvironmentTypes.FormsAppEnvironmentStyles>\n\n/**\n * Get configuration for a OneBlink Forms App.\n *\n * #### Example\n *\n * ```js\n * const formsAppId = 1\n * const formsApp =\n * await formsAppService.getFormsAppConfiguration(formAppId)\n * ```\n *\n * @param formsAppId\n * @param abortSignal\n * @returns\n */\nexport async function getFormsAppConfiguration(\n formsAppId: number,\n abortSignal?: AbortSignal,\n): Promise<FormsAppConfigurationResponse> {\n const url = `${tenants.current.apiOrigin}/forms-apps/${formsAppId}/hostname-configuration`\n\n try {\n return await getRequest<FormsAppConfigurationResponse>(url, abortSignal)\n } catch (err) {\n Sentry.captureException(err)\n\n const error = err as HTTPError\n\n if (isOffline()) {\n throw new OneBlinkAppsError(\n 'You are currently offline and do not have a local copy of this app available, please connect to the internet and try again',\n {\n originalError: error,\n isOffline: true,\n },\n )\n }\n\n switch (error.status) {\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the forms app you are looking for. Please contact support if the problem persists.',\n {\n originalError: error,\n title: 'Unknown Form',\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n }\n}\n"]}
|