<!doctype html>
<!--
   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.
-->
<html lang="en-US">
  <head>
    <title>HTrace</title>
    <meta charset="utf-8" name="viewport"
      content="width=device-width, initial-scale=1.0">
    <link href="lib/bootstrap-3.3.1/css/bootstrap.css" rel="stylesheet" type="text/css">
    <link href="custom.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <header id="header" role="banner">
      <nav class="navbar navbar-default navbar-static-top" role="navigation">
        <div class="collapse navbar-collapse">
          <a class="navbar-brand" href="#">HTrace</a>
          <ul class="nav navbar-nav">
            <li id="about"><a href="#about">About</a></li>
            <li id="search"><a href="#search">Search</a></li>
          </ul>
        </div>
      </nav>
    </header>
    <div id="app" class="container-fluid" role="application"></div>
    <div id="modal" class="modal fade"></div>
    <footer></footer>

    <script id="about-view-template" type="text/template">
      <div class="row">
        <div class="col-md-1">
        </div>
        <div class="col-md-10">
          <h1>Welcome to HTrace</h1>
          <img src="image/owl.png" width="15%">
          <h2>Server Version</h2>
          <%= model.get("ReleaseVersion") %>
          <h2>Server Git Hash</h2>
          <%= model.get("GitVersion") %>
        </div>
        <div class="col-md-1">
        </div>
      </div>
    </script>

    <script id="search-view-template" type="text/template">
      <div class="row" id="searchView">
        <div class="col-md-3" role="form">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h1 class="panel-title">Timeline</h1>
            </div style="border: 1px solid #000000;">
            <div class="panel-body">
              <div class="form-horizontal">
                <div class="form-group">
                  <label class="col-sm-2 control-label">Begin</label>
                  <div class="col-sm-10">
                    <input type="text" class="form-control" id="begin" value="1970-01-01T00:00:00,000"/>
                  </div>
                </div>
                <div class="form-group">
                  <label class="col-sm-2 control-label">End</label>
                  <div class="col-sm-10">
                    <input type="text" class="form-control" id="end" value="1970-01-01T00:00:00,100"/>
                  </div>
                </div>
                <div class="form-group">
                  <label class="col-sm-2 control-label">Cur</label>
                  <div class="col-sm-10">
                    <input type="text" class="form-control" id="selectedTime" value=""/>
                  </div>
                </div>
                <div class="form-horizontal">
                  <button type="button" class="btn btn btn-warning"
                      id="zoomButton">Zoom</button>
                </div>
              </div>
            </div>
          </div>
          <div class="panel panel-default">
            <div class="panel-heading">
              <h1 class="panel-title">Search</h1>
            </div style="border: 1px solid #000000;">
            <div class="panel-body">
              <form>
                <div id="predicates">
                </div>
                <div class="form-group">
                  <div class="btn-group">
                    <button type="button" data-toggle="dropdown"
                          aria-expanded="false"
                          class="btn btn-default dropdown-toggle">
                      Add Predicate<span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu" role="menu">
                      <li><a href="javascript:void(0)" 
                        class="add-field">Began after</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Began at or before</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Ended after</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Ended at or before</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Description contains</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Description is exactly</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Duration is longer than</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Duration is at most</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">Span ID is</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">TracerId contains</a></li>
                      <li><a href="javascript:void(0)" 
                        class="add-field">TracerId is exactly</a></li>
                    </ul>
                  </div>
                  <button type="submit" class="btn btn-primary" id="searchButton">
                    Search</button>
                </div>
                <div class="form-group">
                  <button type="button" class="btn btn btn-danger" id="clearButton">
                    Clear</button>
                </div>
              </form>
            </div>
          </div>
        </div>
        <div class="col-md-9" id="resultsView">
        </div>
      </div>
    </script>

    <script id="predicate-template" type="text/template">
      <form class="form-horizontal">
        <div class="form-group"> 
          <%= desc %>
          <button type="button" class="btn pull-right btn-link btn-sm closeButton"
              >X</button><br/>
          <input type="text" class="form-control"/>
        </div>
      </form>
    </script>

    <script id="search-results-view-template" type="text/template">
      <!-- tabindex=1 is needed or else the canvas can never gain mouse focus on Chrome. -->
      <canvas id="resultsCanvas" class="htrace-canvas" tabindex="1">
        <h2>Sorry, your browser does not support the HTML5 canvas element.  Please
        upgrade to a newer browser.</h2>
      </canvas>
    </script>

    <script id="modal-warning-template" type="text/template">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal"
                  aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
            <h4 class="modal-title"><%= title %></h4>
          </div>
          <div class="modal-body">
            <%= body %><p/>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
          </div>
        </div>
      </div>
    </script>

    <script id="modal-table-template" type="text/template">
      <div class="modal-dialog modal-lg">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal"
                  aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
            <h4 class="modal-title"><%= title %></h4>
          </div>
          <div class="modal-body">
            <%= body %><p/>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
          </div>
        </div>
      </div>
    </script>

    <script id="table-row-template" type="text/template">
      <tr bgcolor="<%= bgcolor %>">
        <td style="width:30%;word-wrap:break-word"><%- key %></td>
        <td style="width:70%;word-wrap:break-word"><%- val %></td>
      </tr>
    </script>

    <script src="lib/jquery-2.1.4.js" type="text/javascript"></script>
    <script src="lib/bootstrap-3.3.1/js/bootstrap.min.js" type="text/javascript"></script>
    <script src="lib/underscore-1.7.0.js" type="text/javascript"></script>
    <script src="lib/backbone-1.1.2.js" type="text/javascript"></script>
    <script src="lib/moment-2.10.3.js" type="text/javascript"></script>

    <script src="app/string.js" type="text/javascript"></script>
    <script src="app/tree.js" type="text/javascript"></script>
    <script src="app/time_cursor.js" type="text/javascript"></script>

    <script src="app/widget_manager.js" type="text/javascript"></script>
    <script src="app/triangle_button.js" type="text/javascript"></script>
    <script src="app/partition_widget.js" type="text/javascript"></script>

    <script src="app/span.js" type="text/javascript"></script>

    <script src="app/span_group_widget.js" type="text/javascript"></script>
    <script src="app/span_widget.js" type="text/javascript"></script>
    <script src="app/search_results.js" type="text/javascript"></script>
    <script src="app/about_view.js" type="text/javascript"></script>
    <script src="app/modal.js" type="text/javascript"></script>
    <script src="app/predicate.js" type="text/javascript"></script>
    <script src="app/predicate_view.js" type="text/javascript"></script>
    <script src="app/query_results.js" type="text/javascript"></script>
    <script src="app/search_results_view.js" type="text/javascript"></script>
    <script src="app/search_view.js" type="text/javascript"></script>
    <script src="app/server_info.js" type="text/javascript"></script>

    <script src="app/router.js" type="text/javascript"></script>
  </body>
</html>

