tablink

1.0.2 • Public • Published

TabLink

Dispatch data and events to other browser tabs on the same domain.

npm install tablink

API

Dispatching

Send a message to all other open tabs. If the optional argument includeOwnTab is set to true, the event will also be handled in the current tab doing the dispatching.

tablink.dispatch(type, payload[, includeOwnTab]);

type
A case-sensitive string representing the event type.

payload
A string or an object of data. Anything that can be sent through JSON.stringify/parse.

includeOwnTab
Optional boolean. If true, the event will also be handled on the current tab.

Example:

tablink.dispatch('DISPLAY_LOGOUT_MODAL', {
  type: 'SESSION_TIMEOUT'
}, true);

Event listeners

tablink.on(type, listener);

type(String)
A case-sensitive string representing the event type to listen for.

listener (Function)
A callback function that receives the payload as its argument.

To remove the listener, invoke the function returned by on.

Example:

let unsubscribe = tablink.on('DISPLAY_LOGOUT_MODAL', (payload) => {
  showModal(payload.type);
});
 
// to stop listening
unsubscribe();

Subscribing to all events

tablink.subscribe(listener)

listener (Function)
The callback to be invoked any time an action has been dispatched

Adds a change listener. It will be called any time any action is dispatched. To unsubscribe, invoke the function returned by subscribe.

Example:

let unsubscribe = tablink.subscribe((type, payload) => {
    switch (type) {
        case 'TEST':
            // When a type of TEST is dispatched...
            break;
    }
});
 
// To unsubscribe
unsubscribe();

Package Sidebar

Install

npm i tablink

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

14.8 kB

Total Files

10

Last publish

Collaborators

  • kevinokerlund