public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup 3/5] ui: tape: only add tapestore and nav element once
Date: Wed,  3 Mar 2021 15:00:51 +0100	[thread overview]
Message-ID: <20210303140053.20936-3-d.csapak@proxmox.com> (raw)
In-Reply-To: <20210303140053.20936-1-d.csapak@proxmox.com>

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 www/NavigationTree.js | 37 ++++++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/www/NavigationTree.js b/www/NavigationTree.js
index 1c33d52d..4b25114e 100644
--- a/www/NavigationTree.js
+++ b/www/NavigationTree.js
@@ -119,25 +119,28 @@ Ext.define('PBS.view.main.NavigationTree', {
 	    view.on('destroy', view.rstore.stopUpdate);
 
 	    if (PBS.enableTapeUI) {
-		view.tapestore = Ext.create('Proxmox.data.UpdateStore', {
-		    autoStart: true,
-		    interval: 2 * 1000,
-		    storeid: 'pbs-tape-drive-list',
-		    model: 'pbs-tape-drive-list',
-		});
+		if (view.tapestore === undefined) {
+		    view.tapestore = Ext.create('Proxmox.data.UpdateStore', {
+			autoStart: true,
+			interval: 2 * 1000,
+			storeid: 'pbs-tape-drive-list',
+			model: 'pbs-tape-drive-list',
+		    });
+		    view.tapestore.on('load', this.onTapeDriveLoad, this);
+		    view.on('destroy', view.tapestore.stopUpdate);
+		}
 
 		let root = view.getStore().getRoot();
-		root.insertChild(3, {
-		    text: "Tape Backup",
-		    iconCls: 'pbs-icon-tape',
-		    id: 'tape_management',
-		    path: 'pbsTapeManagement',
-		    expanded: true,
-		    children: [],
-		});
-
-		view.tapestore.on('load', this.onTapeDriveLoad, this);
-		view.on('destroy', view.tapestore.stopUpdate);
+		if (root.findChild('id', 'tape_management', false) === null) {
+		    root.insertChild(3, {
+			text: "Tape Backup",
+			iconCls: 'pbs-icon-tape',
+			id: 'tape_management',
+			path: 'pbsTapeManagement',
+			expanded: true,
+			children: [],
+		    });
+		}
 	    }
 	},
 
-- 
2.20.1





  parent reply	other threads:[~2021-03-03 14:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-03 14:00 [pbs-devel] [PATCH proxmox-backup 1/5] ui: tape/DriveStatus: fix handler name for eject Dominik Csapak
2021-03-03 14:00 ` [pbs-devel] [PATCH proxmox-backup 2/5] add proxmox-tape zsh-completions Dominik Csapak
2021-03-03 14:00 ` Dominik Csapak [this message]
2021-03-03 14:00 ` [pbs-devel] [PATCH proxmox-backup 4/5] tape/drive: improve error and email handling for requesting a tape load Dominik Csapak
2021-03-03 14:00 ` [pbs-devel] [PATCH proxmox-backup 5/5] ui: tape: add missing monStoreErrors calls for the grids Dominik Csapak
2021-03-03 15:11 ` [pbs-devel] applied: [PATCH proxmox-backup 1/5] ui: tape/DriveStatus: fix handler name for eject Dietmar Maurer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210303140053.20936-3-d.csapak@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal