function DeleteAllFromTree (tree, view, table, deletedTable, removeButton, removeAllButton) { // remove all items from table and place in deleted table for (var i=0; i= 0; s--) { var i = selections[s]; deletedTable[deletedTable.length] = table[i]; table[i] = null; } // collapse list by removing all the null entries for (var j=0; j (table.length-1) ) { firstRow = table.length-1; } view.rowCount = table.length; box.rowCountChanged(0, table.length); box.scrollToRow(firstRow) // update selection and/or buttons if (table.length) { // update selection // note: we need to deselect before reselecting in order to trigger ...Selected method var nextSelection = (selections[0] < table.length) ? selections[0] : table.length-1; tree.treeBoxObject.view.selection.select(-1); tree.treeBoxObject.view.selection.select(nextSelection); } else { // disable buttons document.getElementById(removeButton).setAttribute("disabled", "true") document.getElementById(removeAllButton).setAttribute("disabled","true"); // clear out selections tree.treeBoxObject.view.selection.select(-1); } } function GetTreeSelections(tree) { var selections = []; var select = tree.treeBoxObject.selection; if (select) { var count = select.getRangeCount(); var min = new Object(); var max = new Object(); for (var i=0; i second[column]) return 1; return 0; } } else { compareFunc = function compare(first, second) { if (first[column] < second[column]) return 1; if (first[column] > second[column]) return -1; return 0; } } table.sort(compareFunc); // restore the selection var selectedRow = -1; if (selectedNumber>=0 && updateSelection) { for (var s=0; s= 0) { tree.treeBoxObject.ensureRowIsVisible(selectedRow) } return ascending; }