@oneblink/apps-react 8.14.0-beta.2 → 9.0.0-beta.1
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.js +3 -2
- package/dist/OneBlinkForm.js.map +1 -1
- package/dist/OneBlinkFormBase.d.ts +1 -1
- package/dist/OneBlinkFormBase.js +49 -146
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/OneBlinkReadOnlyForm.d.ts +1 -1
- package/dist/OneBlinkReadOnlyForm.js +2 -1
- package/dist/OneBlinkReadOnlyForm.js.map +1 -1
- package/dist/PaymentReceipt.d.ts +1 -1
- package/dist/PaymentReceipt.js +9 -30
- package/dist/PaymentReceipt.js.map +1 -1
- package/dist/components/ArcGISWebMap.d.ts +3 -3
- package/dist/components/ArcGISWebMap.js +25 -38
- 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 +7 -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 +3 -20
- 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 -6
- 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 +5 -6
- 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 +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.js +33 -45
- 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 +5 -6
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
- package/dist/components/calendar-bookings/ErrorModal.js +7 -11
- 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 +1 -1
- package/dist/components/downloadable-files/index.js +3 -5
- package/dist/components/downloadable-files/index.js.map +1 -1
- package/dist/components/downloadable-files/resource-components.d.ts +3 -3
- package/dist/components/downloadable-files/resource-components.js +9 -32
- 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 +5 -15
- 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 -2
- 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 +7 -26
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.js +4 -5
- package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js +3 -2
- package/dist/components/formStore/OneBlinkFormStoreRefreshButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.d.ts +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.js +128 -94
- 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 +9 -12
- 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 +84 -100
- 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 +34 -97
- 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 +14 -13
- package/dist/components/formStore/table/Pickers.js.map +1 -1
- package/dist/components/formStore/table/RepeatableSetCell.js +16 -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 +5 -6
- 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 +266 -199
- package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
- package/dist/components/formStore/useFormStoreTableContext.d.ts +142 -33
- 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 +1 -1
- package/dist/components/mfa/MfaDialog.js +9 -48
- 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 +4 -9
- package/dist/components/payments/PaymentForm.js.map +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js +11 -45
- 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 +15 -34
- 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 +14 -36
- package/dist/components/renderer/LookupNotification.js.map +1 -1
- package/dist/components/renderer/Modal.d.ts +3 -3
- package/dist/components/renderer/Modal.js +5 -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 +2 -4
- 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 +2 -1
- 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 +3 -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 +3 -21
- 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 +5 -9
- package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
- package/dist/form-elements/FormElementBSB.d.ts +1 -1
- package/dist/form-elements/FormElementBSB.js +17 -30
- 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 +2 -9
- 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 +2 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.d.ts +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js +2 -4
- package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
- package/dist/form-elements/FormElementCompliance.d.ts +1 -1
- 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 +2 -9
- package/dist/form-elements/FormElementDate.js.map +1 -1
- package/dist/form-elements/FormElementDateTime.d.ts +1 -1
- package/dist/form-elements/FormElementDateTime.js +2 -9
- 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.js +2 -12
- package/dist/form-elements/FormElementFile.js.map +1 -1
- package/dist/form-elements/FormElementFiles.d.ts +1 -1
- 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 +2 -1
- package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.d.ts +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js +2 -4
- package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
- package/dist/form-elements/FormElementGoogleAddress.d.ts +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js +2 -7
- 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 +16 -47
- package/dist/form-elements/FormElementLocation.js.map +1 -1
- package/dist/form-elements/FormElementLookupButton.d.ts +2 -3
- package/dist/form-elements/FormElementLookupButton.js +4 -7
- package/dist/form-elements/FormElementLookupButton.js.map +1 -1
- package/dist/form-elements/FormElementNumber.d.ts +1 -1
- package/dist/form-elements/FormElementNumber.js +3 -14
- package/dist/form-elements/FormElementNumber.js.map +1 -1
- package/dist/form-elements/FormElementPointAddress.d.ts +2 -2
- package/dist/form-elements/FormElementPointAddress.js +6 -13
- package/dist/form-elements/FormElementPointAddress.js.map +1 -1
- package/dist/form-elements/FormElementPointAddressV3.d.ts +1 -1
- package/dist/form-elements/FormElementPointAddressV3.js +2 -9
- package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.d.ts +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js +14 -26
- 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 +5 -4
- 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 +2 -9
- 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/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/form-date-picker/useFormDatePickerProps.d.ts +7 -8
- package/dist/hooks/form-date-picker/useFormDatePickerProps.js +8 -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 +2 -1
- package/dist/hooks/useAuth.js.map +1 -1
- package/dist/hooks/useDrafts.d.ts +1 -1
- package/dist/hooks/useDrafts.js +2 -1
- package/dist/hooks/useDrafts.js.map +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.d.ts +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.js +4 -13
- package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
- package/dist/hooks/useFormElementLookups.d.ts +1 -1
- package/dist/hooks/useFormElementLookups.js +2 -1
- package/dist/hooks/useFormElementLookups.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 +2 -1
- 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/useMfa.d.ts +1 -1
- package/dist/hooks/useMfa.js +2 -1
- package/dist/hooks/useMfa.js.map +1 -1
- package/dist/hooks/usePages.d.ts +1 -1
- package/dist/hooks/usePendingSubmissions.d.ts +1 -1
- package/dist/hooks/usePendingSubmissions.js +2 -1
- 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/package.json +21 -25
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MobileDatePicker,
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { MobileDatePicker, MobileDateTimePicker, } from '@mui/x-date-pickers';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import useNullableState from '../../../hooks/useNullableState';
|
|
5
5
|
import { format } from 'date-fns';
|
|
@@ -9,7 +9,7 @@ const shortDateTimeFormat = localisationService.getDateFnsFormats().shortDateTim
|
|
|
9
9
|
export const FiltersDatePicker = (props) => {
|
|
10
10
|
const { label, onChange } = props;
|
|
11
11
|
const commonProps = useCommonPickerProps(props);
|
|
12
|
-
return (
|
|
12
|
+
return (_jsx(MobileDatePicker, { label: label, format: shortDateFormat, ...commonProps, onAccept: (newDate) => {
|
|
13
13
|
if (!newDate)
|
|
14
14
|
return onChange(undefined);
|
|
15
15
|
const formattedDate = format(newDate, 'yyyy-MM-dd');
|
|
@@ -19,7 +19,7 @@ export const FiltersDatePicker = (props) => {
|
|
|
19
19
|
export const FiltersDateTimePicker = (props) => {
|
|
20
20
|
const { label, onChange } = props;
|
|
21
21
|
const commonProps = useCommonPickerProps(props);
|
|
22
|
-
return (
|
|
22
|
+
return (_jsx(MobileDateTimePicker, { label: label, format: shortDateTimeFormat, ...commonProps, onAccept: (newDate) => {
|
|
23
23
|
if (!newDate)
|
|
24
24
|
return onChange(undefined);
|
|
25
25
|
onChange(newDate.toISOString());
|
|
@@ -28,18 +28,18 @@ export const FiltersDateTimePicker = (props) => {
|
|
|
28
28
|
const useCommonPickerProps = ({ renderHelperText, value, maxDate, minDate, }) => {
|
|
29
29
|
const [errorType, setErrorType] = useNullableState(null);
|
|
30
30
|
const valueMemo = React.useMemo(() => {
|
|
31
|
-
return value ? new Date(value) :
|
|
31
|
+
return value ? new Date(value) : undefined;
|
|
32
32
|
}, [value]);
|
|
33
|
-
const maxDateMemo = React.useMemo(() => (maxDate ? new Date(maxDate) :
|
|
34
|
-
const minDateMemo = React.useMemo(() => (minDate ? new Date(minDate) :
|
|
33
|
+
const maxDateMemo = React.useMemo(() => (maxDate ? new Date(maxDate) : undefined), [maxDate]);
|
|
34
|
+
const minDateMemo = React.useMemo(() => (minDate ? new Date(minDate) : undefined), [minDate]);
|
|
35
35
|
return {
|
|
36
|
-
slots: {
|
|
37
|
-
textField: (params) => (React.createElement(TextField, { ...params, variant: "outlined", margin: "dense", size: "small", helperText: renderHelperText(errorType), InputProps: {
|
|
38
|
-
endAdornment: (React.createElement(IconButton, { edge: "end" },
|
|
39
|
-
React.createElement(CalendarIcon, null))),
|
|
40
|
-
} })),
|
|
41
|
-
},
|
|
42
36
|
slotProps: {
|
|
37
|
+
textField: {
|
|
38
|
+
variant: 'outlined',
|
|
39
|
+
margin: 'dense',
|
|
40
|
+
size: 'small',
|
|
41
|
+
helperText: renderHelperText(errorType),
|
|
42
|
+
},
|
|
43
43
|
actionBar: {
|
|
44
44
|
actions: [
|
|
45
45
|
'clear',
|
|
@@ -53,6 +53,7 @@ const useCommonPickerProps = ({ renderHelperText, value, maxDate, minDate, }) =>
|
|
|
53
53
|
minDate: minDateMemo,
|
|
54
54
|
value: valueMemo,
|
|
55
55
|
onError: setErrorType,
|
|
56
|
+
enableAccessibleFieldDOMStructure: false,
|
|
56
57
|
};
|
|
57
58
|
};
|
|
58
59
|
//# sourceMappingURL=Pickers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pickers.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/Pickers.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Pickers.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/Pickers.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n MobileDatePicker,\n DateValidationError,\n DateTimeValidationError,\n MobileDateTimePicker,\n PickersActionBarAction,\n} from '@mui/x-date-pickers'\nimport * as React from 'react'\nimport useNullableState from '../../../hooks/useNullableState'\nimport { format } from 'date-fns'\nimport { localisationService } from '@oneblink/apps'\n\nconst shortDateFormat = localisationService.getDateFnsFormats().shortDate\nconst shortDateTimeFormat =\n localisationService.getDateFnsFormats().shortDateTime\n\ntype DatePickersProps = {\n label: string\n value: string | undefined\n onChange: (newDate: string | undefined) => void\n renderHelperText: (errorType: DateValidationError) => React.ReactNode\n maxDate?: string\n minDate?: string\n}\nexport const FiltersDatePicker = (props: DatePickersProps) => {\n const { label, onChange } = props\n const commonProps = useCommonPickerProps(props)\n\n return (\n <MobileDatePicker\n label={label}\n format={shortDateFormat}\n {...commonProps}\n onAccept={(newDate) => {\n if (!newDate) return onChange(undefined)\n\n const formattedDate = format(newDate, 'yyyy-MM-dd')\n onChange(formattedDate)\n }}\n />\n )\n}\n\ntype DateTimePickersProps = DatePickersProps & {\n renderHelperText: (errorType: DateTimeValidationError) => React.ReactNode\n}\nexport const FiltersDateTimePicker = (props: DateTimePickersProps) => {\n const { label, onChange } = props\n const commonProps = useCommonPickerProps(props)\n\n return (\n <MobileDateTimePicker\n label={label}\n format={shortDateTimeFormat}\n {...commonProps}\n onAccept={(newDate) => {\n if (!newDate) return onChange(undefined)\n onChange(newDate.toISOString())\n }}\n />\n )\n}\n\nconst useCommonPickerProps = <T extends DateTimeValidationError>({\n renderHelperText,\n value,\n maxDate,\n minDate,\n}: {\n renderHelperText: (errorType: T | null) => React.ReactNode\n value: string | undefined\n maxDate?: string\n minDate?: string\n}) => {\n const [errorType, setErrorType] = useNullableState<T>(null)\n\n const valueMemo = React.useMemo(() => {\n return value ? new Date(value) : undefined\n }, [value])\n\n const maxDateMemo = React.useMemo(\n () => (maxDate ? new Date(maxDate) : undefined),\n [maxDate],\n )\n const minDateMemo = React.useMemo(\n () => (minDate ? new Date(minDate) : undefined),\n [minDate],\n )\n\n return {\n slotProps: {\n textField: {\n variant: 'outlined' as const,\n margin: 'dense' as const,\n size: 'small' as const,\n helperText: renderHelperText(errorType),\n },\n actionBar: {\n actions: [\n 'clear',\n 'today',\n 'cancel',\n 'accept',\n ] as PickersActionBarAction[],\n },\n },\n maxDate: maxDateMemo,\n minDate: minDateMemo,\n value: valueMemo,\n onError: setErrorType,\n enableAccessibleFieldDOMStructure: false,\n }\n}\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { Typography, Divider as MuiDivider, styled } from '@mui/material';
|
|
3
4
|
import useBooleanState from '../../../hooks/useBooleanState';
|
|
4
5
|
import generateColumns from './generateColumns';
|
|
5
|
-
import {
|
|
6
|
+
import { getCoreRowModel, useReactTable } from '@tanstack/react-table';
|
|
6
7
|
import RepeatableSetCellAccordion from './RepeatableSetCellAccordion';
|
|
7
8
|
const Wrapper = styled('div')({
|
|
8
9
|
width: '100%',
|
|
@@ -36,28 +37,22 @@ const RepeatableSetCell = ({ formElement, value }) => {
|
|
|
36
37
|
sorting: undefined,
|
|
37
38
|
unwindRepeatableSets: undefined,
|
|
38
39
|
}), [formElement.elements]);
|
|
39
|
-
const {
|
|
40
|
-
columns,
|
|
40
|
+
const { getRowModel } = useReactTable({
|
|
41
|
+
columns: columns,
|
|
41
42
|
data: value.map((entry) => ({ submission: entry })),
|
|
43
|
+
getCoreRowModel: getCoreRowModel(),
|
|
42
44
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
React.createElement(Typography, { color: "textSecondary", variant: "body2" },
|
|
55
|
-
cell.column.headerText,
|
|
56
|
-
":")),
|
|
57
|
-
React.createElement(CellValue, null, cellValue)));
|
|
58
|
-
}),
|
|
59
|
-
!isLast && React.createElement(Divider, null)));
|
|
60
|
-
}))));
|
|
45
|
+
const rows = React.useMemo(() => getRowModel().rows, [getRowModel]);
|
|
46
|
+
return (_jsx(RepeatableSetCellAccordion, { title: `${value.length} Entr${hasMultipleEntries ? 'ies' : 'y'}`, isOpen: isVisible, onChange: toggleVisibility, children: _jsx(Wrapper, { children: getRowModel().rows.map((row, i) => {
|
|
47
|
+
const isLast = i === rows.length - 1;
|
|
48
|
+
return (_jsxs(React.Fragment, { children: [row.getAllCells().map((cell) => {
|
|
49
|
+
var _a;
|
|
50
|
+
const cellValue = cell.getValue();
|
|
51
|
+
if (!cellValue)
|
|
52
|
+
return null;
|
|
53
|
+
return (_jsxs(CellRow, { children: [_jsx("span", { children: _jsxs(Typography, { color: "textSecondary", variant: "body2", children: [((_a = cell.column.columnDef.header) === null || _a === void 0 ? void 0 : _a.toString()) || '', ":"] }) }), _jsx(CellValue, { children: cellValue })] }, cell.column.id));
|
|
54
|
+
}), !isLast && _jsx(Divider, {})] }, row.id));
|
|
55
|
+
}) }) }));
|
|
61
56
|
};
|
|
62
57
|
export default React.memo(RepeatableSetCell);
|
|
63
58
|
//# sourceMappingURL=RepeatableSetCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeatableSetCell.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/RepeatableSetCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,eAAe,MAAM,gCAAgC,CAAA;AAC5D,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RepeatableSetCell.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/RepeatableSetCell.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Typography, Divider as MuiDivider, styled } from '@mui/material'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport useBooleanState from '../../../hooks/useBooleanState'\nimport generateColumns from './generateColumns'\nimport { getCoreRowModel, useReactTable } from '@tanstack/react-table'\nimport RepeatableSetCellAccordion from './RepeatableSetCellAccordion'\n\nconst Wrapper = styled('div')({\n width: '100%',\n})\nconst CellRow = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing(),\n width: '100%',\n}))\n\nconst CellValue = styled('span')(({ theme }) => ({\n flex: 2,\n marginLeft: theme.spacing(),\n textAlign: 'right',\n width: '100%',\n}))\n\nconst Divider = styled(MuiDivider)(({ theme }) => ({\n margin: theme.spacing(1, -2),\n}))\n\ntype Props = {\n value: Array<Record<string, unknown>>\n formElement: FormTypes.RepeatableSetElement\n}\n\nconst RepeatableSetCell = ({ formElement, value }: Props) => {\n const [isVisible, , , toggleVisibility] = useBooleanState(false)\n const hasMultipleEntries = value.length > 1\n const columns = React.useMemo(\n () =>\n generateColumns({\n onChangeParameters: () => {},\n formElements: formElement.elements,\n parentElementNames: [],\n initialColumns: [],\n allowCopy: false,\n filters: undefined,\n sorting: undefined,\n unwindRepeatableSets: undefined,\n }),\n [formElement.elements],\n )\n const { getRowModel } = useReactTable({\n columns: columns,\n data: value.map((entry) => ({ submission: entry })),\n getCoreRowModel: getCoreRowModel<SubmissionTypes.FormStoreRecord>(),\n })\n\n const rows = React.useMemo(() => getRowModel().rows, [getRowModel])\n\n return (\n <RepeatableSetCellAccordion\n title={`${value.length} Entr${hasMultipleEntries ? 'ies' : 'y'}`}\n isOpen={isVisible}\n onChange={toggleVisibility}\n >\n <Wrapper>\n {getRowModel().rows.map((row, i) => {\n const isLast = i === rows.length - 1\n return (\n <React.Fragment key={row.id}>\n {row.getAllCells().map((cell) => {\n const cellValue = cell.getValue()\n if (!cellValue) return null\n return (\n <CellRow key={cell.column.id}>\n <span>\n <Typography color=\"textSecondary\" variant=\"body2\">\n {cell.column.columnDef.header?.toString() || ''}:\n </Typography>\n </span>\n <CellValue>{cellValue as string}</CellValue>\n </CellRow>\n )\n })}\n {!isLast && <Divider />}\n </React.Fragment>\n )\n })}\n </Wrapper>\n </RepeatableSetCellAccordion>\n )\n}\n\nexport default React.memo<Props>(RepeatableSetCell)\n"]}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { CustomAccordion, CustomAccordionSummary, CustomAccordionDetails, } from '../../CustomAccordion';
|
|
3
4
|
import { Typography } from '@mui/material';
|
|
4
5
|
import MaterialIcon from '../../MaterialIcon';
|
|
5
6
|
const RepeatableSetCell = ({ isOpen, onChange, title, children }) => {
|
|
6
|
-
return (
|
|
7
|
-
React.createElement(CustomAccordionSummary, { expandIcon: React.createElement(MaterialIcon, null, "expand_more"), "data-cypress": "form-store-repeatable-set-cell-accordion-summary" },
|
|
8
|
-
React.createElement(Typography, null, title)),
|
|
9
|
-
React.createElement(CustomAccordionDetails, null, children)));
|
|
7
|
+
return (_jsxs(CustomAccordion, { expanded: isOpen, onChange: onChange, "data-cypress": "form-store-repeatable-set-cell-accordion", children: [_jsx(CustomAccordionSummary, { expandIcon: _jsx(MaterialIcon, { children: "expand_more" }), "data-cypress": "form-store-repeatable-set-cell-accordion-summary", children: _jsx(Typography, { children: title }) }), _jsx(CustomAccordionDetails, { children: children })] }));
|
|
10
8
|
};
|
|
11
9
|
export default React.memo(RepeatableSetCell);
|
|
12
10
|
//# sourceMappingURL=RepeatableSetCellAccordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeatableSetCellAccordion.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/RepeatableSetCellAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAS7C,MAAM,iBAAiB,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IACzE,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"RepeatableSetCellAccordion.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/RepeatableSetCellAccordion.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAS7C,MAAM,iBAAiB,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IACzE,OAAO,CACL,MAAC,eAAe,IACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,kBACL,0CAA0C,aAEvD,KAAC,sBAAsB,IACrB,UAAU,EAAE,KAAC,YAAY,8BAA2B,kBACvC,kDAAkD,YAE/D,KAAC,UAAU,cAAE,KAAK,GAAc,GACT,EACzB,KAAC,sBAAsB,cAAE,QAAQ,GAA0B,IAC3C,CACnB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,KAAK,CAAC,IAAI,CAAQ,iBAAiB,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport {\n CustomAccordion,\n CustomAccordionSummary,\n CustomAccordionDetails,\n} from '../../CustomAccordion'\nimport { Typography } from '@mui/material'\nimport MaterialIcon from '../../MaterialIcon'\n\ntype Props = {\n isOpen: boolean\n onChange: () => void\n title: string\n children: React.ReactNode\n}\n\nconst RepeatableSetCell = ({ isOpen, onChange, title, children }: Props) => {\n return (\n <CustomAccordion\n expanded={isOpen}\n onChange={onChange}\n data-cypress=\"form-store-repeatable-set-cell-accordion\"\n >\n <CustomAccordionSummary\n expandIcon={<MaterialIcon>expand_more</MaterialIcon>}\n data-cypress=\"form-store-repeatable-set-cell-accordion-summary\"\n >\n <Typography>{title}</Typography>\n </CustomAccordionSummary>\n <CustomAccordionDetails>{children}</CustomAccordionDetails>\n </CustomAccordion>\n )\n}\n\nexport default React.memo<Props>(RepeatableSetCell)\n"]}
|
|
@@ -2,6 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
declare function TableCellCopyButton({ text, isHidden, }: {
|
|
3
3
|
text: string;
|
|
4
4
|
isHidden?: boolean;
|
|
5
|
-
}):
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
6
6
|
declare const _default: React.MemoExoticComponent<typeof TableCellCopyButton>;
|
|
7
7
|
export default _default;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { Zoom } from '@mui/material';
|
|
3
4
|
import CopyToClipboardIconButton from '../../CopyToClipboardIconButton';
|
|
@@ -8,9 +9,7 @@ function TableCellCopyButton({ text, isHidden, }) {
|
|
|
8
9
|
if (isHidden) {
|
|
9
10
|
return null;
|
|
10
11
|
}
|
|
11
|
-
return (
|
|
12
|
-
React.createElement(StyledSpan, null,
|
|
13
|
-
React.createElement(StyledCopyToClipbaordButton, { text: text }))));
|
|
12
|
+
return (_jsx(Zoom, { in: isHovering, children: _jsx(StyledSpan, { children: _jsx(StyledCopyToClipbaordButton, { text: text }) }) }));
|
|
14
13
|
}
|
|
15
14
|
const StyledSpan = styled('span')(() => ({
|
|
16
15
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCellCopyButton.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/TableCellCopyButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,yBAAyB,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,SAAS,mBAAmB,CAAC,EAC3B,IAAI,EACJ,QAAQ,GAIT;IACC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"TableCellCopyButton.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/TableCellCopyButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,yBAAyB,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,SAAS,mBAAmB,CAAC,EAC3B,IAAI,EACJ,QAAQ,GAIT;IACC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,KAAC,IAAI,IAAC,EAAE,EAAE,UAAU,YAClB,KAAC,UAAU,cACT,KAAC,2BAA2B,IAAC,IAAI,EAAE,IAAI,GAAI,GAChC,GACR,CACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;CACT,CAAC,CAAC,CAAA;AAEH,MAAM,2BAA2B,GAAG,MAAM,CAAC,yBAAyB,CAAC,CACnE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACd,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;IAC/C,SAAS,EAAE;QACT,oFAAoF;QACpF,eAAe,EAAE,SAAS;KAC3B;CACF,CAAC,CACH,CAAA;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { Zoom } from '@mui/material'\nimport CopyToClipboardIconButton from '../../CopyToClipboardIconButton'\nimport { useIsHovering } from '../../../hooks/useIsHovering'\nimport { styled } from '@mui/material/styles'\n\nfunction TableCellCopyButton({\n text,\n isHidden,\n}: {\n text: string\n isHidden?: boolean\n}) {\n const isHovering = useIsHovering()\n if (isHidden) {\n return null\n }\n return (\n <Zoom in={isHovering}>\n <StyledSpan>\n <StyledCopyToClipbaordButton text={text} />\n </StyledSpan>\n </Zoom>\n )\n}\n\nconst StyledSpan = styled('span')(() => ({\n position: 'absolute',\n top: 0,\n right: 0,\n}))\n\nconst StyledCopyToClipbaordButton = styled(CopyToClipboardIconButton)(\n ({ theme }) => ({\n backgroundColor: theme.palette.background.paper,\n '&:hover': {\n // Rough equivalent of the color created by transparency `rgba(0,0,0,0.04)` on white\n backgroundColor: '#f3f3f3',\n },\n }),\n)\n\nexport default React.memo(TableCellCopyButton)\n"]}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { FormTypes } from '@oneblink/types';
|
|
1
|
+
import { ColumnDef } from '@tanstack/react-table';
|
|
2
|
+
import { FormTypes, SubmissionTypes } from '@oneblink/types';
|
|
4
3
|
import { formStoreService } from '@oneblink/apps';
|
|
5
4
|
import { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad';
|
|
6
5
|
declare const generateColumns: <T extends {
|
|
7
|
-
submission:
|
|
6
|
+
submission: SubmissionTypes.S3SubmissionData["submission"];
|
|
8
7
|
}>({ formElements, onChangeParameters, filters, sorting, unwindRepeatableSets, parentElementNames, initialColumns, allowCopy, }: {
|
|
9
8
|
formElements: (FormTypes.FormElement & {
|
|
10
9
|
tooltip?: string;
|
|
11
10
|
})[];
|
|
12
11
|
onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>;
|
|
13
12
|
parentElementNames: string[];
|
|
14
|
-
initialColumns: Array<
|
|
13
|
+
initialColumns: Array<ColumnDef<T>>;
|
|
15
14
|
allowCopy: boolean;
|
|
16
|
-
} & { [P in keyof Required<formStoreService.FormStoreParameters>]: formStoreService.FormStoreParameters[P] | undefined; }) =>
|
|
15
|
+
} & { [P in keyof Required<formStoreService.FormStoreParameters>]: formStoreService.FormStoreParameters[P] | undefined; }) => ColumnDef<T>[];
|
|
17
16
|
export default generateColumns;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createColumnHelper, } from '@tanstack/react-table';
|
|
2
3
|
import FormElementTableCell from './FormElementTableCell';
|
|
3
4
|
import generateFreshdeskDependentFieldElements from '../../../services/generateFreshdeskDependentFieldElements';
|
|
4
5
|
function generateSorting({ formElement, parentElementNames, sorting, }) {
|
|
@@ -138,6 +139,7 @@ function generateFilter({ formElement, onChangeParameters, rootSubmissionFilters
|
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
const generateColumns = ({ formElements, onChangeParameters, filters, sorting, unwindRepeatableSets, parentElementNames, initialColumns, allowCopy, }) => {
|
|
142
|
+
const columnHelper = createColumnHelper();
|
|
141
143
|
return formElements.reduce((columns, formElement) => {
|
|
142
144
|
if (unwindRepeatableSets && formElement.type === 'repeatableSet') {
|
|
143
145
|
generateColumns({
|
|
@@ -254,27 +256,30 @@ const generateColumns = ({ formElements, onChangeParameters, filters, sorting, u
|
|
|
254
256
|
break;
|
|
255
257
|
}
|
|
256
258
|
default: {
|
|
257
|
-
|
|
258
|
-
formElementType: formElement.type,
|
|
259
|
+
const col = columnHelper.display({
|
|
259
260
|
id: ['FORM_ELEMENT', ...parentElementNames, formElement.name].join('_'),
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
sorting
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
261
|
+
header: formElement.label,
|
|
262
|
+
meta: {
|
|
263
|
+
sorting: generateSorting({
|
|
264
|
+
formElement,
|
|
265
|
+
sorting,
|
|
266
|
+
parentElementNames,
|
|
267
|
+
}),
|
|
268
|
+
tooltip: formElement.tooltip || formElement.name,
|
|
269
|
+
formElementType: formElement.type,
|
|
270
|
+
filter: generateFilter({
|
|
271
|
+
formElement,
|
|
272
|
+
onChangeParameters,
|
|
273
|
+
rootSubmissionFilters: filters === null || filters === void 0 ? void 0 : filters.submission,
|
|
274
|
+
parentElementNames,
|
|
275
|
+
}),
|
|
276
|
+
},
|
|
277
|
+
cell: ({ row: { original: formStoreRecord } }) => {
|
|
274
278
|
const submission = parentElementNames.reduce((memo, elementName) => memo === null || memo === void 0 ? void 0 : memo[elementName], formStoreRecord.submission);
|
|
275
|
-
return (
|
|
279
|
+
return (_jsx(FormElementTableCell, { formElement: formElement, submission: submission, allowCopy: allowCopy }));
|
|
276
280
|
},
|
|
277
281
|
});
|
|
282
|
+
columns.push(col);
|
|
278
283
|
break;
|
|
279
284
|
}
|
|
280
285
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateColumns.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/generateColumns.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport { Column as ColumnWithCell, CellProps } from 'react-table'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport FormElementTableCell from './FormElementTableCell'\nimport { formStoreService } from '@oneblink/apps'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport generateFreshdeskDependentFieldElements from '../../../services/generateFreshdeskDependentFieldElements'\n\nfunction generateSorting({\n formElement,\n parentElementNames,\n sorting,\n}: {\n formElement: FormTypes.FormElementWithName\n parentElementNames: string[]\n sorting: formStoreService.FormStoreParameters['sorting']\n}) {\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'number':\n case 'email':\n case 'telephone':\n case 'barcodeScanner':\n case 'date':\n case 'datetime':\n case 'time':\n case 'calculation': {\n const sortProperty = [\n 'submission',\n ...parentElementNames,\n formElement.name,\n ].join('.')\n return {\n property: sortProperty,\n direction: sorting?.find(({ property }) => property === sortProperty)\n ?.direction,\n }\n }\n }\n}\n\nfunction generateFilter({\n formElement,\n onChangeParameters,\n rootSubmissionFilters,\n parentElementNames,\n}: {\n formElement: FormTypes.FormElementWithName\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n rootSubmissionFilters: formStoreService.FormStoreFilters['submission']\n parentElementNames: string[]\n}): ColumnWithCell<Record<string, unknown>>['filter'] {\n function onChange<T>(\n newValue: formStoreService.FormStoreFilter<T> | undefined,\n shouldDebounce: boolean,\n ) {\n onChangeParameters((currentParameters) => {\n let newSubmission = {\n [formElement.name]: newValue,\n }\n\n if (parentElementNames.length) {\n const copy = [...parentElementNames]\n while (copy.length) {\n const nestedSubmission = copy.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[\n elementName\n ] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n const elementName = copy.pop()\n if (elementName) {\n newSubmission = {\n [elementName]: {\n ...nestedSubmission,\n ...newSubmission,\n },\n }\n }\n }\n }\n\n return {\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submission: {\n ...currentParameters.filters?.submission,\n ...newSubmission,\n },\n },\n }\n }, shouldDebounce)\n }\n\n const submissionFilters = parentElementNames.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'email':\n case 'telephone':\n case 'barcodeScanner': {\n return {\n type: 'TEXT',\n value: submissionFilters?.[formElement.name] as\n | { $regex: string; $options?: string }\n | undefined,\n onChange,\n }\n }\n case 'number':\n case 'calculation': {\n return {\n type: 'NUMBER',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: number; $lte?: number }\n | undefined,\n onChange,\n }\n }\n case 'checkboxes':\n case 'select':\n case 'radio':\n case 'autocomplete': {\n const value = submissionFilters?.[formElement.name]\n if (Array.isArray(formElement.options)) {\n if (\n (formElement.type === 'select' && formElement.multi) ||\n formElement.type === 'checkboxes'\n ) {\n return {\n type: 'OPTIONS_MULTIPLE',\n value: value as { $elemMatch: { $in: string[] } } | undefined,\n options: formElement.options,\n onChange,\n }\n } else {\n return {\n type: 'OPTIONS_SINGLE',\n value: value as { $in: string[] } | undefined,\n options: formElement.options,\n onChange,\n }\n }\n } else {\n return {\n type: 'TEXT',\n value: value as { $regex: string } | undefined,\n onChange,\n }\n }\n }\n case 'boolean':\n return {\n type: 'BOOLEAN',\n value: submissionFilters?.[formElement.name] as\n | { $eq: boolean }\n | undefined,\n onChange,\n }\n case 'date': {\n return {\n type: 'DATE',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n }\n case 'datetime':\n return {\n type: 'DATETIME',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n default: {\n return undefined\n }\n }\n}\n\nconst generateColumns = <\n T extends { submission: FormStoreRecord['submission'] },\n>({\n formElements,\n onChangeParameters,\n filters,\n sorting,\n unwindRepeatableSets,\n parentElementNames,\n initialColumns,\n allowCopy,\n}: {\n formElements: (FormTypes.FormElement & { tooltip?: string })[]\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n parentElementNames: string[]\n initialColumns: Array<ColumnWithCell<T>>\n allowCopy: boolean\n} & {\n [P in keyof Required<formStoreService.FormStoreParameters>]:\n | formStoreService.FormStoreParameters[P]\n | undefined\n}) => {\n return formElements.reduce<Array<ColumnWithCell<T>>>(\n (columns, formElement) => {\n if (unwindRepeatableSets && formElement.type === 'repeatableSet') {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n return columns\n }\n switch (formElement.type) {\n case 'page':\n case 'section': {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames,\n filters,\n initialColumns: columns,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'form': {\n if (formElement.elements) {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n }\n break\n }\n case 'compliance': {\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...formElement,\n tooltip: formElement.name,\n type: 'radio',\n name: 'value',\n buttons: false,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_notes`,\n type: 'textarea',\n name: 'notes',\n label: `${formElement.label} (Notes)`,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_media`,\n type: 'files',\n restrictFileTypes: false,\n name: 'files',\n label: `${formElement.label} (Media)`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'freshdeskDependentField': {\n const [categoryFormElement, subCategoryFormElement, itemFormElement] =\n generateFreshdeskDependentFieldElements(formElement)\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...categoryFormElement,\n tooltip: `${formElement.name}_category`,\n },\n {\n ...subCategoryFormElement,\n tooltip: `${formElement.name}_sub_category`,\n },\n {\n ...itemFormElement,\n tooltip: `${formElement.name}_item`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'summary':\n case 'captcha':\n case 'html':\n case 'heading':\n case 'infoPage':\n case 'image': {\n break\n }\n default: {\n columns.push({\n formElementType: formElement.type,\n id: ['FORM_ELEMENT', ...parentElementNames, formElement.name].join(\n '_',\n ),\n sorting: generateSorting({\n formElement,\n sorting,\n parentElementNames,\n }),\n headerText: formElement.label,\n tooltip: formElement.tooltip || formElement.name,\n filter: generateFilter({\n parentElementNames,\n formElement,\n onChangeParameters,\n rootSubmissionFilters: filters?.submission,\n }),\n Cell: ({ row: { original: formStoreRecord } }: CellProps<T>) => {\n const submission = parentElementNames.reduce<\n SubmissionTypes.S3SubmissionData['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as FormStoreRecord['submission'],\n formStoreRecord.submission,\n )\n return (\n <FormElementTableCell\n formElement={formElement}\n submission={submission}\n allowCopy={allowCopy}\n />\n )\n },\n })\n break\n }\n }\n return columns\n },\n initialColumns,\n )\n}\n\nexport default generateColumns\n"]}
|
|
1
|
+
{"version":3,"file":"generateColumns.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/generateColumns.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FormStoreRecord } from '@oneblink/types/typescript/submissions'\nimport {\n ColumnDef,\n ColumnMeta,\n createColumnHelper,\n} from '@tanstack/react-table'\nimport { FormTypes, SubmissionTypes } from '@oneblink/types'\nimport FormElementTableCell from './FormElementTableCell'\nimport { formStoreService } from '@oneblink/apps'\nimport { OnChangeFilters } from '../../../hooks/useInfiniteScrollDataLoad'\nimport generateFreshdeskDependentFieldElements from '../../../services/generateFreshdeskDependentFieldElements'\n\nfunction generateSorting({\n formElement,\n parentElementNames,\n sorting,\n}: {\n formElement: FormTypes.FormElementWithName\n parentElementNames: string[]\n sorting: formStoreService.FormStoreParameters['sorting']\n}) {\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'number':\n case 'email':\n case 'telephone':\n case 'barcodeScanner':\n case 'date':\n case 'datetime':\n case 'time':\n case 'calculation': {\n const sortProperty = [\n 'submission',\n ...parentElementNames,\n formElement.name,\n ].join('.')\n return {\n property: sortProperty,\n direction: sorting?.find(({ property }) => property === sortProperty)\n ?.direction,\n }\n }\n }\n}\n\nfunction generateFilter({\n formElement,\n onChangeParameters,\n rootSubmissionFilters,\n parentElementNames,\n}: {\n formElement: FormTypes.FormElementWithName\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n rootSubmissionFilters: formStoreService.FormStoreFilters['submission']\n parentElementNames: string[]\n}): ColumnMeta<unknown, unknown>['filter'] {\n function onChange<T>(\n newValue: formStoreService.FormStoreFilter<T> | undefined,\n shouldDebounce: boolean,\n ) {\n onChangeParameters((currentParameters) => {\n let newSubmission = {\n [formElement.name]: newValue,\n }\n\n if (parentElementNames.length) {\n const copy = [...parentElementNames]\n while (copy.length) {\n const nestedSubmission = copy.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[\n elementName\n ] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n const elementName = copy.pop()\n if (elementName) {\n newSubmission = {\n [elementName]: {\n ...nestedSubmission,\n ...newSubmission,\n },\n }\n }\n }\n }\n\n return {\n ...currentParameters,\n filters: {\n ...currentParameters.filters,\n submission: {\n ...currentParameters.filters?.submission,\n ...newSubmission,\n },\n },\n }\n }, shouldDebounce)\n }\n\n const submissionFilters = parentElementNames.reduce<\n formStoreService.FormStoreFilters['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as formStoreService.FormStoreFilters['submission'],\n rootSubmissionFilters,\n )\n switch (formElement.type) {\n case 'text':\n case 'textarea':\n case 'email':\n case 'telephone':\n case 'barcodeScanner': {\n return {\n type: 'TEXT',\n value: submissionFilters?.[formElement.name] as\n | { $regex: string; $options?: string }\n | undefined,\n onChange,\n }\n }\n case 'number':\n case 'calculation': {\n return {\n type: 'NUMBER',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: number; $lte?: number }\n | undefined,\n onChange,\n }\n }\n case 'checkboxes':\n case 'select':\n case 'radio':\n case 'autocomplete': {\n const value = submissionFilters?.[formElement.name]\n if (Array.isArray(formElement.options)) {\n if (\n (formElement.type === 'select' && formElement.multi) ||\n formElement.type === 'checkboxes'\n ) {\n return {\n type: 'OPTIONS_MULTIPLE',\n value: value as { $elemMatch: { $in: string[] } } | undefined,\n options: formElement.options,\n onChange,\n }\n } else {\n return {\n type: 'OPTIONS_SINGLE',\n value: value as { $in: string[] } | undefined,\n options: formElement.options,\n onChange,\n }\n }\n } else {\n return {\n type: 'TEXT',\n value: value as { $regex: string } | undefined,\n onChange,\n }\n }\n }\n case 'boolean':\n return {\n type: 'BOOLEAN',\n value: submissionFilters?.[formElement.name] as\n | { $eq: boolean }\n | undefined,\n onChange,\n }\n case 'date': {\n return {\n type: 'DATE',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n }\n case 'datetime':\n return {\n type: 'DATETIME',\n value: submissionFilters?.[formElement.name] as\n | { $gte?: string; $lte?: string }\n | undefined,\n onChange,\n }\n default: {\n return undefined\n }\n }\n}\n\nconst generateColumns = <\n T extends { submission: SubmissionTypes.S3SubmissionData['submission'] },\n>({\n formElements,\n onChangeParameters,\n filters,\n sorting,\n unwindRepeatableSets,\n parentElementNames,\n initialColumns,\n allowCopy,\n}: {\n formElements: (FormTypes.FormElement & { tooltip?: string })[]\n onChangeParameters: OnChangeFilters<formStoreService.FormStoreParameters>\n parentElementNames: string[]\n initialColumns: Array<ColumnDef<T>>\n allowCopy: boolean\n} & {\n [P in keyof Required<formStoreService.FormStoreParameters>]:\n | formStoreService.FormStoreParameters[P]\n | undefined\n}) => {\n const columnHelper = createColumnHelper<T>()\n return formElements.reduce<Array<ColumnDef<T>>>((columns, formElement) => {\n if (unwindRepeatableSets && formElement.type === 'repeatableSet') {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n return columns\n }\n switch (formElement.type) {\n case 'page':\n case 'section': {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames,\n filters,\n initialColumns: columns,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'form': {\n if (formElement.elements) {\n generateColumns({\n onChangeParameters,\n formElements: formElement.elements,\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n }\n break\n }\n case 'compliance': {\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...formElement,\n tooltip: formElement.name,\n type: 'radio',\n name: 'value',\n buttons: false,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_notes`,\n type: 'textarea',\n name: 'notes',\n label: `${formElement.label} (Notes)`,\n },\n {\n ...formElement,\n tooltip: `${formElement.name}_media`,\n type: 'files',\n restrictFileTypes: false,\n name: 'files',\n label: `${formElement.label} (Media)`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'freshdeskDependentField': {\n const [categoryFormElement, subCategoryFormElement, itemFormElement] =\n generateFreshdeskDependentFieldElements(formElement)\n generateColumns({\n onChangeParameters,\n formElements: [\n {\n ...categoryFormElement,\n tooltip: `${formElement.name}_category`,\n },\n {\n ...subCategoryFormElement,\n tooltip: `${formElement.name}_sub_category`,\n },\n {\n ...itemFormElement,\n tooltip: `${formElement.name}_item`,\n },\n ],\n parentElementNames: [...parentElementNames, formElement.name],\n initialColumns: columns,\n filters,\n allowCopy,\n sorting,\n unwindRepeatableSets,\n })\n break\n }\n case 'summary':\n case 'captcha':\n case 'html':\n case 'heading':\n case 'infoPage':\n case 'image': {\n break\n }\n default: {\n const col = columnHelper.display({\n id: ['FORM_ELEMENT', ...parentElementNames, formElement.name].join(\n '_',\n ),\n header: formElement.label,\n meta: {\n sorting: generateSorting({\n formElement,\n sorting,\n parentElementNames,\n }),\n tooltip: formElement.tooltip || formElement.name,\n formElementType: formElement.type,\n filter: generateFilter({\n formElement,\n onChangeParameters,\n rootSubmissionFilters: filters?.submission,\n parentElementNames,\n }),\n },\n cell: ({ row: { original: formStoreRecord } }) => {\n const submission = parentElementNames.reduce<\n SubmissionTypes.S3SubmissionData['submission']\n >(\n (memo, elementName) =>\n memo?.[elementName] as FormStoreRecord['submission'],\n formStoreRecord.submission,\n )\n return (\n <FormElementTableCell\n formElement={formElement}\n submission={submission}\n allowCopy={allowCopy}\n />\n )\n },\n })\n columns.push(col)\n break\n }\n }\n return columns\n }, initialColumns)\n}\n\nexport default generateColumns\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TableState } from 'react-table';
|
|
1
|
+
import { TableState } from '@tanstack/react-table';
|
|
3
2
|
export declare const latestStateVersion: string | undefined;
|
|
4
|
-
export type FormTableState = Partial<TableState
|
|
3
|
+
export type FormTableState = Partial<TableState> & {
|
|
4
|
+
/** @deprecated The table state now uses columnVisibility instead */
|
|
5
|
+
hiddenColumns?: string[];
|
|
5
6
|
defaultHiddenColumnsVersion?: string;
|
|
6
7
|
formId: number;
|
|
7
8
|
};
|
|
@@ -14,19 +14,31 @@ const defaultHiddenColumns = [
|
|
|
14
14
|
];
|
|
15
15
|
export const latestStateVersion = defaultHiddenColumns[defaultHiddenColumns.length - 1].version;
|
|
16
16
|
export const getVersionedFormTableState = (initialState) => {
|
|
17
|
+
var _a;
|
|
17
18
|
const state = { ...initialState };
|
|
19
|
+
// carry over deprecated hiddenColumns to columnVisibility
|
|
20
|
+
if ((_a = state.hiddenColumns) === null || _a === void 0 ? void 0 : _a.length) {
|
|
21
|
+
const columnVisibility = {};
|
|
22
|
+
state.hiddenColumns.forEach((column) => {
|
|
23
|
+
columnVisibility[column] = false;
|
|
24
|
+
});
|
|
25
|
+
state.columnVisibility = columnVisibility;
|
|
26
|
+
}
|
|
18
27
|
// If there are no hidden columns yet, meaning it is a
|
|
19
28
|
// brand new state, hide all default columns.
|
|
20
|
-
if (!
|
|
21
|
-
state.
|
|
22
|
-
|
|
23
|
-
|
|
29
|
+
if (!state.columnVisibility) {
|
|
30
|
+
state.columnVisibility = defaultHiddenColumns.reduce((memo, defaultHiddenColumn) => {
|
|
31
|
+
defaultHiddenColumn.hiddenColumns.forEach((column) => {
|
|
32
|
+
memo[column] = false;
|
|
33
|
+
});
|
|
34
|
+
return memo;
|
|
35
|
+
}, {});
|
|
24
36
|
}
|
|
25
37
|
else if (state.defaultHiddenColumnsVersion !== latestStateVersion) {
|
|
26
38
|
// If the state is not up to the latest version, find the next version
|
|
27
39
|
// and add the new defaults
|
|
28
40
|
let foundVersion = false;
|
|
29
|
-
const columnsSet = new Set(state.
|
|
41
|
+
const columnsSet = new Set(Object.keys(state.columnVisibility));
|
|
30
42
|
for (const defaultHiddenColumn of defaultHiddenColumns) {
|
|
31
43
|
if (defaultHiddenColumn.version === state.defaultHiddenColumnsVersion) {
|
|
32
44
|
foundVersion = true;
|
|
@@ -38,7 +50,12 @@ export const getVersionedFormTableState = (initialState) => {
|
|
|
38
50
|
}
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
|
-
state.
|
|
53
|
+
state.columnVisibility = Array.from(columnsSet).reduce((memo, column) => {
|
|
54
|
+
return {
|
|
55
|
+
...memo,
|
|
56
|
+
[column]: false,
|
|
57
|
+
};
|
|
58
|
+
}, {});
|
|
42
59
|
}
|
|
43
60
|
state.defaultHiddenColumnsVersion = latestStateVersion;
|
|
44
61
|
return state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVersionedState.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/getVersionedState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getVersionedState.js","sourceRoot":"","sources":["../../../../src/components/formStore/table/getVersionedState.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB,GAAG;IAC3B;QACE,OAAO,EAAE,SAAS;QAClB,aAAa,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC;KAChD;IACD;QACE,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,CAAC;KAC5E;IACD;QACE,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,CAAC,cAAc,CAAC;KAChC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAC7B,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;AAS/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,YAA4B,EACZ,EAAE;;IAClB,MAAM,KAAK,GAAG,EAAE,GAAG,YAAY,EAAE,CAAA;IAEjC,0DAA0D;IAC1D,IAAI,MAAA,KAAK,CAAC,aAAa,0CAAE,MAAM,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAA4B,EAAE,CAAA;QACpD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,gBAAgB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;QAClC,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC3C,CAAC;IAED,sDAAsD;IACtD,6CAA6C;IAC7C,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC5B,KAAK,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAClD,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE;YAC5B,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;YACtB,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,kBAAkB,EAAE,CAAC;QACpE,sEAAsE;QACtE,2BAA2B;QAC3B,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACvE,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;YACvD,IAAI,mBAAmB,CAAC,OAAO,KAAK,KAAK,CAAC,2BAA2B,EAAE,CAAC;gBACtE,YAAY,GAAG,IAAI,CAAA;gBACnB,SAAQ;YACV,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,YAAY,IAAI,mBAAmB,CAAC,aAAa,EAAE,CAAC;oBAC7D,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACpD,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACf,OAAO;gBACL,GAAG,IAAI;gBACP,CAAC,MAAM,CAAC,EAAE,KAAK;aAChB,CAAA;QACH,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B,GAAG,kBAAkB,CAAA;IAEtD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,eAAe,0BAA0B,CAAA","sourcesContent":["import { TableState, VisibilityState } from '@tanstack/react-table'\n\nconst defaultHiddenColumns = [\n {\n version: undefined,\n hiddenColumns: ['SUBMISSION_ID', 'EXTERNAL_ID'],\n },\n {\n version: 'V1',\n hiddenColumns: ['TASK', 'TASK_ACTION', 'TASK_GROUP', 'TASK_GROUP_INSTANCE'],\n },\n {\n version: 'V2',\n hiddenColumns: ['COMPLETED_AT'],\n },\n]\n\nexport const latestStateVersion =\n defaultHiddenColumns[defaultHiddenColumns.length - 1].version\n\nexport type FormTableState = Partial<TableState> & {\n /** @deprecated The table state now uses columnVisibility instead */\n hiddenColumns?: string[]\n defaultHiddenColumnsVersion?: string\n formId: number\n}\n\nexport const getVersionedFormTableState = (\n initialState: FormTableState,\n): FormTableState => {\n const state = { ...initialState }\n\n // carry over deprecated hiddenColumns to columnVisibility\n if (state.hiddenColumns?.length) {\n const columnVisibility: Record<string, boolean> = {}\n state.hiddenColumns.forEach((column) => {\n columnVisibility[column] = false\n })\n state.columnVisibility = columnVisibility\n }\n\n // If there are no hidden columns yet, meaning it is a\n // brand new state, hide all default columns.\n if (!state.columnVisibility) {\n state.columnVisibility = defaultHiddenColumns.reduce<VisibilityState>(\n (memo, defaultHiddenColumn) => {\n defaultHiddenColumn.hiddenColumns.forEach((column) => {\n memo[column] = false\n })\n return memo\n },\n {},\n )\n } else if (state.defaultHiddenColumnsVersion !== latestStateVersion) {\n // If the state is not up to the latest version, find the next version\n // and add the new defaults\n let foundVersion = false\n const columnsSet = new Set<string>(Object.keys(state.columnVisibility))\n for (const defaultHiddenColumn of defaultHiddenColumns) {\n if (defaultHiddenColumn.version === state.defaultHiddenColumnsVersion) {\n foundVersion = true\n continue\n }\n\n if (foundVersion) {\n for (const hiddenColumn of defaultHiddenColumn.hiddenColumns) {\n columnsSet.add(hiddenColumn)\n }\n }\n }\n\n state.columnVisibility = Array.from(columnsSet).reduce<VisibilityState>(\n (memo, column) => {\n return {\n ...memo,\n [column]: false,\n }\n },\n {},\n )\n }\n\n state.defaultHiddenColumnsVersion = latestStateVersion\n\n return state\n}\n\nexport default getVersionedFormTableState\n"]}
|