| OLD | NEW |
| 1 <head> | 1 <head> |
| 2 <link rel="import" href="class_ref.html"> | 2 <link rel="import" href="class_ref.html"> |
| 3 <link rel="import" href="error_view.html"> | 3 <link rel="import" href="error_view.html"> |
| 4 <link rel="import" href="eval_box.html"> |
| 4 <link rel="import" href="field_ref.html"> | 5 <link rel="import" href="field_ref.html"> |
| 5 <link rel="import" href="instance_ref.html"> | 6 <link rel="import" href="instance_ref.html"> |
| 6 <link rel="import" href="observatory_element.html"> | 7 <link rel="import" href="observatory_element.html"> |
| 7 <link rel="import" href="nav_bar.html"> | 8 <link rel="import" href="nav_bar.html"> |
| 8 </head> | 9 </head> |
| 9 <polymer-element name="instance-view" extends="observatory-element"> | 10 <polymer-element name="instance-view" extends="observatory-element"> |
| 10 <template> | 11 <template> |
| 11 <nav-bar> | 12 <nav-bar> |
| 12 <top-nav-menu></top-nav-menu> | 13 <top-nav-menu></top-nav-menu> |
| 13 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu> | 14 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu> |
| 14 <!-- TODO(turnidge): Add library nav menu here. --> | 15 <!-- TODO(turnidge): Add library nav menu here. --> |
| 15 <class-nav-menu cls="{{ instance['class'] }}"></class-nav-menu> | 16 <class-nav-menu cls="{{ instance['class'] }}"></class-nav-menu> |
| 16 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> | 17 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> |
| 17 <!-- TODO(turnidge): Add nav refresh here. --> | 18 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 18 </nav-bar> | 19 </nav-bar> |
| 19 | 20 |
| 20 <div class="row"> | 21 <style> |
| 21 <div class="col-md-8 col-md-offset-2"> | 22 .content { |
| 22 <div class="panel panel-warning"> | 23 padding-left: 10%; |
| 23 <div class="panel-heading"> | 24 font: 400 14px 'Montserrat', sans-serif; |
| 24 Instance of | 25 } |
| 25 <class-ref ref="{{ instance['class'] }}"></class-ref> | 26 h1 { |
| 26 </div> | 27 font: 400 18px 'Montserrat', sans-serif; |
| 27 <div class="panel-body"> | 28 } |
| 28 <template if="{{ instance['error'] == null }}"> | 29 .member { |
| 29 <table class="table table-hover"> | 30 vertical-align: top; |
| 30 <tbody> | 31 padding: 3px 0 3px 1em; |
| 31 <tr> | 32 font: 400 14px 'Montserrat', sans-serif; |
| 32 <td>Preview</td><td>{{ instance['preview'] }}</td> | 33 } |
| 33 </tr> | 34 .memberBold { |
| 34 </tbody> | 35 vertical-align: top; |
| 36 padding: 3px 0 3px 1em; |
| 37 font: 400 14px 'Montserrat', sans-serif; |
| 38 } |
| 39 </style> |
| 40 |
| 41 <template if="{{ instance['error'] != null }}"> |
| 42 <error-view error_obj="{{ instance['error'] }}"></error-view> |
| 43 </template> |
| 44 |
| 45 <template if="{{ instance['error'] == null }}"> |
| 46 <div class="content"> |
| 47 <!-- TODO(turnidge): Handle null instances. --> |
| 48 <h1>instance of {{ instance['class']['user_name'] }}</h1> |
| 49 <table> |
| 50 <tr> |
| 51 <td class="memberBold">class</td> |
| 52 <td class="member"> |
| 53 <class-ref ref="{{ instance['class'] }}"> |
| 54 </class-ref> |
| 55 </td> |
| 56 </tr> |
| 57 <tr template if="{{ instance['preview'] != null }}"> |
| 58 <td class="memberBold">preview</td> |
| 59 <td class="member">{{ instance['preview'] }}</td> |
| 60 </tr> |
| 61 <tr> |
| 62 <td class="memberBold">size</td> |
| 63 <td class="member">{{ instance['size'] | formatSize }}</td> |
| 64 </tr> |
| 65 </table> |
| 66 </div> |
| 67 |
| 68 <hr> |
| 69 |
| 70 <div class="content"> |
| 71 <template if="{{ instance['fields'].isNotEmpty }}"> |
| 72 fields ({{ instance['fields'].length }}) |
| 73 <curly-block> |
| 74 <table> |
| 75 <tr template repeat="{{ field in instance['fields'] }}"> |
| 76 <td class="member"> |
| 77 <field-ref ref="{{ field['decl'] }}"></field-ref> |
| 78 </td> |
| 79 <td class="member"> |
| 80 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 81 </td> |
| 82 </tr> |
| 35 </table> | 83 </table> |
| 36 <blockquote><strong>Fields</strong></blockquote> | 84 </curly-block> |
| 37 <table class="table table-hover"> | 85 </template> |
| 38 <tbody> | 86 |
| 39 <tr template repeat="{{ field in instance['fields'] }}"> | 87 <template if="{{ instance['nativeFields'].isNotEmpty }}"> |
| 40 <td><field-ref ref="{{ field['decl'] }}"></field-ref></td> | 88 native fields ({{ instance['nativeFields'].length }}) |
| 41 <td><instance-ref ref="{{ field['value'] }}"></instance-ref></
td> | 89 <curly-block> |
| 42 </tr> | 90 <table> |
| 43 </tbody> | 91 <tr template repeat="{{ field in instance['nativeFields'] }}"> |
| 92 <td class="member">[{{ field['index']}}]</td> |
| 93 <td class="member">[{{ field['value']}}]</td> |
| 94 </tr> |
| 44 </table> | 95 </table> |
| 45 </template> | 96 </curly-block> |
| 46 <template if="{{ instance['error'] != null }}"> | 97 </template> |
| 47 <error-view error_obj="{{ instance['error'] }}"></error-view> | 98 |
| 48 </template> | 99 <template if="{{ instance['elements'].isNotEmpty }}"> |
| 49 </div> | 100 elements ({{ instance['elements'].length }}) |
| 101 <curly-block> |
| 102 <table> |
| 103 <tr template repeat="{{ element in instance['elements'] }}"> |
| 104 <td class="member">[{{ element['index']}}]</td> |
| 105 <td class="member"> |
| 106 <instance-ref ref="{{ element['value'] }}"> |
| 107 </instance-ref> |
| 108 </td> |
| 109 </tr> |
| 110 </table> |
| 111 </curly-block> |
| 112 </template> |
| 50 </div> | 113 </div> |
| 51 </div> | 114 |
| 52 </div> | 115 <hr> |
| 116 |
| 117 <div class="content"> |
| 118 <eval-box callback="{{ eval }}"></eval-box> |
| 119 </div> |
| 120 <br><br><br><br> |
| 121 <br><br><br><br> |
| 122 </template> |
| 53 </template> | 123 </template> |
| 54 <script type="application/dart" src="instance_view.dart"></script> | 124 <script type="application/dart" src="instance_view.dart"></script> |
| 55 </polymer-element> | 125 </polymer-element> |
| OLD | NEW |