<link rel="import" href="../../../../packages/polymer/polymer.html">
<link rel="import" href="curly_block.html">
<link rel="import" href="eval_box.html">
<link rel="import" href="eval_link.html">
<link rel="import" href="field_ref.html">
<link rel="import" href="function_ref.html">
<link rel="import" href="instance_ref.html">
<link rel="import" href="library_ref.html">
<link rel="import" href="nav_bar.html">
<link rel="import" href="observatory_element.html">
<link rel="import" href="script_inset.html">
<link rel="import" href="script_ref.html">

<polymer-element name="class-view" extends="observatory-element">
  <template>
    <link rel="stylesheet" href="css/shared.css">
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu>
      <library-nav-menu library="{{ cls.library }}"></library-nav-menu>
      <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu>
      <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav-refresh>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>
        <template if="{{ cls.isAbstract }}">
          abstract
        </template>
        <template if="{{ cls.isPatch }}">
          patch
        </template>
        class {{ cls.name }}
      </h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">library</div>
          <div class="memberValue">
            <library-ref ref="{{ cls.library }}"></library-ref>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">script</div>
          <div class="memberValue">
            <script-ref ref="{{ cls.script }}" pos="{{ cls.tokenPos }}">
            </script-ref>
          </div>
        </div>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ cls.superClass != null }}">
          <div class="memberItem">
            <div class="memberName">extends</div>
            <div class="memberValue">
              <class-ref ref="{{ cls.superClass }}"></class-ref>
            </div>
          </div>
        </template>
        <template if="{{ cls.subClasses.length > 0 }}">
          <div class="memberItem">
            <div class="memberName">extended by</div>
            <div class="memberValue">
              <template repeat="{{ subclass in cls.subClasses }}">
                <class-ref ref="{{ subclass }}"></class-ref>
              </template>
            </div>
          </div>
        </template>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ cls.interfaces.length > 0 }}">
          <div class="memberItem">
            <div class="memberName">implements</div>
            <div class="memberValue">
              <template repeat="{{ interface in cls.interfaces }}">
                <class-ref ref="{{ interface }}"></class-ref>
              </template>
            </div>
          </div>
        </template>
        <template if="{{ cls.name != cls.vmName }}">
          <div class="memberItem">
            <div class="memberName">vm name</div>
            <div class="memberValue">{{ cls.vmName }}</div>
          </div>
        </template>
      </div>
    </div>

    <template if="{{ cls.error != null }}">
      <!-- TODO(turnidge): Don't use instance-ref for error display here -->
      <instance-ref ref="{{ cls.error }}"></instance-ref>
    </template>

    <hr>

    <div class="content">
      <template if="{{ cls.fields.isNotEmpty }}">
        fields ({{ cls.fields.length }})
        <curly-block expand="{{ cls.fields.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ field in cls.fields }}">
              <div class="memberItem">
                <div class="memberName">
                  <field-ref ref="{{ field }}"></field-ref>
                </div>
                <div class="memberValue">
                  <template if="{{ field['value'] != null }}">
                    <instance-ref ref="{{ field['value'] }}"></instance-ref>
                  </template>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br><br>
      </template>

      <template if="{{ cls.functions.isNotEmpty }}">
        functions ({{ cls.functions.length }})
        <curly-block expand="{{ cls.functions.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ function in cls.functions }}">
              <div class="memberItem">
                <div class="memberValue">
                  <function-ref ref="{{ function }}" qualified="{{ false }}">
                  </function-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br><br>
      </template>
      
      <template if="{{ !cls.hasNoAllocations }}">
        instances
          <div class="memberItem">
            <div class="memberName">currently allocated</div>
            <div class="memberValue">
              count {{ cls.newSpace.current.instances + cls.oldSpace.current.instances }}
              (shallow size {{ cls.newSpace.current.bytes + cls.oldSpace.current.bytes | formatSize }})
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">strongly reachable</div>
            <div class="memberValue">
              <template if="{{ instances == null }}">
                <eval-link callback="{{ reachable }}"
                           label="[find]"
                           expr="100">
                </eval-link>
              </template>
              <template if="{{ instances != null }}">
                sample
                <instance-ref ref="{{ instances['sample'] }}"></instance-ref>
                <template if="{{ instances['totalCount'] > instances['sampleCount'] }}">
                  <eval-link callback="{{ reachable }}"
                           label="[more]"
                           expr="{{ instances['sampleCount'] * 2 }}">
                  </eval-link>
                </template>
                of total {{ instances['totalCount'] }}
              </template>
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">retained size</div>
            <div class="memberValue">
              <template if="{{ retainedBytes == null }}">
                <eval-link callback="{{ retainedSize }}"
                           label="[calculate]">
                </eval-link>
              </template>
              <template if="{{ retainedBytes != null }}">
                {{ retainedBytes | formatSize }}
              </template>
            </div>
          </div>
        </template>
    </div>

    <hr>

    <div class="content">
      <eval-box callback="{{ eval }}"></eval-box>
    </div>

    <hr>
    <script-inset script="{{ cls.script }}"
                  startPos="{{ cls.tokenPos }}"
                  endPos="{{ cls.endTokenPos }}">
    </script-inset>

    <br><br><br><br>
    <br><br><br><br>
  </template>
</polymer-element>

<script type="application/dart" src="class_view.dart"></script>
