openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 74471a46eb9a2da5d12f3f4ebd9dfe385744e559
parent 87f53306ae4e6d63f092b3b89f4a43c1a27b19b8
Author: Jan Dankert <devnull@localhost>
Date:   Tue,  5 Mar 2013 22:33:27 +0100

Beim Schließen von Tabs auch die geladenen Inhalte aus dem DOM-Baum entfernen.

Diffstat:
themes/default/js/openrat.js | 10++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/themes/default/js/openrat.js b/themes/default/js/openrat.js @@ -262,13 +262,13 @@ function loadViewByName(viewName, url ) function loadView(contentEl,action,method,id ) { // Schauen, ob der Inhalt schon geladen ist... - var targetEl = $(contentEl).children('div.sheet.action-'+action+'.method-'+method+'.id'+id); + var targetEl = $(contentEl).children('div.sheet.action-'+action+'.method-'+method+'.id-'+id); if ( targetEl.size() == 0 ) { // Noch nicht vorhanden, neues Element erstellen. $(contentEl).children('div.sheet').hide(); - targetEl = $('<div class="sheet action-'+action+' method-'+method+' id'+id + '" />' ); + targetEl = $('<div class="sheet action-'+action+' method-'+method+' id-'+id + '" />' ); $(contentEl).append(targetEl); } else @@ -737,6 +737,12 @@ function openNewAction( name,action,id,extraId ) $('div#content > div.window > div.menu > div.views > ul.views').scrollLeft(9999); $('div#content > div.window > div.menu > div.views > ul.views img.close').click( function() { + // Zuerst die dazugehörigen, geladenen Inhalte von Views löschen, um kein + // Memory-Leak zu erzeugen ;) + var action = $(this).closest('li.action').data('action'); + var id = $(this).closest('li.action').data('id' ); + $('div#workbench div.content > div.sheet.action-'+action+'.id-'+id).remove(); + // Schließen // Wenn aktiver Tab, dann den Inhalt loeschen if ( $(this).closest('li.action').hasClass('active') )