diff --git a/mozilla/suite/common/permissions/treeUtils.js b/mozilla/suite/common/permissions/treeUtils.js index 504f28b7484..eb7fc36dab1 100644 --- a/mozilla/suite/common/permissions/treeUtils.js +++ b/mozilla/suite/common/permissions/treeUtils.js @@ -20,87 +20,149 @@ * Contributor(s): */ -var setID=0, setValue=0, getID=0, getValue=0; -function Wallet_ColumnSort(columnPosition, childrenName) -{ - //var startTime = new Date(); +function DeleteAllFromOutliner + (outliner, view, table, deletedTable, removeButton, removeAllButton) { - // determine if sort is to be ascending or descending - // it is ascending if it is the first sort for this tree - // it is ascending if last sort was on a different column - // else it is the opposite of whatever the last sort for this column was - var children = document.getElementById(childrenName); - var lastColumnPosition = children.getAttribute('lastColumnPosition'); - var ascending = true; - if (columnPosition == lastColumnPosition) { - ascending = (children.getAttribute('lastAscending') != 'true'); - } else { - children.setAttribute('lastColumnPosition', columnPosition); + // 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; } - for (var i = 0; i < m; i++) { - var key = keys[i]; + // collapse list by removing all the null entries + for (var j=0; j=0) { + for (var s=0; s0) { + outliner.outlinerBoxObject.ensureRowIsVisible(selectedRow) + } + + return ascending; +} + +function BubbleSort(columnName, ascending, table) { + var len = table.length, len_1 = len - 1; + + for (var i = 0; i < len_1; i++) { + var key = table[i][columnName]; var winner = -1; - for (var j = i + 1; j < n; j++) { - var nextKey = keys[j]; + for (var j = i + 1; j < len; j++) { + var nextKey = table[j][columnName]; if (ascending ? key > nextKey : key < nextKey) { key = nextKey; winner = j; } } if (winner != -1){ - - // get the corresponding menuitems - var item = a[i]; - var row = item.firstChild; - var nextItem = a[winner]; - var nextRow = nextItem.firstChild; - - // swap the row values and the id's of the corresponding menuitems - var temp = item.getAttribute('id'); - item.setAttribute('id', nextItem.getAttribute('id')); - nextItem.setAttribute('id', temp); - - var cell = row.firstChild; - var nextCell = nextRow.firstChild; - var position = 0; - while (cell) { - var value_i; - var value_winner; - if (position == columnPosition) { - value_i = keys[i]; - value_winner = keys[winner]; - keys[i] = value_winner; - keys[winner] = value_i; - } else { - value_i = cell.getAttribute('label'); - value_winner = nextCell.getAttribute('label'); - } - cell.setAttribute('label', value_winner); - nextCell.setAttribute('label', value_i); - cell = cell.nextSibling; - nextCell = nextCell.nextSibling; - position++; - } + var temp = table[i]; + table[i] = table[winner]; + table[winner] = temp; } } -} \ No newline at end of file +}