{"version":3,"file":"MyExportsPage.mjs","names":["React","useMemo","useState","useCallback","useEffect","useTranslation","StatusCircleCheckmarkIcon","ErrorIcon","DownloadIcon","getSanitizedName","FluentDialog","EmptyStateDisplay","useAxiosGet","ActionsRenderer","AmbientAlert","TableContainer","StatusCellRenderer","useUser","AmbientAutoComplete","executeQueryWithParameters","useHandleAxiosSnackbar","ConfigService","MyExportsPage","props","$","_c","productId","t","user","product","setProduct","downloadLinkLoading","setDownloadLinkLoading","fileResultData","setFileResultData","downloadOpen","setDownloadOpen","noDownloadMethod","setNoDownloadMethod","handleErrorSnackbar","handleSuccessSnackbar","t0","Symbol","for","t1","tenantV2ApiUrl","currentTenantId","can","CAN_MANAGE_CATALOGS_FOR_UNSUBSCRIBABLE_PRODUCTS","data","products","loading","productsLoading","t2","t3","integrationV1ApiUrl","apiCatalog","catalogLoading","error","catalogError","t4","t5","apiCatalogId","udpJobEntity","jobEntityLoading","t6","unityBaseGetFileResultMethod","apiMethodId","selectedRecord","JobId","id","then","res","catch","_temp","refetchfileResultData","t7","handleSelectRecord","getOptionLabel","_temp2","t8","val_0","val","handleProductChange","t9","link","document","createElement","href","download","body","appendChild","click","removeChild","defaultValue","handleFileDownload","getJobStatus","_temp3","t10","value_0","value","getJobLabel","t11","t12","t13","searchField","searchOperator","searchValue","filterElements","t14","t15","title","icon","onClick","disabled","checkDisabled","_temp4","actionList","t16","t17","headerName","sortable","field","suppressMenu","t18","t19","minWidth","valueFormatter","_temp5","t20","t21","_temp6","t22","t23","getStatus","getLabel","t24","wrapText","autoHeight","cellRenderer","cellRendererParams","maxWidth","t25","t26","_temp7","t27","display","alignItems","t28","filter","pinned","width","cellStyle","t29","columnDefs","t30","unityBaseSearchMethod","t31","margin","t32","t33","t34","statusCellRenderer","actionsRenderer","t35","t36","t37","t38","t39","t40","t41","t42","t43","t44","err","name","value_1","statusId","data_0","data_1","Date","startTime","toLocaleString","data_2"],"sources":["../../../src/udp/export/MyExportsPage.jsx"],"sourcesContent":["import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n  StatusCircleCheckmarkIcon,\n  ErrorIcon,\n  DownloadIcon\n} from '@fluentui/react-icons';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { FluentDialog } from '../../UI/feedback/FluentDialog';\nimport { EmptyStateDisplay } from '../../UI/dataDisplay/EmptyStateDisplay';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { ActionsRenderer } from '../../UI/templates/ui/renderers/ActionsRenderer';\nimport { AmbientAlert } from '../../UI/feedback/AmbientAlert';\nimport { TableContainer } from '../../maintenanceEngine/tableBrowser/TableContainer';\nimport { StatusCellRenderer } from '../../UI/templates/ui/renderers/StatusCellRenderer';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { AmbientAutoComplete } from '../../UI/inputs/textField/AmbientAutoComplete';\nimport { executeQueryWithParameters } from '../utilities/methodUtils';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { ConfigService } from '../../configService';\n\nexport const MyExportsPage = (props) => {\n  const { productId } = props;\n  const { t } = useTranslation();\n  const user = useUser();\n  const [product, setProduct] = useState();\n  const [downloadLinkLoading, setDownloadLinkLoading] = useState(false);\n  const [fileResultData, setFileResultData] = useState();\n  const [downloadOpen, setDownloadOpen] = useState(false);\n  const [noDownloadMethod, setNoDownloadMethod] = useState(false);\n\n  const { handleErrorSnackbar, handleSuccessSnackbar } =\n    useHandleAxiosSnackbar();\n\n  const [{ data: products, loading: productsLoading }] = useAxiosGet(\n    ConfigService.tenantV2ApiUrl,\n    `tenant/products?tenantId=${user?.currentTenantId}&isSubscribable=${!user\n      ?.can?.CAN_MANAGE_CATALOGS_FOR_UNSUBSCRIBABLE_PRODUCTS}`,\n    {},\n    !user\n  );\n\n  const [{ data: apiCatalog, loading: catalogLoading, error: catalogError }] =\n    useAxiosGet(\n      ConfigService.integrationV1ApiUrl,\n      `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${\n        productId ? productId : product?.productId\n      }`,\n      {},\n      !(product || productId),\n      false\n    );\n\n  const [{ data: udpJobEntity, loading: jobEntityLoading }] = useAxiosGet(\n    ConfigService.integrationV1ApiUrl,\n    `apicatalog/${apiCatalog?.apiCatalogId}/promotedMethodEntities/udpJob/product/${apiCatalog?.productId}?compareSanitizedName=true`,\n    {},\n    !apiCatalog?.productId || !apiCatalog?.apiCatalogId,\n    false\n  );\n\n  const refetchfileResultData = useCallback(\n    async (selectedRecord) => {\n      if (udpJobEntity?.unityBaseGetFileResultMethod?.apiMethodId) {\n        setDownloadLinkLoading(true);\n        await executeQueryWithParameters(\n          {\n            data: { JobId: selectedRecord?.id }\n          },\n          udpJobEntity?.unityBaseGetFileResultMethod?.apiMethodId\n        )\n          .then((res) => {\n            setFileResultData(res.data);\n          })\n          .catch((err) => {});\n        setDownloadLinkLoading(false);\n      } else {\n        setNoDownloadMethod(true);\n      }\n    },\n    [udpJobEntity?.unityBaseGetFileResultMethod?.apiMethodId]\n  );\n\n  const handleSelectRecord = useCallback(\n    (data) => {\n      refetchfileResultData(data);\n      setDownloadOpen(true);\n    },\n    [refetchfileResultData]\n  );\n\n  const getOptionLabel = (val) => {\n    return val?.name;\n  };\n\n  const handleProductChange = useCallback((val) => {\n    setProduct(val);\n  }, []);\n\n  const handleFileDownload = useCallback(() => {\n    if (fileResultData?.link) {\n      const link = document.createElement('a');\n      link.href = fileResultData?.link;\n      link.download = '';\n      document.body.appendChild(link);\n      link.click();\n      document.body.removeChild(link);\n      setDownloadOpen(false);\n      handleSuccessSnackbar(\n        t('exports.snackbar.fileDownloaded', { defaultValue: 'File successfully downloaded' })\n      );\n    }\n  }, [fileResultData?.link, handleSuccessSnackbar, t]);\n\n  const getJobStatus = (value) => {\n    if (value === 1) {\n      return null;\n    } else if (value === 2) {\n      return 'info';\n    } else if (value === 3) {\n      return 'success';\n    } else if (value === 4) {\n      return 'error';\n    }\n  };\n\n  // Memoized because it closes over `t`: the columnDefs memo below depends on\n  // it, so an unstable identity would defeat that memoization.\n  const getJobLabel = useCallback(\n    (value) => {\n      if (value === 1) {\n        return t('exports.status.pending', { defaultValue: 'Pending' });\n      } else if (value === 2) {\n        return t('exports.status.running', { defaultValue: 'Running' });\n      } else if (value === 3) {\n        return t('exports.status.completed', { defaultValue: 'Completed' });\n      } else if (value === 4) {\n        return t('exports.status.failed', { defaultValue: 'Failed' });\n      }\n    },\n    [t]\n  );\n\n  useEffect(() => {\n    if (catalogError) {\n      handleErrorSnackbar(\n        '',\n        t('exports.errors.fetchCatalog', {\n          defaultValue: 'Error fetching catalog for the selected product'\n        })\n      );\n    }\n  }, [catalogError, handleErrorSnackbar, t]);\n\n  const filterElements = useMemo(() => {\n    return [\n      {\n        searchField: 'jobTypeId',\n        searchOperator: '=',\n        searchValue: 2\n      }\n    ];\n  }, []);\n\n  const actionList = useMemo(() => {\n    return [\n      {\n        id: 1,\n        title: t('common.download', { defaultValue: 'Download' }),\n        icon: DownloadIcon,\n        onClick: handleSelectRecord,\n        disabled: false,\n        checkDisabled: (value) => value?.statusId !== 3\n      }\n    ];\n  }, [handleSelectRecord, t]);\n\n  const columnDefs = useMemo(\n    () => [\n      {\n        headerName: t('exports.grid.columns.id', { defaultValue: 'Id' }),\n        sortable: true,\n        field: 'id',\n        suppressMenu: true\n      },\n      {\n        headerName: t('exports.grid.columns.name', { defaultValue: 'Name' }),\n        sortable: false,\n        field: 'name',\n        minWidth: 140,\n        suppressMenu: true,\n        valueFormatter: (data) => getSanitizedName(data.data.name)\n      },\n      {\n        headerName: t('exports.grid.columns.date', { defaultValue: 'Date' }),\n        sortable: false,\n        valueFormatter: (data) =>\n          new Date(data.data.startTime).toLocaleString(),\n        minWidth: 130,\n        suppressMenu: true\n        //sort: 'desc',\n      },\n      {\n        headerName: t('exports.grid.columns.status', { defaultValue: 'Status' }),\n        field: 'statusId',\n        wrapText: true,\n        autoHeight: true,\n        sortable: false,\n        cellRenderer: 'statusCellRenderer',\n        cellRendererParams: { getStatus: getJobStatus, getLabel: getJobLabel },\n        minWidth: 130,\n        maxWidth: 130,\n        suppressMenu: true\n      },\n\n      {\n        headerName: t('exports.grid.columns.actions', { defaultValue: 'Actions' }),\n        filter: false,\n        pinned: 'right',\n        cellRenderer: 'actionsRenderer',\n        width: 120,\n        maxWidth: 120,\n        cellRendererParams: {\n          actionList: actionList,\n          value: (data) => data\n        },\n        suppressMenu: true,\n        sortable: false,\n        cellStyle: { display: 'flex', alignItems: 'center' }\n      }\n    ],\n    [actionList, getJobLabel, t]\n  );\n\n  return (\n    <div>\n      {udpJobEntity && !udpJobEntity?.unityBaseSearchMethod?.apiMethodId && (\n        <AmbientAlert\n          alertMessage={t('exports.errors.searchMethodNotPromoted', {\n            defaultValue: \"UdpJob's search method must be promoted\"\n          })}\n          showAlert={true}\n          alertSeverity={'error'}\n        />\n      )}\n\n      {!productId && (\n        <div style={{ margin: '0px 5px 5px 5px' }}>\n          <AmbientAutoComplete\n            isMultiple={false}\n            id={'product'}\n            name={'product'}\n            label={t('exports.product', { defaultValue: 'Product' })}\n            onChange={handleProductChange}\n            options={products}\n            size='small'\n            getOptionLabelFunction={getOptionLabel}\n            value={product}\n            required\n          />\n        </div>\n      )}\n      <TableContainer\n        loading={productsLoading || catalogLoading || jobEntityLoading}\n        title={t('exports.title', { defaultValue: 'Exports' })}\n        isServerSide={true}\n        eagerLoad={false}\n        logicalSearchOperator={2}\n        promotedEntity={udpJobEntity}\n        filterElements={filterElements}\n        actionList={actionList}\n        customColumnDefs={columnDefs}\n        frameworkComponents={{\n          statusCellRenderer: StatusCellRenderer,\n          actionsRenderer: ActionsRenderer\n        }}\n        hideSearchBar\n        hiddenActionButtons={[\n          'saveView',\n          'views',\n          'insights',\n          'importExport',\n          'group',\n          'filter',\n          'columns',\n          'clearFilters',\n          'fitGrid',\n          'expandGrid'\n        ]}\n        height={'calc(100vh - 167px)'}\n        dynamicSizing\n      />\n      <FluentDialog\n        actionOne={handleFileDownload}\n        actionTwo={() => setDownloadOpen(false)}\n        labelOne={t('common.download', { defaultValue: 'Download' })}\n        labelTwo={t('common.cancel', { defaultValue: 'Cancel' })}\n        open={downloadOpen}\n        handleClose={() => setDownloadOpen(false)}\n        disableOne={noDownloadMethod || downloadLinkLoading}\n        progress={downloadLinkLoading}\n        fullWidth\n      >\n        {noDownloadMethod ? (\n          <AmbientAlert\n            alertMessage={t('exports.errors.fileResultMethodNotPromoted', {\n              defaultValue: \"UdpJob's get file result method must be promoted\"\n            })}\n            showAlert={true}\n            alertSeverity={'error'}\n          />\n        ) : downloadLinkLoading ? (\n          <EmptyStateDisplay\n            primaryText={t('exports.dialog.fetchingLink', { defaultValue: 'Fetching download link...' })}\n          />\n        ) : (\n          <EmptyStateDisplay\n            icon={noDownloadMethod ? ErrorIcon : StatusCircleCheckmarkIcon}\n            primaryText={\n              !noDownloadMethod &&\n              t('exports.dialog.fileReadyToDownload', { defaultValue: 'File is ready to download!' })\n            }\n          />\n        )}\n      </FluentDialog>\n    </div>\n  );\n};\n\nexport default MyExportsPage;\n"],"mappings":"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"}