OLD | NEW |
| (Empty) |
1 <link rel="import" href="../../../../packages/polymer/polymer.html"> | |
2 <link rel="import" href="function_ref.html"> | |
3 <link rel="import" href="nav_bar.html"> | |
4 <link rel="import" href="observatory_element.html"> | |
5 <link rel="import" href="script_inset.html"> | |
6 <link rel="import" href="script_ref.html"> | |
7 | |
8 <!-- TODO(turnidge): Use core-icon once core_elements work properly in | |
9 devtools --> | |
10 <polymer-element name="icon-expand-less" noscript> | |
11 <template> | |
12 <svg width="24" height="24"> | |
13 <polygon points="12,8 6,14 7.4,15.4 12,10.8 16.6,15.4 18,14 "/> | |
14 </svg> | |
15 </template> | |
16 </polymer-element> | |
17 | |
18 <polymer-element name="icon-expand-more" noscript> | |
19 <template> | |
20 <svg width="24" height="24"> | |
21 <polygon points="16.6,8.6 12,13.2 7.4,8.6 6,10 12,16 18,10 "/> | |
22 </svg> | |
23 </template> | |
24 </polymer-element> | |
25 | |
26 <polymer-element name="debugger-page" extends="observatory-element"> | |
27 <template> | |
28 <link rel="stylesheet" href="css/shared.css"> | |
29 <style> | |
30 .container { | |
31 height: 100%; | |
32 display: flex; | |
33 flex-direction: column; | |
34 justify-content: space-between; | |
35 } | |
36 nav-bar { | |
37 flex: 0 0 auto; | |
38 } | |
39 .stack { | |
40 flex: 0 0 auto; | |
41 overflow-y: auto; | |
42 } | |
43 core-splitter { | |
44 flex: 0 0 auto; | |
45 } | |
46 .console { | |
47 flex: 1 1 auto; | |
48 overflow-y: auto; | |
49 } | |
50 .commandline { | |
51 flex: 0 0 auto; | |
52 } | |
53 </style> | |
54 | |
55 <div class="container"> | |
56 <nav-bar> | |
57 <top-nav-menu last="{{ true }}"></top-nav-menu> | |
58 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> | |
59 </isolate-nav-menu> | |
60 <nav-control></nav-control> | |
61 </nav-bar> | |
62 | |
63 <div id="stack" class="stack"> | |
64 <debugger-stack isolate="{{ isolate }}"></debugger-stack> | |
65 </div> | |
66 <!-- | |
67 <core-splitter direction="up" allowOverflow=true></core-splitter> | |
68 <div class="console"> | |
69 <debugger-console isolate="{{ isolate }}"></debugger-console> | |
70 </div> | |
71 <div class="commandline"> | |
72 <debugger-input isolate="{{ isolate }}"></debugger-input> | |
73 </div> | |
74 --> | |
75 </div> | |
76 </template> | |
77 </polymer-element> | |
78 | |
79 <polymer-element name="debugger-stack" extends="observatory-element"> | |
80 <template> | |
81 <link rel="stylesheet" href="css/shared.css"> | |
82 <template if="{{ stack == null }}"> | |
83 Loading stack frames | |
84 </template> | |
85 <template if="{{ stack != null }}"> | |
86 <ul class="list-group"> | |
87 <template repeat="{{ frame in stack['members'] }}"> | |
88 <li class="list-group-item"> | |
89 <debugger-frame frame="{{ frame }}" | |
90 expand="{{ frame['depth'] == activeFrame }}"> | |
91 </debugger-frame> | |
92 </li> | |
93 </template> | |
94 </ul> | |
95 </template> | |
96 </template> | |
97 </polymer-element> | |
98 | |
99 | |
100 <polymer-element name="debugger-frame" extends="observatory-element"> | |
101 <template> | |
102 <link rel="stylesheet" href="css/shared.css"> | |
103 <style> | |
104 .frameOuter { | |
105 position: relative; | |
106 padding: 5px; | |
107 border: 1px solid white; | |
108 } | |
109 .frameOuter:hover { | |
110 border: 1px solid #e0e0e0; | |
111 } | |
112 .shadow { | |
113 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.16), | |
114 0 2px 5px 0 rgba(0, 0, 0, 0.26); | |
115 } | |
116 .frameSummaryText { | |
117 display: inline-block; | |
118 padding: 5px; | |
119 } | |
120 .frameId { | |
121 display: inline-block; | |
122 width: 60px; | |
123 } | |
124 .frameOuter .frameExpander { | |
125 position: absolute; | |
126 right: 5px; | |
127 top: 5px; | |
128 display: none; | |
129 } | |
130 .frameOuter:hover .frameExpander{ | |
131 display: inline-block; | |
132 } | |
133 .frameContractor { | |
134 position: absolute; | |
135 right: 5px; | |
136 bottom: 5px; | |
137 display: inline-block; | |
138 } | |
139 </style> | |
140 <div id="frameOuter" class="frameOuter"> | |
141 <a on-click="{{ toggleExpand }}"> | |
142 <div class="frameSummary"> | |
143 <div class="frameSummaryText"> | |
144 <div class="frameId"><b>frame {{ frame['depth'] }}</b></div> | |
145 <function-ref ref="{{ frame['function'] }}"></function-ref> | |
146 ( <script-ref ref="{{ frame['script'] }}" | |
147 pos="{{ frame['tokenPos'] }}"> | |
148 </script-ref> ) | |
149 </div> | |
150 <template if="{{ !expanded }}"> | |
151 <div class="frameExpander"> | |
152 <icon-expand-more></icon-expand-more> | |
153 </div> | |
154 </template> | |
155 </div> | |
156 </a> | |
157 | |
158 <template if="{{expanded}}"> | |
159 <div class="frameDetails"> | |
160 <div class="flex-row"> | |
161 <div class="flex-item-60-percent"> | |
162 <script-inset height="{{ scriptHeight }}" | |
163 script="{{ frame['function'].script }}" | |
164 startPos="{{ frame['function'].tokenPos }}" | |
165 endPos="{{ frame['function'].endTokenPos }}" | |
166 currentPos="{{ frame['tokenPos'] }}"> | |
167 </script-inset> | |
168 </div> | |
169 <div class="flex-item-40-percent"> | |
170 <div style="padding:10px;" class="memberList"> | |
171 <template repeat="{{ v in frame['vars'] }}"> | |
172 <div class="memberItem"> | |
173 <div class="memberName">{{ v['name']}}</div> | |
174 <div class="memberValue"> | |
175 <any-service-ref ref="{{ v['value'] }}"> | |
176 </any-service-ref> | |
177 </div> | |
178 </div> | |
179 </template> | |
180 </div> | |
181 </div> | |
182 </div> | |
183 <!-- TODO(turnidge): Add eval box here? --> | |
184 <div class="frameContractor"> | |
185 <template if="{{expanded}}"> | |
186 <a on-click="{{ toggleExpand }}"> | |
187 <icon-expand-less></icon-expand-less> | |
188 </a> | |
189 </template> | |
190 </div> | |
191 </div> | |
192 </template> | |
193 </div> | |
194 </template> | |
195 </polymer-element> | |
196 | |
197 <polymer-element name="debugger-console" extends="observatory-element"> | |
198 <template> | |
199 <link rel="stylesheet" href="css/shared.css"> | |
200 <style> | |
201 .textBox { | |
202 position: absolute; | |
203 bottom: 0px; | |
204 width: 100%; | |
205 } | |
206 </style> | |
207 <div> | |
208 Debugging console is not yet implemented.<br> | |
209 </div> | |
210 </template> | |
211 </polymer-element> | |
212 | |
213 <polymer-element name="debugger-input" extends="observatory-element"> | |
214 <template> | |
215 <link rel="stylesheet" href="css/shared.css"> | |
216 <style> | |
217 .textBox { | |
218 font: 400 16px 'Montserrat', sans-serif; | |
219 width: 100%; | |
220 } | |
221 </style> | |
222 <input id="textBox" class="textBox" type="text" value="{{ text }}"> | |
223 </template> | |
224 </polymer-element> | |
225 | |
226 <script type="application/dart" src="debugger.dart"></script> | |
OLD | NEW |