1.0.18 • Published 3 years ago

rxcollection-subscriber v1.0.18

Weekly downloads
24
License
Apache-2.0
Repository
github
Last release
3 years ago

RxCollection Subscriber

Build & Publish to npm

A powerful tool built on top of RxCollection that allows you to efficiently display real-time data coming from a RxDB in any way you can imagine.

Renderless component that reacts on VM (criteria) changes for RxDB's collections (RxCollection).

Features

  • Reacts on criteria change;
  • State management;
  • Selects / Deselects items;
  • Lets you keep hold of IDs you're working with;

Usage

import Subscriber from 'rxcollection-subscriber'

const sub1 = new Subscriber(collection)
const sub2 = new Subscriber(collection, { criteria: { limit: 3 } })

console.log(sub1.criteria) // the view model.
sub1.criteria.index = 2
console.log(sub1.items) // render this -> main data holder

// select a document
sub1.select(sub1.ids[0])

// get the active RxDocument
console.log(sub1.selectedDoc)

Options

keytypedescriptiondefault
criteriaCriteriaInitial criteria to subscribe with. also applies to lazy subscribers{ limit: 25, index: 0, sort: {}, filter: undefined }
fieldsall / string[]Fields the .items holder should contain for items. Fields starting with _ such as _id or _rev are always contained.'all'
multipleSelectboolAllows multiple ids & documents to be selectedfalse
lazybooldoes not subscribe on constructfalse
progressivePagingboolwhenever the index key in criteria changes / increases, results will not be paginated but appended to previousfalse
autoSelectOnCRUDboolif a new document gets added / removed from the collection, it'll immediately get selectedfalse

API

commanddescription
select( ids : string | string[] )This works in 2 ways. With multipleSelect option enabled it adds / removees the itemId from the .selectedIds list, otherwise it just selects / deselects that item. If the render function is used, this is cached in localStorage
render( options ?: RenderOptions )Renders the data. Only works in browser, client-side.

Contribute

License

Apache-2.0

Footnotes

Compatibility

  • Works in Node & Browser (IE 11+);
  • Compatible with any framework;
1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.1-3.1

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago