|
|
@ -780,10 +780,16 @@ shift_select: function(id, control)
|
|
|
|
if (!this.rows[this.shift_start] || !this.selection.length)
|
|
|
|
if (!this.rows[this.shift_start] || !this.selection.length)
|
|
|
|
this.shift_start = id;
|
|
|
|
this.shift_start = id;
|
|
|
|
|
|
|
|
|
|
|
|
var n, from_rowIndex = this.rows[this.shift_start].obj.rowIndex,
|
|
|
|
var n, i, j, to_row = this.rows[id],
|
|
|
|
to_rowIndex = this.rows[id].obj.rowIndex,
|
|
|
|
from_rowIndex = this.rows[this.shift_start].obj.rowIndex,
|
|
|
|
i = ((from_rowIndex < to_rowIndex)? from_rowIndex : to_rowIndex),
|
|
|
|
to_rowIndex = to_row.obj.rowIndex;
|
|
|
|
j = ((from_rowIndex > to_rowIndex)? from_rowIndex : to_rowIndex);
|
|
|
|
|
|
|
|
|
|
|
|
if (!to_row.expanded && to_row.has_children)
|
|
|
|
|
|
|
|
if (to_row = this.rows[(this.row_children(id)).pop()])
|
|
|
|
|
|
|
|
to_rowIndex = to_row.obj.rowIndex;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i = ((from_rowIndex < to_rowIndex) ? from_rowIndex : to_rowIndex),
|
|
|
|
|
|
|
|
j = ((from_rowIndex > to_rowIndex) ? from_rowIndex : to_rowIndex);
|
|
|
|
|
|
|
|
|
|
|
|
// iterate through the entire message list
|
|
|
|
// iterate through the entire message list
|
|
|
|
for (n in this.rows) {
|
|
|
|
for (n in this.rows) {
|
|
|
@ -829,7 +835,7 @@ select_all: function(filter)
|
|
|
|
for (n in this.rows) {
|
|
|
|
for (n in this.rows) {
|
|
|
|
if (!filter || this.rows[n][filter] == true) {
|
|
|
|
if (!filter || this.rows[n][filter] == true) {
|
|
|
|
this.last_selected = n;
|
|
|
|
this.last_selected = n;
|
|
|
|
this.highlight_row(n, true);
|
|
|
|
this.highlight_row(n, true, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
$(this.rows[n].obj).removeClass('selected').removeClass('unfocused');
|
|
|
|
$(this.rows[n].obj).removeClass('selected').removeClass('unfocused');
|
|
|
@ -924,7 +930,7 @@ get_single_selection: function()
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Highlight/unhighlight a row
|
|
|
|
* Highlight/unhighlight a row
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
highlight_row: function(id, multiple)
|
|
|
|
highlight_row: function(id, multiple, norecur)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (!this.rows[id])
|
|
|
|
if (!this.rows[id])
|
|
|
|
return;
|
|
|
|
return;
|
|
|
@ -940,7 +946,7 @@ highlight_row: function(id, multiple)
|
|
|
|
if (!this.in_selection(id)) { // select row
|
|
|
|
if (!this.in_selection(id)) { // select row
|
|
|
|
this.selection.push(id);
|
|
|
|
this.selection.push(id);
|
|
|
|
$(this.rows[id].obj).addClass('selected');
|
|
|
|
$(this.rows[id].obj).addClass('selected');
|
|
|
|
if (!this.rows[id].expanded)
|
|
|
|
if (!norecur && !this.rows[id].expanded)
|
|
|
|
this.highlight_children(id, true);
|
|
|
|
this.highlight_children(id, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else { // unselect row
|
|
|
|
else { // unselect row
|
|
|
@ -950,7 +956,7 @@ highlight_row: function(id, multiple)
|
|
|
|
|
|
|
|
|
|
|
|
this.selection = a_pre.concat(a_post);
|
|
|
|
this.selection = a_pre.concat(a_post);
|
|
|
|
$(this.rows[id].obj).removeClass('selected').removeClass('unfocused');
|
|
|
|
$(this.rows[id].obj).removeClass('selected').removeClass('unfocused');
|
|
|
|
if (!this.rows[id].expanded)
|
|
|
|
if (!norecur && !this.rows[id].expanded)
|
|
|
|
this.highlight_children(id, false);
|
|
|
|
this.highlight_children(id, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -968,7 +974,7 @@ highlight_children: function(id, status)
|
|
|
|
for (i=0; i<len; i++) {
|
|
|
|
for (i=0; i<len; i++) {
|
|
|
|
selected = this.in_selection(children[i]);
|
|
|
|
selected = this.in_selection(children[i]);
|
|
|
|
if ((status && !selected) || (!status && selected))
|
|
|
|
if ((status && !selected) || (!status && selected))
|
|
|
|
this.highlight_row(children[i], true);
|
|
|
|
this.highlight_row(children[i], true, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|