From b8d4febf6c792a35b6603f510013be864aa5ef64 Mon Sep 17 00:00:00 2001 From: alecpl Date: Wed, 30 Jun 2010 11:17:51 +0000 Subject: - googiespell layer resizing + small css improvements - better googiespell suggestions popup positioning --- program/js/googiespell.js | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'program/js/googiespell.js') diff --git a/program/js/googiespell.js b/program/js/googiespell.js index a9879f361..27658a4a7 100644 --- a/program/js/googiespell.js +++ b/program/js/googiespell.js @@ -111,9 +111,8 @@ this.decorateTextarea = function(id) { this.checkSpellingState(); } - else - if (this.report_ta_not_found) - alert('Text area not found'); + else if (this.report_ta_not_found) + alert('Text area not found'); }; ////// @@ -393,11 +392,7 @@ this.showErrorWindow = function(elm, id) { table = document.createElement('table'), list = document.createElement('tbody'); - pos.top -= this.edit_layer.scrollTop; - - $(this.error_window).css({'visibility': 'visible', - 'top': (pos.top+20)+'px', 'left': (pos.left)+'px'}).html(''); - + $(this.error_window).html(''); $(table).addClass('googie_list').attr('googie_action_btn', '1'); // Check if we should use custom menu builder, if not we use the default @@ -541,6 +536,16 @@ this.showErrorWindow = function(elm, id) { table.appendChild(list); this.error_window.appendChild(table); + // calculate and set position + var height = $(this.error_window).height(), + width = $(this.error_window).width(), + pageheight = $(document).height(), + pagewidth = $(document).width(), + top = pos.top + height + 20 < pageheight ? pos.top + 20 : pos.top - height, + left = pos.left + width < pagewidth ? pos.left : pos.left - width; + + $(this.error_window).css({'visibility': 'visible', 'top': top+'px', 'left': left+'px'}); + // Dummy for IE - dropdown bug fix if ($.browser.msie) { if (!this.error_window_iframe) { @@ -561,7 +566,8 @@ this.showErrorWindow = function(elm, id) { ////// this.createEditLayer = function(width, height) { this.edit_layer = document.createElement('div'); - $(this.edit_layer).addClass('googie_edit_layer').width(width-10).height(height); + $(this.edit_layer).addClass('googie_edit_layer').attr('id', 'googie_edit_layer') + .width(width).height(height); if (this.text_area.nodeName.toLowerCase() != 'input' || $(this.text_area).val() == '') { $(this.edit_layer).css('overflow', 'auto').height(height-4); @@ -621,7 +627,7 @@ this.createErrorLink = function(text, id) { }; $(elm).html(text).addClass('googie_link').bind('click', d) - .attr({'googie_action_btn' : '1', 'g_id' : id, 'is_corrected' : false}); + .attr({'googie_action_btn' : '1', 'g_id' : id, 'is_corrected' : false}); return elm; }; @@ -702,7 +708,7 @@ this.showErrorsInIframe = function() { this.createLangWindow = function() { this.language_window = document.createElement('div'); $(this.language_window).addClass('googie_window') - .width(100).attr('googie_action_btn', '1'); + .width(100).attr('googie_action_btn', '1'); // Build up the result list var table = document.createElement('table'), -- cgit v1.2.3