{"version":3,"file":"UdpVerticalManagementPage.mjs","names":["React","useCallback","useEffect","useMemo","useState","useRef","AmbientGridTemplate","AddIcon","DeleteIcon","EditIcon","Typography","useTranslation","PrimaryActionButton","ActionsRenderer","apiMutate","UdpVerticalManagementSidesheet","FluentDialog","useHandleAxiosSnackbar","ConfigService","UdpVerticalManagementPage","props","params","nodeObj","environment","inquiryNodeProperties","t","sideSheetOpen","setSideSheetOpen","sideSheetEdit","setSideSheetEdit","loading","setLoading","selectedVertical","setSelectedVertical","verticals","setVerticals","productVertical","setProductVertical","deleteDialogOpen","setDeleteDialogOpen","selectedVerticalRef","current","handleErrorSnackbar","handleSuccessSnackbar","openSheetAsEdit","isEdit","closeDeleteDialog","executeMutation","endpoint","method","data","uemV1ApiUrl","getVerticals","isFirstLoad","response","status","deleteVertical","environmentId","apiPath","verticalId","console","log","defaultValue","getVerticalsData","customerId","getProductVerticals","productVerticalData","closeSheet","handleEditPage","value","handleCreateVertical","handleDelete","actionList","id","title","icon","onClick","disabled","gridOptions","frameworkComponents","actionsRenderer","columnDefs","headerName","field","minWidth","cellRenderer","cellRendererParams","pinned","suppressMenu","sortable","pab","marginRight","name"],"sources":["../../../../src/udp/pages/UdpVerticalManagementPage/UdpVerticalManagementPage.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 { ConfigService } from '../../../configService';\n\nconst UdpVerticalManagementPage = (props) => {\n  const { params } = props;\n  const { nodeObj: environment, inquiryNodeProperties } = params;\n  const { t } = useTranslation();\n\n  const [sideSheetOpen, setSideSheetOpen] = useState(false);\n  const [sideSheetEdit, setSideSheetEdit] = useState(false);\n  const [loading, setLoading] = useState(false);\n  const [selectedVertical, setSelectedVertical] = useState(null);\n  const [verticals, setVerticals] = useState([]);\n  const [productVertical, setProductVertical] = useState([]);\n  const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n  const selectedVerticalRef = useRef();\n  selectedVerticalRef.current = selectedVertical ? selectedVertical : null;\n  const { handleErrorSnackbar, handleSuccessSnackbar } =\n    useHandleAxiosSnackbar();\n\n  const openSheetAsEdit = useCallback((isEdit) => {\n    setSideSheetOpen(true);\n    setSideSheetEdit(isEdit);\n  }, []);\n\n  const closeDeleteDialog = useCallback(() => {\n    setDeleteDialogOpen(false);\n  }, [setDeleteDialogOpen]);\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 getVerticals = useCallback(\n    async (data, isFirstLoad = false) => {\n      if (isFirstLoad) {\n        setLoading(true);\n      }\n\n      const response = await executeMutation('uem', 'post', data);\n      if (response?.status === 200) {\n        setVerticals(response?.data);\n      }\n      if (isFirstLoad) {\n        setLoading(false);\n      }\n    },\n    [executeMutation]\n  );\n\n  const deleteVertical = useCallback(async () => {\n    const data = {\n      data: {\n        environmentId: environment.environmentId,\n        apiPath: `TenantService/api/v2/Vertical/${selectedVerticalRef.current.verticalId}/uemDelete`\n      }\n    };\n    const response = await executeMutation(\n      `vertical/${selectedVerticalRef.current.verticalId}/uemDelete`,\n      'delete',\n      data\n    );\n    if (response?.status === 204) {\n      console.log('success');\n      handleSuccessSnackbar(t('verticals.snackbar.deleted', { defaultValue: 'Vertical Deleted Successfully' }));\n    }\n    const getVerticalsData = {\n      data: {\n        customerId: null,\n        environmentId: environment.environmentId,\n        apiPath: `TenantService/api/v2/Vertical`\n      }\n    };\n    getVerticals(getVerticalsData, true);\n    closeDeleteDialog();\n  }, [executeMutation, selectedVertical, closeDeleteDialog, t]);\n\n  const getProductVerticals = useCallback(\n    async (data) => {\n      const response = await executeMutation('productVertical', 'get', data);\n      if (response?.status === 200) {\n        setProductVertical(response?.data);\n      }\n    },\n    [executeMutation]\n  );\n\n  useEffect(() => {\n    if (environment && getVerticals) {\n      if (environment.environmentId) {\n        const productVerticalData = {\n          data: {\n            apiPath: `api/v2/ProductVertical`\n          }\n        };\n        getProductVerticals(productVerticalData);\n        const data = {\n          data: {\n            customerId: null,\n            environmentId: environment.environmentId,\n            apiPath: `TenantService/api/v2/Vertical`\n          }\n        };\n        getVerticals(data, true);\n      }\n    }\n  }, [environment, getVerticals, getProductVerticals, deleteVertical]);\n\n  const closeSheet = useCallback(() => {\n    setSideSheetOpen(false);\n    const data = {\n      data: {\n        customerId: null,\n        environmentId: environment.environmentId,\n        apiPath: `TenantService/api/v2/Vertical`\n      }\n    };\n\n    getVerticals(data);\n  }, [getVerticals, environment]);\n\n  const handleEditPage = useCallback(\n    (value) => {\n      setSelectedVertical(value);\n      console.log('Edit page, value: ', value);\n      openSheetAsEdit(true);\n    },\n    [t]\n  );\n\n  const handleCreateVertical = useCallback(\n    (value) => {\n      openSheetAsEdit(false);\n    },\n    [t]\n  );\n\n  const handleDelete = useCallback(\n    (value) => {\n      setSelectedVertical(value);\n      console.log('Delete page, value: ', value);\n      setDeleteDialogOpen(true);\n    },\n    [t]\n  );\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: handleEditPage,\n        disabled: false\n      },\n      {\n        id: 2, // Must be unique\n        title: t('common.delete', { defaultValue: 'Delete' }),\n        icon: DeleteIcon,\n        onClick: handleDelete,\n        disabled: false\n      }\n    ],\n    [t, handleEditPage, handleDelete]\n  );\n\n  const gridOptions = useMemo(\n    () => ({\n      frameworkComponents: {\n        actionsRenderer: ActionsRenderer\n      },\n      columnDefs: [\n        {\n          headerName: t('verticals.grid.columns.name', { defaultValue: 'Name' }),\n          field: 'name',\n          minWidth: 300\n        },\n        {\n          headerName: t('verticals.grid.columns.icon', { defaultValue: 'Icon' }),\n          field: 'icon'\n        },\n        {\n          headerName: t('verticals.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    [t, actionList, productVertical]\n  );\n\n  const pab = (\n    <PrimaryActionButton onClick={handleCreateVertical}>\n      <Typography style={{ marginRight: 5 }}>{t('common.add', { defaultValue: 'Add' })}</Typography>\n      <AddIcon />\n    </PrimaryActionButton>\n  );\n\n  return (\n    <>\n      <UdpVerticalManagementSidesheet\n        open={sideSheetOpen}\n        closeSidesheet={closeSheet}\n        selectedVertical={selectedVertical}\n        environment={environment}\n        title={\n          sideSheetEdit\n            ? t('verticals.sidesheet.editTitle', { defaultValue: 'Edit Vertical' })\n            : t('verticals.sidesheet.createTitle', { defaultValue: 'Create Vertical' })\n        }\n        associatedProducts={productVertical}\n        isEdit={sideSheetEdit}\n      />\n      <AmbientGridTemplate\n        title={t('verticals.title', { defaultValue: 'Vertical Manager' })}\n        primaryActionButton={pab}\n        data={verticals}\n        // hideGroupTab\n        // hideColumnTab\n        loading={loading}\n        gridOptions={gridOptions}\n        groupingData={[]}\n      />\n      <FluentDialog\n        open={deleteDialogOpen}\n        handleClose={closeDeleteDialog}\n        title={t('verticals.deleteDialog.title', { defaultValue: 'Delete Vertical' })}\n        message={t('verticals.deleteDialog.message', {\n          defaultValue: 'Are you sure you want to Delete \"{{name}}\"?',\n          name: selectedVertical?.name\n        })}\n        actionOne={deleteVertical}\n        labelOne={t('common.delete', { defaultValue: 'Delete' })}\n        actionTwo={closeDeleteDialog}\n        labelTwo={t('common.cancel', { defaultValue: 'Cancel' })}\n      />\n    </>\n  );\n};\n\nexport default UdpVerticalManagementPage;\n"],"mappings":"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"}