@oneblink/apps-react 8.6.1 → 8.7.0-beta.2
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/OneBlinkForm.d.ts +2 -0
- package/dist/OneBlinkFormBase.d.ts +4 -2
- package/dist/OneBlinkFormBase.js +19 -15
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/components/OneBlinkFormFooter.d.ts +6 -0
- package/dist/components/OneBlinkFormFooter.js +9 -0
- package/dist/components/OneBlinkFormFooter.js.map +1 -0
- package/dist/components/formStore/table/FormElementTableCell.js +1 -0
- package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
- package/dist/components/renderer/FormElementValidationMessage.d.ts +7 -0
- package/dist/components/renderer/FormElementValidationMessage.js +21 -0
- package/dist/components/renderer/FormElementValidationMessage.js.map +1 -0
- package/dist/components/renderer/LookupNotification.js +8 -3
- package/dist/components/renderer/LookupNotification.js.map +1 -1
- package/dist/components/renderer/OneBlinkFormElements.js +4 -0
- package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
- package/dist/form-elements/FormElementABN.js +2 -2
- package/dist/form-elements/FormElementABN.js.map +1 -1
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js +2 -2
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
- package/dist/form-elements/FormElementArcGISWebMap.js +2 -2
- package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
- package/dist/form-elements/FormElementBSB.js +2 -2
- package/dist/form-elements/FormElementBSB.js.map +1 -1
- package/dist/form-elements/FormElementBarcodeScanner.js +2 -2
- package/dist/form-elements/FormElementBarcodeScanner.js.map +1 -1
- package/dist/form-elements/FormElementBoolean.js +2 -2
- package/dist/form-elements/FormElementBoolean.js.map +1 -1
- package/dist/form-elements/FormElementCamera.js +2 -2
- package/dist/form-elements/FormElementCamera.js.map +1 -1
- package/dist/form-elements/FormElementCaptcha.js +3 -4
- package/dist/form-elements/FormElementCaptcha.js.map +1 -1
- package/dist/form-elements/FormElementCheckBoxes.js +2 -2
- package/dist/form-elements/FormElementCheckBoxes.js.map +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js +2 -2
- package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
- package/dist/form-elements/FormElementCompliance.js +2 -2
- package/dist/form-elements/FormElementCompliance.js.map +1 -1
- package/dist/form-elements/FormElementDate.js +2 -2
- package/dist/form-elements/FormElementDate.js.map +1 -1
- package/dist/form-elements/FormElementDateTime.js +2 -2
- package/dist/form-elements/FormElementDateTime.js.map +1 -1
- package/dist/form-elements/FormElementEmail.js +2 -2
- package/dist/form-elements/FormElementEmail.js.map +1 -1
- package/dist/form-elements/FormElementFiles.js +2 -2
- package/dist/form-elements/FormElementFiles.js.map +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js +2 -2
- package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js +2 -2
- package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
- package/dist/form-elements/FormElementLocation.js +3 -4
- package/dist/form-elements/FormElementLocation.js.map +1 -1
- package/dist/form-elements/FormElementLookupButton.d.ts +17 -0
- package/dist/form-elements/FormElementLookupButton.js +205 -0
- package/dist/form-elements/FormElementLookupButton.js.map +1 -0
- package/dist/form-elements/FormElementNumber.js +2 -2
- package/dist/form-elements/FormElementNumber.js.map +1 -1
- package/dist/form-elements/FormElementPointAddress.js +2 -2
- package/dist/form-elements/FormElementPointAddress.js.map +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js +2 -2
- package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
- package/dist/form-elements/FormElementRadio.js +2 -2
- package/dist/form-elements/FormElementRadio.js.map +1 -1
- package/dist/form-elements/FormElementRepeatableSet.js +2 -2
- package/dist/form-elements/FormElementRepeatableSet.js.map +1 -1
- package/dist/form-elements/FormElementSelect.js +2 -2
- package/dist/form-elements/FormElementSelect.js.map +1 -1
- package/dist/form-elements/FormElementSignature.js +2 -2
- package/dist/form-elements/FormElementSignature.js.map +1 -1
- package/dist/form-elements/FormElementTelephone.js +2 -2
- package/dist/form-elements/FormElementTelephone.js.map +1 -1
- package/dist/form-elements/FormElementText.js +5 -2
- package/dist/form-elements/FormElementText.js.map +1 -1
- package/dist/form-elements/FormElementTextarea.js +5 -2
- package/dist/form-elements/FormElementTextarea.js.map +1 -1
- package/dist/form-elements/FormElementTime.js +2 -2
- package/dist/form-elements/FormElementTime.js.map +1 -1
- package/dist/hooks/useValidationIconConfiguration.d.ts +9 -0
- package/dist/hooks/useValidationIconConfiguration.js +6 -0
- package/dist/hooks/useValidationIconConfiguration.js.map +1 -0
- package/dist/services/cleanFormSubmissionModel.js +21 -11
- package/dist/services/cleanFormSubmissionModel.js.map +1 -1
- package/dist/services/form-validation/determineLookupButtonIsRequired.d.ts +2 -0
- package/dist/services/form-validation/determineLookupButtonIsRequired.js +46 -0
- package/dist/services/form-validation/determineLookupButtonIsRequired.js.map +1 -0
- package/dist/services/form-validation/validateSubmission.js +14 -0
- package/dist/services/form-validation/validateSubmission.js.map +1 -1
- package/dist/services/generate-default-data.js +2 -0
- package/dist/services/generate-default-data.js.map +1 -1
- package/dist/styles/renderer.scss +8 -0
- package/dist/styles.css +8 -0
- package/package.json +3 -3
package/dist/OneBlinkForm.d.ts
CHANGED
@@ -336,6 +336,7 @@ declare const OneBlinkFormControlled: React.NamedExoticComponent<import("./OneBl
|
|
336
336
|
abnLookupAuthenticationGuid?: string;
|
337
337
|
captchaSiteKey?: string;
|
338
338
|
buttons?: import("@oneblink/types/typescript/formsApps").FormsListStyles["buttons"];
|
339
|
+
validationIcon?: import("@oneblink/types/typescript/environments").FormsAppEnvironmentStyles["validationIcon"];
|
339
340
|
attachmentRetentionInDays?: number;
|
340
341
|
isPendingQueueEnabled: boolean;
|
341
342
|
onSaveDraft?: (newDraftSubmission: import("@oneblink/apps/dist/submission-service").NewDraftSubmission) => unknown;
|
@@ -578,6 +579,7 @@ declare const OneBlinkFormUncontrolled: React.NamedExoticComponent<import("./One
|
|
578
579
|
abnLookupAuthenticationGuid?: string;
|
579
580
|
captchaSiteKey?: string;
|
580
581
|
buttons?: import("@oneblink/types/typescript/formsApps").FormsListStyles["buttons"];
|
582
|
+
validationIcon?: import("@oneblink/types/typescript/environments").FormsAppEnvironmentStyles["validationIcon"];
|
581
583
|
attachmentRetentionInDays?: number;
|
582
584
|
isPendingQueueEnabled: boolean;
|
583
585
|
onSaveDraft?: (newDraftSubmission: import("@oneblink/apps/dist/submission-service").NewDraftSubmission) => unknown;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { submissionService, attachmentsService } from '@oneblink/apps';
|
3
|
-
import { FormTypes, FormsAppsTypes, ScheduledTasksTypes, SubmissionTypes } from '@oneblink/types';
|
3
|
+
import { EnvironmentTypes, FormTypes, FormsAppsTypes, ScheduledTasksTypes, SubmissionTypes } from '@oneblink/types';
|
4
4
|
import { ReplaceInjectablesOverrides } from './hooks/useReplaceInjectablesOverrides';
|
5
5
|
import { CaptchaType, ExecutedLookups, SetFormSubmission, SectionState } from './types/form';
|
6
6
|
export type OneBlinkReadOnlyFormProps = {
|
@@ -60,6 +60,8 @@ export type OneBlinkFormBaseProps = OneBlinkReadOnlyFormProps & {
|
|
60
60
|
captchaSiteKey?: string;
|
61
61
|
/** Change properties for certain buttons on the form. */
|
62
62
|
buttons?: FormsAppsTypes.FormsListStyles['buttons'];
|
63
|
+
/** Set a custom validation icon and accessible label. */
|
64
|
+
validationIcon?: EnvironmentTypes.FormsAppEnvironmentStyles['validationIcon'];
|
63
65
|
/** Number of days attachments are retained for. */
|
64
66
|
attachmentRetentionInDays?: number;
|
65
67
|
/**
|
@@ -138,6 +140,6 @@ export type OneBlinkFormControlledProps = {
|
|
138
140
|
type Props = OneBlinkFormBaseProps & OneBlinkFormControlledProps & {
|
139
141
|
isReadOnly: boolean;
|
140
142
|
};
|
141
|
-
declare function OneBlinkFormBase({ googleMapsApiKey, abnLookupAuthenticationGuid, captchaSiteKey, definition, disabled, isPreview, submission, isReadOnly, onCancel, onSubmit, onSaveDraft, setFormSubmission, buttons, primaryColour, attachmentRetentionInDays, isPendingQueueEnabled, handleNavigateAway, isInfoPage: isInfoPageProp, lastElementUpdated, executedLookups, task, taskGroup, taskGroupInstance, onUploadAttachment, captchaType, shouldUseNavigableValidationErrorsNotification, navigableValidationErrorsNotificationSettings, replaceInjectablesOverrides, sectionState, }: Props): React.JSX.Element;
|
143
|
+
declare function OneBlinkFormBase({ googleMapsApiKey, abnLookupAuthenticationGuid, captchaSiteKey, definition, disabled, isPreview, submission, isReadOnly, onCancel, onSubmit, onSaveDraft, setFormSubmission, buttons, validationIcon, primaryColour, attachmentRetentionInDays, isPendingQueueEnabled, handleNavigateAway, isInfoPage: isInfoPageProp, lastElementUpdated, executedLookups, task, taskGroup, taskGroupInstance, onUploadAttachment, captchaType, shouldUseNavigableValidationErrorsNotification, navigableValidationErrorsNotificationSettings, replaceInjectablesOverrides, sectionState, }: Props): React.JSX.Element;
|
142
144
|
declare const _default: React.MemoExoticComponent<typeof OneBlinkFormBase>;
|
143
145
|
export default _default;
|
package/dist/OneBlinkFormBase.js
CHANGED
@@ -40,8 +40,10 @@ import MaterialIcon from './components/MaterialIcon';
|
|
40
40
|
import ValidationErrorsCard from './components/ValidationErrorsCard';
|
41
41
|
import { sendGoogleAnalyticsEvent } from './utils/sendGoogleAnalyticsEvent';
|
42
42
|
import { useUserProfileForInjectablesOutsideContext } from './hooks/useUserProfileForInjectables';
|
43
|
-
|
44
|
-
|
43
|
+
import OneBlinkFormFooter from './components/OneBlinkFormFooter';
|
44
|
+
import { ValidationIconConfigurationContext } from './hooks/useValidationIconConfiguration';
|
45
|
+
function OneBlinkFormBase({ googleMapsApiKey, abnLookupAuthenticationGuid, captchaSiteKey, definition, disabled, isPreview, submission, isReadOnly, onCancel, onSubmit, onSaveDraft, setFormSubmission, buttons, validationIcon, primaryColour, attachmentRetentionInDays, isPendingQueueEnabled, handleNavigateAway, isInfoPage: isInfoPageProp, lastElementUpdated, executedLookups, task, taskGroup, taskGroupInstance, onUploadAttachment, captchaType, shouldUseNavigableValidationErrorsNotification = true, navigableValidationErrorsNotificationSettings, replaceInjectablesOverrides, sectionState, }) {
|
46
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
45
47
|
const isOffline = useIsOffline();
|
46
48
|
const { isUsingFormsKey } = useAuth();
|
47
49
|
const userProfileForInjectables = useUserProfileForInjectablesOutsideContext(replaceInjectablesOverrides === null || replaceInjectablesOverrides === void 0 ? void 0 : replaceInjectablesOverrides.getUserProfile);
|
@@ -742,13 +744,14 @@ function OneBlinkFormBase({ googleMapsApiKey, abnLookupAuthenticationGuid, captc
|
|
742
744
|
React.createElement(InjectPagesContext.Provider, { value: handlePagesLookupResult },
|
743
745
|
React.createElement(GoogleMapsApiKeyContext.Provider, { value: googleMapsApiKey },
|
744
746
|
React.createElement(AbnLookupAuthenticationGuidContext.Provider, { value: abnLookupAuthenticationGuid },
|
745
|
-
React.createElement(
|
746
|
-
React.createElement(
|
747
|
-
React.createElement(
|
748
|
-
React.createElement(
|
749
|
-
React.createElement(
|
750
|
-
|
751
|
-
|
747
|
+
React.createElement(ValidationIconConfigurationContext.Provider, { value: validationIcon },
|
748
|
+
React.createElement(CaptchaContext.Provider, { value: captchaContextValue },
|
749
|
+
React.createElement(AttachmentBlobsProvider, null,
|
750
|
+
React.createElement(FormIsReadOnlyContext.Provider, { value: isReadOnly },
|
751
|
+
React.createElement(TaskContext.Provider, { value: taskContextValue },
|
752
|
+
React.createElement(OnUploadAttachmentContext.Provider, { value: onUploadAttachment }, visiblePages.map((pageElement) => (React.createElement(PageFormElements, { key: pageElement.id, isActive: pageElement.id ===
|
753
|
+
currentPage.id, formId: definition.id, formElementsConditionallyShown: formElementsConditionallyShown, formElementsValidation: formElementsValidation, displayValidationMessages: hasAttemptedSubmit ||
|
754
|
+
isDisplayingCurrentPageError, pageElement: pageElement, onChange: handleChange, model: submission, setFormSubmission: setFormSubmission, sectionState: sectionState }))))))))))))),
|
752
755
|
isShowingMultiplePages && (React.createElement("div", { className: "steps-actions" },
|
753
756
|
React.createElement("div", { className: "steps-action" },
|
754
757
|
React.createElement("button", { type: "button", onClick: goToPreviousPage, disabled: isFirstVisiblePage, className: "button is-light cypress-pages-previous" },
|
@@ -784,16 +787,17 @@ function OneBlinkFormBase({ googleMapsApiKey, abnLookupAuthenticationGuid, captc
|
|
784
787
|
React.createElement(CustomisableButtonInner, { label: isInfoPage
|
785
788
|
? 'Done'
|
786
789
|
: ((_e = buttons === null || buttons === void 0 ? void 0 : buttons.submit) === null || _e === void 0 ? void 0 : _e.label) || 'Submit', icon: (_f = buttons === null || buttons === void 0 ? void 0 : buttons.submit) === null || _f === void 0 ? void 0 : _f.icon })))))))),
|
790
|
+
!!((_g = definition.footer) === null || _g === void 0 ? void 0 : _g.html) && (React.createElement(OneBlinkFormFooter, { footer: (_h = definition.footer) === null || _h === void 0 ? void 0 : _h.html })),
|
787
791
|
!isReadOnly && !isPreview && (React.createElement(React.Fragment, null,
|
788
792
|
React.createElement(Prompt, { when: isDirty && !isNavigationAllowed, message: handleBlockedNavigation }),
|
789
793
|
React.createElement(Modal, { isOpen: hasConfirmedNavigation === false, title: "Unsaved Changes", cardClassName: "cypress-cancel-confirm", titleClassName: "cypress-cancel-confirm-title", bodyClassName: "cypress-cancel-confirm-body", actions: React.createElement(React.Fragment, null,
|
790
794
|
onSaveDraft && (React.createElement("button", { type: "button", className: "button ob-button is-success cypress-cancel-confirm-save-draft", onClick: () => handleSaveDraft(false) },
|
791
|
-
React.createElement(CustomisableButtonInner, { label: ((
|
795
|
+
React.createElement(CustomisableButtonInner, { label: ((_j = buttons === null || buttons === void 0 ? void 0 : buttons.saveDraft) === null || _j === void 0 ? void 0 : _j.label) || 'Save Draft', icon: (_k = buttons === null || buttons === void 0 ? void 0 : buttons.saveDraft) === null || _k === void 0 ? void 0 : _k.icon }))),
|
792
796
|
React.createElement("span", { style: { flex: 1 } }),
|
793
797
|
React.createElement("button", { type: "button", className: "button ob-button is-light cypress-cancel-confirm-back", onClick: handleKeepGoing },
|
794
|
-
React.createElement(CustomisableButtonInner, { label: ((
|
798
|
+
React.createElement(CustomisableButtonInner, { label: ((_l = buttons === null || buttons === void 0 ? void 0 : buttons.cancelPromptNo) === null || _l === void 0 ? void 0 : _l.label) || 'Back', icon: (_m = buttons === null || buttons === void 0 ? void 0 : buttons.cancelPromptNo) === null || _m === void 0 ? void 0 : _m.icon })),
|
795
799
|
React.createElement("button", { type: "button", className: "button ob-button is-primary cypress-cancel-confirm-discard", onClick: handleDiscardUnsavedChanges, autoFocus: true },
|
796
|
-
React.createElement(CustomisableButtonInner, { label: ((
|
800
|
+
React.createElement(CustomisableButtonInner, { label: ((_o = buttons === null || buttons === void 0 ? void 0 : buttons.cancelPromptYes) === null || _o === void 0 ? void 0 : _o.label) || 'Discard', icon: (_p = buttons === null || buttons === void 0 ? void 0 : buttons.cancelPromptYes) === null || _p === void 0 ? void 0 : _p.icon }))) },
|
797
801
|
React.createElement("p", null, "You have unsaved changes, are you sure you want discard them?")),
|
798
802
|
React.createElement(Modal, { isOpen: promptUploadingAttachments === true, title: "Attachment upload in progress", cardClassName: "cypress-attachments-wait-continue", titleClassName: "cypress-attachments-confirm-wait-title", bodyClassName: "cypress-attachments-confirm-wait-body", actions: React.createElement(React.Fragment, null,
|
799
803
|
React.createElement("span", { style: { flex: 1 } }),
|
@@ -802,7 +806,7 @@ function OneBlinkFormBase({ googleMapsApiKey, abnLookupAuthenticationGuid, captc
|
|
802
806
|
React.createElement("p", null, "Your attachments are still uploading, do you want to wait for the uploads to complete or continue using the app? If you click continue the attachments will upload in the background. Do not close the app until the upload has been completed.")),
|
803
807
|
React.createElement(Modal, { isOpen: promptOfflineSubmissionAttempt, title: "It looks like you're Offline", className: "ob-modal__offline-submission-attempt", cardClassName: "cypress-submission-offline has-text-centered", titleClassName: "cypress-offline-title", bodyClassName: "cypress-offline-body", actions: React.createElement(React.Fragment, null,
|
804
808
|
onSaveDraft && (React.createElement("button", { type: "button", className: "button ob-button ob-button__offline-submission-attempt-save-draft is-success", onClick: () => handleSaveDraft(false) },
|
805
|
-
React.createElement(CustomisableButtonInner, { label: ((
|
809
|
+
React.createElement(CustomisableButtonInner, { label: ((_q = buttons === null || buttons === void 0 ? void 0 : buttons.saveDraft) === null || _q === void 0 ? void 0 : _q.label) || 'Save Draft', icon: (_r = buttons === null || buttons === void 0 ? void 0 : buttons.saveDraft) === null || _r === void 0 ? void 0 : _r.icon }))),
|
806
810
|
React.createElement("span", { style: { flex: 1 } }),
|
807
811
|
React.createElement("button", { className: "button ob-button ob-button__offline-submission-attempt-cancel is-light", onClick: () => setPromptOfflineSubmissionAttempt(false) }, "Cancel"),
|
808
812
|
React.createElement("button", { className: "button ob-button ob-button__offline-submission-attempt-try-again is-primary", onClick: (e) => {
|
@@ -815,12 +819,12 @@ function OneBlinkFormBase({ googleMapsApiKey, abnLookupAuthenticationGuid, captc
|
|
815
819
|
' ',
|
816
820
|
"Alternatively, click the",
|
817
821
|
' ',
|
818
|
-
React.createElement("b", null, ((
|
822
|
+
React.createElement("b", null, ((_s = buttons === null || buttons === void 0 ? void 0 : buttons.saveDraft) === null || _s === void 0 ? void 0 : _s.label) || 'Save Draft'),
|
819
823
|
' ',
|
820
824
|
"button below to come back to this later."))),
|
821
825
|
React.createElement(MaterialIcon, { className: "has-text-warning icon-x-large ob-modal__offline-submission-attempt-icon" }, "wifi_off")))),
|
822
826
|
shouldUseNavigableValidationErrorsNotification &&
|
823
|
-
isShowingValidationErrorsCard && (React.createElement(ValidationErrorsCard, { visiblePages: visiblePages, formElementsValidation: formElementsValidation, setPageId: setPageId, currentPage: currentPage, navigationTopOffset: (
|
827
|
+
isShowingValidationErrorsCard && (React.createElement(ValidationErrorsCard, { visiblePages: visiblePages, formElementsValidation: formElementsValidation, setPageId: setPageId, currentPage: currentPage, navigationTopOffset: (_t = navigableValidationErrorsNotificationSettings === null || navigableValidationErrorsNotificationSettings === void 0 ? void 0 : navigableValidationErrorsNotificationSettings.navigationTopOffset) !== null && _t !== void 0 ? _t : 'CALCULATE', scrollableContainerId: navigableValidationErrorsNotificationSettings === null || navigableValidationErrorsNotificationSettings === void 0 ? void 0 : navigableValidationErrorsNotificationSettings.scrollableContainerId, validationErrorToastFocusElementRef: validationErrorToastFocusElementRef })))))))))));
|
824
828
|
}
|
825
829
|
export default React.memo(OneBlinkFormBase);
|
826
830
|
//# sourceMappingURL=OneBlinkFormBase.js.map
|