diff options
Diffstat (limited to 'js/dojo/dojox/wire/demos/markup/demo_TopicWiring.html')
| -rw-r--r-- | js/dojo/dojox/wire/demos/markup/demo_TopicWiring.html | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/js/dojo/dojox/wire/demos/markup/demo_TopicWiring.html b/js/dojo/dojox/wire/demos/markup/demo_TopicWiring.html new file mode 100644 index 0000000..b56fa6b --- /dev/null +++ b/js/dojo/dojox/wire/demos/markup/demo_TopicWiring.html @@ -0,0 +1,84 @@ +<!-- + This file demonstrates how the dojox.wire code can be used to do declarative + wiring of events. Specifically, it shows how you can publish and subscribe + to topics. In this case the setting of a value on one textbox triggers a + publish of that value to a topic. Another invoke is wired to fire when + values are published to that topic which is then displayed in another + textbox. +--> +<html> +<head> + <title>Sample Topic Wiring</title> + <style type="text/css"> + + @import "../../../../dijit/themes/tundra/tundra.css"; + @import "../../../../dojo/resources/dojo.css"; + @import "../../../../dijit/tests/css/dijitTests.css"; + @import "../TableContainer.css"; + + .splitView { + width: 90%; + height: 90%; + border: 1px solid #bfbfbf; + border-collapse: separate; + } + </style> + + <script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script> + <script type="text/javascript"> + dojo.require("dojo.parser"); + dojo.require("dojox.wire"); + dojo.require("dojox.wire.ml.Invocation"); + dojo.require("dojox.wire.ml.DataStore"); + dojo.require("dojox.wire.ml.Transfer"); + dojo.require("dojox.wire.ml.Data"); + + dojo.require("dijit.form.TextBox"); + </script> +</head> + +<body class="tundra"> + + <!-- Layout --> + <font size="3"><b>Demo of Topic Wiring</b></font><br/><br/> + This demo shows how you can wire events to publish to a topic as well as receive topic events + <br/> + <br/> + <table> + <tr> + <td> + <div dojoType="dijit.form.TextBox" jsId="inputField" value="" size="50" intermediateChanges="true"></div> + </td> + </tr> + <tr> + <td> + <div dojoType="dijit.form.TextBox" jsId="targetField1" value="" disabled="true" size="50"></div> + </td> + </tr> + </table> + + + <!-------------------------------- Using dojox.wire, declaratively wire up the widgets. ---------------------------> + + <!-- + Whenever a key is entered into the textbox, publish the value of it to a topic. + --> + <div dojoType="dojox.wire.ml.Action" + id="action1" + trigger="inputField" + triggerEvent="onChange"> + <div dojoType="dojox.wire.ml.Invocation" topic="sampleTopic" parameters="inputField.value"></div> + </div> + + <!-- + Whenever a value is published to a topic, set it as the value of the textbox by using Transfer to transfer the value from the + topic publish to the target property. The underlying wire code will invoke the proper setter for the target, in this case + it will invoke the dijit 'attr' function. + --> + <div dojoType="dojox.wire.ml.Action" + id="action2" + triggerTopic="sampleTopic"> + <div dojoType="dojox.wire.ml.Transfer" target="targetField1.value" source="arguments[0]"></div> + </div> +</body> +</html> |
