MCPcopy Create free account
hub / github.com/pgadmin-org/pgadmin4 / UtilityView

Function UtilityView

web/pgadmin/static/js/UtilityView.jsx:23–70  ·  view source on GitHub ↗
({dockerObj})

Source from the content-addressed store, hash-verified

21import PropTypes from 'prop-types';
22
23export 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
72UtilityView.propTypes = {
73 dockerObj: PropTypes.object,

Callers

nothing calls this directly

Calls 9

usePgAdminFunction · 0.90
gettextFunction · 0.85
onMethod · 0.80
openDialogMethod · 0.80
alertTextMethod · 0.80
startProcessMethod · 0.80
successMethod · 0.80
onCloseFunction · 0.70
getTreeNodeHierarchyMethod · 0.45

Tested by

no test coverage detected