<page-title title=" Shell" icon="&#128241;"></page-title>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  
  http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<section class="row-fluid">
  <div class="console-section-contents" id="shell-panel">
    <div id="shell-input-div">
      <p>Type "help" to view a list of the available commands.</p>
      <hr>

      <form name="shellForm" ng-submit="submitCommand()">
        <span>&nbsp;&gt;&gt; </span> <input type="text" id="shell-input"
          ng-model="shell.input" autofocus="autofocus" required
          ng-form="shellForm"> <input style="display: none"
          type="submit" ng-form="shellForm" value="submit"
          ng-disabled="!shell.input" />
      </form>
    </div>
    <pre id="shell-output" class="prettyprint lang-js"
      style="overflow-x: auto; height: 400px;"
      ng-bind-html="shell.output">

    </pre>
    <div id="lastshelloutput" ng-bind-html="shell.outputhidden"
      style="visibility: hidden"></div>
  </div>
</section>
