{"version":3,"file":"UdpTransactionsPage.mjs","names":["UdpTransactionGrid","UdpTransactionCalendar","React","useState","useCallback","useEffect","useMemo","UdpTransactionSidesheet","useTransactionType","useTransactionEngine","CircularProgress","useUdpGridFilterModel","useCatalogStore","useLocation","Typography","useAxiosGet","ConfigService","UdpTransactionsPage","props","$","_c","transactionTypeId","t0","domainName","t1","domainFieldType","domainFieldValue","searchMethodObject","domainColumnFormatters","gridOptions","onBeforeRefresh","onAfterRefresh","gridTitle","hideCreateTransaction","t2","sideSheetProps","columnDefProperties","columnDefinitions","paginationAutoPageSize","customActions","gridApiCallback","loading","t3","addTransactionSidesheetWidth","viewTransactionSidesheetWidth","editTransactionSidesheetWidth","attachmentTransactionSidesheetWidth","workflowActionTransactionSidesheetWidth","createRevisionSidesheetWidth","undefined","initialDomainName","t4","Symbol","for","workflowAction","addTransaction","editTransaction","viewTransaction","attachmentTransaction","createRevision","sidesheetState","setSidesheetState","selectedTransaction","setSelectedTransaction","gridApi","setGridApi","calendarRefresh","setCalendarRefresh","showCalendarView","setShowCalendarView","location","state","searchParamStr","search","t5","searchParams","URLSearchParams","params","udpTransactionTypeId","has","get","initialTransactionTypeId","t6","t7","data","transactionType","transactionTypeLoading","currentApiCatalogId","_temp","filterModel","t8","actionType","openStatus","transaction","t9","width","prev","prev_0","prev_1","prev_2","prev_3","prev_4","handleSidesheet","handleAttachmentTransaction","_temp2","api","handleGridApiCallback","t10","refreshFn","handleCalendarApiCallback","t11","bb0","t12","splitDomainNameArr","split","pop","bb1","config","pageConfiguration","calendarViewConfiguration","t13","isDefaultView","t14","defaultCalendarViewType","domainEndDateProperty","domainPropertyToDisplay","domainStartDateProperty","enabled","calendarViewEnabled","t15","t16","t17","integrationV2ApiUrl","catalogObject","catalogObjectLoading","t18","refreshServerSide","refreshGridData","t19","openAddTransaction","t20","transaction_0","openViewTransaction","t21","transaction_1","openEditTransaction","t22","transaction_2","openAttachmentTransaction","t23","transaction_3","openWorkflowActionTransaction","t24","transaction_4","openCreateRevision","t25","t26","t27","t28","state_0"],"sources":["../../../../src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.jsx"],"sourcesContent":["import UdpTransactionGrid from './UdpTransactionGrid';\nimport UdpTransactionCalendar from './UdpTransactionCalendar';\nimport React, { useState, useCallback, useEffect, useMemo } from 'react';\nimport UdpTransactionSidesheet from './UdpTransactionSidesheet';\nimport { useTransactionType } from '../../../hooks/useTransactionType';\nimport { useTransactionEngine } from '../../../utilities/transactions/useTransactionEngine';\nimport { CircularProgress } from '@material-ui/core';\nimport './UdpTransactionsPage.css';\nimport { useUdpGridFilterModel } from '../../../hooks/useUdpGridFilterModel';\nimport { useCatalogStore } from '../../../stores';\nimport { useLocation } from 'react-router-dom';\nimport { Typography } from '../../../UI/dataDisplay/typography';\nimport { useAxiosGet } from '../../../utilities';\nimport { ConfigService } from '../../../configService';\n\n// const domainColumnFormattersExample = {\n//   submittedBy: {\n//     formatter: (params) => {\n//       return params?.data\n//         ? params?.data?.entityBusinessObject['submittedBy']\n//         : '';\n//     }\n//   },\n//   submittedTo: {\n//     formatter: (params) => {\n//       return params?.data\n//         ? params?.data?.entityBusinessObject['submittedTo']\n//         : '';\n//     }\n//   },\n//   test: {\n//     formatter: (params) => {\n//       return 'test';\n//     }\n//   }\n// };\n\nconst UdpTransactionsPage = (props) => {\n  const {\n    transactionTypeId = '',\n    domainName: initialDomainName = '',\n    domainFieldType,\n    domainFieldValue,\n    searchMethodObject,\n    domainColumnFormatters,\n    gridOptions,\n    onBeforeRefresh,\n    onAfterRefresh,\n    gridTitle,\n    hideCreateTransaction = false,\n    sideSheetProps,\n    columnDefProperties,\n    columnDefinitions,\n    paginationAutoPageSize,\n    customActions,\n    gridApiCallback,\n    loading = false,\n    addTransactionSidesheetWidth,\n    viewTransactionSidesheetWidth,\n    editTransactionSidesheetWidth,\n    attachmentTransactionSidesheetWidth,\n    workflowActionTransactionSidesheetWidth,\n    createRevisionSidesheetWidth\n  } = props;\n\n  const [sidesheetState, setSidesheetState] = useState({\n    workflowAction: false,\n    addTransaction: false,\n    editTransaction: false,\n    viewTransaction: false,\n    attachmentTransaction: false,\n    createRevision: false\n  });\n  const [selectedTransaction, setSelectedTransaction] = useState(null);\n  const [gridApi, setGridApi] = useState(null);\n  const [calendarRefresh, setCalendarRefresh] = useState(null);\n  const [showCalendarView, setShowCalendarView] = useState(false);\n  const location = useLocation();\n  const state = location.state;\n\n  let searchParamStr = location.search;\n  let searchParams = new URLSearchParams(searchParamStr);\n  const initialTransactionTypeId = state?.params?.udpTransactionTypeId\n    ? state.params.udpTransactionTypeId\n    : searchParams.has('udpTransactionTypeId') === true\n      ? searchParams.get('udpTransactionTypeId')\n      : '';\n\n  const {\n    data: transactionType,\n    loading: transactionTypeLoading,\n    error: transactionTypeError\n  } = useTransactionType({\n    transactionTypeId: transactionTypeId || initialTransactionTypeId,\n    domainName: initialDomainName,\n    domainFieldType: domainFieldType,\n    domainFieldValue: domainFieldValue\n  });\n\n  useTransactionEngine(transactionType?.transactionTypeId);\n  const currentApiCatalogId = useCatalogStore(\n    (state) => state.currentApiCatalogId\n  );\n  const filterModel = useUdpGridFilterModel();\n\n  const handleSidesheet = useCallback(\n    (actionType, openStatus, transaction, width = 800) => {\n      if (actionType == 'add') {\n        setSidesheetState((prev) => ({\n          ...prev,\n          addTransaction: openStatus,\n          width\n        }));\n      } else if (actionType == 'edit') {\n        setSidesheetState((prev) => ({\n          ...prev,\n          editTransaction: openStatus,\n          width\n        }));\n      } else if (actionType == 'view') {\n        setSidesheetState((prev) => ({\n          ...prev,\n          viewTransaction: openStatus,\n          width\n        }));\n      } else if (actionType == 'attachment') {\n        setSidesheetState((prev) => ({\n          ...prev,\n          attachmentTransaction: openStatus,\n          width\n        }));\n      } else if (actionType == 'action') {\n        setSidesheetState((prev) => ({\n          ...prev,\n          workflowAction: openStatus,\n          width\n        }));\n      } else if (actionType == 'createRevision') {\n        setSidesheetState((prev) => ({\n          ...prev,\n          createRevision: openStatus,\n          width\n        }));\n      }\n      if (transaction) {\n        setSelectedTransaction(transaction);\n      }\n    },\n    []\n  );\n\n  const handleAttachmentTransaction = () => {};\n\n  const handleGridApiCallback = useCallback(\n    (api) => {\n      setGridApi(api);\n      gridApiCallback?.(api);\n    },\n    [gridApiCallback]\n  );\n\n  const handleCalendarApiCallback = useCallback((refreshFn) => {\n    setCalendarRefresh(() => refreshFn);\n  }, []);\n\n  const domainName = useMemo(() => {\n    if (transactionType) {\n      const splitDomainNameArr = transactionType.domainName.split('.');\n      return splitDomainNameArr.pop();\n    }\n    return initialDomainName;\n  }, [transactionType, initialDomainName]);\n\n  const calendarViewConfiguration = useMemo(() => {\n    const config =\n      transactionType?.pageConfiguration?.calendarViewConfiguration;\n    if (!config) return null;\n    return {\n      enabled: config.enabled,\n      isDefaultView: !!config.isDefaultView,\n      domainStartDateProperty: config.domainStartDateProperty,\n      domainEndDateProperty: config.domainEndDateProperty,\n      domainPropertyToDisplay: config.domainPropertyToDisplay,\n      defaultCalendarViewType: config.defaultCalendarViewType\n    };\n  }, [transactionType]);\n\n  const calendarViewEnabled = !!calendarViewConfiguration?.enabled;\n\n  useEffect(() => {\n    if (calendarViewConfiguration?.isDefaultView) {\n      setShowCalendarView(true);\n    }\n  }, [calendarViewConfiguration?.isDefaultView]);\n\n  const [{ data: catalogObject, loading: catalogObjectLoading }] = useAxiosGet(\n    ConfigService.integrationV2ApiUrl,\n    `apiCatalog/${currentApiCatalogId}/catalogObject/${transactionType?.domainName}`,\n    {},\n    !!!currentApiCatalogId || !!!transactionType?.domainName,\n    false\n  );\n\n  const refreshGridData = useCallback(async () => {\n    if (onBeforeRefresh) {\n      await onBeforeRefresh(gridApi);\n    }\n    if (showCalendarView) {\n      await calendarRefresh?.();\n    } else {\n      gridApi?.refreshServerSide();\n    }\n    if (onAfterRefresh) {\n      await onAfterRefresh(gridApi);\n    }\n  }, [\n    gridApi,\n    calendarRefresh,\n    showCalendarView,\n    onBeforeRefresh,\n    onAfterRefresh\n  ]);\n\n  const openAddTransaction = useCallback(() => {\n    handleSidesheet('add', true, null, addTransactionSidesheetWidth);\n  }, [handleSidesheet, addTransactionSidesheetWidth]);\n\n  const openViewTransaction = useCallback(\n    (transaction) => {\n      handleSidesheet('view', true, transaction, viewTransactionSidesheetWidth);\n    },\n    [handleSidesheet, viewTransactionSidesheetWidth]\n  );\n\n  const openEditTransaction = useCallback(\n    (transaction) => {\n      handleSidesheet('edit', true, transaction, editTransactionSidesheetWidth);\n    },\n    [handleSidesheet, editTransactionSidesheetWidth]\n  );\n\n  const openAttachmentTransaction = useCallback(\n    (transaction) => {\n      handleSidesheet(\n        'attachment',\n        true,\n        transaction,\n        attachmentTransactionSidesheetWidth || 1000\n      );\n    },\n    [handleSidesheet, attachmentTransactionSidesheetWidth]\n  );\n\n  const openWorkflowActionTransaction = useCallback(\n    (transaction) => {\n      handleSidesheet(\n        'action',\n        true,\n        transaction,\n        workflowActionTransactionSidesheetWidth\n      );\n    },\n    [handleSidesheet, workflowActionTransactionSidesheetWidth]\n  );\n\n  const openCreateRevision = useCallback(\n    (transaction) => {\n      handleSidesheet(\n        'createRevision',\n        true,\n        transaction,\n        createRevisionSidesheetWidth\n      );\n    },\n    [handleSidesheet, createRevisionSidesheetWidth]\n  );\n\n  if (!transactionTypeId && !initialTransactionTypeId && !initialDomainName) {\n    return (\n      <div>\n        <Typography variant='h6'>\n          Error loading Transaction Type: No Transaction type provided.\n        </Typography>\n      </div>\n    );\n  }\n\n  // IMPORTANT: If no Catalog is promoted for product application, the page will not load\n  if (!transactionType || catalogObjectLoading || loading) {\n    return (\n      <div className='udp-transaction-page-loading'>\n        <CircularProgress size={64} />\n      </div>\n    );\n  }\n\n  return (\n    <>\n      {calendarViewEnabled && showCalendarView ? (\n        <UdpTransactionCalendar\n          transactionTypeId={transactionType?.transactionTypeId}\n          domainName={domainName}\n          searchMethodObject={searchMethodObject}\n          calendarViewConfiguration={calendarViewConfiguration}\n          openWorkflowActionTransaction={openWorkflowActionTransaction}\n          handleCalendarApiCallback={handleCalendarApiCallback}\n          openAddTransaction={openAddTransaction}\n          gridTitle={gridTitle}\n          hideCreateTransaction={hideCreateTransaction}\n          onShowGridView={() => setShowCalendarView(false)}\n        />\n      ) : (\n        <UdpTransactionGrid\n          transactionTypeId={transactionType?.transactionTypeId}\n          transactionType={transactionType}\n          domainName={domainName}\n          transactionTypeLoading={transactionTypeLoading}\n          searchMethodObject={searchMethodObject}\n          domainColumnFormatters={domainColumnFormatters}\n          catalogObject={catalogObject}\n          openAddTransaction={openAddTransaction}\n          openViewTransaction={openViewTransaction}\n          openEditTransaction={openEditTransaction}\n          openAttachmentTransaction={openAttachmentTransaction}\n          openWorkflowActionTransaction={openWorkflowActionTransaction}\n          openCreateRevision={openCreateRevision}\n          handleGridApiCallback={handleGridApiCallback}\n          refreshGridData={refreshGridData}\n          gridApi={gridApi}\n          initialFilterModel={filterModel}\n          initialGridOptions={gridOptions}\n          gridTitle={gridTitle}\n          hideCreateTransaction={hideCreateTransaction}\n          columnDefProperties={columnDefProperties}\n          columnDefinitions={columnDefinitions}\n          customActions={customActions}\n          paginationAutoPageSize={paginationAutoPageSize}\n          calendarViewEnabled={calendarViewEnabled}\n          onShowCalendarView={() => setShowCalendarView(true)}\n        />\n      )}\n\n      <UdpTransactionSidesheet\n        openStates={sidesheetState}\n        handleSidesheet={handleSidesheet}\n        handleAttachmentTransaction={handleAttachmentTransaction}\n        transaction={selectedTransaction}\n        transactionTypeId={transactionType?.transactionTypeId}\n        domainName={domainName}\n        refreshGridData={refreshGridData}\n        catalogObject={catalogObject}\n        {...sideSheetProps}\n      />\n    </>\n  );\n};\n\nexport default UdpTransactionsPage;\n"],"mappings":"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"}