| OLD | NEW |
| (Empty) |
| 1 <link rel="import" href="../../../../packages/polymer/polymer.html"> | |
| 2 <link rel="import" href="class_ref.html"> | |
| 3 <link rel="import" href="error_view.html"> | |
| 4 <link rel="import" href="eval_box.html"> | |
| 5 <link rel="import" href="eval_link.html"> | |
| 6 <link rel="import" href="field_ref.html"> | |
| 7 <link rel="import" href="function_ref.html"> | |
| 8 <link rel="import" href="inbound_reference.html"> | |
| 9 <link rel="import" href="instance_ref.html"> | |
| 10 <link rel="import" href="observatory_element.html"> | |
| 11 <link rel="import" href="nav_bar.html"> | |
| 12 <link rel="import" href="object_common.html"> | |
| 13 <link rel="import" href="context_ref.html"> | |
| 14 | |
| 15 <polymer-element name="instance-view" extends="observatory-element"> | |
| 16 <template> | |
| 17 <link rel="stylesheet" href="css/shared.css"> | |
| 18 <nav-bar> | |
| 19 <top-nav-menu></top-nav-menu> | |
| 20 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu> | |
| 21 <!-- TODO(turnidge): Add library nav menu here. --> | |
| 22 <class-nav-menu cls="{{ instance.clazz }}"></class-nav-menu> | |
| 23 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> | |
| 24 <nav-refresh callback="{{ refresh }}"></nav-refresh> | |
| 25 <nav-control></nav-control> | |
| 26 </nav-bar> | |
| 27 | |
| 28 <template if="{{ instance.isError }}"> | |
| 29 <error-view error_obj="{{ instance['error'] }}"></error-view> | |
| 30 </template> | |
| 31 | |
| 32 <template if="{{ !instance.isError }}"> | |
| 33 <div class="content"> | |
| 34 <template if="{{ instance.isAbstractType }}"> | |
| 35 <h1>type {{ instance.name }}</h1> | |
| 36 </template> | |
| 37 <template if="{{ !instance.isAbstractType }}"> | |
| 38 <h1>instance of {{ instance.clazz.name }}</h1> | |
| 39 </template> | |
| 40 | |
| 41 <object-common object="{{ instance }}"></object-common> | |
| 42 | |
| 43 <div class="memberList"> | |
| 44 <div class="memberItem"> </div> | |
| 45 | |
| 46 <template if="{{ instance.valueAsString != null }}"> | |
| 47 <div class="memberItem"> | |
| 48 <div class="memberName">value</div> | |
| 49 <div class="memberValue">{{ instance.valueAsString }}</div> | |
| 50 </div> | |
| 51 </template> | |
| 52 | |
| 53 <template if="{{ instance.isString }}"> | |
| 54 <div class="memberItem"> | |
| 55 <div class="memberName">valueAsLiteral</div> | |
| 56 <div class="memberValue"> {{ asStringLiteral(instance.valueAsStrin
g, instance.valueAsStringIsTruncated) }}</div> | |
| 57 </div> | |
| 58 </template> | |
| 59 | |
| 60 <template if="{{ instance.isMirrorReference }}"> | |
| 61 <div class="memberItem"> | |
| 62 <div class="memberName">referent</div> | |
| 63 <div class="memberValue"> | |
| 64 <any-service-ref ref="{{ instance.referent }}"> | |
| 65 </any-service-ref> | |
| 66 </div> | |
| 67 </div> | |
| 68 </template> | |
| 69 | |
| 70 <template if="{{ instance.typeClass != null }}"> | |
| 71 <div class="memberItem"> | |
| 72 <div class="memberName">type class</div> | |
| 73 <div class="memberValue"> | |
| 74 <class-ref ref="{{ instance.typeClass }}"> | |
| 75 </class-ref> | |
| 76 </div> | |
| 77 </div> | |
| 78 </template> | |
| 79 | |
| 80 <template if="{{ instance.isClosure }}"> | |
| 81 <div class="memberItem"> | |
| 82 <div class="memberName">closure function</div> | |
| 83 <div class="memberValue"> | |
| 84 <function-ref ref="{{ instance.closureFunc }}"> | |
| 85 </function-ref> | |
| 86 </div> | |
| 87 </div> | |
| 88 </template> | |
| 89 <template if="{{ instance.isClosure }}"> | |
| 90 <div class="memberItem"> | |
| 91 <div class="memberName">closure context</div> | |
| 92 <div class="memberValue"> | |
| 93 <any-service-ref ref="{{ instance.closureCtxt }}"> | |
| 94 </any-service-ref> | |
| 95 </div> | |
| 96 </div> | |
| 97 </template> | |
| 98 | |
| 99 <template if="{{ instance.isWeakProperty }}"> | |
| 100 <div class="memberItem"> | |
| 101 <div class="memberName">key</div> | |
| 102 <div class="memberValue"> | |
| 103 <any-service-ref ref="{{ instance.key }}"> | |
| 104 </any-service-ref> | |
| 105 </div> | |
| 106 </div> | |
| 107 <div class="memberItem"> | |
| 108 <div class="memberName">value</div> | |
| 109 <div class="memberValue"> | |
| 110 <any-service-ref ref="{{ instance.value }}"> | |
| 111 </any-service-ref> | |
| 112 </div> | |
| 113 </div> | |
| 114 </template> | |
| 115 | |
| 116 <div class="memberItem"> | |
| 117 <div class="memberName">toString()</div> | |
| 118 <div class="memberValue"> | |
| 119 <eval-link callback="{{ eval }}" expr="toString()"></eval-link> | |
| 120 </div> | |
| 121 </div> | |
| 122 </div> | |
| 123 </div> | |
| 124 | |
| 125 <hr> | |
| 126 | |
| 127 <div class="content"> | |
| 128 <template if="{{ instance.nativeFields.isNotEmpty }}"> | |
| 129 native fields ({{ instance.nativeFields.length }}) | |
| 130 <curly-block expand="{{ instance.nativeFields.length <= 8 }}"> | |
| 131 <div class="memberList"> | |
| 132 <template repeat="{{ field in instance.nativeFields }}"> | |
| 133 <div class="memberItem"> | |
| 134 <div class="memberName">[{{ field['index']}}]</div> | |
| 135 <div class="memberValue">[{{ field['value']}}]</div> | |
| 136 </div> | |
| 137 </template> | |
| 138 </div> | |
| 139 </curly-block><br><br> | |
| 140 </template> | |
| 141 | |
| 142 <template if="{{ instance.fields.isNotEmpty }}"> | |
| 143 fields ({{ instance.fields.length }}) | |
| 144 <curly-block expand="{{ instance.fields.length <= 8 }}"> | |
| 145 <div class="memberList"> | |
| 146 <template repeat="{{ field in instance.fields }}"> | |
| 147 <div class="memberItem"> | |
| 148 <div class="memberName"> | |
| 149 <field-ref ref="{{ field['decl'] }}"></field-ref> | |
| 150 </div> | |
| 151 <div class="memberValue"> | |
| 152 <any-service-ref ref="{{ field.value }}"></any-service-ref> | |
| 153 </div> | |
| 154 </div> | |
| 155 </template> | |
| 156 </div> | |
| 157 </curly-block><br><br> | |
| 158 </template> | |
| 159 | |
| 160 <template if="{{ instance.elements.isNotEmpty }}"> | |
| 161 elements ({{ instance.elements.length }}) | |
| 162 <curly-block expand="{{ instance.elements.length <= 8 }}"> | |
| 163 <div class="memberList"> | |
| 164 <template repeat="{{ element in instance.elements }}"> | |
| 165 <div class="memberItem"> | |
| 166 <div class="memberName">[{{ element['index']}}]</div> | |
| 167 <div class="memberValue"> | |
| 168 <any-service-ref ref="{{ element['value'] }}"></any-service-
ref> | |
| 169 </div> | |
| 170 </div> | |
| 171 </template> | |
| 172 </div> | |
| 173 </curly-block><br><br> | |
| 174 </template> | |
| 175 </div> | |
| 176 | |
| 177 <hr> | |
| 178 | |
| 179 <div class="content"> | |
| 180 <eval-box callback="{{ eval }}"></eval-box> | |
| 181 </div> | |
| 182 | |
| 183 <br><br><br><br> | |
| 184 <br><br><br><br> | |
| 185 | |
| 186 </template> | |
| 187 </template> | |
| 188 </polymer-element> | |
| 189 | |
| 190 <script type="application/dart" src="instance_view.dart"></script> | |
| OLD | NEW |