OLD | NEW |
1 <!-- | 1 <!-- |
2 @license | 2 @license |
3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved. | 3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved. |
4 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt | 4 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt |
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt | 5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |
6 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt | 6 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt |
7 Code distributed by Google as part of the polymer project is also | 7 Code distributed by Google as part of the polymer project is also |
8 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt | 8 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt |
9 --> | 9 --> |
10 <link rel="import" href="../../polymer/polymer.html"> | 10 <link rel="import" href="../../polymer/polymer.html"> |
11 | 11 |
12 <script> | 12 <script> |
13 | 13 |
14 Polymer({ | 14 Polymer({ |
15 | 15 |
16 is: 'simple-form', | 16 is: 'simple-form', |
17 | 17 |
18 extends: 'form', | 18 extends: 'form', |
19 | 19 |
20 properties: { | 20 properties: { |
21 formElements: { | 21 formElements: { |
22 type: Object, | 22 type: Object, |
23 notify: true | 23 notify: true |
24 } | 24 } |
25 }, | 25 }, |
26 | 26 |
27 listeners: { | 27 listeners: { |
28 'iron-form-element-register': '_elementRegistered' | 28 'iron-form-element-register': '_elementRegistered', |
| 29 'iron-form-element-unregister': '_elementUnregistered' |
29 }, | 30 }, |
30 | 31 |
31 ready: function() { | 32 ready: function() { |
32 this.formElements = []; | 33 this.formElements = []; |
33 }, | 34 }, |
34 | 35 |
35 _elementRegistered: function(e) { | 36 _elementRegistered: function(e) { |
36 this.formElements.push(e.target); | 37 this.formElements.push(e.target); |
37 this.fire('element-registered'); | 38 e.target._parentForm = this; |
| 39 }, |
| 40 |
| 41 _elementUnregistered: function(e) { |
| 42 var target = e.detail.target; |
| 43 if (target) { |
| 44 var index = this.formElements.indexOf(target); |
| 45 if (index > -1) { |
| 46 this.formElements.splice(index, 1); |
| 47 } |
| 48 } |
38 } | 49 } |
39 | 50 |
40 }); | 51 }); |
41 | 52 |
42 </script> | 53 </script> |
OLD | NEW |