| Index: runtime/bin/vmservice/client/deployed/web/packages/observatory/src/elements/instance_view.html
|
| ===================================================================
|
| --- runtime/bin/vmservice/client/deployed/web/packages/observatory/src/elements/instance_view.html (revision 38989)
|
| +++ runtime/bin/vmservice/client/deployed/web/packages/observatory/src/elements/instance_view.html (working copy)
|
| @@ -1,199 +0,0 @@
|
| -<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="instance_ref.html">
|
| -<link rel="import" href="observatory_element.html">
|
| -<link rel="import" href="nav_bar.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['class'] }}"></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['error'] != null }}">
|
| - <error-view error_obj="{{ instance['error'] }}"></error-view>
|
| - </template>
|
| -
|
| - <template if="{{ instance['error'] == null }}">
|
| - <div class="content">
|
| - <!-- TODO(turnidge): Handle null instances. -->
|
| - <template if="{{ isType(instance.serviceType) }}">
|
| - <h1>type {{ instance['user_name'] }}</h1>
|
| - </template>
|
| - <template if="{{ !isType(instance.serviceType) }}">
|
| - <h1>instance of {{ instance['class']['user_name'] }}</h1>
|
| - </template>
|
| - <div class="memberList">
|
| - <div class="memberItem">
|
| - <div class="memberName">class</div>
|
| - <div class="memberValue">
|
| - <class-ref ref="{{ instance['class'] }}">
|
| - </class-ref>
|
| - </div>
|
| - </div>
|
| - <template if="{{ instance['valueAsString'] != null }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">value</div>
|
| - <div class="memberValue">{{ instance['valueAsString'] }}</div>
|
| - </div>
|
| - </template>
|
| - <div class="memberItem">
|
| - <div class="memberName">size</div>
|
| - <div class="memberValue">{{ instance['size'] | formatSize }}</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>
|
| - <div class="memberItem">
|
| - <div class="memberName">retaining path</div>
|
| - <div class="memberValue">
|
| - <template if="{{ path == null }}">
|
| - <eval-link callback="{{ retainingPath }}"
|
| - label="[find]"
|
| - expr="10">
|
| - </eval-link>
|
| - </template>
|
| - <template if="{{ path != null }}">
|
| - <template repeat="{{ element in path['elements'] }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">[{{ element['index']}}]</div>
|
| - <div class="memberValue">
|
| - <instance-ref ref="{{ element['value'] }}"></instance-ref>
|
| - <template if="{{ element['parentField'] != null }}">
|
| - in <field-ref ref="{{ element['parentField'] }}"></field-ref>
|
| - </template>
|
| - <template if="{{ element['parentListIndex'] != null }}">
|
| - at list index {{ element['parentListIndex'] }} of
|
| - </template>
|
| - </div>
|
| - </div>
|
| - </template>
|
| - <template if="{{ path['length'] > path['elements'].length }}">
|
| - showing {{ path['elements'].length }} of {{ path['length'] }}
|
| - <eval-link
|
| - callback="{{ retainingPath }}"
|
| - label="[find more]"
|
| - expr="{{ path['elements'].length * 2 }}">
|
| - </eval-link>
|
| - </template>
|
| - </template>
|
| - </div>
|
| - </div>
|
| - <template if="{{ instance['type_class'] != null }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">type class</div>
|
| - <div class="memberValue">
|
| - <class-ref ref="{{ instance['type_class'] }}">
|
| - </class-ref>
|
| - </div>
|
| - </div>
|
| - </template>
|
| - <template if="{{ instance['closureFunc'] != null }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">closure function</div>
|
| - <div class="memberValue">
|
| - <function-ref ref="{{ instance['closureFunc'] }}">
|
| - </function-ref>
|
| - </div>
|
| - </div>
|
| - </template>
|
| -
|
| - <div class="memberItem"> </div>
|
| -
|
| - <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['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">
|
| - <instance-ref ref="{{ field['value'] }}"></instance-ref>
|
| - </div>
|
| - </div>
|
| - </template>
|
| - </div>
|
| - </curly-block><br><br>
|
| - </template>
|
| -
|
| - <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['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">
|
| - <instance-ref ref="{{ element['value'] }}">
|
| - </instance-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>
|
|
|