Advertisement
rahul0611

Working Agent to agent Chat

May 30th, 2012
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 43.45 KB | None | 0 0
  1.  
  2. <%--
  3.     Document   : Viewp1
  4.     Created on : May 4, 2012, 3:23:07 PM
  5.     Author     : raju.t
  6. --%>
  7.  
  8. <%@page contentType="text/html" pageEncoding="UTF-8" import="org.jivesoftware.smack.*,
  9.        org.jivesoftware.smackx.workgroup.agent.*,
  10.        org.jivesoftware.smackx.muc.*,
  11.        org.jivesoftware.smack.packet.*,
  12.        com.in10s.chat.*,
  13.        javax.swing.JOptionPane
  14.  
  15.        "%>
  16. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  17.     "http://www.w3.org/TR/html4/loose.dtd">
  18.  
  19. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  20. <html>
  21.     <head>
  22.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  23.         <title>Chat Example</title>
  24.         <link rel="stylesheet" type="text/css" href="../css/defaultTheme.css" />
  25.         <link rel="stylesheet" type="text/css" href="../css/Home.css" />
  26.         <link rel="stylesheet" type="text/css" href="../ext4/resources/css/ext-all.css" />
  27.  
  28.         <script type="text/javascript" src="../ext4/ext-all.js"></script>
  29.         <script type="text/javascript" src="../ext4/PagingMemoryProxy.js"></script>
  30.         <script type="text/javascript" src="../ext4/bootstrap.js"></script>
  31.         <%--   <script type="text/javascript" src="ext4/chat/chat.js"></script>--%>
  32.  
  33.         <!--<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>-->
  34.  
  35.  
  36.         <script type='text/javascript' src='<%= request.getContextPath()%>/dwr/interface/room.js'></script>
  37.         <script type='text/javascript' src='<%= request.getContextPath()%>/dwr/engine.js'></script>
  38.         <script type='text/javascript' src='<%= request.getContextPath()%>/dwr/interface/offer.js'></script>
  39.  
  40.         <script src="../js/GeneralForm.js"></script>
  41.         <script src="../js/Protocol.js"></script>
  42.         <script src="../js/Request.js"></script>
  43.  
  44.  
  45.  
  46.  
  47.  
  48.     </head>
  49.     <body id="body">
  50.  
  51.  
  52.         <%!   Connection connection = null;
  53.             MultiUserChat chat;
  54.             String agentname;
  55.         %>
  56.         <%
  57.                     agentname = request.getParameter("agentname");
  58.                     String agentpwd = request.getParameter("agentpwd");
  59.                     System.out.println("in viewp1.jsp :::");
  60.                     System.out.println("agentname :: " + agentname);
  61.                     System.out.println("agentpwd :: " + agentpwd);
  62.                     //     if (agentname!=null){
  63.                     //XMPPConnection.DEBUG_ENABLED = true;
  64.                     //the following lines are for conection with server
  65.                     ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration("rsweb37", 5222);
  66.                     connection = new XMPPConnection(connectionConfiguration);
  67.                     connection.connect();
  68.                     // connection.login("admin", "free");
  69.                     // agentname = "admin";
  70.                     connection.login(agentname, agentpwd);
  71.  
  72.                     //The following lines are for agent to login
  73.                     AgentSession agentSession = new AgentSession("demo@workgroup.rsweb37", connection);
  74.                     agentSession.setOnline(true);
  75.                     agentSession.addOfferListener(new OfferListenereClass(agentname));
  76.                     session.setAttribute("result", agentSession);
  77.                     SingletonGlobalUtils singletonGlobalUtils = new SingletonGlobalUtils();
  78.                     GlobalUtils globalUtils = singletonGlobalUtils.getInstance(agentname);
  79.                     globalUtils.setAgentSession(agentSession);
  80.                     globalUtils.setConnection(connection);
  81.  
  82.                     MultiUserChat.addInvitationListener(connection, new Send(agentname));
  83.                     MultiUserChat.removeInvitationListener(connection, new Send(agentname));
  84.                     //Create a multiusechat InvitationListener
  85.                     MultiUserChat.addInvitationListener(connection, new Accept(agentname));
  86.                     MultiUserChat muc = null;
  87.                     globalUtils.getConnection().addPacketListener(new Accept(agentname), null);
  88.                     //   GlobalUtils.setMultiuserchat(muc);
  89.                     //JOptionPane.showConfirmDialog(null,"##################  In Viewp1.jsp ##################"+ agentname);
  90.                     //}
  91.         %>
  92.  
  93.         <script>
  94.             name='<%= agentname%>';
  95.         </script>
  96.         <script type="text/javascript" src="in10sQueryBuilderTemplate.js"></script>
  97.  
  98.         <div id="center1" class="x-hide-display">
  99.             hsdgfsgdshdkhkfsh
  100.         </div>
  101.         <div id="center2" class="x-hide-display">
  102.             David
  103.         </div>
  104.         <div id="center3" class="x-hide-display">
  105.             John
  106.         </div>
  107.         <div id="center4" class="x-hide-display">
  108.             David
  109.         </div>
  110.         <div id="center5" class="x-hide-display">
  111.             John
  112.         </div>
  113.         <div id="center6" class="x-hide-display">
  114.             David
  115.         </div>
  116.         <div id="center7" class="x-hide-display">
  117.             John
  118.         </div>
  119.         <div id="center8" class="x-hide-display">
  120.             David
  121.         </div>
  122.  
  123. </html>
  124.  
  125.  
  126.  
  127.  
  128. <script>
  129.    
  130.     Ext.require(['*']);
  131.     var panelID;
  132.     var userName;
  133.     var agentName="";
  134.  
  135.  
  136.     function changeAgentStatus(res){
  137.  
  138.         console.info(res);
  139.         //     alert('changeAgentStatus res :: '+res.toSource());
  140.         //[{'demo@rsweb37':"Online",'admin@rsweb37':"Do not disturb"}]
  141.         var statusJObj = res.data[0];
  142.         var queueArr = res.data[1];
  143.         //    alert('queueArr :: '+queueArr.toSource())
  144.         var rootNode = Ext.getCmp('OnlineAgents').getRootNode();
  145.  
  146.         for(var j=0;j<queueArr.length;j++){
  147.             var queueNode = rootNode.findChild('nodeName',queueArr[j], true);
  148.             for(k in statusJObj){
  149.  
  150.                 var agentName = k.split('@')[0];
  151.                 //     alert('agentName is :: '+agentName);
  152.                 var nodeObj =queueNode.findChild('nodeName',agentName, true);
  153.                 //  alert(agentName+' status is : '+statusJObj[k]);
  154.                 if(nodeObj!=null  ){
  155.                     if(statusJObj[k]=='Online'){
  156.                         nodeObj.data.iconCls ='online_icon';
  157.                     }else if (statusJObj[k]=='Do Not Disturb'){
  158.  
  159.                     }else if (statusJObj[k]=='Away'){
  160.  
  161.                     }
  162.                     //   alert('nodeObj 22222:: '+nodeObj.toSource());
  163.                 }
  164.                
  165.             }
  166.         }
  167.  
  168.  
  169.  
  170.      
  171.     <%-- for(k in statusJObj){
  172.          k = k.split('@')[0];
  173.           alert('k :: '+k);
  174.          var nodeObj =rootNode.findChild('nodeName',k, true);
  175.          if(nodeObj!=null){
  176.              alert('nodeObj :: '+nodeObj.toSource());
  177.              //nodeObj.raw.iconCls ='online_icon';
  178.              nodeObj.data.iconCls ='online_icon';
  179.                
  180.             //  Ext.getCmp('OnlineAgents').getView().refresh();
  181.                alert('nodeObj 22222:: '+nodeObj.toSource());
  182.          }
  183.  
  184.         }--%>
  185.                 Ext.getCmp('OnlineAgents').getView().refresh();
  186.  
  187.      
  188.  
  189.             }
  190.             var agent_data = {
  191.                 name: '',
  192.                 msg:''
  193.             };
  194.             var AgentChat = new Ext.XTemplate('<p>{name}: {msg}</p>');
  195.             Ext.onReady(function() {
  196.            
  197.            
  198.  
  199.    
  200.  
  201.                 var data1 = {
  202.                     name: 'raju',
  203.                     msg:''
  204.                 };
  205.  
  206.                
  207.                 var agentTabCount=0;
  208.                 var CurrentAgentTab=new Array();
  209.                 var agent1 = new Ext.XTemplate(
  210.                 '<p>{name}: {msg}</p>');
  211.                 Ext.tip.QuickTipManager.init();
  212.  
  213.                 //var cw;
  214.                 var p1DivSrc = "<iframe frameborder='0' scrolling='no'  width='100%' height='100%' src='two-trees.html'/>";
  215.                 var p2DivSrc = "<iframe frameborder='0' scrolling='no'  width='100%' height='100%' src='two-trees1.html'/>";
  216.                 Ext.create('Ext.Viewport', {
  217.  
  218.                     layout: {
  219.                         type: 'border',
  220.                         renderTo: 'grid-example',
  221.                         padding: 5
  222.                     },
  223.                     defaults: {
  224.                         split: true
  225.                     },
  226.                     items: [
  227.                         // Left Panel starts here
  228.                         {
  229.  
  230.                             region: 'west',
  231.                             collapsible: true,
  232.                             split: true,
  233.                             width: '30%',
  234.  
  235.                             items: [{
  236.                                     xytpe:'panel',
  237.                                     height:'50%',
  238.                                     autoScroll:true,
  239.                                     title:'Customers',
  240.                                     items:[{
  241.                                             xtype: 'label',
  242.                                             text: 'Waiting(4)/Chatting(2)',
  243.                                             border:'1 5 5 1'
  244.                                         },{
  245.                                             xtype:'IntenseQuerybuilderTemplate'
  246.                                         }]
  247.                                 },
  248.                                 {
  249.                                     // xytpe:'panel',
  250.                                     //height:'50%',
  251.                                     // title:'Agents'
  252.                                     xtype:'treepanel',
  253.                                     scroll:true,
  254.                                     id:'OnlineAgents',
  255.                                     title:'Agents',
  256.                                     scroll:true,
  257.  
  258.  
  259.                                     height: 300,
  260.                                     width: 800,
  261.                                     rootVisible: false,
  262.                                     listeners:{
  263.                                         afterrender:function(){
  264.                                             var prtobj = new Protocol();
  265.                                             var userInput = new Object();
  266.                                             userInput.agentName = name;
  267.                                             prtobj.addEntry('','loadQueue','OnlineAgents',userInput,'response','tree');
  268.                                             prtobj.submitEntries();
  269.                                             prtobj.addEntry('','getOnlineAgents','changeAgentStatus',userInput,'response','function');
  270.                                             prtobj.submitEntries();
  271.                                         },
  272.                                         itemclick:function(oView, oModel, oItem, oIndex, oEvent, eOpt){
  273.  
  274.  
  275.                                             //create Panel
  276.                                             var AgentName=oModel.data.nodeId;
  277.                                             alert("Agent Clicked "+ AgentName);
  278.                                             var agentFlag=false;
  279.                                             var i=0;
  280.                                             for (i=0;i<=CurrentAgentTab.length;i++)
  281.                                             {
  282.                                                 alert(!CurrentAgentTab[i]==AgentName+":::Current Agent Array Lenght  "+CurrentAgentTab.length);
  283.                                                 if(!CurrentAgentTab.length==0){
  284.                                                     if(CurrentAgentTab[i]==AgentName){
  285.                                                         alert(AgentName+"Creating Agent Chat window "+CurrentAgentTab[i]);
  286.  
  287.                                                         agentFlag=true;
  288.  
  289.                                                         alert("agein ::: "+agentFlag);
  290.                                                     }
  291.                                                 }
  292.  
  293.                                             }
  294.                                             if(oModel.data.leaf==true && !(agentFlag==true)){
  295.                                                 agentFlag=false;
  296.  
  297.                                                 CurrentAgentTab[agentTabCount]=AgentName;
  298.                                                 agentTabCount++;
  299.  
  300.                                                 var tabs=Ext.getCmp("AgentChat");
  301.                                            
  302.                                                 var tab = tabs.add({
  303.                                                     // we use the tabs.items property to get the length of current items/tabs
  304.                                                     //  title: 'Tab ' + (tabs.items.length + 1),
  305.                                                     title:AgentName,
  306.                                                     id:AgentName,
  307.                                                     closable:true,
  308.                                                     listeners:[{
  309.                                                             beforeclose : function (p,a){
  310.  
  311.                                                                  
  312.  
  313.                                                             }
  314.  
  315.                                                         }],
  316.                                                     items:[{xtype:'panel',
  317.                                                             iconCls: 'user',
  318.  
  319.                                                             items:[{
  320.                    
  321.                                                                     xtype:'panel',
  322.                                                                     width:'100%',
  323.                                                                     height:105,
  324.                                                                     id:'panel'+AgentName
  325.  
  326.                    
  327.                    
  328.                                                                 },{
  329.  
  330.                                                                     xtype:'container',
  331.                                                                     layout:{
  332.                                                                         type:'hbox'
  333.                                                                     },items:[{
  334.  
  335.                                                                             xtype:'textarea',
  336.                                                                             height:40,
  337.                                                                             id:'txtchat'
  338.  
  339.                                                                         },{
  340.  
  341.                                                                             xtype:'button',
  342.                                                                             text:'Send',
  343.                                                                             height:40,
  344.                                                                             listeners:{
  345.                                                                                 click:function (a,e,d){
  346.  
  347.  
  348.                                                                                     var message = Ext.getCmp("txtchat").getValue();
  349.                                                                                     alert(name+"22222222222222222222222222222222222"+AgentName);
  350.                                                                                     room.sendmessageagent(name,message,AgentName);
  351.  
  352.                                                                                     var panel= Ext.getCmp("panel"+AgentName);
  353.                                                                                     agent_data.name=name;
  354.                                                                                     agent_data.msg=message;
  355.                                                                                     AgentChat.append(panel.body,agent_data);
  356.                                                                                     Ext.getCmp("txtchat").setValue("");
  357.                                                                            
  358.  
  359.                                                                                 }
  360.                                                                             }
  361.                                                                         }]
  362.  
  363.  
  364.                                                                 }]
  365.                                                         }]
  366.                                                 });
  367.  
  368.                                                 tabs.setActiveTab(tab);
  369.  
  370.                                                 renderTo:"AgentChat";
  371.                                             }}
  372.                                     },
  373.  
  374.                                     store:{
  375.                                         xtype: 'store',
  376.                                         fields: [
  377.                                             {   name: 'nodeId', type: 'string' },
  378.                                             {   name: 'nodeName',type: 'string'}
  379.                                         ],
  380.                                         root: {
  381.                                             expanded: true,
  382.                                             text: 'My Root',
  383.                                             root: 'children'
  384.                                         }
  385.     <%--,
  386.     sorters: [{
  387.         property: 'text',
  388.         direction: 'ASC'
  389.     }]--%>
  390.                                 },
  391.                                 singleExpand: false,
  392.                                 columns:[
  393.                                     {
  394.                                         xtype: 'treecolumn',
  395.                                         flex: 2,
  396.                                         sortable: true,
  397.                                         dataIndex: 'nodeName'
  398.                                     }
  399.                                 ]
  400.                             }
  401.  
  402.  
  403.                         ]
  404.                     },
  405.                     // Left Panel ends
  406.  
  407.                     // Center Panel strats here
  408.                     {
  409.                         region: 'center',
  410.                         layout: 'border',
  411.                         border: false,
  412.  
  413.                         items: [
  414.                             {
  415.                                 region: 'center',
  416.                                 title: 'Customer Chat',
  417.                                 iconCls: 'customer_chat',
  418.                                 tbar: [
  419.                                     { xtype: 'button',text: 'logout',
  420.                                         handler: function() {
  421.  
  422.  
  423.  
  424.                                             var xmlhttp;
  425.                                             if (window.XMLHttpRequest)
  426.                                             {// code for IE7+, Firefox, Chrome, Opera, Safari
  427.                                                 xmlhttp=new XMLHttpRequest();
  428.                                             }
  429.                                             else
  430.                                             {// code for IE6, IE5
  431.                                                 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  432.                                             }
  433.                                             xmlhttp.open("GET","Logout.jsp",true);
  434.                                             xmlhttp.send();
  435.                                         }
  436.                                     }
  437.                                 ],
  438.  
  439.                                 //minHeight: 80,
  440.                                 items: [ {
  441.                                         xtype:'tabpanel',
  442.                                         region: 'center', // a center region is ALWAYS required for border layout
  443.                                         deferredRender: false,
  444.                                         id:'tabp1',
  445.                                         activeTab: 0,     // first tab initially active
  446.                                         items:[{
  447.                                                 xtype:'panel',
  448.                                                 title:'Chat',
  449.                                                 items:[{
  450.                                                         xtype:'panel',
  451.                                                         id:'mainp',
  452.                                                         text:'hai',
  453.                                                         height:100,
  454.                                                         autoScroll:true,
  455.                                                         html:'',
  456.                                                         listeners:{
  457.  
  458.                                                             afterrender:function(){
  459.                                                                 // alert("test")
  460.                                                            
  461.                                                                 checkfornewmessages();
  462.                                                             }
  463.                                                         }
  464.  
  465.                                                     },{
  466.                                                         xtype:'container',
  467.                                                         layout:{
  468.                                                             type:'hbox'
  469.                                                         },
  470.                                                         items:[{
  471.                                                                 xtype:'htmleditor',
  472.                                                                 id:'maine',
  473.                                                                 height:83,
  474.                                                                 width:730
  475.                                                             },
  476.                                                             {
  477.                                                                 xtype:'button',
  478.                                                                 text:'Send',
  479.                                                                 Conf:null,
  480.                                                                 id:'b1',
  481.                                                                 height:83,
  482.                                                                 width:50,
  483.                                                                 buttonAlign:'left',
  484.                                                                 handler: function() {
  485.                                                                     // alert('default tab send called...')
  486.  
  487.                                                                     s=Ext.getCmp('maine').getValue();
  488.                                                                     //  Ext.getCmp('mainp').body.append('<font color="red"><b>'+s+'</b></font>');
  489.                                                                     data1.name="Agent";
  490.                                                                     data1.msg='<font color="red"><b>'+s+'</b></font>';
  491.                                                                     agent1.append(Ext.getCmp('mainp').body,data1);
  492.                                                                     Ext.getCmp('maine').setValue('');
  493.                                                                     // room.sendmessage(null,message,obj.Conf);
  494.                                                                     //  alert('panel obj : '+Ext.getCmp('mainp').toSource())
  495.                                                                     // Ext.getCmp('mainp').body.append('<font color="red"><b>'+"<br>"+"Agent::"+message+'</b></font><br>');
  496.                                                                 }
  497.                                                             }]
  498.                                                     },
  499.                                                     {
  500.                                                         xtype:'tabpanel',
  501.                                                         //region: 'south', // a center region is ALWAYS required for border layout
  502.                                                         deferredRender: false,
  503.                                                         //title:'CustomerInformation',
  504.                                                         layout:{
  505.                                                             type:'hbox'
  506.                                                         },
  507.                                                         //id:'tabp2',
  508.                                                         activeTab: 0,     // first tab initially active
  509.                                                         items:[
  510.                                                             {
  511.                                                                 // contentEl: 'center5',
  512.                                                                 xtype:'panel',
  513.                                                                 title: 'Customer Info@@@@',
  514.                                                                 iconCls: 'customer_info',
  515.                                                                 width:200,
  516.                                                                 height:90,
  517.                                                                 closable: false,
  518.                                                                 autoScroll: true
  519.                                                             }, {
  520.                                                                 contentEl: 'center6',
  521.                                                                 title: 'Chat History',
  522.                                                                 width:200,
  523.                                                                 height:90,
  524.                                                                 iconCls: 'chat_history',
  525.                                                                 closable: false,
  526.                                                                 autoScroll: true
  527.                                                             },
  528.                                                             {
  529.                                                                 contentEl: 'center7',
  530.                                                                 title: 'Other Details',
  531.                                                                 width:200,
  532.                                                                 height:90,
  533.                                                                 iconCls: 'other_details',
  534.                                                                 closable: false,
  535.                                                                 autoScroll: true
  536.                                                             }, {
  537.                                                                 contentEl: 'center8',
  538.                                                                 title: 'Other Details',
  539.                                                                 width:200,
  540.                                                                 height:90,
  541.                                                                 iconCls: 'other_details',
  542.                                                                 closable: false,
  543.                                                                 autoScroll: true
  544.                                                             }
  545.                                                         ]
  546.                                                     }
  547.                                                 ]
  548.                                             }
  549.                                         ]
  550.                                     }
  551.                                 ]
  552.                             }
  553.  
  554.    
  555.  
  556.                         ]
  557.                     },
  558.  
  559.                     // Center panel ends
  560.                     // Right panel strats here
  561.                     {
  562.                         region: 'east',
  563.                         collapsible: true,
  564.                         floatable: true,
  565.                         split: true,
  566.                         width: 200,
  567.                         minWidth: 120,
  568.                         minHeight: 140,
  569.                         items: [{
  570.                                 region: 'center',
  571.                                 collapsible: true,
  572.                                 floatable: true,
  573.                                 split: true,
  574.                                 title: 'Quick Text',
  575.                                 height:130,
  576.                                 minHeight: 200,
  577.                                 html: p2DivSrc
  578.                             },
  579.                             {
  580.                                 region: 'south',
  581.                                 split: true,
  582.                                 title: 'Agent Chat',
  583.                                 iconCls: 'agent_chat',
  584.                                 height:200,
  585.                                 collapsible:false,
  586.                                 minHeight: 60,
  587.                                 items: [ Ext.create('Ext.tab.Panel', {
  588.  
  589.                              
  590.                                         region: 'center', // a center region is ALWAYS required for border layout
  591.                                         deferredRender: true,
  592.                                         activeTab: 0,
  593.                                         id:"AgentChat"// first tab initially active
  594.     <%--  items: [{
  595.                                   contentEl: 'center3',
  596.                           title: 'John',
  597.                                                   iconCls: 'user',
  598.                                   closable: false,
  599.                                   autoScroll: true
  600.                                 } ]--%>
  601.                                                                 })]
  602.                                                         }]
  603.                                                 }]
  604.                                         });
  605.                                     });
  606.  
  607.  
  608.      
  609.                                     var timeout;
  610.                                     var timeIn;
  611.  
  612.                                     /**
  613.                                      *This method checks for new messages
  614.                                      */
  615.            
  616.                                     function checkfornewmessages(){
  617.                                         //  alert("checkfornewmessages");
  618.                                         // alert(name)
  619.                                         name='<%= agentname%>';
  620.                                         //    room.reveiceMesage(messageinsert,name);
  621.                                         room.reveiceMesage(messageAgentinsert,name);
  622.                                         //  getSessionId();
  623.  
  624.                                     }
  625.                                     var  sess=null;
  626.                                     // var buttonCount=0;
  627.                                     var A_Name;
  628.                                     function getSessionId(){
  629.                                         // alert('getSessionId');
  630.  
  631.                                         A_Name='<%= agentname%>';
  632.                                         // alert(A_Name);
  633.                                         //  offer.test(out,A_Name);
  634.                                         offer.getOfferSessionId(sessionId,A_Name);
  635.                                     }
  636.  
  637.                                     function out(s){
  638.  
  639.                                         //   alert("test haaaaiiiii  "+s);
  640.  
  641.                                     }
  642.                                     function sessionId(sessionId){
  643.                                         //   alert("getOfferSessionId");
  644.                                         if(sessionId!=null ){
  645.                                             offer.getUserName(function(name){
  646.                                                 alert("offer Came");
  647.                                                 userName = name.replace('[','').replace(']','') ;
  648.                                                 templateObj.addNewRow(userName,sessionId);
  649.                                             },sessionId,A_Name);
  650.                                         }
  651.  
  652.  
  653.                                     }
  654.  
  655.                                     var templateObj=Ext.create('QueryTemplate');
  656.                                     var checkSess;
  657.  
  658.                                     function flag1(flag){
  659.                                         if(flag==true && sess!=checkSess){
  660.                                             templateObj.addNewRow('rajullllllllllll');
  661.                                         };
  662.                                     }
  663.  
  664.                                     /**
  665.                                      * This method inserts the message in the Browser
  666.                                      */
  667.  
  668.                                     var data2 = {
  669.                                         name: 'raju',
  670.                                         msg:''
  671.                                     };
  672.  
  673.                                     var agent1 = new Ext.XTemplate(
  674.                                     '<p>{name}: {msg}</p>');
  675.                                     var time1=null;
  676.                                     //----------------
  677.                                     function messageinsert(messsage){
  678.                                         // alert("message::"+messsage)
  679.                                         if(messsage!=null){
  680.                                             alert('in messageinsert method. messsage from client :: :: '+messsage)
  681.                                             //alert('message recieved is : '+messsage)
  682.                                             var msg=messsage.split("#");
  683.                                             var from =msg[2].split("/");
  684.                                          
  685.                                             if(msg[1]!=time1){
  686.  
  687.                                                 s=msg[0];
  688.                                                 data2.name=from[1];
  689.                                                 //  alert("msg::"+s)
  690.  
  691.                                                 room.getPanelID(function(id){
  692.                                                     //   alert('id :: '+id);
  693.                                                     alert("3");
  694.                                                     if(id!=null){
  695.                                                         data2.msg='<font color="red"><b>'+s+'</b></font>';
  696.                                                         //  alert("testsss")
  697.                                
  698.                              
  699.                                                         alert("DAT::"+agentName)
  700.                                                         if(from[1]!="agent"){
  701.                                                             alert("4");
  702.                                                             agent1.append(Ext.getCmp(id).body,data2);
  703.                                                         }
  704.                                                     }
  705.                                                 },from[0],A_Name);
  706.                        
  707.                                                 Ext.getCmp('maine').setValue('');
  708.                                                 time1=msg[1];
  709.                                             }
  710.                                         }
  711.                                         //alert('after if loop...')
  712.                                        
  713.  
  714.                                     }
  715.  
  716.                            
  717.                                     function messageAgentinsert(messsage){
  718.                                         //alert("agent name::"+messsage)
  719.                                         if(messsage!=null){
  720.                                             alert('message recieved is : '+messsage)
  721.                                             var msg=messsage.split("#");
  722.                                             var from =msg[2].split("/");
  723.                                             //   var to=msg[3].split("@")[0];
  724.                                             if(msg[1]!=time1){
  725.  
  726.                                                 //   alert("1");
  727.                                                 var from1 = from[0];
  728.                                                 agent_data.name=from1.split('@')[0];
  729.                                                 agent_data.msg=msg[0];
  730.                                                 var ag_name=(from1.split('@')[0]);
  731.                                                 // alert("From ::::::::::"+(Ext.getCmp('panel'+from1.split('@')[0])));
  732.                                                 alert("Loged in agent name is ,to whom i am sending the msg is:::"+ '<%= agentname%>' );
  733.                                                 alert("Message From Agent "+ag_name+"######################## Message to agent"+name);
  734.                              
  735.                                                 if(ag_name!=name ){
  736.                              
  737.                                                     if( (Ext.getCmp('panel'+from1.split('@')[0]))==undefined ){//&& (from1.split('@')[0])!=name ){
  738.                              
  739.  
  740.                                                         //  alert("in in in ");
  741.                                                         var tabs=Ext.getCmp("AgentChat");
  742.  
  743.                                                         var tab = tabs.add({
  744.                                                             // we use the tabs.items property to get the length of current items/tabs
  745.                                                             //  title: 'Tab ' + (tabs.items.length + 1),
  746.                                                             title:from1.split('@')[0],
  747.                                                             id:from1.split('@')[0],
  748.                                                             closable:true,
  749.                                                             listeners:[{
  750.                                                                     beforeclose : function (p,a){
  751.  
  752.  
  753.  
  754.                                                                     }
  755.  
  756.                                                                 }],
  757.                                                             items:[{xtype:'panel',
  758.                                                                     iconCls: 'user',
  759.  
  760.                                                                     items:[{
  761.  
  762.                                                                             xtype:'panel',
  763.                                                                             width:'100%',
  764.                                                                             height:105,
  765.                                                                             id:'panel'+from1.split('@')[0]
  766.  
  767.  
  768.  
  769.                                                                         },{
  770.  
  771.                                                                             xtype:'container',
  772.                                                                             layout:{
  773.                                                                                 type:'hbox'
  774.                                                                             },items:[{
  775.  
  776.                                                                                     xtype:'textarea',
  777.                                                                                     height:40,
  778.                                                                                     id:'txtchat'
  779.  
  780.                                                                                 },{
  781.  
  782.                                                                                     xtype:'button',
  783.                                                                                     text:'Send',
  784.                                                                                     height:40,
  785.                                                                                     listeners:{
  786.                                                                                         click:function (a,e,d){
  787.  
  788.  
  789.                                                                                             var message = Ext.getCmp("txtchat").getValue();
  790.                                                                                             // alert("sending names:::"+name+"----------"+from1.split('@')[0]);
  791.                                                                                             alert(name+"1111111111111111111111111111"+from1.split('@')[0]);
  792.                                                                                             room.sendmessageagent(name,message,from1.split('@')[0]);
  793.  
  794.                                                                                             var panel= Ext.getCmp("panel"+from1.split('@')[0]);
  795.                                                                                             agent_data.name=name;
  796.                                                                                             agent_data.msg=message;
  797.                                                                                             AgentChat.append(panel.body,agent_data);
  798.                                                                                             Ext.getCmp("txtchat").setValue("");
  799.  
  800.  
  801.                                                                                         }
  802.                                                                                     }
  803.                                                                                 }]
  804.  
  805.  
  806.                                                                         }]
  807.                                                                 }]
  808.                                                         });
  809.  
  810.                                                         tabs.setActiveTab(tab);
  811.  
  812.                                                         renderTo:"AgentChat";
  813.  
  814.                                                     }
  815.                                                     alert("2");
  816.                                                     AgentChat.append(Ext.getCmp('panel'+from1.split('@')[0]).body,agent_data);
  817.  
  818.                                                  
  819.                                                 }
  820.  
  821.                                                 Ext.getCmp('txtchat').setValue('');
  822.                                                 time1=msg[1];
  823.                                             }
  824.                                         }
  825.                                         timeout=setTimeout("checkfornewmessages()", 3000);
  826.                                         timeIn=setTimeout('getSessionId()', 3000);
  827.  
  828.                                     }
  829.     <%--  var chatbox= document.getElementById("txtchat");
  830.  
  831.         document.onkeyup= function eventPress(evt){
  832.         alert("funct");
  833.          evt = (evt) ? evt : ((window.event) ? window.event : "");
  834.         var enterPressed = ((document.all) ? evt.keyCode==13 : evt.which==13);
  835.         if (enterPressed) {
  836.            alert("alert");
  837.         }
  838.         else {
  839.        
  840.         }
  841.         }--%>
  842.  
  843.  
  844.             function checkForNewAgents(){
  845.  
  846.  
  847.  
  848.    
  849.  
  850.             }
  851. </script>
  852.  
  853.  
  854.  
  855.  
  856. </body>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement