pgadmin4/web/pgadmin/preferences/static/js/preferences.js

54 lines
1.4 KiB
JavaScript

/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
import gettext from 'sources/gettext';
import { BROWSER_PANELS } from '../../../browser/static/js/constants';
import { preferencesPanelData } from '../../../static/js/BrowserComponent';
export default class Preferences {
static instance;
static getInstance(...args) {
if (!Preferences.instance) {
Preferences.instance = new Preferences(...args);
}
return Preferences.instance;
}
constructor(pgAdmin, pgBrowser) {
this.pgAdmin = pgAdmin;
this.pgBrowser = pgBrowser;
}
init() {
if (this.initialized)
return;
this.initialized = true;
// Add Preferences in to file menu
let menus = [{
name: 'mnu_preferences',
module: this,
applies: ['file'],
callback: 'show',
enable: true,
priority: 3,
label: gettext('Preferences'),
}];
this.pgBrowser.add_menus(menus);
}
// This is a callback function to show preferences.
show() {
let handler = this.pgBrowser.getDockerHandler?.(BROWSER_PANELS.USER_MANAGEMENT, this.pgBrowser.docker.default_workspace);
handler.focus();
handler.docker.openTab(preferencesPanelData, BROWSER_PANELS.MAIN, 'middle', true);
}
}