mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Display the 'No menu available for this object' message if the selected tree node does not have any options. #5775
This commit is contained in:
parent
ff3555cf1d
commit
5abb748c3e
@ -113,4 +113,16 @@ export default class MainMenuFactory {
|
||||
Menu.sortMenus(menuList);
|
||||
return menuList;
|
||||
}
|
||||
|
||||
static checkNoMenuOptionForNode(d){
|
||||
let selectedNodeFromNodes=pgAdmin.Browser.Nodes[d._type];
|
||||
let selectedNode=pgAdmin.Browser.tree.selected();
|
||||
let flag=!_.isUndefined(selectedNodeFromNodes.showMenu);
|
||||
if(flag){
|
||||
var showMenu = selectedNodeFromNodes.showMenu(d, selectedNode);
|
||||
return {flag:showMenu?false:flag,showMenu};
|
||||
} else{
|
||||
return {flag,showMenu:undefined};
|
||||
}
|
||||
}
|
||||
}
|
@ -378,6 +378,19 @@ define('pgadmin.browser', [
|
||||
masterpass_callback_queue: [],
|
||||
getMenuList: function(name, item, d, skipDisabled=false) {
|
||||
let obj = this;
|
||||
//This 'checkNoMenuOptionForNode' function will check if showMenu flag is present or not for selected node
|
||||
let {flag,showMenu}=MainMenuFactory.checkNoMenuOptionForNode(d);
|
||||
if(flag){
|
||||
if(showMenu===false){
|
||||
return [MainMenuFactory.createMenuItem({
|
||||
enable : false,
|
||||
label: gettext('No menu available for this object.'),
|
||||
name:'',
|
||||
priority: 1,
|
||||
category: 'create',
|
||||
})];
|
||||
}
|
||||
}else{
|
||||
let category = {
|
||||
'common': []
|
||||
};
|
||||
@ -449,6 +462,7 @@ define('pgadmin.browser', [
|
||||
}
|
||||
|
||||
return menuItemList;
|
||||
}
|
||||
},
|
||||
// Enable/disable menu options
|
||||
enable_disable_menus: function(item) {
|
||||
|
@ -108,7 +108,7 @@ function BrowserTree(props) {
|
||||
return <PgMenuDivider key={i}/>;
|
||||
}
|
||||
if(menuItem.isDisabled) {
|
||||
return <React.Fragment key={i}></React.Fragment>;
|
||||
return <React.Fragment key={i}><div style={{padding: '0 0.7rem',opacity: '0.5'}}>{menuItem.label}</div></React.Fragment>;
|
||||
}
|
||||
const hasCheck = typeof menuItem.checked == 'boolean';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user