pgadmin4/web/pgadmin/static/bundle/app.js

60 lines
1.5 KiB
JavaScript

/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
import React from 'react';
import ReactDOM from 'react-dom/client';
import BrowserComponent from '../js/BrowserComponent';
import MainMenuFactory from '../../browser/static/js/MainMenuFactory';
import Theme from '../js/Theme';
define('app', [
'sources/pgadmin', 'bundled_browser',
], function(pgAdmin) {
let initializeModules = function(obj) {
for (let key in obj) {
let module = obj[key];
if (typeof module?.init == 'function') {
try {
module.init();
}
catch (e) {
console.warn(e.stack || e);
}
}
else if (typeof module?.Init == 'function') {
try {
module.Init();
}
catch (e) {
console.warn(e.stack || e);
}
}
}
};
// Initialize modules registered to pgAdmin, pgAdmin.Browser and Tools object.
initializeModules(pgAdmin);
initializeModules(pgAdmin.Browser);
initializeModules(pgAdmin.Tools);
// Add menus from back end.
pgAdmin.Browser.utils.addBackendMenus(pgAdmin.Browser);
// Create menus after all modules are initialized.
MainMenuFactory.createMainMenus();
const root = ReactDOM.createRoot(document.querySelector('#root'));
root.render(
<Theme>
<BrowserComponent pgAdmin={pgAdmin} />
</Theme>
);
});