///////////////////////////////////////////////////////////// // // pgAdmin 4 - PostgreSQL Tools // // Copyright (C) 2013 - 2024, The pgAdmin Development Team // This software is released under the PostgreSQL Licence // ////////////////////////////////////////////////////////////// import React, { useEffect, useLayoutEffect, useRef } from 'react'; import ReactDOM from 'react-dom/client'; import { usePgAdmin } from './BrowserComponent'; import { BROWSER_PANELS } from '../../browser/static/js/constants'; import PropTypes from 'prop-types'; import LayoutIframeTab from './helpers/Layout/LayoutIframeTab'; function ToolForm({actionUrl, params}) { const formRef = useRef(null); useLayoutEffect(()=>{ formRef.current?.submit(); }, []); return (
); } ToolForm.propTypes = { actionUrl: PropTypes.string, params: PropTypes.object, }; export default function ToolView() { const pgAdmin = usePgAdmin(); useEffect(()=>{ pgAdmin.Browser.Events.on('pgadmin:tool:show', (panelId, toolUrl, formParams, tabParams, newTab)=>{ if(newTab) { if(formParams) { const newWin = window.open('', '_blank'); const div = newWin.document.createElement('div'); newWin.document.body.appendChild(div); const root = ReactDOM.createRoot(div); root.render(