85 lines
2.7 KiB
HTML
85 lines
2.7 KiB
HTML
<!--
|
|
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>
|