- Timestamp:
- 03/25/10 16:38:23 (14 years ago)
- Location:
- sandbox/jabberit_messenger/trophy
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/jabberit_messenger/trophy/js/loadIM.js
r2339 r2345 5 5 var _xtools = null; 6 6 var zIndex = 9001; 7 8 9 function actionButton() 10 { 11 if( arguments.length > 0 ) 12 { 13 var e = arguments[0]; 14 var jid = arguments[1]; 15 16 if ( !e ) 17 var e = window.event; 18 19 ( ( e.target ) ? e.target : e.srcElement ).oncontextmenu = function(e) 20 { 21 return false; 22 }; 23 24 if ( ( e.which && e.which > 1 ) || ( e.button && e.button > 1 ) ) 25 optionsItensContact(e, jid); 26 else 27 TrophyIM.rosterClick(jid); 28 } 29 } 30 31 function addContacts() 32 { 33 /* 34 var jid = 'contact@servidor_jabber'; 35 var name = 'Nome Contato'; 36 var group = 'CONTATOS'; 37 38 TrophyIM.addContacts( jid, name, group ); 39 */ 40 } 7 41 8 42 function configEvents(pObj, pEvent, pHandler) … … 18 52 pObj.attachEvent('on' + pEvent, pHandler); 19 53 } 20 }21 22 function TrophyIMChatArea()23 {24 /*25 var winImChatArea =26 {27 id_window : "window_chat_area",28 width : 490,29 height : 395,30 top : 100,31 left : 400,32 draggable : true,33 visible : "display",34 resizable : true,35 zindex : zIndex++,36 title : "Mensagens - Expresso Messenger",37 closeAction : "remove",38 content : '<div id="trophyimchat"><div id="trophyimchattabs"/></div>'39 };40 41 _winBuild( winImChatArea );42 43 return '<div id="trophyimchat"><div id="trophyimchattabs"/></div>';44 */45 }46 47 function TrophyIMChatBox()48 {49 var chatBox = '<div>' +50 '<div id="trophyimchattabs"/>' +51 '<div class="trophyimchatbox"/>' +52 '<form name="chat" onsubmit="TrophyIM.sendMessage(this); return(false);">' +53 '<textarea class="trophyimchatinput" rows="3" cols="50"></textarea>' +54 '<input type="button" value="Send" onclick="TrophyIM.sendMessage(this)"/>' +55 '</form>' +56 '</div>';57 58 return chatBox;59 }60 61 function TrophyIMChatTab()62 {63 var chatTab = '<div class="trophyimchattab" onclick="TrophyIM.tabClick(this);">' +64 '<div class="trophyimchattabjid" />' +65 '<div class="trophyimtabclose" onclick="TrophyIM.tabClose(this);">X</div>' +66 '<div class="trophyimchattabname" />' +67 '</div>';68 return chatTab;69 54 } 70 55 … … 120 105 } 121 106 122 function TrophyIMRosterGroup()123 {124 return '<div class="trophyimrostergroup"><div class="trophyimrosterlabel"/></div>';125 }126 127 function TrophyIMRosterItem()128 {129 var rosterItem = '<div class="trophyimrosteritem" onclick="TrophyIM.rosterClick(this)">' +130 '<div class="trophyimrosterjid" />' +131 '<div class="trophyimrostername" />' +132 '</div>';133 134 return rosterItem;135 }136 137 107 function HTMLSnippets( pType ) 138 108 { 139 109 return new ( function( ) 140 110 { 141 //this.chatArea = TrophyIMChatArea;142 143 this.chatBox = TrophyIMChatBox;144 145 this.chatTab = TrophyIMChatTab;146 147 111 this.loggingDiv = TrophyIMLoggingDiv; 148 112 … … 150 114 151 115 this.rosterDiv = TrophyIMRosterDiv; 152 153 this.rosterGroup = TrophyIMRosterGroup;154 155 this.rosterItem = TrophyIMRosterItem;156 157 116 } ); 158 117 } … … 244 203 } 245 204 205 206 function optionsItensContact() 207 { 208 if( arguments.length > 0 ) 209 { 210 var element = ( arguments[0].target ) ? arguments[0].target : arguments[0].srcElement; 211 var jid = arguments[1]; 212 213 if( _showhidden == null ) 214 _showhidden = new ShowHidden(300); 215 216 var _options = [ 217 ['Autorizar', 'Autorizar : ' + jid ], 218 ['Remover', 'Remover : ' + jid ], 219 ['Renomear', 'Renomear : ' + jid], 220 ['Trocar grupo', 'Trocar grupo : ' + jid], 221 ]; 222 223 var _itens = ""; 224 225 for( var i in _options ) 226 { 227 _itens += '<img src="images/arrow_right.gif"/><span style="cursor:pointer; margin:3px;" onclick="alert(\'' +_options[i][1] + '\');">'; 228 _itens += _options[i][0] + '</span><br/>'; 229 } 230 231 var _optionsItens = document.createElement("div"); 232 _optionsItens.setAttribute("style", "margin: -5px 0px 0px 20px;"); 233 _optionsItens.className = "x-menu"; 234 _optionsItens.style.zIndex = '99999'; 235 _optionsItens.innerHTML = _itens; 236 237 _showhidden.action('onmouseover', 'onmouseout', _optionsItens); 238 239 element.parentNode.onmouseout = function(){ _showhidden.hiddenObject(false); }; 240 element.parentNode.onmouseover = function(){ _showhidden.hiddenObject(true); }; 241 element.parentNode.appendChild( _optionsItens ); 242 } 243 244 } 246 245 247 246 function setPresence() … … 310 309 'js/show_hidden.js', 311 310 'css/trophyim.css', 312 'css/window_azul.css'311 //'css/window_azul.css' 313 312 //'css/window_cataratas.css' 314 313 //'css/window_celepar.css' … … 317 316 //'css/window_escritorio.css' 318 317 //'css/window_metropole.css' 319 //'css/window_rochas.css'318 'css/window_rochas.css' 320 319 ]; 321 320 … … 324 323 } 325 324 325 loadIM.prototype.actionButton = actionButton; 326 loadIM.prototype.addContacts = addContacts; 326 327 loadIM.prototype.configEvents = configEvents; 327 328 loadIM.prototype.getZIndex = getZindex; -
sandbox/jabberit_messenger/trophy/js/trophyim.js
r2340 r2345 61 61 * 62 62 */ 63 63 64 HTMLSnippets = { 64 65 65 //chatArea : loadIM.HTMLSnippets.chatArea( ), 66 67 chatBox : loadIM.HTMLSnippets.chatBox( ), 68 69 chatTab : loadIM.HTMLSnippets.chatTab( ), 70 71 //loginPage : loadIM.HTMLSnippets.loginPage( ), 72 66 //chatBox : loadIM.HTMLSnippets.chatBox( ), 67 68 //chatTab : loadIM.HTMLSnippets.chatTab( ), 69 73 70 loggingDiv : loadIM.HTMLSnippets.loggingDiv( ), 74 71 75 72 rosterDiv : loadIM.HTMLSnippets.rosterDiv( ), 76 77 rosterGroup : loadIM.HTMLSnippets.rosterGroup( ),78 79 rosterItem : loadIM.HTMLSnippets.rosterItem( ),80 81 //statusDiv : loadIM.HTMLSnippets.statusDiv( ),82 73 }; 83 74 … … 535 526 * Roster iq handler 536 527 */ 537 onRoster : function(msg) { 528 onRoster : function(msg) 529 { 538 530 Strophe.debug("Roster handler"); 539 531 var roster_items = msg.firstChild.getElementsByTagName('item'); 540 532 for (var i = 0; i < roster_items.length; i++) { 541 533 var groups = roster_items[i].getElementsByTagName('group'); 542 534 var group_array = new Array(); … … 656 648 ); 657 649 }, 650 651 /** Function addContacts 652 * 653 * Parameters: 654 * (string) jid 655 * (string) name 656 * (string) group 657 */ 658 659 addContacts : function( jid, name, group ) 660 { 661 var newPresence = $pres({from:'alexandrecorreia@ecelepar10612.celepar.parana', to: jid, type: 'subscribe'}).tree(); 662 663 TrophyIM.connection.send(newPresence); 664 665 var newContact = $iq({type: 'set', id: 'set1'}); 666 newContact = newContact.c('query').attrs({xmlns : 'jabber:iq:roster'}); 667 newContact = newContact.c('item').attrs({jid: jid, name: name, ask:'subscribe', subscription :'none'}); 668 newContact = newContact.c('group').t(group).tree(); 669 670 TrophyIM.connection.send(newContact); 671 }, 658 672 659 673 /** Function: addMessage … … 878 892 if( arguments.length > 0 ) 879 893 { 880 TrophyIM.connection.send($pres( ).c('show').t(arguments[0]) );894 TrophyIM.connection.send($pres( ).c('show').t(arguments[0]).tree()); 881 895 } 882 896 }, … … 1326 1340 } 1327 1341 1328 /** Function: getElementsByClassName1329 *1330 * DOMObject.getElementsByClassName implementation for browsers that don't1331 * support it yet.1332 *1333 * Developed by Robert Nyman, http://www.robertnyman.com1334 * Code/licensing: http://code.google.com/p/getelementsbyclassname/1335 */1336 var getElementsByClassName = function (className, tag, elm){1337 if (document.getElementsByClassName) {1338 getElementsByClassName = function (className, tag, elm) {1339 elm = elm || document;1340 var elements = elm.getElementsByClassName(className),1341 nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,1342 returnElements = [],1343 current;1344 for(var i=0, il=elements.length; i<il; i+=1){1345 current = elements[i];1346 if(!nodeName || nodeName.test(current.nodeName)) {1347 returnElements.push(current);1348 }1349 }1350 return returnElements;1351 };1352 } else if (document.evaluate) {1353 getElementsByClassName = function (className, tag, elm) {1354 tag = tag || "*";1355 elm = elm || document;1356 var classes = className.split(" "),1357 classesToCheck = "",1358 xhtmlNamespace = "http://www.w3.org/1999/xhtml",1359 namespaceResolver = (document.documentElement.namespaceURI ===1360 xhtmlNamespace)? xhtmlNamespace : null,1361 returnElements = [],1362 elements,1363 node;1364 for(var j=0, jl=classes.length; j<jl; j+=1){1365 classesToCheck += "[contains(concat(' ', @class, ' '), ' " +1366 classes[j] + " ')]";1367 }1368 try {1369 elements = document.evaluate(".//" + tag + classesToCheck,1370 elm, namespaceResolver, 0, null);1371 } catch (e) {1372 elements = document.evaluate(".//" + tag + classesToCheck,1373 elm, null, 0, null);1374 }1375 while ((node = elements.iterateNext())) {1376 returnElements.push(node);1377 }1378 return returnElements;1379 };1380 } else {1381 getElementsByClassName = function (className, tag, elm) {1382 tag = tag || "*";1383 elm = elm || document;1384 var classes = className.split(" "),1385 classesToCheck = [],1386 elements = (tag === "*" && elm.all)? elm.all :1387 elm.getElementsByTagName(tag),1388 current,1389 returnElements = [],1390 match;1391 for(var k=0, kl=classes.length; k<kl; k+=1){1392 classesToCheck.push(new RegExp("(^|\\s)" + classes[k] +1393 "(\\s|$)"));1394 }1395 for(var l=0, ll=elements.length; l<ll; l+=1){1396 current = elements[l];1397 match = false;1398 for(var m=0, ml=classesToCheck.length; m<ml; m+=1){1399 match = classesToCheck[m].test(current.className);1400 if (!match) {1401 break;1402 }1403 }1404 if (match) {1405 returnElements.push(current);1406 }1407 }1408 return returnElements;1409 };1410 }1411 return getElementsByClassName(className, tag, elm);1412 };1413 1414 1342 /** 1415 1343 * -
sandbox/jabberit_messenger/trophy/xsl/contactsList.xsl
r2325 r2345 15 15 16 16 <div style="position: absolute; margin-top: -50px; margin-left: 75px;"> 17 <button style="width:35px;" alt="Adicionar Contatos" title="Adicionar Contatos" onclick=" alert('Adicionar Contatos');">17 <button style="width:35px;" alt="Adicionar Contatos" title="Adicionar Contatos" onclick="loadIM.addContacts();"> 18 18 <img src="images/users.png"/> 19 19 </button> -
sandbox/jabberit_messenger/trophy/xsl/itensGroup.xsl
r2340 r2345 12 12 <xsl:template match="itens_group"> 13 13 14 <div id="{$id}" on click="TrophyIM.rosterClick('{$jid}');" style="background: url('images/{$presence}.gif')no-repeat center left; padding-left: 18px; margin:2px 0px 5px 10px; cursor:pointer;">14 <div id="{$id}" onmousedown="loadIM.actionButton(event,'{$jid}');" style="background: url('images/{$presence}.gif')no-repeat center left; padding-left: 18px; margin:2px 0px 5px 10px; cursor:pointer;"> 15 15 <xsl:value-of select="$nameContact"/> <br/> 16 16 <span style="font-size: 8pt; font-style:italic; display:{$statusDisplay};"><xsl:value-of select="$status"/></span>
Note: See TracChangeset
for help on using the changeset viewer.