| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of template_binding; | 5 part of template_binding; |
| 6 | 6 |
| 7 /** Extensions to [Element]s that behave as templates. */ | 7 /** Extensions to [Element]s that behave as templates. */ |
| 8 class TemplateBindExtension extends NodeBindExtension { | 8 class TemplateBindExtension extends NodeBindExtension { |
| 9 var _model; | 9 var _model; |
| 10 BindingDelegate _bindingDelegate; | 10 BindingDelegate _bindingDelegate; |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 _setModelScheduled = false; | 177 _setModelScheduled = false; |
| 178 var map = _getBindings(_node, _bindingDelegate); | 178 var map = _getBindings(_node, _bindingDelegate); |
| 179 _processBindings(_node, map, _model); | 179 _processBindings(_node, map, _model); |
| 180 } | 180 } |
| 181 | 181 |
| 182 _refChanged() { | 182 _refChanged() { |
| 183 if (_iterator == null || _refContent == templateBind(_ref).content) return; | 183 if (_iterator == null || _refContent == templateBind(_ref).content) return; |
| 184 | 184 |
| 185 _refContent = null; | 185 _refContent = null; |
| 186 _iterator._valueChanged(null); | 186 _iterator._valueChanged(null); |
| 187 _iterator._updateIteratedValue(null); | 187 _iterator._updateIteratedValue(this._iterator._getUpdatedValue()); |
| 188 } | 188 } |
| 189 | 189 |
| 190 void clear() { | 190 void clear() { |
| 191 _model = null; | 191 _model = null; |
| 192 _bindingDelegate = null; | 192 _bindingDelegate = null; |
| 193 if (bindings != null) { | 193 if (bindings != null) { |
| 194 var ref = bindings.remove('ref'); | 194 var ref = bindings.remove('ref'); |
| 195 if (ref != null) ref.close(); | 195 if (ref != null) ref.close(); |
| 196 } | 196 } |
| 197 _refContent = null; | 197 _refContent = null; |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 } | 527 } |
| 528 | 528 |
| 529 // Note: JS code tests that getElementById is present. We can't do that | 529 // Note: JS code tests that getElementById is present. We can't do that |
| 530 // easily, so instead check for the types known to implement it. | 530 // easily, so instead check for the types known to implement it. |
| 531 bool _hasGetElementById(Node node) => | 531 bool _hasGetElementById(Node node) => |
| 532 node is Document || node is ShadowRoot || node is SvgSvgElement; | 532 node is Document || node is ShadowRoot || node is SvgSvgElement; |
| 533 | 533 |
| 534 final Expando<_InstanceExtension> _instanceExtension = new Expando(); | 534 final Expando<_InstanceExtension> _instanceExtension = new Expando(); |
| 535 | 535 |
| 536 final _isStagingDocument = new Expando(); | 536 final _isStagingDocument = new Expando(); |
| OLD | NEW |