Skip to content

darrencocco/moodle-tool_realtime

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real time events

How to use in plugins

Notify about an event in PHP:

\tool_realtime\api::notify($context, $component, $area, $itemid, $payload);

Subscribe and listen to events:

Subscribe in PHP:

\tool_realtime\api::subscribe($context, $component, $area, $itemid);

Listen in Javascript:

require(['core/pubsub', 'tool_realtime/api'], function(PubSub, RealtimeApi) {
    PubSub.subscribe(RealtimeApi.channelName(context, component, area, itemid),
        function(eventData) {
            // access context, component, area, itemid, payload as keys in event data
            // example for context
            document.write(eventData['context']);
            // access payload by key
            document.write(eventData['payload']['testkey']);
        }
    );
});

OR Dynamic Javascript Subscription Initiliase in PHP:

tool_realtime\api::init();

then in Javascript subscribe using:

require(['core/pubsub', 'tool_realtime/events', 'tool_realtime/api'], function(PubSub, RealTimeEvents, api) {
    api.subscribe(context, component, area, itemid, function(eventData) {
        // access context, component, area, itemid, payload as keys in event data
        // example for context
        document.write(eventData['context']);
        // access payload by key
        document.write(eventData['payload']['testkey']);
    });
});

TODO: Connection lost JS event, change the favicon, etc.

About

Real time events MDL-65795

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 90.0%
  • JavaScript 7.6%
  • Gherkin 2.4%