Author: pyaschenko
Date: 2008-05-03 09:44:02 -0400 (Sat, 03 May 2008)
New Revision: 8435
Modified:
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js
Log:
http://jira.jboss.com/jira/browse/RF-3343
Modified:
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js
===================================================================
---
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js 2008-05-03
13:41:15 UTC (rev 8434)
+++
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js 2008-05-03
13:44:02 UTC (rev 8435)
@@ -88,6 +88,10 @@
}
this.observeEvents();
+
+ this.previousTextClassNames = null;
+ this.highlightedTextClassNames = null;
+ this.selectedTextClassNames = null;
},
destroy: function() {
@@ -302,15 +306,10 @@
if (this.isMouseIn) {
this.isMouseIn = false;
var eText = this.elements.textElement;
- var hClass = Richfaces.getNSAttribute("highlightedclass", eText);
- if (hClass) {
- var classNames = hClass.split(' ')
- for (var i = 0; i < classNames.length; i++) {
- Element.removeClassName(eText, classNames[i]);
- }
- if (window.drag){
- this.dragLeave(e);
- }
+ eText.className = this.previousTextClassNames;
+ this.previousTextClassNames = null;
+ if (window.drag){
+ this.dragLeave(e);
}
}
},
@@ -319,16 +318,17 @@
if(!this.isMouseIn) {
this.isMouseIn = true;
var eText = this.elements.textElement;
- var hClass = Richfaces.getNSAttribute("highlightedclass", eText);
- if (hClass) {
- var classNames = hClass.split(' ')
- for (var i = 0; i < classNames.length; i++) {
- Element.addClassName(eText, classNames[i]);
- }
- if (window.drag) {
- this.dragEnter(e);
- }
+ this.previousTextClassNames = eText.className;
+ if (!this.highlightedTextClassNames)
+ {
+ this.highlightedTextClassNames =
Richfaces.getNSAttribute("highlightedclass", eText);
}
+ if (this.highlightedTextClassNames) {
+ eText.className += " "+this.highlightedTextClassNames;
+ }
+ if (window.drag) {
+ this.dragEnter(e);
+ }
}
},
@@ -374,13 +374,19 @@
*/
var eText = this.elements.textElement;
- var sClass = Richfaces.getNSAttribute("selectedclass", eText);
- if (sClass) {
-
- var classNames = sClass.split(' ')
+ if (!this.selectedTextClassNames)
+ {
+ this.selectedTextClassNames = Richfaces.getNSAttribute("selectedclass",
eText);
+ }
+ if (this.selectedTextClassNames) {
+ var classNames = this.selectedTextClassNames.split(' ')
for (var i = 0; i < classNames.length; i++) {
Element.addClassName(eText, classNames[i]);
}
+ if (this.previousTextClassNames &&
this.previousTextClassNames.indexOf(this.selectedTextClassNames)==-1)
+ {
+ this.previousTextClassNames += " " + this.selectedTextClassNames;
+ }
this.tree.input.value = this.id;
this.tree.selectionManager.activeItem = this;
@@ -402,9 +408,8 @@
deselect: function() {
var eText = this.elements.textElement;
- var sClass = Richfaces.getNSAttribute("selectedclass", eText);
- if (sClass) {
- var classNames = sClass.split(' ')
+ if (this.selectedTextClassNames) {
+ var classNames = this.selectedTextClassNames.split(' ')
for (var i = 0; i < classNames.length; i++) {
Element.removeClassName(eText, classNames[i]);
}