{% extends "base.html" %}

{% block title %}{{ application_name }} Development Console - Interactive Console{% endblock %}

{% block breadcrumbs %}
  <span class="item"><a href="">Interactive Console</a></span>
{% endblock %}

{% block head %}
  <style type="text/css">

  #console {
    width: 100%;
    border-collapse: collapse;
  }

  #console td {
    width: 50%;
    padding: 0;
    border: 0;
    vertical-align: top;
    padding-right: 25px;
  }

  #code {
    overflow: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  #output {
    border: 1px solid silver;
    background-color: #f5f5f5;
    overflow: auto;
  }

  #code, #output {
    font-family: monospace;
    font-size: 10pt;
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
  }

  #submitbutton {
    text-align: center;
    margin-top: 1em;
  }
  </style>
{% endblock %}

{% block body %}
{% if interactive_console %}
<h3>Interactive Console</h3>
<form action="{{ interactive_execute_path }}" target="output" method="post">
  <input type="hidden" name="xsrf_token" value="{{ xsrf_token }}"/>
  <table id="console">
    <tr>
      <td>
        <textarea id="code" name="code" wrap="off" rows="20" cols="80">from google.appengine.api import users

# Say hello to the current user
user = users.get_current_user()
if user:
  nickname = user.nickname()
else:
  nickname = "guest"
print "Hello, " + nickname

</textarea>
      </td>
      <td>
	<iframe name="output" id="output"></iframe>
      </td>
    </tr>
    <tr>
      <td>
        <div id="submitbutton"><input type="submit" value="Run Program"/></div>
      </td>
    </tr>
  </table>
</form>
{% else %}

<p>The interactive console has been disabled for security
because the dev_appserver is listening on a non-default address.
If you would like to re-enable the console, invoke dev_appserver
with the --enable_console argument.

<p>See the <a href=https://developers.google.com/appengine/docs/python/tools/devserver#The_Interactive_Console>
online documentation</a> for more information.

{% endif %}
{% endblock %}

{% block final %}
{% if interactive_console %}
<script type="text/javascript">
//<![CDATA[
var iframe = document.getElementById('output');
var idoc = null;
if (iframe.contentDocument) {
  // DOM
  idoc = iframe.contentDocument;
} else if (iframe.contentWindow) {
  // IE
  idoc = iframe.contentWindow.document;
}
if (idoc) {
  idoc.open();
  idoc.write('<html><body style="background-color:#f5f5f5;margin:0;padding:0"><pre style="margin:0;padding:0;color:#888">Press "Run Program" to see the<br/>output of your code in this frame!</pre></body></html>');
  idoc.close();
}
document.getElementById('code').focus();
//]]>
</script>
{% endif %}
{% endblock %}

