@oneblink/apps-react 5.8.0 → 5.9.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.
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { FormTypes } from '@oneblink/types';
3
+ import '../styles/arcgis-external.css';
4
+ type Props = {
5
+ element: FormTypes.ArcGISWebMapElement;
6
+ };
7
+ declare function FormElementArcGISWebMap({ element }: Props): React.JSX.Element;
8
+ declare const _default: React.MemoExoticComponent<typeof FormElementArcGISWebMap>;
9
+ export default _default;
@@ -0,0 +1,67 @@
1
+ import * as React from 'react';
2
+ import MapView from '@arcgis/core/views/MapView';
3
+ import WebMap from '@arcgis/core/WebMap';
4
+ import Home from '@arcgis/core/widgets/Home';
5
+ import Search from '@arcgis/core/widgets/Search';
6
+ import Zoom from '@arcgis/core/widgets/Zoom';
7
+ import LayerList from '@arcgis/core/widgets/LayerList';
8
+ import Expand from '@arcgis/core/widgets/Expand';
9
+ import BaseMapGallery from '@arcgis/core/widgets/BasemapGallery';
10
+ import '../styles/arcgis-external.css';
11
+ function FormElementArcGISWebMap({ element }) {
12
+ React.useEffect(() => {
13
+ let view;
14
+ const loadMap = async () => {
15
+ const map = new WebMap({
16
+ portalItem: {
17
+ id: element.webMapId,
18
+ },
19
+ });
20
+ await map.load();
21
+ view = new MapView({
22
+ map: map,
23
+ container: 'arcGISMapView',
24
+ });
25
+ // remove default widgets
26
+ const components = view.ui.getComponents();
27
+ for (const component of components) {
28
+ view.ui.remove(component);
29
+ }
30
+ view.ui.add(new Search({
31
+ view,
32
+ }), 'top-left');
33
+ view.ui.add(new Home({
34
+ view,
35
+ }), 'top-left');
36
+ view.ui.add(new Zoom({
37
+ view,
38
+ }), 'bottom-left');
39
+ const layerList = new LayerList({
40
+ view,
41
+ });
42
+ view.ui.add(new Expand({
43
+ expandIcon: 'layers',
44
+ view,
45
+ content: layerList,
46
+ expanded: element.showLayerPanel,
47
+ mode: 'floating',
48
+ }), 'top-right');
49
+ const baseMapGallery = new BaseMapGallery({ view });
50
+ view.ui.add(new Expand({
51
+ expandIcon: 'basemap',
52
+ view,
53
+ content: baseMapGallery,
54
+ mode: 'floating',
55
+ }), 'bottom-right');
56
+ };
57
+ loadMap();
58
+ return () => {
59
+ if (view) {
60
+ view.destroy();
61
+ }
62
+ };
63
+ }, [element]);
64
+ return React.createElement("div", { className: "arcgis-web-map", id: "arcGISMapView" });
65
+ }
66
+ export default React.memo(FormElementArcGISWebMap);
67
+ //# sourceMappingURL=ArcGISWebMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGISWebMap.js","sourceRoot":"","sources":["../../src/components/ArcGISWebMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,OAAO,MAAM,4BAA4B,CAAA;AAChD,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,IAAI,MAAM,2BAA2B,CAAA;AAC5C,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAChD,OAAO,IAAI,MAAM,2BAA2B,CAAA;AAC5C,OAAO,SAAS,MAAM,gCAAgC,CAAA;AACtD,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAChD,OAAO,cAAc,MAAM,qCAAqC,CAAA;AAChE,OAAO,+BAA+B,CAAA;AAMtC,SAAS,uBAAuB,CAAC,EAAE,OAAO,EAAS;IACjD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,IAAa,CAAA;QAEjB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;gBACrB,UAAU,EAAE;oBACV,EAAE,EAAE,OAAO,CAAC,QAAQ;iBACrB;aACF,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAEhB,IAAI,GAAG,IAAI,OAAO,CAAC;gBACjB,GAAG,EAAE,GAAG;gBACR,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAA;YAEF,yBAAyB;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAA;YAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAClC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;aAC1B;YAED,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,IAAI,MAAM,CAAC;gBACT,IAAI;aACL,CAAC,EACF,UAAU,CACX,CAAA;YACD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,IAAI,IAAI,CAAC;gBACP,IAAI;aACL,CAAC,EACF,UAAU,CACX,CAAA;YACD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,IAAI,IAAI,CAAC;gBACP,IAAI;aACL,CAAC,EACF,aAAa,CACd,CAAA;YAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC9B,IAAI;aACL,CAAC,CAAA;YAEF,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,IAAI,MAAM,CAAC;gBACT,UAAU,EAAE,QAAQ;gBACpB,IAAI;gBACJ,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,OAAO,CAAC,cAAc;gBAChC,IAAI,EAAE,UAAU;aACjB,CAAC,EACF,WAAW,CACZ,CAAA;YAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;YAEnD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,IAAI,MAAM,CAAC;gBACT,UAAU,EAAE,SAAS;gBACrB,IAAI;gBACJ,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,UAAU;aACjB,CAAC,EACF,cAAc,CACf,CAAA;QACH,CAAC,CAAA;QAED,OAAO,EAAE,CAAA;QAET,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,OAAO,EAAE,CAAA;aACf;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,6BAAK,SAAS,EAAC,gBAAgB,EAAC,EAAE,EAAC,eAAe,GAAG,CAAA;AAC9D,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA","sourcesContent":["import * as React from 'react'\nimport { FormTypes } from '@oneblink/types'\nimport MapView from '@arcgis/core/views/MapView'\nimport WebMap from '@arcgis/core/WebMap'\nimport Home from '@arcgis/core/widgets/Home'\nimport Search from '@arcgis/core/widgets/Search'\nimport Zoom from '@arcgis/core/widgets/Zoom'\nimport LayerList from '@arcgis/core/widgets/LayerList'\nimport Expand from '@arcgis/core/widgets/Expand'\nimport BaseMapGallery from '@arcgis/core/widgets/BasemapGallery'\nimport '../styles/arcgis-external.css'\n\ntype Props = {\n element: FormTypes.ArcGISWebMapElement\n}\n\nfunction FormElementArcGISWebMap({ element }: Props) {\n React.useEffect(() => {\n let view: MapView\n\n const loadMap = async () => {\n const map = new WebMap({\n portalItem: {\n id: element.webMapId,\n },\n })\n await map.load()\n\n view = new MapView({\n map: map,\n container: 'arcGISMapView',\n })\n\n // remove default widgets\n const components = view.ui.getComponents()\n for (const component of components) {\n view.ui.remove(component)\n }\n\n view.ui.add(\n new Search({\n view,\n }),\n 'top-left',\n )\n view.ui.add(\n new Home({\n view,\n }),\n 'top-left',\n )\n view.ui.add(\n new Zoom({\n view,\n }),\n 'bottom-left',\n )\n\n const layerList = new LayerList({\n view,\n })\n\n view.ui.add(\n new Expand({\n expandIcon: 'layers',\n view,\n content: layerList,\n expanded: element.showLayerPanel,\n mode: 'floating',\n }),\n 'top-right',\n )\n\n const baseMapGallery = new BaseMapGallery({ view })\n\n view.ui.add(\n new Expand({\n expandIcon: 'basemap',\n view,\n content: baseMapGallery,\n mode: 'floating',\n }),\n 'bottom-right',\n )\n }\n\n loadMap()\n\n return () => {\n if (view) {\n view.destroy()\n }\n }\n }, [element])\n\n return <div className=\"arcgis-web-map\" id=\"arcGISMapView\" />\n}\n\nexport default React.memo(FormElementArcGISWebMap)\n"]}
@@ -36,6 +36,7 @@ import FormElementBoolean from '../../form-elements/FormElementBoolean';
36
36
  import FormElementCivicaStreetName from '../../form-elements/FormElementCivicaStreetName';
37
37
  import FormElementCivicaNameRecord from '../../form-elements/FormElementCivicaNameRecord';
38
38
  import FormElementFreshdeskDependentField from '../../form-elements/FormElementFreshdeskDependentField';
39
+ import FormElementArcGISWebMap from '../../form-elements/FormElementArcGISWebMap';
39
40
  import { FormSubmissionModelContextProvider } from '../../hooks/useFormSubmissionModelContext';
40
41
  import useBooleanState from '../../hooks/useBooleanState';
41
42
  import FormElementAPINSWLiquorLicence from '../../form-elements/FormElementAPINSWLiquorLicence';
@@ -219,6 +220,9 @@ const FormElementSwitch = React.memo(function OneBlinkFormElement({ formId, elem
219
220
  return (React.createElement(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup },
220
221
  React.createElement(FormElementAPINSWLiquorLicence, { formId: formId, id: id, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps })));
221
222
  }
223
+ case 'arcGISWebMap': {
224
+ return React.createElement(FormElementArcGISWebMap, { id: id, element: element });
225
+ }
222
226
  default: {
223
227
  console.warn('Invalid element', element);
224
228
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"OneBlinkFormElements.js","sourceRoot":"","sources":["../../../src/components/renderer/OneBlinkFormElements.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\n\nimport LookupNotification from './LookupNotification'\n\nimport FormElementBarcodeScanner from '../../form-elements/FormElementBarcodeScanner'\nimport FormElementEmail from '../../form-elements/FormElementEmail'\nimport FormElementABN from '../../form-elements/FormElementABN'\nimport FormElementBSB from '../../form-elements/FormElementBSB'\nimport FormElementText from '../../form-elements/FormElementText'\nimport FormElementTextarea from '../../form-elements/FormElementTextarea'\nimport FormElementNumber from '../../form-elements/FormElementNumber'\nimport FormElementHeading from '../../form-elements/FormElementHeading'\nimport FormElementHTML from '../../form-elements/FormElementHTML'\nimport FormElementTelephone from '../../form-elements/FormElementTelephone'\nimport FormElementSelect from '../../form-elements/FormElementSelect'\nimport FormElementDate from '../../form-elements/FormElementDate'\nimport FormElementImage from '../../form-elements/FormElementImage'\nimport FormElementDateTime from '../../form-elements/FormElementDateTime'\nimport FormElementTime from '../../form-elements/FormElementTime'\nimport FormElementCalculation from '../../form-elements/FormElementCalculation'\nimport FormElementRadio from '../../form-elements/FormElementRadio'\nimport FormElementAutocomplete from '../../form-elements/FormElementAutocomplete'\nimport FormElementRepeatableSet from '../../form-elements/FormElementRepeatableSet'\nimport FormElementSignature from '../../form-elements/FormElementSignature'\nimport FormElementCheckBoxes from '../../form-elements/FormElementCheckBoxes'\nimport FormElementFiles, {\n stringifyAttachments,\n} from '../../form-elements/FormElementFiles'\nimport FormElementForm from '../../form-elements/FormElementForm'\nimport FormElementSection from '../../form-elements/FormElementSection'\nimport FormElementCamera from '../../form-elements/FormElementCamera'\nimport FormElementSummary from '../../form-elements/FormElementSummary'\nimport FormElementCaptcha from '../../form-elements/FormElementCaptcha'\nimport FormElementLocation, {\n stringifyLocation,\n} from '../../form-elements/FormElementLocation'\nimport FormElementGeoscapeAddress from '../../form-elements/FormElementGeoscapeAddress'\nimport FormElementCompliance from '../../form-elements/FormElementCompliance'\nimport FormElementPointAddress from '../../form-elements/FormElementPointAddress'\nimport FormElementBoolean from '../../form-elements/FormElementBoolean'\nimport FormElementCivicaStreetName from '../../form-elements/FormElementCivicaStreetName'\nimport FormElementCivicaNameRecord from '../../form-elements/FormElementCivicaNameRecord'\nimport FormElementFreshdeskDependentField from '../../form-elements/FormElementFreshdeskDependentField'\n\nimport {\n APINSWTypes,\n CivicaTypes,\n FormTypes,\n GeoscapeTypes,\n MiscTypes,\n PointTypes,\n SubmissionTypes,\n} from '@oneblink/types'\n\nimport { FormSubmissionModelContextProvider } from '../../hooks/useFormSubmissionModelContext'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport { FormElementBinaryStorageValue } from '../../types/attachments'\nimport {\n FormElementConditionallyShown,\n FormElementLookupHandler,\n FormElementsConditionallyShown,\n FormElementsValidation,\n FormElementValidation,\n NestedFormElementValueChangeHandler,\n IsDirtyProps,\n UpdateFormElementsHandler,\n} from '../../types/form'\nimport { attachmentsService } from '@oneblink/apps'\nimport FormElementAPINSWLiquorLicence from '../../form-elements/FormElementAPINSWLiquorLicence'\n\nexport type Props<T extends FormTypes._NestedElementsElement> = {\n formId: number\n elements: FormTypes.FormElement[]\n formElementsConditionallyShown: FormElementsConditionallyShown | undefined\n formElementsValidation: FormElementsValidation | undefined\n displayValidationMessages: boolean\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n // Props passed by repeatable sets\n isEven?: boolean\n idPrefix: string\n model: SubmissionTypes.S3SubmissionData['submission']\n parentElement: T\n}\n\ninterface FormElementSwitchProps extends IsDirtyProps {\n formId: number\n element: FormTypes.FormElement\n value: unknown | undefined\n formElementValidation: FormElementValidation | undefined\n displayValidationMessage: boolean\n formElementConditionallyShown: FormElementConditionallyShown | undefined\n id: string\n isEven: boolean | undefined\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n}\n\nfunction OneBlinkFormElements<T extends FormTypes._NestedElementsElement>({\n formId,\n elements,\n isEven,\n idPrefix,\n displayValidationMessages,\n formElementsValidation,\n formElementsConditionallyShown,\n onChange,\n onLookup,\n onUpdateFormElements,\n model,\n parentElement,\n}: Props<T>) {\n return (\n <FormSubmissionModelContextProvider\n elements={parentElement.elements}\n model={model}\n formElementsConditionallyShown={formElementsConditionallyShown}\n >\n {elements.map((element) => {\n if (element.type === 'section') {\n if (formElementsConditionallyShown?.[element.id]?.isHidden) {\n return null\n }\n\n return (\n <div\n key={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses,\n )}\n >\n <FormElementSection\n formId={formId}\n element={element}\n displayValidationMessages={displayValidationMessages}\n idPrefix={idPrefix}\n formElementsConditionallyShown={formElementsConditionallyShown}\n formElementsValidation={formElementsValidation}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n model={model}\n parentElement={parentElement}\n />\n </div>\n )\n }\n\n if (\n element.type === 'page' ||\n formElementsConditionallyShown?.[element.name]?.isHidden\n ) {\n return null\n }\n\n return (\n <FormElementSwitchContainer\n key={element.id}\n formId={formId}\n element={element}\n value={model[element.name]}\n displayValidationMessage={displayValidationMessages}\n isEven={isEven}\n id={`${idPrefix}${element.name}`}\n formElementConditionallyShown={\n formElementsConditionallyShown?.[element.name]\n }\n formElementValidation={formElementsValidation?.[element.name]}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n })}\n </FormSubmissionModelContextProvider>\n )\n}\n\nexport default React.memo(OneBlinkFormElements)\n\nfunction FormElementSwitchContainer(\n props: Omit<FormElementSwitchProps, 'isDirty' | 'setIsDirty'>,\n) {\n const { element, formElementValidation, displayValidationMessage } = props\n const [isDirty, setIsDirty] = useBooleanState(false)\n\n const getValidationClass = () => {\n if (!('elements' in element)) {\n if (!formElementValidation) {\n return 'ob-element__valid'\n }\n if (isDirty || displayValidationMessage) {\n return 'ob-element__invalid'\n }\n }\n }\n const validationClassName = getValidationClass()\n\n if (element.type === 'page' || element.type === 'section') {\n return null\n }\n\n return (\n <div\n id={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses ? element.customCssClasses.join(' ') : '',\n validationClassName,\n )}\n data-cypress-element-name={element.name}\n data-ob-name={element.name}\n >\n <FormElementSwitch {...props} isDirty={isDirty} setIsDirty={setIsDirty} />\n </div>\n )\n}\n\nconst FormElementSwitch = React.memo(function OneBlinkFormElement({\n formId,\n element,\n value,\n displayValidationMessage,\n formElementValidation,\n formElementConditionallyShown,\n isEven,\n id,\n onChange,\n onLookup,\n onUpdateFormElements,\n isDirty,\n setIsDirty,\n}: FormElementSwitchProps & IsDirtyProps) {\n const dirtyProps = React.useMemo(\n () => ({ isDirty, setIsDirty }),\n [isDirty, setIsDirty],\n )\n const conditionallyShownOptionsElement =\n formElementConditionallyShown?.type === 'formElement'\n ? formElementConditionallyShown\n : undefined\n const validationMessage =\n typeof formElementValidation === 'string'\n ? formElementValidation\n : undefined\n switch (element.type) {\n case 'heading': {\n return <FormElementHeading element={element} />\n }\n case 'html': {\n return <FormElementHTML element={element} />\n }\n case 'date': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDate\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDate\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'email': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementEmail\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementEmail\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'text': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementText\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementText\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'abn': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementABN\n id={id}\n element={element}\n value={value as MiscTypes.ABNRecord | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementABN\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'bsb': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBSB\n id={id}\n formId={formId}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBSB\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'barcodeScanner': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBarcodeScanner\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBarcodeScanner\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'textarea': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTextarea\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTextarea\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'number': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementNumber\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementNumber\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'telephone': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTelephone\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTelephone\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'autocomplete': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAutocomplete\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAutocomplete\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'select': {\n return (\n <LookupNotification\n autoLookupValue={!element.multi ? value : undefined}\n element={element}\n onLookup={onLookup}\n >\n <FormElementSelect\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSelect\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'radio': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementRadio\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRadio\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'draw': {\n return (\n <FormElementSignature\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSignature\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'calculation': {\n return (\n <FormElementCalculation\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCalculation\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'repeatableSet': {\n return (\n <FormElementRepeatableSet\n formId={formId}\n id={id}\n isEven={!isEven}\n element={element}\n value={\n value as\n | Array<SubmissionTypes.S3SubmissionData['submission']>\n | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRepeatableSet\n >['onChange']\n }\n onLookup={onLookup}\n formElementConditionallyShown={formElementConditionallyShown}\n formElementValidation={formElementValidation}\n displayValidationMessage={displayValidationMessage}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n )\n }\n case 'image': {\n return <FormElementImage element={element} />\n }\n case 'datetime': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDateTime\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDateTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'time': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTime\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'checkboxes': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementCheckBoxes\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCheckBoxes\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'files': {\n return (\n <LookupNotification\n element={element}\n onLookup={onLookup}\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyAttachments as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n >\n <FormElementFiles\n id={id}\n element={element}\n value={value as attachmentsService.Attachment[] | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFiles\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'infoPage':\n case 'form': {\n return (\n <FormElementForm\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<typeof FormElementForm>['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n }\n case 'camera': {\n return (\n <FormElementCamera\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCamera\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'summary': {\n return (\n <FormElementSummary\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSummary\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'captcha': {\n return (\n <FormElementCaptcha\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCaptcha\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'location': {\n return (\n <LookupNotification\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyLocation as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n element={element}\n onLookup={onLookup}\n >\n <FormElementLocation\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementLocation\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'geoscapeAddress': {\n const v = value as GeoscapeTypes.GeoscapeAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementGeoscapeAddress\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementGeoscapeAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'compliance': {\n return (\n <LookupNotification\n autoLookupValue={\n value ? (value as { value: unknown }).value : undefined\n }\n element={element}\n onLookup={onLookup}\n >\n <FormElementCompliance\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCompliance\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n isEven={isEven}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'freshdeskDependentField': {\n return (\n <FormElementFreshdeskDependentField\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFreshdeskDependentField\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n }\n case 'pointAddress': {\n const v = value as PointTypes.PointAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointAddress\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'boolean': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementBoolean\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBoolean\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaStreetName': {\n const v = value as CivicaTypes.CivicaStreetName | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementCivicaStreetName\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaStreetName\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaNameRecord': {\n return (\n <FormElementCivicaNameRecord\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaNameRecord\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n }\n case 'apiNSWLiquorLicence': {\n const v = value as APINSWTypes.LiquorLicenceDetails | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAPINSWLiquorLicence\n formId={formId}\n id={id}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAPINSWLiquorLicence\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n default: {\n console.warn('Invalid element', element)\n return null\n }\n }\n})\n"]}
1
+ {"version":3,"file":"OneBlinkFormElements.js","sourceRoot":"","sources":["../../../src/components/renderer/OneBlinkFormElements.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\n\nimport LookupNotification from './LookupNotification'\n\nimport FormElementBarcodeScanner from '../../form-elements/FormElementBarcodeScanner'\nimport FormElementEmail from '../../form-elements/FormElementEmail'\nimport FormElementABN from '../../form-elements/FormElementABN'\nimport FormElementBSB from '../../form-elements/FormElementBSB'\nimport FormElementText from '../../form-elements/FormElementText'\nimport FormElementTextarea from '../../form-elements/FormElementTextarea'\nimport FormElementNumber from '../../form-elements/FormElementNumber'\nimport FormElementHeading from '../../form-elements/FormElementHeading'\nimport FormElementHTML from '../../form-elements/FormElementHTML'\nimport FormElementTelephone from '../../form-elements/FormElementTelephone'\nimport FormElementSelect from '../../form-elements/FormElementSelect'\nimport FormElementDate from '../../form-elements/FormElementDate'\nimport FormElementImage from '../../form-elements/FormElementImage'\nimport FormElementDateTime from '../../form-elements/FormElementDateTime'\nimport FormElementTime from '../../form-elements/FormElementTime'\nimport FormElementCalculation from '../../form-elements/FormElementCalculation'\nimport FormElementRadio from '../../form-elements/FormElementRadio'\nimport FormElementAutocomplete from '../../form-elements/FormElementAutocomplete'\nimport FormElementRepeatableSet from '../../form-elements/FormElementRepeatableSet'\nimport FormElementSignature from '../../form-elements/FormElementSignature'\nimport FormElementCheckBoxes from '../../form-elements/FormElementCheckBoxes'\nimport FormElementFiles, {\n stringifyAttachments,\n} from '../../form-elements/FormElementFiles'\nimport FormElementForm from '../../form-elements/FormElementForm'\nimport FormElementSection from '../../form-elements/FormElementSection'\nimport FormElementCamera from '../../form-elements/FormElementCamera'\nimport FormElementSummary from '../../form-elements/FormElementSummary'\nimport FormElementCaptcha from '../../form-elements/FormElementCaptcha'\nimport FormElementLocation, {\n stringifyLocation,\n} from '../../form-elements/FormElementLocation'\nimport FormElementGeoscapeAddress from '../../form-elements/FormElementGeoscapeAddress'\nimport FormElementCompliance from '../../form-elements/FormElementCompliance'\nimport FormElementPointAddress from '../../form-elements/FormElementPointAddress'\nimport FormElementBoolean from '../../form-elements/FormElementBoolean'\nimport FormElementCivicaStreetName from '../../form-elements/FormElementCivicaStreetName'\nimport FormElementCivicaNameRecord from '../../form-elements/FormElementCivicaNameRecord'\nimport FormElementFreshdeskDependentField from '../../form-elements/FormElementFreshdeskDependentField'\nimport FormElementArcGISWebMap from '../../form-elements/FormElementArcGISWebMap'\n\nimport {\n APINSWTypes,\n CivicaTypes,\n FormTypes,\n GeoscapeTypes,\n MiscTypes,\n PointTypes,\n SubmissionTypes,\n} from '@oneblink/types'\n\nimport { FormSubmissionModelContextProvider } from '../../hooks/useFormSubmissionModelContext'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport { FormElementBinaryStorageValue } from '../../types/attachments'\nimport {\n FormElementConditionallyShown,\n FormElementLookupHandler,\n FormElementsConditionallyShown,\n FormElementsValidation,\n FormElementValidation,\n NestedFormElementValueChangeHandler,\n IsDirtyProps,\n UpdateFormElementsHandler,\n} from '../../types/form'\nimport { attachmentsService } from '@oneblink/apps'\nimport FormElementAPINSWLiquorLicence from '../../form-elements/FormElementAPINSWLiquorLicence'\n\nexport type Props<T extends FormTypes._NestedElementsElement> = {\n formId: number\n elements: FormTypes.FormElement[]\n formElementsConditionallyShown: FormElementsConditionallyShown | undefined\n formElementsValidation: FormElementsValidation | undefined\n displayValidationMessages: boolean\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n // Props passed by repeatable sets\n isEven?: boolean\n idPrefix: string\n model: SubmissionTypes.S3SubmissionData['submission']\n parentElement: T\n}\n\ninterface FormElementSwitchProps extends IsDirtyProps {\n formId: number\n element: FormTypes.FormElement\n value: unknown | undefined\n formElementValidation: FormElementValidation | undefined\n displayValidationMessage: boolean\n formElementConditionallyShown: FormElementConditionallyShown | undefined\n id: string\n isEven: boolean | undefined\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n}\n\nfunction OneBlinkFormElements<T extends FormTypes._NestedElementsElement>({\n formId,\n elements,\n isEven,\n idPrefix,\n displayValidationMessages,\n formElementsValidation,\n formElementsConditionallyShown,\n onChange,\n onLookup,\n onUpdateFormElements,\n model,\n parentElement,\n}: Props<T>) {\n return (\n <FormSubmissionModelContextProvider\n elements={parentElement.elements}\n model={model}\n formElementsConditionallyShown={formElementsConditionallyShown}\n >\n {elements.map((element) => {\n if (element.type === 'section') {\n if (formElementsConditionallyShown?.[element.id]?.isHidden) {\n return null\n }\n\n return (\n <div\n key={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses,\n )}\n >\n <FormElementSection\n formId={formId}\n element={element}\n displayValidationMessages={displayValidationMessages}\n idPrefix={idPrefix}\n formElementsConditionallyShown={formElementsConditionallyShown}\n formElementsValidation={formElementsValidation}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n model={model}\n parentElement={parentElement}\n />\n </div>\n )\n }\n\n if (\n element.type === 'page' ||\n formElementsConditionallyShown?.[element.name]?.isHidden\n ) {\n return null\n }\n\n return (\n <FormElementSwitchContainer\n key={element.id}\n formId={formId}\n element={element}\n value={model[element.name]}\n displayValidationMessage={displayValidationMessages}\n isEven={isEven}\n id={`${idPrefix}${element.name}`}\n formElementConditionallyShown={\n formElementsConditionallyShown?.[element.name]\n }\n formElementValidation={formElementsValidation?.[element.name]}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n })}\n </FormSubmissionModelContextProvider>\n )\n}\n\nexport default React.memo(OneBlinkFormElements)\n\nfunction FormElementSwitchContainer(\n props: Omit<FormElementSwitchProps, 'isDirty' | 'setIsDirty'>,\n) {\n const { element, formElementValidation, displayValidationMessage } = props\n const [isDirty, setIsDirty] = useBooleanState(false)\n\n const getValidationClass = () => {\n if (!('elements' in element)) {\n if (!formElementValidation) {\n return 'ob-element__valid'\n }\n if (isDirty || displayValidationMessage) {\n return 'ob-element__invalid'\n }\n }\n }\n const validationClassName = getValidationClass()\n\n if (element.type === 'page' || element.type === 'section') {\n return null\n }\n\n return (\n <div\n id={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses ? element.customCssClasses.join(' ') : '',\n validationClassName,\n )}\n data-cypress-element-name={element.name}\n data-ob-name={element.name}\n >\n <FormElementSwitch {...props} isDirty={isDirty} setIsDirty={setIsDirty} />\n </div>\n )\n}\n\nconst FormElementSwitch = React.memo(function OneBlinkFormElement({\n formId,\n element,\n value,\n displayValidationMessage,\n formElementValidation,\n formElementConditionallyShown,\n isEven,\n id,\n onChange,\n onLookup,\n onUpdateFormElements,\n isDirty,\n setIsDirty,\n}: FormElementSwitchProps & IsDirtyProps) {\n const dirtyProps = React.useMemo(\n () => ({ isDirty, setIsDirty }),\n [isDirty, setIsDirty],\n )\n const conditionallyShownOptionsElement =\n formElementConditionallyShown?.type === 'formElement'\n ? formElementConditionallyShown\n : undefined\n const validationMessage =\n typeof formElementValidation === 'string'\n ? formElementValidation\n : undefined\n switch (element.type) {\n case 'heading': {\n return <FormElementHeading element={element} />\n }\n case 'html': {\n return <FormElementHTML element={element} />\n }\n case 'date': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDate\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDate\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'email': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementEmail\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementEmail\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'text': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementText\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementText\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'abn': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementABN\n id={id}\n element={element}\n value={value as MiscTypes.ABNRecord | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementABN\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'bsb': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBSB\n id={id}\n formId={formId}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBSB\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'barcodeScanner': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBarcodeScanner\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBarcodeScanner\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'textarea': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTextarea\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTextarea\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'number': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementNumber\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementNumber\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'telephone': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTelephone\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTelephone\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'autocomplete': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAutocomplete\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAutocomplete\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'select': {\n return (\n <LookupNotification\n autoLookupValue={!element.multi ? value : undefined}\n element={element}\n onLookup={onLookup}\n >\n <FormElementSelect\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSelect\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'radio': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementRadio\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRadio\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'draw': {\n return (\n <FormElementSignature\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSignature\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'calculation': {\n return (\n <FormElementCalculation\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCalculation\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'repeatableSet': {\n return (\n <FormElementRepeatableSet\n formId={formId}\n id={id}\n isEven={!isEven}\n element={element}\n value={\n value as\n | Array<SubmissionTypes.S3SubmissionData['submission']>\n | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRepeatableSet\n >['onChange']\n }\n onLookup={onLookup}\n formElementConditionallyShown={formElementConditionallyShown}\n formElementValidation={formElementValidation}\n displayValidationMessage={displayValidationMessage}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n )\n }\n case 'image': {\n return <FormElementImage element={element} />\n }\n case 'datetime': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDateTime\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDateTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'time': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTime\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'checkboxes': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementCheckBoxes\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCheckBoxes\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'files': {\n return (\n <LookupNotification\n element={element}\n onLookup={onLookup}\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyAttachments as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n >\n <FormElementFiles\n id={id}\n element={element}\n value={value as attachmentsService.Attachment[] | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFiles\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'infoPage':\n case 'form': {\n return (\n <FormElementForm\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<typeof FormElementForm>['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n }\n case 'camera': {\n return (\n <FormElementCamera\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCamera\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'summary': {\n return (\n <FormElementSummary\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSummary\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'captcha': {\n return (\n <FormElementCaptcha\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCaptcha\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'location': {\n return (\n <LookupNotification\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyLocation as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n element={element}\n onLookup={onLookup}\n >\n <FormElementLocation\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementLocation\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'geoscapeAddress': {\n const v = value as GeoscapeTypes.GeoscapeAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementGeoscapeAddress\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementGeoscapeAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'compliance': {\n return (\n <LookupNotification\n autoLookupValue={\n value ? (value as { value: unknown }).value : undefined\n }\n element={element}\n onLookup={onLookup}\n >\n <FormElementCompliance\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCompliance\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n isEven={isEven}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'freshdeskDependentField': {\n return (\n <FormElementFreshdeskDependentField\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFreshdeskDependentField\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n }\n case 'pointAddress': {\n const v = value as PointTypes.PointAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointAddress\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'boolean': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementBoolean\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBoolean\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaStreetName': {\n const v = value as CivicaTypes.CivicaStreetName | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementCivicaStreetName\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaStreetName\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaNameRecord': {\n return (\n <FormElementCivicaNameRecord\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaNameRecord\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n />\n )\n }\n case 'apiNSWLiquorLicence': {\n const v = value as APINSWTypes.LiquorLicenceDetails | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAPINSWLiquorLicence\n formId={formId}\n id={id}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAPINSWLiquorLicence\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'arcGISWebMap': {\n return <FormElementArcGISWebMap id={id} element={element} />\n }\n default: {\n console.warn('Invalid element', element)\n return null\n }\n }\n})\n"]}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { FormTypes } from '@oneblink/types';
3
+ type Props = {
4
+ id: string;
5
+ element: FormTypes.ArcGISWebMapElement;
6
+ };
7
+ declare function FormElementArcGISWebMap({ id, element }: Props): React.JSX.Element;
8
+ declare const _default: React.MemoExoticComponent<typeof FormElementArcGISWebMap>;
9
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import React, { Suspense } from 'react';
2
+ import OnLoading from '../components/renderer/OnLoading';
3
+ import useIsOffline from '../hooks/useIsOffline';
4
+ import FormElementLabelContainer from '../components/renderer/FormElementLabelContainer';
5
+ const ArcGISWebMap = React.lazy(() => import('../components/ArcGISWebMap'));
6
+ function FormElementArcGISWebMap({ id, element }) {
7
+ const isOffline = useIsOffline();
8
+ return (React.createElement("div", { className: "cypress-arcgis-web-map" },
9
+ React.createElement(FormElementLabelContainer, { className: "ob-arcgis-web-map", id: id, element: element, required: false }, isOffline ? (React.createElement("figure", { className: "ob-figure" },
10
+ React.createElement("div", { className: "figure-content has-text-centered" },
11
+ React.createElement("h4", { className: "title is-4" }, "This Web Map is not available as you are currently offline")))) : (React.createElement(Suspense, { fallback: React.createElement(OnLoading, null) },
12
+ React.createElement(ArcGISWebMap, { element: element }))))));
13
+ }
14
+ export default React.memo(FormElementArcGISWebMap);
15
+ //# sourceMappingURL=FormElementArcGISWebMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormElementArcGISWebMap.js","sourceRoot":"","sources":["../../src/form-elements/FormElementArcGISWebMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,SAAS,MAAM,kCAAkC,CAAA;AACxD,OAAO,YAAY,MAAM,uBAAuB,CAAA;AAChD,OAAO,yBAAyB,MAAM,kDAAkD,CAAA;AAExF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;AAO3E,SAAS,uBAAuB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAS;IACrD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,OAAO,CACL,6BAAK,SAAS,EAAC,wBAAwB;QACrC,oBAAC,yBAAyB,IACxB,SAAS,EAAC,mBAAmB,EAC7B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,IAEd,SAAS,CAAC,CAAC,CAAC,CACX,gCAAQ,SAAS,EAAC,WAAW;YAC3B,6BAAK,SAAS,EAAC,kCAAkC;gBAC/C,4BAAI,SAAS,EAAC,YAAY,iEAErB,CACD,CACC,CACV,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IAAC,QAAQ,EAAE,oBAAC,SAAS,OAAG;YAC/B,oBAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,CACzB,CACZ,CACyB,CACxB,CACP,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA","sourcesContent":["import React, { Suspense } from 'react'\nimport { FormTypes } from '@oneblink/types'\nimport OnLoading from '../components/renderer/OnLoading'\nimport useIsOffline from '../hooks/useIsOffline'\nimport FormElementLabelContainer from '../components/renderer/FormElementLabelContainer'\n\nconst ArcGISWebMap = React.lazy(() => import('../components/ArcGISWebMap'))\n\ntype Props = {\n id: string\n element: FormTypes.ArcGISWebMapElement\n}\n\nfunction FormElementArcGISWebMap({ id, element }: Props) {\n const isOffline = useIsOffline()\n\n return (\n <div className=\"cypress-arcgis-web-map\">\n <FormElementLabelContainer\n className=\"ob-arcgis-web-map\"\n id={id}\n element={element}\n required={false}\n >\n {isOffline ? (\n <figure className=\"ob-figure\">\n <div className=\"figure-content has-text-centered\">\n <h4 className=\"title is-4\">\n This Web Map is not available as you are currently offline\n </h4>\n </div>\n </figure>\n ) : (\n <Suspense fallback={<OnLoading />}>\n <ArcGISWebMap element={element} />\n </Suspense>\n )}\n </FormElementLabelContainer>\n </div>\n )\n}\n\nexport default React.memo(FormElementArcGISWebMap)\n"]}
@@ -0,0 +1 @@
1
+ @import url('https://js.arcgis.com/4.28/@arcgis/core/assets/esri/themes/light/main.css');
@@ -0,0 +1,3 @@
1
+ .arcgis-web-map {
2
+ height: 500px;
3
+ }
package/dist/styles.css CHANGED
@@ -9655,6 +9655,10 @@ textarea:disabled {
9655
9655
  container-type: inline-size;
9656
9656
  }
9657
9657
 
9658
+ .arcgis-web-map {
9659
+ height: 500px;
9660
+ }
9661
+
9658
9662
  .flatpickr-calendar {
9659
9663
  background: transparent;
9660
9664
  opacity: 0;
package/dist/styles.scss CHANGED
@@ -135,6 +135,7 @@ $section-padding-mobile: $section-padding-mobile-y $section-padding-mobile-x;
135
135
  @import './styles/buttons.scss';
136
136
  @import './styles/westpac-payment.scss';
137
137
  @import './styles/api-nsw-liquor-licence.scss';
138
+ @import './styles/arcgis-web-map.scss';
138
139
  //
139
140
  // Third Party
140
141
  //
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@oneblink/apps-react",
3
3
  "description": "Helper functions for OneBlink apps in ReactJS.",
4
- "version": "5.8.0",
4
+ "version": "5.9.0-beta.1",
5
5
  "author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/oneblink/apps-react/issues"
8
8
  },
9
9
  "dependencies": {
10
+ "@arcgis/core": "^4.28.10",
10
11
  "@emotion/react": "^11.11.3",
11
12
  "@emotion/styled": "^11.11.0",
12
13
  "@mui/icons-material": "^5.15.6",
@@ -46,7 +47,7 @@
46
47
  "@mui/lab": "^5.0.0-alpha.152",
47
48
  "@mui/material": "^5.15.6",
48
49
  "@mui/x-date-pickers": "^6.19.2",
49
- "@oneblink/apps": "^9.0.0-beta.4",
50
+ "@oneblink/apps": "^10.1.0-beta.1",
50
51
  "@oneblink/release-cli": "^3.0.1",
51
52
  "@oneblink/types": "github:oneblink/types",
52
53
  "@types/blueimp-load-image": "^5.16.6",