Index: third_party/polymer/v0_8/components/iron-form/iron-form.html |
diff --git a/third_party/polymer/v0_8/components/iron-form/iron-form.html b/third_party/polymer/v0_8/components/iron-form/iron-form.html |
deleted file mode 100644 |
index 44b77ae86f73fb504835097109ca1e9871f4c9d2..0000000000000000000000000000000000000000 |
--- a/third_party/polymer/v0_8/components/iron-form/iron-form.html |
+++ /dev/null |
@@ -1,191 +0,0 @@ |
-<!-- |
-@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"> |
-<link rel="import" href="../iron-ajax/iron-ajax.html"> |
- |
-<script> |
-/* |
-``<iron-form>` is an HTML `<form>` element that can validate and submit any custom |
-elements that implement `Polymer.IronFormElementBehavior`, as well as any |
-native HTML elements. |
- |
-It supports both `get` and `post` methods, and uses an `iron-ajax` element to |
-submit the form data to the action URL. |
- |
- Example: |
- |
- <form is="iron-form" id="form" method="post" action="/form/handler"> |
- <paper-input name="name" label="name"></paper-input> |
- <input name="address"> |
- ... |
- </form> |
- |
-By default, a native `<button>` element will submit this form. However, if you |
-want to submit it from a custom element's click handler, you need to explicitly |
-call the form's `submit` method. |
- |
- Example: |
- |
- <paper-button raised onclick="submitForm()">Submit</paper-button> |
- |
- function submitForm() { |
- document.getElementById('form').submit(); |
- } |
- |
-@demo demo/index.html |
-*/ |
- |
- Polymer({ |
- |
- is: 'iron-form', |
- |
- extends: 'form', |
- |
- /** |
- * Fired after the form is submitted. |
- * |
- * @event iron-form-submit |
- */ |
- |
- /** |
- * Fired after the form is submitted and a response is received. |
- * |
- * @event iron-form-response |
- */ |
- |
- /** |
- * Fired after the form is submitted and an error is received. |
- * |
- * @event iron-form-error |
- */ |
- |
- listeners: { |
- 'iron-form-element-register': '_registerElement', |
- 'submit': 'submit' |
- }, |
- |
- ready: function() { |
- // Object that handles the ajax form submission request. |
- this._requestBot = document.createElement('iron-ajax'); |
- this._requestBot.addEventListener('response', this._handleFormResponse.bind(this)); |
- this._requestBot.addEventListener('error', this._handleFormError.bind(this)); |
- |
- // Holds all the custom elements registered with this form. |
- this._customElements = []; |
- }, |
- |
- /** |
- * Called to submit the form. |
- */ |
- submit: function(event) { |
- if (!this._validate()) { |
- return false; |
- } |
- |
- var json = this.serialize(); |
- |
- this._requestBot.url = this.action; |
- this._requestBot.method = this.method; |
- this._requestBot.params = json; |
- |
- if (this.method == 'POST') { |
- this._requestBot.body = JSON.stringify(json); |
- } |
- |
- this._requestBot.generateRequest(); |
- this.fire('iron-form-submit', json); |
- |
- // Don't perform a page refresh. |
- if (event) { |
- event.preventDefault(); |
- } |
- |
- return false; |
- }, |
- |
- /** |
- * Returns a json object containing name/value pairs for all the registered |
- * custom components and native elements of the form. If there are elements |
- * with duplicate names, then their values will get aggregated into an |
- * array of values. |
- */ |
- serialize: function() { |
- var json = {}; |
- |
- function addSerializedElement(el) { |
- // If the name doesn't exist, add it. Otherwise, serialize it to |
- // an array, |
- if (!json[el.name]) { |
- json[el.name] = el.value; |
- } else { |
- if (!Array.isArray(json[el.name])) { |
- json[el.name] = [json[el.name]]; |
- } |
- json[el.name].push(el.value); |
- } |
- } |
- |
- // Go through all of the registered custom components. |
- for (var el, i = 0; el = this._customElements[i], i < this._customElements.length; i++) { |
- if (el.name) { |
- addSerializedElement(el); |
- } |
- } |
- |
- // Also go through the form's native elements. |
- for (var el, i = 0; el = this.elements[i], i < this.elements.length; i++) { |
- // Checkboxes and radio buttons should only use their value if they're checked. |
- // Also, custom elements that extend native elements (like an |
- // `<input is="fancy-input">`) will appear in both lists. Since they |
- // were already added as a custom element, they don't need |
- // to be re-added. |
- if (!el.name || !this._useValue(el) || |
- (el.hasAttribute('is') && json[el.name])) { |
- continue; |
- } |
- addSerializedElement(el); |
- } |
- |
- return json; |
- }, |
- |
- _handleFormResponse: function (event) { |
- this.fire('iron-form-response', event.detail.response); |
- }, |
- |
- _handleFormError: function (event) { |
- this.fire('iron-form-error', event.detail); |
- }, |
- |
- _registerElement: function(e) { |
- this._customElements.push(e.target); |
- }, |
- |
- _validate: function() { |
- var valid = true; |
- for (var el, i = 0; el = this._customElements[i], i < this._customElements.length; i++) { |
- valid = el.validate() && valid; |
- } |
- return valid; |
- }, |
- |
- _useValue: function(el) { |
- // Checkboxes and radio buttons should only use their value if they're checked. |
- if (el.type !== 'checkbox' && el.type !== 'radio') { |
- return true; |
- } else { |
- return el.checked; |
- } |
- } |
- |
- }); |
- |
-</script> |