d01f37f924e158b1f84c50dccff651cfa180b674

Author: Mark Story

Date: 2009-11-24 00:22:21 -0500

Refactoring repeated Javascript into a method.

diff --git a/vendors/js/js_debug_toolbar.js b/vendors/js/js_debug_toolbar.js index 81e7faa..65e2c23 100755 --- a/vendors/js/js_debug_toolbar.js +++ b/vendors/js/js_debug_toolbar.js @@ -54,6 +54,11 @@ DEBUGKIT.loader = function () { DEBUGKIT.module('Util'); DEBUGKIT.Util.Element = { + //test if an element is a name node. + nodeName: function (element, name) { + return element.nodeName && element.nodeName.toLowerCase() == name.toLowerCase(); + }, + //return a boolean if the element has the classname hasClass : function (element, className) { if (!element.className) { @@ -389,11 +394,11 @@ DEBUGKIT.toolbar = function () { // Use event delegation to find original target. function _delegateNeatArray (event) { var clickedEl = event.target; - while (clickedEl.nodeName.toUpperCase() !== 'LI') { + while (!Element.nodeName(clickedEl, 'LI')) { clickedEl = clickedEl.parentNode; } var subUl = clickedEl.lastChild; - if (subUl.nodeName.toUpperCase() != 'UL') { + if (!Element.nodeName(subUl, 'ul')) { return; } var hide = Boolean(subUl.style.display === 'block'); @@ -446,7 +451,7 @@ DEBUGKIT.toolbar = function () { // Add a panel to the toolbar addPanel : function (tab) { - if (!tab.nodeName || tab.nodeName.toUpperCase() !== 'LI') { + if (!Element.nodeName(tab, 'li')) { throw ('Toolbar not found, make sure you loaded it.'); } var panel = { @@ -457,12 +462,11 @@ DEBUGKIT.toolbar = function () { active : false }; for (var i in tab.childNodes) { - var element = tab.childNodes[i], - tag = element.nodeName ? element.nodeName.toUpperCase() : false; - if (tag === 'A') { + var element = tab.childNodes[i]; + if (Element.nodeName(element, 'A')) { panel.id = element.hash.replace(/^#/, ''); panel.button = element; - } else if (tag === 'DIV') { + } else if (Element.nodeName(element, 'DIV')) { panel.content = element; } } @@ -504,9 +508,8 @@ DEBUGKIT.toolbar = function () { } for (var i in panel.content.childNodes) { - var element = panel.content.childNodes[i], - tag = element.nodeName ? element.nodeName.toUpperCase() : false; - if (tag === 'DIV' && Element.hasClass(element, 'panel-resize-handle')) { + var element = panel.content.childNodes[i]; + if (Element.nodeName(element, 'DIV') && Element.hasClass(element, 'panel-resize-handle')) { Event.addEvent(element, 'mousedown', function (event) { event.preventDefault(); diff --git a/views/elements/history_panel.ctp b/views/elements/history_panel.ctp index 3b0d2ae..712784b 100644 --- a/views/elements/history_panel.ctp +++ b/views/elements/history_panel.ctp @@ -76,8 +76,7 @@ DEBUGKIT.historyPanel = function () { continue; } if ( - panelRegion.nodeName && - panelRegion.nodeName.toUpperCase() == 'DIV' && + Element.nodeName(panelRegion, 'DIV') && Element.hasClass(panelRegion, 'panel-resize-region') ) { regionDiv = panelRegion; @@ -91,10 +90,8 @@ DEBUGKIT.historyPanel = function () { while (i--) { //toggle history element, hide current request one. - var panelContent = regionDivs[i], - tag = panelContent.nodeName ? panelContent.nodeName.toUpperCase() : false; - - if (tag === 'DIV' && Element.hasClass(panelContent, 'panel-history')) { + var panelContent = regionDivs[i]; + if (Element.nodeName(panelContent, 'DIV') && Element.hasClass(panelContent, 'panel-history')) { var panelId = panelContent.id.replace('-history', ''); if (responseJson[panelId]) { panelContent.innerHTML = responseJson[panelId]; @@ -107,7 +104,7 @@ DEBUGKIT.historyPanel = function () { toolbar.makeNeatArray(lists); } Element.show(panelContent); - } else if (tag === 'DIV') { + } else if (Element.nodeName(panelContent, 'DIV')) { Element.hide(panelContent); } } @@ -138,8 +135,7 @@ DEBUGKIT.historyPanel = function () { continue; } if ( - panelRegion.nodeName && - panelRegion.nodeName.toUpperCase() == 'DIV' && + Element.nodeName(panelRegion, 'DIV') && Element.hasClass(panelRegion, 'panel-resize-region') ) { regionDiv = panelRegion; @@ -153,10 +149,9 @@ DEBUGKIT.historyPanel = function () { while (i--) { panelContent = regionDivs[i]; - tag = panelContent.nodeName ? panelContent.nodeName.toUpperCase() : false; - if (tag === 'DIV' && Element.hasClass(panelContent, 'panel-history')) { + if (Element.nodeName(panelContent, 'DIV') && Element.hasClass(panelContent, 'panel-history')) { Element.hide(panelContent); - } else if (tag === 'DIV') { + } else if (Element.nodeName(panelContent, 'DIV')) { Element.show(panelContent); } }