Index: bower_components/core-ajax/core-ajax.html |
diff --git a/bower_components/core-ajax/core-ajax.html b/bower_components/core-ajax/core-ajax.html |
deleted file mode 100644 |
index b74901f67d3cee36442a9e85e0aa7b8669b65863..0000000000000000000000000000000000000000 |
--- a/bower_components/core-ajax/core-ajax.html |
+++ /dev/null |
@@ -1,345 +0,0 @@ |
-<!-- |
-Copyright (c) 2014 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 |
---> |
- |
-<!-- |
-@group Polymer Core Elements |
- |
-The `core-ajax` element exposes `XMLHttpRequest` functionality. |
- |
- <core-ajax |
- auto |
- url="http://gdata.youtube.com/feeds/api/videos/" |
- params='{"alt":"json", "q":"chrome"}' |
- handleAs="json" |
- on-core-response="{{handleResponse}}"></core-ajax> |
- |
-With `auto` set to `true`, the element performs a request whenever |
-its `url` or `params` properties are changed. |
- |
-Note: The `params` attribute must be double quoted JSON. |
- |
-You can trigger a request explicitly by calling `go` on the |
-element. |
- |
-@element core-ajax |
-@status beta |
-@homepage github.io |
---> |
-<link rel="import" href="core-xhr.html"> |
-<polymer-element name="core-ajax" hidden attributes="url handleAs auto params response error method headers body contentType withCredentials"> |
-<script> |
- |
- Polymer('core-ajax', { |
- /** |
- * Fired when a response is received. |
- * |
- * @event core-response |
- */ |
- |
- /** |
- * Fired when an error is received. |
- * |
- * @event core-error |
- */ |
- |
- /** |
- * Fired whenever a response or an error is received. |
- * |
- * @event core-complete |
- */ |
- |
- /** |
- * The URL target of the request. |
- * |
- * @attribute url |
- * @type string |
- * @default '' |
- */ |
- url: '', |
- |
- /** |
- * Specifies what data to store in the `response` property, and |
- * to deliver as `event.response` in `response` events. |
- * |
- * One of: |
- * |
- * `text`: uses `XHR.responseText`. |
- * |
- * `xml`: uses `XHR.responseXML`. |
- * |
- * `json`: uses `XHR.responseText` parsed as JSON. |
- * |
- * `arraybuffer`: uses `XHR.response`. |
- * |
- * `blob`: uses `XHR.response`. |
- * |
- * `document`: uses `XHR.response`. |
- * |
- * @attribute handleAs |
- * @type string |
- * @default 'text' |
- */ |
- handleAs: '', |
- |
- /** |
- * If true, automatically performs an Ajax request when either `url` or `params` changes. |
- * |
- * @attribute auto |
- * @type boolean |
- * @default false |
- */ |
- auto: false, |
- |
- /** |
- * Parameters to send to the specified URL, as JSON. |
- * |
- * @attribute params |
- * @type string (JSON) |
- * @default '' |
- */ |
- params: '', |
- |
- /** |
- * The response for the most recently made request, or null if it hasn't |
- * completed yet or the request resulted in error. |
- * |
- * @attribute response |
- * @type Object |
- * @default null |
- */ |
- response: null, |
- |
- /** |
- * The error for the most recently made request, or null if it hasn't |
- * completed yet or the request resulted in success. |
- * |
- * @attribute error |
- * @type Object |
- * @default null |
- */ |
- error: null, |
- |
- /** |
- * The HTTP method to use such as 'GET', 'POST', 'PUT', or 'DELETE'. |
- * Default is 'GET'. |
- * |
- * @attribute method |
- * @type string |
- * @default '' |
- */ |
- method: '', |
- |
- /** |
- * HTTP request headers to send. |
- * |
- * Example: |
- * |
- * <core-ajax |
- * auto |
- * url="http://somesite.com" |
- * headers='{"X-Requested-With": "XMLHttpRequest"}' |
- * handleAs="json" |
- * on-core-response="{{handleResponse}}"></core-ajax> |
- * |
- * @attribute headers |
- * @type Object |
- * @default null |
- */ |
- headers: null, |
- |
- /** |
- * Optional raw body content to send when method === "POST". |
- * |
- * Example: |
- * |
- * <core-ajax method="POST" auto url="http://somesite.com" |
- * body='{"foo":1, "bar":2}'> |
- * </core-ajax> |
- * |
- * @attribute body |
- * @type Object |
- * @default null |
- */ |
- body: null, |
- |
- /** |
- * Content type to use when sending data. |
- * |
- * @attribute contentType |
- * @type string |
- * @default 'application/x-www-form-urlencoded' |
- */ |
- contentType: 'application/x-www-form-urlencoded', |
- |
- /** |
- * Set the withCredentials flag on the request. |
- * |
- * @attribute withCredentials |
- * @type boolean |
- * @default false |
- */ |
- withCredentials: false, |
- |
- /** |
- * Additional properties to send to core-xhr. |
- * |
- * Can be set to an object containing default properties |
- * to send as arguments to the `core-xhr.request()` method |
- * which implements the low-level communication. |
- * |
- * @property xhrArgs |
- * @type Object |
- * @default null |
- */ |
- xhrArgs: null, |
- |
- ready: function() { |
- this.xhr = document.createElement('core-xhr'); |
- }, |
- |
- receive: function(response, xhr) { |
- if (this.isSuccess(xhr)) { |
- this.processResponse(xhr); |
- } else { |
- this.processError(xhr); |
- } |
- this.complete(xhr); |
- }, |
- |
- isSuccess: function(xhr) { |
- var status = xhr.status || 0; |
- return !status || (status >= 200 && status < 300); |
- }, |
- |
- processResponse: function(xhr) { |
- var response = this.evalResponse(xhr); |
- if (xhr === this.activeRequest) { |
- this.response = response; |
- } |
- this.fire('core-response', {response: response, xhr: xhr}); |
- }, |
- |
- processError: function(xhr) { |
- var response = xhr.status + ': ' + xhr.responseText; |
- if (xhr === this.activeRequest) { |
- this.error = response; |
- } |
- this.fire('core-error', {response: response, xhr: xhr}); |
- }, |
- |
- complete: function(xhr) { |
- this.fire('core-complete', {response: xhr.status, xhr: xhr}); |
- }, |
- |
- evalResponse: function(xhr) { |
- return this[(this.handleAs || 'text') + 'Handler'](xhr); |
- }, |
- |
- xmlHandler: function(xhr) { |
- return xhr.responseXML; |
- }, |
- |
- textHandler: function(xhr) { |
- return xhr.responseText; |
- }, |
- |
- jsonHandler: function(xhr) { |
- var r = xhr.responseText; |
- try { |
- return JSON.parse(r); |
- } catch (x) { |
- console.warn('core-ajax caught an exception trying to parse response as JSON:'); |
- console.warn('url:', this.url); |
- console.warn(x); |
- return r; |
- } |
- }, |
- |
- documentHandler: function(xhr) { |
- return xhr.response; |
- }, |
- |
- blobHandler: function(xhr) { |
- return xhr.response; |
- }, |
- |
- arraybufferHandler: function(xhr) { |
- return xhr.response; |
- }, |
- |
- urlChanged: function() { |
- if (!this.handleAs) { |
- var ext = String(this.url).split('.').pop(); |
- switch (ext) { |
- case 'json': |
- this.handleAs = 'json'; |
- break; |
- } |
- } |
- this.autoGo(); |
- }, |
- |
- paramsChanged: function() { |
- this.autoGo(); |
- }, |
- |
- autoChanged: function() { |
- this.autoGo(); |
- }, |
- |
- // TODO(sorvell): multiple side-effects could call autoGo |
- // during one micro-task, use a job to have only one action |
- // occur |
- autoGo: function() { |
- if (this.auto) { |
- this.goJob = this.job(this.goJob, this.go, 0); |
- } |
- }, |
- |
- /** |
- * Performs an Ajax request to the specified URL. |
- * |
- * @method go |
- */ |
- go: function() { |
- var args = this.xhrArgs || {}; |
- // TODO(sjmiles): we may want XHR to default to POST if body is set |
- args.body = this.body || args.body; |
- args.params = this.params || args.params; |
- if (args.params && typeof(args.params) == 'string') { |
- args.params = JSON.parse(args.params); |
- } |
- args.headers = this.headers || args.headers || {}; |
- if (args.headers && typeof(args.headers) == 'string') { |
- args.headers = JSON.parse(args.headers); |
- } |
- var hasContentType = Object.keys(args.headers).some(function (header) { |
- return header.toLowerCase() === 'content-type'; |
- }); |
- if (!hasContentType && this.contentType) { |
- args.headers['Content-Type'] = this.contentType; |
- } |
- if (this.handleAs === 'arraybuffer' || this.handleAs === 'blob' || |
- this.handleAs === 'document') { |
- args.responseType = this.handleAs; |
- } |
- args.withCredentials = this.withCredentials; |
- args.callback = this.receive.bind(this); |
- args.url = this.url; |
- args.method = this.method; |
- |
- this.response = this.error = null; |
- this.activeRequest = args.url && this.xhr.request(args); |
- return this.activeRequest; |
- } |
- |
- }); |
- |
-</script> |
-</polymer-element> |