Skip to content

jQuery plugin to easily synchronize UIs across subscribed clients.

Notifications You must be signed in to change notification settings

TimHeckel/SignalRamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SignalRamp

jQuery.signalRamp.js is a lightweight jQuery plugin that synchronizes UIs across all subscribed clients. Leveraging SignalR and SignalGrr as a SignalR proxy server, SignalRamp can quickly turn any segment of your HTML into a live wire for instant synchronization:

You can visit the project's homepage here.

Given a snippet of HTML:

<div id="holdElements">
    <input type="text" id="txtFirst" />
</div>

You can simply call the below to automatically sychronize this data

$("#holdElements").signalRamp({proxyName: 'someUniqueId'});

SignalRamp is automatically configured to leverage the SignalR proxy server provided by SignalGrr, so once you've wired up your page with the above, bring up the page in two separate browsers to see the sync happen in real-time. The index.html page has a complete example.

Below are all the configurable options

$("#holdElements").signalRamp({
      proxyName: 'uniqueName' //this string must be shared among all collaborating UIs
      , sensibility: 0 //defaults to 100 -- determines how often to send the keystrokes back and forth
      , url: '' //change the URL of the signalR proxy, defaults to http://signalGrr.apphb.com
      , bindable: {
        click: '' //name of the css class that triggers click synchronization (defaults to signalRampClick)
        , hover: '' //name of the css class that triggers click synchronization (defaults to signalRampHover)
        , mousedown: '' //name of the css class that triggers click synchronization (defaults to signalRampMouseDown)
        , mouseup: '' //name of the css class that triggers click synchronization (defaults to signalRampMouseUp)
      }
      , callbacks: {
          bridgeStarted: function (name) {
            //if no proxyName is specified, a unique one will be generated and provided here
          }
          , valueChanged: function (id, val) {
            //fired whenever the value changes on wired UI elements
          }
          , checkChanged: function (id, check) {
            //fired whenever the checked state changes on wired UI elements
          }
      }
  });

You can attach any of the bindable class names to elements to syncronize the corresponding mousedown, mouseup, hover (mouseover, mouseout) or click events in the UI.

About

jQuery plugin to easily synchronize UIs across subscribed clients.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published