From: Jaroslav Kysela Date: Wed, 2 Dec 2015 10:48:34 +0000 (+0100) Subject: WEBUI: Reset uilevel back to default when reactivated (simple panel) X-Git-Tag: v4.2.1~1411 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=da15d9788c862b4360c15b7f04b215fc7e5335e8;p=thirdparty%2Ftvheadend.git WEBUI: Reset uilevel back to default when reactivated (simple panel) --- diff --git a/src/webui/static/app/idnode.js b/src/webui/static/app/idnode.js index 72c17efeb..741293f40 100644 --- a/src/webui/static/app/idnode.js +++ b/src/webui/static/app/idnode.js @@ -2583,7 +2583,9 @@ tvheadend.idnode_simple = function(panel, conf) } } - abuttons.uilevel = tvheadend.idnode_uilevel_menu(uilevel, function (l, refresh) { + function uilevel_change(l, refresh) { + if (l === uilevel) + return; uilevel = l; if (!refresh) return; @@ -2600,7 +2602,9 @@ tvheadend.idnode_simple = function(panel, conf) mpanel.doLayout(); } } - }); + } + + abuttons.uilevel = tvheadend.idnode_uilevel_menu(uilevel, uilevel_change); buttons.push('->'); buttons.push(abuttons.uilevel); @@ -2634,7 +2638,7 @@ tvheadend.idnode_simple = function(panel, conf) }); } - var mpanel = new Ext.Panel({ + mpanel = new Ext.Panel({ tbar: buttons, layout: 'hbox', padding: 5, @@ -2647,6 +2651,10 @@ tvheadend.idnode_simple = function(panel, conf) dpanel.add(mpanel); dpanel.doLayout(false, true); + mpanel.on('uilevel', function() { + uilevel_change(tvheadend.uilevel, 1); + }); + if (conf.comet) { update_cb = form_load; tvheadend.comet.on(conf.comet, update); @@ -2663,6 +2671,7 @@ tvheadend.idnode_simple = function(panel, conf) tvheadend.comet.un(conf.comet, update); } dpanel.removeAll(true); + mpanel.purgeListeners(); mpanel = null; if (conf.destroyer) conf.destroyer(conf); @@ -2676,6 +2685,10 @@ tvheadend.idnode_simple = function(panel, conf) iconCls: conf.iconCls || '' }); + dpanel.on('show', function() { + if (mpanel) + mpanel.fireEvent('uilevel'); + }); tvheadend.paneladd(panel, dpanel, conf.tabIndex); tvheadend.panelreg(panel, dpanel, builder, destroyer); };