{"version":3,"file":"UdpTransactionGrid.mjs","names":["React","useCallback","useEffect","useMemo","useState","useTranslation","SearchMethodUdpGrid","FluentDialog","LinearProgress","useTransactionEngine","useAxiosMutate","ConfigService","useHandleAxiosSnackbar","TransactionUiActionTypeEnums","UdpSearchEnums","UDP_TRANSACTION_GRID_ID","UdpTransactionGrid","props","transactionTypeId","domainName","transactionTypeLoading","handleGridApiCallback","openAddTransaction","openViewTransaction","openEditTransaction","openAttachmentTransaction","openWorkflowActionTransaction","openCreateRevision","searchMethodObject","domainColumnFormatters","refreshGridData","gridApi","initialFilterModel","initialGridOptions","catalogObject","gridTitle","hideCreateTransaction","columnDefProperties","columnDefinitions","paginationAutoPageSize","customActions","calendarViewEnabled","onShowCalendarView","dialogOpen","setDialogOpen","selectedTransaction","setSelectedTransaction","t","hasRevisions","transactionTypeGridColumns","transactionTypeColumnDefProperties","transactionTypePageConfiguration","getUiActionRenderParameters","transactionTypeStatusColorsMap","getTransactionTypeLabel","transactionTypeStatuses","canCancel","resolvedFormatters","resolvedColumnDefProps","formatters","defProps","Object","entries","forEach","key","def","formatter","onCellClicked","includeUdpBusinessDomainPrefix","rest","keys","length","UdpBusinessDomainPrefix","columnDefinitionProperties","merged","value","handleErrorSnackbar","handleSuccessSnackbar","data","loading","cancelLoading","error","cancelError","cancelTransaction","productV1ApiUrl","transactionId","method","handleDialogClose","handleConfirmActionDialog","response","status","defaultValue","Error","removeTimeFromDate","date","parsedDate","Date","getTime","year","getFullYear","month","getMonth","day","getDate","toString","transactionLabel","entityBusinessKey","pdfViewPageId","Render_View_Pdf_Page","pageId","columnDefs","initialColumnDefs","headerName","displayName","field","hide","order","cellDataType","valueFormatter","params","createdOn","cellRenderer","cellRendererParams","statusMappingConfig","getStatusValue","udpTransactionUdpTransactionTypeStatus","name","filter","filterParams","values","success","keyCreator","transactionTypeStatusId","udpTransactionUdpTransactionEventType","pinned","sortable","maxWidth","event","udpTransactionUdpTransactionAttachment","actionList","id","title","iconName","handleOnClick","e","disabled","gridColumn","propertyName","entityBusinessObject","agColumnFilter","matchingFieldInfo","properties","find","objectProperty","type","toLowerCase","propertyPrefix","propertyVarPrefix","push","undefined","columnKey","gridColumnPropertyNames","map","col","includes","formatedHeaderName","slice","toUpperCase","orderValue","n","Number","isNaN","MAX_SAFE_INTEGER","ordered","sort","a","b","headerConfig","primaryActionButton","label","createTransactionButtonLabel","onClick","secondaryActionButtons","iconOnly","gridFunctions","gridOptions","pagination","rowSelection","searchMethodConfig","combinedSearchObject","eagerLoad","filterElements","searchField","searchOperator","searchValue","combinedFilterElems","concat","requestUrl","customSearchObject","setFilterModel","onFilterChanged"],"sources":["../../../../src/udp/pages/UdpTransactionsPage/UdpTransactionGrid.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { FluentDialog, LinearProgress } from '../../../UI';\nimport { useTransactionEngine } from '../../../utilities/transactions/useTransactionEngine';\nimport { useAxiosMutate } from '../../../utilities';\nimport { ConfigService } from '../../../configService';\nimport { useHandleAxiosSnackbar } from '../../../utilities';\nimport { TransactionUiActionTypeEnums, UdpSearchEnums } from '../../../enums';\n\nconst UDP_TRANSACTION_GRID_ID = '32c0fd0b-bb94-497a-b47a-6c7e8f746134';\n\nconst UdpTransactionGrid = (props) => {\n  const {\n    transactionTypeId,\n    domainName,\n    transactionTypeLoading,\n    handleGridApiCallback,\n    openAddTransaction,\n    openViewTransaction,\n    openEditTransaction,\n    openAttachmentTransaction,\n    openWorkflowActionTransaction,\n    openCreateRevision,\n    searchMethodObject,\n    domainColumnFormatters = {},\n    refreshGridData,\n    gridApi,\n    initialFilterModel,\n    initialGridOptions = {},\n    catalogObject,\n    gridTitle,\n    hideCreateTransaction = false,\n    columnDefProperties,\n    columnDefinitions,\n    paginationAutoPageSize,\n    customActions = [],\n    calendarViewEnabled = false,\n    onShowCalendarView\n  } = props;\n  const [dialogOpen, setDialogOpen] = useState(false);\n  const [selectedTransaction, setSelectedTransaction] = useState(null);\n\n  const { t } = useTranslation();\n\n  const {\n    hasRevisions,\n    transactionTypeGridColumns,\n    transactionTypeColumnDefProperties,\n    transactionTypePageConfiguration,\n    getUiActionRenderParameters,\n    transactionTypeStatusColorsMap,\n    getTransactionTypeLabel,\n    transactionTypeStatuses,\n    canCancel\n  } = useTransactionEngine(transactionTypeId);\n\n  // Backwards compatibility: callers may pass a single unified `columnDefinitions`\n  // (one entry per column, keyed by the bare property name) OR the legacy pair of\n  // `domainColumnFormatters` + `columnDefProperties`. Normalize the unified form back\n  // into the two internal shapes the column builders already consume.\n  const { resolvedFormatters, resolvedColumnDefProps } = useMemo(() => {\n    if (!columnDefinitions) {\n      return {\n        resolvedFormatters: domainColumnFormatters,\n        resolvedColumnDefProps: columnDefProperties\n      };\n    }\n    const formatters = {};\n    const defProps = {};\n    Object.entries(columnDefinitions).forEach(([key, def]) => {\n      const {\n        formatter,\n        onCellClicked,\n        includeUdpBusinessDomainPrefix,\n        ...rest\n      } = def || {};\n      formatters[key] = {\n        formatter,\n        onCellClicked,\n        includeUdpBusinessDomainPrefix\n      };\n      // Only register column-def props when the entry actually carries some (cellRenderer,\n      // filter, sortable, order, hide, …); formatter-only entries are skipped. Register under\n      // BOTH the bare and prefixed keys so they resolve however the builder looks them up —\n      // bare (loop 1, non-prefixed) or prefixed (loop 2, and loop 1 for catalog/flagged\n      // fields) — without depending on includeUdpBusinessDomainPrefix. Safe to register both\n      // because columnDefinitionProperties does a one-level deep merge, so neither key\n      // clobbers the transaction-type's per-column config.\n      if (Object.keys(rest).length > 0) {\n        defProps[key] = rest;\n        defProps[`${UdpSearchEnums.UdpBusinessDomainPrefix}_${key}`] = rest;\n      }\n    });\n    return { resolvedFormatters: formatters, resolvedColumnDefProps: defProps };\n  }, [columnDefinitions, domainColumnFormatters, columnDefProperties]);\n\n  // One-level deep merge: col-def props (filter/cellRenderer/sortable/…) layer ON TOP of\n  // the transaction-type config (displayName/order/hide) for the same column key, instead\n  // of replacing it. A shallow spread would drop the transaction-type's displayName/order/\n  // hide for any column that also supplies col-def props under the same key. Nested objects\n  // (filterParams, cellRendererParams) are taken wholesale, not recursively merged.\n  const columnDefinitionProperties = useMemo(() => {\n    const merged = { ...transactionTypeColumnDefProperties };\n    Object.entries(resolvedColumnDefProps ?? {}).forEach(([key, value]) => {\n      merged[key] = { ...merged[key], ...value };\n    });\n    return merged;\n  }, [transactionTypeColumnDefProperties, resolvedColumnDefProps]);\n\n  const { handleErrorSnackbar, handleSuccessSnackbar } =\n    useHandleAxiosSnackbar();\n\n  const [\n    { data, loading: cancelLoading, error: cancelError },\n    cancelTransaction\n  ] = useAxiosMutate(\n    `${ConfigService.productV1ApiUrl}`,\n    `udptransaction/${selectedTransaction?.transactionId}/cancelTransaction`,\n    {\n      method: 'post'\n    },\n    {}\n  );\n\n  const handleDialogClose = () => {\n    setSelectedTransaction(null);\n    setDialogOpen(false);\n  };\n\n  const handleConfirmActionDialog = useCallback(async () => {\n    try {\n      const response = await cancelTransaction();\n      if (response?.status === 200) {\n        refreshGridData();\n        handleSuccessSnackbar(\n          t('transactions.grid.cancelSuccess', {\n            defaultValue: 'Transaction has been cancelled successfully'\n          })\n        );\n      } else {\n        handleErrorSnackbar(\n          new Error(\n            t('transactions.grid.cancelError', {\n              defaultValue:\n                'Error cancelling Transaction. Please try again later.'\n            })\n          )\n        );\n      }\n    } catch (error) {\n      handleErrorSnackbar(error);\n    } finally {\n      handleDialogClose();\n    }\n  }, [\n    cancelTransaction,\n    refreshGridData,\n    handleErrorSnackbar,\n    handleSuccessSnackbar,\n    t\n  ]);\n\n  const removeTimeFromDate = (date) => {\n    const parsedDate = new Date(date);\n    if (parsedDate.getTime()) {\n      const year = parsedDate.getFullYear();\n      //Month is zero based 0 = Jan so need to add 1\n      const month = parsedDate.getMonth() + 1;\n      const day = parsedDate.getDate().toString();\n      return `${year}-${month.toString()}-${day}`;\n    }\n    return parsedDate;\n  };\n\n  const transactionLabel = useMemo(() => {\n    return (\n      getTransactionTypeLabel(selectedTransaction) ??\n      selectedTransaction?.entityBusinessKey\n    );\n  }, [getTransactionTypeLabel, selectedTransaction]);\n\n  const pdfViewPageId = useMemo(() => {\n    return getUiActionRenderParameters(\n      TransactionUiActionTypeEnums.Render_View_Pdf_Page\n    )?.pageId;\n  }, [getUiActionRenderParameters]);\n\n  const columnDefs = useMemo(() => {\n    const initialColumnDefs = [\n      {\n        headerName:\n          columnDefinitionProperties?.['transactionId']?.displayName ||\n          t('transactions.grid.columns.transactionId', {\n            defaultValue: 'Transaction Id'\n          }),\n        field: 'transactionId',\n        hide: true,\n        order: columnDefinitionProperties?.['transactionId']?.order\n      },\n      {\n        headerName:\n          columnDefinitionProperties?.['createdOn']?.displayName ||\n          t('transactions.grid.columns.createdOn', {\n            defaultValue: 'Created On'\n          }),\n        field: 'createdOn',\n        hide: columnDefinitionProperties?.['createdOn']?.hide,\n        order: columnDefinitionProperties?.['createdOn']?.order,\n        cellDataType: 'dateString',\n        valueFormatter: (params) => {\n          return removeTimeFromDate(params?.data.createdOn);\n        }\n      },\n      {\n        headerName:\n          columnDefinitionProperties?.['currentStatusId']?.displayName ||\n          t('transactions.grid.columns.currentStatus', {\n            defaultValue: 'Current Status'\n          }),\n        field: 'currentStatusId',\n        hide: columnDefinitionProperties?.['currentStatusId']?.hide,\n        order: columnDefinitionProperties?.['currentStatusId']?.order,\n        cellRenderer: 'statusRenderer',\n        cellRendererParams: {\n          statusMappingConfig: transactionTypeStatusColorsMap,\n          getStatusValue: (params) =>\n            params?.data.udpTransactionUdpTransactionTypeStatus.name\n        },\n        filter: 'agSetColumnFilter',\n        filterParams: {\n          values: (params) => {\n            if (transactionTypeStatuses) {\n              params.success(transactionTypeStatuses);\n            }\n          },\n          keyCreator: (params) => params.value.transactionTypeStatusId,\n          valueFormatter: (params) => params.value.name\n        },\n        valueFormatter: (params) =>\n          params?.data.udpTransactionUdpTransactionTypeStatus.name\n      },\n      ...(hasRevisions\n        ? [\n            {\n              headerName:\n                columnDefinitionProperties?.['currentRevisionNo']\n                  ?.displayName ||\n                t('transactions.grid.columns.revisionNo', {\n                  defaultValue: 'Revision No'\n                }),\n              field: 'currentRevisionNo',\n              hide: columnDefinitionProperties?.['currentRevisionNo']?.hide,\n              order: columnDefinitionProperties?.['currentRevisionNo']?.order\n            }\n          ]\n        : []),\n      {\n        headerName:\n          columnDefinitionProperties?.['lastEventTypeId']?.displayName ||\n          t('transactions.grid.columns.lastEventType', {\n            defaultValue: 'Last Event Type'\n          }),\n        field: 'lastEventTypeId',\n        hide: columnDefinitionProperties?.['lastEventTypeId']?.hide,\n        order: columnDefinitionProperties?.['lastEventTypeId']?.order,\n        valueFormatter: (params) =>\n          params?.data.udpTransactionUdpTransactionEventType.name\n      },\n      {\n        headerName:\n          columnDefinitionProperties?.['attachments']?.displayName ||\n          t('transactions.grid.columns.attachments', {\n            defaultValue: 'Attachments'\n          }),\n        field: 'attachments',\n        hide: columnDefinitionProperties?.['attachments']?.hide,\n        pinned: 'right',\n        filter: false,\n        sortable: false,\n        maxWidth: 100,\n        onCellClicked: (event) => {\n          openAttachmentTransaction(event.data);\n        },\n        valueFormatter: (params) => {\n          return params?.data.udpTransactionUdpTransactionAttachment.length;\n        }\n      },\n      {\n        headerName:\n          columnDefinitionProperties?.['actions']?.displayName ||\n          t('transactions.grid.columns.actions', { defaultValue: 'Actions' }),\n        field: 'actions',\n        hide: columnDefinitionProperties?.['actions']?.hide,\n        cellRenderer: 'actionsRenderer',\n        cellRendererParams: {\n          actionList: [\n            {\n              id: 0,\n              title: t('transactions.sidesheet.nextSteps', {\n                defaultValue: 'Next Steps'\n              }),\n              iconName: 'panel-right-expand',\n              handleOnClick: (e, params) => {\n                openWorkflowActionTransaction(params?.data);\n              }\n            },\n            ...(pdfViewPageId\n              ? [\n                  {\n                    id: 1,\n                    title: t('common.view', { defaultValue: 'View' }),\n                    iconName: 'view',\n                    handleOnClick: (e, params) => {\n                      openViewTransaction(params?.data);\n                    },\n                    disabled: !pdfViewPageId\n                  }\n                ]\n              : []),\n            {\n              id: 2,\n              title: t('common.edit', { defaultValue: 'Edit' }),\n              iconName: 'edit',\n              handleOnClick: (e, params) => {\n                openEditTransaction(params?.data);\n              }\n            },\n            ...(hasRevisions\n              ? [\n                  {\n                    id: 3,\n                    title: t('transactions.sidesheet.createRevision', {\n                      defaultValue: 'Create Revision'\n                    }),\n                    iconName: 'add',\n                    handleOnClick: (e, params) => {\n                      openCreateRevision(params?.data);\n                    },\n                    disabled: !hasRevisions\n                  }\n                ]\n              : []),\n            ...(canCancel\n              ? [\n                  {\n                    id: 4,\n                    title: t('common.cancel', { defaultValue: 'Cancel' }),\n                    iconName: 'close16',\n                    handleOnClick: (e, params) => {\n                      setSelectedTransaction(params?.data);\n                      setDialogOpen(true);\n                    }\n                  }\n                ]\n              : []),\n            ...customActions\n          ]\n        }\n      }\n    ];\n    transactionTypeGridColumns?.forEach((gridColumn) => {\n      const propertyName = gridColumn?.propertyName || '';\n\n      let valueFormatter = (params) => {\n        return params?.data\n          ? params?.data?.entityBusinessObject[propertyName]\n          : '';\n      };\n\n      let onCellClicked = null;\n\n      if (resolvedFormatters[propertyName]) {\n        valueFormatter = resolvedFormatters[propertyName].formatter;\n        onCellClicked = resolvedFormatters[propertyName].onCellClicked || null;\n      }\n\n      let agColumnFilter = 'agTextColumnFilter';\n      let cellDataType = null;\n\n      const matchingFieldInfo = catalogObject?.properties?.find(\n        (objectProperty) => {\n          return objectProperty.name === propertyName;\n        }\n      );\n\n      if (matchingFieldInfo?.type.toLowerCase() == 'datetime') {\n        agColumnFilter = 'agDateColumnFilter';\n        cellDataType = 'dateString';\n      }\n\n      const propertyPrefix =\n        !!matchingFieldInfo ||\n        resolvedFormatters[propertyName]?.includeUdpBusinessDomainPrefix\n          ? `${UdpSearchEnums.UdpBusinessDomainPrefix}.`\n          : '';\n      const propertyVarPrefix =\n        !!matchingFieldInfo ||\n        resolvedFormatters[propertyName]?.includeUdpBusinessDomainPrefix\n          ? `${UdpSearchEnums.UdpBusinessDomainPrefix}_`\n          : '';\n\n      initialColumnDefs.push({\n        headerName:\n          columnDefinitionProperties?.[`${propertyVarPrefix}${propertyName}`]\n            ?.displayName || gridColumn?.displayName,\n        field: `${propertyPrefix}${domainName}.${propertyName}`,\n        hide: columnDefinitionProperties?.[\n          `${propertyVarPrefix}${propertyName}`\n        ]?.hide,\n        order:\n          columnDefinitionProperties?.[`${propertyVarPrefix}${propertyName}`]\n            ?.order,\n        valueFormatter: valueFormatter,\n        onCellClicked: onCellClicked,\n        cellRenderer:\n          columnDefinitionProperties?.[`${propertyVarPrefix}${propertyName}`]\n            ?.cellRenderer || null,\n        cellRendererParams:\n          columnDefinitionProperties?.[`${propertyVarPrefix}${propertyName}`]\n            ?.cellRendererParams || null,\n        filter:\n          columnDefinitionProperties?.[`${propertyVarPrefix}${propertyName}`]\n            ?.filter || agColumnFilter,\n        filterParams:\n          columnDefinitionProperties?.[`${propertyVarPrefix}${propertyName}`]\n            ?.filterParams || undefined,\n        sortable:\n          columnDefinitionProperties?.[`${propertyVarPrefix}${propertyName}`]\n            ?.sortable,\n        cellDataType: cellDataType\n      });\n    });\n\n    Object.keys(resolvedFormatters).forEach((columnKey) => {\n      const gridColumnPropertyNames = transactionTypeGridColumns?.map(\n        (col) => col.propertyName\n      );\n      if (!gridColumnPropertyNames?.includes(columnKey)) {\n        let formatedHeaderName =\n          columnKey.slice(0, 1).toUpperCase() + columnKey.slice(1);\n        initialColumnDefs.push({\n          headerName:\n            columnDefinitionProperties?.[\n              `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n            ]?.displayName || formatedHeaderName,\n          field: `${UdpSearchEnums.UdpBusinessDomainPrefix}.${domainName}.${columnKey}`,\n          hide: columnDefinitionProperties?.[\n            `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n          ]?.hide,\n          order:\n            columnDefinitionProperties?.[\n              `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n            ]?.order,\n          valueFormatter: resolvedFormatters[columnKey].formatter,\n          onCellClicked: resolvedFormatters[columnKey].onCellClicked || null,\n          cellRenderer:\n            columnDefinitionProperties?.[\n              `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n            ]?.cellRenderer || null,\n          cellRendererParams:\n            columnDefinitionProperties?.[\n              `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n            ]?.cellRendererParams || null,\n          filter:\n            columnDefinitionProperties?.[\n              `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n            ]?.filter || undefined,\n          filterParams:\n            columnDefinitionProperties?.[\n              `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n            ]?.filterParams || undefined,\n          sortable:\n            columnDefinitionProperties?.[\n              `${UdpSearchEnums.UdpBusinessDomainPrefix}_${columnKey}`\n            ]?.sortable\n        });\n      }\n    });\n\n    if (columnDefinitionProperties) {\n      // Fall back to the end only when order is genuinely absent/non-numeric.\n      // A plain `|| MAX` would also banish a legitimate 0 (it's falsy), so an\n      // order of 0 / \"0\" sorts before 1.\n      const orderValue = (col) => {\n        const n = Number(col.order);\n        return col.order == null || col.order === '' || Number.isNaN(n)\n          ? Number.MAX_SAFE_INTEGER\n          : n;\n      };\n      const ordered = [...initialColumnDefs].sort(\n        (a, b) => orderValue(a) - orderValue(b)\n      );\n      return ordered;\n    }\n    return initialColumnDefs;\n  }, [\n    domainName,\n    t,\n    openViewTransaction,\n    openEditTransaction,\n    openAttachmentTransaction,\n    openWorkflowActionTransaction,\n    resolvedFormatters,\n    transactionTypeGridColumns,\n    openCreateRevision,\n    hasRevisions,\n    pdfViewPageId,\n    transactionTypeStatusColorsMap,\n    catalogObject,\n    transactionTypeStatuses,\n    canCancel,\n    columnDefinitionProperties,\n    customActions\n  ]);\n\n  const headerConfig = {\n    title:\n      gridTitle || transactionTypePageConfiguration?.gridTitle || domainName,\n    primaryActionButton:\n      hideCreateTransaction ||\n      transactionTypePageConfiguration?.hideCreateTransaction\n        ? null\n        : {\n            label:\n              transactionTypePageConfiguration?.createTransactionButtonLabel ||\n              t('transactions.grid.domainEntry', {\n                defaultValue: '{{domainName}} Entry',\n                domainName\n              }),\n            iconName: 'add',\n            onClick: () => {\n              openAddTransaction();\n            }\n          },\n    secondaryActionButtons: calendarViewEnabled\n      ? [\n          {\n            iconOnly: true,\n            iconName: 'calendar',\n            label: t('transactions.grid.calendarView', {\n              defaultValue: 'Calendar View'\n            }),\n            onClick: () => onShowCalendarView?.()\n          }\n        ]\n      : undefined\n  };\n\n  const gridFunctions = [\n    { name: 'openSavedViews' },\n    { name: 'agGridRefreshData' },\n    { name: 'agGridExport' },\n    { name: 'agGridHideShowColumns' },\n    { name: 'agGridSizeColumnsToFit' },\n    { name: 'agGridAutoSizeColumns' },\n    { name: 'agGridResetColumns' }\n  ];\n\n  const gridOptions = useMemo(() => {\n    return {\n      pagination: true,\n      paginationAutoPageSize:\n        paginationAutoPageSize ??\n        transactionTypePageConfiguration?.paginationAutoPageSize ??\n        true,\n      rowSelection: 'none',\n      ...initialGridOptions\n    };\n  }, [\n    initialGridOptions,\n    paginationAutoPageSize,\n    transactionTypePageConfiguration\n  ]);\n\n  const searchMethodConfig = useMemo(() => {\n    let combinedSearchObject = {\n      eagerLoad: true,\n      filterElements: [\n        {\n          searchField: 'transactionTypeId',\n          searchOperator: '=',\n          searchValue: transactionTypeId\n        },\n        {\n          searchField: 'isDeleted',\n          searchOperator: '=',\n          searchValue: false\n        }\n      ]\n    };\n\n    if (searchMethodObject) {\n      let combinedFilterElems = combinedSearchObject.filterElements.concat(\n        searchMethodObject?.filterElements || []\n      );\n\n      combinedSearchObject = {\n        ...combinedSearchObject,\n        ...searchMethodObject\n      };\n\n      combinedSearchObject = {\n        ...combinedSearchObject,\n        filterElements: combinedFilterElems\n      };\n    }\n\n    return {\n      requestUrl: `${ConfigService.productV1ApiUrl}/UdpTransaction/search`,\n      customSearchObject: combinedSearchObject\n    };\n  }, [transactionTypeId, searchMethodObject]);\n  useEffect(() => {\n    if (\n      gridApi &&\n      initialFilterModel &&\n      Object.keys(initialFilterModel).length\n    ) {\n      // 1. Set the filter model\n      gridApi.setFilterModel(initialFilterModel);\n\n      // 2. Inform the grid that filters have changed, which re-runs the data fetch (Server-Side)\n      gridApi.onFilterChanged();\n    }\n  }, [gridApi, initialFilterModel]);\n\n  return (\n    <>\n      {transactionTypeLoading && <LinearProgress />}\n      <SearchMethodUdpGrid\n        gridHeaderConfig={headerConfig}\n        gridFunctions={gridFunctions}\n        gridOptions={gridOptions}\n        columnDefs={columnDefs}\n        searchMethodConfig={searchMethodConfig}\n        gridApiCallback={handleGridApiCallback}\n        gridId={UDP_TRANSACTION_GRID_ID}\n        entityName={domainName}\n      />\n      <FluentDialog\n        title={t('transactions.grid.cancelTransactionTitle', {\n          defaultValue: 'Cancel Transaction'\n        })}\n        message={t('transactions.grid.cancelTransactionMessage', {\n          defaultValue:\n            'Are you sure you want to cancel the transaction for {{label}}?',\n          label: transactionLabel || domainName\n        })}\n        labelOne={t('common.confirm', { defaultValue: 'Confirm' })}\n        actionOne={handleConfirmActionDialog}\n        labelTwo={t('common.cancel', { defaultValue: 'Cancel' })}\n        actionTwo={handleDialogClose}\n        open={dialogOpen}\n        handleClose={handleDialogClose}\n        loading={cancelLoading}\n      />\n    </>\n  );\n};\n\nexport default UdpTransactionGrid;\n"],"mappings":";;;;;;;;;;;AAUA,MAAMe,0BAA0B;AAEhC,MAAMC,sBAAsBC,UAAU;CACpC,MAAM,EACJC,mBACAC,YACAC,wBACAC,uBACAC,oBACAC,qBACAC,qBACAC,2BACAC,+BACAC,oBACAC,oBACAC,yBAAyB,EAAE,EAC3BC,iBACAC,SACAC,oBACAC,qBAAqB,EAAE,EACvBC,eACAC,WACAC,wBAAwB,OACxBC,qBACAC,mBACAC,wBACAC,gBAAgB,EAAE,EAClBC,sBAAsB,OACtBC,uBACEzB;CACJ,MAAM,CAAC0B,YAAYC,iBAAiBxC,SAAS,MAAM;CACnD,MAAM,CAACyC,qBAAqBC,0BAA0B1C,SAAS,KAAK;CAEpE,MAAM,EAAE2C,MAAM1C,gBAAgB;CAE9B,MAAM,EACJ2C,cACAC,4BACAC,oCACAC,kCACAC,6BACAC,gCACAC,yBACAC,yBACAC,cACE/C,qBAAqBS,kBAAkB;CAM3C,MAAM,EAAEuC,oBAAoBC,2BAA2BvD,cAAc;AACnE,MAAI,CAACmC,kBACH,QAAO;GACLmB,oBAAoB5B;GACpB6B,wBAAwBrB;GACzB;EAEH,MAAMsB,aAAa,EAAE;EACrB,MAAMC,WAAW,EAAE;AACnBC,SAAOC,QAAQxB,kBAAkB,CAACyB,SAAS,CAACC,KAAKC,SAAS;GACxD,MAAM,EACJC,WACAC,eACAC,gCACA,GAAGC,SACDJ,OAAO,EAAE;AACbN,cAAWK,OAAO;IAChBE;IACAC;IACAC;IACD;AAQD,OAAIP,OAAOS,KAAKD,KAAK,CAACE,SAAS,GAAG;AAChCX,aAASI,OAAOK;AAChBT,aAAS,GAAG9C,eAAe0D,wBAAuB,GAAIR,SAASK;;IAEjE;AACF,SAAO;GAAEZ,oBAAoBE;GAAYD,wBAAwBE;GAAU;IAC1E;EAACtB;EAAmBT;EAAwBQ;EAAoB,CAAC;CAOpE,MAAMoC,6BAA6BtE,cAAc;EAC/C,MAAMuE,SAAS,EAAE,GAAGxB,oCAAoC;AACxDW,SAAOC,QAAQJ,0BAA0B,EAAE,CAAC,CAACK,SAAS,CAACC,OAAKW,WAAW;AACrED,UAAOV,SAAO;IAAE,GAAGU,OAAOV;IAAM,GAAGW;IAAO;IAC1C;AACF,SAAOD;IACN,CAACxB,oCAAoCQ,uBAAuB,CAAC;CAEhE,MAAM,EAAEkB,qBAAqBC,0BAC3BjE,wBAAwB;CAE1B,MAAM,CACJ,EAAEkE,MAAMC,SAASC,eAAeC,OAAOC,eACvCC,qBACEzE,eACF,GAAGC,cAAcyE,mBACjB,kBAAkBvC,qBAAqBwC,cAAa,qBACpD,EACEC,QAAQ,QACT,EACD,EACF,CAAC;CAED,MAAMC,0BAA0B;AAC9BzC,yBAAuB,KAAK;AAC5BF,gBAAc,MAAM;;CAGtB,MAAM4C,4BAA4BvF,YAAY,YAAY;AACxD,MAAI;AAEF,QADiB,MAAMkF,mBAAmB,GAC5BO,WAAW,KAAK;AAC5B5D,qBAAiB;AACjB+C,0BACE9B,EAAE,mCAAmC,EACnC4C,cAAc,+CACf,CACH,CAAC;SAEDf,qBACE,IAAIgB,MACF7C,EAAE,iCAAiC,EACjC4C,cACE,yDACH,CACH,CACF,CAAC;WAEIV,OAAO;AACdL,uBAAoBK,MAAM;YAClB;AACRM,sBAAmB;;IAEpB;EACDJ;EACArD;EACA8C;EACAC;EACA9B;EACD,CAAC;CAEF,MAAM8C,sBAAsBC,SAAS;EACnC,MAAMC,aAAa,IAAIC,KAAKF,KAAK;AACjC,MAAIC,WAAWE,SAAS,EAAE;GACxB,MAAMC,OAAOH,WAAWI,aAAa;GAErC,MAAMC,QAAQL,WAAWM,UAAU,GAAG;GACtC,MAAMC,MAAMP,WAAWQ,SAAS,CAACC,UAAU;AAC3C,UAAO,GAAGN,KAAI,GAAIE,MAAMI,UAAU,CAAA,GAAIF;;AAExC,SAAOP;;CAGT,MAAMU,mBAAmBtG,cAAc;AACrC,SACEmD,wBAAwBT,oBAAoB,IAC5CA,qBAAqB6D;IAEtB,CAACpD,yBAAyBT,oBAAoB,CAAC;CAElD,MAAM8D,gBAAgBxG,cAAc;AAClC,SAAOiD,4BACLvC,6BAA6B+F,qBAC9B,EAAEC;IACF,CAACzD,4BAA4B,CAAC;CAEjC,MAAM0D,aAAa3G,cAAc;EAC/B,MAAM4G,oBAAoB;GACxB;IACEC,YACEvC,6BAA6B,kBAAkBwC,eAC/ClE,EAAE,2CAA2C,EAC3C4C,cAAc,kBACf,CAAC;IACJuB,OAAO;IACPC,MAAM;IACNC,OAAO3C,6BAA6B,kBAAkB2C;IACvD;GACD;IACEJ,YACEvC,6BAA6B,cAAcwC,eAC3ClE,EAAE,uCAAuC,EACvC4C,cAAc,cACf,CAAC;IACJuB,OAAO;IACPC,MAAM1C,6BAA6B,cAAc0C;IACjDC,OAAO3C,6BAA6B,cAAc2C;IAClDC,cAAc;IACdC,iBAAiBC,WAAW;AAC1B,YAAO1B,mBAAmB0B,QAAQzC,KAAK0C,UAAU;;IAEpD;GACD;IACER,YACEvC,6BAA6B,oBAAoBwC,eACjDlE,EAAE,2CAA2C,EAC3C4C,cAAc,kBACf,CAAC;IACJuB,OAAO;IACPC,MAAM1C,6BAA6B,oBAAoB0C;IACvDC,OAAO3C,6BAA6B,oBAAoB2C;IACxDK,cAAc;IACdC,oBAAoB;KAClBC,qBAAqBtE;KACrBuE,iBAAiBL,aACfA,UAAQzC,KAAK+C,uCAAuCC;KACvD;IACDC,QAAQ;IACRC,cAAc;KACZC,SAASV,aAAW;AAClB,UAAIhE,wBACFgE,UAAOW,QAAQ3E,wBAAwB;;KAG3C4E,aAAaZ,aAAWA,SAAO5C,MAAMyD;KACrCd,iBAAiBC,aAAWA,SAAO5C,MAAMmD;KAC1C;IACDR,iBAAiBC,aACfA,UAAQzC,KAAK+C,uCAAuCC;IACvD;GACD,GAAI9E,eACA,CACE;IACEgE,YACEvC,6BAA6B,sBACzBwC,eACJlE,EAAE,wCAAwC,EACxC4C,cAAc,eACf,CAAC;IACJuB,OAAO;IACPC,MAAM1C,6BAA6B,sBAAsB0C;IACzDC,OAAO3C,6BAA6B,sBAAsB2C;IAC3D,CACF,GACD,EAAE;GACN;IACEJ,YACEvC,6BAA6B,oBAAoBwC,eACjDlE,EAAE,2CAA2C,EAC3C4C,cAAc,mBACf,CAAC;IACJuB,OAAO;IACPC,MAAM1C,6BAA6B,oBAAoB0C;IACvDC,OAAO3C,6BAA6B,oBAAoB2C;IACxDE,iBAAiBC,aACfA,UAAQzC,KAAKuD,sCAAsCP;IACtD;GACD;IACEd,YACEvC,6BAA6B,gBAAgBwC,eAC7ClE,EAAE,yCAAyC,EACzC4C,cAAc,eACf,CAAC;IACJuB,OAAO;IACPC,MAAM1C,6BAA6B,gBAAgB0C;IACnDmB,QAAQ;IACRP,QAAQ;IACRQ,UAAU;IACVC,UAAU;IACVrE,gBAAgBsE,UAAU;AACxBhH,+BAA0BgH,MAAM3D,KAAK;;IAEvCwC,iBAAiBC,aAAW;AAC1B,YAAOA,UAAQzC,KAAK4D,uCAAuCnE;;IAE9D;GACD;IACEyC,YACEvC,6BAA6B,YAAYwC,eACzClE,EAAE,qCAAqC,EAAE4C,cAAc,WAAW,CAAC;IACrEuB,OAAO;IACPC,MAAM1C,6BAA6B,YAAY0C;IAC/CM,cAAc;IACdC,oBAAoB,EAClBiB,YAAY;KACV;MACEC,IAAI;MACJC,OAAO9F,EAAE,oCAAoC,EAC3C4C,cAAc,cACf,CAAC;MACFmD,UAAU;MACVC,gBAAgBC,GAAGzB,aAAW;AAC5B7F,qCAA8B6F,UAAQzC,KAAK;;MAE9C;KACD,GAAI6B,gBACA,CACE;MACEiC,IAAI;MACJC,OAAO9F,EAAE,eAAe,EAAE4C,cAAc,QAAQ,CAAC;MACjDmD,UAAU;MACVC,gBAAgBC,KAAGzB,aAAW;AAC5BhG,2BAAoBgG,UAAQzC,KAAK;;MAEnCmE,UAAU,CAACtC;MACZ,CACF,GACD,EAAE;KACN;MACEiC,IAAI;MACJC,OAAO9F,EAAE,eAAe,EAAE4C,cAAc,QAAQ,CAAC;MACjDmD,UAAU;MACVC,gBAAgBC,KAAGzB,aAAW;AAC5B/F,2BAAoB+F,UAAQzC,KAAK;;MAEpC;KACD,GAAI9B,eACA,CACE;MACE4F,IAAI;MACJC,OAAO9F,EAAE,yCAAyC,EAChD4C,cAAc,mBACf,CAAC;MACFmD,UAAU;MACVC,gBAAgBC,KAAGzB,cAAW;AAC5B5F,0BAAmB4F,WAAQzC,KAAK;;MAElCmE,UAAU,CAACjG;MACZ,CACF,GACD,EAAE;KACN,GAAIQ,YACA,CACE;MACEoF,IAAI;MACJC,OAAO9F,EAAE,iBAAiB,EAAE4C,cAAc,UAAU,CAAC;MACrDmD,UAAU;MACVC,gBAAgBC,KAAGzB,cAAW;AAC5BzE,8BAAuByE,WAAQzC,KAAK;AACpClC,qBAAc,KAAK;;MAEtB,CACF,GACD,EAAE;KACN,GAAGJ;KAAa,EAEpB;IACD;GACF;AACDS,8BAA4Bc,SAASmF,eAAe;GAClD,MAAMC,eAAeD,YAAYC,gBAAgB;GAEjD,IAAI7B,kBAAkBC,cAAW;AAC/B,WAAOA,WAAQzC,OACXyC,WAAQzC,MAAMsE,qBAAqBD,gBACnC;;GAGN,IAAIhF,kBAAgB;AAEpB,OAAIV,mBAAmB0F,eAAe;AACpC7B,qBAAiB7D,mBAAmB0F,cAAcjF;AAClDC,sBAAgBV,mBAAmB0F,cAAchF,iBAAiB;;GAGpE,IAAIkF,iBAAiB;GACrB,IAAIhC,eAAe;GAEnB,MAAMiC,oBAAoBpH,eAAeqH,YAAYC,MAClDC,mBAAmB;AAClB,WAAOA,eAAe3B,SAASqB;KAElC;AAED,OAAIG,mBAAmBI,KAAKC,aAAa,IAAI,YAAY;AACvDN,qBAAiB;AACjBhC,mBAAe;;GAGjB,MAAMuC,iBACJ,CAAC,CAACN,qBACF7F,mBAAmB0F,eAAe/E,iCAC9B,GAAGtD,eAAe0D,wBAAuB,KACzC;GACN,MAAMqF,oBACJ,CAAC,CAACP,qBACF7F,mBAAmB0F,eAAe/E,iCAC9B,GAAGtD,eAAe0D,wBAAuB,KACzC;AAENuC,qBAAkB+C,KAAK;IACrB9C,YACEvC,6BAA6B,GAAGoF,oBAAoBV,iBAChDlC,eAAeiC,YAAYjC;IACjCC,OAAO,GAAG0C,iBAAiBzI,WAAU,GAAIgI;IACzChC,MAAM1C,6BACJ,GAAGoF,oBAAoBV,iBACtBhC;IACHC,OACE3C,6BAA6B,GAAGoF,oBAAoBV,iBAChD/B;IACUE;IAChBnD,eAAeA;IACfsD,cACEhD,6BAA6B,GAAGoF,oBAAoBV,iBAChD1B,gBAAgB;IACtBC,oBACEjD,6BAA6B,GAAGoF,oBAAoBV,iBAChDzB,sBAAsB;IAC5BK,QACEtD,6BAA6B,GAAGoF,oBAAoBV,iBAChDpB,UAAUsB;IAChBrB,cACEvD,6BAA6B,GAAGoF,oBAAoBV,iBAChDnB,gBAAgB+B,KAAAA;IACtBxB,UACE9D,6BAA6B,GAAGoF,oBAAoBV,iBAChDZ;IACQlB;IACf,CAAC;IACF;AAEFxD,SAAOS,KAAKb,mBAAmB,CAACM,SAASiG,cAAc;AAIrD,OAAI,EAH4B/G,4BAA4BiH,KACzDC,QAAQA,IAAIhB,aACd,GAC6BiB,SAASJ,UAAU,EAAE;IACjD,IAAIK,qBACFL,UAAUM,MAAM,GAAG,EAAE,CAACC,aAAa,GAAGP,UAAUM,MAAM,EAAE;AAC1DvD,sBAAkB+C,KAAK;KACrB9C,YACEvC,6BACE,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5C/C,eAAeoD;KACpBnD,OAAO,GAAGpG,eAAe0D,wBAAuB,GAAIrD,WAAU,GAAI6I;KAClE7C,MAAM1C,6BACJ,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5C7C;KACHC,OACE3C,6BACE,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5C5C;KACLE,gBAAgB7D,mBAAmBuG,WAAW9F;KAC9CC,eAAeV,mBAAmBuG,WAAW7F,iBAAiB;KAC9DsD,cACEhD,6BACE,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5CvC,gBAAgB;KACrBC,oBACEjD,6BACE,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5CtC,sBAAsB;KAC3BK,QACEtD,6BACE,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5CjC,UAAUgC,KAAAA;KACf/B,cACEvD,6BACE,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5ChC,gBAAgB+B,KAAAA;KACrBxB,UACE9D,6BACE,GAAG3D,eAAe0D,wBAAuB,GAAIwF,cAC5CzB;KACN,CAAC;;IAEJ;AAEF,MAAI9D,4BAA4B;GAI9B,MAAM+F,cAAcL,UAAQ;IAC1B,MAAMM,IAAIC,OAAOP,MAAI/C,MAAM;AAC3B,WAAO+C,MAAI/C,SAAS,QAAQ+C,MAAI/C,UAAU,MAAMsD,OAAOC,MAAMF,EAAE,GAC3DC,OAAOE,mBACPH;;AAKN,UAHgB,CAAC,GAAG1D,kBAAkB,CAAC+D,MACpCC,GAAGC,MAAMR,WAAWO,EAAE,GAAGP,WAAWQ,EACvC,CAAC;;AAGH,SAAOjE;IACN;EACD5F;EACA4B;EACAxB;EACAC;EACAC;EACAC;EACA+B;EACAR;EACAtB;EACAqB;EACA2D;EACAtD;EACAnB;EACAqB;EACAC;EACAiB;EACAjC;EACD,CAAC;CAEF,MAAMyI,eAAe;EACnBpC,OACE1G,aAAagB,kCAAkChB,aAAahB;EAC9D+J,qBACE9I,yBACAe,kCAAkCf,wBAC9B,OACA;GACE+I,OACEhI,kCAAkCiI,gCAClCrI,EAAE,iCAAiC;IACjC4C,cAAc;IACdxE;IACD,CAAC;GACJ2H,UAAU;GACVuC,eAAe;AACb/J,wBAAoB;;GAEvB;EACPgK,wBAAwB7I,sBACpB,CACE;GACE8I,UAAU;GACVzC,UAAU;GACVqC,OAAOpI,EAAE,kCAAkC,EACzC4C,cAAc,iBACf,CAAC;GACF0F,eAAe3I,sBAAqB;GACrC,CACF,GACDqH,KAAAA;EACL;CAED,MAAMyB,gBAAgB;EACpB,EAAE1D,MAAM,kBAAkB;EAC1B,EAAEA,MAAM,qBAAqB;EAC7B,EAAEA,MAAM,gBAAgB;EACxB,EAAEA,MAAM,yBAAyB;EACjC,EAAEA,MAAM,0BAA0B;EAClC,EAAEA,MAAM,yBAAyB;EACjC,EAAEA,MAAM,sBAAsB;EAC/B;CAED,MAAM2D,cAActL,cAAc;AAChC,SAAO;GACLuL,YAAY;GACZnJ,wBACEA,0BACAY,kCAAkCZ,0BAClC;GACFoJ,cAAc;GACd,GAAG1J;GACJ;IACA;EACDA;EACAM;EACAY;EACD,CAAC;CAEF,MAAMyI,qBAAqBzL,cAAc;EACvC,IAAI0L,uBAAuB;GACzBC,WAAW;GACXC,gBAAgB,CACd;IACEC,aAAa;IACbC,gBAAgB;IAChBC,aAAahL;IACd,EACD;IACE8K,aAAa;IACbC,gBAAgB;IAChBC,aAAa;IACd,CAAA;GAEJ;AAED,MAAItK,oBAAoB;GACtB,IAAIuK,sBAAsBN,qBAAqBE,eAAeK,OAC5DxK,oBAAoBmK,kBAAkB,EACxC,CAAC;AAEDF,0BAAuB;IACrB,GAAGA;IACH,GAAGjK;IACJ;AAEDiK,0BAAuB;IACrB,GAAGA;IACHE,gBAAgBI;IACjB;;AAGH,SAAO;GACLE,YAAY,GAAG1L,cAAcyE,gBAAe;GAC5CkH,oBAAoBT;GACrB;IACA,CAAC3K,mBAAmBU,mBAAmB,CAAC;AAC3C1B,iBAAgB;AACd,MACE6B,WACAC,sBACA6B,OAAOS,KAAKtC,mBAAmB,CAACuC,QAChC;AAEAxC,WAAQwK,eAAevK,mBAAmB;AAG1CD,WAAQyK,iBAAiB;;IAE1B,CAACzK,SAASC,mBAAmB,CAAC;AAEjC,QACE,sBAAA,cAAA,MAAA,UAAA,MACGZ,0BAA0B,sBAAA,cAAC,gBAAA,KAAiB,EAC7C,sBAAA,cAAC,qBAAD;EACE,kBAAkB6J;EACHO;EACFC;EACD3E;EACQ8E;EACpB,iBAAiBvK;EACjB,QAAQN;EACR,YAAYI;EAAW,CAAA,EAEzB,sBAAA,cAAC,cAAD;EACE,OAAO4B,EAAE,4CAA4C,EACnD4C,cAAc,sBACf,CAAC;EACF,SAAS5C,EAAE,8CAA8C;GACvD4C,cACE;GACFwF,OAAO1E,oBAAoBtF;GAC5B,CAAC;EACF,UAAU4B,EAAE,kBAAkB,EAAE4C,cAAc,WAAW,CAAC;EAC1D,WAAWH;EACX,UAAUzC,EAAE,iBAAiB,EAAE4C,cAAc,UAAU,CAAC;EACxD,WAAWJ;EACX,MAAM5C;EACN,aAAa4C;EACb,SAASP;EAAc,CAAA,CAExB"}