Scholar.ItemTreeView = function(root) { this._treebox = null; this._dataItems = new Array(); this.rowCount = 0; this._rootFolder = root; } Scholar.ItemTreeView.prototype.setTree = function(treebox) { if(this._treebox) return; this._treebox = treebox; var newRows = Scholar.Items.getTreeRows(this._rootFolder,"items"); for(var i = 0; i < newRows.length; i++) this._showItem(newRows[i], i+1); //item ref, before row this._refreshHashMap(); } Scholar.ItemTreeView.prototype.getCellText = function(row, column) { var obj = this._getItemAtRow(row); return obj.getField(column.id); } Scholar.ItemTreeView.prototype._showItem = function(item, beforeRow) { this._dataItems.splice(beforeRow, 0, item); this.rowCount++; } Scholar.ItemTreeView.prototype._hideItem = function(row) { this._dataItems.splice(row,1); this.rowCount--; } Scholar.ItemTreeView.prototype._getItemAtRow = function(row) { return this._dataItems[row]; } Scholar.ItemTreeView.prototype.isSorted = function() { return false; } Scholar.ItemTreeView.prototype.isSeparator = function(row) { return false; } Scholar.ItemTreeView.prototype.isContainer = function(row) { return false; } Scholar.ItemTreeView.prototype.getLevel = function(row) { return 0; } Scholar.ItemTreeView.prototype.getRowProperties = function(row, prop) { } Scholar.ItemTreeView.prototype.getColumnProperties = function(col, prop) { } Scholar.ItemTreeView.prototype.getCellProperties = function(row, col, prop) { } Scholar.ItemTreeView.prototype.getImageSrc = function(row, col) { } Scholar.ItemTreeView.prototype.cycleHeader = function(column) { var order = 0; if(order==0) { function columnSort(a,b) { return(a.getField(column.id) < b.getField(column.id)) ? -1 : (a.getField[column.id] > b.getField(column.id)) ? 1 : 0; } } else { function columnSort(a,b) { return(a.getField(column.id) > b.getField(column.id)) ? -1 : (a.getField[column.id] < b.getField(column.id)) ? 1 : 0; } } this._dataItems.sort(columnSort); this._refreshHashMap(); this._treebox.invalidate(); } Scholar.ItemTreeView.prototype.deleteSelection = function() { if(this.selection.count == 0) return; //create an array of selected items var rows = new Array(); var start = new Object(); var end = new Object(); for (var i=0, len=this.selection.getRangeCount(); i