{"version":3,"file":"BackwardsCompatibleGrid.mjs","names":["React","useMemo","useState","useRef","forwardRef","useImperativeHandle","ApiMethodInstanceGrid","useUdpExport","ExportSidesheet","BackwardsCompatibleGrid","props","ref","$","_c","gridBarTitle","queryId","gridId","primaryActionOnClick","primaryActionLabel","primaryActionIcon","defaultSearchObject","renderConfigs","disableGridPersistance","enableCheckboxOnColumns","gridHeight","exportSidesheetOpen","setExportSidesheetOpen","gridApiRef","t0","filterElements","logicalSearchOperator","fullDefaultSearchObject","initialColumns","t1","map","_temp","columnOverrides","t2","bb0","undefined","sizedIcon","updateExportParameters","createExport","entity","searchObject","fileFormat","numRowsToExport","validSearch","errorList","activeExportJob","exportLoading","handleFileDownload","clearParameters","t3","searchObject_0","entityName","console","error","exportFromGrid","t4","handleCloseExportSidesheet","t5","Symbol","for","refreshOnNoResults","current","refreshServerSide","getSelectedRows","t6","api","handleGridApiCallback","t7","t8","mode","enableClickSelection","headerCheckbox","t9","pagination","rowSelection","t10","label","iconName","onClick","t11","title","primaryActionButton","t12","t13","t14","t15","name","t16","t17","t18","t19","params","callback","searchObject_1","entityName_0","t20","t21","t22","displayName","col","rendererName","rest","newCol","cellRenderer"],"sources":["../../../../src/UI/templates/newGrid/BackwardsCompatibleGrid.jsx"],"sourcesContent":["import React, {\n  useMemo,\n  useState,\n  useRef,\n  forwardRef,\n  useImperativeHandle\n} from 'react';\nimport { ApiMethodInstanceGrid } from '@univerus/udp-react-stencil-component-library';\nimport { useUdpExport } from '../../../udp/export/useUdpExport';\nimport { ExportSidesheet } from '../../../udp/export/ExportSidesheet';\n\n/*\n * This grid is intended to be a temporary drop in replacement for ambient-template-grid.\n * Do not use it unless you were using the old grid, this will not be further supported and is worse on performance than the other new grids.\n */\n\nexport const BackwardsCompatibleGrid = forwardRef((props, ref) => {\n  const {\n    gridBarTitle,\n    queryId,\n    gridId,\n    primaryActionOnClick,\n    primaryActionLabel,\n    primaryActionIcon,\n    defaultSearchObject,\n    renderConfigs,\n    disableGridPersistance,\n    enableCheckboxOnColumns,\n    gridHeight\n  } = props;\n\n  const [exportSidesheetOpen, setExportSidesheetOpen] = useState(false);\n  const gridApiRef = useRef(null);\n\n  //Convert the filter Elements passed in to a search object\n  const fullDefaultSearchObject = useMemo(() => {\n    return {\n      filterElements: defaultSearchObject,\n      logicalSearchOperator: 1\n    };\n  }, [defaultSearchObject]);\n\n  //Convert renderConfigs to columnOverrides\n  const columnOverrides = useMemo(() => {\n    const initialColumns = renderConfigs;\n\n    return initialColumns.map((col) => {\n      // Use destructuring to separate 'rendererName' from the rest of the properties.\n      const { rendererName, ...rest } = col;\n\n      // Start building the new object, renaming rendererName if it exists.\n      const newCol = {\n        ...rest,\n        ...(rendererName && { cellRenderer: rendererName })\n      };\n\n      return newCol;\n    });\n  }, [renderConfigs]);\n\n  const sizedIcon = useMemo(() => {\n    if (primaryActionIcon === 'add32') {\n      return 'add';\n    }\n  }, [primaryActionIcon]);\n\n  //export functions\n\n  const {\n    updateExportParameters,\n    createExport,\n    entity,\n    searchObject,\n    fileFormat,\n    numRowsToExport,\n    validSearch,\n    errorList,\n    activeExportJob,\n    exportLoading,\n    handleFileDownload,\n    clearParameters\n  } = useUdpExport();\n\n  const exportFromGrid = (searchObject, entityName) => {\n    if (searchObject && entityName) {\n      updateExportParameters(entityName, searchObject);\n      setExportSidesheetOpen(true);\n    } else {\n      console.error('Failed to retrieve searchObject or entityName from grid');\n    }\n  };\n\n  const handleCloseExportSidesheet = () => {\n    setExportSidesheetOpen(false);\n    clearParameters();\n  };\n\n  useImperativeHandle(ref, () => ({\n    //hooks for the parent to call these functions\n    refreshOnNoResults: () => gridApiRef.current?.refreshServerSide(),\n    getSelectedRows: () => gridApiRef.current?.getSelectedRows()\n  }));\n\n  const handleGridApiCallback = (api) => {\n    gridApiRef.current = api;\n  };\n\n  return (\n    <div>\n      <ExportSidesheet\n        entity={entity}\n        searchObject={searchObject}\n        fileFormat={fileFormat}\n        numRowsToExport={numRowsToExport}\n        errorList={errorList}\n        activeExportJob={activeExportJob}\n        handleFileDownload={handleFileDownload}\n        exportSidesheetOpen={exportSidesheetOpen}\n        handleCloseExportSidesheet={handleCloseExportSidesheet}\n        createExport={createExport}\n        exportLoading={exportLoading}\n        validSearch={validSearch}\n      />\n      <ApiMethodInstanceGrid\n        apiMethodInstanceId={queryId}\n        gridId={gridId}\n        defaultSearchObject={fullDefaultSearchObject}\n        columnDefOverrides={columnOverrides}\n        gridHeight={gridHeight}\n        gridOptions={{\n          pagination: true,\n          rowSelection: enableCheckboxOnColumns && {\n            mode: 'multiRow',\n            enableClickSelection: true,\n            headerCheckbox: false\n          }\n        }}\n        gridHeaderConfig={{\n          title: gridBarTitle,\n          primaryActionButton: {\n            label: primaryActionLabel,\n            iconName: sizedIcon,\n            onClick: primaryActionOnClick\n          }\n        }}\n        gridFunctions={[\n          { name: 'agGridExport' },\n          { name: 'openSavedViews' },\n          { name: 'agGridSizeColumnsToFit' },\n          { name: 'agGridAutoSizeColumns' },\n          !disableGridPersistance && { name: 'restoreGridState' },\n          { name: 'agGridHideShowColumns' },\n          { name: 'agGridResetColumns' },\n          {\n            name: 'udpExport',\n            params: {\n              callback: (searchObject, entityName) =>\n                exportFromGrid(searchObject, entityName)\n            }\n          }\n        ]}\n        gridApiCallback={handleGridApiCallback}\n      />\n    </div>\n  );\n});\n\nBackwardsCompatibleGrid.displayName = 'BackwardsCompatibleGrid';\n"],"mappings":"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"}