]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dijit/demos/chat/community.html
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dijit / demos / chat / community.html
diff --git a/static/dojo-release-1.1.1/dijit/demos/chat/community.html b/static/dojo-release-1.1.1/dijit/demos/chat/community.html
new file mode 100644 (file)
index 0000000..4c208a0
--- /dev/null
@@ -0,0 +1,114 @@
+<html>
+<head>
+       <title>Cometd chat / Operator Page</title>
+
+       <style type="text/css">
+               @import "chat.css";
+               @import "../../tests/css/dijitTests.css"; 
+               @import "../../themes/tundra/tundra.css";
+               @import "../../../dojox/widget/SortList/SortList.css";
+
+               html, body { margin:0; padding:0; height:100%; width:100%; overflow:hidden; } 
+
+               #status { position:absolute; top:5px; right:25px; } 
+               #mainPane { background:#fff; }          
+       </style>
+
+       <script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug:true, parseOnLoad:false"></script>
+       <script type="text/javascript" src="../../../dijit/tests/_testCommon.js"></script>
+       <script type="text/javascript" src="room.js"></script>
+       <script type="text/javascript">
+               dojo.require("dijit.Dialog"); 
+               dojo.require("dijit.layout.SplitContainer");            
+               dojo.require("dijit.layout.LayoutContainer");
+               dojo.require("dijit.layout.TabContainer");
+               dojo.require("dijit.layout.ContentPane"); 
+               dojo.require("dijit.form.Button");
+
+               // custom widget created for this demo: 
+               dojo.require("dojox.widget.SortList");
+               
+               dojo.require("dojo.parser");
+
+                       // not for production use?      
+                       //dojox.cometd.init("http://comet.sitepen.com:9000/cometd"); 
+
+                       var control = {
+                               _chats: [],
+                               _getAlert: function(e){
+                                       console.log(e); 
+                                       if (!this._chats[(e.data.user)] && (operator != e.data.user)){
+                                               dojox.cometd.subscribe("/chat/demo/"+e.data.joined,this,"_privateChat");
+       
+                                               var tabNode = document.createElement('div');
+                                               tabNode.id = "chatWith" + e.data.user; 
+                                               var chatNode = document.createElement('div');
+                                               chatNode.id = e.data.user + "Widget";
+                                               tabNode.appendChild(chatNode);
+                                               var newTab = new dijit.layout.ContentPane({
+                                                       title: e.data.user,
+                                                       closable: true
+                                               },tabNode);
+                                               dijit.byId('tabView').addChild(newTab);
+                                               var chat = new dijit.demos.chat.Room({
+                                                       roomId: e.data.joined,
+                                                       registeredAs: operator
+                                               },chatNode);
+                                               chat.startup();
+                                               this._chats[(e.data.user)]=true;
+                                       }
+                               },
+
+                               _privateChat: function(e){
+                                       var thisChat = dijit.byId(e.data.user+"Widget") || false;
+                                       if (thisChat) { thisChat._chat(e); }
+                               }
+                       };
+
+                       function registerOperator(){
+                               dijit.byId('loginDialog').hide(); 
+
+                       }
+
+                       dojo.addOnLoad(function(){ 
+                               dojo.parser.parse(dojo.body());
+                               // dojox.cometd.subscribe("/chat/demo/poundDojo",control,"_getAlert");
+                               var widget = dijit.byId('userList');
+                               for (var i = 0; i<50; i++){
+                                       var node = document.createElement('li');
+                                       node.innerHTML = i+": list item sample";
+                                       widget.containerNode.appendChild(node);
+                               }
+                               widget.onSort();
+                       });
+       </script>
+</head>
+<body>
+<div dojoType="dijit.layout.LayoutContainer" style="width:100%; height:100%;">
+       <div dojoType="dijit.layout.SplitContainer" orientation="vertical" style="height:100%" layoutAlign="client" sizerWidth="7">
+               <div dojoType="dijit.layout.SplitContainer" orientation="horizontal" sizerWidth="7" activeSizing="true" layoutAlign="top" sizeShare="80">
+                       <div id="mainPane" dojoType="dijit.layout.ContentPane" title="Home" style="padding:8px;" sizeShare="80" layoutAlign="left" style="background:#fff;">
+                               <h3>Dojo community chat demo</h3>
+                               <h2>NON-WORKING PROTOTYPE</h2>
+
+                               <button dojoType="dijit.form.Button">Login 
+                                       <script type="dojo/method" event="onClick">
+                                               console.log('foo?');
+                                               dijit.byId('loginDialog').show();
+                                       </script>
+                               </button>
+
+                       </div>
+                       <div title="Users in #dojo" id="userList" dojoType="dojox.widget.SortList" sizeShare="20" sizeMin="15" layoutAlign="right"></div>
+               </div>
+               <div dojoType="dijit.layout.ContentPane" sizeShare="20" layoutAlign="bottom">
+                               bottom. (input area)
+               </div>  
+       </div>
+</div>
+<div dojoType="dijit.Dialog" id="loginDialog" title="Select Username:">
+       Name: <input type="text" name="username" id="opName" value="" /> 
+       <input  type="submit" value="login" onclick="registerOperator()"/>      
+</div>
+</body>
+</html>