]> git.pond.sub.org Git - eow/blob - 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
1 <html>
2 <head>
3         <title>Cometd chat / Operator Page</title>
4
5         <style type="text/css">
6                 @import "chat.css";
7                 @import "../../tests/css/dijitTests.css"; 
8                 @import "../../themes/tundra/tundra.css";
9                 @import "../../../dojox/widget/SortList/SortList.css";
10
11                 html, body { margin:0; padding:0; height:100%; width:100%; overflow:hidden; } 
12
13                 #status { position:absolute; top:5px; right:25px; } 
14                 #mainPane { background:#fff; }          
15         </style>
16
17         <script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug:true, parseOnLoad:false"></script>
18         <script type="text/javascript" src="../../../dijit/tests/_testCommon.js"></script>
19         <script type="text/javascript" src="room.js"></script>
20         <script type="text/javascript">
21                 dojo.require("dijit.Dialog"); 
22                 dojo.require("dijit.layout.SplitContainer");            
23                 dojo.require("dijit.layout.LayoutContainer");
24                 dojo.require("dijit.layout.TabContainer");
25                 dojo.require("dijit.layout.ContentPane"); 
26                 dojo.require("dijit.form.Button");
27
28                 // custom widget created for this demo: 
29                 dojo.require("dojox.widget.SortList");
30                 
31                 dojo.require("dojo.parser");
32
33                         // not for production use?      
34                         //dojox.cometd.init("http://comet.sitepen.com:9000/cometd"); 
35
36                         var control = {
37                                 _chats: [],
38                                 _getAlert: function(e){
39                                         console.log(e); 
40                                         if (!this._chats[(e.data.user)] && (operator != e.data.user)){
41                                                 dojox.cometd.subscribe("/chat/demo/"+e.data.joined,this,"_privateChat");
42         
43                                                 var tabNode = document.createElement('div');
44                                                 tabNode.id = "chatWith" + e.data.user; 
45                                                 var chatNode = document.createElement('div');
46                                                 chatNode.id = e.data.user + "Widget";
47                                                 tabNode.appendChild(chatNode);
48                                                 var newTab = new dijit.layout.ContentPane({
49                                                         title: e.data.user,
50                                                         closable: true
51                                                 },tabNode);
52                                                 dijit.byId('tabView').addChild(newTab);
53                                                 var chat = new dijit.demos.chat.Room({
54                                                         roomId: e.data.joined,
55                                                         registeredAs: operator
56                                                 },chatNode);
57                                                 chat.startup();
58                                                 this._chats[(e.data.user)]=true;
59                                         }
60                                 },
61
62                                 _privateChat: function(e){
63                                         var thisChat = dijit.byId(e.data.user+"Widget") || false;
64                                         if (thisChat) { thisChat._chat(e); }
65                                 }
66                         };
67
68                         function registerOperator(){
69                                 dijit.byId('loginDialog').hide(); 
70
71                         }
72
73                         dojo.addOnLoad(function(){ 
74                                 dojo.parser.parse(dojo.body());
75                                 // dojox.cometd.subscribe("/chat/demo/poundDojo",control,"_getAlert");
76                                 var widget = dijit.byId('userList');
77                                 for (var i = 0; i<50; i++){
78                                         var node = document.createElement('li');
79                                         node.innerHTML = i+": list item sample";
80                                         widget.containerNode.appendChild(node);
81                                 }
82                                 widget.onSort();
83                         });
84         </script>
85 </head>
86 <body>
87 <div dojoType="dijit.layout.LayoutContainer" style="width:100%; height:100%;">
88         <div dojoType="dijit.layout.SplitContainer" orientation="vertical" style="height:100%" layoutAlign="client" sizerWidth="7">
89                 <div dojoType="dijit.layout.SplitContainer" orientation="horizontal" sizerWidth="7" activeSizing="true" layoutAlign="top" sizeShare="80">
90                         <div id="mainPane" dojoType="dijit.layout.ContentPane" title="Home" style="padding:8px;" sizeShare="80" layoutAlign="left" style="background:#fff;">
91                                 <h3>Dojo community chat demo</h3>
92                                 <h2>NON-WORKING PROTOTYPE</h2>
93
94                                 <button dojoType="dijit.form.Button">Login 
95                                         <script type="dojo/method" event="onClick">
96                                                 console.log('foo?');
97                                                 dijit.byId('loginDialog').show();
98                                         </script>
99                                 </button>
100
101                         </div>
102                         <div title="Users in #dojo" id="userList" dojoType="dojox.widget.SortList" sizeShare="20" sizeMin="15" layoutAlign="right"></div>
103                 </div>
104                 <div dojoType="dijit.layout.ContentPane" sizeShare="20" layoutAlign="bottom">
105                                 bottom. (input area)
106                 </div>  
107         </div>
108 </div>
109 <div dojoType="dijit.Dialog" id="loginDialog" title="Select Username:">
110         Name: <input type="text" name="username" id="opName" value="" /> 
111         <input  type="submit" value="login" onclick="registerOperator()"/>      
112 </div>
113 </body>
114 </html>