[Laszlo-checkins] r14357 - openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml

max@openlaszlo.org max at openlaszlo.org
Mon Jul 20 14:51:38 PDT 2009


Author: max
Date: 2009-07-20 14:51:37 -0700 (Mon, 20 Jul 2009)
New Revision: 14357

Modified:
   openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
Log:
Change 20090710-maxcarlson-4 by maxcarlson at Bank on 2009-07-10 12:20:18 PDT
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: UPDATED: Fix inputtext focusing issues in firefox

Bugs Fixed: LPP-8284 - In dhtml it sometimes takes 2 clicks before text can be entered

Technical Reviewer: andre.bargull at udo.edu
QA Reviewer: ptw

Details: Initialize _cancelfocus/blur flags to false.  Clear out _cancelfocus and _cancelblur flags when the sprite receives focus or blur events from the LFC.  Update comments, wrap flag clearing behavior in a Firefox-only quirk - it's related to the same issue (LzSprite.prototype.quirks.dom_breaks_focus).

Tests: See LPP-8284



Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js	2009-07-20 19:27:13 UTC (rev 14356)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js	2009-07-20 21:51:37 UTC (rev 14357)
@@ -46,6 +46,7 @@
 LzInputTextSprite.prototype.__lastshown = null;
 LzInputTextSprite.prototype.__focusedSprite = null;
 LzInputTextSprite.prototype.__lastfocus = null;
+LzInputTextSprite.prototype._cancelfocus = LzInputTextSprite.prototype._cancelblur = false;
 
 LzInputTextSprite.prototype.____crregexp = new RegExp('\\r\\n', 'g');
 
@@ -374,13 +375,21 @@
     }
 }
 
+// called by the LFC focus manager
 LzInputTextSprite.prototype.gotBlur = function() {
+    if (this.quirks.dom_breaks_focus) {
+        this._cancelfocus = this._cancelblur = false;
+    }
     if (LzInputTextSprite.prototype.__focusedSprite != this) return;
     //Debug.write('blur', this.uid, LzKeyboardKernel.__cancelKeys);
     this.deselect();
 }
 
+// called by the LFC focus manager
 LzInputTextSprite.prototype.gotFocus = function() {
+    if (this.quirks.dom_breaks_focus) {
+        this._cancelfocus = this._cancelblur = false;
+    }
     if (LzInputTextSprite.prototype.__focusedSprite == this) return;
     //Debug.write('focus', this.uid, LzKeyboardKernel.__cancelKeys);
     this.select();



More information about the Laszlo-checkins mailing list