Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1503)

Unified Diff: runtime/bin/vmservice/client/lib/src/elements/instance_view.html

Issue 194623006: Improve the instance-view page in observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js / fix stuff Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/bin/vmservice/client/lib/src/elements/instance_view.html
diff --git a/runtime/bin/vmservice/client/lib/src/elements/instance_view.html b/runtime/bin/vmservice/client/lib/src/elements/instance_view.html
index f66e26b8891131e3e521214d8d66cab47c8c402d..c39183dd1b17556a736c576a601d50f8c6e0d9a7 100644
--- a/runtime/bin/vmservice/client/lib/src/elements/instance_view.html
+++ b/runtime/bin/vmservice/client/lib/src/elements/instance_view.html
@@ -1,6 +1,7 @@
<head>
<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="field_ref.html">
<link rel="import" href="instance_ref.html">
<link rel="import" href="observatory_element.html">
@@ -14,42 +15,111 @@
<!-- 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>
- <!-- TODO(turnidge): Add nav refresh here. -->
+ <nav-refresh callback="{{ refresh }}"></nav-refresh>
</nav-bar>
- <div class="row">
- <div class="col-md-8 col-md-offset-2">
- <div class="panel panel-warning">
- <div class="panel-heading">
- Instance of
- <class-ref ref="{{ instance['class'] }}"></class-ref>
- </div>
- <div class="panel-body">
- <template if="{{ instance['error'] == null }}">
- <table class="table table-hover">
- <tbody>
- <tr>
- <td>Preview</td><td>{{ instance['preview'] }}</td>
- </tr>
- </tbody>
+ <style>
+ .content {
+ padding-left: 10%;
+ font: 400 14px 'Montserrat', sans-serif;
+ }
+ h1 {
+ font: 400 18px 'Montserrat', sans-serif;
+ }
+ .member {
+ vertical-align: top;
+ padding: 3px 0 3px 1em;
+ font: 400 14px 'Montserrat', sans-serif;
+ }
+ .memberBold {
+ vertical-align: top;
+ padding: 3px 0 3px 1em;
+ font: 400 14px 'Montserrat', sans-serif;
+ }
+ </style>
+
+ <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. -->
+ <h1>instance of {{ instance['class']['user_name'] }}</h1>
+ <table>
+ <tr>
+ <td class="memberBold">class</td>
+ <td class="member">
+ <class-ref ref="{{ instance['class'] }}">
+ </class-ref>
+ </td>
+ </tr>
+ <tr template if="{{ instance['preview'] != null }}">
+ <td class="memberBold">preview</td>
+ <td class="member">{{ instance['preview'] }}</td>
+ </tr>
+ <tr>
+ <td class="memberBold">size</td>
+ <td class="member">{{ instance['size'] | formatSize }}</td>
+ </tr>
+ </table>
+ </div>
+
+ <hr>
+
+ <div class="content">
+ <template if="{{ instance['fields'].isNotEmpty }}">
+ fields ({{ instance['fields'].length }})
+ <curly-block>
+ <table>
+ <tr template repeat="{{ field in instance['fields'] }}">
+ <td class="member">
+ <field-ref ref="{{ field['decl'] }}"></field-ref>
+ </td>
+ <td class="member">
+ <instance-ref ref="{{ field['value'] }}"></instance-ref>
+ </td>
+ </tr>
</table>
- <blockquote><strong>Fields</strong></blockquote>
- <table class="table table-hover">
- <tbody>
- <tr template repeat="{{ field in instance['fields'] }}">
- <td><field-ref ref="{{ field['decl'] }}"></field-ref></td>
- <td><instance-ref ref="{{ field['value'] }}"></instance-ref></td>
- </tr>
- </tbody>
+ </curly-block>
+ </template>
+
+ <template if="{{ instance['nativeFields'].isNotEmpty }}">
+ native fields ({{ instance['nativeFields'].length }})
+ <curly-block>
+ <table>
+ <tr template repeat="{{ field in instance['nativeFields'] }}">
+ <td class="member">[{{ field['index']}}]</td>
+ <td class="member">[{{ field['value']}}]</td>
+ </tr>
</table>
- </template>
- <template if="{{ instance['error'] != null }}">
- <error-view error_obj="{{ instance['error'] }}"></error-view>
- </template>
- </div>
+ </curly-block>
+ </template>
+
+ <template if="{{ instance['elements'].isNotEmpty }}">
+ elements ({{ instance['elements'].length }})
+ <curly-block>
+ <table>
+ <tr template repeat="{{ element in instance['elements'] }}">
+ <td class="member">[{{ element['index']}}]</td>
+ <td class="member">
+ <instance-ref ref="{{ element['value'] }}">
+ </instance-ref>
+ </td>
+ </tr>
+ </table>
+ </curly-block>
+ </template>
+ </div>
+
+ <hr>
+
+ <div class="content">
+ <eval-box callback="{{ eval }}"></eval-box>
</div>
- </div>
- </div>
+ <br><br><br><br>
+ <br><br><br><br>
+ </template>
</template>
<script type="application/dart" src="instance_view.dart"></script>
</polymer-element>

Powered by Google App Engine
This is Rietveld 408576698