1.0.2 • Published 6 years ago

tablink v1.0.2

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

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();