{% extends "base.html" %} {% block title %}{{title}}{% endblock %} {% block css_link %} {% endblock %} {% block body %}
{% endblock %} {% block init_script %} require( ['sources/generated/psql_tool'], function(pgBrowser) { if (self.pgAdmin['platform'] != 'win32') { const term = self.pgAdmin.Browser.psql.psql_terminal(); const fitAddon = self.pgAdmin.Browser.psql.psql_Addon(term); self.pgAdmin.Browser.psql.set_theme(term); term.open(document.getElementById('psql-terminal')); const socket = self.pgAdmin.Browser.psql.psql_socket(); self.pgAdmin.Browser.psql.psql_socket_io(socket, '{{is_enable}}', '{{sid}}', '{{db}}', '{{server_type}}', fitAddon, term); self.pgAdmin.Browser.psql.psql_terminal_io(term, socket); self.pgAdmin.Browser.psql.check_db_name_change('{{db}}', '{{o_db_name}}'); function fitToscreen(){ fitAddon.fit() socket.emit("resize", {"cols": term.cols, "rows": term.rows}) } function debounce(func, wait_ms) { let timeout return function(...args) { const context = this clearTimeout(timeout) timeout = setTimeout(() => func.apply(context, args), wait_ms) } } const wait_ms = 50;; window.onresize = debounce(fitToscreen, wait_ms) } else { document.getElementById('psql-terminal').innterHTML = 'PSQL not supported' } }); {% endblock %}