Index: third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js |
diff --git a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js |
index c8ae235892acca8bfaf7d288a10d288d9aa32737..d5bec7c74e934acf21579954d79a4f244e776121 100644 |
--- a/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js |
+++ b/third_party/polymer/v1_0/components-chromium/iron-form-element-behavior/iron-form-element-behavior-extracted.js |
@@ -1,14 +1,25 @@ |
- /** |
- |
+ /** |
+ |
@demo demo/index.html |
- @polymerBehavior |
- |
+ @polymerBehavior |
+ |
*/ |
Polymer.IronFormElementBehavior = { |
properties: { |
+ /** |
+ * Fired when the element is added to an `iron-form`. |
+ * |
+ * @event iron-form-element-register |
+ */ |
+ |
+ /** |
+ * Fired when the element is removed from an `iron-form`. |
+ * |
+ * @event iron-form-element-unregister |
+ */ |
/** |
* The name of this element. |
@@ -24,10 +35,25 @@ |
notify: true, |
type: String |
}, |
+ |
+ /** |
+ * The form that the element is registered to. |
+ */ |
+ _parentForm: { |
+ type: Object |
+ } |
}, |
attached: function() { |
+ // Note: the iron-form that this element belongs to will set this |
+ // element's _parentForm property when handling this event. |
this.fire('iron-form-element-register'); |
+ }, |
+ |
+ detached: function() { |
+ if (this._parentForm) { |
+ this._parentForm.fire('iron-form-element-unregister', {target: this}); |
+ } |
} |
}; |