Skip to content

Latest commit

 

History

History
108 lines (73 loc) · 2.61 KB

connectPublisher.rst

File metadata and controls

108 lines (73 loc) · 2.61 KB

#format dojo_rst

Project owner:Alex Russell
Available:since V0.9

Ensure that everytime an event is called, a message is published on the topic.

dojo.connectPublisher is an automation of this common form:

Dojo 1.7 (AMD)

require(["dojo/_base/connect"], function(connect) {
  connect.connect(myObject, "myEvent", function(){
    connect.publish("/some/topic/name", arguments);
  });
});

Which becomes:

require("dojo/_base/connect", function(connect) {
  connect.connectPublisher("/some/topic/name", myObject, "myEvent");
});

Dojo < 1.7

dojo.connect(myObject, "myEvent", function(){
     dojo.publish("/some/topic/name", arguments);
});

Which becomes:

dojo.connectPublisher("/some/topic/name", myObject, "myEvent");
// Dojo 1.7 (AMD)
require(["dojo/_base/connect"], function(connect) {
  var foo = connect.connectPublisher(topic, obj, event);
});
// Dojo < 1.7
var foo = dojo.connectPublisher(topic, obj, event);

Returns a handle which can be passed to dojo.disconnect() to disable subsequent automatic publication on the topic.

Parameter Type Description
topic String The name of the topic to publish.
obj Object|null The source object for the event function. Defaults to dojo.global if null.
event String The name of the event function in obj. I.e. identifies a property obj[event].

Programmatic example

<script type="text/javascript">
  // Dojo 1.7 (AMD)
  require(["dojo/_base/connect"], function(connect) {
     connect.connectPublisher("/ajax/start", dojo, "xhrGet");
  });
  // Dojo < 1.7
  dojo.connectPublisher("/ajax/start", dojo, "xhrGet");
</script>