Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion web/pgadmin/tools/psql/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ def panel(trans_id):
'db': underscore_escape(data['db_name']),
'server_type': params['server_type'],
'is_enable': config.ENABLE_PSQL,
'title': underscore_unescape(params['title']),
'title': underscore_escape(params['title']),
'theme': params['theme'],
'o_db_name': underscore_escape(data['db_name']),
'role': underscore_escape(data['role']),
Expand Down
5 changes: 2 additions & 3 deletions web/pgadmin/tools/psql/static/js/PsqlModule.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,14 +143,13 @@ export default class Psql {

const [panelUrl, db_label] = this.getPanelUrls(transId, parentData);

const escapedTitle = _.escape(panelTitle);
const open_new_tab = usePreferences.getState().getPreferencesForModule('browser').new_browser_tab_open;

pgAdmin.Browser.Events.trigger(
'pgadmin:tool:show',
`${BROWSER_PANELS.PSQL_TOOL}_${transId}`,
panelUrl,
{title: escapedTitle, db: db_label},
{title: panelTitle, db: db_label},
{title: panelTitle, icon: 'pg-font-icon icon-terminal', manualClose: false, renamable: true},
Boolean(open_new_tab?.includes('psql_tool'))
);
Expand Down Expand Up @@ -190,7 +189,7 @@ export default class Psql {
<PgAdminProvider value={pgAdmin}>
<ModalProvider>
<NotifierProvider pgAdmin={pgAdmin} pgWindow={pgWindow} />
<PsqlComponent params={params} pgAdmin={pgAdmin} />
<PsqlComponent params={JSON.parse(params)} pgAdmin={pgAdmin} />
</ModalProvider>
</PgAdminProvider>
</Theme>
Expand Down
4 changes: 3 additions & 1 deletion web/pgadmin/tools/sqleditor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,12 +332,14 @@ def panel(trans_id):
params['layout'] = get_setting('SQLEditor/Layout')
params['macros'] = get_user_macros()
params['is_desktop_mode'] = current_app.PGADMIN_RUNTIME
params['title'] = underscore_escape(params['title'])
params['selectedNodeInfo'] = underscore_escape(params['selectedNodeInfo'])
if 'database_name' in params:
params['database_name'] = underscore_escape(params['database_name'])

return render_template(
"sqleditor/index.html",
title=underscore_unescape(params['title']),
title=underscore_escape(params['title']),
params=json.dumps(params),
)

Expand Down
4 changes: 2 additions & 2 deletions web/pgadmin/tools/sqleditor/static/js/SQLEditorModule.js
Original file line number Diff line number Diff line change
Expand Up @@ -221,15 +221,15 @@ export default class SQLEditor {
'pgadmin:tool:show',
`${BROWSER_PANELS.QUERY_TOOL}_${trans_id}`,
panel_url,
{...params, title: _.escape(panel_title.replace('\\', '\\\\')), selectedNodeInfo: JSON.stringify(selectedNodeInfo)},
{...params, title: panel_title, selectedNodeInfo: JSON.stringify(selectedNodeInfo)},
{title: panel_title, icon: icon, tooltip: tooltip, renamable: true},
Boolean(open_new_tab?.includes('qt'))
);
return true;
}

async loadComponent(container, params) {
const selectedNodeInfo = params.selectedNodeInfo ? JSON.parse(params.selectedNodeInfo) : params.selectedNodeInfo;
const selectedNodeInfo = params.selectedNodeInfo ? JSON.parse(_.unescape(params.selectedNodeInfo)) : params.selectedNodeInfo;
pgAdmin.Browser.keyboardNavigation.init();
await listenPreferenceBroadcast();
const root = ReactDOM.createRoot(container);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,13 @@ export default function QueryToolDataGrid({columns, rows, totalRowCount, dataCha
rowIdx
}, true);
}

// This is needed to prevent Codemirror from triggering copy.
if(mode == 'SELECT' && (e.ctrlKey || e.metaKey) && e.key !== 'Control' && e.keyCode == 67) {
// taken care by handleCopy.
e.preventDefault();
e.stopPropagation();
}
}}
{...props}
/>
Expand Down
Loading