| OLD | NEW |
| 1 Content-Type: text/plain | 1 Content-Type: text/plain |
| 2 <html lang="en"><head><style>template { display: none; }</style> | 2 <html lang="en"><head><style shadowcssshim="">style { display: none !important;
} |
| 3 </style><style shadowcssshim="">template { display: none; }</style> |
| 3 <!-- | 4 <!-- |
| 4 This test runs the TodoMVC app and evaluates that it renders correctly if a | 5 This test runs the TodoMVC app and evaluates that it renders correctly if a |
| 5 single item is present in the todo list. | 6 single item is present in the todo list. |
| 6 --> | 7 --> |
| 7 <meta charset="utf-8"> | 8 <meta charset="utf-8"> |
| 8 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | 9 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| 9 | 10 |
| 10 <link rel="stylesheet" href="../../../web/base.css"> | 11 <link rel="stylesheet" href="../../../web/base.css"> |
| 11 <script src="../../packages/polymer/testing/testing.js"></script> | 12 <script src="../../packages/polymer/testing/testing.js"></script> |
| 12 <title>Dart • TodoMVC</title> | 13 <title>Dart • TodoMVC</title> |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 <form on-submit="addTodo"> | 216 <form on-submit="addTodo"> |
| 216 <input id="new-todo" placeholder="What needs to be done?" autofocus="" o
n-change="addTodo"> | 217 <input id="new-todo" placeholder="What needs to be done?" autofocus="" o
n-change="addTodo"> |
| 217 </form> | 218 </form> |
| 218 </header> | 219 </header> |
| 219 <section id="main"> | 220 <section id="main"> |
| 220 <input id="toggle-all" type="checkbox"> | 221 <input id="toggle-all" type="checkbox"> |
| 221 <label for="toggle-all"></label> | 222 <label for="toggle-all"></label> |
| 222 <ul id="todo-list"> | 223 <ul id="todo-list"> |
| 223 <template repeat="{{app.visibleTodos}}"></template> | 224 <template repeat="{{app.visibleTodos}}"></template> |
| 224 <li is="todo-row" todo="{{}}"><shadow-root> | 225 <li is="todo-row" todo="{{}}"><shadow-root> |
| 225 <style scoped=""> | 226 <style scoped="">todo-row .todo-item, [is=todo-row] .todo-item { |
| 226 .todo-item { | 227 » position: relative; font-size: 24px; border-bottom-width: 1px; border-bo
ttom-style: dotted; border-bottom-color: rgb(204, 204, 204); |
| 227 position: relative; | |
| 228 font-size: 24px; | |
| 229 border-bottom: 1px dotted #ccc; | |
| 230 } | 228 } |
| 231 | 229 |
| 232 .todo-item.editing { | 230 todo-row .todo-item.editing, [is=todo-row] .todo-item.editing { |
| 233 border-bottom: none; | 231 » border-bottom-style: none; padding: 0px; |
| 234 padding: 0; | |
| 235 } | 232 } |
| 236 | 233 |
| 237 /* | 234 todo-row .todo-item.completed [is="editable-label"], [is=todo-row] .todo-item.co
mpleted [is="editable-label"] { |
| 238 TODO(jmesserly): the ".todo-item label" selector does not work with real | 235 » color: rgb(169, 169, 169); text-decoration: line-through; |
| 239 ShadowRoot because it crosses the shadow boundary. | |
| 240 */ | |
| 241 .todo-item.completed [is=editable-label] { | |
| 242 color: #a9a9a9; | |
| 243 text-decoration: line-through; | |
| 244 } | 236 } |
| 245 | 237 |
| 246 .todo-item .toggle { | 238 todo-row .todo-item .toggle, [is=todo-row] .todo-item .toggle { |
| 247 text-align: center; | 239 » text-align: center; width: 40px; height: auto; position: absolute; top:
0px; bottom: 0px; margin: auto 0px; border: none; -webkit-appearance: none; |
| 248 width: 40px; | |
| 249 /* auto, since non-WebKit browsers don't support input styling */ | |
| 250 height: auto; | |
| 251 position: absolute; | |
| 252 top: 0; | |
| 253 bottom: 0; | |
| 254 margin: auto 0; | |
| 255 border: none; /* Mobile Safari */ | |
| 256 -webkit-appearance: none; | |
| 257 /*-moz-appearance: none;*/ | |
| 258 -ms-appearance: none; | |
| 259 -o-appearance: none; | |
| 260 appearance: none; | |
| 261 } | 240 } |
| 262 | 241 |
| 263 .todo-item .toggle:after { | 242 todo-row .todo-item .toggle::after, [is=todo-row] .todo-item .toggle::after { |
| 264 content: '✔'; | 243 » content: '✔'; line-height: 43px; font-size: 20px; color: rgb(217, 217, 2
17); text-shadow: rgb(191, 191, 191) 0px -1px 0px; |
| 265 line-height: 43px; /* 40 + a couple of pixels visual adjustment */ | |
| 266 font-size: 20px; | |
| 267 color: #d9d9d9; | |
| 268 text-shadow: 0 -1px 0 #bfbfbf; | |
| 269 } | 244 } |
| 270 | 245 |
| 271 .todo-item .toggle:checked:after { | 246 todo-row .todo-item .toggle:checked::after, [is=todo-row] .todo-item .toggle:che
cked::after { |
| 272 color: #85ada7; | 247 » color: rgb(133, 173, 167); text-shadow: rgb(102, 153, 145) 0px 1px 0px;
bottom: 1px; position: relative; |
| 273 text-shadow: 0 1px 0 #669991; | |
| 274 bottom: 1px; | |
| 275 position: relative; | |
| 276 } | |
| 277 .todo-item .destroy { | |
| 278 display: none; | |
| 279 position: absolute; | |
| 280 top: 0; | |
| 281 right: 10px; | |
| 282 bottom: 0; | |
| 283 width: 40px; | |
| 284 height: 40px; | |
| 285 margin: auto 0; | |
| 286 font-size: 22px; | |
| 287 color: #a88a8a; | |
| 288 -webkit-transition: all 0.2s; | |
| 289 -moz-transition: all 0.2s; | |
| 290 -ms-transition: all 0.2s; | |
| 291 -o-transition: all 0.2s; | |
| 292 transition: all 0.2s; | |
| 293 } | 248 } |
| 294 | 249 |
| 295 .todo-item .destroy:hover { | 250 todo-row .todo-item .destroy, [is=todo-row] .todo-item .destroy { |
| 296 text-shadow: 0 0 1px #000, | 251 » display: none; position: absolute; top: 0px; right: 10px; bottom: 0px; w
idth: 40px; height: 40px; margin: auto 0px; font-size: 22px; color: rgb(168, 138
, 138); transition: all 0.2s; -webkit-transition: all 0.2s; |
| 297 0 0 10px rgba(199, 107, 107, 0.8); | |
| 298 -webkit-transform: scale(1.3); | |
| 299 -moz-transform: scale(1.3); | |
| 300 -ms-transform: scale(1.3); | |
| 301 -o-transform: scale(1.3); | |
| 302 transform: scale(1.3); | |
| 303 } | 252 } |
| 304 | 253 |
| 305 .todo-item .destroy:after { | 254 todo-row .todo-item .destroy:hover, [is=todo-row] .todo-item .destroy:hover { |
| 306 content: '✖'; | 255 » text-shadow: rgb(0, 0, 0) 0px 0px 1px, rgba(199, 107, 107, 0.8) 0px 0px
10px; -webkit-transform: scale(1.3); |
| 307 } | 256 } |
| 308 | 257 |
| 309 .todo-item:hover .destroy { | 258 todo-row .todo-item .destroy::after, [is=todo-row] .todo-item .destroy::after { |
| 310 display: block; | 259 » content: '✖'; |
| 311 } | 260 } |
| 312 | 261 |
| 313 .todo-item.editing .destroy, | 262 todo-row .todo-item:hover .destroy, [is=todo-row] .todo-item:hover .destroy { |
| 314 .todo-item.editing .toggle { | 263 » display: block; |
| 315 display: none; | |
| 316 } | 264 } |
| 317 | 265 |
| 318 .todo-item.editing:last-child { | 266 todo-row .todo-item.editing .destroy, [is=todo-row] .todo-item.editing .destroy,
todo-row .todo-item.editing .toggle, [is=todo-row] .todo-item.editing .toggle { |
| 319 margin-bottom: -1px; | 267 » display: none; |
| 320 } | 268 } |
| 321 | 269 |
| 322 /* | 270 todo-row .todo-item.editing:last-child, [is=todo-row] .todo-item.editing:last-ch
ild { |
| 323 Hack to remove background from Mobile Safari. | 271 » margin-bottom: -1px; |
| 324 Can't use it globally since it destroys checkboxes in Firefox and Opera | |
| 325 */ | |
| 326 @media screen and (-webkit-min-device-pixel-ratio:0) { | |
| 327 .todo-item .toggle { | |
| 328 background: none; | |
| 329 } | |
| 330 #todo-item .toggle { | |
| 331 height: 40px; | |
| 332 } | |
| 333 } | 272 } |
| 334 </style> | 273 |
| 274 @media screen and (-webkit-min-device-pixel-ratio: 0) { |
| 275 todo-row .todo-item .toggle, [is=todo-row] .todo-item .toggle { |
| 276 » background-image: none; background-position: initial initial; background
-repeat: initial initial; |
| 277 } |
| 278 |
| 279 todo-row #todo-item .toggle, [is=todo-row] #todo-item .toggle { |
| 280 » height: 40px; |
| 281 } |
| 282 |
| 283 |
| 284 } |
| 285 |
| 286 </style> |
| 335 <div class="todo-item"> | 287 <div class="todo-item"> |
| 336 <input class="toggle" type="checkbox"> | 288 <input class="toggle" type="checkbox"> |
| 337 <editable-label id="label" value="{{todo.task}}"><shadow-root> | 289 <editable-label id="label" value="{{todo.task}}"><shadow-root> |
| 338 <template bind="" if="{{!editing}}"></template> | 290 <template bind="" if="{{!editing}}"></template> |
| 339 <label class="edit-label" on-double-click="edit">hola</label> | 291 <label class="edit-label" on-double-click="edit">hola</label> |
| 340 | 292 |
| 341 <template bind="" if="{{editing}}"></template> | 293 <template bind="" if="{{editing}}"></template> |
| 342 </shadow-root></editable-label> | 294 </shadow-root></editable-label> |
| 343 <button class="destroy" on-click="removeTodo"></button> | 295 <button class="destroy" on-click="removeTodo"></button> |
| 344 </div> | 296 </div> |
| (...skipping 22 matching lines...) Expand all Loading... |
| 367 or | 319 or |
| 368 <a href="https://github.com/dart-lang/web-ui/tree/master/example/todomvc">
view the source</a>. | 320 <a href="https://github.com/dart-lang/web-ui/tree/master/example/todomvc">
view the source</a>. |
| 369 </p> | 321 </p> |
| 370 <p>Part of <a href="http://todomvc.com">TodoMVC</a>.</p> | 322 <p>Part of <a href="http://todomvc.com">TodoMVC</a>.</p> |
| 371 </footer> | 323 </footer> |
| 372 </shadow-root></todo-app> | 324 </shadow-root></todo-app> |
| 373 | 325 |
| 374 | 326 |
| 375 | 327 |
| 376 <script type="text/javascript" src="packages/shadow_dom/shadow_dom.debug.js"></s
cript> | 328 <script type="text/javascript" src="packages/shadow_dom/shadow_dom.debug.js"></s
cript> |
| 329 <script type="text/javascript" src="packages/browser/interop.js"></script> |
| 377 <script type="application/dart" src="todomvc_mainpage2_test.html_bootstrap.dart"
></script></body></html> | 330 <script type="application/dart" src="todomvc_mainpage2_test.html_bootstrap.dart"
></script></body></html> |
| OLD | NEW |