Skip to content

Commit

Permalink
Added Publisher/Subscriber example
Browse files Browse the repository at this point in the history
  • Loading branch information
rgr-myrg committed Dec 23, 2011
1 parent 16e520e commit a2109e9
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 11 deletions.
7 changes: 6 additions & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ do :
files="--js src/core.js --js src/eventsignal.js"
;;
esac
case "$i" in
"publisher")
files="--js src/core.js --js src/eventsignal.js --js src/publisher.js"
;;
esac
case "$i" in
"mvc")
files="--js src/core.js --js src/singletonfactory.js --js src/observable.js --js src/observer.js --js src/mvc.js"
Expand All @@ -31,7 +36,7 @@ do :
esac
case "$i" in
"full")
files="--js src/core.js --js src/singletonfactory.js --js src/observable.js --js src/observer.js --js src/eventsignal.js --js src/mvc.js"
files="--js src/core.js --js src/singletonfactory.js --js src/observable.js --js src/observer.js --js src/eventsignal.js --js src/mvc.js --js src/publisher.js"
;;
esac
artifact="build/devshop-"$i".js"
Expand Down
10 changes: 5 additions & 5 deletions build/devshop-full.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions examples/devshop-full.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

81 changes: 81 additions & 0 deletions examples/pubsub.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' lang='en' xml:lang='en:us'>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>DevShop.Me :: Event Signal</title>
<style>
</style>
<script type="text/javascript" src="devshop-full.js"></script>
<script type="text/javascript">
var Echo={
onRegister: function(){
console.log('onRegister');
return {
ON_KEYUP: this.onKeyUp
};
},
onKeyUp: function(msg){
document.getElementById('echo').innerHTML=msg;
}
};
var Mirror={
onRegister: function(){
return {
ON_KEYUP: this.onKeyUp
};
},
onKeyUp:function(msg){
var arr=msg.split('');
var msg='';
if(arr.length>0)
for(var x=arr.length-1;x>=0;x--)
msg+=arr[x];
document.getElementById('mirror').innerHTML=msg;
}
};
var Vertical={
onRegister: function(){
return {
ON_KEYUP: this.onKeyUp
};
},
onKeyUp:function(msg){
var arr=msg.split('');
var msg=arr.join('<br>');
document.getElementById('vertical').innerHTML=msg;
}
};
var Events={
ON_KEYUP: new DevShop.EventSignal
};
var UI=new DevShop.Publisher();
UI.registerEvents(Events);
UI.registerSubscriber(Echo);
UI.registerSubscriber(Mirror);
UI.registerSubscriber(Vertical);
UI.onKeyUp=function(){
var data = document.getElementById('box').value;
this.notify(Events.ON_KEYUP, data);
};
</script>
</head>
<body>
<form>
<table>
<tr>
<td>Type in this box:</td>
<td><input onkeyup="UI.onKeyUp()" type="text" id="box" name="box" value="" size="50"/></td>
</tr>
<tr>
<td>Echo:</td><td><div id="echo"></div></td>
</tr>
<tr>
<td>Mirror:</td><td><div id="mirror"></div></td>
</tr>
<tr>
<td valign="top">Vertical:</td><td valign="top"><div id="vertical"></div></td>
</tr>
</table>
</form>
</body>
</html>

0 comments on commit a2109e9

Please sign in to comment.