-
Notifications
You must be signed in to change notification settings - Fork 139
Adapting firestore-mixin for lit-element #355
Description
Description
I'm currently trying to integrate firestore-mixin into my project, and I've come across a couple of errors. For example, when the mixin tries to call this.splice it throws. I fixed that particular error by replacing this.splice with Arrray.splice, and it seems have worked...although I can't say if that's the best solution. The most recent error I've encountered is one I can't figure out how to fix, so I'm hoping I can get some suggestions here. The mixin throws when it tries to call this._createMethodObserver. Here's the relevant code, including the document I'm trying to access. I also attached a screenshot of the error.
//my-element.js
static get properties() {
return {
pid: String,
patient: {
type: Object,
doc: 'patients/{pid}',
live: true
}
}
}
//end my-element.js
//firestore-mixin.js
_firestoreBind(name, options) {
const defaults = {
live: false,
observes: [],
}
const parsedPath = parsePath(options.doc || options.collection);
const config = Object.assign({}, defaults, options, parsedPath);
const type = config.type =
config.doc ? 'doc' : config.collection ? 'collection' : undefined;
this._firestoreProps[name] = config;
const args = config.props.concat(config.observes);
console.log('args:', args)
// What can this be replaced with?
// ----------------------------------------------------------------------
if (args.length > 0) {
// Create a method observer that will be called every time
// a templatized or observed property changes
const observer =
`_firestoreUpdateBinding('${name}', ${args.join(',')})`
this._createMethodObserver(observer);
}
// ----------------------------------------------------------------------
this._firestoreUpdateBinding(name, ...args.map(x => this[x]));
}
//end firestore-mixin.jsI tried simply removing the call, but the patient property remains undefined. Any suggestions would be greatly appreciated!
Browsers Affected
- Chrome
