OLD | NEW |
1 <head> | 1 <head> |
2 <link rel="import" href="curly_block.html"> | 2 <link rel="import" href="curly_block.html"> |
3 <link rel="import" href="eval_box.html"> | 3 <link rel="import" href="eval_box.html"> |
4 <link rel="import" href="eval_link.html"> | 4 <link rel="import" href="eval_link.html"> |
5 <link rel="import" href="field_ref.html"> | 5 <link rel="import" href="field_ref.html"> |
6 <link rel="import" href="function_ref.html"> | 6 <link rel="import" href="function_ref.html"> |
7 <link rel="import" href="instance_ref.html"> | 7 <link rel="import" href="instance_ref.html"> |
8 <link rel="import" href="library_ref.html"> | 8 <link rel="import" href="library_ref.html"> |
9 <link rel="import" href="nav_bar.html"> | 9 <link rel="import" href="nav_bar.html"> |
10 <link rel="import" href="observatory_element.html"> | 10 <link rel="import" href="observatory_element.html"> |
11 <link rel="import" href="script_ref.html"> | 11 <link rel="import" href="script_ref.html"> |
12 </head> | 12 </head> |
13 <polymer-element name="class-view" extends="observatory-element"> | 13 <polymer-element name="class-view" extends="observatory-element"> |
14 <template> | 14 <template> |
15 <link rel="stylesheet" href="css/shared.css"> | 15 <link rel="stylesheet" href="css/shared.css"> |
16 <nav-bar> | 16 <nav-bar> |
17 <top-nav-menu></top-nav-menu> | 17 <top-nav-menu></top-nav-menu> |
18 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu> | 18 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu> |
19 <library-nav-menu library="{{ cls['library'] }}"></library-nav-menu> | 19 <library-nav-menu library="{{ cls.library }}"></library-nav-menu> |
20 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu> | 20 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu> |
21 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 21 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 22 <nav-control></nav-control> |
22 </nav-bar> | 23 </nav-bar> |
23 | 24 |
24 <div class="content"> | 25 <div class="content"> |
25 <h1> | 26 <h1> |
26 <template if="{{ cls['abstract'] }}"> | 27 <template if="{{ cls.isAbstract }}"> |
27 abstract | 28 abstract |
28 </template> | 29 </template> |
29 <template if="{{ cls['patch'] }}"> | 30 <template if="{{ cls.isPatch }}"> |
30 patch | 31 patch |
31 </template> | 32 </template> |
32 class {{ cls.name }} | 33 class {{ cls.name }} |
33 </h1> | 34 </h1> |
34 <div class="memberList"> | 35 <div class="memberList"> |
35 <div class="memberItem"> | 36 <div class="memberItem"> |
36 <div class="memberName">library</div> | 37 <div class="memberName">library</div> |
37 <div class="memberValue"> | 38 <div class="memberValue"> |
38 <library-ref ref="{{ cls['library'] }}"></library-ref> | 39 <library-ref ref="{{ cls.library }}"></library-ref> |
39 </div> | 40 </div> |
40 </div> | 41 </div> |
41 <div class="memberItem"> | 42 <div class="memberItem"> |
42 <div class="memberName">script</div> | 43 <div class="memberName">script</div> |
43 <div class="memberValue"> | 44 <div class="memberValue"> |
44 <script-ref ref="{{ cls['script'] }}" pos="{{ cls['tokenPos'] }}"> | 45 <script-ref ref="{{ cls.script }}" pos="{{ cls.tokenPos }}"> |
45 </script-ref> | 46 </script-ref> |
46 </div> | 47 </div> |
47 </div> | 48 </div> |
48 | 49 |
49 <div class="memberItem"> </div> | 50 <div class="memberItem"> </div> |
50 | 51 |
51 <template if="{{ cls['super'] != null }}"> | 52 <template if="{{ cls.superClass != null }}"> |
52 <div class="memberItem"> | 53 <div class="memberItem"> |
53 <div class="memberName">extends</div> | 54 <div class="memberName">extends</div> |
54 <div class="memberValue"> | 55 <div class="memberValue"> |
55 <class-ref ref="{{ cls['super'] }}"></class-ref> | 56 <class-ref ref="{{ cls.superClass }}"></class-ref> |
56 </div> | 57 </div> |
57 </div> | 58 </div> |
58 </template> | 59 </template> |
59 <template if="{{ cls['subclasses'].length > 0 }}"> | 60 <template if="{{ cls.subClasses.length > 0 }}"> |
60 <div class="memberItem"> | 61 <div class="memberItem"> |
61 <div class="memberName">extended by</div> | 62 <div class="memberName">extended by</div> |
62 <div class="memberValue"> | 63 <div class="memberValue"> |
63 <template repeat="{{ subclass in cls['subclasses'] }}"> | 64 <template repeat="{{ subclass in cls.subClasses }}"> |
64 <class-ref ref="{{ subclass }}"></class-ref> | 65 <class-ref ref="{{ subclass }}"></class-ref> |
65 </template> | 66 </template> |
66 </div> | 67 </div> |
67 </div> | 68 </div> |
68 </template> | 69 </template> |
69 | 70 |
70 <div class="memberItem"> </div> | 71 <div class="memberItem"> </div> |
71 | 72 |
72 <template if="{{ cls['interfaces'].length > 0 }}"> | 73 <template if="{{ cls.interfaces.length > 0 }}"> |
73 <div class="memberItem"> | 74 <div class="memberItem"> |
74 <div class="memberName">implements</div> | 75 <div class="memberName">implements</div> |
75 <div class="memberValue"> | 76 <div class="memberValue"> |
76 <template repeat="{{ interface in cls['interfaces'] }}"> | 77 <template repeat="{{ interface in cls.interfaces }}"> |
77 <class-ref ref="{{ interface }}"></class-ref> | 78 <class-ref ref="{{ interface }}"></class-ref> |
78 </template> | 79 </template> |
79 </div> | 80 </div> |
80 </div> | 81 </div> |
81 </template> | 82 </template> |
82 <template if="{{ cls.name != cls.vmName }}"> | 83 <template if="{{ cls.name != cls.vmName }}"> |
83 <div class="memberItem"> | 84 <div class="memberItem"> |
84 <div class="memberName">vm name</div> | 85 <div class="memberName">vm name</div> |
85 <div class="memberValue">{{ cls.vmName }}</div> | 86 <div class="memberValue">{{ cls.vmName }}</div> |
86 </div> | 87 </div> |
87 </template> | 88 </template> |
88 <div class="memberItem"> | 89 <div class="memberItem"> |
89 <div class="memberName">retained size<br>(all instances)</div> | 90 <div class="memberName">retained size<br>(all instances)</div> |
90 <div class="memberValue"> | 91 <div class="memberValue"> |
91 <eval-link callback="{{ retainedSize }}"></eval-link> | 92 <eval-link callback="{{ retainedSize }}"></eval-link> |
92 </div> | 93 </div> |
93 </div> | 94 </div> |
94 </div> | 95 </div> |
95 </div> | 96 </div> |
96 | 97 |
97 <template if="{{ cls['error'] != null }}"> | 98 <template if="{{ cls.error != null }}"> |
98 <!-- TODO(turnidge): Don't use instance-ref for error display here --> | 99 <!-- TODO(turnidge): Don't use instance-ref for error display here --> |
99 <instance-ref ref="{{ cls['error'] }}"></instance-ref> | 100 <instance-ref ref="{{ cls.error }}"></instance-ref> |
100 </template> | 101 </template> |
101 | 102 |
102 <hr> | 103 <hr> |
103 | 104 |
104 <div class="content"> | 105 <div class="content"> |
105 <template if="{{ cls['fields'].isNotEmpty }}"> | 106 <template if="{{ cls.fields.isNotEmpty }}"> |
106 fields ({{ cls['fields'].length }}) | 107 fields ({{ cls['fields'].length }}) |
107 <curly-block expand="{{ cls['fields'].length <= 8 }}"> | 108 <curly-block expand="{{ cls.fields.length <= 8 }}"> |
108 <div class="memberList"> | 109 <div class="memberList"> |
109 <template repeat="{{ field in cls['fields'] }}"> | 110 <template repeat="{{ field in cls.fields }}"> |
110 <div class="memberItem"> | 111 <div class="memberItem"> |
111 <div class="memberName"> | 112 <div class="memberName"> |
112 <field-ref ref="{{ field }}"></field-ref> | 113 <field-ref ref="{{ field }}"></field-ref> |
113 </div> | 114 </div> |
114 <div class="memberValue"> | 115 <div class="memberValue"> |
115 <template if="{{ field['value'] != null }}"> | 116 <template if="{{ field['value'] != null }}"> |
116 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 117 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
117 </template> | 118 </template> |
118 </div> | 119 </div> |
119 </div> | 120 </div> |
120 </template> | 121 </template> |
121 </div> | 122 </div> |
122 </curly-block><br><br> | 123 </curly-block><br><br> |
123 </template> | 124 </template> |
124 | 125 |
125 <template if="{{ cls['functions'].isNotEmpty }}"> | 126 <template if="{{ cls.functions.isNotEmpty }}"> |
126 functions ({{ cls['functions'].length }}) | 127 functions ({{ cls.functions.length }}) |
127 <curly-block expand="{{ cls['functions'].length <= 8 }}"> | 128 <curly-block expand="{{ cls.functions.length <= 8 }}"> |
128 <div class="memberList"> | 129 <div class="memberList"> |
129 <template repeat="{{ function in cls['functions'] }}"> | 130 <template repeat="{{ function in cls.functions }}"> |
130 <div class="memberItem"> | 131 <div class="memberItem"> |
131 <div class="memberValue"> | 132 <div class="memberValue"> |
132 <function-ref ref="{{ function }}" qualified="{{ false }}"> | 133 <function-ref ref="{{ function }}" qualified="{{ false }}"> |
133 </function-ref> | 134 </function-ref> |
134 </div> | 135 </div> |
135 </div> | 136 </div> |
136 </template> | 137 </template> |
137 </div> | 138 </div> |
138 </curly-block><br><br> | 139 </curly-block><br><br> |
139 </template> | 140 </template> |
140 </div> | 141 </div> |
141 | 142 |
142 <hr> | 143 <hr> |
143 | 144 |
144 <div class="content"> | 145 <div class="content"> |
145 <eval-box callback="{{ eval }}"></eval-box> | 146 <eval-box callback="{{ eval }}"></eval-box> |
146 </div> | 147 </div> |
147 <br><br><br><br> | 148 <br><br><br><br> |
148 <br><br><br><br> | 149 <br><br><br><br> |
149 </template> | 150 </template> |
150 <script type="application/dart" src="class_view.dart"></script> | 151 <script type="application/dart" src="class_view.dart"></script> |
151 </polymer-element> | 152 </polymer-element> |
OLD | NEW |