<!DOCTYPE html><html><head>
    <title>Dart VM Observatory</title>
    <meta charset="utf-8">
    
    <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.css">
    
  </head>
  <body>
<!--
<script src="packages/shadow_dom/shadow_dom.debug.js"></script>
<script src="packages/browser/interop.js"></script>
-->
<polymer-element name="observatory-element">
  
</polymer-element><polymer-element name="collapsible-content" extends="observatory-element">
  <template>
    <div class="well row">
      <a on-click="toggleDisplay" class="btn muted unselectable">
           Raw message... <i class="{{ iconClass }}"></i>
      </a>
      <div style="display: {{ displayValue }}" class="well">
        <content></content>
      </div>
    </div>
  </template>
  
</polymer-element><polymer-element name="error-view" extends="observatory-element">
  <template>
    <div class="alert alert-danger">Error!</div>
    <div class="alert alert-info">
      <p>Error message:</p>
      <p>{{ error }}</p>
    </div>
  </template>
  
</polymer-element><polymer-element name="isolate-summary" extends="observatory-element">
  <template>
  	<div class="row">
  	  <div class="col-md-1">
  	  	<img src="img/isolate_icon.png" class="img-polaroid">	
  	  </div>
  	  <div class="col-md-1">{{ isolate }}</div>
  	  <div class="col-md-10">{{ name }}</div>
  	</div>
  	<div class="row">
  	  <div class="col-md-2"></div>
  	  <div class="col-md-1">
  	  	<a href="{{ app.locationManager.relativeLink(isolate, 'stacktrace') }}">Stacktrace</a>
  	  </div>
  	  <div class="col-md-9"></div>
    </div>
  </template>
  
</polymer-element><polymer-element name="isolate-list" extends="observatory-element">
  <template>
      <ul class="list-group">
      <template repeat="{{ isolate in app.isolateManager.isolates.values }}">
      	<li class="list-group-item">
        <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ isolate.name }}"></isolate-summary>
        </li>
      </template>
      </ul>
  </template>
  
</polymer-element><polymer-element name="json-view" extends="observatory-element">
  <template>
    <template bind="" if="{{ valueType == 'Primitive' }}">
      <span>{{primitiveString}}</span>
    </template>
    <template bind="" if="{{ valueType == 'List' }}">
      <table class="table table-condensed table-bordered">
        <caption class="text-left">List, {{list.length}}</caption>
        <tbody>
          <tr template="" repeat="{{item in list)}}">
            <th>{{counter}}</th>
            <td><json-view json="{{item}}"></json-view></td>
          </tr>
        </tbody>
      </table>
    </template>
    <template if="{{ valueType == 'Map' }}">
      <table class="table table-condensed table-bordered">
        <caption class="text-left">Map, {{keys.length}}</caption>
        <tbody>
          <tr template="" repeat="{{key in keys}}">
            <th>{{key}}</th>
            <td><json-view json="{{value(key)}}"></json-view></td>
          </tr>
        </tbody>
      </table>
    </template>
  </template>
  
</polymer-element><polymer-element name="stack-trace" extends="observatory-element">
  <template>
  <div class="alert alert-info">Stack Trace</div>
  <table class="table table-hover">
    <thead>
      <tr>
        <th>Depth</th>
        <th>Function</th>
        <th>Url</th>
        <th>Line</th>
      </tr>
    </thead>
    <tbody>
      <tr template="" repeat="{{ frame in trace['members'] }}">
        <td>{{$index}}</td>
        <td>{{ frame['name'] }}</td>
        <td>{{ frame['url'] }}</td>
        <td>{{ frame['line'] }}</td>
      </tr>
    </tbody>
  </table>
  </template>
  
</polymer-element><polymer-element name="message-viewer" extends="observatory-element">
  <!--
    This is a big switch statement which instantiates the custom element
    designated to display the message type.
  -->
  <template>
  	<!-- If the message type is an IsolateList -->
    <template if="{{ messageType == 'IsolateList' }}">
      <isolate-list app="{{ app }}"></isolate-list>
    </template>
    <!-- If the message type is a StackTrace -->
    <template if="{{ messageType == 'StackTrace' }}">
      <stack-trace app="{{ app }}" trace="{{ message }}"></stack-trace>
    </template>
    <!-- If the message type is a RequestError -->
    <template if="{{ messageType == 'RequestError' }}">
      <error-view app="{{ app }}" error="{{ message['error'] }}"></error-view>
    </template>
    <!-- Add new views and message types in the future here. -->
  </template>
  
</polymer-element><polymer-element name="navigation-bar" extends="observatory-element">
  <template>
    <nav class="navbar navbar-default" role="navigation">
      <div class="navbar-header">
        <a class="navbar-brand" href="">Observatory</a>
      </div>
      <div class="collapse navbar-collapse navbar-ex1-collapse">
        <input class="span2 pull-right navbar-form" placeholder="VM Address" type="text" value="{{ app.requestManager.prefix }}">
      </div>
    </nav>
  </template>
  
</polymer-element><polymer-element name="response-viewer" extends="observatory-element">
  <template>
    <template repeat="{{ message in app.requestManager.responses }}">
      <message-viewer app="{{ app }}" message="{{ message }}"></message-viewer>
      <collapsible-content>
        <json-view json="{{ message }}"></json-view>
      </collapsible-content>
    </template>
  </template>
  
</polymer-element><polymer-element name="observatory-application" extends="observatory-element">
  <template>
    <navigation-bar app="{{ app }}"></navigation-bar>
    <response-viewer app="{{ app }}"></response-viewer>
  </template>
  
</polymer-element>
    <observatory-application></observatory-application>
    
  

<script type="application/javascript" src="index.html_bootstrap.dart.js"></script></body></html>
