--- sql-editor.js 2009/04/14 19:54:56 10 +++ sql-editor.js 2009/04/15 15:26:38 13 @@ -1,4 +1,13 @@ +// fake firebug's console.* +if (!window.console) { + var names = [ "log", "debug", "info", "warn", "error" ]; + window.console = {}; + for (i in names) { + window.console[names[i]] = function() {}; + } +} + $(document).ready( function() { function click_on_cell(e) { @@ -20,14 +29,30 @@ column, where_operator, where_value ); + $('form#sql .changed').removeClass('changed'); + if ( tag == 'TH' ) { console.info('header', column); - $('form#sql input[name=order_by]').attr('value', where_value + ' desc'); + $('form#sql input[name=order_by]') + .addClass('changed') + .attr('value', where_value + ' desc') + ; } else if ( tag = 'TD' ) { console.info('column', column, where_operator, where_value); - $('form#sql input[name=where_value]').attr('value', where_value); - $('form#sql select[name=where_column]').attr('options').selectedIndex = col_nr; - $('form#sql input[name=add_group_by]').attr('value', column).css('display','block').attr('disabled',0); + $('form#sql input[name=where_value]') + .addClass('changed') + .attr('value', where_value) + ; + $('form#sql select[name=where_column]') + .addClass('changed') + .attr('options').selectedIndex = col_nr + ; + $('form#sql input[name=add_group_by]') + .addClass('changed') + .attr('value', column) + .css('display','block') + .attr('disabled',0) + ; } else { console.error('unknown click on ', tag, e); } @@ -43,19 +68,29 @@ $('input[name=add_group_by]').bind('click', function(e) { var l = $('div#lookup'); - l.css('display','block'); + l.html('...loading...').css('display','block'); var column = $('form#sql input[name=add_group_by]').attr('value'); console.debug( this, e, column, l ); - $('input[name=add_group_by]').attr('disabled', 1); - - l.load('?add_group_by='+column); - $('input[name=close_group_by]').attr('disabled', 0).bind('click', function() { - l.css('display','none'); - $('input[name=add_group_by]').attr('disabled', 0); - $('input[name=close_group_by]').attr('disabled', 1); - console.debug('closed group by lookup', column); - }); + $('input[name=add_group_by]') + .removeClass('changed') + .attr('disabled', 1); + + l.load('?add_group_by='+column).addClass('changed'); + $('input[name=close_group_by]') + .addClass('changed') + .attr('disabled', 0) + .bind('click', function() { + l.css('display','none') + .addClass('changed') + .attr('disabled', 0) + ; + $('input[name=close_group_by]') + .removeClass('changed') + .attr('disabled', 1) + ; + console.debug('closed group by lookup', column); + }); }); console.info('ready');