{"version":3,"file":"UdpGridPanelManagementPage.mjs","names":["React","useCallback","useEffect","useMemo","useState","useRef","AmbientGridTemplate","AddIcon","DeleteIcon","EditIcon","Typography","useTranslation","PrimaryActionButton","ActionsRenderer","apiMutate","UdpVerticalManagementSidesheet","FluentDialog","useHandleAxiosSnackbar","SideSheet","UdpGridPanelManagementSidesheet","useAgGridApi","ConfigService","UdpGridPanelManagementPage","props","params","nodeObj","environment","t","loading","setLoading","gridPanels","setGridPanels","grids","setGrids","panels","setPanels","addSidesheetOpen","setAddSidesheetOpen","selectedRow","setSelectedRow","deleteDialogOpen","setDeleteDialogOpen","dataToDelete","setDataToDelete","grid","setGrid","panel","setPanel","handleErrorSnackbar","handleSuccessSnackbar","executeMutation","endpoint","method","data","uemV1ApiUrl","getGridPanels","requestPayload","customerId","environmentId","apiPath","response","status","getGrids","getPanels","createGridPanel","gridId","panelId","defaultValue","updateGridPanel","gridPanelId","deleteGridPanel","openDeleteDialog","console","log","handleEdit","row","selectedGrid","find","selectedPanel","actionList","id","title","icon","onClick","disabled","gridOptions","frameworkComponents","actionsRenderer","columnDefs","headerName","field","cellRenderer","cellRendererParams","pinned","suppressMenu","sortable","handleClose"],"sources":["../../../../src/udp/pages/UdpGridPanelManagementPage/UdpGridPanelManagementPage.jsx"],"sourcesContent":["import React, {\n  useCallback,\n  useEffect,\n  useMemo,\n  useState,\n  useRef\n} from 'react';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\n// import { executeQueryAdHoc, getBaseMethod } from '../utilities/methodUtils';\nimport { AddIcon, DeleteIcon, EditIcon } from '@fluentui/react-icons';\nimport { Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport { PrimaryActionButton } from '../../../UI/inputs/buttons/PrimaryActionButton';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport UdpVerticalManagementSidesheet from '../UdpVerticalManagementSidesheet';\nimport { FluentDialog } from '../../../UI/feedback/FluentDialog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport UdpGridPanelManagementSidesheet from '../UdpGridPanelManagementSidesheet';\nimport { useAgGridApi } from '../../../utilities/aggrid/AgTable';\nimport { ConfigService } from '../../../configService';\n\nconst UdpGridPanelManagementPage = (props) => {\n  const { params } = props;\n  const { nodeObj: environment } = params;\n  const { t } = useTranslation();\n  const [loading, setLoading] = useState(false);\n  const [gridPanels, setGridPanels] = useState([]);\n  const [grids, setGrids] = useState([]);\n  const [panels, setPanels] = useState([]);\n  const [addSidesheetOpen, setAddSidesheetOpen] = useState(false);\n  const [selectedRow, setSelectedRow] = useState();\n  const [deleteDialogOpen, setDeleteDialogOpen] = useState();\n  const [dataToDelete, setDataToDelete] = useState();\n\n  const [grid, setGrid] = useState(null);\n  const [panel, setPanel] = useState(null);\n  const { handleErrorSnackbar, handleSuccessSnackbar } =\n    useHandleAxiosSnackbar();\n\n  const executeMutation = useCallback(\n    async (endpoint, method, data) =>\n      apiMutate(\n        ConfigService.uemV1ApiUrl,\n        endpoint,\n        {\n          method: method || 'post'\n        },\n        data\n      ),\n    []\n  );\n\n  const getGridPanels = useCallback(async () => {\n    setLoading(true);\n    const requestPayload = {\n      data: {\n        customerId: null,\n        environmentId: environment.environmentId,\n        apiPath: `TenantService/api/v2/gridPanel`\n      }\n    };\n\n    const response = await executeMutation('uem', 'post', requestPayload);\n    if (response?.status === 200) {\n      setGridPanels(response?.data);\n    }\n    setLoading(false);\n  }, [environment?.environmentId, executeMutation]);\n\n  const getGrids = useCallback(async () => {\n    const requestPayload = {\n      data: {\n        customerId: null,\n        environmentId: environment.environmentId,\n        apiPath: `TenantService/api/v2/grid`\n      }\n    };\n\n    const response = await executeMutation('uem', 'post', requestPayload);\n    if (response?.status === 200) {\n      setGrids(response?.data);\n    }\n  }, [environment?.environmentId, executeMutation]);\n\n  const getPanels = useCallback(async () => {\n    const requestPayload = {\n      data: {\n        customerId: null,\n        environmentId: environment.environmentId,\n        apiPath: `IntegrationService/api/v2/panel`\n      }\n    };\n\n    const response = await executeMutation('uem', 'post', requestPayload);\n    if (response?.status === 200) {\n      setPanels(response?.data);\n    }\n  }, [environment?.environmentId, executeMutation]);\n\n  const createGridPanel = useCallback(async () => {\n    setLoading(true);\n\n    const requestPayload = {\n      data: {\n        customerId: null,\n        gridId: grid.gridId,\n        panelId: panel.panelId,\n        environmentId: environment.environmentId,\n        apiPath: `api/v1/gridPanel/uemCreate`\n      }\n    };\n\n    const response = await executeMutation(\n      'gridPanel/uemCreate',\n      'post',\n      requestPayload\n    );\n    if (response?.status === 201) {\n      handleSuccessSnackbar(t('gridPanels.snackbar.created', { defaultValue: 'GridPanel Created Successfully' }));\n      getGridPanels();\n      setAddSidesheetOpen(false);\n    } else {\n      handleErrorSnackbar(t('gridPanels.snackbar.genericError', { defaultValue: 'Something went wrong' }));\n    }\n    setLoading(false);\n  }, [\n    environment,\n    executeMutation,\n    getGridPanels,\n    grid,\n    handleErrorSnackbar,\n    handleSuccessSnackbar,\n    panel,\n    t\n  ]);\n\n  const updateGridPanel = useCallback(async () => {\n    setLoading(true);\n\n    const requestPayload = {\n      data: {\n        gridPanelId: selectedRow.gridPanelId,\n        customerId: null,\n        gridId: grid.gridId,\n        panelId: panel.panelId,\n        environmentId: environment.environmentId\n      }\n    };\n\n    const response = await executeMutation(\n      'gridPanel/uemUpdate',\n      'put',\n      requestPayload\n    );\n    if (response?.status === 204) {\n      handleSuccessSnackbar(t('gridPanels.snackbar.updated', { defaultValue: 'GridPanel Updated Successfully' }));\n      getGridPanels();\n      setAddSidesheetOpen(false);\n    } else {\n      handleErrorSnackbar(t('gridPanels.snackbar.genericError', { defaultValue: 'Something went wrong' }));\n    }\n    setLoading(false);\n  }, [\n    environment,\n    executeMutation,\n    getGridPanels,\n    grid,\n    handleErrorSnackbar,\n    handleSuccessSnackbar,\n    panel,\n    selectedRow,\n    t\n  ]);\n\n  const deleteGridPanel = useCallback(async () => {\n    setLoading(true);\n\n    const requestPayload = {\n      data: {\n        gridPanelId: dataToDelete.gridPanelId,\n        customerId: null,\n        gridId: dataToDelete.gridId,\n        panelId: dataToDelete.panelId,\n        environmentId: environment.environmentId\n      }\n    };\n\n    const response = await executeMutation(\n      'gridPanel/uemDelete',\n      'delete',\n      requestPayload\n    );\n    if (response?.status === 204) {\n      handleSuccessSnackbar(t('gridPanels.snackbar.deleted', { defaultValue: 'GridPanel Deleted Successfully' }));\n      getGridPanels();\n    } else {\n      handleErrorSnackbar(t('gridPanels.snackbar.genericError', { defaultValue: 'Something went wrong' }));\n    }\n    setDataToDelete();\n    setLoading(false);\n  }, [\n    environment,\n    executeMutation,\n    getGridPanels,\n    handleErrorSnackbar,\n    handleSuccessSnackbar,\n    dataToDelete,\n    t\n  ]);\n\n  const openDeleteDialog = (data) => {\n    setDeleteDialogOpen(true);\n    setDataToDelete(data);\n    console.log(data);\n  };\n\n  useEffect(() => {\n    getGridPanels();\n    getGrids();\n    getPanels();\n  }, [getGridPanels, getGrids, getPanels]);\n\n  const handleEdit = useCallback((row) => {\n    setSelectedRow(row);\n  }, []);\n\n  useEffect(() => {\n    if (selectedRow) {\n      const selectedGrid = grids.find(\n        (grid) => grid.gridId === selectedRow.gridId\n      );\n      const selectedPanel = panels.find(\n        (panel) => panel.panelId === selectedRow.panelId\n      );\n      setGrid(selectedGrid);\n      setPanel(selectedPanel);\n      setAddSidesheetOpen(true);\n    }\n  }, [grids, panels, selectedRow]);\n\n  const actionList = useMemo(\n    () => [\n      {\n        id: 1, // Must be unique\n        title: t('common.edit', { defaultValue: 'Edit' }),\n        icon: EditIcon,\n        onClick: handleEdit,\n        disabled: false\n      },\n      {\n        id: 2, // Must be unique\n        title: t('common.delete', { defaultValue: 'Delete' }),\n        icon: DeleteIcon,\n        onClick: openDeleteDialog,\n        disabled: false\n      }\n    ],\n    [t, handleEdit]\n  );\n\n  const gridOptions = useMemo(\n    () => ({\n      frameworkComponents: {\n        actionsRenderer: ActionsRenderer\n      },\n      columnDefs: [\n        {\n          headerName: t('gridPanels.grid.columns.gridPanelId', { defaultValue: 'gridPanelId' }),\n          field: 'gridPanelId'\n        },\n        {\n          headerName: t('gridPanels.grid.columns.gridId', { defaultValue: 'gridId' }),\n          field: 'gridId'\n        },\n        {\n          headerName: t('gridPanels.grid.columns.panelId', { defaultValue: 'panelId' }),\n          field: 'panelId'\n        },\n        {\n          headerName: t('gridPanels.grid.columns.actions', { defaultValue: 'Actions' }),\n          cellRenderer: 'actionsRenderer',\n          cellRendererParams: {\n            actionList\n          },\n          pinned: 'right',\n          suppressMenu: true,\n          sortable: false\n        }\n      ]\n    }),\n    [actionList, t]\n  );\n\n  const handleClose = useCallback(() => {\n    setGrid();\n    setPanel();\n    setSelectedRow();\n    setAddSidesheetOpen(false);\n  }, []);\n\n  return (\n    <>\n      <UdpGridPanelManagementSidesheet\n        title={\n          selectedRow\n            ? t('gridPanels.sidesheet.updateTitle', { defaultValue: 'Update GridPanel' })\n            : t('gridPanels.sidesheet.createTitle', { defaultValue: 'Create GridPanel' })\n        }\n        open={addSidesheetOpen}\n        onClose={handleClose}\n        environment={environment}\n        grids={grids}\n        panels={panels}\n        grid={grid}\n        setGrid={setGrid}\n        panel={panel}\n        setPanel={setPanel}\n        onSubmit={selectedRow ? updateGridPanel : createGridPanel}\n      />\n      <FluentDialog\n        open={deleteDialogOpen}\n        handleClose={() => setDeleteDialogOpen(false)}\n        title={t('gridPanels.deleteDialog.title', { defaultValue: 'Delete GridPanel' })}\n        message={t('gridPanels.deleteDialog.message', { defaultValue: 'Are you sure?' })}\n        actionOne={deleteGridPanel}\n        labelOne={t('common.delete', { defaultValue: 'Delete' })}\n        actionTwo={() => setDeleteDialogOpen(false)}\n        labelTwo={t('common.cancel', { defaultValue: 'Cancel' })}\n      />\n      <AmbientGridTemplate\n        title={t('gridPanels.title', { defaultValue: 'Grid Panel Manager' })}\n        useNewHeader\n        data={gridPanels}\n        gridOptions={gridOptions}\n        onPrimaryActionClick={() => setAddSidesheetOpen(true)}\n        primaryActionLabel={t('common.add', { defaultValue: 'Add' })}\n        loading={loading}\n      />\n    </>\n  );\n};\n\nexport default UdpGridPanelManagementPage;\n"],"mappings":"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"}