{"version":3,"file":"UdpMaintenanceConfigPage.mjs","names":["React","useCallback","useEffect","useState","useMemo","useAxiosGet","useAxiosMutate","useAuthedUser","getSanitizedName","useHistory","PageLoading","useTranslation","ClientSideUdpGrid","ConfigService","UdpMaintenanceConfigPage","props","$","_c","apiCatalogId","setApiCatalogId","user","history","t","t0","Symbol","for","t1","integrationV1ApiUrl","currentTenantId","config","UNITY_PRODUCT_ID","data","tpacb","loading","loadingTpacb","error","tpacbError","t2","t3","promotedGetConfigApi","loadingPromotedGetConfigApi","promotedGetConfigApiError","t4","method","t5","fetchTableConfigList","apiMethodId","tableConfigList","tableConfigListLoading","tableConfigListError","t6","t7","promotedMethods","t8","bb0","t9","tmp","Array","isArray","t10","Object","entries","key","value","push","mergedData","tableConfig","matchingEntityRow","find","promotedEntity","entityName","placeholderData","productId","unityBaseGetAllMethod","unityBaseGetMethod","unityBaseCreateMethod","unityBaseUpdateMethod","unityBaseDeleteMethod","reduce","result","rowData","selectedEntity","from","handleOpenEntityMaintenancePage","defaultValue","t11","e","params","t12","id","title","iconName","handleOnClick","disabled","actionList","t13","t14","headerName","field","valueGetter","_temp","t15","t16","t17","cellRenderer","cellRendererParams","t18","columnDefs","t19","t20","t21","t22","t23","t24","t25","params_0","properties","displayName","sanitizedName"],"sources":["../../../../src/udp/pages/UdpMaintenanceConfigPage/UdpMaintenanceConfigPage.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useMemo } from 'react';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport { useAxiosMutate } from '../../../utilities/useAxiosMutate';\nimport { useAuthedUser } from '../../../utilities/auth/useAuthedUser';\nimport { getSanitizedName } from '../../../utilities/entities/entityUtilities';\nimport { useHistory } from 'react-router-dom';\nimport { PageLoading } from '../../../UI/feedback/PageLoading';\nimport { useTranslation } from 'react-i18next';\nimport { ClientSideUdpGrid } from '../../../UI/templates/newGrid/ClientSideUdpGrid';\nimport { ConfigService } from '../../../configService';\n\nconst UdpMaintenanceConfigPage = (props) => {\n  const [apiCatalogId, setApiCatalogId] = useState(null);\n  const user = useAuthedUser();\n  const history = useHistory();\n  const { t } = useTranslation();\n\n  /* #region  API Methods */\n\n  const [{ data: tpacb, loading: loadingTpacb, error: tpacbError }] =\n    useAxiosGet(\n      ConfigService.integrationV1ApiUrl,\n      `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n      {},\n      !!!user,\n      false\n    );\n\n  const [\n    {\n      data: promotedGetConfigApi,\n      loading: loadingPromotedGetConfigApi,\n      error: promotedGetConfigApiError\n    }\n  ] = useAxiosGet(\n    ConfigService.integrationV1ApiUrl,\n    `apicatalog/${apiCatalogId}/promotedConfigEntity/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n    {},\n    !!!apiCatalogId,\n    false\n  );\n\n  const [\n    {\n      data: tableConfigList,\n      loading: tableConfigListLoading,\n      error: tableConfigListError\n    },\n    fetchTableConfigList\n  ] = useAxiosMutate(\n    ConfigService.integrationV1ApiUrl,\n    `apimethod/executeQueryWithParameters/${promotedGetConfigApi?.apiMethodId}`,\n    {\n      method: 'post'\n    }\n  );\n\n  const [{ data: promotedMethods, loading, error }] = useAxiosGet(\n    ConfigService.integrationV1ApiUrl,\n    `apicatalog/${apiCatalogId}/promotedMethodEntities?productId=${ConfigService.config.UNITY_PRODUCT_ID}`,\n    {},\n    !!!apiCatalogId,\n    false\n  );\n\n  /* #endregion */\n\n  const rowData = useMemo(() => {\n    if (!promotedMethods || !tableConfigList) {\n      return [];\n    }\n    let tmp = [];\n    if (Array.isArray(tableConfigList)) {\n      tmp = tableConfigList;\n    } else {\n      // eslint-disable-next-line no-unused-vars\n      for (const [key, value] of Object.entries(tableConfigList)) {\n        tmp.push(`${key}`);\n      }\n    }\n\n    const result = tmp.reduce((mergedData, tableConfig) => {\n      const matchingEntityRow = promotedMethods.find(\n        (promotedEntity) =>\n          promotedEntity.entityName === getSanitizedName(tableConfig)\n      );\n      if (matchingEntityRow) {\n        mergedData.push(matchingEntityRow);\n      } else {\n        const placeholderData = {\n          entityName: tableConfig,\n          productId: ConfigService.config.UNITY_PRODUCT_ID,\n          unityBaseGetAllMethod: null,\n          unityBaseGetMethod: null,\n          unityBaseCreateMethod: null,\n          unityBaseUpdateMethod: null,\n          unityBaseDeleteMethod: null\n        };\n        mergedData.push(placeholderData);\n      }\n      return mergedData;\n    }, []);\n    return result;\n  }, [promotedMethods, tableConfigList]);\n\n  const handleOpenEntityMaintenancePage = useCallback(\n    (selectedEntity) => {\n      history.push(`/crudbrowser`, {\n        entityName: getSanitizedName(selectedEntity?.entityName),\n        apiCatalogId: apiCatalogId,\n        from: 'tablebrowser'\n      });\n    },\n    [history, apiCatalogId]\n  );\n\n  const actionList = useMemo(\n    () => [\n      {\n        id: 0,\n        title: t('maintenanceConfig.actions.viewTableData', { defaultValue: 'View table data' }),\n        iconName: 'arrowRight16',\n        handleOnClick: (e, params) => handleOpenEntityMaintenancePage(params?.data),\n        disabled: false\n      }\n    ],\n    [handleOpenEntityMaintenancePage, t]\n  );\n\n  const columnDefs = useMemo(() => {\n    return [\n      {\n        headerName: t('maintenanceConfig.grid.columns.entityName', { defaultValue: 'Entity Name' }),\n        field: 'entityName',\n        valueGetter: (params) =>\n          params.data?.properties?.displayName ||\n          params.data?.sanitizedName ||\n          getSanitizedName(params.data?.entityName),\n      },\n      {\n        headerName: t('maintenanceConfig.grid.columns.actions', { defaultValue: 'Actions' }),\n        field: 'actions',\n        cellRenderer: 'actionsRenderer',\n        cellRendererParams: {\n          actionList: actionList\n        }\n      }\n    ];\n  }, [actionList, t]);\n\n  useEffect(() => {\n    if (tpacb) {\n      setApiCatalogId(tpacb.apiCatalogId);\n    }\n  }, [tpacb]);\n\n  useEffect(() => {\n    if (promotedGetConfigApi?.apiMethodId) {\n      fetchTableConfigList({ data: {} });\n    }\n  }, [fetchTableConfigList, promotedGetConfigApi]);\n\n  if (loadingTpacb || loadingPromotedGetConfigApi || tableConfigListLoading) {\n    return <PageLoading />;\n  }\n\n  if (tpacbError) {\n    return (\n      <div>\n        {t('maintenanceConfig.errors.noApiCatalog', { defaultValue: 'There is no Api Catalog associated with your tenant and product' })}\n      </div>\n    );\n  }\n\n  if (promotedGetConfigApiError) {\n    return (\n      <div>\n        {t('maintenanceConfig.errors.promoteGetConfigMethod', {\n          defaultValue:\n            'Please promote your get configuration tables method before proceeding'\n        })}\n      </div>\n    );\n  }\n\n  if (tableConfigListError) {\n    return <div>{t('maintenanceConfig.errors.noTablesFound', { defaultValue: 'No configuration tables could be found' })}</div>;\n  }\n\n  return (\n    <ClientSideUdpGrid\n      rowData={rowData}\n      columnDefs={columnDefs}\n      gridHeaderConfig={{ title: t('maintenanceConfig.title', { defaultValue: 'Table Browser' }) }}\n    />\n  );\n};\n\nexport default UdpMaintenanceConfigPage;\n"],"mappings":"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"}