backbone-publication

Supports backbone classes backed by `publication-client` reactive queries.

Usage no npm install needed!

<script type="module">
  import backbonePublication from 'https://cdn.skypack.dev/backbone-publication';
</script>

README

backbone-publication

Build Status

backbone-publication implements the boilerplate code that is required to make backbone and our publication based system (through publication-client) play nicely together. To use these classes, you simply need to instantiate them with the necessary reactive queries from a publication-client. This normally can be done in the bootstrapping process. For instance:

// During the bootstrapping process we normally initialize most
// collections/models - using `backbone-publication` collections/models is no
// different.

var featureCollection = new FeatureCollection(initialPayload.features, {
  // pubClient is initialized by using the `publication-client` constructor.
  reactiveQuery: pubClient.getCollection('features').find({ userId: getUser().id }),
  waitOn: pubClient.subscribe('features', ['branding'])
}));

Where FeatureCollection is defined as:

import { PublicationCollection } from 'backbone-publication';

// Note that we only need to extend the Publication[Collection,Model]s if we
// need to add custom behavioural overrides.
var FeatureCollection = PublicationCollection.extend({
  // Code removed for example purposes.
});

export default FeatureCollection;