Index: third_party/polymer/v0_8/components/iron-input/iron-input.html |
diff --git a/third_party/polymer/v0_8/components/iron-input/iron-input.html b/third_party/polymer/v0_8/components/iron-input/iron-input.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..78397679f1522e2583fa9f6a162ceeb38e50f1d9 |
--- /dev/null |
+++ b/third_party/polymer/v0_8/components/iron-input/iron-input.html |
@@ -0,0 +1,63 @@ |
+<!-- |
+@license |
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved. |
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt |
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt |
+Code distributed by Google as part of the polymer project is also |
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt |
+--> |
+ |
+<link rel="import" href="../polymer/polymer.html"> |
+ |
+<!-- |
+By default you can only get notified of changes to an `input`'s `value` due to user input: |
+ |
+ <input value="{{myValue::input}}"> |
+ |
+`iron-input` adds the `bind-value` property that mirrors the `value` property, and can be used |
+for two-way data binding. `bind-value` will notify if it is changed either by user input or by script. |
+ |
+ <input is="iron-input" bind-value="{{myValue}}"> |
+ |
+--> |
+<script> |
+ |
+ Polymer({ |
+ |
+ is: 'iron-input', |
+ |
+ extends: 'input', |
+ |
+ properties: { |
+ |
+ /** |
+ * Use this property instead of `value` for two-way data binding. |
+ */ |
+ bindValue: { |
+ observer: '_bindValueChanged', |
+ type: String |
+ } |
+ |
+ }, |
+ |
+ listeners: { |
+ 'input': '_onInput' |
+ }, |
+ |
+ attached: function() { |
+ this.bindValue = this.value; |
+ }, |
+ |
+ _bindValueChanged: function() { |
+ this.value = this.bindValue; |
+ // manually notify because we don't want to notify until after setting value |
+ this.fire('bind-value-changed', {value: this.bindValue}); |
+ }, |
+ |
+ _onInput: function(event) { |
+ this.bindValue = event.target.value; |
+ } |
+ |
+ }) |
+</script> |