1.0.3 • Published 4 years ago

infinite-ui-event v1.0.3

Weekly downloads
6
License
MIT
Repository
github
Last release
4 years ago

infinite-ui-event

Fast and lightweight library for subscription to UI browser events.

Installation

npm i infinite-ui-event --save

Usage

import { subscribe, unsubscribe } from 'infinite-ui-event';

function eventHandler(payload) {
  console.log(payload);
}

let subscription = subscribe('scroll', eventHandler);

// Unsubscribe exact subscription
subscription.unsubscribe();

/*
 * Unsubscribe by event type and event handler.
 * Unsafe - it will unsubscribe all matching event handlers. They can have different throttle rates for eg.
 */
unsubscribe('scroll', eventHandler);

API

subscribe

Object subscribe(String eventType, Function callback, Object? options = {})

Subscribe to windows events such as scroll, resize, touchmove etc.

Payload

{
  type: <String>, // 'scroll', 'resize' etc.
  scroll: { // Scroll object is present only for 'scroll' and 'touchmove' events.
    delta: <Number>, // Delta of vertical scroll position.
    top: <Number> // Vertical scroll position.
  },
  resize: { // Resize object is present only for 'resize' event.
    delta: {
      height <Number>, // Delta of height.
      width <Number> // Delta of width.
    },
    height <Number>,
    width <Number>
  }
}

Options

{
  throttleRate <Number> // Default value is 50 (ms).
}

Return type

{
  unsubscribe <Function> // Unsubscribe this exact subscription.
}

unsubscribe

Object unsubscribe(String eventType, Function callback)

Unsubscribe by event type and event handler. Unsafe - it will unsubscribe all matching event handlers. They can have different throttle rates for eg.