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

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

Issue 199363002: Rework library and class view pages. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: edits 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/class_view.html
diff --git a/runtime/bin/vmservice/client/lib/src/elements/class_view.html b/runtime/bin/vmservice/client/lib/src/elements/class_view.html
index 8bffd2c13fc628ad1a0074596406396b3ced7337..66c76f7a3cab2d0fe99dbb9229a8bdf15a9d301d 100644
--- a/runtime/bin/vmservice/client/lib/src/elements/class_view.html
+++ b/runtime/bin/vmservice/client/lib/src/elements/class_view.html
@@ -1,5 +1,6 @@
<head>
- <link rel="import" href="error_view.html">
+ <link rel="import" href="curly_block.html">
+ <link rel="import" href="eval_box.html">
<link rel="import" href="field_ref.html">
<link rel="import" href="function_ref.html">
<link rel="import" href="instance_ref.html">
@@ -9,6 +10,21 @@
</head>
<polymer-element name="class-view" extends="observatory-element">
<template>
+ <style>
+ .content {
+ padding-left: 10%;
+ font: 400 14px 'Montserrat', sans-serif;
+ }
+ h1 {
+ font: 400 18px 'Montserrat', sans-serif;
+ }
+ .memberHeader, .member {
+ vertical-align: top;
+ padding: 3px 0 3px 1em;
+ font: 400 14px 'Montserrat', sans-serif;
+ }
+ </style>
+
<nav-bar>
<top-nav-menu></top-nav-menu>
<isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu>
@@ -17,74 +33,117 @@
<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">
- class <strong>{{ cls.name }}</strong>
- <template if="{{ cls['super']['type'] != 'Null' }}">
- extends
- <class-ref ref="{{ cls['super'] }}"></class-ref>
- </template>
- <p></p>
- <library-ref ref="{{ cls['library'] }}"></library-ref>
- </div>
- <div class="panel-body">
- <table class="table table-hover">
- <tbody>
- <tr>
- <td>Abstract</td><td>{{ cls['abstract'] }}</td>
- </tr>
- <tr>
- <td>Const</td><td>{{ cls['const'] }}</td>
- </tr>
- <tr>
- <td>Finalized</td><td>{{ cls['const'] }}</td>
- </tr>
- <tr>
- <td>Implemented</td><td>{{ cls['implemented'] }}</td>
- </tr>
- <tr>
- <td>Patch</td><td>{{ cls['patch'] }}</td>
- </tr>
- <tr>
- <td>VM Name</td><td>{{ cls['name'] }}</td>
- </tr>
- </tbody>
+ <div class="content">
+ <h1>
+ <template if="{{ cls['abstract'] }}">
+ abstract
+ </template>
+ <template if="{{ cls['patch'] }}">
+ patch
+ </template>
+ class {{ cls.name }}
+ </h1>
+ <table>
+ <tr>
+ <td class="memberHeader">library</td>
+ <td class="member">
+ <library-ref ref="{{ cls['library'] }}"></library-ref>
+ </td>
+ </tr>
+ <tr>
+ <td class="memberHeader">script</td>
+ <td class="member">
+ <script-ref ref="{{ cls['script'] }}" line="{{ cls['line'] }}">
+ </script-ref>
+ </td>
+ </tr>
+ <tr><td>&nbsp;</td></tr>
+ <template if="{{ cls['super']['type'] != 'Null' }}">
+ <tr>
+ <td class="memberHeader">extends</td>
+ <td class="member">
+ <class-ref ref="{{ cls['super'] }}"></class-ref>
+ </td>
+ </tr>
+ </template>
+ <template if="{{ cls['subclasses'].length > 0 }}">
+ <tr>
+ <td class="memberHeader">extended by</td>
+ <td class="member">
+ <template repeat="{{ subclass in cls['subclasses'] }}">
+ <class-ref ref="{{ subclass }}"></class-ref>
+ </template>
+ </td>
+ </tr>
+ </template>
+ <tr><td>&nbsp;</td></tr>
+ <template if="{{ cls['interfaces'].length > 0 }}">
+ <tr>
+ <td class="memberHeader">implements</td>
+ <td class="member">
+ <template repeat="{{ interface in cls['interfaces'] }}">
+ <class-ref ref="{{ interface }}"></class-ref>
+ </template>
+ </td>
+ </tr>
+ </template>
+ <template if="{{ cls.name != cls.vmName }}">
+ <tr>
+ <td class="memberHeader">vm name</td>
+ <td class="member">{{ cls.vmName }}></td>
+ </tr>
+ </template>
+ </table>
+ </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>
+ <table>
+ <tr template repeat="{{ field in cls['fields'] }}">
+ <td class="member">
+ <field-ref ref="{{ field }}"></field-ref>
+ </td>
+ <td class="member">
+ <template if="{{ field['value'] != null }}">
+ <instance-ref ref="{{ field['value'] }}"></instance-ref>
+ </template>
+ </td>
+ </tr>
</table>
- <template if="{{ cls['error'] == null }}">
- <blockquote><strong>Fields</strong></blockquote>
- <table class="table table-hover">
- <tbody>
- <tr template repeat="{{ field in cls['fields'] }}">
- <td><field-ref ref="{{ field }}"></field-ref></td>
- <td><instance-ref ref="{{ field['value'] }}"></instance-ref></td>
- </tr>
- </tbody>
- </table>
- <blockquote><strong>Functions</strong></blockquote>
- <table class="table table-hover">
- <thead>
- <tr>
- <th>User Name</th>
- <th>VM Name</th>
- </tr>
- </thead>
- <tbody>
- <tr template repeat="{{ function in cls['functions'] }}">
- <td><function-ref ref="{{ function }}"></function-ref></td>
- <td><function-ref ref="{{ function }}" internal></function-ref></td>
- </tr>
- </tbody>
- </table>
- </template>
- <template if="{{ cls['error'] != null }}">
- <error-view error_obj="{{ cls['error'] }}"></error-view>
- </template>
- </div>
- </div>
+ </curly-block><br>
+ </template>
+
+ <template if="{{ cls['functions'].isNotEmpty }}">
+ functions ({{ cls['functions'].length }})
+ <curly-block>
+ <table>
+ <tr template repeat="{{ function in cls['functions'] }}">
+ <td class="member">
+ <function-ref ref="{{ function }}" qualified="{{ false }}">
+ </function-ref>
+ </td>
+ </tr>
+ </table>
+ </curly-block><br>
+ </template>
</div>
+
+ <hr>
+
+ <div class="content">
+ <eval-box callback="{{ eval }}"></eval-box>
</div>
+ <br><br><br><br>
+ <br><br><br><br>
</template>
<script type="application/dart" src="class_view.dart"></script>
</polymer-element>

Powered by Google App Engine
This is Rietveld 408576698