| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 html; | 5 part of html; |
| 6 | 6 |
| 7 abstract class _AttributeMap implements Map<String, String> { | 7 abstract class _AttributeMap implements Map<String, String> { |
| 8 final Element _element; | 8 final Element _element; |
| 9 | 9 |
| 10 _AttributeMap(this._element); | 10 _AttributeMap(this._element); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 */ | 85 */ |
| 86 class _ElementAttributeMap extends _AttributeMap { | 86 class _ElementAttributeMap extends _AttributeMap { |
| 87 | 87 |
| 88 _ElementAttributeMap(Element element): super(element); | 88 _ElementAttributeMap(Element element): super(element); |
| 89 | 89 |
| 90 bool containsKey(String key) { | 90 bool containsKey(String key) { |
| 91 return _element._hasAttribute(key); | 91 return _element._hasAttribute(key); |
| 92 } | 92 } |
| 93 | 93 |
| 94 String operator [](String key) { | 94 String operator [](String key) { |
| 95 return _element._getAttribute(key); | 95 return _element.getAttribute(key); |
| 96 } | 96 } |
| 97 | 97 |
| 98 void operator []=(String key, String value) { | 98 void operator []=(String key, String value) { |
| 99 _element._setAttribute(key, value); | 99 _element.setAttribute(key, value); |
| 100 } | 100 } |
| 101 | 101 |
| 102 String remove(String key) { | 102 String remove(String key) { |
| 103 String value = _element._getAttribute(key); | 103 String value = _element.getAttribute(key); |
| 104 _element._removeAttribute(key); | 104 _element._removeAttribute(key); |
| 105 return value; | 105 return value; |
| 106 } | 106 } |
| 107 | 107 |
| 108 /** | 108 /** |
| 109 * The number of {key, value} pairs in the map. | 109 * The number of {key, value} pairs in the map. |
| 110 */ | 110 */ |
| 111 int get length { | 111 int get length { |
| 112 return keys.length; | 112 return keys.length; |
| 113 } | 113 } |
| 114 | 114 |
| 115 bool _matches(Node node) => node._namespaceUri == null; | 115 bool _matches(Node node) => node._namespaceUri == null; |
| 116 } | 116 } |
| 117 | 117 |
| 118 /** | 118 /** |
| 119 * Wrapper to expose namespaced attributes as a typed map. | 119 * Wrapper to expose namespaced attributes as a typed map. |
| 120 */ | 120 */ |
| 121 class _NamespacedAttributeMap extends _AttributeMap { | 121 class _NamespacedAttributeMap extends _AttributeMap { |
| 122 | 122 |
| 123 final String _namespace; | 123 final String _namespace; |
| 124 | 124 |
| 125 _NamespacedAttributeMap(Element element, this._namespace): super(element); | 125 _NamespacedAttributeMap(Element element, this._namespace): super(element); |
| 126 | 126 |
| 127 bool containsKey(String key) { | 127 bool containsKey(String key) { |
| 128 return _element._hasAttributeNS(_namespace, key); | 128 return _element._hasAttributeNS(_namespace, key); |
| 129 } | 129 } |
| 130 | 130 |
| 131 String operator [](String key) { | 131 String operator [](String key) { |
| 132 return _element._getAttributeNS(_namespace, key); | 132 return _element.getAttributeNS(_namespace, key); |
| 133 } | 133 } |
| 134 | 134 |
| 135 void operator []=(String key, String value) { | 135 void operator []=(String key, String value) { |
| 136 _element._setAttributeNS(_namespace, key, value); | 136 _element.setAttributeNS(_namespace, key, value); |
| 137 } | 137 } |
| 138 | 138 |
| 139 String remove(String key) { | 139 String remove(String key) { |
| 140 String value = this[key]; | 140 String value = this[key]; |
| 141 _element._removeAttributeNS(_namespace, key); | 141 _element._removeAttributeNS(_namespace, key); |
| 142 return value; | 142 return value; |
| 143 } | 143 } |
| 144 | 144 |
| 145 /** | 145 /** |
| 146 * The number of {key, value} pairs in the map. | 146 * The number of {key, value} pairs in the map. |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 // TODO: Use lazy iterator when it is available on Map. | 221 // TODO: Use lazy iterator when it is available on Map. |
| 222 bool get isEmpty => length == 0; | 222 bool get isEmpty => length == 0; |
| 223 | 223 |
| 224 bool get isNotEmpty => !isEmpty; | 224 bool get isNotEmpty => !isEmpty; |
| 225 | 225 |
| 226 // Helpers. | 226 // Helpers. |
| 227 String _attr(String key) => 'data-$key'; | 227 String _attr(String key) => 'data-$key'; |
| 228 bool _matches(String key) => key.startsWith('data-'); | 228 bool _matches(String key) => key.startsWith('data-'); |
| 229 String _strip(String key) => key.substring(5); | 229 String _strip(String key) => key.substring(5); |
| 230 } | 230 } |
| OLD | NEW |