4573b98621715cc5459c9d48e345ee985847f123
Author: Mark Story
Date: 2009-11-23 23:33:00 -0500
diff --git a/views/elements/history_panel.ctp b/views/elements/history_panel.ctp
index 4f08eb4..3b0d2ae 100644
--- a/views/elements/history_panel.ctp
+++ b/views/elements/history_panel.ctp
@@ -53,23 +53,48 @@ DEBUGKIT.historyPanel = function () {
alert('Could not convert JSON response');
return false;
}
-
- for (var i in historyLinks) {
+
+ var i = historyLinks.length;
+ while (i--) {
Element.removeClass(historyLinks[i], 'loading');
}
+
for (var id in toolbar.panels) {
var panel = toolbar.panels[id];
if (panel.content === undefined || responseJson[id] === undefined) {
continue;
}
- var panelDivs = panel.content.childNodes;
- for (var i in panelDivs) {
+ var panelDivs = panel.content.childNodes,
+ i = panelDivs.length,
+ regionDiv;
+
+ while (i--) {
+ var panelRegion = panelDivs[i];
+ if (panelRegion.nodeType != 1) {
+ continue;
+ }
+ if (
+ panelRegion.nodeName &&
+ panelRegion.nodeName.toUpperCase() == 'DIV' &&
+ Element.hasClass(panelRegion, 'panel-resize-region')
+ ) {
+ regionDiv = panelRegion;
+ break;
+ }
+ }
+ if (!regionDiv) continue;
+
+ var regionDivs = regionDiv.childNodes,
+ i = regionDivs.length;
+
+ while (i--) {
//toggle history element, hide current request one.
- var panelContent = panelDivs[i],
+ var panelContent = regionDivs[i],
tag = panelContent.nodeName ? panelContent.nodeName.toUpperCase() : false;
- if (tag === 'DIV' && Element.hasClass(panelContent, 'panel-content-history')) {
+
+ if (tag === 'DIV' && Element.hasClass(panelContent, 'panel-history')) {
var panelId = panelContent.id.replace('-history', '');
if (responseJson[panelId]) {
panelContent.innerHTML = responseJson[panelId];
@@ -102,11 +127,34 @@ DEBUGKIT.historyPanel = function () {
if (panel.content === undefined) {
continue;
}
- var panelDivs = panel.content.childNodes;
- for (i in panelDivs) {
- panelContent = panelDivs[i];
+
+ var panelDivs = panel.content.childNodes,
+ i = panelDivs.length,
+ regionDiv;
+
+ while (i--) {
+ var panelRegion = panelDivs[i];
+ if (panelRegion.nodeType != 1) {
+ continue;
+ }
+ if (
+ panelRegion.nodeName &&
+ panelRegion.nodeName.toUpperCase() == 'DIV' &&
+ Element.hasClass(panelRegion, 'panel-resize-region')
+ ) {
+ regionDiv = panelRegion;
+ break;
+ }
+ }
+ if (!regionDiv) continue;
+
+ var regionDivs = regionDiv.childNodes,
+ i = regionDivs.length;
+
+ while (i--) {
+ panelContent = regionDivs[i];
tag = panelContent.nodeName ? panelContent.nodeName.toUpperCase() : false;
- if (tag === 'DIV' && Element.hasClass(panelContent, 'panel-content-history')) {
+ if (tag === 'DIV' && Element.hasClass(panelContent, 'panel-history')) {
Element.hide(panelContent);
} else if (tag === 'DIV') {
Element.show(panelContent);
