Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%--
- Document : Viewp1
- Created on : May 4, 2012, 3:23:07 PM
- Author : raju.t
- --%>
- <%@page contentType="text/html" pageEncoding="UTF-8" import="org.jivesoftware.smack.*,
- org.jivesoftware.smackx.workgroup.agent.*,
- org.jivesoftware.smackx.muc.*,
- org.jivesoftware.smack.packet.*,
- com.in10s.chat.*,
- javax.swing.JOptionPane
- "%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Chat Example</title>
- <link rel="stylesheet" type="text/css" href="../css/defaultTheme.css" />
- <link rel="stylesheet" type="text/css" href="../css/Home.css" />
- <link rel="stylesheet" type="text/css" href="../ext4/resources/css/ext-all.css" />
- <script type="text/javascript" src="../ext4/ext-all.js"></script>
- <script type="text/javascript" src="../ext4/PagingMemoryProxy.js"></script>
- <script type="text/javascript" src="../ext4/bootstrap.js"></script>
- <%-- <script type="text/javascript" src="ext4/chat/chat.js"></script>--%>
- <!--<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>-->
- <script type='text/javascript' src='<%= request.getContextPath()%>/dwr/interface/room.js'></script>
- <script type='text/javascript' src='<%= request.getContextPath()%>/dwr/engine.js'></script>
- <script type='text/javascript' src='<%= request.getContextPath()%>/dwr/interface/offer.js'></script>
- <script src="../js/GeneralForm.js"></script>
- <script src="../js/Protocol.js"></script>
- <script src="../js/Request.js"></script>
- </head>
- <body id="body">
- <%! Connection connection = null;
- MultiUserChat chat;
- String agentname;
- %>
- <%
- agentname = request.getParameter("agentname");
- String agentpwd = request.getParameter("agentpwd");
- System.out.println("in viewp1.jsp :::");
- System.out.println("agentname :: " + agentname);
- System.out.println("agentpwd :: " + agentpwd);
- // if (agentname!=null){
- //XMPPConnection.DEBUG_ENABLED = true;
- //the following lines are for conection with server
- ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration("rsweb37", 5222);
- connection = new XMPPConnection(connectionConfiguration);
- connection.connect();
- // connection.login("admin", "free");
- // agentname = "admin";
- connection.login(agentname, agentpwd);
- //The following lines are for agent to login
- AgentSession agentSession = new AgentSession("demo@workgroup.rsweb37", connection);
- agentSession.setOnline(true);
- agentSession.addOfferListener(new OfferListenereClass(agentname));
- session.setAttribute("result", agentSession);
- SingletonGlobalUtils singletonGlobalUtils = new SingletonGlobalUtils();
- GlobalUtils globalUtils = singletonGlobalUtils.getInstance(agentname);
- globalUtils.setAgentSession(agentSession);
- globalUtils.setConnection(connection);
- MultiUserChat.addInvitationListener(connection, new Send(agentname));
- MultiUserChat.removeInvitationListener(connection, new Send(agentname));
- //Create a multiusechat InvitationListener
- MultiUserChat.addInvitationListener(connection, new Accept(agentname));
- MultiUserChat muc = null;
- globalUtils.getConnection().addPacketListener(new Accept(agentname), null);
- // GlobalUtils.setMultiuserchat(muc);
- //JOptionPane.showConfirmDialog(null,"################## In Viewp1.jsp ##################"+ agentname);
- //}
- %>
- <script>
- name='<%= agentname%>';
- </script>
- <script type="text/javascript" src="in10sQueryBuilderTemplate.js"></script>
- <div id="center1" class="x-hide-display">
- hsdgfsgdshdkhkfsh
- </div>
- <div id="center2" class="x-hide-display">
- David
- </div>
- <div id="center3" class="x-hide-display">
- John
- </div>
- <div id="center4" class="x-hide-display">
- David
- </div>
- <div id="center5" class="x-hide-display">
- John
- </div>
- <div id="center6" class="x-hide-display">
- David
- </div>
- <div id="center7" class="x-hide-display">
- John
- </div>
- <div id="center8" class="x-hide-display">
- David
- </div>
- </html>
- <script>
- Ext.require(['*']);
- var panelID;
- var userName;
- var agentName="";
- function changeAgentStatus(res){
- console.info(res);
- // alert('changeAgentStatus res :: '+res.toSource());
- //[{'demo@rsweb37':"Online",'admin@rsweb37':"Do not disturb"}]
- var statusJObj = res.data[0];
- var queueArr = res.data[1];
- // alert('queueArr :: '+queueArr.toSource())
- var rootNode = Ext.getCmp('OnlineAgents').getRootNode();
- for(var j=0;j<queueArr.length;j++){
- var queueNode = rootNode.findChild('nodeName',queueArr[j], true);
- for(k in statusJObj){
- var agentName = k.split('@')[0];
- // alert('agentName is :: '+agentName);
- var nodeObj =queueNode.findChild('nodeName',agentName, true);
- // alert(agentName+' status is : '+statusJObj[k]);
- if(nodeObj!=null ){
- if(statusJObj[k]=='Online'){
- nodeObj.data.iconCls ='online_icon';
- }else if (statusJObj[k]=='Do Not Disturb'){
- }else if (statusJObj[k]=='Away'){
- }
- // alert('nodeObj 22222:: '+nodeObj.toSource());
- }
- }
- }
- <%-- for(k in statusJObj){
- k = k.split('@')[0];
- alert('k :: '+k);
- var nodeObj =rootNode.findChild('nodeName',k, true);
- if(nodeObj!=null){
- alert('nodeObj :: '+nodeObj.toSource());
- //nodeObj.raw.iconCls ='online_icon';
- nodeObj.data.iconCls ='online_icon';
- // Ext.getCmp('OnlineAgents').getView().refresh();
- alert('nodeObj 22222:: '+nodeObj.toSource());
- }
- }--%>
- Ext.getCmp('OnlineAgents').getView().refresh();
- }
- var agent_data = {
- name: '',
- msg:''
- };
- var AgentChat = new Ext.XTemplate('<p>{name}: {msg}</p>');
- Ext.onReady(function() {
- var data1 = {
- name: 'raju',
- msg:''
- };
- var agentTabCount=0;
- var CurrentAgentTab=new Array();
- var agent1 = new Ext.XTemplate(
- '<p>{name}: {msg}</p>');
- Ext.tip.QuickTipManager.init();
- //var cw;
- var p1DivSrc = "<iframe frameborder='0' scrolling='no' width='100%' height='100%' src='two-trees.html'/>";
- var p2DivSrc = "<iframe frameborder='0' scrolling='no' width='100%' height='100%' src='two-trees1.html'/>";
- Ext.create('Ext.Viewport', {
- layout: {
- type: 'border',
- renderTo: 'grid-example',
- padding: 5
- },
- defaults: {
- split: true
- },
- items: [
- // Left Panel starts here
- {
- region: 'west',
- collapsible: true,
- split: true,
- width: '30%',
- items: [{
- xytpe:'panel',
- height:'50%',
- autoScroll:true,
- title:'Customers',
- items:[{
- xtype: 'label',
- text: 'Waiting(4)/Chatting(2)',
- border:'1 5 5 1'
- },{
- xtype:'IntenseQuerybuilderTemplate'
- }]
- },
- {
- // xytpe:'panel',
- //height:'50%',
- // title:'Agents'
- xtype:'treepanel',
- scroll:true,
- id:'OnlineAgents',
- title:'Agents',
- scroll:true,
- height: 300,
- width: 800,
- rootVisible: false,
- listeners:{
- afterrender:function(){
- var prtobj = new Protocol();
- var userInput = new Object();
- userInput.agentName = name;
- prtobj.addEntry('','loadQueue','OnlineAgents',userInput,'response','tree');
- prtobj.submitEntries();
- prtobj.addEntry('','getOnlineAgents','changeAgentStatus',userInput,'response','function');
- prtobj.submitEntries();
- },
- itemclick:function(oView, oModel, oItem, oIndex, oEvent, eOpt){
- //create Panel
- var AgentName=oModel.data.nodeId;
- alert("Agent Clicked "+ AgentName);
- var agentFlag=false;
- var i=0;
- for (i=0;i<=CurrentAgentTab.length;i++)
- {
- alert(!CurrentAgentTab[i]==AgentName+":::Current Agent Array Lenght "+CurrentAgentTab.length);
- if(!CurrentAgentTab.length==0){
- if(CurrentAgentTab[i]==AgentName){
- alert(AgentName+"Creating Agent Chat window "+CurrentAgentTab[i]);
- agentFlag=true;
- alert("agein ::: "+agentFlag);
- }
- }
- }
- if(oModel.data.leaf==true && !(agentFlag==true)){
- agentFlag=false;
- CurrentAgentTab[agentTabCount]=AgentName;
- agentTabCount++;
- var tabs=Ext.getCmp("AgentChat");
- var tab = tabs.add({
- // we use the tabs.items property to get the length of current items/tabs
- // title: 'Tab ' + (tabs.items.length + 1),
- title:AgentName,
- id:AgentName,
- closable:true,
- listeners:[{
- beforeclose : function (p,a){
- }
- }],
- items:[{xtype:'panel',
- iconCls: 'user',
- items:[{
- xtype:'panel',
- width:'100%',
- height:105,
- id:'panel'+AgentName
- },{
- xtype:'container',
- layout:{
- type:'hbox'
- },items:[{
- xtype:'textarea',
- height:40,
- id:'txtchat'
- },{
- xtype:'button',
- text:'Send',
- height:40,
- listeners:{
- click:function (a,e,d){
- var message = Ext.getCmp("txtchat").getValue();
- alert(name+"22222222222222222222222222222222222"+AgentName);
- room.sendmessageagent(name,message,AgentName);
- var panel= Ext.getCmp("panel"+AgentName);
- agent_data.name=name;
- agent_data.msg=message;
- AgentChat.append(panel.body,agent_data);
- Ext.getCmp("txtchat").setValue("");
- }
- }
- }]
- }]
- }]
- });
- tabs.setActiveTab(tab);
- renderTo:"AgentChat";
- }}
- },
- store:{
- xtype: 'store',
- fields: [
- { name: 'nodeId', type: 'string' },
- { name: 'nodeName',type: 'string'}
- ],
- root: {
- expanded: true,
- text: 'My Root',
- root: 'children'
- }
- <%--,
- sorters: [{
- property: 'text',
- direction: 'ASC'
- }]--%>
- },
- singleExpand: false,
- columns:[
- {
- xtype: 'treecolumn',
- flex: 2,
- sortable: true,
- dataIndex: 'nodeName'
- }
- ]
- }
- ]
- },
- // Left Panel ends
- // Center Panel strats here
- {
- region: 'center',
- layout: 'border',
- border: false,
- items: [
- {
- region: 'center',
- title: 'Customer Chat',
- iconCls: 'customer_chat',
- tbar: [
- { xtype: 'button',text: 'logout',
- handler: function() {
- var xmlhttp;
- if (window.XMLHttpRequest)
- {// code for IE7+, Firefox, Chrome, Opera, Safari
- xmlhttp=new XMLHttpRequest();
- }
- else
- {// code for IE6, IE5
- xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
- }
- xmlhttp.open("GET","Logout.jsp",true);
- xmlhttp.send();
- }
- }
- ],
- //minHeight: 80,
- items: [ {
- xtype:'tabpanel',
- region: 'center', // a center region is ALWAYS required for border layout
- deferredRender: false,
- id:'tabp1',
- activeTab: 0, // first tab initially active
- items:[{
- xtype:'panel',
- title:'Chat',
- items:[{
- xtype:'panel',
- id:'mainp',
- text:'hai',
- height:100,
- autoScroll:true,
- html:'',
- listeners:{
- afterrender:function(){
- // alert("test")
- checkfornewmessages();
- }
- }
- },{
- xtype:'container',
- layout:{
- type:'hbox'
- },
- items:[{
- xtype:'htmleditor',
- id:'maine',
- height:83,
- width:730
- },
- {
- xtype:'button',
- text:'Send',
- Conf:null,
- id:'b1',
- height:83,
- width:50,
- buttonAlign:'left',
- handler: function() {
- // alert('default tab send called...')
- s=Ext.getCmp('maine').getValue();
- // Ext.getCmp('mainp').body.append('<font color="red"><b>'+s+'</b></font>');
- data1.name="Agent";
- data1.msg='<font color="red"><b>'+s+'</b></font>';
- agent1.append(Ext.getCmp('mainp').body,data1);
- Ext.getCmp('maine').setValue('');
- // room.sendmessage(null,message,obj.Conf);
- // alert('panel obj : '+Ext.getCmp('mainp').toSource())
- // Ext.getCmp('mainp').body.append('<font color="red"><b>'+"<br>"+"Agent::"+message+'</b></font><br>');
- }
- }]
- },
- {
- xtype:'tabpanel',
- //region: 'south', // a center region is ALWAYS required for border layout
- deferredRender: false,
- //title:'CustomerInformation',
- layout:{
- type:'hbox'
- },
- //id:'tabp2',
- activeTab: 0, // first tab initially active
- items:[
- {
- // contentEl: 'center5',
- xtype:'panel',
- title: 'Customer Info@@@@',
- iconCls: 'customer_info',
- width:200,
- height:90,
- closable: false,
- autoScroll: true
- }, {
- contentEl: 'center6',
- title: 'Chat History',
- width:200,
- height:90,
- iconCls: 'chat_history',
- closable: false,
- autoScroll: true
- },
- {
- contentEl: 'center7',
- title: 'Other Details',
- width:200,
- height:90,
- iconCls: 'other_details',
- closable: false,
- autoScroll: true
- }, {
- contentEl: 'center8',
- title: 'Other Details',
- width:200,
- height:90,
- iconCls: 'other_details',
- closable: false,
- autoScroll: true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- },
- // Center panel ends
- // Right panel strats here
- {
- region: 'east',
- collapsible: true,
- floatable: true,
- split: true,
- width: 200,
- minWidth: 120,
- minHeight: 140,
- items: [{
- region: 'center',
- collapsible: true,
- floatable: true,
- split: true,
- title: 'Quick Text',
- height:130,
- minHeight: 200,
- html: p2DivSrc
- },
- {
- region: 'south',
- split: true,
- title: 'Agent Chat',
- iconCls: 'agent_chat',
- height:200,
- collapsible:false,
- minHeight: 60,
- items: [ Ext.create('Ext.tab.Panel', {
- region: 'center', // a center region is ALWAYS required for border layout
- deferredRender: true,
- activeTab: 0,
- id:"AgentChat"// first tab initially active
- <%-- items: [{
- contentEl: 'center3',
- title: 'John',
- iconCls: 'user',
- closable: false,
- autoScroll: true
- } ]--%>
- })]
- }]
- }]
- });
- });
- var timeout;
- var timeIn;
- /**
- *This method checks for new messages
- */
- function checkfornewmessages(){
- // alert("checkfornewmessages");
- // alert(name)
- name='<%= agentname%>';
- // room.reveiceMesage(messageinsert,name);
- room.reveiceMesage(messageAgentinsert,name);
- // getSessionId();
- }
- var sess=null;
- // var buttonCount=0;
- var A_Name;
- function getSessionId(){
- // alert('getSessionId');
- A_Name='<%= agentname%>';
- // alert(A_Name);
- // offer.test(out,A_Name);
- offer.getOfferSessionId(sessionId,A_Name);
- }
- function out(s){
- // alert("test haaaaiiiii "+s);
- }
- function sessionId(sessionId){
- // alert("getOfferSessionId");
- if(sessionId!=null ){
- offer.getUserName(function(name){
- alert("offer Came");
- userName = name.replace('[','').replace(']','') ;
- templateObj.addNewRow(userName,sessionId);
- },sessionId,A_Name);
- }
- }
- var templateObj=Ext.create('QueryTemplate');
- var checkSess;
- function flag1(flag){
- if(flag==true && sess!=checkSess){
- templateObj.addNewRow('rajullllllllllll');
- };
- }
- /**
- * This method inserts the message in the Browser
- */
- var data2 = {
- name: 'raju',
- msg:''
- };
- var agent1 = new Ext.XTemplate(
- '<p>{name}: {msg}</p>');
- var time1=null;
- //----------------
- function messageinsert(messsage){
- // alert("message::"+messsage)
- if(messsage!=null){
- alert('in messageinsert method. messsage from client :: :: '+messsage)
- //alert('message recieved is : '+messsage)
- var msg=messsage.split("#");
- var from =msg[2].split("/");
- if(msg[1]!=time1){
- s=msg[0];
- data2.name=from[1];
- // alert("msg::"+s)
- room.getPanelID(function(id){
- // alert('id :: '+id);
- alert("3");
- if(id!=null){
- data2.msg='<font color="red"><b>'+s+'</b></font>';
- // alert("testsss")
- alert("DAT::"+agentName)
- if(from[1]!="agent"){
- alert("4");
- agent1.append(Ext.getCmp(id).body,data2);
- }
- }
- },from[0],A_Name);
- Ext.getCmp('maine').setValue('');
- time1=msg[1];
- }
- }
- //alert('after if loop...')
- }
- function messageAgentinsert(messsage){
- //alert("agent name::"+messsage)
- if(messsage!=null){
- alert('message recieved is : '+messsage)
- var msg=messsage.split("#");
- var from =msg[2].split("/");
- // var to=msg[3].split("@")[0];
- if(msg[1]!=time1){
- // alert("1");
- var from1 = from[0];
- agent_data.name=from1.split('@')[0];
- agent_data.msg=msg[0];
- var ag_name=(from1.split('@')[0]);
- // alert("From ::::::::::"+(Ext.getCmp('panel'+from1.split('@')[0])));
- alert("Loged in agent name is ,to whom i am sending the msg is:::"+ '<%= agentname%>' );
- alert("Message From Agent "+ag_name+"######################## Message to agent"+name);
- if(ag_name!=name ){
- if( (Ext.getCmp('panel'+from1.split('@')[0]))==undefined ){//&& (from1.split('@')[0])!=name ){
- // alert("in in in ");
- var tabs=Ext.getCmp("AgentChat");
- var tab = tabs.add({
- // we use the tabs.items property to get the length of current items/tabs
- // title: 'Tab ' + (tabs.items.length + 1),
- title:from1.split('@')[0],
- id:from1.split('@')[0],
- closable:true,
- listeners:[{
- beforeclose : function (p,a){
- }
- }],
- items:[{xtype:'panel',
- iconCls: 'user',
- items:[{
- xtype:'panel',
- width:'100%',
- height:105,
- id:'panel'+from1.split('@')[0]
- },{
- xtype:'container',
- layout:{
- type:'hbox'
- },items:[{
- xtype:'textarea',
- height:40,
- id:'txtchat'
- },{
- xtype:'button',
- text:'Send',
- height:40,
- listeners:{
- click:function (a,e,d){
- var message = Ext.getCmp("txtchat").getValue();
- // alert("sending names:::"+name+"----------"+from1.split('@')[0]);
- alert(name+"1111111111111111111111111111"+from1.split('@')[0]);
- room.sendmessageagent(name,message,from1.split('@')[0]);
- var panel= Ext.getCmp("panel"+from1.split('@')[0]);
- agent_data.name=name;
- agent_data.msg=message;
- AgentChat.append(panel.body,agent_data);
- Ext.getCmp("txtchat").setValue("");
- }
- }
- }]
- }]
- }]
- });
- tabs.setActiveTab(tab);
- renderTo:"AgentChat";
- }
- alert("2");
- AgentChat.append(Ext.getCmp('panel'+from1.split('@')[0]).body,agent_data);
- }
- Ext.getCmp('txtchat').setValue('');
- time1=msg[1];
- }
- }
- timeout=setTimeout("checkfornewmessages()", 3000);
- timeIn=setTimeout('getSessionId()', 3000);
- }
- <%-- var chatbox= document.getElementById("txtchat");
- document.onkeyup= function eventPress(evt){
- alert("funct");
- evt = (evt) ? evt : ((window.event) ? window.event : "");
- var enterPressed = ((document.all) ? evt.keyCode==13 : evt.which==13);
- if (enterPressed) {
- alert("alert");
- }
- else {
- }
- }--%>
- function checkForNewAgents(){
- }
- </script>
- </body>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement