diff --git a/js/acl.js b/js/acl.js index 4924ac128..054f50960 100644 --- a/js/acl.js +++ b/js/acl.js @@ -65,7 +65,7 @@ ACL.prototype.add_mention = function(id) { if (this.element.val().indexOf( searchText) >= 0 ) { return; } - this.element.val(searchText + this.element.val()); + this.element.val(searchText + this.element.val()).trigger('change'); } ACL.prototype.on_submit = function(){ diff --git a/js/autocomplete.js b/js/autocomplete.js index 8702abbcf..3ed9fa30f 100644 --- a/js/autocomplete.js +++ b/js/autocomplete.js @@ -166,7 +166,7 @@ function listNewLineAutocomplete(id) { if (word != null) { var textBefore = text.value.substring(0, caretPos); var textAfter = text.value.substring(caretPos, text.length); - $('#' + id).val(textBefore + '\r\n[*] ' + textAfter); + $('#' + id).val(textBefore + '\r\n[*] ' + textAfter).trigger('change'); setCaretPosition(text, caretPos + 5); return true; } diff --git a/js/main.js b/js/main.js index c85aab4a2..5df33ed59 100644 --- a/js/main.js +++ b/js/main.js @@ -101,6 +101,7 @@ var start = textarea.selectionStart; var end = textarea.selectionEnd; textarea.value = textarea.value.substring(0, start) + bbcode + textarea.value.substring(end, textarea.value.length); + $(textarea).trigger('change'); }); diff --git a/view/theme/frio/js/textedit.js b/view/theme/frio/js/textedit.js index d212ee003..8794658dd 100644 --- a/view/theme/frio/js/textedit.js +++ b/view/theme/frio/js/textedit.js @@ -30,6 +30,8 @@ function insertFormatting(BBcode,id) { } } + $(textarea).trigger('change'); + return true; } diff --git a/view/theme/frio/js/theme.js b/view/theme/frio/js/theme.js index 4e32f9128..41a437de7 100644 --- a/view/theme/frio/js/theme.js +++ b/view/theme/frio/js/theme.js @@ -275,7 +275,38 @@ $(document).ready(function(){ }); + /* + * This event handler hides all comment UI when the user clicks anywhere on the page + * It ensures that we aren't closing the current comment box + * + * We are making an exception for buttons because of a race condition with the + * comment opening button that results in an already closed comment UI. + */ + $(document).on('click', function(event) { + if (event.target.type === 'button') { + return true; + } + var $dontclosethis = $(event.target).closest('.wall-item-comment-wrapper').find('.comment-edit-form'); + $('.wall-item-comment-wrapper .comment-edit-submit-wrapper:visible').each(function() { + var $parent = $(this).parent('.comment-edit-form'); + var itemId = $parent.data('itemId'); + + if ($dontclosethis[0] != $parent[0]) { + var textarea = $parent.find('textarea').get(0) + + commentCloseUI(textarea, itemId); + } + }); + }); + + /* + * This event listeners ensures that the textarea size is updated event if the + * value is changed externally (textcomplete, insertFormatting, fbrowser...) + */ + $(document).on('change', 'textarea', function(event) { + autosize.update(event.target); + }); }); function openClose(theID) { diff --git a/view/theme/frio/templates/comment_item.tpl b/view/theme/frio/templates/comment_item.tpl index 8ce7805bb..168576b3d 100644 --- a/view/theme/frio/templates/comment_item.tpl +++ b/view/theme/frio/templates/comment_item.tpl @@ -4,7 +4,7 @@ {{else}}
{{/if}} -
+ @@ -14,7 +14,7 @@
- +
{{if $qcomment}}