diff --git a/web/pgadmin/browser/static/js/preferences.js b/web/pgadmin/browser/static/js/preferences.js
index 06423ee45..028187bba 100644
--- a/web/pgadmin/browser/static/js/preferences.js
+++ b/web/pgadmin/browser/static/js/preferences.js
@@ -138,7 +138,7 @@ _.extend(pgBrowser, {
},
onPreferencesChange: function(module, eventHandler) {
- pgBrowser.Events.on('prefchange:'+module, function(event) {
+ pgBrowser.Events?.on('prefchange:'+module, function(event) {
eventHandler(event);
});
},
diff --git a/web/pgadmin/preferences/__init__.py b/web/pgadmin/preferences/__init__.py
index 2315e1768..1167e882c 100644
--- a/web/pgadmin/preferences/__init__.py
+++ b/web/pgadmin/preferences/__init__.py
@@ -146,6 +146,7 @@ def _iterate_categories(pref_d, label, res):
oc = {
"id": c['id'],
"mid": pref_d['id'],
+ "name": c['name'],
"label": gettext(c['label']),
"value": '{0}{1}'.format(c['id'], gettext(c['label'])),
"inode": False,
diff --git a/web/pgadmin/preferences/static/js/components/PreferencesComponent.jsx b/web/pgadmin/preferences/static/js/components/PreferencesComponent.jsx
index 4547aa05e..7ec75f296 100644
--- a/web/pgadmin/preferences/static/js/components/PreferencesComponent.jsx
+++ b/web/pgadmin/preferences/static/js/components/PreferencesComponent.jsx
@@ -27,6 +27,7 @@ import { DefaultButton, PgIconButton, PrimaryButton } from '../../../../static/j
import BaseUISchema from 'sources/SchemaView/base_schema.ui';
import { getBinaryPathSchema } from '../../../../browser/server_groups/servers/static/js/binary_path.ui';
import { _set_dynamic_tab } from '../../../../tools/sqleditor/static/js/show_query_tool';
+import { getBrowserAccesskey } from '../../../../static/js/components/ShortcutTitle';
class PreferencesSchema extends BaseUISchema {
constructor(initValues = {}, schemaFields = []) {
@@ -205,7 +206,7 @@ export default function PreferencesComponent({ ...props }) {
'id': sid.toString(),
'label': subNode.label,
'_label': subNode.label,
- 'name': subNode.label,
+ 'name': subNode.name,
'icon': '',
'inode': false,
'_type': subNode.label.toLowerCase(),
@@ -338,6 +339,8 @@ export default function PreferencesComponent({ ...props }) {
// Check and add the note for the element.
if (subNode.label == gettext('Nodes') && node.label == gettext('Browser')) {
note = [gettext('This settings is to Show/Hide nodes in the browser tree.')].join('');
+ } if(nodeData.name == 'keyboard_shortcuts') {
+ note = gettext('The Accesskey here is %s.', getBrowserAccesskey().join(' + '));
} else {
note = [note].join('');
}
@@ -368,6 +371,7 @@ export default function PreferencesComponent({ ...props }) {
// Listen selected preferences tree node event and show the appropriate components in right panel.
pgAdmin.Browser.Events.on('preferences:tree:selected', (event, item) => {
if (item.type == FileType.File) {
+ prefSchema.current.setSelectedCategory(item._metadata.data.name);
prefSchema.current.schemaFields.forEach((field) => {
field.visible = field.parentId === item._metadata.data.id && !field?.hidden ;
if(field.visible && _.isNull(firstElement)) {
@@ -629,12 +633,11 @@ export default function PreferencesComponent({ ...props }) {
{
- prefSchema.current && loadTree > 0 ?
+ prefSchema.current && loadTree > 0 &&
{
Object.keys(changedData).length > 0 ? setDisableSave(false) : setDisableSave(true);
prefChangedData.current = changedData;
}}>
- : <>>
}
diff --git a/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx b/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx
index 11cf705b5..2136a54df 100644
--- a/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx
+++ b/web/pgadmin/tools/erd/static/js/erd_tool/components/ERDTool.jsx
@@ -973,7 +973,7 @@ class ERDTool extends React.Component {
- {this.canvasEle = ele?.ref?.current;}} engine={this.diagram.getEngine()} />
+ {this.diagram.getEngine() && {this.canvasEle = ele?.ref?.current;}} engine={this.diagram.getEngine()} />}
diff --git a/web/pgadmin/utils/preferences.py b/web/pgadmin/utils/preferences.py
index d16244b67..30bfbc003 100644
--- a/web/pgadmin/utils/preferences.py
+++ b/web/pgadmin/utils/preferences.py
@@ -349,6 +349,7 @@ class Preferences():
cat = self.categories[c]
interm = {
'id': cat['id'],
+ 'name': cat['name'],
'label': cat['label'] or cat['name'],
'preferences': []
}