Fix issues related to menu rewrite. #5615

This commit is contained in:
Aditya Toshniwal 2023-01-09 18:41:23 +05:30 committed by GitHub
parent 2a86afc64c
commit 1c705cf9be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 42 deletions

View File

@ -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,

View File

@ -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}

View File

@ -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}`

View File

@ -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