mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-09 23:15:58 -06:00
Fix issues related to menu rewrite. #5615
This commit is contained in:
parent
2a86afc64c
commit
1c705cf9be
@ -7,9 +7,7 @@
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
import {MenuItem as NewMenuItem} from '../../../../static/js/helpers/Menu';
|
||||
import { MainMenus } from '../MainMenuFactory';
|
||||
import pgAdmin from 'sources/pgadmin';
|
||||
import { getBrowser } from '../../../../static/js/utils';
|
||||
|
||||
|
||||
// Allow us to
|
||||
@ -53,28 +51,19 @@ export function menuSearch(param, props) {
|
||||
});
|
||||
};
|
||||
|
||||
// Starting Point
|
||||
let {name: browser} = getBrowser();
|
||||
const mainMenus = browser == 'Nwjs' ? pgAdmin.Browser.MainMenus : MainMenus;
|
||||
if(browser == 'Nwjs') {
|
||||
mainMenus.forEach((menu) => {
|
||||
let subMenus = menu.menuItems;
|
||||
iterItem(subMenus, getMenuName(menu));
|
||||
});
|
||||
} else {
|
||||
mainMenus.forEach((menu) => {
|
||||
let subMenus = [];
|
||||
if(menu.name == 'object') {
|
||||
let selectedNode = pgAdmin.Browser.tree.selected();
|
||||
if(selectedNode) {
|
||||
subMenus = pgAdmin.Browser.all_menus_cache[menu.name][selectedNode._metadata.data._type];
|
||||
}
|
||||
} else {
|
||||
subMenus = pgAdmin.Browser.all_menus_cache[menu.name];
|
||||
const mainMenus = pgAdmin.Browser.MainMenus;
|
||||
mainMenus.forEach((menu) => {
|
||||
let subMenus = [];
|
||||
if(menu.name == 'object') {
|
||||
let selectedNode = pgAdmin.Browser.tree.selected();
|
||||
if(selectedNode) {
|
||||
subMenus = pgAdmin.Browser.all_menus_cache[menu.name][selectedNode._metadata.data._type];
|
||||
}
|
||||
iterItem(Object.values(subMenus), getMenuName(menu));
|
||||
});
|
||||
}
|
||||
} else {
|
||||
subMenus = pgAdmin.Browser.all_menus_cache[menu.name];
|
||||
}
|
||||
iterItem(Object.values(subMenus), getMenuName(menu));
|
||||
});
|
||||
|
||||
setState(state => ({
|
||||
...state,
|
||||
|
@ -15,8 +15,6 @@ import {menuSearch} from './menuitems_help';
|
||||
import $ from 'jquery';
|
||||
import gettext from 'sources/gettext';
|
||||
import PropTypes from 'prop-types';
|
||||
import pgAdmin from 'sources/pgadmin';
|
||||
import { getBrowser } from '../../../../static/js/utils';
|
||||
|
||||
function HelpArticleContents({isHelpLoading, isMenuLoading, helpSearchResult}) {
|
||||
return (isHelpLoading && !(isMenuLoading??true)) ? (
|
||||
@ -50,7 +48,6 @@ const useModalStyles = makeStyles(() => ({
|
||||
}));
|
||||
|
||||
export function Search({closeModal}) {
|
||||
let {name: browser} = getBrowser();
|
||||
const classes = useModalStyles();
|
||||
const wrapperRef = useRef(null);
|
||||
const firstEleRef = useRef();
|
||||
@ -136,23 +133,10 @@ export function Search({closeModal}) {
|
||||
let menuItemsHtmlElement = [];
|
||||
items.forEach((i) => {
|
||||
menuItemsHtmlElement.push(
|
||||
<li key={ 'li-menu-' + i }><a tabIndex='0' id={ 'li-menu-' + i.label } href={'#'} className={ (i.is_disabled ? 'dropdown-item menu-groups-a disabled':'dropdown-item menu-groups-a')} key={ 'menu-' + i.label } onClick={
|
||||
<li key={ 'li-menu-' + i }><a tabIndex='0' id={ 'li-menu-' + i.label } href={'#'} className={ (i.isDisabled ? 'dropdown-item menu-groups-a disabled':'dropdown-item menu-groups-a')} key={ 'menu-' + i.label } onClick={
|
||||
() => {
|
||||
closeModal();
|
||||
if(browser == 'Nwjs') {
|
||||
i.callback();
|
||||
} else {
|
||||
// Some callbacks registered in 'callbacks' check and call specifiec callback function
|
||||
if (i.module && 'callbacks' in i.module && i.module.callbacks[i.callback]) {
|
||||
i.module.callbacks[i.callback].apply(i.module, [i.data, pgAdmin.Browser.tree.selected()]);
|
||||
} else if (i.module && i.module[i.callback]) {
|
||||
i.module[i.callback].apply(i.module, [i.data, pgAdmin.Browser.tree.selected()]);
|
||||
} else if (i.callback) {
|
||||
i.callback(i);
|
||||
} else {
|
||||
window.open(i.url);
|
||||
}
|
||||
}
|
||||
i.callback();
|
||||
}
|
||||
}>
|
||||
{i.label}
|
||||
|
@ -19,7 +19,7 @@ const useStyles = makeStyles((theme)=>({
|
||||
menu: {
|
||||
'& .szh-menu': {
|
||||
padding: '4px 0px',
|
||||
zIndex: 1000,
|
||||
zIndex: 1005,
|
||||
backgroundColor: theme.palette.background.default,
|
||||
color: theme.palette.text.primary,
|
||||
border: `1px solid ${theme.otherVars.borderColor}`
|
||||
|
@ -107,6 +107,9 @@ function BrowserTree(props) {
|
||||
if(menuItem.type == 'separator') {
|
||||
return <PgMenuDivider key={i}/>;
|
||||
}
|
||||
if(menuItem.isDisabled) {
|
||||
return <></>;
|
||||
}
|
||||
const hasCheck = typeof menuItem.checked == 'boolean';
|
||||
|
||||
return <PgMenuItem
|
||||
|
Loading…
Reference in New Issue
Block a user