From 96412b32196c0e4da2104d323a79106d43265606 Mon Sep 17 00:00:00 2001 From: Dave Page Date: Tue, 27 Jun 2017 10:35:43 -0400 Subject: [PATCH] Revert "Allow the user to close the dashboard panel. Fixes #2506" This reverts commit a87ee6d059e478a9ed6bea4fa628e93e1ce46c50. --- web/pgadmin/browser/static/js/panel.js | 38 +------------------ .../browser/templates/browser/js/browser.js | 24 +++++------- web/pgadmin/dashboard/__init__.py | 8 ++-- .../templates/dashboard/js/dashboard.js | 10 +---- .../templates/datagrid/js/datagrid.js | 4 +- .../templates/debugger/js/debugger_ui.js | 2 +- web/pgadmin/utils/menu.py | 4 +- 7 files changed, 19 insertions(+), 71 deletions(-) diff --git a/web/pgadmin/browser/static/js/panel.js b/web/pgadmin/browser/static/js/panel.js index ce21f0d06..71d2c68f8 100644 --- a/web/pgadmin/browser/static/js/panel.js +++ b/web/pgadmin/browser/static/js/panel.js @@ -7,8 +7,7 @@ function(_, pgAdmin) { pgAdmin.Browser.Panel = function(options) { var defaults = [ 'name', 'title', 'width', 'height', 'showTitle', 'isCloseable', - 'isPrivate', 'content', 'icon', 'events', 'onCreate', 'elContainer', - 'canHide', 'limit' + 'isPrivate', 'content', 'icon', 'events', 'onCreate', 'elContainer' ]; _.extend(this, _.pick(options, defaults)); } @@ -26,14 +25,12 @@ function(_, pgAdmin) { panel: null, onCreate: null, elContainer: false, - limit: null, load: function(docker, title) { var that = this; if (!that.panel) { docker.registerPanelType(that.name, { title: that.title, isPrivate: that.isPrivate, - limit: that.limit, onCreate: function(myPanel) { $(myPanel).data('pgAdminName', that.name); myPanel.initSize(that.width, that.height); @@ -88,14 +85,6 @@ function(_, pgAdmin) { }); that.resizedContainer.apply(myPanel); } - - // Bind events only if they are configurable - if (that.canHide) { - _.each([wcDocker.EVENT.CLOSED, wcDocker.EVENT.VISIBILITY_CHANGED], - function(ev) { - myPanel.on(ev, that.handleVisibility.bind(myPanel, ev)); - }); - } } }); } @@ -145,32 +134,7 @@ function(_, pgAdmin) { 100 ); } - }, - handleVisibility: function(eventName) { - // Currently this function only works with dashboard panel but - // as per need it can be extended - if (this._type != 'dashboard') - return; - - if (eventName == 'panelClosed') { - pgBrowser.save_current_layout(pgBrowser); - pgAdmin.Dashboard.toggleVisibility(false); - } - else if (eventName == 'panelVisibilityChanged') { - if (pgBrowser.tree) { - pgBrowser.save_current_layout(pgBrowser); - var selectedNode = pgBrowser.tree.selected(); - // Discontinue this event after first time visible - this.off(wcDocker.EVENT.VISIBILITY_CHANGED); - if (!_.isUndefined(pgAdmin.Dashboard)) - pgAdmin.Dashboard.toggleVisibility(true); - // Explicitly trigger tree selected event when we add the tab. - pgBrowser.Events.trigger('pgadmin-browser:tree:selected', selectedNode, - pgBrowser.tree.itemData(selectedNode), pgBrowser.Node); - } - } } - }); return pgAdmin.Browser.Panel; diff --git a/web/pgadmin/browser/templates/browser/js/browser.js b/web/pgadmin/browser/templates/browser/js/browser.js index 8a3a3b921..e587348a7 100644 --- a/web/pgadmin/browser/templates/browser/js/browser.js +++ b/web/pgadmin/browser/templates/browser/js/browser.js @@ -178,9 +178,7 @@ define( showTitle: {% if panel_item.showTitle %}true{% else %}false{% endif %}, isCloseable: {% if panel_item.isCloseable %}true{% else %}false{% endif %}, isPrivate: {% if panel_item.isPrivate %}true{% else %}false{% endif %}, - content: '{{ panel_item.content }}', - canHide: {% if panel_item.canHide %}true{% else %}false{% endif %}{% if panel_item.limit is not none %}, - limit: {{ panel_item.limit }}{% endif %}{% if panel_item.events is not none %}, + content: '{{ panel_item.content }}'{% if panel_item.events is not none %}, events: {{ panel_item.events }} {% endif %} }){% endif %}{% endfor %} }, @@ -367,17 +365,15 @@ define( // Listen to panel attach/detach event so that last layout will be remembered _.each(obj.panels, function(panel, name) { - if (panel.panel) { - panel.panel.on(wcDocker.EVENT.ATTACHED, function() { - obj.save_current_layout(obj); - }); - panel.panel.on(wcDocker.EVENT.DETACHED, function() { - obj.save_current_layout(obj); - }); - panel.panel.on(wcDocker.EVENT.MOVE_ENDED, function() { - obj.save_current_layout(obj); - }); - } + panel.panel.on(wcDocker.EVENT.ATTACHED, function() { + obj.save_current_layout(obj); + }); + panel.panel.on(wcDocker.EVENT.DETACHED, function() { + obj.save_current_layout(obj); + }); + panel.panel.on(wcDocker.EVENT.MOVE_ENDED, function() { + obj.save_current_layout(obj); + }); }); } diff --git a/web/pgadmin/dashboard/__init__.py b/web/pgadmin/dashboard/__init__.py index 8f813d7c1..a95ba53d1 100644 --- a/web/pgadmin/dashboard/__init__.py +++ b/web/pgadmin/dashboard/__init__.py @@ -58,11 +58,9 @@ class DashboardModule(PgAdminModule): title=gettext('Dashboard'), icon='fa fa-tachometer', content='', - isCloseable=True, - isPrivate=False, - limit=1, - isIframe=False, - canHide=True) + isCloseable=False, + isPrivate=True, + isIframe=False) ] def register_preferences(self): diff --git a/web/pgadmin/dashboard/templates/dashboard/js/dashboard.js b/web/pgadmin/dashboard/templates/dashboard/js/dashboard.js index 34a1ab790..35ed1021a 100644 --- a/web/pgadmin/dashboard/templates/dashboard/js/dashboard.js +++ b/web/pgadmin/dashboard/templates/dashboard/js/dashboard.js @@ -11,8 +11,6 @@ function(r, $, pgAdmin, _, Backbone, gettext) { if (pgAdmin.Dashboard) return; - var dashboardVisible = true; - pgAdmin.Dashboard = { init: function() { if (this.initialized) @@ -57,7 +55,7 @@ function(r, $, pgAdmin, _, Backbone, gettext) { // Handle treeview clicks object_selected: function(item, itemData, node) { - if (itemData && itemData._type && dashboardVisible) { + if (itemData && itemData._type) { var treeHierarchy = node.getTreeNodeHierarchy(item), url = '{{ url_for('dashboard.index') }}', sid = -1, did = -1, b = pgAdmin.Browser, @@ -126,9 +124,6 @@ function(r, $, pgAdmin, _, Backbone, gettext) { // { data: [[0, y0], [1, y1]...], label: 'Label 3', [options] } // ] - if (!dashboardVisible) - return; - y = 0; if (dataset.length == 0) { if (counter == true) @@ -867,9 +862,6 @@ function(r, $, pgAdmin, _, Backbone, gettext) { } }); - }, - toggleVisibility: function(flag) { - dashboardVisible = flag; } }; diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js index b75cd2d17..aa04c2fde 100644 --- a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js +++ b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js @@ -379,7 +379,7 @@ define([ newWin.document.title = grid_title; }); } else { - var dashboardPanel = pgBrowser.docker.findPanels('properties'); + var dashboardPanel = pgBrowser.docker.findPanels('dashboard'); var dataGridPanel = pgBrowser.docker.addPanel('frm_datagrid', wcDocker.DOCK.STACKED, dashboardPanel[0]); // Set panel title and icon @@ -495,7 +495,7 @@ define([ /* On successfully initialization find the dashboard panel, * create new panel and add it to the dashboard panel. */ - var dashboardPanel = pgBrowser.docker.findPanels('properties'); + var dashboardPanel = pgBrowser.docker.findPanels('dashboard'); var queryToolPanel = pgBrowser.docker.addPanel('frm_datagrid', wcDocker.DOCK.STACKED, dashboardPanel[0]); // Set panel title and icon diff --git a/web/pgadmin/tools/debugger/templates/debugger/js/debugger_ui.js b/web/pgadmin/tools/debugger/templates/debugger/js/debugger_ui.js index a692ae8da..cfbba13c2 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/js/debugger_ui.js +++ b/web/pgadmin/tools/debugger/templates/debugger/js/debugger_ui.js @@ -562,7 +562,7 @@ define([ }); // Create the debugger panel as per the data received from user input dialog. - var dashboardPanel = pgBrowser.docker.findPanels('properties'), + var dashboardPanel = pgBrowser.docker.findPanels('dashboard'), panel = pgBrowser.docker.addPanel( 'frm_debugger', wcDocker.DOCK.STACKED, dashboardPanel[0] ); diff --git a/web/pgadmin/utils/menu.py b/web/pgadmin/utils/menu.py index a426007f8..66cb994ce 100644 --- a/web/pgadmin/utils/menu.py +++ b/web/pgadmin/utils/menu.py @@ -18,7 +18,7 @@ class MenuItem(object): class Panel(object): def __init__(self, name, title, content='', width=500, height=600, isIframe=True, showTitle=True, isCloseable=True, isPrivate=False, priority=None, - icon=None, data=None, events=None, limit=None, canHide=False): + icon=None, data=None, events=None): self.name = name self.title = title self.content = content @@ -31,8 +31,6 @@ class Panel(object): self.icon = icon self.data = data self.events = events - self.limit = limit - self.canHide = canHide if priority is None: global PRIORITY PRIORITY += 100