<link rel="import" href="../../../../packages/polymer/polymer.html">
<link rel="import" href="class_ref.html">
<link rel="import" href="error_view.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="inbound_reference.html">
<link rel="import" href="instance_ref.html">
<link rel="import" href="observatory_element.html">
<link rel="import" href="nav_bar.html">
<link rel="import" href="object_common.html">
<link rel="import" href="context_ref.html">

<polymer-element name="instance-view" extends="observatory-element">
  <template>
    <link rel="stylesheet" href="css/shared.css">
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu>
      <!-- TODO(turnidge): Add library nav menu here. -->
      <class-nav-menu cls="{{ instance.clazz }}"></class-nav-menu>
      <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <template if="{{ instance.isError }}">
      <error-view error_obj="{{ instance['error'] }}"></error-view>
    </template>

    <template if="{{ !instance.isError }}">
      <div class="content">
        <template if="{{ instance.isAbstractType }}">
          <h1>type {{ instance.name }}</h1>
        </template>
        <template if="{{ !instance.isAbstractType }}">
          <h1>instance of {{ instance.clazz.name }}</h1>
        </template>

        <object-common object="{{ instance }}"></object-common>

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

          <template if="{{ instance.valueAsString != null }}">
            <div class="memberItem">
              <div class="memberName">value</div>
              <div class="memberValue">{{ instance.valueAsString }}</div>
            </div>
          </template>

          <template if="{{ instance.isString }}">
            <div class="memberItem">
              <div class="memberName">valueAsLiteral</div>
              <div class="memberValue"> {{ asStringLiteral(instance.valueAsString, instance.valueAsStringIsTruncated) }}</div>
            </div>
          </template>

          <template if="{{ instance.isMirrorReference }}">
            <div class="memberItem">
              <div class="memberName">referent</div>
              <div class="memberValue">
                <any-service-ref ref="{{ instance.referent }}">
                </any-service-ref>
              </div>
            </div>
          </template>

          <template if="{{ instance.typeClass != null }}">
            <div class="memberItem">
              <div class="memberName">type class</div>
              <div class="memberValue">
                <class-ref ref="{{ instance.typeClass }}">
                </class-ref>
              </div>
            </div>
          </template>

          <template if="{{ instance.isClosure }}">
            <div class="memberItem">
              <div class="memberName">closure function</div>
              <div class="memberValue">
                <function-ref ref="{{ instance.closureFunc }}">
                </function-ref>
              </div>
            </div>
          </template>
          <template if="{{ instance.isClosure }}">
            <div class="memberItem">
              <div class="memberName">closure context</div>
              <div class="memberValue">
                <any-service-ref ref="{{ instance.closureCtxt }}">
                </any-service-ref>
              </div>
            </div>
          </template>

          <template if="{{ instance.isWeakProperty }}">
            <div class="memberItem">
              <div class="memberName">key</div>
              <div class="memberValue">
                <any-service-ref ref="{{ instance.key }}">
                </any-service-ref>
              </div>
            </div>
            <div class="memberItem">
              <div class="memberName">value</div>
              <div class="memberValue">
                <any-service-ref ref="{{ instance.value }}">
                </any-service-ref>
              </div>
            </div>
          </template>

          <div class="memberItem">
            <div class="memberName">toString()</div>
            <div class="memberValue">
              <eval-link callback="{{ eval }}" expr="toString()"></eval-link>
            </div>
          </div>
        </div>
      </div>

      <hr>

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

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

        <template if="{{ instance.elements.isNotEmpty }}">
          elements ({{ instance.elements.length }})
          <curly-block expand="{{ instance.elements.length <= 8 }}">
            <div class="memberList">
              <template repeat="{{ element in instance.elements }}">
                <div class="memberItem">
                  <div class="memberName">[{{ element['index']}}]</div>
                  <div class="memberValue">
                    <any-service-ref ref="{{ element['value'] }}"></any-service-ref>
                  </div>
                </div>
              </template>
            </div>
          </curly-block><br><br>
        </template>
      </div>

      <hr>

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

      <br><br><br><br>
      <br><br><br><br>

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

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