# HG changeset patch # User Marcin Kuzminski # Date 2012-08-07 20:10:44 # Node ID 4debfe3b50be77e3eab7580f1d2654d5a9b71910 # Parent 4565e655ea2aeb372caa0b342a23f377ada6be64 ie8 fixes for inline comments :/ diff --git a/rhodecode/public/js/rhodecode.js b/rhodecode/public/js/rhodecode.js --- a/rhodecode/public/js/rhodecode.js +++ b/rhodecode/public/js/rhodecode.js @@ -75,6 +75,20 @@ if(!Array.prototype.indexOf) { }; } +// IE(CRAP) doesn't support previousElementSibling +var prevElementSibling = function( el ) { + if( el.previousElementSibling ) { + return el.previousElementSibling; + } else { + while( el = el.previousSibling ) { + if( el.nodeType === 1 ) return el; + } + } +} + + + + /** * SmartColorGenerator * @@ -483,7 +497,10 @@ var injectInlineForm = function(tr){ tooltip_activate(); MentionsAutoComplete('text_'+lineno, 'mentions_container_'+lineno, _USERS_AC_DATA, _GROUPS_AC_DATA); - YUD.get('text_'+lineno).focus(); + var _e = YUD.get('text_'+lineno); + if(_e){ + _e.focus(); + } },10) }; @@ -492,7 +509,7 @@ var deleteComment = function(comment_id) var postData = {'_method':'delete'}; var success = function(o){ var n = YUD.get('comment-tr-'+comment_id); - var root = n.previousElementSibling.previousElementSibling; + var root = prevElementSibling(prevElementSibling(n)); n.parentNode.removeChild(n); // scann nodes, and attach add button to last one @@ -1234,23 +1251,24 @@ var MentionsAutoComplete = function (div return [null, null]; }; - ownerAC.textboxKeyUpEvent.subscribe(function(type, args){ - - var ac_obj = args[0]; - var currentMessage = args[1]; - var currentCaretPosition = args[0]._elTextbox.selectionStart; - - var unam = ownerAC.get_mention(currentMessage, currentCaretPosition); - var curr_search = null; - if(unam[0]){ - curr_search = unam[0]; - } - - ownerAC.dataSource.chunks = unam[1]; - ownerAC.dataSource.mentionQuery = curr_search; - - }) - + if (ownerAC.textboxKeyUpEvent){ + ownerAC.textboxKeyUpEvent.subscribe(function(type, args){ + + var ac_obj = args[0]; + var currentMessage = args[1]; + var currentCaretPosition = args[0]._elTextbox.selectionStart; + + var unam = ownerAC.get_mention(currentMessage, currentCaretPosition); + var curr_search = null; + if(unam[0]){ + curr_search = unam[0]; + } + + ownerAC.dataSource.chunks = unam[1]; + ownerAC.dataSource.mentionQuery = curr_search; + + }) + } return { ownerDS: ownerDS, ownerAC: ownerAC,