The next step would be to re-open it to me with a comment asking me to
merge... I did that, and merged, and re-closed. All set!
On 2009-06-04, at 14:37EDT, Max Carlson wrote:
I think I marked the bug correctly - fix for 4.4, actually fixed in
4.5. Thanks!
--
Regards,
Max Carlson
OpenLaszlo.org
From: [email protected]
Date: 3 June 2009 21:46:02.000 EDT
To: [email protected]
Subject: [Laszlo-checkins] r14052 - openlaszlo/trunk/WEB-INF/lps/lfc/
kernel/dhtml
Reply-To: [email protected]
Author: max
Date: 2009-06-03 18:45:59 -0700 (Wed, 03 Jun 2009)
New Revision: 14052
Modified:
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
Log:
Change 20090602-maxcarlson-i by maxcarl...@bank on 2009-06-02
16:37:12 PDT
in /Users/maxcarlson/openlaszlo/trunk-clean
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fix IE to select inputtexts that share the same area as a
text
Bugs Fixed: LPP-8219 - IE DHTML: inputtext focus/selection issues
Technical Reviewer: hminsky
QA Reviewer: mdemmon
Details: LzSprite - Add textgrabsinputtextfocus quirk, set to true
for IE.
LzInputTextSprite - __hideIfNotFocused(): Shorten lookups to
LzInputTextSprite.prototype. Look at the srcElement of the last
event to see if it was an instance of LzTextSprite - this happens
when an text is in the same area as an inputtext. If this is the
case, focus the inputtext and avoid hiding the shown inputtext.
Tests: Testcase from LPP-8219 and compose window in webtop mail
allows the to: field to be selected in the area that says 'Drag a
contact or type for autosuggest'.
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/
LzInputTextSprite.js
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/
LzInputTextSprite.js 2009-06-03 10:30:06 UTC (rev 14051)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/
LzInputTextSprite.js 2009-06-04 01:45:59 UTC (rev 14052)
@@ -248,27 +248,39 @@
}
LzInputTextSprite.prototype.__hideIfNotFocused = function(eventname,
target) {
- if (LzInputTextSprite.prototype.__lastshown == null) return;
- if (LzSprite.prototype.quirks.fix_ie_clickable) {
+ var lzinppr = LzInputTextSprite.prototype;
+ if (lzinppr.__lastshown == null) return;
+ var quirks = LzSprite.prototype.quirks;
+ if (quirks.fix_ie_clickable) {
if (eventname == 'onmousemove') {
// track mouse position for inputtext when global
clickable is false
- if (LzInputTextSprite.prototype.__globalclickable ==
false && LzInputTextSprite.prototype.__focusedSprite && target) {
- if (target.owner !=
LzInputTextSprite.prototype.__focusedSprite) {
-
LzInputTextSprite.prototype.__setglobalclickable(true);
+ if (lzinppr.__globalclickable == false &&
lzinppr.__focusedSprite && target) {
+ if (target.owner != lzinppr.__focusedSprite) {
+ lzinppr.__setglobalclickable(true);
} else {
-
LzInputTextSprite.prototype.__setglobalclickable(false);
+ lzinppr.__setglobalclickable(false);
}
}
return;
- } else if (eventname != null &&
LzInputTextSprite.prototype.__globalclickable == true) {
- LzInputTextSprite.prototype.__setglobalclickable(false);
+ } else if (eventname != null && lzinppr.__globalclickable
== true) {
+ lzinppr.__setglobalclickable(false);
}
+ if (quirks.textgrabsinputtextfocus) {
+ var s = window.event;
+ if (s && s.srcElement && s.srcElement.owner &&
s.srcElement.owner instanceof LzTextSprite) {
+ //Debug.write('text intercepting focus', eventname,
s.owner instanceof LzTextSprite);
+ if (eventname == 'onmousedown') {
+ lzinppr.__lastshown.gotFocus();
+ }
+ return;
+ }
+ }
}
- if (LzInputTextSprite.prototype.__focusedSprite !=
LzInputTextSprite.prototype.__lastshown) {
- LzInputTextSprite.prototype.__lastshown.__hide();
+ if (lzinppr.__focusedSprite != lzinppr.__lastshown) {
+ lzinppr.__lastshown.__hide();
}
+}
-}
LzInputTextSprite.prototype.__setglobalclickable = function(c) {
if (! LzSprite.prototype.quirks.fix_ie_clickable) return;
if (c != LzInputTextSprite.prototype.__globalclickable) {
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
2009-06-03 10:30:06 UTC (rev 14051)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
2009-06-04 01:45:59 UTC (rev 14052)
@@ -498,6 +498,7 @@
,inputtext_anonymous_div: false
,clipped_scrollbar_causes_display_turd: false
,detectstuckkeys: false
+ ,textgrabsinputtextfocus: false
}
LzSprite.prototype.capabilities = {
@@ -606,6 +607,8 @@
quirks['scrollbar_width'] = 16;
// CSS sprites conflict with ie_alpha_image_loader...
quirks['use_css_sprites'] = !
quirks['ie_alpha_image_loader'];
+ // IE needs help focusing when an lztext is in the same
area - LPP-8219
+ quirks['textgrabsinputtextfocus'] = true;
} else if (browser.isSafari) {
// Remap alt/option key also sends control since control-
click shows context menu (see LPP-2584 - Lzpix: problem with multi-
selecting images in Safari 2.0.4, dhtml)
quirks['alt_key_sends_control'] = true;
_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins