@zealicsolutions/web-ui 1.0.140-beta.185 → 1.0.140-beta.187
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/cjs/containers/ReplicatorContainer/ReplicatorFormSetup.d.ts +24 -5
- package/dist/cjs/index.js +28 -28
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/containers/ReplicatorContainer/ReplicatorFormSetup.d.ts +24 -5
- package/dist/esm/containers/ReplicatorContainer/ReplicatorFormSetup.js +1 -1
- package/dist/esm/containers/ReplicatorContainer/ReplicatorFormSetup.js.map +1 -1
- package/dist/esm/molecules/Button/hooks/useButtonAction.js +1 -1
- package/dist/esm/molecules/Button/hooks/useButtonAction.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,12 +14,31 @@ export interface ReplicatorFormSetupProps {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Sets up useFieldArray for a replicator container in form mode.
|
|
17
|
-
* This component should wrap the replicator Container when the organism is a form.
|
|
18
17
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* This component bridges the gap between the Container/Replicator system and
|
|
19
|
+
* react-hook-form's useFieldArray. It handles:
|
|
21
20
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* 1. **Field Array Registration**: Creates a useFieldArray instance for the replicator
|
|
22
|
+
* and provides it via ReplicatorFormContext to child components.
|
|
23
|
+
*
|
|
24
|
+
* 2. **Nested Path Handling**: Builds the correct field array name for nested replicators.
|
|
25
|
+
* Example: "visits" for top-level, "visits.0.medications" for nested.
|
|
26
|
+
*
|
|
27
|
+
* 3. **Prefill Data Integration**: When navigateToPrepopulateForm passes array data
|
|
28
|
+
* via prefillData, this component syncs it with the field array using replace().
|
|
29
|
+
*
|
|
30
|
+
* 4. **Default Instance Creation**: For new forms without data, creates minInstances
|
|
31
|
+
* empty objects to ensure at least one replicator item is shown.
|
|
32
|
+
*
|
|
33
|
+
* 5. **Registry Integration**: Registers with ReplicatorRegistry so external buttons
|
|
34
|
+
* (e.g., "Add Item") can control this replicator via targetReplicatorFieldId.
|
|
35
|
+
*
|
|
36
|
+
* @usage
|
|
37
|
+
* Wrap a replicator Container in form organisms:
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <ReplicatorFormSetup replicatorFieldId="visits">
|
|
40
|
+
* <Container type="replicator" ... />
|
|
41
|
+
* </ReplicatorFormSetup>
|
|
42
|
+
* ```
|
|
24
43
|
*/
|
|
25
44
|
export declare const ReplicatorFormSetup: FC<PropsWithChildren<ReplicatorFormSetupProps>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"../../node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.esm.js";import{useRef as t,useEffect as r}from"react";import{useFormContext as o,useFieldArray as n}from"../../node_modules/react-hook-form/dist/index.esm.mjs.js";import{useOrganismContext as i}from"../../contexts/OrganismContext/useOrganismContext.js";import"../../contexts/ReplicatorFormContext/ReplicatorFormContext.js";import{ReplicatorFormContextProvider as s}from"../../contexts/ReplicatorFormContext/ReplicatorFormContextProvider.js";import{useReplicatorRegistry as a}from"../../contexts/ReplicatorRegistryContext/ReplicatorRegistryContext.js";const m=50,l=({replicatorFieldId:m,nestedPathSegments:l=[],minInstances:c=1,maxInstances:d=50,children:p})=>{const{control:f,getValues:x}=o(),g=a(),{prefillData:h}=i(),u=t(!1),y=l.map(e=>void 0!==e.index?`${e.dmfId}.${e.index}`:e.dmfId).filter(Boolean).join(".");const I=y?`${y}.${m}`:m,j=n({control:f,name:I}),{fields:A,append:C,replace:F}=j,R=h?.[m],$=Array.isArray(R)&&R.length>0;return r(()=>{if(u.current)return;u.current=!0;const e=x(I),t=Array.isArray(e)&&e.length>0;if(
|
|
1
|
+
import{jsx as e}from"../../node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.esm.js";import{useRef as t,useEffect as r}from"react";import{useFormContext as o,useFieldArray as n}from"../../node_modules/react-hook-form/dist/index.esm.mjs.js";import{useOrganismContext as i}from"../../contexts/OrganismContext/useOrganismContext.js";import"../../contexts/ReplicatorFormContext/ReplicatorFormContext.js";import{ReplicatorFormContextProvider as s}from"../../contexts/ReplicatorFormContext/ReplicatorFormContextProvider.js";import{useReplicatorRegistry as a}from"../../contexts/ReplicatorRegistryContext/ReplicatorRegistryContext.js";const m=50,l=({replicatorFieldId:m,nestedPathSegments:l=[],minInstances:c=1,maxInstances:d=50,children:p})=>{const{control:f,getValues:x}=o(),g=a(),{prefillData:h}=i(),u=t(!1),y=l.map(e=>void 0!==e.index?`${e.dmfId}.${e.index}`:e.dmfId).filter(Boolean).join(".");const I=y?`${y}.${m}`:m,j=n({control:f,name:I}),{fields:A,append:C,replace:F}=j,R=h?.[m],$=Array.isArray(R)&&R.length>0;return r(()=>{if(u.current)return;u.current=!0;const e=x(I),t=Array.isArray(e)&&e.length>0;if(!($||t||A.length>0)&&c>0){Array.from({length:c},()=>({})).forEach(e=>{C(e,{shouldFocus:!1})})}},[]),r(()=>{$&&A.length!==R.length&&F(R)},[$,R,A.length,F]),r(()=>{if(g)return g.register({replicatorFieldId:m,fieldArrayName:I,fieldArrayMethods:j,minInstances:c,maxInstances:d}),()=>{g.unregister(m)}},[g,m,I,j,c,d]),e(s,{replicatorFieldId:m,fieldArrayName:I,fieldArrayMethods:j,minInstances:c,maxInstances:d,children:p})};export{m as DEFAULT_MAX_REPLICATOR_INSTANCES,l as ReplicatorFormSetup};
|
|
2
2
|
//# sourceMappingURL=ReplicatorFormSetup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplicatorFormSetup.js","sources":["../../../../../src/containers/ReplicatorContainer/ReplicatorFormSetup.tsx"],"sourcesContent":[null],"names":["DEFAULT_MAX_REPLICATOR_INSTANCES","ReplicatorFormSetup","replicatorFieldId","nestedPathSegments","minInstances","maxInstances","children","control","getValues","useFormContext","registry","useReplicatorRegistry","prefillData","useOrganismContext","initializedRef","useRef","currentPath","map","seg","undefined","index","dmfId","filter","Boolean","join","fieldArrayName","fieldArrayMethods","useFieldArray","name","fields","append","replace","prefillArrayValue","hasPrefillData","Array","isArray","length","useEffect","current","currentFormValue","hasFormValue","from","forEach","instance","shouldFocus","register","unregister","_jsx","ReplicatorFormContextProvider"],"mappings":"yoBAQO,MAAMA,EAAmC,
|
|
1
|
+
{"version":3,"file":"ReplicatorFormSetup.js","sources":["../../../../../src/containers/ReplicatorContainer/ReplicatorFormSetup.tsx"],"sourcesContent":[null],"names":["DEFAULT_MAX_REPLICATOR_INSTANCES","ReplicatorFormSetup","replicatorFieldId","nestedPathSegments","minInstances","maxInstances","children","control","getValues","useFormContext","registry","useReplicatorRegistry","prefillData","useOrganismContext","initializedRef","useRef","currentPath","map","seg","undefined","index","dmfId","filter","Boolean","join","fieldArrayName","fieldArrayMethods","useFieldArray","name","fields","append","replace","prefillArrayValue","hasPrefillData","Array","isArray","length","useEffect","current","currentFormValue","hasFormValue","from","forEach","instance","shouldFocus","register","unregister","_jsx","ReplicatorFormContextProvider"],"mappings":"yoBAQO,MAAMA,EAAmC,GA6DnCC,EAAuE,EAClFC,oBACAC,qBAAqB,GACrBC,eAAe,EACfC,eAjE8C,GAkE9CC,eAEA,MAAMC,QAAEA,EAAOC,UAAEA,GAAcC,IACzBC,EAAWC,KACXC,YAAEA,GAAgBC,IAClBC,EAAiBC,GAAO,GAGxBC,EAA8Bb,EApDjCc,IAAKC,QACcC,IAAdD,EAAIE,MACC,GAAGF,EAAIG,SAASH,EAAIE,QAEtBF,EAAIG,OAEZC,OAAOC,SACPC,KAAK,KA8CR,MAAMC,EAAiBT,EAAc,GAAGA,KAAed,IAAsBA,EAEvEwB,EAAoBC,EAAc,CACtCpB,UACAqB,KAAMH,KAGFI,OAAEA,EAAMC,OAAEA,EAAMC,QAAEA,GAAYL,EAI9BM,EAAoBpB,IAAcV,GAClC+B,EAAiBC,MAAMC,QAAQH,IAAsBA,EAAkBI,OAAS,EAqDtF,OAjDAC,EAAU,KACR,GAAIvB,EAAewB,QAAS,OAC5BxB,EAAewB,SAAU,EAEzB,MAAMC,EAAmB/B,EAAUiB,GAC7Be,EAAeN,MAAMC,QAAQI,IAAqBA,EAAiBH,OAAS,EAGlF,KAAIH,GAAkBO,GAAgBX,EAAOO,OAAS,IAKlDhC,EAAe,EAAG,CACK8B,MAAMO,KAAK,CAAEL,OAAQhC,GAAgB,MAAS,IACtDsC,QAASC,IACxBb,EAAOa,EAAU,CAAEC,aAAa,KAEnC,GACA,IAIHP,EAAU,KACHJ,GAGDJ,EAAOO,SAAWJ,EAAkBI,QACtCL,EAAQC,IAET,CAACC,EAAgBD,EAAmBH,EAAOO,OAAQL,IAGtDM,EAAU,KACR,GAAI3B,EASF,OARAA,EAASmC,SAAS,CAChB3C,oBACAuB,iBACAC,oBACAtB,eACAC,iBAGK,KACLK,EAASoC,WAAW5C,KAGvB,CAACQ,EAAUR,EAAmBuB,EAAgBC,EAAmBtB,EAAcC,IAGhF0C,EAACC,EACC,CAAA9C,kBAAmBA,EACnBuB,eAAgBA,EAChBC,kBAAmBA,EACnBtB,aAAcA,EACdC,aAAcA,EAEbC,SAAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getDataByPath as e}from"../../../containers/utils/dataPathUtils.js";import"../../../contexts/AccountButtonContext/AccountButtonContext.js";import"react/jsx-runtime";import"../../../node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js";import{useState as t,useMemo as o,useContext as r,useCallback as n}from"react";import"../../../node_modules/stylis/dist/umd/stylis.js";import"../../../node_modules/@babel/runtime/helpers/extends.js";import"../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js";import"../../../contexts/ApiContext/ApiContext.js";import{useContainerRuntime as a}from"../../../contexts/ContainerRuntimeContext/ContainerRuntimeContext.js";import"../../../contexts/FormStepContext/FormStepContext.js";import{useFormContext as i}from"../../../node_modules/react-hook-form/dist/index.esm.mjs.js";import"../../../contexts/LayoutContext/LayoutContext.js";import"../../../theme/theme.js";import"../../../theme/provider.js";import"../../../theme/toastStyles.js";import"../../../contexts/MlrRichTextViewerContext/MlrRichTextViewerContext.js";import"../../../contexts/OrganismContext/OrganismContext.js";import{useOrganismContext as s}from"../../../contexts/OrganismContext/useOrganismContext.js";import"../../../contexts/PopupContext/PopupContext.js";import{usePopupContext as c}from"../../../contexts/PopupContext/usePopupContext.js";import{useReplicatorForm as l}from"../../../contexts/ReplicatorFormContext/ReplicatorFormContext.js";import{useReplicatorRegistry as d}from"../../../contexts/ReplicatorRegistryContext/ReplicatorRegistryContext.js";import"../../../contexts/StateContext/StateContext.js";import{useStateContext as u}from"../../../contexts/StateContext/useStateContext.js";import{WebpageContext as f}from"../../../contexts/WebpageContext/WebpageContext.js";import{useSubmitForm as g}from"../../../contexts/ApiContext/globalQueries/form/useSubmitForm.js";import{encodeObjectToBase64Url as m,getByPath as p,composeRwoParamsV2 as w}from"../../../helpers/rwoContext.js";import{checkIsDataDrivenLink as y,resolveDataDrivenLink as h,navigateToExternalLink as I,checkIsInternalLink as v,downloadFile as b}from"../../../helpers/utils.js";const x=e=>{if(null==e)return e;if("object"==typeof e&&null!==e){const t=e;if("id"in t&&null!==t.id&&void 0!==t.id)return t.id;if("value"in t&&null!==t.value&&void 0!==t.value)return t.value}return e},k=e=>{if(null==e)return;const t=x(e);return"string"==typeof t||"number"==typeof t||"boolean"==typeof t?String(t):void 0},F=e=>{if(null==e)return;const t=x(e);return"string"==typeof t||"number"==typeof t||"boolean"==typeof t?String(t):void 0},C=e=>e&&"object"==typeof e?Object.entries(e).reduce((e,[t,o])=>{const r=F(o);return void 0!==r&&(e[t]=r),e},{}):{},_=e=>{if(null==e)return{value:e};if("object"==typeof e&&null!==e){const t=e;if("id"in t&&null!=t.id)return{id:t.id};if("value"in t&&null!=t.value)return{value:t.value}}return{value:e}},R=(R,j={})=>{const{properties:D,moleculeId:S,onClick:A,disabled:P}=R,{onActionStart:O,onActionComplete:E,onActionError:L,onAllActionsComplete:T,stopOnError:V=!0,executeAsync:N=!0}=j,[$,M]=t(!1),[B,U]=t(-1),[W,q]=t([]),[J,K]=t(null),H=o(()=>{const e=D?.action,t=e?.action,o=t||e;return o?Array.isArray(o)?o:o&&"object"==typeof o&&"type"in o?[o]:[]:[]},[D?.action]),{setActivePopup:Q,clearActivePopup:z}=c(),G=i()||{},X=s?.()||{},Y=a?.()||{},Z=u?.()||{},ee=l(),te=d(),oe=r(f),{onInternalNavigation:re,formId:ne,routing:ae,submitHandler:ie,localState:se,localStateObject:ce,organismInfo:le,prefillData:de}=X,{submitForm:ue}=g()||{},fe=n(async e=>{if(!e.link)throw new Error("Link configuration missing");if(y(e.link)){const t={};if(Y?.rawItemDataByDmfId&&Object.assign(t,Y.rawItemDataByDmfId),G&&"function"==typeof G.getValues){const e=G.getValues();Object.keys(e).forEach(o=>{o in t||(t[o]=e[o])})}const o=ce?.data;o&&Object.keys(o).forEach(e=>{e in t||(t[e]=o[e])}),ce&&Object.keys(ce).forEach(e=>{e in t||(t[e]=ce[e])}),Z?.stateConfig&&Object.keys(Z.stateConfig).forEach(e=>{e in t||(t[e]=Z.stateConfig[e])});const r=h(e.link,t);if(!r)return;if(r.isExternal)I(r.destination);else{let e;if(r.recordId){const t={rwoRecordId:r.recordId};e={rwoContext:m(t)}}re?.({link:r.destination,webpageAlias:r.webpageAlias,query:e})}return}if(v(e.link)){const t={};return e.link?.targetFormId&&(t.organismId=String(e.link?.targetFormId)),e.link?.rwoKey&&(t.rwo=String(e.link?.rwoKey)),void re?.({link:e.link.internalLink||"",query:t})}I(e.link.externalLink||"")},[Y,G,ce,Z,re]),ge=n(async e=>{if(!e.download)throw new Error("Download configuration missing");b(e.download.url,e.download.name)},[]),me=n(e=>{const t=e?.open_popup,o=t?.organismId;if(!o)throw new Error("Popup configuration missing");Q?.({id:o})},[Q]),pe=n(async e=>{if(!G?.handleSubmit)throw new Error("Form context not available for submit action");const t=(ne??"").toString();if(!t)throw new Error("Form ID missing in OrganismContext for submit action");let o,r=ae?.rwoRecordIdFromUrl;if(!r)try{const e=new URLSearchParams(window.location.search),o=e.get("rwoContext"),n=e.get("selectedWebpageId");if(o&&n){const e=JSON.parse(atob(o))[n];if(e){const o=e[t];o?.rwoRecordId?r=o.rwoRecordId:e.rwoRecordId&&(r=e.rwoRecordId)}}}catch{}return await G.handleSubmit(async n=>{const a={formId:t,data:n};let i;r&&(a.rwoRecordId=r);try{if(ie)i=await ie(a);else{if(!ue)return;i=await ue(a)}}catch(l){const t=e.submit?.onError?.link;if(t&&t.internalLink)if(v(t)){const e={};t?.rwoKey&&(e.rwo=String(t?.rwoKey)),re?.({link:t.internalLink||"",query:e})}else I(t.externalLink||"");throw l}o=i;const s=Z?.stateHandler;"function"==typeof s&&t&&s({[t]:{interacted:"completed"}});const c=e?.submit?.onSuccess?.link;if(c&&(c.internalLink||c.externalLink))if(v(c)){const e={};c?.rwoKey&&(e.rwo=String(c?.rwoKey)),re?.({link:c.internalLink||"",query:e})}else I(c.externalLink||"");return G?.reset?.(),i},async e=>{throw new Error("Form validation failed")})(),o},[G,ue,re,ne,ae]),we=n(async(t,o)=>{const r=xe(t,o);if(!r)throw new Error(`Navigation configuration missing for ${o}`);switch(o){case"navigateToCreateForm":if(r.targetFormId){const e=`?organismId=${r.targetFormId}`;re?.({link:e})}break;case"navigateToEditForm":if(r.targetFormId){const e=(()=>{try{return new URLSearchParams(window.location.search).get("selectedWebpageId")||void 0}catch{return}})(),t=r?.link,o=t?.internalLink||`?organismId=${r.targetFormId}`,n=e=>{const t=e.match(/webpageId=([^/&#?]+)/);return t?t[1]:void 0},a=t?.internalLink?n(t.internalLink):void 0,i=e&&a===e,s=r?.inputParams,c=G&&"function"==typeof G.getValues?G.getValues():{},l=Y?.rawItemDataByDmfId||{},d=ce?.data,u={};let f;if(s&&s.length>0)s.forEach(e=>{let t;if(void 0===t&&void 0!==l[e.sourceFieldId]&&(t=l[e.sourceFieldId]),void 0===t&&void 0!==c[e.sourceFieldId]&&(t=c[e.sourceFieldId]),void 0===t&&d&&void 0!==d[e.sourceFieldId]&&(t=d[e.sourceFieldId]),void 0===t&&ce){const o=p(ce,e.sourceFieldId);void 0!==o&&(t=o)}if(void 0===t&&Z?.stateConfig){const o=p(Z.stateConfig,e.sourceFieldId);void 0!==o&&(t=o)}if(null!=t&&""!==t){const o=x(t);u[e.sourceFieldId]=o,!f&&o&&(f=String(o))}});else{const e=ae?.rwoRecordIdFromUrl;f=e||(le&&le.id?String(le.id):void 0)}f&&(u.rwoRecordId=f);const g={};if(Object.keys(u).length>0){const t=(()=>{try{const e=new URLSearchParams(window.location.search).get("rwoContext");return e?JSON.parse(atob(e)):{}}catch{return{}}})(),o=a||e;let n;if(o){const e=t[o]||{};n={...t,[o]:{...e,...e.rwoRecordId?{}:{rwoRecordId:f},[r.targetFormId]:u}}}else n={...t,...t.rwoRecordId?{}:{rwoRecordId:f},[r.targetFormId]:u};g.rwoContext=btoa(JSON.stringify(n))}if(i){const e=window.location.pathname+window.location.search;re?.({link:e,query:g})}else re?.({link:o,query:g})}break;case"navigateToPrepopulateForm":{const t=r?.link?.internalLink||"",{targetFormId:o}=r||{};if(!o&&!t)break;const n=Array.isArray(r?.fieldMap)?r.fieldMap:[],a=(()=>{try{return new URLSearchParams(window.location.search).get("selectedWebpageId")||void 0}catch{return}})(),i=t?(e=>{const t=e.match(/webpageId=([^/&#?]+)/);return t?t[1]:void 0})(t):void 0,s=a&&i===a,c=Y?.rawItemDataByDmfId||{},l=Y?.nestedPathSegments||[],d=(()=>{const e=ce?.data;if(e&&Object.keys(e).length>0)return e;if(se&&"object"==typeof se&&Object.keys(se).length>0)return se;if(ce&&"object"==typeof ce){const e=ce;if(Object.values(e).some(e=>Array.isArray(e)))return e}return{}})(),u=G&&"function"==typeof G.getValues?G.getValues():{};console.log("[navigateToPrepopulateForm] Data sources:",{containerDataKeys:Object.keys(c),localStateDataKeys:Object.keys(d),nestedPathSegments:l,hasLocalState:!!se,hasLocalStateObject:!!ce});const f=new Map;n.forEach(e=>{e.sourceParent&&f.set(e.source,e.sourceParent)});const g=(e=>{const t=new Map;return e.forEach(e=>{const o=`${e.sourceParent||"root"}:${e.destinationParent||"root"}`;t.has(o)||t.set(o,{sourceParent:e.sourceParent,destinationParent:e.destinationParent,mappings:[]}),t.get(o).mappings.push(e)}),Array.from(t.values())})(n),m=((e,t)=>{const o={},r=new Set;return e.filter(e=>e.sourceParent&&e.destinationParent).forEach(e=>{e.destinationParent&&r.add(e.destinationParent)}),e.filter(e=>!e.destinationParent).forEach(e=>{e.mappings.forEach(e=>{if(r.has(e.destination))return;const n=t(e.source);void 0!==n&&(Array.isArray(n)?(o[e.destination]=n,console.log(`[buildDestinationValue] Array mapped directly (no inner mappings): ${e.source} → ${e.destination}`,n)):o[e.destination]=_(n))})}),e.filter(e=>e.sourceParent&&e.destinationParent).forEach(e=>{const r=t(e.sourceParent);if(!Array.isArray(r))return void console.log(`[buildDestinationValue] sourceParent ${e.sourceParent} is not an array:`,r);console.log(`[buildDestinationValue] Processing array mapping: ${e.sourceParent} → ${e.destinationParent}`,{sourceArrayLength:r.length,innerMappings:e.mappings.map(e=>`${e.source} → ${e.destination}`)});const n=r.map((t,o)=>{const r={},n=t;return e.mappings.forEach(e=>{const t=n[e.source];void 0!==t?r[e.destination]=_(t):console.log(`[buildDestinationValue] Item ${o}: field ${e.source} not found in source item`,{availableKeys:Object.keys(n)})}),r});o[e.destinationParent]=n}),o})(g,t=>((t,o,r,n,a,i)=>{if(console.log("[resolveFieldFromDataLayer]",{fieldId:t,parentFieldId:o,nestedPathSegments:a,hasContainerData:Object.keys(r).length>0,hasLocalStateData:Object.keys(n).length>0}),o){const i=a.findIndex(e=>e.dmfId===o);if(console.log("[resolveFieldFromDataLayer] parentSegmentIndex:",i),i>=0){const o=a.slice(0,i+1);console.log("[resolveFieldFromDataLayer] parentPath:",o);const r=e(n,o);if(console.log("[resolveFieldFromDataLayer] parentData:",r),r&&void 0!==r[t])return console.log("[resolveFieldFromDataLayer] FOUND in parent:",r[t]),r[t]}else{console.log("[resolveFieldFromDataLayer] Parent not in path, trying fallback search");const e=n[o];if(Array.isArray(e)){const o=a[0]?.dmfId,n=a[0]?.index;if(void 0!==o&&void 0!==n)for(const a of e)if(a&&"object"==typeof a){const e=a,i=e[o];if(Array.isArray(i)&&i.length>n){const o=i[n];if(Object.keys(r).some(e=>void 0!==o[e]&&JSON.stringify(o[e])===JSON.stringify(r[e]))&&void 0!==e[t])return console.log("[resolveFieldFromDataLayer] FOUND via fallback:",e[t]),e[t]}}}}}if(void 0!==r[t])return console.log("[resolveFieldFromDataLayer] FOUND in containerData:",r[t]),r[t];for(let s=a.length-1;s>=0;s-=1){const o=a.slice(0,s+1),r=e(n,o);if(r&&void 0!==r[t])return r[t]}return void 0!==n[t]?n[t]:void 0!==i[t]?i[t]:void 0})(t,f.get(t),c,d,l,u)),p=(()=>{try{const e=new URLSearchParams(window.location.search).get("rwoContext");return e?JSON.parse(atob(e)):{}}catch{return{}}})(),w={};if(Object.keys(m).length>0&&o){const e=i||a;let t;if(e){const r=p[e]||{},n=r[o]||{};t={...p,[e]:{...r,[o]:{...n,prefillData:m}}}}else t={...p,[o]:{prefillData:m}};w.rwoContext=btoa(JSON.stringify(t))}if(s){const e=window.location.pathname+window.location.search;re?.({link:e,query:Object.keys(w).length>0?w:void 0,state:{prefill:m,targetFormId:o}})}else{const e=t||`?organismId=${encodeURIComponent(String(o||""))}`;re?.({link:e,query:Object.keys(w).length>0?w:void 0,state:{prefill:m,targetFormId:o}})}}break;case"navigateToOrganismWithRwoContext":{const e=r?.sourceDataModelFieldId,t=r?.targetOrganismIds,o=r?.inputParams;if(!Array.isArray(t)||0===t.length)break;const n=(()=>{try{return new URLSearchParams(window.location.search).get("selectedWebpageId")||void 0}catch{return}})(),a=G&&"function"==typeof G.getValues?G.getValues():{},i=Y?.rawItemDataByDmfId||{},s=(()=>{try{const e=new URLSearchParams(window.location.search).get("rwoContext");return e?JSON.parse(atob(e)):{}}catch{return{}}})(),c={};let l,d;if(o&&o.length>0){const e=ce?.data;o.forEach(t=>{let o;if(void 0===o&&void 0!==i[t.sourceFieldId]&&(o=i[t.sourceFieldId]),void 0===o&&void 0!==a[t.sourceFieldId]&&(o=a[t.sourceFieldId]),void 0===o&&e&&void 0!==e[t.sourceFieldId]&&(o=e[t.sourceFieldId]),void 0===o&&ce){const e=p(ce,t.sourceFieldId);void 0!==e&&(o=e)}if(void 0===o&&Z?.stateConfig){const e=p(Z.stateConfig,t.sourceFieldId);void 0!==e&&(o=e)}if(null!=o&&""!==o){const e=x(o);c[t.sourceFieldId]=e,!l&&e&&(l=String(e))}}),l&&(c.rwoRecordId=l)}else if(e){let t;if(!t&&Y?.rawItemDataByDmfId){const o=Y.rawItemDataByDmfId[e];t=F(o)}if(!t&&G&&"function"==typeof G.getValues){const o=p(G.getValues(),e);t=k(o)}if(!t&&ce){const o=ce?.data;if(o&&void 0!==o[e]){const r=o[e];t=F(r)}if(!t){const o=p(ce,e);t=F(o)}}if(!t&&Z?.stateConfig){const o=p(Z.stateConfig,e);t=F(o)}if(!t&&n){const e=s[n]||{};"string"==typeof e.rwoRecordId&&(t=e.rwoRecordId)}t&&(l=t,c.rwoRecordId=String(t),c[String(e)]=String(t))}if(n){const e=s[n]||{},o={...e};l&&!e.rwoRecordId&&(o.rwoRecordId=l),t.forEach(t=>{const r=e[t]||{};o[t]={...r,...c}}),d={...s,[n]:o}}else d={...s},l&&!s.rwoRecordId&&(d.rwoRecordId=l),t.forEach(e=>{const t=s[e]||{};d[e]={...t,...c}});const u={};(Object.keys(c).length>0||void 0!==l)&&(u.rwoContext=btoa(JSON.stringify(d)));const f=window.location.pathname+window.location.search;re?.({link:f,query:u})}break;case"navigateToPageWithRwoContext":{const e=r?.link,t=!1!==r?.includeRwoRecordId,o=Array.isArray(r?.rwoContextMapping)?r.rwoContextMapping:[];if(!e?.internalLink)break;const n=(e=>{const t=e.match(/webpageId=([^/&#?]+)/);return t?t[1]:void 0})(e.internalLink),a=r?.sourceDataModelFieldId,i=G&&"function"==typeof G.getValues?G.getValues():{};let s=ae?.rwoRecordIdFromUrl;if(a){if(!s&&Y?.rawItemDataByDmfId){const e=Y.rawItemDataByDmfId[a];s=F(e)}if(!s){const e=p(i,a);s=k(e)}if(!s&&ce){const e=p(ce,a);s=F(e)}if(!s&&Z?.stateConfig){const e=p(Z.stateConfig,a);s=F(e)}s||(s=String(a))}const c=C(ce?.data),l=C(se),d=C(Y?.itemDataByDmfId),u=C(Y?.rawItemDataByDmfId),f=[Z?.stateConfig,ce,se,i,l,d,u,c].reduce((e,t)=>(t&&"object"==typeof t&&Object.assign(e,t),e),{}),{query:g}=w({selectedWebpageId:n,includeRwoRecordId:t,recordId:s,mapping:o,contextSource:f});re?.({link:e.internalLink,query:g})}}},[re,G,se,ce,le,ae]),ye=n(e=>{G?.reset?.()},[G]),he=n(e=>{G?.reset?.(),"function"==typeof z?z():"function"==typeof Q&&Q(null)},[G,z,Q]),Ie=n(e=>{const t=e?.add_replicator||{},o=t.targetReplicatorFieldId;let r,n,a,i;if(o&&te){const e=te.getReplicator(o);if(!e)return void console.error(`[add_replicator] Replicator "${o}" not found in registry. Make sure the replicator container is rendered and has the correct replicatorFieldId.`);r=o,n=te.canAdd(o),a=e=>te.append(o,e),i=e.fieldArrayMethods.fields.length}else{if(!ee)return void console.error("[add_replicator] No target replicator available. Either:\n1. Configure targetReplicatorFieldId in the button action, or\n2. Place the button inside a replicator container.");r=ee.replicatorFieldId,n=ee.canAdd,a=ee.fieldArrayMethods.append,i=ee.fieldArrayMethods.fields.length}if(n&&(a({}),!1!==t.scrollToNew)){const e=`[data-replicator-instance="${r}-${i}"]`,t=(o=3)=>{requestAnimationFrame(()=>{setTimeout(()=>{const r=document.querySelector(e);r?r.scrollIntoView({behavior:"smooth",block:"nearest"}):o>0&&t(o-1)},50)})};t()}},[ee,te]),ve=n(e=>{const t=(e?.delete_replicator||{}).targetReplicatorFieldId;let o,r,n,a,i;if(t&&te){const e=te.getReplicator(t);if(!e)return void console.error(`[delete_replicator] Replicator "${t}" not found in registry. Make sure the replicator container is rendered and has the correct replicatorFieldId.`);o=t,r=te.canRemove(t),n=e=>te.remove(t,e),a=e.fieldArrayMethods.fields.length}else{if(!ee)return void console.error("[delete_replicator] No target replicator available. Either:\n1. Configure targetReplicatorFieldId in the button action, or\n2. Place the button inside a replicator container.");o=ee.replicatorFieldId,r=ee.canRemove,n=ee.fieldArrayMethods.remove,a=ee.fieldArrayMethods.fields.length}r&&(i=void 0===Y?.itemIndex||t?a-1:Y.itemIndex,i<0||i>=a?console.error(`[delete_replicator] Invalid index ${i} (length: ${a})`):n(i))},[ee,te,Y]),be=n(async e=>{if(!oe?.openAIChat)return;if(oe.isAIAvailable&&!oe.isAIAvailable())return;const t=e?.open_ai_chat||e?.openAIChat||{},o=t?.inputParams,r=t?.cortexAgentId,n=G&&"function"==typeof G.getValues?G.getValues():{},a=Y?.rawItemDataByDmfId||{},i={};if(o&&o.length>0)o.forEach(e=>{const t=n[e.sourceFieldId]??a[e.sourceFieldId];null!=t&&(i[e.sourceFieldId]=x(t))});else{const e=t?.cortexRwoContext?.sourceDataModelFieldId;if(e){let t;if(!t&&Y?.rawItemDataByDmfId){const o=Y.rawItemDataByDmfId[e];t=F(o)}if(!t&&G&&"function"==typeof G.getValues){const o=p(G.getValues(),e);t=k(o)}if(!t&&ce){const o=p(ce,e);t=F(o)}if(!t&&Z?.stateConfig){const o=p(Z.stateConfig,e);t=F(o)}t&&(i.rwoRecordId=t,i.sourceDataModelFieldId=e)}}const s=Object.keys(i).length>0?{inputParams:i}:void 0;await oe.openAIChat({cortexAgentId:r,cortexRwoContext:s})},[oe,G,ce,Y,Z]),xe=n((e,t)=>{switch(t){case"navigateToCreateForm":return e.navigateToCreateForm||e.navigate_to_create_form||null;case"navigateToEditForm":return e.navigateToEditForm||e.navigate_to_edit_form||null;case"navigateToPrepopulateForm":return e.navigateToPrepopulateForm||e.navigate_to_prepopulate_form||null;case"navigateToOrganismWithRwoContext":return e.navigateToOrganismWithRwoContext||e.navigate_to_organism_with_rwo_context||null;case"navigateToPageWithRwoContext":return e.navigateToPageWithRwoContext||e.navigate_to_page_with_rwo_context||null;default:return null}},[]),ke=n(async(e,t)=>{O?.(e,t);try{let o;switch(e.type){case"link":await fe(e),o="Link executed";break;case"download":await ge(e),o="Download executed";break;case"submit":o=await pe(e);break;case"open_popup":me(e),o="Popup opened";break;case"navigate_to_create_form":await we(e,"navigateToCreateForm"),o="Navigation executed";break;case"navigate_to_edit_form":await we(e,"navigateToEditForm"),o="Navigation executed";break;case"navigate_to_prepopulate_form":await we(e,"navigateToPrepopulateForm"),o="Navigation executed";break;case"navigate_to_organism_with_rwo_context":await we(e,"navigateToOrganismWithRwoContext"),o="Navigation executed";break;case"navigate_to_page_with_rwo_context":await we(e,"navigateToPageWithRwoContext"),o="Navigation executed";break;case"reset":ye(e),o="Reset executed";break;case"destroy":he(e),o="Destroy executed";break;case"open_ai_chat":await be(e),o="AI Chat opened";break;case"add_replicator":Ie(e),o="Replicator instance added";break;case"delete_replicator":ve(e),o="Replicator instance deleted";break;default:throw new Error(`Unsupported action type: ${e.type}`)}return E?.(e,t,o),o}catch(o){const r=o instanceof Error?o:new Error(String(o));if(L?.(e,t,r),V)throw r;return null}},[O,E,L,V,fe,ge,pe,me,we,ye,he,be,Ie,ve]),Fe=n(async()=>{if(0===H.length)return[];M(!0),U(0),q([]),K(null);try{const e=H.some(e=>"submit"===e?.type),t=new Set(["link","navigate_to_create_form","navigate_to_edit_form","navigate_to_prepopulate_form","navigate_to_organism_with_rwo_context","navigate_to_page_with_rwo_context"]),o=e=>"close"===e||"destroy"===e,r=(()=>{if(!e)return H;return[...H.filter(e=>e&&"submit"!==e.type&&!t.has(e.type)&&!o(e.type)),...H.filter(e=>e&&"submit"===e.type),...H.filter(e=>e&&o(e.type)),...H.filter(e=>e&&t.has(e.type))]})(),n=[];for(let a=0;a<r.length;a+=1){U(a);const e=await ke(r[a],a);n.push(e),q([...n])}return T?.(n),n}catch(e){const t=e instanceof Error?e:new Error(String(e));throw K(t),t}finally{M(!1),U(-1)}},[H,ke,T,N,V]),Ce=n(e=>{P||(A?A(e):H.length>0&&Fe().catch(()=>{}))},[P,S,A,H,Fe]);return{executeActions:Fe,handleAction:Ce,isExecuting:$,currentActionIndex:B,results:W,error:J}};export{R as useButtonAction};
|
|
1
|
+
import{getDataByPath as t}from"../../../containers/utils/dataPathUtils.js";import"../../../contexts/AccountButtonContext/AccountButtonContext.js";import"react/jsx-runtime";import"../../../node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js";import{useState as e,useMemo as o,useContext as r,useCallback as n}from"react";import"../../../node_modules/stylis/dist/umd/stylis.js";import"../../../node_modules/@babel/runtime/helpers/extends.js";import"../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js";import"../../../contexts/ApiContext/ApiContext.js";import{useContainerRuntime as i}from"../../../contexts/ContainerRuntimeContext/ContainerRuntimeContext.js";import"../../../contexts/FormStepContext/FormStepContext.js";import{useFormContext as a}from"../../../node_modules/react-hook-form/dist/index.esm.mjs.js";import"../../../contexts/LayoutContext/LayoutContext.js";import"../../../theme/theme.js";import"../../../theme/provider.js";import"../../../theme/toastStyles.js";import"../../../contexts/MlrRichTextViewerContext/MlrRichTextViewerContext.js";import"../../../contexts/OrganismContext/OrganismContext.js";import{useOrganismContext as s}from"../../../contexts/OrganismContext/useOrganismContext.js";import"../../../contexts/PopupContext/PopupContext.js";import{usePopupContext as c}from"../../../contexts/PopupContext/usePopupContext.js";import{useReplicatorForm as d}from"../../../contexts/ReplicatorFormContext/ReplicatorFormContext.js";import{useReplicatorRegistry as l}from"../../../contexts/ReplicatorRegistryContext/ReplicatorRegistryContext.js";import"../../../contexts/StateContext/StateContext.js";import{useStateContext as u}from"../../../contexts/StateContext/useStateContext.js";import{WebpageContext as f}from"../../../contexts/WebpageContext/WebpageContext.js";import{useSubmitForm as m}from"../../../contexts/ApiContext/globalQueries/form/useSubmitForm.js";import{encodeObjectToBase64Url as p,getByPath as g,composeRwoParamsV2 as w}from"../../../helpers/rwoContext.js";import{checkIsDataDrivenLink as h,resolveDataDrivenLink as y,navigateToExternalLink as I,checkIsInternalLink as v,downloadFile as x}from"../../../helpers/utils.js";const b=t=>{if(null==t)return t;if("object"==typeof t&&null!==t){const e=t;if("id"in e&&null!==e.id&&void 0!==e.id)return e.id;if("value"in e&&null!==e.value&&void 0!==e.value)return e.value}return t},k=t=>{if(null==t)return;const e=b(t);return"string"==typeof e||"number"==typeof e||"boolean"==typeof e?String(e):void 0},C=t=>{if(null==t)return;const e=b(t);return"string"==typeof e||"number"==typeof e||"boolean"==typeof e?String(e):void 0},_=t=>t&&"object"==typeof t?Object.entries(t).reduce((t,[e,o])=>{const r=C(o);return void 0!==r&&(t[e]=r),t},{}):{},F=t=>{if(null==t)return{value:t};if("object"==typeof t&&null!==t){const e=t;if("id"in e&&null!=e.id)return{id:e.id};if("value"in e&&null!=e.value)return{value:e.value}}return{value:t}},R=(R,j={})=>{const{properties:A,moleculeId:S,onClick:P,disabled:D}=R,{onActionStart:E,onActionComplete:O,onActionError:L,onAllActionsComplete:T,stopOnError:M=!0,executeAsync:N=!0}=j,[V,B]=e(!1),[W,q]=e(-1),[U,$]=e([]),[J,K]=e(null),H=o(()=>{const t=A?.action,e=t?.action,o=e||t;return o?Array.isArray(o)?o:o&&"object"==typeof o&&"type"in o?[o]:[]:[]},[A?.action]),{setActivePopup:Q,clearActivePopup:z}=c(),G=a()||{},X=s?.()||{},Y=i?.()||{},Z=u?.()||{},tt=d(),et=l(),ot=r(f),{onInternalNavigation:rt,formId:nt,routing:it,submitHandler:at,localState:st,localStateObject:ct,organismInfo:dt,prefillData:lt}=X,{submitForm:ut}=m()||{},ft=n(async t=>{if(!t.link)throw new Error("Link configuration missing");if(h(t.link)){const e={};if(Y?.rawItemDataByDmfId&&Object.assign(e,Y.rawItemDataByDmfId),G&&"function"==typeof G.getValues){const t=G.getValues();Object.keys(t).forEach(o=>{o in e||(e[o]=t[o])})}const o=ct?.data;o&&Object.keys(o).forEach(t=>{t in e||(e[t]=o[t])}),ct&&Object.keys(ct).forEach(t=>{t in e||(e[t]=ct[t])}),Z?.stateConfig&&Object.keys(Z.stateConfig).forEach(t=>{t in e||(e[t]=Z.stateConfig[t])});const r=y(t.link,e);if(!r)return;if(r.isExternal)I(r.destination);else{let t;if(r.recordId){const e={rwoRecordId:r.recordId};t={rwoContext:p(e)}}rt?.({link:r.destination,webpageAlias:r.webpageAlias,query:t})}return}if(v(t.link)){const e={};return t.link?.targetFormId&&(e.organismId=String(t.link?.targetFormId)),t.link?.rwoKey&&(e.rwo=String(t.link?.rwoKey)),void rt?.({link:t.link.internalLink||"",query:e})}I(t.link.externalLink||"")},[Y,G,ct,Z,rt]),mt=n(async t=>{if(!t.download)throw new Error("Download configuration missing");x(t.download.url,t.download.name)},[]),pt=n(t=>{const e=t?.open_popup,o=e?.organismId;if(!o)throw new Error("Popup configuration missing");Q?.({id:o})},[Q]),gt=n(async t=>{if(!G?.handleSubmit)throw new Error("Form context not available for submit action");const e=(nt??"").toString();if(!e)throw new Error("Form ID missing in OrganismContext for submit action");let o,r=it?.rwoRecordIdFromUrl;if(!r)try{const t=new URLSearchParams(window.location.search),o=t.get("rwoContext"),n=t.get("selectedWebpageId");if(o&&n){const t=JSON.parse(atob(o))[n];if(t){const o=t[e];o?.rwoRecordId?r=o.rwoRecordId:t.rwoRecordId&&(r=t.rwoRecordId)}}}catch{}return await G.handleSubmit(async n=>{const i={formId:e,data:n};let a;r&&(i.rwoRecordId=r);try{if(at)a=await at(i);else{if(!ut)return;a=await ut(i)}}catch(d){const e=t.submit?.onError?.link;if(e&&e.internalLink)if(v(e)){const t={};e?.rwoKey&&(t.rwo=String(e?.rwoKey)),rt?.({link:e.internalLink||"",query:t})}else I(e.externalLink||"");throw d}o=a;const s=Z?.stateHandler;"function"==typeof s&&e&&s({[e]:{interacted:"completed"}});const c=t?.submit?.onSuccess?.link;if(c&&(c.internalLink||c.externalLink))if(v(c)){const t={};c?.rwoKey&&(t.rwo=String(c?.rwoKey)),rt?.({link:c.internalLink||"",query:t})}else I(c.externalLink||"");return G?.reset?.(),a},async t=>{throw new Error("Form validation failed")})(),o},[G,ut,rt,nt,it]),wt=n(async(e,o)=>{const r=bt(e,o);if(!r)throw new Error(`Navigation configuration missing for ${o}`);switch(o){case"navigateToCreateForm":if(r.targetFormId){const t=`?organismId=${r.targetFormId}`;rt?.({link:t})}break;case"navigateToEditForm":if(r.targetFormId){const t=(()=>{try{return new URLSearchParams(window.location.search).get("selectedWebpageId")||void 0}catch{return}})(),e=r?.link,o=e?.internalLink||`?organismId=${r.targetFormId}`,n=t=>{const e=t.match(/webpageId=([^/&#?]+)/);return e?e[1]:void 0},i=e?.internalLink?n(e.internalLink):void 0,a=t&&i===t,s=r?.inputParams,c=G&&"function"==typeof G.getValues?G.getValues():{},d=Y?.rawItemDataByDmfId||{},l=ct?.data,u={};let f;if(s&&s.length>0)s.forEach(t=>{let e;if(void 0===e&&void 0!==d[t.sourceFieldId]&&(e=d[t.sourceFieldId]),void 0===e&&void 0!==c[t.sourceFieldId]&&(e=c[t.sourceFieldId]),void 0===e&&l&&void 0!==l[t.sourceFieldId]&&(e=l[t.sourceFieldId]),void 0===e&&ct){const o=g(ct,t.sourceFieldId);void 0!==o&&(e=o)}if(void 0===e&&Z?.stateConfig){const o=g(Z.stateConfig,t.sourceFieldId);void 0!==o&&(e=o)}if(null!=e&&""!==e){const o=b(e);u[t.sourceFieldId]=o,!f&&o&&(f=String(o))}});else{const t=it?.rwoRecordIdFromUrl;f=t||(dt&&dt.id?String(dt.id):void 0)}f&&(u.rwoRecordId=f);const m={};if(Object.keys(u).length>0){const e=(()=>{try{const t=new URLSearchParams(window.location.search).get("rwoContext");return t?JSON.parse(atob(t)):{}}catch{return{}}})(),o=i||t;let n;if(o){const t=e[o]||{};n={...e,[o]:{...t,...t.rwoRecordId?{}:{rwoRecordId:f},[r.targetFormId]:u}}}else n={...e,...e.rwoRecordId?{}:{rwoRecordId:f},[r.targetFormId]:u};m.rwoContext=btoa(JSON.stringify(n))}if(a){const t=window.location.pathname+window.location.search;rt?.({link:t,query:m})}else rt?.({link:o,query:m})}break;case"navigateToPrepopulateForm":{const e=r?.link?.internalLink||"",{targetFormId:o}=r||{};if(!o&&!e)break;const n=Array.isArray(r?.fieldMap)?r.fieldMap:[],i=(()=>{try{return new URLSearchParams(window.location.search).get("selectedWebpageId")||void 0}catch{return}})(),a=e?(t=>{const e=t.match(/webpageId=([^/&#?]+)/);return e?e[1]:void 0})(e):void 0,s=i&&a===i,c=Y?.rawItemDataByDmfId||{},d=Y?.nestedPathSegments||[],l=(()=>{const t=ct?.data;if(t&&Object.keys(t).length>0)return t;if(st&&"object"==typeof st&&Object.keys(st).length>0)return st;if(ct&&"object"==typeof ct){const t=ct;if(Object.values(t).some(t=>Array.isArray(t)))return t}return{}})(),u=G&&"function"==typeof G.getValues?G.getValues():{},f=new Map;n.forEach(t=>{t.sourceParent&&f.set(t.source,t.sourceParent)});const m=(t=>{const e=new Map;return t.forEach(t=>{const o=`${t.sourceParent||"root"}:${t.destinationParent||"root"}`;e.has(o)||e.set(o,{sourceParent:t.sourceParent,destinationParent:t.destinationParent,mappings:[]}),e.get(o).mappings.push(t)}),Array.from(e.values())})(n),p=((t,e)=>{const o={},r=new Set;return t.filter(t=>t.sourceParent&&t.destinationParent).forEach(t=>{t.destinationParent&&r.add(t.destinationParent)}),t.filter(t=>!t.destinationParent).forEach(t=>{t.mappings.forEach(t=>{if(r.has(t.destination))return;const n=e(t.source);void 0!==n&&(Array.isArray(n)?o[t.destination]=n:o[t.destination]=F(n))})}),t.filter(t=>t.sourceParent&&t.destinationParent).forEach(t=>{const r=e(t.sourceParent);if(!Array.isArray(r))return;const n=r.map(e=>{const o={},r=e;return t.mappings.forEach(t=>{const e=r[t.source];void 0!==e&&(o[t.destination]=F(e))}),o});o[t.destinationParent]=n}),o})(m,e=>((e,o,r,n,i,a)=>{if(o){const a=i.findIndex(t=>t.dmfId===o);if(a>=0){const o=i.slice(0,a+1),r=t(n,o);if(r&&void 0!==r[e])return r[e]}else{const t=n[o];if(Array.isArray(t)){const o=i[0]?.dmfId,n=i[0]?.index;if(void 0!==o&&void 0!==n)for(const i of t)if(i&&"object"==typeof i){const t=i,a=t[o];if(Array.isArray(a)&&a.length>n){const o=a[n];if(Object.keys(r).some(t=>void 0!==o[t]&&JSON.stringify(o[t])===JSON.stringify(r[t]))&&void 0!==t[e])return t[e]}}}}}if(void 0!==r[e])return r[e];for(let s=i.length-1;s>=0;s-=1){const o=i.slice(0,s+1),r=t(n,o);if(r&&void 0!==r[e])return r[e]}return void 0!==n[e]?n[e]:void 0!==a[e]?a[e]:void 0})(e,f.get(e),c,l,d,u)),g=(()=>{try{const t=new URLSearchParams(window.location.search).get("rwoContext");return t?JSON.parse(atob(t)):{}}catch{return{}}})(),w={};if(Object.keys(p).length>0&&o){const t=a||i;let e;if(t){const r=g[t]||{},n=r[o]||{};e={...g,[t]:{...r,[o]:{...n,prefillData:p}}}}else e={...g,[o]:{prefillData:p}};w.rwoContext=btoa(JSON.stringify(e))}if(s){const t=window.location.pathname+window.location.search;rt?.({link:t,query:Object.keys(w).length>0?w:void 0,state:{prefill:p,targetFormId:o}})}else{const t=e||`?organismId=${encodeURIComponent(String(o||""))}`;rt?.({link:t,query:Object.keys(w).length>0?w:void 0,state:{prefill:p,targetFormId:o}})}}break;case"navigateToOrganismWithRwoContext":{const t=r?.sourceDataModelFieldId,e=r?.targetOrganismIds,o=r?.inputParams;if(!Array.isArray(e)||0===e.length)break;const n=(()=>{try{return new URLSearchParams(window.location.search).get("selectedWebpageId")||void 0}catch{return}})(),i=G&&"function"==typeof G.getValues?G.getValues():{},a=Y?.rawItemDataByDmfId||{},s=(()=>{try{const t=new URLSearchParams(window.location.search).get("rwoContext");return t?JSON.parse(atob(t)):{}}catch{return{}}})(),c={};let d,l;if(o&&o.length>0){const t=ct?.data;o.forEach(e=>{let o;if(void 0===o&&void 0!==a[e.sourceFieldId]&&(o=a[e.sourceFieldId]),void 0===o&&void 0!==i[e.sourceFieldId]&&(o=i[e.sourceFieldId]),void 0===o&&t&&void 0!==t[e.sourceFieldId]&&(o=t[e.sourceFieldId]),void 0===o&&ct){const t=g(ct,e.sourceFieldId);void 0!==t&&(o=t)}if(void 0===o&&Z?.stateConfig){const t=g(Z.stateConfig,e.sourceFieldId);void 0!==t&&(o=t)}if(null!=o&&""!==o){const t=b(o);c[e.sourceFieldId]=t,!d&&t&&(d=String(t))}}),d&&(c.rwoRecordId=d)}else if(t){let e;if(!e&&Y?.rawItemDataByDmfId){const o=Y.rawItemDataByDmfId[t];e=C(o)}if(!e&&G&&"function"==typeof G.getValues){const o=g(G.getValues(),t);e=k(o)}if(!e&&ct){const o=ct?.data;if(o&&void 0!==o[t]){const r=o[t];e=C(r)}if(!e){const o=g(ct,t);e=C(o)}}if(!e&&Z?.stateConfig){const o=g(Z.stateConfig,t);e=C(o)}if(!e&&n){const t=s[n]||{};"string"==typeof t.rwoRecordId&&(e=t.rwoRecordId)}e&&(d=e,c.rwoRecordId=String(e),c[String(t)]=String(e))}if(n){const t=s[n]||{},o={...t};d&&!t.rwoRecordId&&(o.rwoRecordId=d),e.forEach(e=>{const r=t[e]||{};o[e]={...r,...c}}),l={...s,[n]:o}}else l={...s},d&&!s.rwoRecordId&&(l.rwoRecordId=d),e.forEach(t=>{const e=s[t]||{};l[t]={...e,...c}});const u={};(Object.keys(c).length>0||void 0!==d)&&(u.rwoContext=btoa(JSON.stringify(l)));const f=window.location.pathname+window.location.search;rt?.({link:f,query:u})}break;case"navigateToPageWithRwoContext":{const t=r?.link,e=!1!==r?.includeRwoRecordId,o=Array.isArray(r?.rwoContextMapping)?r.rwoContextMapping:[];if(!t?.internalLink)break;const n=(t=>{const e=t.match(/webpageId=([^/&#?]+)/);return e?e[1]:void 0})(t.internalLink),i=r?.sourceDataModelFieldId,a=G&&"function"==typeof G.getValues?G.getValues():{};let s=it?.rwoRecordIdFromUrl;if(i){if(!s&&Y?.rawItemDataByDmfId){const t=Y.rawItemDataByDmfId[i];s=C(t)}if(!s){const t=g(a,i);s=k(t)}if(!s&&ct){const t=g(ct,i);s=C(t)}if(!s&&Z?.stateConfig){const t=g(Z.stateConfig,i);s=C(t)}s||(s=String(i))}const c=_(ct?.data),d=_(st),l=_(Y?.itemDataByDmfId),u=_(Y?.rawItemDataByDmfId),f=[Z?.stateConfig,ct,st,a,d,l,u,c].reduce((t,e)=>(e&&"object"==typeof e&&Object.assign(t,e),t),{}),{query:m}=w({selectedWebpageId:n,includeRwoRecordId:e,recordId:s,mapping:o,contextSource:f});rt?.({link:t.internalLink,query:m})}}},[rt,G,st,ct,dt,it]),ht=n(t=>{G?.reset?.()},[G]),yt=n(t=>{G?.reset?.(),"function"==typeof z?z():"function"==typeof Q&&Q(null)},[G,z,Q]),It=n(t=>{const e=t?.add_replicator||{},o=e.targetReplicatorFieldId;let r,n,i,a;if(o&&et){const t=et.getReplicator(o);if(!t)return void console.error(`[add_replicator] Replicator "${o}" not found in registry. Make sure the replicator container is rendered and has the correct replicatorFieldId.`);r=o,n=et.canAdd(o),i=t=>et.append(o,t),a=t.fieldArrayMethods.fields.length}else{if(!tt)return void console.error("[add_replicator] No target replicator available. Either:\n1. Configure targetReplicatorFieldId in the button action, or\n2. Place the button inside a replicator container.");r=tt.replicatorFieldId,n=tt.canAdd,i=tt.fieldArrayMethods.append,a=tt.fieldArrayMethods.fields.length}if(n&&(i({}),!1!==e.scrollToNew)){const t=`[data-replicator-instance="${r}-${a}"]`,e=(o=3)=>{requestAnimationFrame(()=>{setTimeout(()=>{const r=document.querySelector(t);r?r.scrollIntoView({behavior:"smooth",block:"nearest"}):o>0&&e(o-1)},50)})};e()}},[tt,et]),vt=n(t=>{const e=(t?.delete_replicator||{}).targetReplicatorFieldId;let o,r,n,i,a;if(e&&et){const t=et.getReplicator(e);if(!t)return void console.error(`[delete_replicator] Replicator "${e}" not found in registry. Make sure the replicator container is rendered and has the correct replicatorFieldId.`);o=e,r=et.canRemove(e),n=t=>et.remove(e,t),i=t.fieldArrayMethods.fields.length}else{if(!tt)return void console.error("[delete_replicator] No target replicator available. Either:\n1. Configure targetReplicatorFieldId in the button action, or\n2. Place the button inside a replicator container.");o=tt.replicatorFieldId,r=tt.canRemove,n=tt.fieldArrayMethods.remove,i=tt.fieldArrayMethods.fields.length}r&&(a=void 0===Y?.itemIndex||e?i-1:Y.itemIndex,a<0||a>=i?console.error(`[delete_replicator] Invalid index ${a} (length: ${i})`):n(a))},[tt,et,Y]),xt=n(async t=>{if(!ot?.openAIChat)return;if(ot.isAIAvailable&&!ot.isAIAvailable())return;const e=t?.open_ai_chat||t?.openAIChat||{},o=e?.inputParams,r=e?.cortexAgentId,n=G&&"function"==typeof G.getValues?G.getValues():{},i=Y?.rawItemDataByDmfId||{},a={};if(o&&o.length>0)o.forEach(t=>{const e=n[t.sourceFieldId]??i[t.sourceFieldId];null!=e&&(a[t.sourceFieldId]=b(e))});else{const t=e?.cortexRwoContext?.sourceDataModelFieldId;if(t){let e;if(!e&&Y?.rawItemDataByDmfId){const o=Y.rawItemDataByDmfId[t];e=C(o)}if(!e&&G&&"function"==typeof G.getValues){const o=g(G.getValues(),t);e=k(o)}if(!e&&ct){const o=g(ct,t);e=C(o)}if(!e&&Z?.stateConfig){const o=g(Z.stateConfig,t);e=C(o)}e&&(a.rwoRecordId=e,a.sourceDataModelFieldId=t)}}const s=Object.keys(a).length>0?{inputParams:a}:void 0;await ot.openAIChat({cortexAgentId:r,cortexRwoContext:s})},[ot,G,ct,Y,Z]),bt=n((t,e)=>{switch(e){case"navigateToCreateForm":return t.navigateToCreateForm||t.navigate_to_create_form||null;case"navigateToEditForm":return t.navigateToEditForm||t.navigate_to_edit_form||null;case"navigateToPrepopulateForm":return t.navigateToPrepopulateForm||t.navigate_to_prepopulate_form||null;case"navigateToOrganismWithRwoContext":return t.navigateToOrganismWithRwoContext||t.navigate_to_organism_with_rwo_context||null;case"navigateToPageWithRwoContext":return t.navigateToPageWithRwoContext||t.navigate_to_page_with_rwo_context||null;default:return null}},[]),kt=n(async(t,e)=>{E?.(t,e);try{let o;switch(t.type){case"link":await ft(t),o="Link executed";break;case"download":await mt(t),o="Download executed";break;case"submit":o=await gt(t);break;case"open_popup":pt(t),o="Popup opened";break;case"navigate_to_create_form":await wt(t,"navigateToCreateForm"),o="Navigation executed";break;case"navigate_to_edit_form":await wt(t,"navigateToEditForm"),o="Navigation executed";break;case"navigate_to_prepopulate_form":await wt(t,"navigateToPrepopulateForm"),o="Navigation executed";break;case"navigate_to_organism_with_rwo_context":await wt(t,"navigateToOrganismWithRwoContext"),o="Navigation executed";break;case"navigate_to_page_with_rwo_context":await wt(t,"navigateToPageWithRwoContext"),o="Navigation executed";break;case"reset":ht(t),o="Reset executed";break;case"destroy":yt(t),o="Destroy executed";break;case"open_ai_chat":await xt(t),o="AI Chat opened";break;case"add_replicator":It(t),o="Replicator instance added";break;case"delete_replicator":vt(t),o="Replicator instance deleted";break;default:throw new Error(`Unsupported action type: ${t.type}`)}return O?.(t,e,o),o}catch(o){const r=o instanceof Error?o:new Error(String(o));if(L?.(t,e,r),M)throw r;return null}},[E,O,L,M,ft,mt,gt,pt,wt,ht,yt,xt,It,vt]),Ct=n(async()=>{if(0===H.length)return[];B(!0),q(0),$([]),K(null);try{const t=H.some(t=>"submit"===t?.type),e=new Set(["link","navigate_to_create_form","navigate_to_edit_form","navigate_to_prepopulate_form","navigate_to_organism_with_rwo_context","navigate_to_page_with_rwo_context"]),o=t=>"close"===t||"destroy"===t,r=(()=>{if(!t)return H;return[...H.filter(t=>t&&"submit"!==t.type&&!e.has(t.type)&&!o(t.type)),...H.filter(t=>t&&"submit"===t.type),...H.filter(t=>t&&o(t.type)),...H.filter(t=>t&&e.has(t.type))]})(),n=[];for(let i=0;i<r.length;i+=1){q(i);const t=await kt(r[i],i);n.push(t),$([...n])}return T?.(n),n}catch(t){const e=t instanceof Error?t:new Error(String(t));throw K(e),e}finally{B(!1),q(-1)}},[H,kt,T,N,M]),_t=n(t=>{D||(P?P(t):H.length>0&&Ct().catch(()=>{}))},[D,S,P,H,Ct]);return{executeActions:Ct,handleAction:_t,isExecuting:V,currentActionIndex:W,results:U,error:J}};export{R as useButtonAction};
|
|
2
2
|
//# sourceMappingURL=useButtonAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useButtonAction.js","sources":["../../../../../../src/molecules/Button/hooks/useButtonAction.ts"],"sourcesContent":[null],"names":["extractFieldValue","data","obj","id","undefined","value","getValueFromFormContext","extracted","String","getValueFromDisplayStructure","normalizeDmfMap","source","Object","entries","reduce","acc","key","normalized","wrapValueForFormContext","val","useButtonAction","props","options","properties","moleculeId","onClick","disabled","onActionStart","onActionComplete","onActionError","onAllActionsComplete","stopOnError","executeAsync","isExecuting","setIsExecuting","useState","currentActionIndex","setCurrentActionIndex","results","setResults","error","setError","actions","useMemo","actionContainer","action","nestedAction","actionConfig","Array","isArray","setActivePopup","clearActivePopup","usePopupContext","form","useFormContext","organismCtx","useOrganismContext","containerRuntime","useContainerRuntime","stateCtx","useStateContext","replicatorFormContext","useReplicatorForm","replicatorRegistry","useReplicatorRegistry","webpageCtx","useContext","WebpageContext","onInternalNavigation","formId","organismFormId","routing","submitHandler","pageSubmitHandler","localState","localStateObject","organismInfo","prefillData","submitForm","useSubmitForm","executeLinkAction","useCallback","async","link","Error","checkIsDataDrivenLink","combinedData","rawItemDataByDmfId","assign","getValues","formValues","keys","forEach","localStateData","stateConfig","resolved","resolveDataDrivenLink","isExternal","navigateToExternalLink","destination","query","recordId","rwoContextData","rwoRecordId","rwoContext","encodeObjectToBase64Url","webpageAlias","checkIsInternalLink","targetFormId","organismId","rwoKey","rwo","internalLink","externalLink","executeDownloadAction","download","downloadFile","url","name","executePopupAction","openPopup","open_popup","popupId","executeSubmitAction","handleSubmit","currentFormId","toString","submitResult","rwoRecordIdFromUrl","params","URLSearchParams","window","location","search","rwoContextParam","get","selectedWebpageId","webpageContext","JSON","parse","atob","organismContext","values","payload","result","err","errorLink","submit","onError","handler","stateHandler","interacted","successLink","onSuccess","reset","_invalid","executeNavigationAction","navigationType","config","getNavigationConfig","editCurrentWebpageId","editLinkObj","editLink","extractEditWebpageId","match","editTargetWebpageId","isEditSamePageNavigation","editInputParams","inputParams","editFormValues","editContainerData","editLocalStateData","editContextValues","editPrimaryRecordId","length","param","sourceFieldId","raw","getByPath","extractedValue","pageRwoId","editFormQuery","existingEditRwoContext","editContextWebpageId","editRwoContext","existingWebpageContext","btoa","stringify","currentPath","pathname","baseInternalLink","fieldMap","prepopCurrentWebpageId","targetWebpageId","extractWebpageIdFromLink","isSamePageNavigation","prepopContainerData","prepopNestedPathSegments","nestedPathSegments","prepopLocalStateData","objData","some","v","prepopFormValues","console","log","containerDataKeys","localStateDataKeys","hasLocalState","hasLocalStateObject","fieldParentMap","Map","m","sourceParent","set","mappingGroups","groups","mapping","destinationParent","has","mappings","push","from","groupMappingsByParent","prepopPrefill","resolveValue","destinationsWithInnerMappings","Set","filter","g","add","group","rawValue","sourceArray","sourceArrayLength","innerMappings","map","destArray","srcItem","idx","destItem","srcObj","availableKeys","buildDestinationValue","fieldId","parentFieldId","containerData","hasContainerData","hasLocalStateData","parentSegmentIndex","findIndex","seg","dmfId","parentPath","slice","parentData","getDataByPath","parentArray","currentNestedDmfId","currentIndex","index","parentItem","parentObj","nestedArray","nestedItem","i","ancestorPath","ancestorData","resolveFieldFromDataLayer","existingPrepopRwoContext","prepopQuery","contextWebpageId","prepopRwoContext","existingOrganismContext","state","prefill","composed","encodeURIComponent","sourceDataModelFieldId","targetOrganismIds","currentSelectedWebpageId","existingRwoContext","organismContextValues","primaryRecordId","newRwoContext","fieldValue","existingWebpageCtx","orgId","existingOrgContext","navigationLink","linkObj","includeRwoRecordId","rwoContextMapping","normalizedLocalStateData","normalizedLocalState","normalizedContainerResolvedData","itemDataByDmfId","normalizedContainerRawData","contextSource","layer","composeRwoParamsV2","executeResetAction","executeDestroyAction","executeAddReplicatorAction","addConfig","add_replicator","targetReplicatorFieldId","targetReplicatorId","canAdd","appendFn","currentLength","entry","getReplicator","append","fieldArrayMethods","fields","replicatorFieldId","scrollToNew","selector","scrollToElement","retries","requestAnimationFrame","setTimeout","element","document","querySelector","scrollIntoView","behavior","block","executeDeleteReplicatorAction","delete_replicator","canRemove","removeFn","indexToRemove","remove","itemIndex","executeOpenAIChatAction","openAIChat","isAIAvailable","openAIChatConfig","open_ai_chat","cortexAgentIdOverride","cortexAgentId","chatParams","cortexRwoContext","resolvedRwoRecordId","type","navigateToCreateForm","navigate_to_create_form","navigateToEditForm","navigate_to_edit_form","navigateToPrepopulateForm","navigate_to_prepopulate_form","navigateToOrganismWithRwoContext","navigate_to_organism_with_rwo_context","navigateToPageWithRwoContext","navigate_to_page_with_rwo_context","executeSingleAction","executeActions","containsSubmit","a","navigationTypes","isCloser","t","orderedActions","executionResults","handleAction","event","catch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useButtonAction.js","sources":["../../../../../../src/molecules/Button/hooks/useButtonAction.ts"],"sourcesContent":[null],"names":["extractFieldValue","data","obj","id","undefined","value","getValueFromFormContext","extracted","String","getValueFromDisplayStructure","normalizeDmfMap","source","Object","entries","reduce","acc","key","normalized","wrapValueForFormContext","val","useButtonAction","props","options","properties","moleculeId","onClick","disabled","onActionStart","onActionComplete","onActionError","onAllActionsComplete","stopOnError","executeAsync","isExecuting","setIsExecuting","useState","currentActionIndex","setCurrentActionIndex","results","setResults","error","setError","actions","useMemo","actionContainer","action","nestedAction","actionConfig","Array","isArray","setActivePopup","clearActivePopup","usePopupContext","form","useFormContext","organismCtx","useOrganismContext","containerRuntime","useContainerRuntime","stateCtx","useStateContext","replicatorFormContext","useReplicatorForm","replicatorRegistry","useReplicatorRegistry","webpageCtx","useContext","WebpageContext","onInternalNavigation","formId","organismFormId","routing","submitHandler","pageSubmitHandler","localState","localStateObject","organismInfo","prefillData","submitForm","useSubmitForm","executeLinkAction","useCallback","async","link","Error","checkIsDataDrivenLink","combinedData","rawItemDataByDmfId","assign","getValues","formValues","keys","forEach","localStateData","stateConfig","resolved","resolveDataDrivenLink","isExternal","navigateToExternalLink","destination","query","recordId","rwoContextData","rwoRecordId","rwoContext","encodeObjectToBase64Url","webpageAlias","checkIsInternalLink","targetFormId","organismId","rwoKey","rwo","internalLink","externalLink","executeDownloadAction","download","downloadFile","url","name","executePopupAction","openPopup","open_popup","popupId","executeSubmitAction","handleSubmit","currentFormId","toString","submitResult","rwoRecordIdFromUrl","params","URLSearchParams","window","location","search","rwoContextParam","get","selectedWebpageId","webpageContext","JSON","parse","atob","organismContext","values","payload","result","err","errorLink","submit","onError","handler","stateHandler","interacted","successLink","onSuccess","reset","_invalid","executeNavigationAction","navigationType","config","getNavigationConfig","editCurrentWebpageId","editLinkObj","editLink","extractEditWebpageId","match","editTargetWebpageId","isEditSamePageNavigation","editInputParams","inputParams","editFormValues","editContainerData","editLocalStateData","editContextValues","editPrimaryRecordId","length","param","sourceFieldId","raw","getByPath","extractedValue","pageRwoId","editFormQuery","existingEditRwoContext","editContextWebpageId","editRwoContext","existingWebpageContext","btoa","stringify","currentPath","pathname","baseInternalLink","fieldMap","prepopCurrentWebpageId","targetWebpageId","extractWebpageIdFromLink","isSamePageNavigation","prepopContainerData","prepopNestedPathSegments","nestedPathSegments","prepopLocalStateData","objData","some","v","prepopFormValues","fieldParentMap","Map","m","sourceParent","set","mappingGroups","groups","mapping","destinationParent","has","mappings","push","from","groupMappingsByParent","prepopPrefill","resolveValue","destinationsWithInnerMappings","Set","filter","g","add","group","rawValue","sourceArray","destArray","map","srcItem","destItem","srcObj","buildDestinationValue","fieldId","parentFieldId","containerData","parentSegmentIndex","findIndex","seg","dmfId","parentPath","slice","parentData","getDataByPath","parentArray","currentNestedDmfId","currentIndex","index","parentItem","parentObj","nestedArray","nestedItem","i","ancestorPath","ancestorData","resolveFieldFromDataLayer","existingPrepopRwoContext","prepopQuery","contextWebpageId","prepopRwoContext","existingOrganismContext","state","prefill","composed","encodeURIComponent","sourceDataModelFieldId","targetOrganismIds","currentSelectedWebpageId","existingRwoContext","organismContextValues","primaryRecordId","newRwoContext","fieldValue","existingWebpageCtx","orgId","existingOrgContext","navigationLink","linkObj","includeRwoRecordId","rwoContextMapping","normalizedLocalStateData","normalizedLocalState","normalizedContainerResolvedData","itemDataByDmfId","normalizedContainerRawData","contextSource","layer","composeRwoParamsV2","executeResetAction","executeDestroyAction","executeAddReplicatorAction","addConfig","add_replicator","targetReplicatorFieldId","targetReplicatorId","canAdd","appendFn","currentLength","entry","getReplicator","console","append","fieldArrayMethods","fields","replicatorFieldId","scrollToNew","selector","scrollToElement","retries","requestAnimationFrame","setTimeout","element","document","querySelector","scrollIntoView","behavior","block","executeDeleteReplicatorAction","delete_replicator","canRemove","removeFn","indexToRemove","remove","itemIndex","executeOpenAIChatAction","openAIChat","isAIAvailable","openAIChatConfig","open_ai_chat","cortexAgentIdOverride","cortexAgentId","chatParams","cortexRwoContext","resolvedRwoRecordId","type","navigateToCreateForm","navigate_to_create_form","navigateToEditForm","navigate_to_edit_form","navigateToPrepopulateForm","navigate_to_prepopulate_form","navigateToOrganismWithRwoContext","navigate_to_organism_with_rwo_context","navigateToPageWithRwoContext","navigate_to_page_with_rwo_context","executeSingleAction","executeActions","containsSubmit","a","navigationTypes","isCloser","t","orderedActions","executionResults","handleAction","event","catch"],"mappings":"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"}
|