| Index: polymer_1.0.4/bower_components/google-url-shortener/google-url-shortener.html
|
| diff --git a/polymer_1.0.4/bower_components/google-url-shortener/google-url-shortener.html b/polymer_1.0.4/bower_components/google-url-shortener/google-url-shortener.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..711fa0d1f1ed2b17fbc2fa5b88d1cf4d9e84c2b2
|
| --- /dev/null
|
| +++ b/polymer_1.0.4/bower_components/google-url-shortener/google-url-shortener.html
|
| @@ -0,0 +1,163 @@
|
| +<link rel="import" href="../polymer/polymer.html">
|
| +<link rel="import" href="../google-apis/google-client-loader.html">
|
| +
|
| +<!--
|
| +`google-url-shortener` is a web component that shortens URLs with the
|
| +<a href="https://developers.google.com/url-shortener/">Google URL Shortener API
|
| +</a>.
|
| +
|
| +##### Example
|
| +
|
| + <google-url-shortener id="shortener"></google-url-shortener>
|
| +
|
| + <script>
|
| + var shortener = document.getElementById('shortener');
|
| +
|
| + shortener.addEventListener('google-url-shorten', function(event) {
|
| + console.log(event.detail.shortUrl);
|
| + });
|
| +
|
| + // Shorten the current page URL.
|
| + shortener.longUrl = document.URL;
|
| + shortener.shorten();
|
| + </script>
|
| +
|
| +##### Example using `auto` and binding.
|
| +
|
| + <google-url-shortener id="shortener" longUrl="{{longUrl}}" auto>
|
| + </google-url-shortener>
|
| +
|
| + <script>
|
| + var shortener = document.getElementById('shortener');
|
| +
|
| + shortener.addEventListener('google-url-shorten', function(event) {
|
| + // This will be called automatically every time `longUrl` changes.
|
| + console.log(event.detail.shortUrl);
|
| + });
|
| + </script>
|
| +
|
| +@demo
|
| +-->
|
| +<dom-module id="google-url-shortener">
|
| + <template>
|
| + <google-client-loader id="urlshortener" name="urlshortener" version="v1"
|
| + on-google-api-load="_readyForAction"
|
| + on-google-api-load-error="_apiLoadError">
|
| + </google-api-loader>
|
| + </template>
|
| +</dom-module>
|
| +
|
| +<script>
|
| +
|
| + (function() {
|
| + 'use strict';
|
| +
|
| + // Stores whether the URL Shortener API is done loading.
|
| + var apiLoaded_ = false;
|
| +
|
| + Polymer({
|
| +
|
| + is: 'google-url-shortener',
|
| +
|
| + /**
|
| + * Fired when the component is ready for shortening.
|
| + *
|
| + * @event google-url-shortener-ready
|
| + */
|
| +
|
| + /**
|
| + * Fired when the URL gets successfully shortened.
|
| + *
|
| + * @event google-url-shorten
|
| + */
|
| +
|
| + /**
|
| + * Fired if an attempt to shorten a URL results in an error.
|
| + *
|
| + * @event google-url-shorten-error
|
| + */
|
| +
|
| + properties: {
|
| + /**
|
| + * The URL to be shortened.
|
| + */
|
| + longUrl: {
|
| + type: String,
|
| + value: '',
|
| + observer: '_longUrlChanged'
|
| + },
|
| +
|
| + /**
|
| + * Shortened URL
|
| + */
|
| + shortUrl: {
|
| + type: String,
|
| + value: '',
|
| + notify: true
|
| + },
|
| +
|
| + /**
|
| + * Error when url was shortened
|
| + */
|
| + error: {
|
| + type: String,
|
| + value: '',
|
| + notify: true
|
| + },
|
| + /**
|
| + * If true, automatically performs the shortening request when `longUrl`
|
| + * changes.
|
| + */
|
| + auto: {
|
| + type: Boolean,
|
| + value: false
|
| + }
|
| + },
|
| +
|
| + _readyForAction: function() {
|
| + apiLoaded_ = true;
|
| + this.fire('google-url-shortener-ready');
|
| + },
|
| +
|
| + _apiLoadError: function(event) {
|
| + this.fire('api-error', {
|
| + 'error': {
|
| + 'message': 'Error loading URL Shortener API',
|
| + 'innerError': event.detail
|
| + }
|
| + });
|
| + },
|
| +
|
| + _longUrlChanged: function() {
|
| + if (this.auto) {
|
| + this.shorten();
|
| + }
|
| + },
|
| +
|
| + /**
|
| + * Shortens the URL in `longUrl`. Use if `auto` is not set.
|
| + */
|
| + shorten: function() {
|
| + if (apiLoaded_) {
|
| + if (this.longUrl) {
|
| + var request = this.$.urlshortener.api.url.insert(
|
| + {resource: {longUrl: this.longUrl}});
|
| +
|
| + request.execute(function(response) {
|
| + if (response && response.id) {
|
| + this.shortUrl = response.id;
|
| + this.error = '';
|
| + this.fire('google-url-shorten', {shortUrl: response.id});
|
| + } else {
|
| + this.error = response && response.error ? response.error.message : 'Unknown error';
|
| + this.fire('google-url-shorten-error', {error: this.error});
|
| + }
|
| + }.bind(this));
|
| + }
|
| + }
|
| + }
|
| +
|
| + });
|
| + })();
|
| +
|
| +</script>
|
|
|