/[sql-web-session]/sql-editor.js
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sql-editor.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 10 by dpavlin, Tue Apr 14 19:54:56 2009 UTC revision 20 by dpavlin, Sat Apr 18 14:05:13 2009 UTC
# Line 1  Line 1 
1    
2    // fake firebug's console.*
3    if (!window.console) {
4            var names = [ "log", "debug", "info", "warn", "error" ];
5            window.console =  {};
6            for (i in names) {
7                    window.console[names[i]] = function() {};
8            }
9    }
10    
11  $(document).ready( function() {  $(document).ready( function() {
12    
13          function click_on_cell(e) {          function click_on_cell(e) {
# Line 15  $(document).ready( function() { Line 24  $(document).ready( function() {
24                  else                  else
25                          where_value = '%' + where_value + '%';                          where_value = '%' + where_value + '%';
26    
27                    var type = column_type[col_nr];
28    
29                  console.debug('click on ', this, e,                  console.debug('click on ', this, e,
30                          e.originalTarget,                          e.originalTarget,
31                          column, where_operator, where_value                          column, type, where_operator, where_value
32                  );                  );
33    
34                    $('form#sql .changed').removeClass('changed');
35    
36                  if ( tag == 'TH' ) {                  if ( tag == 'TH' ) {
37                          console.info('header', column);                          console.info('header', column);
38                          $('form#sql input[name=order_by]').attr('value', where_value + ' desc');                          $('form#sql input[name=order_by]')
39                                    .addClass('changed')
40                                    .attr('value', where_value + ' desc')
41                                    ;
42                  } else if ( tag = 'TD' ) {                  } else if ( tag = 'TD' ) {
43                          console.info('column', column, where_operator, where_value);                          console.info('column', column, where_operator, where_value);
44                          $('form#sql input[name=where_value]').attr('value', where_value);                          $('form#sql input[name=where_value]')
45                          $('form#sql select[name=where_column]').attr('options').selectedIndex = col_nr;                                  .addClass('changed')
46                          $('form#sql input[name=add_group_by]').attr('value', column).css('display','block').attr('disabled',0);                                  .attr('value', where_value)
47                                    ;
48                            $('form#sql select[name=where_column]')
49                                    .addClass('changed')
50                                    .attr('options').selectedIndex = col_nr
51                                    ;
52                            $('form#sql input[name=lookup_col]')
53                                    .addClass('changed')
54                                    .attr('value', column)
55                                    .css('display','block')
56                                    .attr('disabled',0)
57                                    ;
58                            $('select[name=where_operator]')
59                                    .addClass('changed')
60                                    .attr('selectedIndex', type < 0 ? 0 : 2)
61                                    ;
62                  } else {                  } else {
63                          console.error('unknown click on ', tag, e);                          console.error('unknown click on ', tag, e);
64                  }                  }
# Line 41  $(document).ready( function() { Line 72  $(document).ready( function() {
72                  $('form#sql').toggleClass('visible');                  $('form#sql').toggleClass('visible');
73          });          });
74    
75          $('input[name=add_group_by]').bind('click', function(e) {          $('input[name=lookup_col]').bind('click', function(e) {
76                  var l = $('div#lookup');                  var l = $('div#lookup');
77                  l.css('display','block');                  var column = $('form#sql input[name=lookup_col]').attr('value');
78                  var column = $('form#sql input[name=add_group_by]').attr('value');                  var col_nr = $('form#sql select[name=where_column]').attr('options').selectedIndex;
79                  console.debug( this, e, column, l );                  var operator = $('select[name=where_operator]').attr('options').selectedIndex;
80    
81                  $('input[name=add_group_by]').attr('disabled', 1);                  l.html('...loading lookup for '+column+'...').css('display','block');
82    
83                  l.load('?add_group_by='+column);                  console.debug( this, e, column, col_nr, l );
84                  $('input[name=close_group_by]').attr('disabled', 0).bind('click', function() {  
85                          l.css('display','none');                  $('input[name=lookup_col]')
86                          $('input[name=add_group_by]').attr('disabled', 0);                          .removeClass('changed')
87                          $('input[name=close_group_by]').attr('disabled', 1);                          .attr('disabled', 1);
88                          console.debug('closed group by lookup', column);  
89                    $.get('', { lookup_col: column }, function(data,textStatus) {
90                            console.debug( data, textStatus );
91                            l.addClass('changed');
92                            l.html( data );
93    
94                            $('div#lookup a')
95                                    .bind('click', function(e) {
96                                            console.debug( 'lookup click', e );
97                                            $('form#sql input[name=where_value]')
98                                                    .attr('value', e.target.text )
99                                                    ;
100                                            $('form#sql select[name=where_column]')
101                                                    .attr('options').selectedIndex = col_nr
102                                                    ;
103                                            $('select[name=where_operator]')
104                                                    .attr('options').selectedIndex = operator + 1 // remove not
105                                                    ;
106                                            return false;
107                                    });
108                  });                  });
109    
110    
111                    $('input[name=close_group_by]')
112                            .addClass('changed')
113                            .attr('disabled', 0)
114                            .bind('click', function() {
115                                    l.css('display','none')
116                                            .addClass('changed')
117                                            .attr('disabled', 0)
118                                            ;
119                                    $('input[name=close_group_by]')
120                                            .removeClass('changed')
121                                            .attr('disabled', 1)
122                                            ;
123                                    console.debug('closed group by lookup', column);
124                            });
125          });          });
126    
127          console.info('ready');          console.info('ready');

Legend:
Removed from v.10  
changed lines
  Added in v.20

  ViewVC Help
Powered by ViewVC 1.1.26