{"version":3,"file":"useActions.mjs","names":["useContext","useCallback","ActionDispatchContext","ActionContext","apiMutate","useSnackbar","useTranslation","useHandleAction","ActionLoadingDispatchContext","useCatalogStore","useShellStore","NodeActionEnums","ConfigService","useActions","$","_c","dispatch","dispatchActionLoading","actionState","useActionState","currentApiCatalogId","currentContainerId","_temp","enqueueSnackbar","t","handleAction","t0","loading","type","setActionLoading","executeGetAction","_temp2","executeAction","_temp3","t1","actionPanels","containerId","setActionPanels","t2","act","actionPanels_0","containerId_0","Array","isArray","actionPanel","panelActions","foundPanel","find","ap","pa","actionId","console","error","getActionPanelByAction","t3","actionId_1","actionData","resp","panel","data","entityName","parameters","setCurrentEntityName","catalogObjectRes","integrationV2ApiUrl","method","eAttributes","properties","length","actionTypeId","Start_Workflow","variant","anchorOrigin","vertical","horizontal","warn","setupAndExecuteAction","t4","actionId_2","actionData_0","executeTriggerAction","t5","actionId_3","actionData_1","triggerAction","t6","actionIds","forEach","id_0","id","triggerMultipleActions","t7","catalogEntities","setCatalogEntities","t8","catalogPromotedEntities","setCatalogPromotedEntities","t9","inquiryParams","containerId_1","setInquiryParams","t10","showInquiryHeaderActions","setShowInquiryHeaderActions","t11","menuListState","setMenuListState","t12","closeAllSplitScreens","t13","splitScreen","openSplitScreen","t14","pageSplitScreen","openPageSplitScreen","t15","pageContainerSplitScreen","openPageContainerSplitScreen","t16","state","actionId_0","integrationV1ApiUrl"],"sources":["../../src/hooks/useActions.js"],"sourcesContent":["import { useContext, useCallback } from 'react';\nimport { ActionDispatchContext } from '../contexts/ActionDispatchContext';\nimport { ActionContext } from '../contexts/ActionContext';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useHandleAction } from '../actions/utils/actionUtils';\nimport { ActionLoadingDispatchContext } from '../contexts/ActionLoadingDispatchContext';\nimport { useCatalogStore } from '../stores/catalogStore';\nimport { useShellStore } from '../stores/shellStore';\nimport { NodeActionEnums } from '../enums/unitySystemEnums';\nimport { ConfigService } from '../configService';\n\nexport const useActions = () => {\n  const dispatch = useContext(ActionDispatchContext);\n  const dispatchActionLoading = useContext(ActionLoadingDispatchContext);\n  const actionState = useActionState();\n  const { currentApiCatalogId } = useCatalogStore();\n  const currentContainerId = useShellStore((state) => state.currentContainerId);\n  const { enqueueSnackbar } = useSnackbar();\n  const { t } = useTranslation();\n  const { handleAction } = useHandleAction();\n\n  const setActionLoading = useCallback(\n    (loading) => {\n      dispatchActionLoading({\n        type: 'SET_ACTION_LOADING',\n        loading\n      });\n    },\n    [dispatchActionLoading]\n  );\n\n  const setActionWaitingToExecute = useCallback(\n    (actionId) => {\n      dispatchActionLoading({\n        type: 'SET_ACTION_WAITING_TO_EXECUTE',\n        actionId\n      });\n    },\n    [dispatchActionLoading]\n  );\n\n  const executeGetAction = useCallback(\n    async (actionId) =>\n      apiMutate(\n        ConfigService.integrationV1ApiUrl,\n        `action/${actionId}`,\n        {\n          method: 'get'\n        },\n        {}\n      ),\n    []\n  );\n\n  const executeAction = useCallback(\n    async (data, id) =>\n      apiMutate(\n        ConfigService.integrationV1ApiUrl,\n        `apimethod/executeQueryWithParameters/${id}`,\n        {\n          method: 'post'\n        },\n        data\n      ),\n    []\n  );\n\n  const setActionPanels = useCallback(\n    (actionPanels, containerId) => {\n      dispatch({ type: 'SET_ACTION_PANELS', actionPanels, containerId });\n    },\n    [dispatch]\n  );\n\n  const getActionPanelByAction = useCallback(\n    (act) => {\n      if (act && actionState) {\n        const actionPanels = actionState.actionPanels;\n        const containerId = currentContainerId || 0;\n\n        if (actionPanels && Array.isArray(actionPanels) && actionPanels[containerId]) {\n          const actionPanel = actionPanels[containerId];\n\n          if (Array.isArray(actionPanel.panelActions)) {\n            const foundPanel = actionPanel.find((ap) => {\n              return ap.panelActions.find((pa) => {\n                return pa.actionId === act.actionId;\n              });\n            });\n\n            return foundPanel;\n          } else {\n            console.error('panelActions is not an array:', actionPanel.panelActions);\n          }\n        } else {\n          console.error('actionPanels is not valid:', actionPanels);\n        }\n      } else {\n        console.error('act or actionState is not defined:', act, actionState);\n      }\n\n      return null;\n    },\n    [actionState, currentContainerId]\n  );\n\n  const setupAndExecuteAction = useCallback(\n    async (actionId, actionData) => {\n      const resp = await executeGetAction(actionId);\n      const panel = getActionPanelByAction(resp.data);\n      let entityName = panel?.entityName;\n\n      if (!panel) {\n        entityName = resp?.data?.parameters?.entityName;\n      }\n\n      if (entityName) {\n        if (actionState?.setCurrentEntityName) {\n          actionState.setCurrentEntityName(entityName);\n        }\n\n        const catalogObjectRes = await apiMutate(\n          ConfigService.integrationV2ApiUrl,\n          `apiCatalog/${currentApiCatalogId}/catalogObject/${entityName}`,\n          { method: 'get' }\n        );\n        const eAttributes = catalogObjectRes?.data?.properties ?? [];\n\n        if (\n          !eAttributes?.length &&\n          resp.data.actionTypeId !== NodeActionEnums.Start_Workflow\n        ) {\n          enqueueSnackbar(t(`Unable to retrieve entity attributes.`), {\n            variant: 'error',\n            anchorOrigin: {\n              vertical: 'top',\n              horizontal: 'center'\n            }\n          });\n        } else {\n          handleAction(\n            dispatch,\n            resp.data,\n            actionState,\n            executeAction,\n            currentApiCatalogId,\n            eAttributes,\n            actionData,\n            currentContainerId\n          );\n        }\n      } else {\n        console.warn('Entity name does not exist');\n        // global actions will not necessarily have an entity name\n        handleAction(\n          dispatch,\n          resp.data,\n          actionState,\n          executeAction,\n          currentApiCatalogId,\n          {},\n          actionData,\n          currentContainerId\n        );\n      }\n    },\n    [\n      actionState,\n      enqueueSnackbar,\n      executeAction,\n      executeGetAction,\n      getActionPanelByAction,\n      handleAction,\n      t,\n      dispatch,\n      currentContainerId,\n      currentApiCatalogId\n    ]\n  );\n\n  const executeTriggerAction = useCallback(\n    async (actionId, actionData) => {\n      setupAndExecuteAction(\n        actionId,\n        actionData\n      );\n    },\n    [\n      setupAndExecuteAction,\n    ]\n  );\n\n  const triggerAction = useCallback(\n    (actionId, actionData) => {\n      executeTriggerAction(actionId, actionData);\n    },\n    [executeTriggerAction]\n  );\n\n  const triggerMultipleActions = useCallback(\n    (actionIds) => {\n      actionIds.forEach((id) => {\n        executeTriggerAction(id);\n      });\n    },\n    [executeTriggerAction]\n  );\n\n  const setCatalogEntities = useCallback(\n    (catalogEntities) => {\n      dispatch({ type: 'SET_CATALOG_ENTITIES', catalogEntities });\n    },\n    [dispatch]\n  );\n\n  const setCatalogPromotedEntities = useCallback(\n    (catalogPromotedEntities) => {\n      dispatch({\n        type: 'SET_CATALOG_PROMOTED_ENTITIES',\n        catalogPromotedEntities\n      });\n    },\n    [dispatch]\n  );\n\n  const setInquiryParams = useCallback(\n    (inquiryParams, containerId) => {\n      dispatch({\n        type: 'SET_INQUIRY_PARAMS',\n        inquiryParams,\n        containerId\n      });\n    },\n    [dispatch]\n  );\n\n  const setShowInquiryHeaderActions = useCallback(\n    (showInquiryHeaderActions) => {\n      dispatch({\n        type: 'SET_SHOW_INQUIRY_HEADER_ACTIONS',\n        showInquiryHeaderActions\n      });\n    },\n    [dispatch]\n  );\n\n  const setMenuListState = useCallback(\n    (menuListState) => {\n      dispatch({\n        type: 'SET_MENU_LIST_STATE',\n        menuListState\n      });\n    },\n    [dispatch]\n  );\n\n  const closeAllSplitScreens = useCallback(() => {\n    dispatch({\n      type: 'CLOSE_ALL_SPLIT_SCREENS'\n    });\n  }, [dispatch]);\n\n  const openSplitScreen = useCallback(\n    (splitScreen) => {\n      dispatch({\n        type: 'OPEN_SPLIT_SCREEN',\n        splitScreen\n      });\n    },\n    [dispatch]\n  );\n\n  const openPageSplitScreen = useCallback(\n    (pageSplitScreen) => {\n      dispatch({\n        type: 'OPEN_PAGE_SPLIT_SCREEN',\n        pageSplitScreen\n      });\n    },\n    [dispatch]\n  );\n\n  const openPageContainerSplitScreen = useCallback(\n    (pageContainerSplitScreen) => {\n      dispatch({\n        type: 'OPEN_PAGE_CONTAINER_SPLIT_SCREEN',\n        pageContainerSplitScreen\n      });\n    },\n    [dispatch]\n  );\n\n  return {\n    setActionPanels,\n    triggerAction,\n    triggerMultipleActions,\n    setCatalogEntities,\n    setCatalogPromotedEntities,\n    setInquiryParams,\n    setShowInquiryHeaderActions,\n    setMenuListState,\n    closeAllSplitScreens,\n    openSplitScreen,\n    openPageSplitScreen,\n    openPageContainerSplitScreen,\n    setActionLoading\n  };\n};\n\nexport const useActionState = () => useContext(ActionContext);\n"],"mappings":";;;;;;;;;;;;;;AAaA,MAAaa,mBAAa;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACxB,MAAAC,WAAiBhB,WAAWE,sBAAsB;CAClD,MAAAe,wBAA8BjB,WAAWQ,6BAA6B;CACtE,MAAAU,cAAoBC,gBAAgB;CACpC,MAAA,EAAAC,wBAAgCX,iBAAiB;CACjD,MAAAY,qBAA2BX,cAAcY,MAAoC;CAC7E,MAAA,EAAAC,oBAA4BlB,aAAa;CACzC,MAAA,EAAAmB,MAAclB,gBAAgB;CAC9B,MAAA,EAAAmB,iBAAyBlB,iBAAiB;CAAC,IAAAmB;AAAA,KAAAZ,EAAA,OAAAG,uBAAA;AAGzCS,QAAAC,YAAA;AACEV,yBAAsB;IAAAW,MACd;IAAoBD;IAE3B,CAAC;;AACHb,IAAA,KAAAG;AAAAH,IAAA,KAAAY;OAAAA,MAAAZ,EAAA;CANH,MAAAe,mBAAyBH;CAoBzB,MAAAI,mBAAyBC;CAazB,MAAAC,gBAAsBC;CAWpB,IAAAC;AAAA,KAAApB,EAAA,OAAAE,UAAA;AAGAkB,QAAAC,cAAAC,gBAAA;AACEpB,YAAS;IAAAY,MAAQ;IAAmBO;IAAAC;IAA6B,CAAC;;AACnEtB,IAAA,KAAAE;AAAAF,IAAA,KAAAoB;OAAAA,MAAApB,EAAA;CAHH,MAAAuB,kBAAwBH;CAKtB,IAAAI;AAAA,KAAAxB,EAAA,OAAAI,eAAAJ,EAAA,OAAAO,oBAAA;AAGAiB,QAAAC,QAAA;AACE,OAAIA,OAAArB,aAAkB;IACpB,MAAAsB,iBAAqBtB,YAAWiB;IAChC,MAAAM,gBAAoBpB,sBAAA;AAEpB,QAAImB,kBAAgBE,MAAKC,QAASR,eAA0C,IAAzBA,eAAaC,gBAAY;KAC1E,MAAAQ,cAAoBT,eAAaC;AAEjC,SAAIM,MAAKC,QAASC,YAAWC,aAAc,CAKtC,QAJgBD,YAAWG,MAAMC,OAC3BA,GAAEH,aAAaE,MAAME,OACnBA,GAAEC,aAAcX,IAAGW,SAE7B,CAAC;SAIFC,SAAOC,MAAO,iCAAiCR,YAAWC,aAAc;UAG1EM,SAAOC,MAAO,8BAA8BjB,eAAa;SAG3DgB,SAAOC,MAAO,sCAAsCb,KAAKrB,YAAY;AACtE,UAEM;;AACRJ,IAAA,KAAAI;AAAAJ,IAAA,KAAAO;AAAAP,IAAA,KAAAwB;OAAAA,MAAAxB,EAAA;CA5BH,MAAAuC,yBAA+Bf;CA8B7B,IAAAgB;AAAA,KAAAxC,EAAA,OAAAI,eAAAJ,EAAA,OAAAM,uBAAAN,EAAA,OAAAO,sBAAAP,EAAA,QAAAE,YAAAF,EAAA,QAAAS,mBAAAT,EAAA,QAAAuC,0BAAAvC,EAAA,QAAAW,gBAAAX,EAAA,QAAAU,GAAA;AAGA8B,OAAA,OAAAC,YAAAC,eAAA;GACE,MAAAC,OAAa,MAAM3B,iBAAiBoB,WAAS;GAC7C,MAAAQ,QAAcL,uBAAuBI,KAAIE,KAAM;GAC/C,IAAAC,aAAiBF,OAAKE;AAEtB,OAAI,CAACF,MACHE,cAAaH,MAAIE,MAAkBE,YAAYD;AAGjD,OAAIA,YAAU;AACZ,QAAI1C,aAAW4C,qBACb5C,aAAW4C,qBAAsBF,WAAW;IAQ9C,MAAAM,eALyB,MAAM9D,UAC7BQ,cAAaoD,qBACb,cAAc5C,oBAAmB,iBAAkBwC,cACnD,EAAAK,QAAU,OACZ,CAAC,GACmCN,MAAkBQ,cAAlC,EAAwC;AAE5D,QACE,CAACD,aAAWE,UACZX,KAAIE,KAAKU,iBAAkB1D,gBAAe2D,eAE1C/C,iBAAgBC,EAAE,wCAAwC,EAAE;KAAA+C,SACjD;KAAOC,cACF;MAAAC,UACF;MAAKC,YACH;MACd;KACD,CAAC;QAEFjD,cACET,UACAyC,KAAIE,MACJzC,aACAc,eACAZ,qBACA8C,aACAV,YACAnC,mBACD;UACF;AAED8B,YAAOwB,KAAM,6BAA6B;AAE1ClD,iBACET,UACAyC,KAAIE,MACJzC,aACAc,eACAZ,qBACA,EAAE,EACFoC,YACAnC,mBACD;;;AAEJP,IAAA,KAAAI;AAAAJ,IAAA,KAAAM;AAAAN,IAAA,KAAAO;AAAAP,IAAA,MAAAE;AAAAF,IAAA,MAAAS;AAAAT,IAAA,MAAAuC;AAAAvC,IAAA,MAAAW;AAAAX,IAAA,MAAAU;AAAAV,IAAA,MAAAwC;OAAAA,MAAAxC,EAAA;CA3DH,MAAA8D,wBAA8BtB;CAwE5B,IAAAuB;AAAA,KAAA/D,EAAA,QAAA8D,uBAAA;AAGAC,OAAA,OAAAC,YAAAC,iBAAA;AACEH,yBACE1B,YACAM,aACD;;AACF1C,IAAA,MAAA8D;AAAA9D,IAAA,MAAA+D;OAAAA,MAAA/D,EAAA;CANH,MAAAkE,uBAA6BH;CAU3B,IAAAI;AAAA,KAAAnE,EAAA,QAAAkE,sBAAA;AAGAC,QAAAC,YAAAC,iBAAA;AACEH,wBAAqB9B,YAAUM,aAAW;;AAC3C1C,IAAA,MAAAkE;AAAAlE,IAAA,MAAAmE;OAAAA,MAAAnE,EAAA;CAHH,MAAAsE,gBAAsBH;CAKpB,IAAAI;AAAA,KAAAvE,EAAA,QAAAkE,sBAAA;AAGAK,QAAAC,cAAA;AACEA,aAASC,SAASC,SAAA;AAChBR,yBAAqBS,KAAG;KACxB;;AACH3E,IAAA,MAAAkE;AAAAlE,IAAA,MAAAuE;OAAAA,MAAAvE,EAAA;CALH,MAAA4E,yBAA+BL;CAO7B,IAAAM;AAAA,KAAA7E,EAAA,QAAAE,UAAA;AAGA2E,QAAAC,oBAAA;AACE5E,YAAS;IAAAY,MAAQ;IAAsBgE;IAAmB,CAAC;;AAC5D9E,IAAA,MAAAE;AAAAF,IAAA,MAAA6E;OAAAA,MAAA7E,EAAA;CAHH,MAAA+E,qBAA2BF;CAKzB,IAAAG;AAAA,KAAAhF,EAAA,QAAAE,UAAA;AAGA8E,QAAAC,4BAAA;AACE/E,YAAS;IAAAY,MACD;IAA+BmE;IAEtC,CAAC;;AACHjF,IAAA,MAAAE;AAAAF,IAAA,MAAAgF;OAAAA,MAAAhF,EAAA;CANH,MAAAkF,6BAAmCF;CAQjC,IAAAG;AAAA,KAAAnF,EAAA,QAAAE,UAAA;AAGAiF,QAAAC,eAAAC,kBAAA;AACEnF,YAAS;IAAAY,MACD;IAAoBsE;IAAA9D,aAE1BA;IACD,CAAC;;AACHtB,IAAA,MAAAE;AAAAF,IAAA,MAAAmF;OAAAA,MAAAnF,EAAA;CAPH,MAAAsF,mBAAyBH;CASvB,IAAAI;AAAA,KAAAvF,EAAA,QAAAE,UAAA;AAGAqF,SAAAC,6BAAA;AACEtF,YAAS;IAAAY,MACD;IAAiC0E;IAExC,CAAC;;AACHxF,IAAA,MAAAE;AAAAF,IAAA,MAAAuF;OAAAA,OAAAvF,EAAA;CANH,MAAAyF,8BAAoCF;CAQlC,IAAAG;AAAA,KAAA1F,EAAA,QAAAE,UAAA;AAGAwF,SAAAC,kBAAA;AACEzF,YAAS;IAAAY,MACD;IAAqB6E;IAE5B,CAAC;;AACH3F,IAAA,MAAAE;AAAAF,IAAA,MAAA0F;OAAAA,OAAA1F,EAAA;CANH,MAAA4F,mBAAyBF;CAQvB,IAAAG;AAAA,KAAA7F,EAAA,QAAAE,UAAA;AAEuC2F,cAAA;AACvC3F,YAAS,EAAAY,MACD,2BACP,CAAC;;AACHd,IAAA,MAAAE;AAAAF,IAAA,MAAA6F;OAAAA,OAAA7F,EAAA;CAJD,MAAA8F,uBAA6BD;CAId,IAAAE;AAAA,KAAA/F,EAAA,QAAAE,UAAA;AAGb6F,SAAAC,gBAAA;AACE9F,YAAS;IAAAY,MACD;IAAmBkF;IAE1B,CAAC;;AACHhG,IAAA,MAAAE;AAAAF,IAAA,MAAA+F;OAAAA,OAAA/F,EAAA;CANH,MAAAiG,kBAAwBF;CAQtB,IAAAG;AAAA,KAAAlG,EAAA,QAAAE,UAAA;AAGAgG,SAAAC,oBAAA;AACEjG,YAAS;IAAAY,MACD;IAAwBqF;IAE/B,CAAC;;AACHnG,IAAA,MAAAE;AAAAF,IAAA,MAAAkG;OAAAA,OAAAlG,EAAA;CANH,MAAAoG,sBAA4BF;CAQ1B,IAAAG;AAAA,KAAArG,EAAA,QAAAE,UAAA;AAGAmG,SAAAC,6BAAA;AACEpG,YAAS;IAAAY,MACD;IAAkCwF;IAEzC,CAAC;;AACHtG,IAAA,MAAAE;AAAAF,IAAA,MAAAqG;OAAAA,OAAArG,EAAA;CANH,MAAAuG,+BAAqCF;CAQnC,IAAAG;AAAA,KAAAxG,EAAA,QAAA8F,wBAAA9F,EAAA,QAAAuG,gCAAAvG,EAAA,QAAAoG,uBAAApG,EAAA,QAAAiG,mBAAAjG,EAAA,QAAAe,oBAAAf,EAAA,QAAAuB,mBAAAvB,EAAA,QAAA+E,sBAAA/E,EAAA,QAAAkF,8BAAAlF,EAAA,QAAAsF,oBAAAtF,EAAA,QAAA4F,oBAAA5F,EAAA,QAAAyF,+BAAAzF,EAAA,QAAAsE,iBAAAtE,EAAA,QAAA4E,wBAAA;AAEK4B,QAAA;GAAAjF;GAAA+C;GAAAM;GAAAG;GAAAG;GAAAI;GAAAG;GAAAG;GAAAE;GAAAG;GAAAG;GAAAG;GAAAxF;GAcN;AAAAf,IAAA,MAAA8F;AAAA9F,IAAA,MAAAuG;AAAAvG,IAAA,MAAAoG;AAAApG,IAAA,MAAAiG;AAAAjG,IAAA,MAAAe;AAAAf,IAAA,MAAAuB;AAAAvB,IAAA,MAAA+E;AAAA/E,IAAA,MAAAkF;AAAAlF,IAAA,MAAAsF;AAAAtF,IAAA,MAAA4F;AAAA5F,IAAA,MAAAyF;AAAAzF,IAAA,MAAAsE;AAAAtE,IAAA,MAAA4E;AAAA5E,IAAA,MAAAwG;OAAAA,OAAAxG,EAAA;AAAA,QAdMwG;;AAiBT,MAAanG,uBAAiB;AAAA,QAAMnB,WAAWG,cAAc;;AA1SnC,SAAAmB,MAAAiG,OAAA;AAAA,QAK4BA,MAAKlG;;AALjC,eAAAU,OAAAyF,YAAA;AAAA,QAgCpBpH,UACEQ,cAAa6G,qBACb,UAAUvE,cACV,EAAAe,QACU,OACT,EACD,EACF,CAAC;;AAvCmB,eAAAhC,OAAA0B,MAAA8B,IAAA;AAAA,QA6CpBrF,UACEQ,cAAa6G,qBACb,wCAAwChC,MACxC,EAAAxB,QACU,QACT,EACDN,KACD"}