mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Added search object functionality. Fixes #2172
This commit is contained in:
committed by
Akshay Joshi
parent
f77aa3284f
commit
e1f990190e
@@ -51,14 +51,23 @@ define([
|
||||
}]);
|
||||
|
||||
// show query tool only in context menu of supported nodes.
|
||||
if (pgAdmin.DataGrid && pgAdmin.unsupported_nodes) {
|
||||
if (_.indexOf(pgAdmin.unsupported_nodes, this.type) == -1) {
|
||||
|
||||
if (pgAdmin.unsupported_nodes && _.indexOf(pgAdmin.unsupported_nodes, this.type) == -1) {
|
||||
if ((this.type == 'database' && this.allowConn) || this.type != 'database') {
|
||||
pgAdmin.Browser.add_menus([{
|
||||
name: 'show_query_tool', node: this.type, module: this,
|
||||
name: 'show_query_tool', node: this.type, module: pgAdmin.DataGrid,
|
||||
applies: ['context'], callback: 'show_query_tool',
|
||||
priority: 998, label: gettext('Query Tool...'),
|
||||
icon: 'pg-font-icon icon-query-tool',
|
||||
}]);
|
||||
|
||||
// show search objects same as query tool
|
||||
pgAdmin.Browser.add_menus([{
|
||||
name: 'search_objects', node: this.type, module: pgAdmin.SearchObjects,
|
||||
applies: ['context'], callback: 'show_search_objects',
|
||||
priority: 997, label: gettext('Search Objects...'),
|
||||
icon: 'fa fa-search',
|
||||
}]);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -34,6 +34,7 @@ _.extend(pgBrowser.keyboardNavigation, {
|
||||
'tabbed_panel_forward': commonUtils.parseShortcutValue(pgBrowser.get_preference('browser', 'tabbed_panel_forward').value),
|
||||
'sub_menu_query_tool': commonUtils.parseShortcutValue(pgBrowser.get_preference('browser', 'sub_menu_query_tool').value),
|
||||
'sub_menu_view_data': commonUtils.parseShortcutValue(pgBrowser.get_preference('browser', 'sub_menu_view_data').value),
|
||||
'sub_menu_search_objects': commonUtils.parseShortcutValue(pgBrowser.get_preference('browser', 'sub_menu_search_objects').value),
|
||||
'sub_menu_properties': commonUtils.parseShortcutValue(pgBrowser.get_preference('browser', 'sub_menu_properties').value),
|
||||
'sub_menu_create': commonUtils.parseShortcutValue(pgBrowser.get_preference('browser', 'sub_menu_create').value),
|
||||
'sub_menu_delete': commonUtils.parseShortcutValue(pgBrowser.get_preference('browser', 'sub_menu_delete').value),
|
||||
@@ -55,6 +56,7 @@ _.extend(pgBrowser.keyboardNavigation, {
|
||||
'bindLeftTree': {'shortcuts': this.keyboardShortcut.left_tree_shortcut}, // Main menu,
|
||||
'bindSubMenuQueryTool': {'shortcuts': this.keyboardShortcut.sub_menu_query_tool}, // Sub menu - Open Query Tool,
|
||||
'bindSubMenuViewData': {'shortcuts': this.keyboardShortcut.sub_menu_view_data}, // Sub menu - Open View Data,
|
||||
'bindSubMenuSearchObjects': {'shortcuts': this.keyboardShortcut.sub_menu_search_objects}, // Sub menu - Open search objects,
|
||||
'bindSubMenuProperties': {'shortcuts': this.keyboardShortcut.sub_menu_properties}, // Sub menu - Edit Properties,
|
||||
'bindSubMenuCreate': {'shortcuts': this.keyboardShortcut.sub_menu_create}, // Sub menu - Create Object,
|
||||
'bindSubMenuDelete': {'shortcuts': this.keyboardShortcut.sub_menu_delete}, // Sub menu - Delete object,
|
||||
@@ -261,6 +263,15 @@ _.extend(pgBrowser.keyboardNavigation, {
|
||||
// Call data grid method to render view data
|
||||
pgAdmin.DataGrid.show_data_grid({'mnuid': 1}, tree.i);
|
||||
},
|
||||
bindSubMenuSearchObjects: function() {
|
||||
const tree = this.getTreeDetails();
|
||||
|
||||
if (!tree.d)
|
||||
return;
|
||||
|
||||
// Call data grid method to render view data
|
||||
pgAdmin.SearchObjects.show_search_objects('', tree.i);
|
||||
},
|
||||
bindSubMenuProperties: function() {
|
||||
const tree = this.getTreeDetails();
|
||||
|
||||
|
||||
@@ -177,6 +177,14 @@ define('pgadmin.browser.node', [
|
||||
|
||||
// Show query tool only in context menu of supported nodes.
|
||||
if (_.indexOf(pgAdmin.unsupported_nodes, self.type) == -1) {
|
||||
let enable = function(itemData) {
|
||||
if (itemData._type == 'database' && itemData.allowConn)
|
||||
return true;
|
||||
else if (itemData._type != 'database')
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
};
|
||||
pgAdmin.Browser.add_menus([{
|
||||
name: 'show_query_tool',
|
||||
node: self.type,
|
||||
@@ -186,14 +194,15 @@ define('pgadmin.browser.node', [
|
||||
priority: 998,
|
||||
label: gettext('Query Tool...'),
|
||||
icon: 'pg-font-icon icon-query-tool',
|
||||
enable: function(itemData) {
|
||||
if (itemData._type == 'database' && itemData.allowConn)
|
||||
return true;
|
||||
else if (itemData._type != 'database')
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
},
|
||||
enable: enable,
|
||||
}]);
|
||||
|
||||
// show search objects same as query tool
|
||||
pgAdmin.Browser.add_menus([{
|
||||
name: 'search_objects', node: self.type, module: pgAdmin.SearchObjects,
|
||||
applies: ['context'], callback: 'show_search_objects',
|
||||
priority: 997, label: gettext('Search Objects...'),
|
||||
icon: 'fa fa-search', enable: enable,
|
||||
}]);
|
||||
}
|
||||
|
||||
|
||||
@@ -46,6 +46,16 @@ let _defaultToolBarButtons = [
|
||||
parentClass: 'pg-toolbar-btn btn-secondary',
|
||||
enabled: false,
|
||||
},
|
||||
{
|
||||
label: gettext('Search objects'),
|
||||
ariaLabel: gettext('Search objects'),
|
||||
btnClass: 'fa fa-search',
|
||||
text: '',
|
||||
toggled: false,
|
||||
toggleClass: '',
|
||||
parentClass: 'pg-toolbar-btn btn-secondary',
|
||||
enabled: false,
|
||||
},
|
||||
];
|
||||
|
||||
// Place holder for non default tool bar buttons.
|
||||
@@ -92,6 +102,8 @@ export function initializeToolbar(panel, wcDocker) {
|
||||
pgAdmin.DataGrid.show_data_grid({mnuid: 3}, pgAdmin.Browser.tree.selected());
|
||||
else if ('name' in data && data.name === gettext('Filtered Rows'))
|
||||
pgAdmin.DataGrid.show_filtered_row({mnuid: 4}, pgAdmin.Browser.tree.selected());
|
||||
else if ('name' in data && data.name === gettext('Search objects'))
|
||||
pgAdmin.SearchObjects.show_search_objects('', pgAdmin.Browser.tree.selected());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user