From 2f5d602118a7be62b87b86643aefb1b85baa28fc Mon Sep 17 00:00:00 2001 From: Michael Bleigh Date: Fri, 6 Oct 2017 17:07:12 -0700 Subject: [PATCH 01/23] Initial import of Cloud Firestore work. --- README.md | 48 +- analysis.json | 12045 +++++++++++++++++++++++++++++ bower.json | 8 +- demo/firestore-element-demo.html | 27 + demo/firestore.html | 26 + firestore-element.html | 211 + polymerfire.html | 1 + 7 files changed, 12352 insertions(+), 14 deletions(-) create mode 100644 analysis.json create mode 100644 demo/firestore-element-demo.html create mode 100644 demo/firestore.html create mode 100644 firestore-element.html diff --git a/README.md b/README.md index b50fd57..5a193d2 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,20 @@ thing! https://github.com/PolymerLabs/tedium/issues ## <firebase-app> The firebase-app element is used for initializing and configuring your -connection to firebase. +connection to firebase. It is only necessary to include this element once +in your application, and it equivalent to calling `firebase.initializeApp()` +in the JavaScript SDK. +```html + + +``` ## <firebase-auth> @@ -30,13 +42,6 @@ workflows. Example Usage: ```html - - ``` @@ -58,8 +63,6 @@ This popup sign-in will then attempt to sign in using Google as an OAuth provider since there was no provider argument specified and since `"google"` was defined as the default provider. - - ## <firebase-document> The firebase-document element is an easy way to interact with a firebase @@ -83,8 +86,6 @@ and stored. Set this configuration by adding a `` element anywhere in your app. - - ## <firebase-query> `firebase-query` combines the given properties into query options that generate @@ -122,4 +123,27 @@ Polymer({ ``` +## Polymer.FirestoreElement +A class mixin that provides Cloud Firestore bindings to your Polymer elements. +Import `firestore-element.html` to make the mixin available. + +Example usage: + +```js +class MyElement extends Polymer.FirestoreElement(Polymer.Element) { + // ... + static get properties() { + return { + user: { + type: Object, + doc: 'users/{uid}' + }, + messages: { + type: Array, + collection: 'users/{uid}/messages' + } + } + } +} +``` \ No newline at end of file diff --git a/analysis.json b/analysis.json new file mode 100644 index 0000000..8158652 --- /dev/null +++ b/analysis.json @@ -0,0 +1,12045 @@ +{ + "schema_version": "1.0.0", + "elements": [ + { + "description": "The firebase-app element is used for initializing and configuring your\nconnection to firebase. It is permanently initialized once attached and\nshould not be dynamically bound.", + "summary": "", + "path": "firebase-app.html", + "properties": [ + { + "name": "name", + "type": "string", + "description": "The name of your app. Optional.\n\nYou can use this with the `appName` property of other Polymerfire elements\nin order to use multiple firebase configurations on a page at once.\nIn that case the name is used as a key to lookup the configuration.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 38, + "column": 10 + }, + "end": { + "line": 41, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "\"\"" + }, + { + "name": "apiKey", + "type": "string", + "description": "Your API key.\n\nGet this from the Auth > Web Setup panel of the new\nFirebase Console at https://console.firebase.google.com\n\nIt looks like this: 'AIzaSyDTP-eiQezleFsV2WddFBAhF_WEzx_8v_g'", + "privacy": "public", + "sourceRange": { + "start": { + "line": 51, + "column": 10 + }, + "end": { + "line": 53, + "column": 11 + } + }, + "metadata": { + "polymer": {} + } + }, + { + "name": "authDomain", + "type": "string", + "description": "The domain name to authenticate with.\n\nThe same as your Firebase Hosting subdomain or custom domain.\nAvailable on the Firebase Console.\n\nFor example: 'polymerfire-test.firebaseapp.com'", + "privacy": "public", + "sourceRange": { + "start": { + "line": 63, + "column": 10 + }, + "end": { + "line": 65, + "column": 11 + } + }, + "metadata": { + "polymer": {} + } + }, + { + "name": "databaseUrl", + "type": "string", + "description": "The URL of your Firebase Realtime Database. You can find this\nURL in the Database panel of the Firebase Console.\nAvailable on the Firebase Console.\n\nFor example: 'https://polymerfire-test.firebaseio.com/'", + "privacy": "public", + "sourceRange": { + "start": { + "line": 74, + "column": 10 + }, + "end": { + "line": 76, + "column": 11 + } + }, + "metadata": { + "polymer": {} + } + }, + { + "name": "storageBucket", + "type": "string", + "description": "The Firebase Storage bucket for your project. You can find this\nin the Firebase Console under \"Web Setup\".\n\nFor example: `polymerfire-test.appspot.com`", + "privacy": "public", + "sourceRange": { + "start": { + "line": 84, + "column": 10 + }, + "end": { + "line": 87, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "null" + }, + { + "name": "messagingSenderId", + "type": "string", + "description": "The Firebase Cloud Messaging Sender ID for your project. You can find\nthis in the Firebase Console under \"Web Setup\".", + "privacy": "public", + "sourceRange": { + "start": { + "line": 93, + "column": 10 + }, + "end": { + "line": 96, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "null" + }, + { + "name": "projectId", + "type": "string", + "description": "The Google Cloud Project ID for your project. You can find this\nin the Firebase Console under \"Web Setup\".\n\nFor example: `polymerfire-test`", + "privacy": "public", + "sourceRange": { + "start": { + "line": 104, + "column": 10 + }, + "end": { + "line": 107, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "null" + }, + { + "name": "app", + "type": "firebase.app.App", + "description": "The Firebase app object constructed from the other fields of\nthis element.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 114, + "column": 10 + }, + "end": { + "line": 118, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + } + } + ], + "methods": [ + { + "name": "__computeApp", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 121, + "column": 8 + }, + "end": { + "line": 143, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "name" + }, + { + "name": "apiKey" + }, + { + "name": "authDomain" + }, + { + "name": "databaseUrl" + }, + { + "name": "storageBucket" + }, + { + "name": "messagingSenderId" + }, + { + "name": "projectId" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 27, + "column": 14 + }, + "end": { + "line": 144, + "column": 7 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "name", + "description": "The name of your app. Optional.\n\nYou can use this with the `appName` property of other Polymerfire elements\nin order to use multiple firebase configurations on a page at once.\nIn that case the name is used as a key to lookup the configuration.", + "sourceRange": { + "start": { + "line": 38, + "column": 10 + }, + "end": { + "line": 41, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "api-key", + "description": "Your API key.\n\nGet this from the Auth > Web Setup panel of the new\nFirebase Console at https://console.firebase.google.com\n\nIt looks like this: 'AIzaSyDTP-eiQezleFsV2WddFBAhF_WEzx_8v_g'", + "sourceRange": { + "start": { + "line": 51, + "column": 10 + }, + "end": { + "line": 53, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "auth-domain", + "description": "The domain name to authenticate with.\n\nThe same as your Firebase Hosting subdomain or custom domain.\nAvailable on the Firebase Console.\n\nFor example: 'polymerfire-test.firebaseapp.com'", + "sourceRange": { + "start": { + "line": 63, + "column": 10 + }, + "end": { + "line": 65, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "database-url", + "description": "The URL of your Firebase Realtime Database. You can find this\nURL in the Database panel of the Firebase Console.\nAvailable on the Firebase Console.\n\nFor example: 'https://polymerfire-test.firebaseio.com/'", + "sourceRange": { + "start": { + "line": 74, + "column": 10 + }, + "end": { + "line": 76, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "storage-bucket", + "description": "The Firebase Storage bucket for your project. You can find this\nin the Firebase Console under \"Web Setup\".\n\nFor example: `polymerfire-test.appspot.com`", + "sourceRange": { + "start": { + "line": 84, + "column": 10 + }, + "end": { + "line": 87, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "messaging-sender-id", + "description": "The Firebase Cloud Messaging Sender ID for your project. You can find\nthis in the Firebase Console under \"Web Setup\".", + "sourceRange": { + "start": { + "line": 93, + "column": 10 + }, + "end": { + "line": 96, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "project-id", + "description": "The Google Cloud Project ID for your project. You can find this\nin the Firebase Console under \"Web Setup\".\n\nFor example: `polymerfire-test`", + "sourceRange": { + "start": { + "line": 104, + "column": 10 + }, + "end": { + "line": 107, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "app", + "description": "The Firebase app object constructed from the other fields of\nthis element.", + "sourceRange": { + "start": { + "line": 114, + "column": 10 + }, + "end": { + "line": 118, + "column": 11 + } + }, + "metadata": {}, + "type": "firebase.app.App" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-app" + }, + { + "description": "`firebase-auth` is a wrapper around the Firebase authentication API. It notifies\nsuccessful authentication, provides user information, and handles different\ntypes of authentication including anonymous, email / password, and several OAuth\nworkflows.\n\nExample Usage:\n```html\n\n\n\n\n```\n\nThe `firebase-app` element initializes `app` in `firebase-auth` (see\n`firebase-app` documentation for more information), but an app name can simply\nbe specified at `firebase-auth`'s `app-name` property instead.\n\nJavaScript sign-in calls can then be made to the `firebase-auth` object to\nattempt authentication, e.g.:\n\n```javascript\nthis.$.auth.signInWithPopup()\n .then(function(response) {// optionally handle a successful login})\n .catch(function(error) {// unsuccessful authentication response here});\n```\n\nThis popup sign-in will then attempt to sign in using Google as an OAuth\nprovider since there was no provider argument specified and since `\"google\"` was\ndefined as the default provider.\n\nThe `user` property will automatically be populated if an active session is\navailable, so handling the resolved promise of sign-in methods is optional.\n\nIt's important to note that if you're using a Service Worker, and hosting on\nFirebase, you should let urls that contain `/__/` go through to the network,\nrather than have the Service Worker attempt to serve something from the cache.\nThe `__` namespace is reserved by Firebase and intercepting it will cause the\nOAuth sign-in flow to break.\n\nIf you are self-deploying your app to some non-Firebase domain, this shouldn't\nbe a problem.", + "summary": "", + "path": "firebase-auth.html", + "properties": [ + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "auth", + "type": "Object", + "description": "[`firebase.Auth`](https://firebase.google.com/docs/reference/js/firebase.auth.Auth) service interface.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 74, + "column": 10 + }, + "end": { + "line": 78, + "column": 11 + } + }, + "metadata": { + "polymer": { + "observer": "\"__authChanged\"", + "readOnly": true + } + } + }, + { + "name": "provider", + "type": "string", + "description": "Default auth provider OAuth flow to use when attempting provider\nsign in. This property can remain undefined when attempting to sign\nin anonymously, using email and password, or when specifying a\nprovider in the provider sign-in function calls (i.e.\n`signInWithPopup` and `signInWithRedirect`).\n\nCurrent accepted providers are:\n\n```\n'facebook'\n'github'\n'google'\n'twitter'\n```", + "privacy": "public", + "sourceRange": { + "start": { + "line": 96, + "column": 10 + }, + "end": { + "line": 99, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "signedIn", + "type": "boolean", + "description": "True if the client is authenticated, and false if the client is not\nauthenticated.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 105, + "column": 10 + }, + "end": { + "line": 109, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + } + }, + { + "name": "user", + "type": "Object", + "description": "The currently-authenticated user with user-related metadata. See\nthe [`firebase.User`](https://firebase.google.com/docs/reference/js/firebase.User)\ndocumentation for the spec.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 116, + "column": 10 + }, + "end": { + "line": 121, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "defaultValue": "null" + }, + { + "name": "statusKnown", + "type": "boolean", + "description": "When true, login status can be determined by checking `user` property.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 126, + "column": 10 + }, + "end": { + "line": 132, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "defaultValue": "false" + } + ], + "methods": [ + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "signInAnonymously", + "description": "Authenticates a Firebase client using a new, temporary guest account.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 141, + "column": 8 + }, + "end": { + "line": 147, + "column": 9 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "signInWithCustomToken", + "description": "Authenticates a Firebase client using a custom JSON Web Token.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 154, + "column": 8 + }, + "end": { + "line": 159, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "token" + } + ], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "signInWithCredential", + "description": "Authenticates a Firebase client using an oauth id_token.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 166, + "column": 8 + }, + "end": { + "line": 171, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "credential" + } + ], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "signInWithPopup", + "description": "Authenticates a Firebase client using a popup-based OAuth flow.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 182, + "column": 8 + }, + "end": { + "line": 184, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "provider", + "type": "?String", + "description": "Provider OAuth flow to follow. If no\nprovider is specified, it will default to the element's `provider`\nproperty's OAuth flow (See the `provider` property's documentation\nfor supported providers)." + } + ], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "signInWithRedirect", + "description": "Authenticates a firebase client using a redirect-based OAuth flow.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 198, + "column": 8 + }, + "end": { + "line": 200, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "provider", + "type": "?String", + "description": "Provider OAuth flow to follow. If no\nprovider is specified, it will default to the element's `provider`\nproperty's OAuth flow (See the `provider` property's documentation\nfor supported providers)." + } + ], + "return": { + "type": "Promise", + "desc": "Promise that handles failure. (NOTE: The Promise\nwill not get resolved on success due to the inherent page redirect\nof the auth flow, but it can be used to handle errors that happen\nbefore the redirect)." + } + }, + { + "name": "signInWithEmailAndPassword", + "description": "Authenticates a Firebase client using an email / password combination.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 209, + "column": 8 + }, + "end": { + "line": 211, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "email", + "type": "!String", + "description": "Email address corresponding to the user account." + }, + { + "name": "password", + "type": "!String", + "description": "Password corresponding to the user account." + } + ], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "createUserWithEmailAndPassword", + "description": "Creates a new user account using an email / password combination.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 220, + "column": 8 + }, + "end": { + "line": 222, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "email", + "type": "!String", + "description": "Email address corresponding to the user account." + }, + { + "name": "password", + "type": "!String", + "description": "Password corresponding to the user account." + } + ], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "sendPasswordResetEmail", + "description": "Sends a password reset email to the given email address.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 230, + "column": 8 + }, + "end": { + "line": 232, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "email", + "type": "!String", + "description": "Email address corresponding to the user account." + } + ], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "signOut", + "description": "Unauthenticates a Firebase client.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 239, + "column": 8 + }, + "end": { + "line": 245, + "column": 9 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "Promise that handles success and failure." + } + }, + { + "name": "_attemptProviderSignIn", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 247, + "column": 8 + }, + "end": { + "line": 257, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "provider" + }, + { + "name": "method" + } + ] + }, + { + "name": "_providerFromName", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 259, + "column": 8 + }, + "end": { + "line": 267, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "name" + } + ] + }, + { + "name": "_normalizeProvider", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 269, + "column": 8 + }, + "end": { + "line": 274, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "provider" + } + ] + }, + { + "name": "_handleSignIn", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 276, + "column": 8 + }, + "end": { + "line": 281, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "promise" + } + ] + }, + { + "name": "_computeSignedIn", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 283, + "column": 8 + }, + "end": { + "line": 285, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "user" + } + ] + }, + { + "name": "_computeAuth", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 287, + "column": 8 + }, + "end": { + "line": 289, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ] + }, + { + "name": "__authChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 291, + "column": 8 + }, + "end": { + "line": 306, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "auth" + }, + { + "name": "oldAuth" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 62, + "column": 14 + }, + "end": { + "line": 307, + "column": 7 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "auth", + "description": "[`firebase.Auth`](https://firebase.google.com/docs/reference/js/firebase.auth.Auth) service interface.", + "sourceRange": { + "start": { + "line": 74, + "column": 10 + }, + "end": { + "line": 78, + "column": 11 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "provider", + "description": "Default auth provider OAuth flow to use when attempting provider\nsign in. This property can remain undefined when attempting to sign\nin anonymously, using email and password, or when specifying a\nprovider in the provider sign-in function calls (i.e.\n`signInWithPopup` and `signInWithRedirect`).\n\nCurrent accepted providers are:\n\n```\n'facebook'\n'github'\n'google'\n'twitter'\n```", + "sourceRange": { + "start": { + "line": 96, + "column": 10 + }, + "end": { + "line": 99, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "signed-in", + "description": "True if the client is authenticated, and false if the client is not\nauthenticated.", + "sourceRange": { + "start": { + "line": 105, + "column": 10 + }, + "end": { + "line": 109, + "column": 11 + } + }, + "metadata": {}, + "type": "boolean" + }, + { + "name": "user", + "description": "The currently-authenticated user with user-related metadata. See\nthe [`firebase.User`](https://firebase.google.com/docs/reference/js/firebase.User)\ndocumentation for the spec.", + "sourceRange": { + "start": { + "line": 116, + "column": 10 + }, + "end": { + "line": 121, + "column": 11 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "status-known", + "description": "When true, login status can be determined by checking `user` property.", + "sourceRange": { + "start": { + "line": 126, + "column": 10 + }, + "end": { + "line": 132, + "column": 11 + } + }, + "metadata": {}, + "type": "boolean" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "provider-changed", + "description": "Fired when the `provider` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "signed-in-changed", + "description": "Fired when the `signedIn` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "user-changed", + "description": "Fired when the `user` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "status-known-changed", + "description": "Fired when the `statusKnown` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-auth" + }, + { + "description": "`firebase-messaging` is a wrapper around the Firebase Cloud Messaging API. It\nallows you to receive Web Push messages in your application, including when\nyour site isn't in an open tab.\n\nExample Usage:\n```html\n\n\n```\n\nBefore you can start receiving push messages, you'll need to request permission\nto use notifications:\n\n```js\nthis.$.messaging.requestPermission().then(function() {\n // permission was granted\n}, function(err) {\n // permission was denied\n});\n```\n\nYou'll also need to persist your token somewhere that a server can access it so\nyou can actually send push messsages:\n\n```html\n\n\n```\n\nYou'll also need a [Web App Manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest)\nfor your site. It must contain the following:\n\n```json\n{\n \"gcm_sender_id\": \"103953800507\"\n}\n```\n\n*Note:** You must use the **exact line specified above**. Do *not* change the sender\nid to your project's individual sender id.\n\nFinally, Firebase Cloud Messaging requires a service worker to handle push messages.\nThe easiest way is using a service worker called `firebase-messaging-sw.js` in your\napp's root directory. See [the FCM docs](https://firebase.google.com/docs/cloud-messaging/js/receive#handle_messages_when_your_web_app_is_in_the_foreground)\nfor more information.\n\nTo use a different service worker than the default, you will need to add the\n`custom-sw` attribute to your `` element, and then explicitly\ncall `.activate()` on the element once you've", + "summary": "", + "path": "firebase-messaging.html", + "properties": [ + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "token", + "type": "(string|null)", + "description": "The current registration token for this session. Save this\nsomewhere server-accessible so that you can target push messages\nto this device.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 141, + "column": 10 + }, + "end": { + "line": 146, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "defaultValue": "null" + }, + { + "name": "active", + "type": "boolean", + "description": "True when Firebase Cloud Messaging is successfully\nregistered and actively listening for messages.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 151, + "column": 10 + }, + "end": { + "line": 155, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + } + }, + { + "name": "statusKnown", + "type": "boolean", + "description": "True after an attempt has been made to fetch a push\nregistration token, regardless of whether one was available.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 160, + "column": 10 + }, + "end": { + "line": 165, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "defaultValue": "false" + }, + { + "name": "lastMessage", + "type": "Object", + "description": "The most recent push message received. Generally in the format:\n\n {\n \"from\": \"\",\n \"category\": \"\",\n \"collapse_key\": \"do_not_collapse\",\n \"data\": {\n \"...\": \"...\"\n },\n \"notification\": {\n \"...\": \"...\"\n }\n }", + "privacy": "public", + "sourceRange": { + "start": { + "line": 181, + "column": 10 + }, + "end": { + "line": 186, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "defaultValue": "null" + }, + { + "name": "customSw", + "type": "boolean", + "description": "When true, Firebase Messaging will not initialize until `activate()`\nis called explicitly. This allows for custom service worker registration.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 191, + "column": 10 + }, + "end": { + "line": 194, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false" + }, + { + "name": "pushSupported", + "type": "boolean", + "description": "True if the Push API is supported in the user's browser.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 198, + "column": 10 + }, + "end": { + "line": 205, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + } + } + ], + "methods": [ + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "requestPermission", + "description": "Requests Notifications permission and returns a `Promise` that\nresolves if it is granted. Resolves immediately if already granted.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 216, + "column": 8 + }, + "end": { + "line": 224, + "column": 9 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "activate", + "description": "When the `custom-sw` is added to `firebase-messaging`, this method\nmust be called after initialization to start listening for push\nmessages.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 233, + "column": 8 + }, + "end": { + "line": 250, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "swreg", + "type": "ServiceWorkerRegistration=", + "description": "the custom service worker registration with which to activate" + } + ] + }, + { + "name": "_computeActive", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 252, + "column": 8 + }, + "end": { + "line": 254, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "statusKnown" + }, + { + "name": "token" + } + ] + }, + { + "name": "_bootstrapApp", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 256, + "column": 8 + }, + "end": { + "line": 260, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + }, + { + "name": "customSw" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 127, + "column": 14 + }, + "end": { + "line": 261, + "column": 7 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "token", + "description": "The current registration token for this session. Save this\nsomewhere server-accessible so that you can target push messages\nto this device.", + "sourceRange": { + "start": { + "line": 141, + "column": 10 + }, + "end": { + "line": 146, + "column": 11 + } + }, + "metadata": {}, + "type": "(string|null)" + }, + { + "name": "active", + "description": "True when Firebase Cloud Messaging is successfully\nregistered and actively listening for messages.", + "sourceRange": { + "start": { + "line": 151, + "column": 10 + }, + "end": { + "line": 155, + "column": 11 + } + }, + "metadata": {}, + "type": "boolean" + }, + { + "name": "status-known", + "description": "True after an attempt has been made to fetch a push\nregistration token, regardless of whether one was available.", + "sourceRange": { + "start": { + "line": 160, + "column": 10 + }, + "end": { + "line": 165, + "column": 11 + } + }, + "metadata": {}, + "type": "boolean" + }, + { + "name": "last-message", + "description": "The most recent push message received. Generally in the format:\n\n {\n \"from\": \"\",\n \"category\": \"\",\n \"collapse_key\": \"do_not_collapse\",\n \"data\": {\n \"...\": \"...\"\n },\n \"notification\": {\n \"...\": \"...\"\n }\n }", + "sourceRange": { + "start": { + "line": 181, + "column": 10 + }, + "end": { + "line": 186, + "column": 11 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "custom-sw", + "description": "When true, Firebase Messaging will not initialize until `activate()`\nis called explicitly. This allows for custom service worker registration.", + "sourceRange": { + "start": { + "line": 191, + "column": 10 + }, + "end": { + "line": 194, + "column": 11 + } + }, + "metadata": {}, + "type": "boolean" + }, + { + "name": "push-supported", + "description": "True if the Push API is supported in the user's browser.", + "sourceRange": { + "start": { + "line": 198, + "column": 10 + }, + "end": { + "line": 205, + "column": 11 + } + }, + "metadata": {}, + "type": "boolean" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "token-changed", + "description": "Fired when the `token` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "active-changed", + "description": "Fired when the `active` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "status-known-changed", + "description": "Fired when the `statusKnown` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "last-message-changed", + "description": "Fired when the `lastMessage` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "push-supported-changed", + "description": "Fired when the `pushSupported` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-messaging" + }, + { + "description": "The firebase-document element is an easy way to interact with a firebase\nlocation as an object and expose it to the Polymer databinding system.\n\nFor example:\n\n \n \n\nThis fetches the `noteData` object from the firebase location at\n`/users/${userId}/notes/${noteId}` and exposes it to the Polymer\ndatabinding system. Changes to `noteData` will likewise be, sent back up\nand stored.\n\n`` needs some information about how to talk to Firebase.\nSet this configuration by adding a `` element anywhere in your\napp.", + "summary": "", + "path": "firebase-document.html", + "properties": [ + { + "name": "data", + "type": "Object", + "description": "The data to synchronize.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 35, + "column": 8 + }, + "end": { + "line": 41, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "sequentialTransactions", + "type": "boolean", + "description": "If this is true transactions will happen one after the other,\nnever in parallel.\n\nSpecifically, no transaction will begin until every previously\nenqueued transaction by this element has completed.\n\nIf it is false, new transactions will be executed as they are\nreceived.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "log", + "type": "boolean", + "description": "When true, will perform detailed logging.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 61, + "column": 8 + }, + "end": { + "line": 64, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "db", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 19, + "column": 8 + }, + "end": { + "line": 22, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "ref", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 24, + "column": 8 + }, + "end": { + "line": 28, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__refChanged\"", + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "path", + "type": "(string|null)", + "description": "Path to a Firebase root or endpoint. N.B. `path` is case sensitive.", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 38, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__pathChanged\"" + } + }, + "defaultValue": "null", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "disabled", + "type": "boolean", + "description": "When true, Firebase listeners won't be activated. This can be useful\nin situations where elements are loaded into the DOM before they're\nready to be activated (e.g. navigation, initialization scenarios).", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 45, + "column": 8 + }, + "end": { + "line": 48, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "isNew", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 52, + "column": 4 + }, + "end": { + "line": 54, + "column": 5 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + }, + { + "name": "zeroValue", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 57, + "column": 4 + }, + "end": { + "line": 59, + "column": 5 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + } + ], + "methods": [ + { + "name": "created", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 71, + "column": 6 + }, + "end": { + "line": 76, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "ready", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 78, + "column": 6 + }, + "end": { + "line": 80, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "isNew", + "description": "Override this getter to return true if the value has never been\npersisted to storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 88, + "column": 6 + }, + "end": { + "line": 90, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "transactionsComplete", + "description": "A promise that will resolve once all queued transactions\nhave completed.\n\nThis field is updated as new transactions are enqueued, so it will\nonly wait for transactions which were enqueued when the field\nwas accessed.\n\nThis promise never rejects.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 104, + "column": 6 + }, + "end": { + "line": 106, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "zeroValue", + "description": "Override this getter to define the default value to use when\nthere's no data stored.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 114, + "column": 6 + }, + "end": { + "line": 116, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "saveValue", + "description": "Update the path and write this.data to that new location.\n\nImportant note: `this.path` is updated asynchronously.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 73, + "column": 4 + }, + "end": { + "line": 98, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "parentPath", + "type": "string", + "description": "The new firebase location to write to." + }, + { + "name": "key", + "type": "string=", + "description": "The key within the parentPath to write `data` to. If\n not given, a random key will be generated and used." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves once this.data has been\n written to the new path." + } + }, + { + "name": "reset", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 100, + "column": 4 + }, + "end": { + "line": 103, + "column": 5 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "destroy", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 105, + "column": 4 + }, + "end": { + "line": 109, + "column": 5 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "initializeStoredValue", + "description": "Perform the initial sync between storage and memory. This method\nis called automatically while the element is being initialized.\nImplementations may override it.\n\nIf an implementation intends to call this method, it should instead\ncall _initializeStoredValue, which provides reentrancy protection.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 163, + "column": 6 + }, + "end": { + "line": 181, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "A promise that settles once this process is\n complete." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "getStoredValue", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 134, + "column": 4 + }, + "end": { + "line": 144, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "setStoredValue", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 146, + "column": 4 + }, + "end": { + "line": 148, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "value" + } + ] + }, + { + "name": "memoryPathToStoragePath", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 111, + "column": 4 + }, + "end": { + "line": 119, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "storagePathToMemoryPath", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 121, + "column": 4 + }, + "end": { + "line": 132, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "storagePath" + } + ] + }, + { + "name": "syncToMemory", + "description": "Enables performing transformations on the in-memory representation of\nstorage without activating observers that will cause those\ntransformations to be re-applied to the storage backend. This is useful\nfor preventing redundant (or cyclical) application of transformations.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 255, + "column": 6 + }, + "end": { + "line": 267, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "operation", + "type": "Function", + "description": "A function that will perform the desired\n transformation. It will be called synchronously, when it is safe to\n apply the transformation." + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "valueIsEmpty", + "description": "A convenience method. Returns true iff value is null, undefined,\nan empty array, or an object with no keys.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 273, + "column": 6 + }, + "end": { + "line": 281, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "value" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_getStoredValue", + "description": "Like `getStoredValue` but called with a Polymer path rather than\na storage path.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 290, + "column": 6 + }, + "end": { + "line": 292, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "The Polymer path to get." + } + ], + "return": { + "type": "Promise", + "desc": "A Promise of the value stored at that path." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_setStoredValue", + "description": "Like `setStoredValue` but called with a Polymer path rather than\na storage path.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 305, + "column": 6 + }, + "end": { + "line": 307, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "The Polymer path to update." + }, + { + "name": "value", + "type": "*", + "description": "The updated in-memory value to apply to the stored value\n at the provided path." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves with the canonical value stored\n at the provided path when the transaction has completed. The promise\n will be rejected if the transaction fails for any reason." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_enqueueTransaction", + "description": "Enqueues the given function in the transaction queue.\n\nThe transaction queue allows for optional parallelism/sequentiality\nvia the `sequentialTransactions` boolean property, as well as giving\nthe user a convenient way to wait for all pending transactions to\nfinish.\n\nThe given function may be called immediately or after an arbitrary\ndelay. Its `this` context will be bound to the element.\n\nIf the transaction performs any asynchronous operations it must\nreturn a promise.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 327, + "column": 6 + }, + "end": { + "line": 342, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "transaction", + "type": "Function", + "description": "A function implementing the transaction." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves once the transaction has\n finished. This promise will never reject." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_log", + "description": "A wrapper around `console.log`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 347, + "column": 6 + }, + "end": { + "line": 351, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_error", + "description": "A wrapper around `console.error`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 356, + "column": 6 + }, + "end": { + "line": 360, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_group", + "description": "A wrapper around `console.group`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 365, + "column": 6 + }, + "end": { + "line": 369, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_groupEnd", + "description": "A wrapper around `console.groupEnd`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 374, + "column": 6 + }, + "end": { + "line": 378, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_initializeStoredValue", + "description": "A reentrancy-save wrapper around `this.initializeStoredValue`.\nPrefer calling this method over that one.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 387, + "column": 6 + }, + "end": { + "line": 405, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "The result of calling `initializeStoredValue`,\n or `undefined` if called while initializing." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__dataChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 407, + "column": 6 + }, + "end": { + "line": 430, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "change" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__normalizeMemoryPath", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 432, + "column": 6 + }, + "end": { + "line": 451, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__parentPath", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 453, + "column": 6 + }, + "end": { + "line": 456, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathCanBeIgnored", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 458, + "column": 6 + }, + "end": { + "line": 461, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathIsSplices", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 463, + "column": 6 + }, + "end": { + "line": 466, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathRefersToArray", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 468, + "column": 6 + }, + "end": { + "line": 471, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathTailToIndex", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 473, + "column": 6 + }, + "end": { + "line": 476, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 40, + "column": 4 + }, + "end": { + "line": 43, + "column": 5 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 45, + "column": 4 + }, + "end": { + "line": 49, + "column": 5 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "_setFirebaseValue", + "description": "Set the firebase value.", + "privacy": "protected", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 59, + "column": 6 + }, + "end": { + "line": 71, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "value" + } + ], + "return": { + "type": "!firebase.Promise." + }, + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__computeDb", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 75, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__computeRef", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 77, + "column": 6 + }, + "end": { + "line": 86, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "db" + }, + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__refChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 150, + "column": 4 + }, + "end": { + "line": 158, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "ref" + }, + { + "name": "oldRef" + } + ] + }, + { + "name": "__pathChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 96, + "column": 6 + }, + "end": { + "line": 103, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "oldPath" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__pathReady", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 105, + "column": 6 + }, + "end": { + "line": 107, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__onlineChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 109, + "column": 6 + }, + "end": { + "line": 119, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "online" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__onFirebaseValue", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 160, + "column": 4 + }, + "end": { + "line": 192, + "column": 5 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 33, + "column": 10 + }, + "end": { + "line": 193, + "column": 3 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "data", + "description": "The data to synchronize.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 35, + "column": 8 + }, + "end": { + "line": 41, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "sequential-transactions", + "description": "If this is true transactions will happen one after the other,\nnever in parallel.\n\nSpecifically, no transaction will begin until every previously\nenqueued transaction by this element has completed.\n\nIf it is false, new transactions will be executed as they are\nreceived.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "log", + "description": "When true, will perform detailed logging.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 61, + "column": 8 + }, + "end": { + "line": 64, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "db", + "description": "", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 19, + "column": 8 + }, + "end": { + "line": 22, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "ref", + "description": "", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 24, + "column": 8 + }, + "end": { + "line": 28, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "path", + "description": "Path to a Firebase root or endpoint. N.B. `path` is case sensitive.", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 38, + "column": 9 + } + }, + "metadata": {}, + "type": "(string|null)", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "disabled", + "description": "When true, Firebase listeners won't be activated. This can be useful\nin situations where elements are loaded into the DOM before they're\nready to be activated (e.g. navigation, initialization scenarios).", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 45, + "column": 8 + }, + "end": { + "line": 48, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "data-changed", + "description": "Fired when the `data` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-document" + }, + { + "description": "`firebase-query` combines the given properties into query options that generate\na query, a request for a filtered, ordered, immutable set of Firebase data. The\nresults of this Firebase query are then synchronized into the `data` parameter.\n\nIf the child nodes of the query are objects (most cases), `data` will be an array\nof those objects with an extra `$key` field added to represent the key. If the\nchild nodes are non-object leaf values, `data` will be an array of objects of\nthe structure `{$key: key, $val: val}`.\n\nExample usage:\n```html\n\n\n\n\n\n\n```", + "summary": "", + "path": "firebase-query.html", + "properties": [ + { + "name": "data", + "type": "Object", + "description": "The data to synchronize.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 35, + "column": 8 + }, + "end": { + "line": 41, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "sequentialTransactions", + "type": "boolean", + "description": "If this is true transactions will happen one after the other,\nnever in parallel.\n\nSpecifically, no transaction will begin until every previously\nenqueued transaction by this element has completed.\n\nIf it is false, new transactions will be executed as they are\nreceived.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "log", + "type": "boolean", + "description": "When true, will perform detailed logging.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 61, + "column": 8 + }, + "end": { + "line": 64, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "db", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 19, + "column": 8 + }, + "end": { + "line": 22, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "ref", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 24, + "column": 8 + }, + "end": { + "line": 28, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__refChanged\"", + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "path", + "type": "(string|null)", + "description": "Path to a Firebase root or endpoint. N.B. `path` is case sensitive.", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 38, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__pathChanged\"" + } + }, + "defaultValue": "null", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "disabled", + "type": "boolean", + "description": "When true, Firebase listeners won't be activated. This can be useful\nin situations where elements are loaded into the DOM before they're\nready to be activated (e.g. navigation, initialization scenarios).", + "privacy": "public", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 45, + "column": 8 + }, + "end": { + "line": 48, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "query", + "type": "Object", + "description": "[`firebase.database.Query`](https://firebase.google.com/docs/reference/js/firebase.database.Query#property)\nobject computed by the following parameters.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 69, + "column": 10 + }, + "end": { + "line": 73, + "column": 11 + } + }, + "metadata": { + "polymer": { + "observer": "\"__queryChanged\"", + "readOnly": true + } + } + }, + { + "name": "orderByChild", + "type": "string", + "description": "The child key of each query result to order the query by.\n\nChanging this value generates a new `query` ordered by the\nspecified child key.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 81, + "column": 10 + }, + "end": { + "line": 84, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "\"\"" + }, + { + "name": "orderByValue", + "type": "boolean", + "description": "Order this query by values. This is only applicable to leaf node queries\nagainst data structures such as `{a: 1, b: 2, c: 3}`.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 90, + "column": 10 + }, + "end": { + "line": 93, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false" + }, + { + "name": "startAt", + "type": "string", + "description": "The value to start at in the query.\n\nChanging this value generates a new `query` with the specified\nstarting point. The generated `query` includes children which match\nthe specified starting point.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 102, + "column": 10 + }, + "end": { + "line": 105, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "\"\"" + }, + { + "name": "endAt", + "type": "string", + "description": "The value to end at in the query.\n\nChanging this value generates a new `query` with the specified\nending point. The generated `query` includes children which match\nthe specified ending point.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 114, + "column": 10 + }, + "end": { + "line": 117, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "\"\"" + }, + { + "name": "equalTo", + "type": "Object", + "description": "Specifies a child-key value that must be matched for each candidate result.\n\nChanging this value generates a new `query` which includes children\nwhich match the specified value.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 125, + "column": 10 + }, + "end": { + "line": 128, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "null" + }, + { + "name": "limitToFirst", + "type": "number", + "description": "The maximum number of nodes to include in the query.\n\nChanging this value generates a new `query` limited to the first\nnumber of children.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 136, + "column": 10 + }, + "end": { + "line": 139, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "0" + }, + { + "name": "limitToLast", + "type": "number", + "description": "The maximum number of nodes to include in the query.\n\nChanging this value generates a new `query` limited to the last\nnumber of children.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 147, + "column": 10 + }, + "end": { + "line": 150, + "column": 11 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "0" + }, + { + "name": "isNew", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 173, + "column": 8 + }, + "end": { + "line": 175, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + }, + { + "name": "zeroValue", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 177, + "column": 8 + }, + "end": { + "line": 179, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + } + ], + "methods": [ + { + "name": "created", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 153, + "column": 8 + }, + "end": { + "line": 155, + "column": 9 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "ready", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 78, + "column": 6 + }, + "end": { + "line": 80, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "isNew", + "description": "Override this getter to return true if the value has never been\npersisted to storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 88, + "column": 6 + }, + "end": { + "line": 90, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "transactionsComplete", + "description": "A promise that will resolve once all queued transactions\nhave completed.\n\nThis field is updated as new transactions are enqueued, so it will\nonly wait for transactions which were enqueued when the field\nwas accessed.\n\nThis promise never rejects.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 104, + "column": 6 + }, + "end": { + "line": 106, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "zeroValue", + "description": "Override this getter to define the default value to use when\nthere's no data stored.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 114, + "column": 6 + }, + "end": { + "line": 116, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "saveValue", + "description": "Override this method.\n\nIf the data value represented by this storage instance is new, this\nmethod generates an attempt to write the value to storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 128, + "column": 6 + }, + "end": { + "line": 130, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "args", + "type": "*" + } + ], + "return": { + "type": "Promise", + "desc": "a Promise that settles only once the write has." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "reset", + "description": "Optional. Override this method to clear out the mapping of this\nstorage object and a logical location within storage.\n\nIf this method is supported, after it's called, isNew() should be\ntrue.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 139, + "column": 6 + }, + "end": { + "line": 139, + "column": 26 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "destroy", + "description": "Remove the data from storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 147, + "column": 6 + }, + "end": { + "line": 150, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "A promise that settles once the destruction is\n complete." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "initializeStoredValue", + "description": "Perform the initial sync between storage and memory. This method\nis called automatically while the element is being initialized.\nImplementations may override it.\n\nIf an implementation intends to call this method, it should instead\ncall _initializeStoredValue, which provides reentrancy protection.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 163, + "column": 6 + }, + "end": { + "line": 181, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "A promise that settles once this process is\n complete." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "getStoredValue", + "description": "Override this method to implement reading a value from storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 195, + "column": 6 + }, + "end": { + "line": 197, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "storagePath", + "type": "string", + "description": "The path (through storage) of the value to\n create, relative to the root of storage associated with this instance." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves with the canonical value stored\n at the provided path when the transaction has completed. _If there is no\n such value at the provided path through storage, then the promise will\n resolve to `undefined`._ The promise will be rejected if the transaction\n fails for any reason." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "setStoredValue", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 216, + "column": 8 + }, + "end": { + "line": 224, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "storagePath" + }, + { + "name": "value" + } + ] + }, + { + "name": "memoryPathToStoragePath", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 181, + "column": 8 + }, + "end": { + "line": 196, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "storagePathToMemoryPath", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 198, + "column": 8 + }, + "end": { + "line": 214, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "storagePath" + } + ] + }, + { + "name": "syncToMemory", + "description": "Enables performing transformations on the in-memory representation of\nstorage without activating observers that will cause those\ntransformations to be re-applied to the storage backend. This is useful\nfor preventing redundant (or cyclical) application of transformations.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 255, + "column": 6 + }, + "end": { + "line": 267, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "operation", + "type": "Function", + "description": "A function that will perform the desired\n transformation. It will be called synchronously, when it is safe to\n apply the transformation." + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "valueIsEmpty", + "description": "A convenience method. Returns true iff value is null, undefined,\nan empty array, or an object with no keys.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 273, + "column": 6 + }, + "end": { + "line": 281, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "value" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_getStoredValue", + "description": "Like `getStoredValue` but called with a Polymer path rather than\na storage path.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 290, + "column": 6 + }, + "end": { + "line": 292, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "The Polymer path to get." + } + ], + "return": { + "type": "Promise", + "desc": "A Promise of the value stored at that path." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_setStoredValue", + "description": "Like `setStoredValue` but called with a Polymer path rather than\na storage path.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 305, + "column": 6 + }, + "end": { + "line": 307, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "The Polymer path to update." + }, + { + "name": "value", + "type": "*", + "description": "The updated in-memory value to apply to the stored value\n at the provided path." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves with the canonical value stored\n at the provided path when the transaction has completed. The promise\n will be rejected if the transaction fails for any reason." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_enqueueTransaction", + "description": "Enqueues the given function in the transaction queue.\n\nThe transaction queue allows for optional parallelism/sequentiality\nvia the `sequentialTransactions` boolean property, as well as giving\nthe user a convenient way to wait for all pending transactions to\nfinish.\n\nThe given function may be called immediately or after an arbitrary\ndelay. Its `this` context will be bound to the element.\n\nIf the transaction performs any asynchronous operations it must\nreturn a promise.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 327, + "column": 6 + }, + "end": { + "line": 342, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "transaction", + "type": "Function", + "description": "A function implementing the transaction." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves once the transaction has\n finished. This promise will never reject." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_log", + "description": "A wrapper around `console.log`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 347, + "column": 6 + }, + "end": { + "line": 351, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_error", + "description": "A wrapper around `console.error`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 356, + "column": 6 + }, + "end": { + "line": 360, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_group", + "description": "A wrapper around `console.group`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 365, + "column": 6 + }, + "end": { + "line": 369, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_groupEnd", + "description": "A wrapper around `console.groupEnd`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 374, + "column": 6 + }, + "end": { + "line": 378, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_initializeStoredValue", + "description": "A reentrancy-save wrapper around `this.initializeStoredValue`.\nPrefer calling this method over that one.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 387, + "column": 6 + }, + "end": { + "line": 405, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "The result of calling `initializeStoredValue`,\n or `undefined` if called while initializing." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__dataChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 407, + "column": 6 + }, + "end": { + "line": 430, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "change" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__normalizeMemoryPath", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 432, + "column": 6 + }, + "end": { + "line": 451, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__parentPath", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 453, + "column": 6 + }, + "end": { + "line": 456, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathCanBeIgnored", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 458, + "column": 6 + }, + "end": { + "line": 461, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathIsSplices", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 463, + "column": 6 + }, + "end": { + "line": 466, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathRefersToArray", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 468, + "column": 6 + }, + "end": { + "line": 471, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathTailToIndex", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 473, + "column": 6 + }, + "end": { + "line": 476, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 157, + "column": 8 + }, + "end": { + "line": 159, + "column": 9 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 161, + "column": 8 + }, + "end": { + "line": 167, + "column": 9 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "_setFirebaseValue", + "description": "Set the firebase value.", + "privacy": "protected", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 59, + "column": 6 + }, + "end": { + "line": 71, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "value" + } + ], + "return": { + "type": "!firebase.Promise." + }, + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__computeDb", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 75, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__computeRef", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 77, + "column": 6 + }, + "end": { + "line": 86, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "db" + }, + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__refChanged", + "description": "Override this method if needed.\ne.g. to detach or attach listeners.", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 92, + "column": 6 + }, + "end": { + "line": 94, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "ref" + }, + { + "name": "oldRef" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__pathChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 269, + "column": 8 + }, + "end": { + "line": 278, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "oldPath" + } + ] + }, + { + "name": "__pathReady", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 105, + "column": 6 + }, + "end": { + "line": 107, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "__onlineChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 109, + "column": 6 + }, + "end": { + "line": 119, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "online" + } + ], + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "child", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 169, + "column": 8 + }, + "end": { + "line": 171, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "key" + } + ] + }, + { + "name": "_propertyToKey", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 226, + "column": 8 + }, + "end": { + "line": 231, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "property" + } + ] + }, + { + "name": "__computeQuery", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 233, + "column": 8 + }, + "end": { + "line": 267, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "ref" + }, + { + "name": "orderByChild" + }, + { + "name": "orderByValue" + }, + { + "name": "limitToFirst" + }, + { + "name": "limitToLast" + }, + { + "name": "startAt" + }, + { + "name": "endAt" + }, + { + "name": "equalTo" + } + ] + }, + { + "name": "__queryChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 280, + "column": 8 + }, + "end": { + "line": 315, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "query" + }, + { + "name": "oldQuery" + } + ] + }, + { + "name": "__indexFromKey", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 317, + "column": 8 + }, + "end": { + "line": 326, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "key" + } + ] + }, + { + "name": "__onFirebaseValue", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 328, + "column": 8 + }, + "end": { + "line": 356, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + } + ] + }, + { + "name": "__onFirebaseChildAdded", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 358, + "column": 8 + }, + "end": { + "line": 373, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + }, + { + "name": "previousChildKey" + } + ] + }, + { + "name": "__onFirebaseChildRemoved", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 375, + "column": 8 + }, + "end": { + "line": 394, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + } + ] + }, + { + "name": "__onFirebaseChildChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 396, + "column": 8 + }, + "end": { + "line": 427, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + } + ] + }, + { + "name": "__onFirebaseChildMoved", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 429, + "column": 8 + }, + "end": { + "line": 450, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + }, + { + "name": "previousChildKey" + } + ] + }, + { + "name": "__valueWithKey", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 452, + "column": 8 + }, + "end": { + "line": 461, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "key" + }, + { + "name": "value" + } + ] + }, + { + "name": "__snapshotToValue", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 463, + "column": 8 + }, + "end": { + "line": 468, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 57, + "column": 14 + }, + "end": { + "line": 469, + "column": 7 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "data", + "description": "The data to synchronize.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 35, + "column": 8 + }, + "end": { + "line": 41, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "sequential-transactions", + "description": "If this is true transactions will happen one after the other,\nnever in parallel.\n\nSpecifically, no transaction will begin until every previously\nenqueued transaction by this element has completed.\n\nIf it is false, new transactions will be executed as they are\nreceived.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "log", + "description": "When true, will perform detailed logging.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 61, + "column": 8 + }, + "end": { + "line": 64, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "db", + "description": "", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 19, + "column": 8 + }, + "end": { + "line": 22, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "ref", + "description": "", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 24, + "column": 8 + }, + "end": { + "line": 28, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "path", + "description": "Path to a Firebase root or endpoint. N.B. `path` is case sensitive.", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 38, + "column": 9 + } + }, + "metadata": {}, + "type": "(string|null)", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "disabled", + "description": "When true, Firebase listeners won't be activated. This can be useful\nin situations where elements are loaded into the DOM before they're\nready to be activated (e.g. navigation, initialization scenarios).", + "sourceRange": { + "file": "firebase-database-behavior.html", + "start": { + "line": 45, + "column": 8 + }, + "end": { + "line": 48, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseDatabaseBehavior" + }, + { + "name": "query", + "description": "[`firebase.database.Query`](https://firebase.google.com/docs/reference/js/firebase.database.Query#property)\nobject computed by the following parameters.", + "sourceRange": { + "start": { + "line": 69, + "column": 10 + }, + "end": { + "line": 73, + "column": 11 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "order-by-child", + "description": "The child key of each query result to order the query by.\n\nChanging this value generates a new `query` ordered by the\nspecified child key.", + "sourceRange": { + "start": { + "line": 81, + "column": 10 + }, + "end": { + "line": 84, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "order-by-value", + "description": "Order this query by values. This is only applicable to leaf node queries\nagainst data structures such as `{a: 1, b: 2, c: 3}`.", + "sourceRange": { + "start": { + "line": 90, + "column": 10 + }, + "end": { + "line": 93, + "column": 11 + } + }, + "metadata": {}, + "type": "boolean" + }, + { + "name": "start-at", + "description": "The value to start at in the query.\n\nChanging this value generates a new `query` with the specified\nstarting point. The generated `query` includes children which match\nthe specified starting point.", + "sourceRange": { + "start": { + "line": 102, + "column": 10 + }, + "end": { + "line": 105, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "end-at", + "description": "The value to end at in the query.\n\nChanging this value generates a new `query` with the specified\nending point. The generated `query` includes children which match\nthe specified ending point.", + "sourceRange": { + "start": { + "line": 114, + "column": 10 + }, + "end": { + "line": 117, + "column": 11 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "equal-to", + "description": "Specifies a child-key value that must be matched for each candidate result.\n\nChanging this value generates a new `query` which includes children\nwhich match the specified value.", + "sourceRange": { + "start": { + "line": 125, + "column": 10 + }, + "end": { + "line": 128, + "column": 11 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "limit-to-first", + "description": "The maximum number of nodes to include in the query.\n\nChanging this value generates a new `query` limited to the first\nnumber of children.", + "sourceRange": { + "start": { + "line": 136, + "column": 10 + }, + "end": { + "line": 139, + "column": 11 + } + }, + "metadata": {}, + "type": "number" + }, + { + "name": "limit-to-last", + "description": "The maximum number of nodes to include in the query.\n\nChanging this value generates a new `query` limited to the last\nnumber of children.", + "sourceRange": { + "start": { + "line": 147, + "column": 10 + }, + "end": { + "line": 150, + "column": 11 + } + }, + "metadata": {}, + "type": "number" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "data-changed", + "description": "Fired when the `data` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-query" + }, + { + "description": "The firebase-storage-multiupload element is an easy way to upload files by\nexpose the firebase storage api to the Polymer databinding system.\n\nFor example:\n\n \n \n\nThis fetches the `fileArray` object, which is usually an array of Files,\nor a FileList, which are then automatically uploaded to\n`/users/${userId}/files/${filepath}` and then creates an array of upload\ntasks that are exposed through the Polymer databinding system via the\n`uploadTasks`. Changes to `fileArray` will likewise create a new set of\nuploads, which creates a new set of tasks, which are appended to the\n`uploadTasks`.\n\nYou can then use `` to cancel, pause or resume the upload.\nThere are two ways to do this. You can encapsulate `firebase-storage-upload-task` in another\nelement to have a local scope of the upload task's state:\n\n```\n file-uploader\n\n \n \n\n \n\n\n file-task\n\n \n\n```\n\nor you can just add the states in the uploadTasks list\n\n```\n \n \n\n \n```\n\n`` needs some information about how to talk to Firebase.\nSet this configuration by adding a `` element anywhere in your\napp.", + "summary": "", + "path": "firebase-storage-multiupload.html", + "properties": [ + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "type": "Object", + "description": "Firebase storage instance", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "ref", + "type": "Object", + "description": "Firebase storage ref instance", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "path", + "type": "string", + "description": "Path to a Firebase storage root or endpoint. N.B. `path` is case sensitive.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 43, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__pathChanged\"" + } + }, + "defaultValue": "null", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "forceUnique", + "type": "boolean", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "log", + "type": "boolean", + "description": "When true, will perform detailed logging.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "files", + "type": "Array", + "description": "The files to be uploaded.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 97, + "column": 8 + }, + "end": { + "line": 99, + "column": 9 + } + }, + "metadata": { + "polymer": {} + } + }, + { + "name": "uploadTasks", + "type": "Array", + "description": "The upload tasks after invoking the Firebase storage put method", + "privacy": "public", + "sourceRange": { + "start": { + "line": 105, + "column": 8 + }, + "end": { + "line": 109, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + }, + "defaultValue": "[]" + }, + { + "name": "auto", + "type": "boolean", + "description": "Uploads the files automatically when the file list has been changed/updated", + "privacy": "public", + "sourceRange": { + "start": { + "line": 115, + "column": 8 + }, + "end": { + "line": 118, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false" + }, + { + "name": "isNew", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 128, + "column": 6 + }, + "end": { + "line": 130, + "column": 7 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + }, + { + "name": "zeroValue", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 135, + "column": 6 + }, + "end": { + "line": 137, + "column": 7 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + } + ], + "methods": [ + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "zeroValue", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 63, + "column": 6 + }, + "end": { + "line": 65, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__put", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 67, + "column": 6 + }, + "end": { + "line": 74, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "file" + }, + { + "name": "metadata" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__putString", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 83, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "data" + }, + { + "name": "format" + }, + { + "name": "metadata" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__computeStorage", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 85, + "column": 6 + }, + "end": { + "line": 87, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__computeRef", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 89, + "column": 6 + }, + "end": { + "line": 96, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "storage" + }, + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__pathChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 202, + "column": 6 + }, + "end": { + "line": 206, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "oldPath" + } + ] + }, + { + "name": "_log", + "description": "A wrapper around `console.log`.", + "privacy": "protected", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 103, + "column": 6 + }, + "end": { + "line": 107, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "upload", + "description": "Upload files, update the path and write this.files to that new location.\n\nImportant note: `this.path` is updated asynchronously.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 154, + "column": 6 + }, + "end": { + "line": 162, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "files" + }, + { + "name": "path", + "type": "string", + "description": "of the new firebase location to write to." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves once this.files has been\n written to the new path." + } + }, + { + "name": "reset", + "description": "Resets the firebase-storage-multiupload instance", + "privacy": "public", + "sourceRange": { + "start": { + "line": 168, + "column": 6 + }, + "end": { + "line": 172, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "clearTasks", + "description": "Resets the upload tasks", + "privacy": "public", + "sourceRange": { + "start": { + "line": 178, + "column": 6 + }, + "end": { + "line": 180, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "_putMultipleFirebaseFiles", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 182, + "column": 6 + }, + "end": { + "line": 194, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "files" + } + ] + }, + { + "name": "__filesChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 196, + "column": 6 + }, + "end": { + "line": 200, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "files" + }, + { + "name": "auto" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 90, + "column": 12 + }, + "end": { + "line": 207, + "column": 5 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "description": "Firebase storage instance", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "ref", + "description": "Firebase storage ref instance", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "path", + "description": "Path to a Firebase storage root or endpoint. N.B. `path` is case sensitive.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 43, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "force-unique", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "log", + "description": "When true, will perform detailed logging.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "files", + "description": "The files to be uploaded.", + "sourceRange": { + "start": { + "line": 97, + "column": 8 + }, + "end": { + "line": 99, + "column": 9 + } + }, + "metadata": {}, + "type": "Array" + }, + { + "name": "upload-tasks", + "description": "The upload tasks after invoking the Firebase storage put method", + "sourceRange": { + "start": { + "line": 105, + "column": 8 + }, + "end": { + "line": 109, + "column": 9 + } + }, + "metadata": {}, + "type": "Array" + }, + { + "name": "auto", + "description": "Uploads the files automatically when the file list has been changed/updated", + "sourceRange": { + "start": { + "line": 115, + "column": 8 + }, + "end": { + "line": 118, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "upload-tasks-changed", + "description": "Fired when the `uploadTasks` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-storage-multiupload" + }, + { + "description": "The firebase-storage-upload-task element is an easy way to track upload tasks made\nby the firebase-storage-multiupload or the firebase-storage-ref\n\nFor example:\n\n \n\nIt has to get the upload task from either the firebase-storage-multiupload or firebase-storage-ref\nand produces data like bytes-transferred, total-bytes, states, etc...\n\nYou can also use this element to cancel, pause, and resume a task.\n\n\n`` needs some information about how to talk to Firebase.\nSet this configuration by adding a `` element anywhere in your\napp.", + "summary": "", + "path": "firebase-storage-upload-task.html", + "properties": [ + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "type": "Object", + "description": "Firebase storage instance", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "ref", + "type": "Object", + "description": "Firebase storage ref instance", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "path", + "type": "string", + "description": "The firebase storage path of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 95, + "column": 8 + }, + "end": { + "line": 98, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "forceUnique", + "type": "boolean", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "log", + "type": "boolean", + "description": "When true, will perform detailed logging.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "task", + "type": "Object", + "description": "The upload task that is being tracked", + "privacy": "public", + "sourceRange": { + "start": { + "line": 46, + "column": 8 + }, + "end": { + "line": 50, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"_taskChanged\"" + } + }, + "defaultValue": "null" + }, + { + "name": "bytesTransferred", + "type": "number", + "description": "Number of bytes transferred", + "privacy": "public", + "sourceRange": { + "start": { + "line": 55, + "column": 8 + }, + "end": { + "line": 58, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "totalBytes", + "type": "number", + "description": "Total number of bytes of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 66, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "state", + "type": "Object", + "description": "The upload task's state", + "privacy": "public", + "sourceRange": { + "start": { + "line": 71, + "column": 8 + }, + "end": { + "line": 74, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "downloadUrl", + "type": "string", + "description": "The download url of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 79, + "column": 8 + }, + "end": { + "line": 82, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "metadata", + "type": "Object", + "description": "The metadata of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 87, + "column": 8 + }, + "end": { + "line": 90, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "snapshot", + "type": "Object", + "description": "The current snapshot of the task", + "privacy": "public", + "sourceRange": { + "start": { + "line": 103, + "column": 8 + }, + "end": { + "line": 106, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "zeroValue", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 116, + "column": 6 + }, + "end": { + "line": 118, + "column": 7 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + } + ], + "methods": [ + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "zeroValue", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 63, + "column": 6 + }, + "end": { + "line": 65, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__put", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 67, + "column": 6 + }, + "end": { + "line": 74, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "file" + }, + { + "name": "metadata" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__putString", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 83, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "data" + }, + { + "name": "format" + }, + { + "name": "metadata" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__computeStorage", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 85, + "column": 6 + }, + "end": { + "line": 87, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__computeRef", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 89, + "column": 6 + }, + "end": { + "line": 96, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "storage" + }, + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__pathChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 98, + "column": 6 + }, + "end": { + "line": 98, + "column": 38 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "_log", + "description": "A wrapper around `console.log`.", + "privacy": "protected", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 103, + "column": 6 + }, + "end": { + "line": 107, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "_updateProperties", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 120, + "column": 6 + }, + "end": { + "line": 128, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "snapshot" + } + ] + }, + { + "name": "_taskChanged", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 130, + "column": 6 + }, + "end": { + "line": 139, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "task" + } + ] + }, + { + "name": "cancel", + "description": "Cancels the upload", + "privacy": "public", + "sourceRange": { + "start": { + "line": 144, + "column": 6 + }, + "end": { + "line": 148, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "resume", + "description": "Resumes a paused upload", + "privacy": "public", + "sourceRange": { + "start": { + "line": 153, + "column": 6 + }, + "end": { + "line": 157, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "pause", + "description": "Pauses the upload", + "privacy": "public", + "sourceRange": { + "start": { + "line": 162, + "column": 6 + }, + "end": { + "line": 166, + "column": 7 + } + }, + "metadata": {}, + "params": [] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 39, + "column": 12 + }, + "end": { + "line": 167, + "column": 5 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "description": "Firebase storage instance", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "ref", + "description": "Firebase storage ref instance", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "path", + "description": "The firebase storage path of the file", + "sourceRange": { + "start": { + "line": 95, + "column": 8 + }, + "end": { + "line": 98, + "column": 9 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "force-unique", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "log", + "description": "When true, will perform detailed logging.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "task", + "description": "The upload task that is being tracked", + "sourceRange": { + "start": { + "line": 46, + "column": 8 + }, + "end": { + "line": 50, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "bytes-transferred", + "description": "Number of bytes transferred", + "sourceRange": { + "start": { + "line": 55, + "column": 8 + }, + "end": { + "line": 58, + "column": 9 + } + }, + "metadata": {}, + "type": "number" + }, + { + "name": "total-bytes", + "description": "Total number of bytes of the file", + "sourceRange": { + "start": { + "line": 63, + "column": 8 + }, + "end": { + "line": 66, + "column": 9 + } + }, + "metadata": {}, + "type": "number" + }, + { + "name": "state", + "description": "The upload task's state", + "sourceRange": { + "start": { + "line": 71, + "column": 8 + }, + "end": { + "line": 74, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "download-url", + "description": "The download url of the file", + "sourceRange": { + "start": { + "line": 79, + "column": 8 + }, + "end": { + "line": 82, + "column": 9 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "metadata", + "description": "The metadata of the file", + "sourceRange": { + "start": { + "line": 87, + "column": 8 + }, + "end": { + "line": 90, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "snapshot", + "description": "The current snapshot of the task", + "sourceRange": { + "start": { + "line": 103, + "column": 8 + }, + "end": { + "line": 106, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "bytes-transferred-changed", + "description": "Fired when the `bytesTransferred` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "total-bytes-changed", + "description": "Fired when the `totalBytes` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "state-changed", + "description": "Fired when the `state` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "download-url-changed", + "description": "Fired when the `downloadUrl` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "metadata-changed", + "description": "Fired when the `metadata` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "path-changed", + "description": "Fired when the `path` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "snapshot-changed", + "description": "Fired when the `snapshot` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-storage-upload-task" + }, + { + "description": "The firebase-storage-ref element is an easy way to interact with a firebase\nstorage as an object and expose it to the Polymer databinding system.\n\nFor example:\n\n \n \n\nThis fetches file associated within the `path` attribute from the firebase storage\nand produces the metadata and the download url associated with it.\nIt also exposes several firebase storage methods to manipulate and get\nadditional data from it.\n\n`` needs some information about how to talk to Firebase.\nSet this configuration by adding a `` element anywhere in your\napp.", + "summary": "", + "path": "firebase-storage-ref.html", + "properties": [ + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "type": "Object", + "description": "Firebase storage instance", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "ref", + "type": "Object", + "description": "Firebase storage ref instance", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + }, + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "path", + "type": "string", + "description": "Path to a Firebase storage root or endpoint. N.B. `path` is case sensitive.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 43, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__pathChanged\"" + } + }, + "defaultValue": "null", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "forceUnique", + "type": "boolean", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "log", + "type": "boolean", + "description": "When true, will perform detailed logging.", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "downloadUrl", + "type": "string", + "description": "The url of the file for download", + "privacy": "public", + "sourceRange": { + "start": { + "line": 43, + "column": 8 + }, + "end": { + "line": 46, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "metadata", + "type": "Object", + "description": "The metadata of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 51, + "column": 8 + }, + "end": { + "line": 54, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "storageUri", + "type": "string", + "description": "The Cloud Storage URI string of this object in the form `gs://///`", + "privacy": "public", + "sourceRange": { + "start": { + "line": 59, + "column": 8 + }, + "end": { + "line": 62, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "uploadTask", + "type": "Object", + "description": "The upload task of the file when you use the put method.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 67, + "column": 8 + }, + "end": { + "line": 70, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + } + }, + { + "name": "isNew", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 85, + "column": 6 + }, + "end": { + "line": 87, + "column": 7 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + }, + { + "name": "zeroValue", + "type": "Function", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 92, + "column": 6 + }, + "end": { + "line": 94, + "column": 7 + } + }, + "metadata": { + "polymer": { + "readOnly": false + } + } + } + ], + "methods": [ + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "zeroValue", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 63, + "column": 6 + }, + "end": { + "line": 65, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__put", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 67, + "column": 6 + }, + "end": { + "line": 74, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "file" + }, + { + "name": "metadata" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__putString", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 83, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "data" + }, + { + "name": "format" + }, + { + "name": "metadata" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__computeStorage", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 85, + "column": 6 + }, + "end": { + "line": 87, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__computeRef", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 89, + "column": 6 + }, + "end": { + "line": 96, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "storage" + }, + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "__pathChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 96, + "column": 6 + }, + "end": { + "line": 112, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "_log", + "description": "A wrapper around `console.log`.", + "privacy": "protected", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 103, + "column": 6 + }, + "end": { + "line": 107, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "reset", + "description": "Resets this element's path", + "privacy": "public", + "sourceRange": { + "start": { + "line": 118, + "column": 6 + }, + "end": { + "line": 121, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "setPathFromUrl", + "description": "Sets the path from url", + "privacy": "public", + "sourceRange": { + "start": { + "line": 126, + "column": 6 + }, + "end": { + "line": 132, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "url" + } + ] + }, + { + "name": "getPathFromUrl", + "description": "Get's the path from url", + "privacy": "public", + "sourceRange": { + "start": { + "line": 137, + "column": 6 + }, + "end": { + "line": 139, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "url" + } + ] + }, + { + "name": "delete", + "description": "Deletes the file associated in the firebase storage path", + "privacy": "public", + "sourceRange": { + "start": { + "line": 144, + "column": 6 + }, + "end": { + "line": 148, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "put", + "description": "Stores a new single file inside this path", + "privacy": "public", + "sourceRange": { + "start": { + "line": 153, + "column": 6 + }, + "end": { + "line": 156, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "file" + }, + { + "name": "metadata" + } + ] + }, + { + "name": "putString", + "description": "Stores a string in a given format", + "privacy": "public", + "sourceRange": { + "start": { + "line": 161, + "column": 6 + }, + "end": { + "line": 164, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "data" + }, + { + "name": "format" + }, + { + "name": "metadata" + } + ] + }, + { + "name": "getDownloadURL", + "description": "Get the download url of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 169, + "column": 6 + }, + "end": { + "line": 176, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "getMetadata", + "description": "Get the metadata of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 181, + "column": 6 + }, + "end": { + "line": 188, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "toGsString", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 194, + "column": 6 + }, + "end": { + "line": 200, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "setMetadata", + "description": "Sets the metadata of the file", + "privacy": "public", + "sourceRange": { + "start": { + "line": 205, + "column": 6 + }, + "end": { + "line": 212, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "metadata" + }, + { + "name": "path" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 36, + "column": 12 + }, + "end": { + "line": 213, + "column": 5 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "description": "Firebase storage instance", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "ref", + "description": "Firebase storage ref instance", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "path", + "description": "Path to a Firebase storage root or endpoint. N.B. `path` is case sensitive.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 43, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "force-unique", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "log", + "description": "When true, will perform detailed logging.", + "sourceRange": { + "file": "firebase-storage-behavior.html", + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.FirebaseStorageBehavior" + }, + { + "name": "download-url", + "description": "The url of the file for download", + "sourceRange": { + "start": { + "line": 43, + "column": 8 + }, + "end": { + "line": 46, + "column": 9 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "metadata", + "description": "The metadata of the file", + "sourceRange": { + "start": { + "line": 51, + "column": 8 + }, + "end": { + "line": 54, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "storage-uri", + "description": "The Cloud Storage URI string of this object in the form `gs://///`", + "sourceRange": { + "start": { + "line": 59, + "column": 8 + }, + "end": { + "line": 62, + "column": 9 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "upload-task", + "description": "The upload task of the file when you use the put method.", + "sourceRange": { + "start": { + "line": 67, + "column": 8 + }, + "end": { + "line": 70, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "download-url-changed", + "description": "Fired when the `downloadUrl` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "metadata-changed", + "description": "Fired when the `metadata` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "storage-uri-changed", + "description": "Fired when the `storageUri` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "upload-task-changed", + "description": "Fired when the `uploadTask` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-storage-ref" + }, + { + "description": "", + "summary": "", + "path": "demo/firebase-storage-multiupload-auto.html", + "properties": [ + { + "name": "user", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 121, + "column": 10 + }, + "end": { + "line": 121, + "column": 22 + } + }, + "metadata": { + "polymer": {} + } + }, + { + "name": "files", + "type": "Array", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 123, + "column": 10 + }, + "end": { + "line": 127, + "column": 11 + } + }, + "metadata": { + "polymer": { + "notify": true + } + }, + "defaultValue": "[]" + }, + { + "name": "uploadTasks", + "type": "Array", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 129, + "column": 10 + }, + "end": { + "line": 132, + "column": 11 + } + }, + "metadata": { + "polymer": { + "observer": "\"_uploadTasksChanged\"" + } + } + }, + { + "name": "uploadedFiles", + "type": "Array", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 134, + "column": 10 + }, + "end": { + "line": 136, + "column": 11 + } + }, + "metadata": { + "polymer": {} + } + } + ], + "methods": [ + { + "name": "catchError", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 139, + "column": 8 + }, + "end": { + "line": 143, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "cancel", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 145, + "column": 8 + }, + "end": { + "line": 147, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "resume", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 149, + "column": 8 + }, + "end": { + "line": 151, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "pause", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 153, + "column": 8 + }, + "end": { + "line": 155, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "download", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 157, + "column": 8 + }, + "end": { + "line": 162, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "deleteFile", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 164, + "column": 8 + }, + "end": { + "line": 168, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "_uploadTasksChanged", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 170, + "column": 8 + }, + "end": { + "line": 172, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "uploadTasks" + } + ] + }, + { + "name": "_uploadedFilesChanged", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 174, + "column": 8 + }, + "end": { + "line": 176, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "uploadedFiles" + } + ] + }, + { + "name": "onFileUpload", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 178, + "column": 8 + }, + "end": { + "line": 181, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "isEqual", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 183, + "column": 8 + }, + "end": { + "line": 185, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "a" + }, + { + "name": "b" + } + ] + }, + { + "name": "signIn", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 187, + "column": 8 + }, + "end": { + "line": 189, + "column": 9 + } + }, + "metadata": {}, + "params": [] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 117, + "column": 14 + }, + "end": { + "line": 190, + "column": 7 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "user", + "description": "", + "sourceRange": { + "start": { + "line": 121, + "column": 10 + }, + "end": { + "line": 121, + "column": 22 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "files", + "description": "", + "sourceRange": { + "start": { + "line": 123, + "column": 10 + }, + "end": { + "line": 127, + "column": 11 + } + }, + "metadata": {}, + "type": "Array" + }, + { + "name": "upload-tasks", + "description": "", + "sourceRange": { + "start": { + "line": 129, + "column": 10 + }, + "end": { + "line": 132, + "column": 11 + } + }, + "metadata": {}, + "type": "Array" + }, + { + "name": "uploaded-files", + "description": "", + "sourceRange": { + "start": { + "line": 134, + "column": 10 + }, + "end": { + "line": 136, + "column": 11 + } + }, + "metadata": {}, + "type": "Array" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "files-changed", + "description": "Fired when the `files` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-storage-multiupload-auto" + }, + { + "description": "", + "summary": "", + "path": "demo/firebase-storage-multiupload-demo.html", + "properties": [ + { + "name": "user", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 120, + "column": 10 + }, + "end": { + "line": 120, + "column": 22 + } + }, + "metadata": { + "polymer": {} + } + }, + { + "name": "uploadTasks", + "type": "Array", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 122, + "column": 10 + }, + "end": { + "line": 125, + "column": 11 + } + }, + "metadata": { + "polymer": { + "observer": "\"_uploadTasksChanged\"" + } + } + }, + { + "name": "uploadedFiles", + "type": "Array", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 127, + "column": 10 + }, + "end": { + "line": 129, + "column": 11 + } + }, + "metadata": { + "polymer": {} + } + } + ], + "methods": [ + { + "name": "catchError", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 132, + "column": 8 + }, + "end": { + "line": 136, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "cancel", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 138, + "column": 8 + }, + "end": { + "line": 140, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "resume", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 142, + "column": 8 + }, + "end": { + "line": 144, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "pause", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 146, + "column": 8 + }, + "end": { + "line": 148, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "download", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 150, + "column": 8 + }, + "end": { + "line": 155, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "deleteFile", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 157, + "column": 8 + }, + "end": { + "line": 161, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "e" + } + ] + }, + { + "name": "_uploadTasksChanged", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 163, + "column": 8 + }, + "end": { + "line": 165, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "uploadTasks" + } + ] + }, + { + "name": "_uploadedFilesChanged", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 167, + "column": 8 + }, + "end": { + "line": 169, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "uploadedFiles" + } + ] + }, + { + "name": "isEqual", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 171, + "column": 8 + }, + "end": { + "line": 173, + "column": 9 + } + }, + "metadata": {}, + "params": [ + { + "name": "a" + }, + { + "name": "b" + } + ] + }, + { + "name": "upload", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 175, + "column": 8 + }, + "end": { + "line": 177, + "column": 9 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "signIn", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 179, + "column": 8 + }, + "end": { + "line": 181, + "column": 9 + } + }, + "metadata": {}, + "params": [] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 116, + "column": 14 + }, + "end": { + "line": 182, + "column": 7 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "attributes": [ + { + "name": "user", + "description": "", + "sourceRange": { + "start": { + "line": 120, + "column": 10 + }, + "end": { + "line": 120, + "column": 22 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "upload-tasks", + "description": "", + "sourceRange": { + "start": { + "line": 122, + "column": 10 + }, + "end": { + "line": 125, + "column": 11 + } + }, + "metadata": {}, + "type": "Array" + }, + { + "name": "uploaded-files", + "description": "", + "sourceRange": { + "start": { + "line": 127, + "column": 10 + }, + "end": { + "line": 129, + "column": 11 + } + }, + "metadata": {}, + "type": "Array" + } + ], + "events": [], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "firebase-storage-multiupload-demo" + }, + { + "description": "", + "summary": "", + "path": "demo/firestore-element-demo.html", + "properties": [ + { + "name": "users", + "type": "Array", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 17, + "column": 8 + }, + "end": { + "line": 21, + "column": 9 + } + }, + "metadata": { + "polymer": {} + } + } + ], + "methods": [], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 13, + "column": 2 + }, + "end": { + "line": 24, + "column": 3 + } + }, + "privacy": "public", + "superclass": "HTMLElement", + "name": "UserList", + "attributes": [ + { + "name": "users", + "description": "", + "sourceRange": { + "start": { + "line": 17, + "column": 8 + }, + "end": { + "line": 21, + "column": 9 + } + }, + "metadata": {}, + "type": "Array" + } + ], + "events": [], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [], + "tagname": "user-list" + } + ], + "mixins": [ + { + "description": "This mixin provides bindings to documents and collections in a\nCloud Firestore database through special property declarations.\n\n### Basic Usage\n\n```js\nclass MyElement extends Polymer.FirestoreElement(Polymer.Element) {\n // ...\n static get properties() {\n return {\n uid: String,\n user: {\n type: Object,\n doc: 'users/{uid}'\n },\n messages: {\n type: Array,\n collection: 'users/{uid}/messages'\n }\n }\n }\n}\n```\n\nAs you can see, specific properties have been decorated with `doc` and\n`collection` options. These options provide full paths to documents or\ncollections in your Firestore database. When templatized with curly\nbraces (e.g. `{uid}` above), the data will be dynamically rebound as\nthe templatized properties change.\n\nPolymerFirestore bindings are **intentionally read-only**. Automatic\nthree-way binding (i.e. syncing changes from the element back up to\nthe database) are great for toy apps but largely an antipattern.\n\nIn addition to loading data into the specified property, PolymerFirestore\nalso makes additional convenience properties:\n\n* `Ref`: a Firestore reference to the doc/collection\n* `Ready`: will be true when all path segments are present and data has been fetched at least once\n\n### Querying\n\nPolymerFire supports querying by supplying a builder function to the\n`query` option. The function will be bound to the element and called with\nthe ref and element instance. For example:\n\n```js\n{\n uid: String,\n label: String,\n category: String,\n notes: {\n type: Array,\n collection: 'users/{uid}/notes',\n query: (q, el) => {\n q = q.orderBy('date', 'desc').limit(100)\n if (el.color) { q.where('color','==', el.color) }\n if (el.category) { q.where('category', '==', el.category) }\n return q;\n },\n observes: ['color', 'category']\n }\n}\n```\n\nIn the above example, a rich query is further filtered down by other\nproperties on the element. Remember to declare each query-affecting\nproperty in your `observes` option.\n\n### Options\n\n* **doc:** *string*, the full (optionally templatized) path to a document\n* **collection:** *string*, the full (optionally templatized) path to a collection\n* **live:** *boolean*, whether or not to continue updating the property as data changes in the database\n* **query:** *(ref: Reference, el: Element)* a query builder function that takes the computed ref and the element instance\n* **observes:** a list of properties which, if changed, should trigger a rebuild of the query", + "summary": "", + "path": "firestore-element.html", + "properties": [], + "methods": [ + { + "name": "connectedCallback", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 136, + "column": 6 + }, + "end": { + "line": 146, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "_firestoreBind", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 148, + "column": 6 + }, + "end": { + "line": 163, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "type" + }, + { + "name": "path" + }, + { + "name": "name" + }, + { + "name": "live = false" + }, + { + "name": "observes = []" + } + ] + }, + { + "name": "_firestoreUpdateBinding", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 165, + "column": 6 + }, + "end": { + "line": 199, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "type" + }, + { + "name": "name" + } + ] + }, + { + "name": "_firestoreUnlisten", + "description": "", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 201, + "column": 6 + }, + "end": { + "line": 206, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "name" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 127, + "column": 2 + }, + "end": { + "line": 208, + "column": 3 + } + }, + "privacy": "public", + "name": "Polymer.FirestoreElement", + "attributes": [], + "events": [], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [] + } + ], + "metadata": { + "polymer": { + "behaviors": [ + { + "description": "", + "summary": "", + "path": "firebase-common-behavior.html", + "properties": [ + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + } + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"" + } + ], + "methods": [ + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ] + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ] + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 16, + "column": 4 + }, + "end": { + "line": 71, + "column": 6 + } + }, + "privacy": "public", + "name": "Polymer.FirebaseCommonBehavior", + "attributes": [ + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {} + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {} + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [] + }, + { + "description": "", + "summary": "", + "path": "firebase-database-behavior.html", + "properties": [ + { + "name": "data", + "type": "Object", + "description": "The data to synchronize.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 35, + "column": 8 + }, + "end": { + "line": 41, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true + } + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "sequentialTransactions", + "type": "boolean", + "description": "If this is true transactions will happen one after the other,\nnever in parallel.\n\nSpecifically, no transaction will begin until every previously\nenqueued transaction by this element has completed.\n\nIf it is false, new transactions will be executed as they are\nreceived.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "log", + "type": "boolean", + "description": "When true, will perform detailed logging.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 61, + "column": 8 + }, + "end": { + "line": 64, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "db", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 19, + "column": 8 + }, + "end": { + "line": 22, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + } + }, + { + "name": "ref", + "type": "Object", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 24, + "column": 8 + }, + "end": { + "line": 28, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__refChanged\"", + "readOnly": true + } + } + }, + { + "name": "path", + "type": "(string|null)", + "description": "Path to a Firebase root or endpoint. N.B. `path` is case sensitive.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 38, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__pathChanged\"" + } + }, + "defaultValue": "null" + }, + { + "name": "disabled", + "type": "boolean", + "description": "When true, Firebase listeners won't be activated. This can be useful\nin situations where elements are loaded into the DOM before they're\nready to be activated (e.g. navigation, initialization scenarios).", + "privacy": "public", + "sourceRange": { + "start": { + "line": 45, + "column": 8 + }, + "end": { + "line": 48, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false" + } + ], + "methods": [ + { + "name": "created", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 71, + "column": 6 + }, + "end": { + "line": 76, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "ready", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 78, + "column": 6 + }, + "end": { + "line": 80, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "isNew", + "description": "Override this getter to return true if the value has never been\npersisted to storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 88, + "column": 6 + }, + "end": { + "line": 90, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "transactionsComplete", + "description": "A promise that will resolve once all queued transactions\nhave completed.\n\nThis field is updated as new transactions are enqueued, so it will\nonly wait for transactions which were enqueued when the field\nwas accessed.\n\nThis promise never rejects.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 104, + "column": 6 + }, + "end": { + "line": 106, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "zeroValue", + "description": "Override this getter to define the default value to use when\nthere's no data stored.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 114, + "column": 6 + }, + "end": { + "line": 116, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "saveValue", + "description": "Override this method.\n\nIf the data value represented by this storage instance is new, this\nmethod generates an attempt to write the value to storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 128, + "column": 6 + }, + "end": { + "line": 130, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "args", + "type": "*" + } + ], + "return": { + "type": "Promise", + "desc": "a Promise that settles only once the write has." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "reset", + "description": "Optional. Override this method to clear out the mapping of this\nstorage object and a logical location within storage.\n\nIf this method is supported, after it's called, isNew() should be\ntrue.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 139, + "column": 6 + }, + "end": { + "line": 139, + "column": 26 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "destroy", + "description": "Remove the data from storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 147, + "column": 6 + }, + "end": { + "line": 150, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "A promise that settles once the destruction is\n complete." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "initializeStoredValue", + "description": "Perform the initial sync between storage and memory. This method\nis called automatically while the element is being initialized.\nImplementations may override it.\n\nIf an implementation intends to call this method, it should instead\ncall _initializeStoredValue, which provides reentrancy protection.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 163, + "column": 6 + }, + "end": { + "line": 181, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "A promise that settles once this process is\n complete." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "getStoredValue", + "description": "Override this method to implement reading a value from storage.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 195, + "column": 6 + }, + "end": { + "line": 197, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "storagePath", + "type": "string", + "description": "The path (through storage) of the value to\n create, relative to the root of storage associated with this instance." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves with the canonical value stored\n at the provided path when the transaction has completed. _If there is no\n such value at the provided path through storage, then the promise will\n resolve to `undefined`._ The promise will be rejected if the transaction\n fails for any reason." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "setStoredValue", + "description": "Override this method to implement creating and updating\nstored values.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 212, + "column": 6 + }, + "end": { + "line": 214, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "storagePath", + "type": "string", + "description": "The path of the value to update, relative\n to the root storage path configured for this instance." + }, + { + "name": "value", + "type": "*", + "description": "The updated in-memory value to apply to the stored value\n at the provided path." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves with the canonical value stored\n at the provided path when the transaction has completed. The promise\n will be rejected if the transaction fails for any reason." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "memoryPathToStoragePath", + "description": "Maps a Polymer databinding path to the corresponding path in the\nstorage system. Override to define a custom mapping.\n\nThe inverse of storagePathToMemoryPath.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 227, + "column": 6 + }, + "end": { + "line": 229, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "An in-memory path through a storage object." + } + ], + "return": { + "type": "string", + "desc": "The provided path mapped to the equivalent location in\n storage. This mapped version of the path is suitable for use with the\n CRUD operations on both memory and storage." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "storagePathToMemoryPath", + "description": "Maps a storage path to the corresponding Polymer databinding path.\nOverride to define a custom mapping.\n\nThe inverse of memoryPathToStoragePath.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 241, + "column": 6 + }, + "end": { + "line": 243, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "The storage path through a storage object." + } + ], + "return": { + "type": "string", + "desc": "The provided path through storage mapped to the\n equivalent Polymer path through the in-memory representation of storage." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "syncToMemory", + "description": "Enables performing transformations on the in-memory representation of\nstorage without activating observers that will cause those\ntransformations to be re-applied to the storage backend. This is useful\nfor preventing redundant (or cyclical) application of transformations.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 255, + "column": 6 + }, + "end": { + "line": 267, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "operation", + "type": "Function", + "description": "A function that will perform the desired\n transformation. It will be called synchronously, when it is safe to\n apply the transformation." + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "valueIsEmpty", + "description": "A convenience method. Returns true iff value is null, undefined,\nan empty array, or an object with no keys.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 273, + "column": 6 + }, + "end": { + "line": 281, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "value" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_getStoredValue", + "description": "Like `getStoredValue` but called with a Polymer path rather than\na storage path.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 290, + "column": 6 + }, + "end": { + "line": 292, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "The Polymer path to get." + } + ], + "return": { + "type": "Promise", + "desc": "A Promise of the value stored at that path." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_setStoredValue", + "description": "Like `setStoredValue` but called with a Polymer path rather than\na storage path.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 305, + "column": 6 + }, + "end": { + "line": 307, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path", + "type": "string", + "description": "The Polymer path to update." + }, + { + "name": "value", + "type": "*", + "description": "The updated in-memory value to apply to the stored value\n at the provided path." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves with the canonical value stored\n at the provided path when the transaction has completed. The promise\n will be rejected if the transaction fails for any reason." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_enqueueTransaction", + "description": "Enqueues the given function in the transaction queue.\n\nThe transaction queue allows for optional parallelism/sequentiality\nvia the `sequentialTransactions` boolean property, as well as giving\nthe user a convenient way to wait for all pending transactions to\nfinish.\n\nThe given function may be called immediately or after an arbitrary\ndelay. Its `this` context will be bound to the element.\n\nIf the transaction performs any asynchronous operations it must\nreturn a promise.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 327, + "column": 6 + }, + "end": { + "line": 342, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "transaction", + "type": "Function", + "description": "A function implementing the transaction." + } + ], + "return": { + "type": "Promise", + "desc": "A promise that resolves once the transaction has\n finished. This promise will never reject." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_log", + "description": "A wrapper around `console.log`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 347, + "column": 6 + }, + "end": { + "line": 351, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_error", + "description": "A wrapper around `console.error`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 356, + "column": 6 + }, + "end": { + "line": 360, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_group", + "description": "A wrapper around `console.group`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 365, + "column": 6 + }, + "end": { + "line": 369, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_groupEnd", + "description": "A wrapper around `console.groupEnd`.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 374, + "column": 6 + }, + "end": { + "line": 378, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "_initializeStoredValue", + "description": "A reentrancy-save wrapper around `this.initializeStoredValue`.\nPrefer calling this method over that one.", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 387, + "column": 6 + }, + "end": { + "line": 405, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "return": { + "type": "Promise", + "desc": "The result of calling `initializeStoredValue`,\n or `undefined` if called while initializing." + }, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__dataChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 407, + "column": 6 + }, + "end": { + "line": 430, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "change" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__normalizeMemoryPath", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 432, + "column": 6 + }, + "end": { + "line": 451, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__parentPath", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 453, + "column": 6 + }, + "end": { + "line": 456, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathCanBeIgnored", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 458, + "column": 6 + }, + "end": { + "line": 461, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathIsSplices", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 463, + "column": 6 + }, + "end": { + "line": 466, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathRefersToArray", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 468, + "column": 6 + }, + "end": { + "line": 471, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "__pathTailToIndex", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 473, + "column": 6 + }, + "end": { + "line": 476, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ], + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "_setFirebaseValue", + "description": "Set the firebase value.", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 59, + "column": 6 + }, + "end": { + "line": 71, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "value" + } + ], + "return": { + "type": "!firebase.Promise." + } + }, + { + "name": "__computeDb", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 73, + "column": 6 + }, + "end": { + "line": 75, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ] + }, + { + "name": "__computeRef", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 77, + "column": 6 + }, + "end": { + "line": 86, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "db" + }, + { + "name": "path" + } + ] + }, + { + "name": "__refChanged", + "description": "Override this method if needed.\ne.g. to detach or attach listeners.", + "privacy": "private", + "sourceRange": { + "start": { + "line": 92, + "column": 6 + }, + "end": { + "line": 94, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "ref" + }, + { + "name": "oldRef" + } + ] + }, + { + "name": "__pathChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 96, + "column": 6 + }, + "end": { + "line": 103, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "oldPath" + } + ] + }, + { + "name": "__pathReady", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 105, + "column": 6 + }, + "end": { + "line": 107, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "__onlineChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 109, + "column": 6 + }, + "end": { + "line": 119, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "online" + } + ] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 17, + "column": 4 + }, + "end": { + "line": 120, + "column": 6 + } + }, + "privacy": "public", + "name": "Polymer.FirebaseDatabaseBehavior", + "attributes": [ + { + "name": "data", + "description": "The data to synchronize.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 35, + "column": 8 + }, + "end": { + "line": 41, + "column": 9 + } + }, + "metadata": {}, + "type": "Object", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "sequential-transactions", + "description": "If this is true transactions will happen one after the other,\nnever in parallel.\n\nSpecifically, no transaction will begin until every previously\nenqueued transaction by this element has completed.\n\nIf it is false, new transactions will be executed as they are\nreceived.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 53, + "column": 8 + }, + "end": { + "line": 56, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "log", + "description": "When true, will perform detailed logging.", + "sourceRange": { + "file": "bower_components/app-storage/app-storage-behavior.html", + "start": { + "line": 61, + "column": 8 + }, + "end": { + "line": 64, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "db", + "description": "", + "sourceRange": { + "start": { + "line": 19, + "column": 8 + }, + "end": { + "line": 22, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "ref", + "description": "", + "sourceRange": { + "start": { + "line": 24, + "column": 8 + }, + "end": { + "line": 28, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "path", + "description": "Path to a Firebase root or endpoint. N.B. `path` is case sensitive.", + "sourceRange": { + "start": { + "line": 34, + "column": 8 + }, + "end": { + "line": 38, + "column": 9 + } + }, + "metadata": {}, + "type": "(string|null)" + }, + { + "name": "disabled", + "description": "When true, Firebase listeners won't be activated. This can be useful\nin situations where elements are loaded into the DOM before they're\nready to be activated (e.g. navigation, initialization scenarios).", + "sourceRange": { + "start": { + "line": 45, + "column": 8 + }, + "end": { + "line": 48, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "data-changed", + "description": "Fired when the `data` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppStorageBehavior" + }, + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [] + }, + { + "description": "", + "summary": "", + "path": "firebase-storage-behavior.html", + "properties": [ + { + "name": "online", + "type": "boolean", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "readOnly": true + } + }, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "type": "(!firebase.app.App|undefined)", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appChanged\"" + } + }, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "appName", + "type": "string", + "description": "", + "privacy": "public", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "notify": true, + "observer": "\"__appNameChanged\"" + } + }, + "defaultValue": "\"\"", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "type": "Object", + "description": "Firebase storage instance", + "privacy": "public", + "sourceRange": { + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + } + }, + { + "name": "ref", + "type": "Object", + "description": "Firebase storage ref instance", + "privacy": "public", + "sourceRange": { + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": { + "polymer": { + "readOnly": true + } + } + }, + { + "name": "path", + "type": "string", + "description": "Path to a Firebase storage root or endpoint. N.B. `path` is case sensitive.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 43, + "column": 9 + } + }, + "metadata": { + "polymer": { + "observer": "\"__pathChanged\"" + } + }, + "defaultValue": "null" + }, + { + "name": "forceUnique", + "type": "boolean", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false" + }, + { + "name": "log", + "type": "boolean", + "description": "When true, will perform detailed logging.", + "privacy": "public", + "sourceRange": { + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": { + "polymer": {} + }, + "defaultValue": "false" + } + ], + "methods": [ + { + "name": "attached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 50, + "column": 6 + }, + "end": { + "line": 53, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "detached", + "description": "", + "privacy": "protected", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 55, + "column": 6 + }, + "end": { + "line": 61, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "refreshNetworkStatus", + "description": "Updates the `online` property to reflect the browser connection status.", + "privacy": "public", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 66, + "column": 6 + }, + "end": { + "line": 68, + "column": 7 + } + }, + "metadata": {}, + "params": [], + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "__appNameChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 37, + "column": 6 + }, + "end": { + "line": 58, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "appName" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__appChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 60, + "column": 6 + }, + "end": { + "line": 66, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "__onError", + "description": "", + "privacy": "private", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 68, + "column": 6 + }, + "end": { + "line": 70, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "err" + } + ], + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "zeroValue", + "description": "", + "privacy": "public", + "sourceRange": { + "start": { + "line": 63, + "column": 6 + }, + "end": { + "line": 65, + "column": 7 + } + }, + "metadata": {}, + "params": [] + }, + { + "name": "__put", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 67, + "column": 6 + }, + "end": { + "line": 74, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "file" + }, + { + "name": "metadata" + } + ] + }, + { + "name": "__putString", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 76, + "column": 6 + }, + "end": { + "line": 83, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + }, + { + "name": "data" + }, + { + "name": "format" + }, + { + "name": "metadata" + } + ] + }, + { + "name": "__computeStorage", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 85, + "column": 6 + }, + "end": { + "line": 87, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "app" + } + ] + }, + { + "name": "__computeRef", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 89, + "column": 6 + }, + "end": { + "line": 96, + "column": 7 + } + }, + "metadata": {}, + "params": [ + { + "name": "storage" + }, + { + "name": "path" + } + ] + }, + { + "name": "__pathChanged", + "description": "", + "privacy": "private", + "sourceRange": { + "start": { + "line": 98, + "column": 6 + }, + "end": { + "line": 98, + "column": 38 + } + }, + "metadata": {}, + "params": [ + { + "name": "path" + } + ] + }, + { + "name": "_log", + "description": "A wrapper around `console.log`.", + "privacy": "protected", + "sourceRange": { + "start": { + "line": 103, + "column": 6 + }, + "end": { + "line": 107, + "column": 7 + } + }, + "metadata": {}, + "params": [] + } + ], + "staticMethods": [], + "demos": [], + "metadata": {}, + "sourceRange": { + "start": { + "line": 16, + "column": 4 + }, + "end": { + "line": 109, + "column": 6 + } + }, + "privacy": "public", + "name": "Polymer.FirebaseStorageBehavior", + "attributes": [ + { + "name": "online", + "description": "True if the browser is online, and false if the browser is offline\nmatching the HTML browser state spec.", + "sourceRange": { + "file": "bower_components/app-storage/app-network-status-behavior.html", + "start": { + "line": 40, + "column": 8 + }, + "end": { + "line": 47, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean", + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "name": "app", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 23, + "column": 8 + }, + "end": { + "line": 27, + "column": 9 + } + }, + "metadata": {}, + "type": "(!firebase.app.App|undefined)", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "app-name", + "description": "", + "sourceRange": { + "file": "firebase-common-behavior.html", + "start": { + "line": 29, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "string", + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "name": "storage", + "description": "Firebase storage instance", + "sourceRange": { + "start": { + "line": 22, + "column": 8 + }, + "end": { + "line": 25, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "ref", + "description": "Firebase storage ref instance", + "sourceRange": { + "start": { + "line": 31, + "column": 8 + }, + "end": { + "line": 34, + "column": 9 + } + }, + "metadata": {}, + "type": "Object" + }, + { + "name": "path", + "description": "Path to a Firebase storage root or endpoint. N.B. `path` is case sensitive.", + "sourceRange": { + "start": { + "line": 39, + "column": 8 + }, + "end": { + "line": 43, + "column": 9 + } + }, + "metadata": {}, + "type": "string" + }, + { + "name": "force-unique", + "description": "Forces every upload to be a unique file by adding a date of upload at the start of the file.", + "sourceRange": { + "start": { + "line": 49, + "column": 8 + }, + "end": { + "line": 52, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean" + }, + { + "name": "log", + "description": "When true, will perform detailed logging.", + "sourceRange": { + "start": { + "line": 57, + "column": 8 + }, + "end": { + "line": 60, + "column": 9 + } + }, + "metadata": {}, + "type": "boolean" + } + ], + "events": [ + { + "type": "CustomEvent", + "name": "online-changed", + "description": "Fired when the `online` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.AppNetworkStatusBehavior" + }, + { + "type": "CustomEvent", + "name": "app-changed", + "description": "Fired when the `app` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + }, + { + "type": "CustomEvent", + "name": "app-name-changed", + "description": "Fired when the `appName` property changes.", + "metadata": {}, + "inheritedFrom": "Polymer.FirebaseCommonBehavior" + } + ], + "styling": { + "cssVariables": [], + "selectors": [] + }, + "slots": [] + } + ] + } + } +} diff --git a/bower.json b/bower.json index dc88036..1ce3666 100644 --- a/bower.json +++ b/bower.json @@ -23,7 +23,7 @@ "app-storage": "PolymerElements/app-storage#1 - 2" }, "devDependencies": { - "iron-component-page": "PolymerElements/iron-component-page#1 - 2", + "iron-component-page": "PolymerElements/iron-component-page#^3.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0", "web-component-tester": "Polymer/web-component-tester#^6.0.0", "paper-progress": "PolymerElements/paper-progress#1 - 2", @@ -49,6 +49,10 @@ } }, "resolutions": { - "webcomponentsjs": "^1.0.0" + "webcomponentsjs": "^1.0.0", + "hydrolysis": "hydrolysis-1.x", + "mocha": "^3.1.2", + "test-fixture": "^3.0.0", + "iron-doc-viewer": "^3.0.0" } } diff --git a/demo/firestore-element-demo.html b/demo/firestore-element-demo.html new file mode 100644 index 0000000..ee64758 --- /dev/null +++ b/demo/firestore-element-demo.html @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/demo/firestore.html b/demo/firestore.html new file mode 100644 index 0000000..9e938e9 --- /dev/null +++ b/demo/firestore.html @@ -0,0 +1,26 @@ + + + + + + + PolymerFire Firestore Demo + + + + + + + + + + diff --git a/firestore-element.html b/firestore-element.html new file mode 100644 index 0000000..2f00551 --- /dev/null +++ b/firestore-element.html @@ -0,0 +1,211 @@ + + \ No newline at end of file diff --git a/polymerfire.html b/polymerfire.html index 42566db..18969b2 100644 --- a/polymerfire.html +++ b/polymerfire.html @@ -13,3 +13,4 @@ + From 5b2bfb544b40e7bbcd4e2e454b8b0fd378990ef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Natan=20S=C4=85gol?= Date: Fri, 20 Oct 2017 12:17:24 +0000 Subject: [PATCH 02/23] Rename FirestoreElement to FirestoreMixin and change filenames accordingly. --- README.md | 6 +++--- ...estore-element-demo.html => firestore-mixin-demo.html} | 4 ++-- demo/firestore.html | 2 +- firestore-element.html => firebase-firestore-mixin.html | 8 ++++---- polymerfire.html | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) rename demo/{firestore-element-demo.html => firestore-mixin-demo.html} (79%) rename firestore-element.html => firebase-firestore-mixin.html (96%) diff --git a/README.md b/README.md index 5a193d2..4d1d03a 100644 --- a/README.md +++ b/README.md @@ -123,15 +123,15 @@ Polymer({ ``` -## Polymer.FirestoreElement +## Polymer.FirestoreMixin A class mixin that provides Cloud Firestore bindings to your Polymer elements. -Import `firestore-element.html` to make the mixin available. +Import `firebase-firestore-mixin.html` to make the mixin available. Example usage: ```js -class MyElement extends Polymer.FirestoreElement(Polymer.Element) { +class MyElement extends Polymer.FirestoreMixin(Polymer.Element) { // ... static get properties() { return { diff --git a/demo/firestore-element-demo.html b/demo/firestore-mixin-demo.html similarity index 79% rename from demo/firestore-element-demo.html rename to demo/firestore-mixin-demo.html index ee64758..23b938c 100644 --- a/demo/firestore-element-demo.html +++ b/demo/firestore-mixin-demo.html @@ -1,4 +1,4 @@ - +