Index: trunk/admin/browse/checkboxes_new.js =================================================================== diff -u -r342 -r1566 --- trunk/admin/browse/checkboxes_new.js (.../checkboxes_new.js) (revision 342) +++ trunk/admin/browse/checkboxes_new.js (.../checkboxes_new.js) (revision 1566) @@ -11,6 +11,9 @@ var start_tab = null; var selcount = 0; +// ActiveTab +var activeTab; + var _single_select = false; function initCheckBoxes(selChangedHandler, use_cats) @@ -81,7 +84,6 @@ document.body.onclick = function(e) { - //alert('body click'); var srcElement = (document.all) ? event.srcElement : e.target; if (!srcElement) return; if (srcElement.onclick || srcElement.onmousedown || srcElement.onmouseup) return; @@ -461,10 +463,10 @@ changeSelection(tabId, 0); } -function unselectAll(tabId) +function unselectAll(tabId, dont_update) { selcount = 0; - changeSelection(tabId, 1); + changeSelection(tabId, 1, dont_update); LastCheckedItem = null; } @@ -482,7 +484,7 @@ changeSelection(tabId, 2); } -function changeSelection(tabId, action) +function changeSelection(tabId, action, dont_update) { if (selcount == 0) { selcount++; @@ -491,13 +493,21 @@ { var tab = document.getElementById(tabId); if (!tab) return; + actPrefix = tab.getAttribute("ActionPrefix"); + if ( typeof (actPrefix) != 'undefined' && actPrefix != null && actPrefix.match("k4:(.*)") ) { + act = RegExp.$1; + act = act.replace('$\$event$$', 'unselect'); + eval(act); + return; + } + var inputs = tab.getElementsByTagName("INPUT"); //alert(inputs.length); for (var j = 0; j < inputs.length; j++) { //alert(inputs[j].type + ' ' + inputs[j].name + ' ' + inputs[j].inportalType); if ((inputs[j].type == "checkbox" || inputs[j].type == "radio") && (inputs[j].inportalType)) { - //alert('will do'); + //alert('will do '+action); switch (action) { case (0) : @@ -513,6 +523,7 @@ } } + if (typeof(dont_update) != 'undefined') return; selectionChanged(); } } @@ -559,7 +570,6 @@ { setTimeout('selectionChangedA()', 0) } -var activeTab; function TabPasteEnabled(TabTitle) { @@ -588,14 +598,28 @@ if (thisTab.active) { activeTab = thisTab; - activeTab.title = getTabTitle(tabIDs[i]); + activeTab.title = getTabTitle(tabIDs[i]); +// alert('got: '+ tabIDs[i]); break; } } var numCategoriesSelected = tabSelection['categories']; - var numActiveTabSelected = (activeTab) ? tabSelection[activeTab.id] : 0; - + if(activeTab) + { + actPrefix = activeTab.getAttribute("ActionPrefix"); + if ( typeof (actPrefix) != 'undefined' && actPrefix != null && actPrefix.match("k4:(.*)") ) + { + var numActiveTabSelected = 0; + } + else + { + var numActiveTabSelected = (activeTab) ? tabSelection[activeTab.id] : 0; + } + } +// +// alert('active sel: '+numActiveTabSelected); + if(toolbar) { //toolbar.enableButton("edit", (numCategoriesSelected + numActiveTabSelected == 1));