Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/remotestorage/remotestorage-widget
⬡ Connect widget for remoteStorage.js
https://github.com/remotestorage/remotestorage-widget
nobackend offline-first remotestorage unhosted
Last synced: 5 days ago
JSON representation
⬡ Connect widget for remoteStorage.js
- Host: GitHub
- URL: https://github.com/remotestorage/remotestorage-widget
- Owner: remotestorage
- Created: 2015-05-06T17:10:56.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-09T13:53:34.000Z (about 1 month ago)
- Last Synced: 2024-10-09T16:52:55.486Z (about 1 month ago)
- Topics: nobackend, offline-first, remotestorage, unhosted
- Language: HTML
- Homepage: https://remotestorage.io
- Size: 1.31 MB
- Stars: 28
- Watchers: 14
- Forks: 16
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - remotestorage/remotestorage-widget - ⬡ Connect widget for remoteStorage.js (others)
README
# remotestorage-widget
[![npm](https://img.shields.io/npm/v/remotestorage-widget.svg)](https://www.npmjs.com/package/remotestorage-widget)
A ready-to-use connect/sync widget, as add-on library for
[remoteStorage.js](https://github.com/remotestorage/remotestorage.js/).## Usage
```js
import RemoteStorage from 'remotestoragejs';
import Widget from 'remotestorage-widget';// ...
const remoteStorage = new RemoteStorage(/* options */);
remoteStorage.access.claim('bookmarks', 'rw');
const widget = new Widget(remoteStorage);
widget.attach();// ...
```## Configuration
The widget has some configuration options to customize the behavior:
| Option | Description | Type | Default |
|---|---|---|---|
| `leaveOpen` | Keep the widget open when user clicks outside of it | Boolean | `false` |
| `autoCloseAfter` | Timeout after which the widget closes automatically (in milliseconds). The widget only closes when a storage is connected. | Number | `1500` |
| `skipInitial` | Don't show the initial connect hint, but show sign-in screen directly instead | Boolean | `false` |
| `logging` | Enable logging for debugging purposes | Boolean | `false` |
| `modalBackdrop` | Show a dark, transparent backdrop when opening the widget for connecting an account. `true` shows backdrop everywhere, `false` turns it off everywhere. Default is to only show it on small screens. | Boolean, String | `"onlySmallScreens"` |Example:
```js
const widget = new Widget(remoteStorage, { autoCloseAfter: 2000 });
```## Available Functions
`attach(elementID)` - Attach the widget to the DOM and display it. You can
use an optional element ID that the widget should be attached to.
Otherwise it will be attached to the body.While the `attach()` method is required for the widget to be actually
shown, the following functions are usually not needed. They allow for
fine-tuning the experience.`close()` - Close/minimize the widget to only show the icon.
`open()` - Open the widget when it's minimized.
`toggle()` - Switch between open and closed state.
## Development / Customization
Install deps:
npm install
Build, run and watch demo/test app:
npm start
The demo app will then be served at http://localhost:8008