From: phasefx Date: Wed, 22 Jun 2005 17:44:30 +0000 (+0000) Subject: broken X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=6cd11bec5a3a4ca4cbbf5a1c8fe8969ab43cccae;p=Evergreen.git broken git-svn-id: svn://svn.open-ils.org/ILS/trunk@910 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Evergreen/staff_client/chrome/content/evergreen/main/app_shell.js b/Evergreen/staff_client/chrome/content/evergreen/main/app_shell.js index 7a05d0f075..41a81806b6 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/main/app_shell.js +++ b/Evergreen/staff_client/chrome/content/evergreen/main/app_shell.js @@ -2,6 +2,41 @@ sdump('D_TRACE','Loading app_shell.js\n'); var tab_count = [ false, false, false, false, false, false, false, false, false, false ]; +function debug_tabs( d, tabbox ) { + if (typeof(tabbox)!='object') + tabbox = d.getElementById(tabbox); + if (typeof(tabbox)!='object') + throw('Could not find tabbox. d = ' + d + ' tabbox = ' + tabbox + '\n'); + var tabs = tabbox.firstChild; + var panels = tabbox.lastChild; + sdump('D_TAB', d.id + '\t' + tabbox.id + '\n'); + sdump('D_TAB','\ttabs.childNodes.length = ' + tabs.childNodes.length + '\n'); + for (var i = 0; i < tabs.childNodes.length; i++) { + var tab = tabs.childNodes[i]; + sdump('D_TAB','\t\t#' + i + ' tab = ' + tab.tagName + ' : ' + tab.id + '\n' ); + if (tab.childNodes) { + sdump('D_TAB','\t\t\ttab.childNodes.length = ' + tab.childNodes.length + '\n'); + for (var j = 0; j < tab.childNodes.length; j++) { + var child = tab.childNodes[j]; + sdump('D_TAB','\t\t\t#' + j + ' ' + child.tagName + ' : ' + child.id + '\n'); + } + } + } + + sdump('D_TAB','\tpanels.childNodes.length = ' + panels.childNodes.length + '\n'); + for (var i = 0; i < panels.childNodes.length; i++) { + var panel = panels.childNodes[i]; + sdump('D_TAB','\t\t#' + i + ' panel = ' + panel.tagName + ' : ' + panel.id + '\n' ); + if (panel.childNodes) { + sdump('D_TAB','\t\t\tpanel.childNodes.length = ' + panel.childNodes.length + '\n'); + for (var j = 0; j < panel.childNodes.length; j++) { + var child = panel.childNodes[j]; + sdump('D_TAB','\t\t\t#' + j + ' ' + child.tagName + ' : ' + child.id + '\n'); + } + } + } +} + function app_shell_init(params) { dump("TESTING: app_shell.js: " + mw.G['main_test_variable'] + '\n'); replace_tab(params.d,'main_tabbox','Tab','chrome://evergreen/content/main/about.xul'); @@ -9,7 +44,7 @@ function app_shell_init(params) { } function close_tab( d, tabbox ) { - sdump('D_TAB','calling close_tab( ' + d + ',' + tabbox + ');\n'); + sdump('D_TAB','calling close_tab( ' + d.id + ',' + tabbox + ');\n'); if (typeof(tabbox)!='object') tabbox = d.getElementById(tabbox); if (typeof(tabbox)!='object') @@ -35,14 +70,22 @@ function close_tab( d, tabbox ) { dump(E+'\n'); throw(E); } - sdump('D_TAB',' : tabs.childNodes.length = ' + tabs.childNodes.length + ' panels.childNodes.length = ' + panels.childNodes.length + '\n'); + debug_tabs(d,tabbox); } function delete_tab_contents( tab, panel ) { - sdump('D_TAB','calling delete_tab_contents( ' + tab + ',' + panel + ');\n'); + sdump('D_TAB','calling delete_tab_contents( ' + tab.id + ',' + panel.id + ');\n'); try { + if (tab.childNodes) + sdump('D_TAB','before: tab.childNodes.length = ' + tab.childNodes.length + '\n'); + if (panel.childNodes) + sdump('D_TAB','before: panel.childNodes.length = ' + panel.childNodes.length + '\n'); while (tab.lastChild) { tab.removeChild(tab.lastChild); } while (panel.lastChild) { panel.removeChild(panel.lastChild); } + if (tab.childNodes) + sdump('D_TAB','after: tab.childNodes.length = ' + tab.childNodes.length + '\n'); + if (panel.childNodes) + sdump('D_TAB','after: panel.childNodes.length = ' + panel.childNodes.length + '\n'); } catch(E) { dump(js2JSON(E)+'\n'); } @@ -59,7 +102,7 @@ function first_free_tab_count() { } function new_tab( d, tabbox ) { - sdump('D_TAB','calling new_tab( ' + d + ',' + tabbox + ');\n'); + sdump('D_TAB','calling new_tab( ' + d.id + ',' + tabbox + ');\n'); if (typeof(tabbox)!='object') tabbox = d.getElementById(tabbox); if (typeof(tabbox)!='object') @@ -69,34 +112,54 @@ function new_tab( d, tabbox ) { var tc = first_free_tab_count(); if (tc == -1) { return; } // let's only have up to 10 tabs var panel = d.createElement('tabpanel'); - var pl = d.createElement('label'); - pl.setAttribute('value','Panel ' + tc); panel.setAttribute('flex','1'); - //panel.setAttribute('style','overflow: auto; min-width: 500px; min-height: 500px;'); panel.setAttribute('id','panel'+tc); - panel.appendChild(pl); panels.appendChild(panel); + sdump('D_TAB','Created a tabpanel: ' + panel.id + '\n'); var tab = d.createElement('tab'); + tab.setAttribute('id','tab' + tc ); tab.setAttribute('label','Tab ' + tc ); tab.setAttribute('count',tc); tab.setAttribute('accesskey',tc); tab.setAttribute('linkedpanel','panel'+tc); tabs.appendChild(tab); + sdump('D_TAB','Created a tab: ' + tab.id + '\n'); try { + sdump('D_TAB','before: tabbox.selectedIndex = ' + + tabbox.selectedIndex + + ' .selectedTab = ' + tabbox.selectedTab.id + + ' .selectedPanel = ' + tabbox.selectedPanel.id + '\n'); + sdump('D_TAB','before: tabs.selectedIndex = ' + + tabs.selectedIndex + ' .selectedItem = ' + + tabs.selectedItem.id + '\n'); + sdump('D_TAB','before: panels.selectedIndex = ' + + panels.selectedIndex + ' .selectedPanel = ' + + panels.selectedPanel.id + '\n'); tabbox.selectedIndex = tc; tabs.selectedIndex = tc; + sdump('D_TAB','after: tabbox.selectedIndex = ' + + tabbox.selectedIndex + + ' .selectedTab = ' + tabbox.selectedTab.id + + ' .selectedPanel = ' + tabbox.selectedPanel.id + '\n'); + sdump('D_TAB','after: tabs.selectedIndex = ' + + tabs.selectedIndex + ' .selectedItem = ' + + tabs.selectedItem.id + '\n'); + sdump('D_TAB','after: panels.selectedIndex = ' + + panels.selectedIndex + ' .selectedPanel = ' + + panels.selectedPanel.id + '\n'); + //tabbox.selectedIndex = tabs.childNodes.length - 1; //tabs.selectedIndex = tabs.childNodes.length - 1; replace_tab(d,tabbox,'Tab','chrome://evergreen/content/main/about.xul'); } catch(E) { dump(js2JSON(E)+'\n'); } - sdump('D_TAB',' : tabs.childNodes.length = ' + tabs.childNodes.length + ' panels.childNodes.length = ' + panels.childNodes.length + '\n'); + debug_tabs(d,tabbox); } function replace_tab( d, tabbox, label, chrome, params ) { - sdump('D_TAB','calling replace_tab( ' + d + ',' + tabbox + ');\n'); + sdump('D_TAB','calling replace_tab( ' + d.id + ',' + tabbox + ');\n'); if (typeof(tabbox)!='object') tabbox = d.getElementById(tabbox); if (typeof(tabbox)!='object') @@ -112,10 +175,12 @@ function replace_tab( d, tabbox, label, chrome, params ) { tab.setAttribute('label',label + ' ' + tab.getAttribute('count') ); var frame = d.createElement('iframe'); + frame.setAttribute('id','frame'+tab.getAttribute('count')); frame.setAttribute('flex','1'); //frame.setAttribute('style','overflow: scroll; min-height: 500px; min-width: 500px;'); frame.setAttribute('src',chrome); panel.appendChild(frame); + sdump('D_TAB','Created frame : ' + frame.id + ' for tab : ' + tab.id + ' and panel : ' + panel.id + '\n'); //frame.contentWindow.parentWindow = parentWindow; //frame.contentWindow.tabWindow = this; //dump('replace_tab.tabWindow = ' + this + '\n'); @@ -128,6 +193,5 @@ function replace_tab( d, tabbox, label, chrome, params ) { } catch(E) { dump(js2JSON(E)+'\n'); } - sdump('D_TAB',' : tabs.childNodes.length = ' + tabs.childNodes.length + ' panels.childNodes.length = ' + panels.childNodes.length + '\n'); - + debug_tabs(d,tabbox); }