use eval_console for items and facets
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 29 Jun 2010 14:06:00 +0000 (16:06 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 29 Jun 2010 14:06:00 +0000 (16:06 +0200)
This allows us to reuse JavaScript code for console on both screens

public/js/eval_console.js [new file with mode: 0644]
templates/data/facet.html.ep
templates/data/items/table.html.ep

diff --git a/public/js/eval_console.js b/public/js/eval_console.js
new file mode 100644 (file)
index 0000000..bcddf2c
--- /dev/null
@@ -0,0 +1,43 @@
+$(document).ready( function(){
+
+       $('form#eval textarea').each( function() {
+               console.debug('grow',this);
+
+               var rows = this.rows;
+               console.debug( 'textarea_grow', rows, this );
+               var grow = function(ta) {
+               var lines = ta.value.split('\n').length;
+                       if ( lines != rows ) {
+                               ta.rows = lines;
+                               rows    = lines;
+                               console.debug('keyup', lines, rows, ta );
+                       }
+               };
+               grow(this);
+               this.onkeyup = function() { grow(this) };
+       });
+
+       $('input#close').click( function(){
+               console.debug( 'close console' );
+               $.post( document.location, { code: '' } );
+               $(this).parent().hide();
+       });
+
+       var $out = $('pre#out');
+       if ( $out.height() > ( $(window).height() / 3 * 2 ) ) {
+               $out.height( $(window).height() / 3 * 2 ).css({ overflow: 'auto' });
+       }
+
+       $('a#console').click( function() {
+               console.debug('open console');
+               var $f = $('form#eval');
+               if ( $f.is(':visible') ) {
+                       $f.hide();
+               } else {
+                       $f.show();
+               }
+               return false;
+       }).show();
+
+});
+
index 20b91da..9038396 100644 (file)
@@ -55,7 +55,7 @@ First <a title="config MAX_FACETS" href="/config"><%= $max_facets %></a> shown
 
 </form>
 
 
 </form>
 
-<form method=post>
+<form id=eval method=post>
 <input type=hidden name=name value="<%= $name %>">
 <div style="float: right">
 Eval code on each facet <tt>$value</tt> and <tt>$count</tt>
 <input type=hidden name=name value="<%= $name %>">
 <div style="float: right">
 Eval code on each facet <tt>$value</tt> and <tt>$count</tt>
@@ -71,7 +71,8 @@ $checked = 1 if $count > 10;
 <textarea name=code style="width: 100%">
 <%= param('code') %>
 </textarea>
 <textarea name=code style="width: 100%">
 <%= param('code') %>
 </textarea>
-<input type=submit>
+<input type=submit value="Eval on facet values">
+<input id=close name=close  type=button value="Close" style="float: right">
 </form>
 
 % if ( $#$facet_names < 5000 ) {
 </form>
 
 % if ( $#$facet_names < 5000 ) {
@@ -80,10 +81,13 @@ $checked = 1 if $count > 10;
 <script type="text/javascript">
 $(document).ready( function(){
        console.debug('check alert');
 <script type="text/javascript">
 $(document).ready( function(){
        console.debug('check alert');
-       var a = $('.alert');
-       if ( a.length ) {
-               $('.middle').html( a.html() );
+       var $a = $('.alert');
+       if ( $a.length ) {
+               $('.middle').html( $a.html() );
        }
        }
+
+       $('a#console').show();
+       
 });
 </script>
 
 });
 </script>
 
@@ -91,3 +95,5 @@ $(document).ready( function(){
 <pre class=debug><%#= dumper $facet %></pre>
 % }
 
 <pre class=debug><%#= dumper $facet %></pre>
 % }
 
+<script type="text/javascript" src="/js/eval_console.js"></script>
+
index c1fcad6..0b77366 100644 (file)
@@ -95,37 +95,6 @@ filter
 <input id=close name=close  type=button value="Close" style="float: right">
 </form>
 
 <input id=close name=close  type=button value="Close" style="float: right">
 </form>
 
-<script type="text/javascript" src="/js/jquery.textarea_grow.js"></script>
-<script type="text/javascript">
-
-$(document).ready( function(){
-
-       $('form#eval textarea').textarea_grow();
-       $('input#close').click( function(){
-               console.debug( 'close console' );
-               $.post( document.location, { code: '' } );
-               $(this).parent().hide();
-       });
-
-       var $out = $('pre#out');
-       if ( $out.height() > ( $(window).height() / 3 * 2 ) ) {
-               $out.height( $(window).height() / 3 * 2 ).css({ overflow: 'auto' });
-       }
-
-       $('a#console').click( function() {
-               console.debug('open console');
-               var $f = $('form#eval');
-               if ( $f.is(':visible') ) {
-                       $f.hide();
-               } else {
-                       $f.show();
-               }
-               return false;
-       }).show();
-
-});
-
-</script>
-
+<script type="text/javascript" src="/js/eval_console.js"></script>
 <script type="text/javascript" src="/edit_table.js"></script>
 
 <script type="text/javascript" src="/edit_table.js"></script>