mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Ensure the debugger control buttons are only enabled once initialisation is complete. Fixes #4360
This commit is contained in:
parent
9e65c971a3
commit
b36d5d153b
@ -33,4 +33,5 @@ Bug fixes
|
||||
| `Bug #4349 <https://redmine.postgresql.org/issues/4349>`_ - Ensure strings are properly encoded in the Query History.
|
||||
| `Bug #4350 <https://redmine.postgresql.org/issues/4350>`_ - Ensure we include the CSRF token when uploading files.
|
||||
| `Bug #4357 <https://redmine.postgresql.org/issues/4357>`_ - Fix connection restoration issue when pgAdmin server is restarted and the page is refreshed.
|
||||
| `Bug #4365 <https://redmine.postgresql.org/issues/4365>`_ - Fix help links for backup globals and backup server.
|
||||
| `Bug #4360 <https://redmine.postgresql.org/issues/4360>`_ - Ensure the debugger control buttons are only enabled once initialisation is complete.
|
||||
| `Bug #4365 <https://redmine.postgresql.org/issues/4365>`_ - Fix help links for backup globals and backup server.
|
@ -839,7 +839,7 @@ def restart_debugging(trans_id):
|
||||
de_inst.debugger_data['restart_debug'] = 1
|
||||
de_inst.update_session()
|
||||
|
||||
de_inst.function_data = {
|
||||
de_inst.function_data.update({
|
||||
'server_id': de_inst.debugger_data['server_id'],
|
||||
'database_id': de_inst.debugger_data['database_id'],
|
||||
'schema_id': de_inst.debugger_data['schema_id'],
|
||||
@ -851,7 +851,7 @@ def restart_debugging(trans_id):
|
||||
'proargdefaults': de_inst.function_data['default_value'],
|
||||
'proargnames': de_inst.function_data['args_name'],
|
||||
'require_input': de_inst.function_data['require_input']
|
||||
}
|
||||
})
|
||||
|
||||
return make_json_response(
|
||||
data={
|
||||
|
@ -39,6 +39,26 @@ define([
|
||||
this.trigger('pgDebugger:button:state:' + btn, enable);
|
||||
},
|
||||
|
||||
enable_toolbar_buttons: function() {
|
||||
var self = this;
|
||||
self.enable('stop', true);
|
||||
self.enable('step_over', true);
|
||||
self.enable('step_into', true);
|
||||
self.enable('toggle_breakpoint', true);
|
||||
self.enable('clear_all_breakpoints', true);
|
||||
self.enable('continue', true);
|
||||
},
|
||||
|
||||
disable_toolbar_buttons: function() {
|
||||
var self = this;
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
},
|
||||
|
||||
/*
|
||||
Function to set the breakpoint and send the line no. which is set to server
|
||||
trans_id :- Unique Transaction ID, line_no - line no. to set the breakpoint,
|
||||
@ -405,12 +425,7 @@ define([
|
||||
// Enable all the buttons as we got the results
|
||||
// TODO: Fix this properly so a timeout isn't required.
|
||||
setTimeout(function() {
|
||||
self.enable('stop', true);
|
||||
self.enable('step_over', true);
|
||||
self.enable('step_into', true);
|
||||
self.enable('continue', true);
|
||||
self.enable('toggle_breakpoint', true);
|
||||
self.enable('clear_all_breakpoints', true);
|
||||
self.enable_toolbar_buttons();
|
||||
}, 500);
|
||||
}
|
||||
} else if (res.data.status === 'Busy') {
|
||||
@ -422,12 +437,7 @@ define([
|
||||
);
|
||||
|
||||
// As we are waiting for another session to invoke the target,disable all the buttons
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('continue', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.disable_toolbar_buttons();
|
||||
pgTools.DirectDebug.first_time_indirect_debug = false;
|
||||
self.poll_result(trans_id);
|
||||
} else {
|
||||
@ -648,12 +658,7 @@ define([
|
||||
var self = this,
|
||||
baseUrl = url_for('debugger.restart', {'trans_id': trans_id});
|
||||
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
self.disable_toolbar_buttons();
|
||||
|
||||
// Clear msg tab
|
||||
pgTools.DirectDebug
|
||||
@ -725,12 +730,7 @@ define([
|
||||
// Continue the execution until the next breakpoint
|
||||
Continue: function(trans_id) {
|
||||
var self = this;
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
self.disable_toolbar_buttons();
|
||||
|
||||
//Check first if previous execution was completed or not
|
||||
if (pgTools.DirectDebug.direct_execution_completed &&
|
||||
@ -767,12 +767,7 @@ define([
|
||||
|
||||
Step_over: function(trans_id) {
|
||||
var self = this;
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
self.disable_toolbar_buttons();
|
||||
|
||||
// Make ajax call to listen the database message
|
||||
var baseUrl = url_for('debugger.execute_query', {
|
||||
@ -803,12 +798,7 @@ define([
|
||||
|
||||
Step_into: function(trans_id) {
|
||||
var self = this;
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
self.disable_toolbar_buttons();
|
||||
|
||||
// Make ajax call to listen the database message
|
||||
var baseUrl = url_for('debugger.execute_query', {
|
||||
@ -839,12 +829,7 @@ define([
|
||||
|
||||
Stop: function(trans_id) {
|
||||
var self = this;
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
self.disable_toolbar_buttons();
|
||||
|
||||
// Make ajax call to listen the database message
|
||||
var baseUrl = url_for(
|
||||
@ -890,12 +875,7 @@ define([
|
||||
|
||||
toggle_breakpoint: function(trans_id) {
|
||||
var self = this;
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
self.disable_toolbar_buttons();
|
||||
|
||||
|
||||
var info = pgTools.DirectDebug.editor.lineInfo(self.active_line_no);
|
||||
@ -936,12 +916,8 @@ define([
|
||||
return marker;
|
||||
}());
|
||||
}
|
||||
self.enable('stop', true);
|
||||
self.enable('step_over', true);
|
||||
self.enable('step_into', true);
|
||||
self.enable('toggle_breakpoint', true);
|
||||
self.enable('clear_all_breakpoints', true);
|
||||
self.enable('continue', true);
|
||||
|
||||
self.enable_toolbar_buttons();
|
||||
} else if (res.data.status === 'NotConnected') {
|
||||
Alertify.alert(
|
||||
gettext('Debugger Error'),
|
||||
@ -965,12 +941,7 @@ define([
|
||||
if ((br_list.length == 1) && (br_list[0].linenumber == -1))
|
||||
return;
|
||||
|
||||
self.enable('stop', false);
|
||||
self.enable('step_over', false);
|
||||
self.enable('step_into', false);
|
||||
self.enable('toggle_breakpoint', false);
|
||||
self.enable('clear_all_breakpoints', false);
|
||||
self.enable('continue', false);
|
||||
self.disable_toolbar_buttons();
|
||||
|
||||
var breakpoint_list = new Array();
|
||||
|
||||
@ -1004,12 +975,7 @@ define([
|
||||
}
|
||||
}
|
||||
}
|
||||
self.enable('stop', true);
|
||||
self.enable('step_over', true);
|
||||
self.enable('step_into', true);
|
||||
self.enable('toggle_breakpoint', true);
|
||||
self.enable('clear_all_breakpoints', true);
|
||||
self.enable('continue', true);
|
||||
self.enable_toolbar_buttons();
|
||||
})
|
||||
.fail(function() {
|
||||
Alertify.alert(
|
||||
@ -1561,7 +1527,7 @@ define([
|
||||
|
||||
let browser = window.opener ?
|
||||
window.opener.pgAdmin.Browser : window.top.pgAdmin.Browser;
|
||||
this.preferences = browser.get_preferences_for_module('sqleditor');
|
||||
this.preferences = browser.get_preferences_for_module('debugger');
|
||||
|
||||
this.docker = new wcDocker(
|
||||
'#container', {
|
||||
@ -1592,6 +1558,7 @@ define([
|
||||
.done(function(res) {
|
||||
if (res.data.status) {
|
||||
self.intializePanels();
|
||||
controller.enable_toolbar_buttons();
|
||||
controller.poll_result(trans_id);
|
||||
}
|
||||
})
|
||||
@ -1656,6 +1623,7 @@ define([
|
||||
.done(function(res) {
|
||||
if (res.data.status === 'Success') {
|
||||
self.intializePanels();
|
||||
controller.enable_toolbar_buttons();
|
||||
// If status is Success then find the port number to attach the executer.
|
||||
controller.start_execution(trans_id, res.data.result);
|
||||
} else if (res.data.status === 'Busy') {
|
||||
|
@ -54,19 +54,23 @@ try {
|
||||
<button type="button" class="btn btn-sm btn-secondary btn-step-into" id="btn-step-into"
|
||||
title=""
|
||||
accesskey=""
|
||||
tabindex="0" autofocus="autofocus">
|
||||
tabindex="0"
|
||||
autofocus="autofocus"
|
||||
disabled>
|
||||
<i class="fa fa-indent sql-icon-lg"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary btn-step-over" id="btn-step-over"
|
||||
title=""
|
||||
accesskey=""
|
||||
tabindex="0">
|
||||
tabindex="0"
|
||||
disabled>
|
||||
<i class="fa fa-outdent sql-icon-lg"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary btn-continue" id="btn-continue"
|
||||
title=""
|
||||
accesskey=""
|
||||
tabindex="0">
|
||||
tabindex="0"
|
||||
disabled>
|
||||
<i class="fa fa-play-circle sql-icon-lg"></i>
|
||||
</button>
|
||||
</div>
|
||||
@ -74,13 +78,15 @@ try {
|
||||
<button type="button" class="btn btn-sm btn-secondary btn-toggle-breakpoint" id="btn-toggle-breakpoint"
|
||||
title=""
|
||||
accesskey=""
|
||||
tabindex="0">
|
||||
tabindex="0"
|
||||
disabled>
|
||||
<i class="fa fa-circle sql-icon-lg"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary btn-clear-breakpoint" id="btn-clear-breakpoint"
|
||||
title=""
|
||||
accesskey=""
|
||||
tabindex="0">
|
||||
tabindex="0"
|
||||
disabled>
|
||||
<i class="fa fa-ban sql-icon-lg"></i>
|
||||
</button>
|
||||
</div>
|
||||
@ -88,7 +94,8 @@ try {
|
||||
<button type="button" class="btn btn-sm btn-secondary btn-stop" id="btn-stop"
|
||||
accesskey=""
|
||||
title=""
|
||||
tabindex="0">
|
||||
tabindex="0"
|
||||
disabled>
|
||||
<i class="fa fa-stop-circle sql-icon-lg"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user