<head>
  <link rel="import" href="observatory_element.html">
</head>
<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.name }}</div>

      <!-- TODO(turnidge): Use function-ref when it can take isolate param -->
      <div class="col-md-4">

        <div class="row">
          <template if="{{ isolate.entry['id'] != null }}">
            <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.entry['id']) }}">
              {{ isolate.entry['name'] }}
            </a>
          </template>
          <template if="{{ isolate.entry['id'] == null }}">
            <!-- fred -->
            root isolate
          </template>
        </div>

        <div class="row">
          <small>
            (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.rootLib) }}">library</a>)
            (<a href="{{ app.locationManager.relativeLink(isolate.id, 'debug/breakpoints') }}">breakpoints</a>)
            (<a href="{{ app.locationManager.relativeLink(isolate.id, 'profile') }}">profile</a>)
          </small>
        </div>
      </div>

      <div class="col-md-2">
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['total'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">total</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['dart'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">dart</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['compile'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">compile</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['gc'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">gc</p></div>
        </div>
        <div class="row">
          <div class="col-md-3">{{ isolate.timers['init'] | formatTime }}</div>
          <div class="col-md-1"></div>
          <div class="col-md-3"><p class="text-muted">init</p></div>
        </div>
      </div>
      <div class="col-md-2">
        <a href="{{ app.locationManager.relativeLink(isolate.id, 'allocationprofile') }}">
          {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | formatSize }}
        </a>
      </div>
      <div class="col-md-2">
        <template if="{{ isolate.topFrame == null }}">
          idle
        </template>
        <template if="{{ isolate.topFrame != null }}">
          run
        </template>
        ( <a href="{{ app.locationManager.relativeLink(isolate.id, 'stacktrace') }}">stack trace</a> )
      </div>
    </div>
    <div class="row">
      <div class="col-md-3">
      </div>
      <div class="col-md-6">
        <template if="{{ isolate.topFrame != null }}">
          <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['function']['id']) }}">
            {{ isolate.topFrame['function']['user_name'] }}
          </a>
          (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['script']['id']) }}">
            {{ isolate.topFrame | fileAndLine }}
          </a>)
          <br>
          <pre>{{ isolate.topFrame['line'] }} &nbsp; {{ isolate.topFrame['lineString'] }}</pre>
        </template>
      </div>
      <div class="col-md-3">
      </div>
    </div>
  </template>
  <script type="application/dart" src="isolate_summary.dart"></script>
</polymer-element>
