({dockerObj})
| 21 | import PropTypes from 'prop-types'; |
| 22 | |
| 23 | export default function UtilityView({dockerObj}) { |
| 24 | const pgAdmin = usePgAdmin(); |
| 25 | const docker = useRef(dockerObj ?? pgAdmin.Browser.docker); |
| 26 | |
| 27 | useEffect(()=>{ |
| 28 | docker.current = dockerObj ?? pgAdmin.Browser.docker; |
| 29 | }, [dockerObj]); |
| 30 | |
| 31 | useEffect(()=>{ |
| 32 | pgAdmin.Browser.Events.on('pgadmin:utility:show', (item, panelTitle, dialogProps, width=pgAdmin.Browser.stdW.default, height=pgAdmin.Browser.stdH.md)=>{ |
| 33 | const treeNodeInfo = pgAdmin.Browser.tree?.getTreeNodeHierarchy(item); |
| 34 | const panelId = _.uniqueId(BROWSER_PANELS.UTILITY_DIALOG); |
| 35 | const onClose = ()=>docker.current.close(panelId); |
| 36 | docker.current.openDialog({ |
| 37 | id: panelId, |
| 38 | title: panelTitle, |
| 39 | content: ( |
| 40 | <ErrorBoundary> |
| 41 | <UtilityViewContent |
| 42 | docker={docker.current} |
| 43 | panelId={panelId} |
| 44 | {...dialogProps} |
| 45 | treeNodeInfo={treeNodeInfo} |
| 46 | actionType={dialogProps.actionType??'create'} |
| 47 | formType='dialog' |
| 48 | onClose={onClose} |
| 49 | onSave={dialogProps.onSave ?? ((data)=>{ |
| 50 | if(data.errormsg) { |
| 51 | pgAdmin.Browser.notifier.alertText( |
| 52 | gettext('Error'), |
| 53 | gettext(data.errormsg) |
| 54 | ); |
| 55 | } else if(data.data) { |
| 56 | pgAdmin.Browser.BgProcessManager.startProcess(data.data.job_id, data.data.desc); |
| 57 | } else if(data.info) { |
| 58 | pgAdmin.Browser.notifier.success(data.info); |
| 59 | } |
| 60 | onClose(); |
| 61 | })} |
| 62 | extraData={dialogProps.extraData??{}} |
| 63 | /> |
| 64 | </ErrorBoundary> |
| 65 | ) |
| 66 | }, width, height); |
| 67 | }); |
| 68 | }, []); |
| 69 | return <></>; |
| 70 | } |
| 71 | |
| 72 | UtilityView.propTypes = { |
| 73 | dockerObj: PropTypes.object, |
nothing calls this directly
no test coverage detected