function updateExpression() {
  var input = $('.expression');
  var expression = input.val();
  $('.plot').hide();

  if (!expression) {
    // No expression specified. Don't plot.
    input.css('background-color', '#fff');
    return;
  }

  try {
    var plotFunction = compileExpression(expression, additionalFunctions); // <-- Filtrex!
    input.css('background-color', '#dfd');
  } catch (e) {
    // Failed to parse expression. Don't plot.
    input.css('background-color', '#fdd');
    return;
  }

  render(plotFunction);
}
/**
 * When user entered expression changes, attempt to parse it
 * and colorize rows based on expression.
 */
When user entered expression changes, attempt to parse it
and colorize rows based on expression.
When user entered expression changes attempt to parse it and colorize rows based on expression .
function updateExpression() {
  var input = $('.expression');
  var expression = input.val();
  $('.plot').hide();
  if (!expression) {
    input.css('background-color', '#fff');
    return;
  }
  try {
    var plotFunction = compileExpression(expression, additionalFunctions); 
    input.css('background-color', '#dfd');
  } catch (e) {
    input.css('background-color', '#fdd');
    return;
  }
  render(plotFunction);
}
function updateExpression ( ) { var input = $ ( '.expression' ) ; var expression = input . val ( ) ; $ ( '.plot' ) . hide ( ) ; if ( ! expression ) { input . css ( 'background-color' , '#fff' ) ; return ; } try { var plotFunction = compileExpression ( expression , additionalFunctions ) ; input . css ( 'background-color' , '#dfd' ) ; } catch ( e ) { input . css ( 'background-color' , '#fdd' ) ; return ; } render ( plotFunction ) ; }
When user entered expression changes, attempt to parse it
 and colorize rows based on expression.
When user entered expression changes attempt to parse it and colorize rows based on expression .
// No expression specified. Don't plot. // <-- Filtrex! // Failed to parse expression. Don't plot.