{% extends "base.html" %}
{% block title %}{{title}}{% endblock %}
{% block css_link %}
{% endblock %}
{% block body %}
{% endblock %}
{% block init_script %}
require(
['sources/generated/psql_tool'],
function(pgBrowser) {
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|safe}}', '{{server_type}}', fitAddon, term, '{{role|safe}}');
self.pgAdmin.Browser.psql.psql_terminal_io(term, socket, '{{platform}}');
self.pgAdmin.Browser.psql.check_db_name_change('{{db|safe}}', '{{o_db_name|safe}}');
setTimeout(function(){
socket.emit("resize", {"cols": term.cols, "rows": term.rows})
}, 1000);
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 = 25;
window.onresize = debounce(fitToscreen, wait_ms);
});
{% endblock %}