From: <nk...@us...> - 2009-11-13 16:42:18
|
Revision: 23238 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=23238&view=rev Author: nkoth Date: 2009-11-13 16:42:10 +0000 (Fri, 13 Nov 2009) Log Message: ----------- [FIX] Quick fix to prevent cursor from ending up at the end of textarea after insertion of tags in Fx3.5 due to "selection forgetting problem. Modified Paths: -------------- branches/4.x/lib/jquery_tiki/tiki-jquery.js branches/4.x/lib/toolbars/toolbarslib.php Modified: branches/4.x/lib/jquery_tiki/tiki-jquery.js =================================================================== --- branches/4.x/lib/jquery_tiki/tiki-jquery.js 2009-11-13 16:28:14 UTC (rev 23237) +++ branches/4.x/lib/jquery_tiki/tiki-jquery.js 2009-11-13 16:42:10 UTC (rev 23238) @@ -441,7 +441,21 @@ var btns = {}; var closeText = "Close"; btns[closeText] = function() { + + // quick fix for Firefox 3.5 losing selection on changes to popup + var tempSelectionStart = textarea.selectionStart; + var tempSelectionEnd = textarea.selectionEnd; + $jq(this).dialog("close"); + + // quick fix for Firefox 3.5 losing selection on changes to popup + if (textarea.selectionStart != tempSelectionStart) { + textarea.selectionStart = tempSelectionStart; + } + if (textarea.selectionEnd != tempSelectionEnd) { + textarea.selectionEnd = tempSelectionEnd; + } + var ta = getElementById(area_name); if (ta) { ta.focus(); } }; @@ -477,8 +491,22 @@ // getElementById(area_name).focus(); // unsuccesfull attempt to get Fx3.5/win to keep selection info insertAt(area_name, blob, false, false, replaceText); } - $jq(this).dialog("close"); - return false; + // quick fix for Firefox 3.5 losing selection on changes to popup + var tempSelectionStart = textarea.selectionStart; + var tempSelectionEnd = textarea.selectionEnd; + + $jq(this).dialog("close"); + + // quick fix for Firefox 3.5 losing selection on changes to popup + if (textarea.selectionStart != tempSelectionStart) { + textarea.selectionStart = tempSelectionStart; + } + if (textarea.selectionEnd != tempSelectionEnd) { + textarea.selectionEnd = tempSelectionEnd; + } + + + return false; }; // quick fix for Firefox 3.5 losing selection on changes to popup Modified: branches/4.x/lib/toolbars/toolbarslib.php =================================================================== --- branches/4.x/lib/toolbars/toolbarslib.php 2009-11-13 16:28:14 UTC (rev 23237) +++ branches/4.x/lib/toolbars/toolbarslib.php 2009-11-13 16:42:10 UTC (rev 23238) @@ -803,8 +803,23 @@ link.href = 'javascript:void(0)'; link.onclick = function() { insertAt( areaname, ins ); + + // quick fix for Firefox 3.5 losing selection on changes to popup + textarea = getElementById( areaname); + var tempSelectionStart = textarea.selectionStart; + var tempSelectionEnd = textarea.selectionEnd; + \$jq('div.toolbars-picker').remove(); pickerDiv = false; + + // quick fix for Firefox 3.5 losing selection on changes to popup + if (textarea.selectionStart != tempSelectionStart) { + textarea.selectionStart = tempSelectionStart; + } + if (textarea.selectionEnd != tempSelectionEnd) { + textarea.selectionEnd = tempSelectionEnd; + } + return false; } }; @@ -884,7 +899,23 @@ if ($jq("#tbWLinkAnchor") && $jq("#tbWLinkAnchor").val()) { s += "|" + $jq("#tbWLinkAnchor").val(); } if ($jq("#tbWLinkDesc").val()) { s += "|" + $jq("#tbWLinkDesc").val(); } s += "))"; -insertAt(areaname, s, false, false, true); $jq(this).dialog("close"); +insertAt(areaname, s, false, false, true); + +// quick fix for Firefox 3.5 losing selection on changes to popup +textarea = getElementById( areaname); +var tempSelectionStart = textarea.selectionStart; +var tempSelectionEnd = textarea.selectionEnd; + +$jq(this).dialog("close"); + +// quick fix for Firefox 3.5 losing selection on changes to popup +if (textarea.selectionStart != tempSelectionStart) { + textarea.selectionStart = tempSelectionStart; +} +if (textarea.selectionEnd != tempSelectionEnd) { + textarea.selectionEnd = tempSelectionEnd; +} + }}}' ); @@ -936,7 +967,23 @@ if ($jq("#tbLinkRel").val()) { s += "|" + $jq("#tbLinkRel").val(); } if ($jq("#tbLinkNoCache") && $jq("#tbLinkNoCache").attr("checked")) { s += "|nocache"; } s += "]"; -insertAt(areaname, s, false, false, true); $jq(this).dialog("close"); +insertAt(areaname, s, false, false, true); + +// quick fix for Firefox 3.5 losing selection on changes to popup +textarea = getElementById( areaname); +var tempSelectionStart = textarea.selectionStart; +var tempSelectionEnd = textarea.selectionEnd; + +$jq(this).dialog("close"); + +// quick fix for Firefox 3.5 losing selection on changes to popup +if (textarea.selectionStart != tempSelectionStart) { + textarea.selectionStart = tempSelectionStart; +} +if (textarea.selectionEnd != tempSelectionEnd) { + textarea.selectionEnd = tempSelectionEnd; +} + }}}' ); break; @@ -1066,7 +1113,23 @@ if (r < rows2) { s += "\n"; } } s += "||"; -insertAt(areaname, s, false, false, true); $jq(this).dialog("close"); +insertAt(areaname, s, false, false, true); + +// quick fix for Firefox 3.5 losing selection on changes to popup +textarea = getElementById( areaname); +var tempSelectionStart = textarea.selectionStart; +var tempSelectionEnd = textarea.selectionEnd; + +$jq(this).dialog("close"); + +// quick fix for Firefox 3.5 losing selection on changes to popup +if (textarea.selectionStart != tempSelectionStart) { + textarea.selectionStart = tempSelectionStart; +} +if (textarea.selectionEnd != tempSelectionEnd) { + textarea.selectionEnd = tempSelectionEnd; +} + }}}' ); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |