Live loading in the Webmail module! See ChangeLog.

Monotone-Parent: c81c7151deb5466ad48ca5eb97d70f3b1172934c
Monotone-Revision: 4c3c63649f1424cf932228d812cb2a38ae67b434

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2010-05-27T14:41:59
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2010-05-27 14:41:59 +00:00
parent 113a01009f
commit 3c0bf460bd
20 changed files with 2061 additions and 1443 deletions
+28 -5
View File
@@ -8,7 +8,7 @@ Element.addMethods({
if (element.bind)
element.bind();
},
childNodesWithTag: function(element, tagName) {
element = $(element);
@@ -165,15 +165,18 @@ Element.addMethods({
element.addClassName('_selected');
var parent = element.up();
if (!parent.selectedElements)
if (!parent.selectedElements) {
// Selected nodes are kept in a array at the
// container level.
parent.selectedElements = new Array();
parent.selectedIds = new Array();
}
for (var i = 0; i < parent.selectedElements.length; i++)
if (parent.selectedElements[i] == element) return;
parent.selectedElements.push(element); // use index instead ?
parent.selectedIds.push(element.id);
},
selectRange: function(element, startIndex, endIndex) {
element = $(element);
var s;
@@ -202,10 +205,11 @@ Element.addMethods({
deselect: function(element) {
element = $(element);
element.removeClassName('_selected');
var parent = element.up();
if (parent && parent.selectedElements)
if (parent && parent.selectedElements) {
parent.selectedElements = parent.selectedElements.without(element);
parent.selectedIds = parent.selectedIds.without(element.id);
}
},
deselectAll: function(element) {
@@ -215,6 +219,25 @@ Element.addMethods({
element.selectedElements[i].removeClassName('_selected');
element.selectedElements = null;
}
if (element.selectedIds) {
for (var i = 0; i < element.selectedIds.length; i++) {
var e = element.down('#' + element.selectedIds[i]);
if (e && e.hasClassName('_selected'))
e.removeClassName('_selected');
}
element.selectedIds = null;
}
},
refreshSelectionByIds: function(element) {
element = $(element);
if (element.selectedIds) {
for (var i = 0; i < element.selectedIds.length; i++) {
var e = element.down('#'+element.selectedIds[i]);
if (e && !e.hasClassName('_selected'))
e.addClassName('_selected');
}
}
},
setCaretTo: function(element, pos) {