define('pgadmin.settings', [ 'jquery', 'pgadmin.alertifyjs', 'sources/pgadmin', 'sources/gettext', 'sources/url_for', 'pgadmin.backform', ], function($, Alertify, pgAdmin, gettext, url_for) { // This defines the Preference/Options Dialog for pgAdmin IV. pgAdmin = pgAdmin || window.pgAdmin || {}; /* * Hmm... this module is already been initialized, we can refer to the old * object from here. */ if (pgAdmin.Settings) return pgAdmin.Settings; pgAdmin.Settings = { init: function() { if (this.initialized) return; this.initialized = true; }, // We will force unload method to not to save current layout // and reload the window show: function() { Alertify.confirm(gettext('Reset layout'), gettext('Are you sure you want to reset the current layout? This will cause the application to reload and any un-saved data will be lost.'), function() { var reloadingIndicator = $('
'); $('body').append(reloadingIndicator); // Delete the record from database as well, then only reload page $.ajax({ url: url_for('settings.reset_layout'), type: 'DELETE', async: false, success: function() { // Prevent saving layout on server for next page reload. $(window).unbind('unload'); window.onbeforeunload = null; // Now reload page location.reload(true); }, error: function() { console.warn( 'Something went wrong on server while resetting layout.' ); }, }); }, function() { // Do nothing as user canceled the operation. } ); }, }; return pgAdmin.Settings; });