Comparar commits

...

19 Commits

Autor SHA1 Mensagem Data
sualko 49ecac9f7b build v2.1.3 2015-09-08 14:26:31 +02:00
Klaus 736119b375 show unread notifications only if the chat window has no focus (fix #212) 2015-08-29 17:54:08 +02:00
Klaus d8733e73d3 fix bookmark loading (fix #211) 2015-08-29 17:29:33 +02:00
Klaus 7f73c45af0 remove deprecated dependencies from example 2015-08-29 17:15:17 +02:00
sualko f8c4bf1d3b build v2.1.2 2015-08-12 10:50:10 +02:00
sualko 3c5ff959e5 update grunt-sass
fix #203

recreate deprecated image-url function with grunt-text-replace
2015-08-12 10:34:06 +02:00
sualko 49cf0eebca build v2.1.1 2015-08-10 13:33:39 +02:00
sualko 4efa02e4ae do not stringify jquery objects
otherwise safari will fail
2015-08-10 13:33:09 +02:00
sualko 3b51e7d7a5 update favico.js 2015-08-10 12:34:23 +02:00
sualko c46e9fc534 add option for online user manual 2015-08-10 12:17:10 +02:00
sualko 03e423f439 fix placeholder replacement 2015-08-10 12:05:35 +02:00
sualko 2f432667e9 rearrange bootstrap import
fix #203
2015-08-10 12:01:13 +02:00
sualko 087e5c819c fix handling of escaped jids
#196
2015-08-07 13:57:15 +02:00
sualko fab9257282 fix undefined error variable in ie 2015-08-05 10:31:48 +02:00
sualko 3feb97b119 update strophe.jinglejs
fix #204
2015-08-05 10:13:47 +02:00
sualko 25667db4be build v2.1.0 2015-07-31 11:11:35 +02:00
sualko c8bf94971b add contributing.md 2015-07-31 10:55:41 +02:00
sualko 4ce384d9b1 fix window opening for auto-join rooms 2015-07-31 10:29:09 +02:00
sualko fc586cff7e Cache initial room configuration (fix #199) 2015-07-30 12:45:27 +02:00
64 arquivos alterados com 16855 adições e 8583 exclusões
+47
Ver Arquivo
@@ -1,3 +1,50 @@
v2.1.3 / 2015-09-08
===
- fix bookmark loading
- show unread notifications only if the chat window has no focus
v2.1.2 / 2015-08-12
===
- update grunt-sass (fix invalid css)
v2.1.1 / 2015-08-10
===
- update strophe.jingle (fix login with safari and older versions of ie, ff, chrome)
- update favico.js
- fix undefined error variable in ie
- fix handling of escaped jids (e.g. used in transports)
- fix placeholder replacement
- rearrange bootstrap import
- add option for custom online user manual
v2.1.0 / 2015-07-31
===
- add bookmark feature for rooms (XEP-0048)
- add reserved room feature for muc (XEP-0045#10.1.3)
- add counter of unread messages to roster, window and favicon
- add join as URI query type
- add ru language
- add roster resize hint
- make dialog responsive
- allow messages to persons without valid friendship
- replace video library for more stable connection
- fix dsa key generation in chrome > 42
- fix minor roster ui issues
- add jsbeautifier and prettysass
- improve example
- extract templates to single files
- replace colorbox with magnific popup
- use parts of bootstrap
- replace strophe.jingle with strophe.jinglejs (jingle.js)
- concatenate strings for better translatability
- add new option attach if login form was found
- add new option loginForm.startMinimized
- add new option loginForm.enable (deprecates xmpp.onlogin)
- add new option RTCPeerConfig.url (deprecates turnCredentialsPath)
- ICE servers can now be passed as init option
- loadSettings option is no longer required and supports now async requests
v2.0.1 / 2015-05-23
===
- improve login box
+1
Ver Arquivo
@@ -0,0 +1 @@
You find all information in our [contributor guide](https://github.com/jsxc/jsxc/wiki/Contributor-Guide).
+10 -5
Ver Arquivo
@@ -68,7 +68,7 @@ module.exports = function(grunt) {
src: ['<%= target %>/jsxc.js'],
overwrite: true,
replacements: [{
from: '< $ dep.libraries $ >',
from: '<$ dep.libraries $>',
to: function() {
var i, d, libraries = '';
@@ -101,6 +101,14 @@ module.exports = function(grunt) {
from: 'var jsxc.gui.template = {};',
to: ''
}]
},
imageUrl: {
src: ['<%= target %>/css/*.css'],
overwrite: true,
replacements: [{
from: /image-url\(["'](.+)["']\)/g,
to: 'url(\'../img/$1\')'
}]
}
},
merge_data: {
@@ -228,9 +236,6 @@ module.exports = function(grunt) {
},
},
sass: {
options: {
imagePath: '../img'
},
dist: {
files: {
'<%= target %>/css/jsxc.css': 'scss/jsxc.scss',
@@ -353,7 +358,7 @@ module.exports = function(grunt) {
//Default task
grunt.registerTask('default', ['build', 'watch']);
grunt.registerTask('build', ['jshint', 'clean', 'sass', 'autoprefixer', 'copy', 'merge_data', 'replace:locales', 'htmlConvert', 'replace:template', 'concat']);
grunt.registerTask('build', ['jshint', 'clean', 'sass', 'replace:imageUrl', 'autoprefixer', 'copy', 'merge_data', 'replace:locales', 'htmlConvert', 'replace:template', 'concat']);
grunt.registerTask('build:prerelease', 'Build a new pre-release', function() {
grunt.config.set('target', 'build');
+2 -2
Ver Arquivo
@@ -1,6 +1,6 @@
{
"name": "jsxc",
"version": "2.0.1",
"version": "2.1.2",
"homepage": "https://www.jsxc.org",
"authors": [
"sualko <klaus@jsxc.org>"
@@ -25,7 +25,7 @@
],
"private": true,
"dependencies": {
"favico.js": "~0.3.7",
"favico.js": "~0.3.9",
"strophe.bookmarks": "https://raw.githubusercontent.com/sualko/strophejs-plugins/bookmarks/bookmarks/strophe.bookmarks.js",
"strophe.x": "https://raw.githubusercontent.com/strophe/strophejs-plugins/master/dataforms/src/strophe.x.js"
}
+1815 -1479
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+12 -9
Ver Arquivo
@@ -46,6 +46,7 @@
color: #fff;
width: 100%;
z-index: 100; }
.jsxc_noRemoteVideo > div {
width: 200px;
height: 200px;
@@ -88,37 +89,42 @@ div:full-screen {
background-color: #000; }
div:full-screen.jsxc_localvideo {
border: 1px solid #fff; }
div:-webkit-full-screen {
width: 100%;
height: 100%;
background-color: #000; }
div:-moz-full-screen {
width: 100%;
height: 100%;
background-color: #000; }
div:-ms-fullscreen {
width: 100%;
height: 100%;
background-color: #000; }
div:fullscreen {
width: 100%;
height: 100%;
background-color: #000; }
div:-webkit-full-screen.jsxc_localvideo {
border: 1px solid #fff; }
border: 1px solid #fff; }
div:-moz-full-screen.jsxc_localvideo {
border: 1px solid #fff; }
border: 1px solid #fff; }
div:-ms-fullscreen.jsxc_localvideo {
border: 1px solid #fff; }
border: 1px solid #fff; }
div:fullscreen.jsxc_localvideo {
border: 1px solid #fff; }
div.jsxc_video {
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMiIKICAgd2lkdGg9IjIwIgogICBoZWlnaHQ9IjIwIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExMCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczgiIC8+CiAgPGcKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDM3ODg1OTQsMCwwLDAuMDM3ODg1OTQsLTAuNDEzNDA3OTMsLTIuNjMxMDcxNikiPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzkwNiIKICAgICAgIHN0eWxlPSJmaWxsOiM4MDgwODA7c3Ryb2tlOm5vbmUiCiAgICAgICBkPSJtIDM2MS42NTE0OCwzMTMuNTE3NjggMTc3LjE2MDc0LC0xMzEuNzg1MTYgMCwzMDIuMjI5OTkgTCAzNTguOTczMzgsMzUwLjE4NTE3IFogTSAxMC45MTE5MjIsMTgyLjQwNjM0IGwgMzc4LjM3MjY3OCwwIDAsMzAyLjY1NTgyIC0zNzguMzcyNjc4LDAgeiIgLz4KICA8L2c+Cjwvc3ZnPgo=");
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMiIKICAgd2lkdGg9IjIwIgogICBoZWlnaHQ9IjIwIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExMCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczgiIC8+CiAgPGcKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDM3ODg1OTQsMCwwLDAuMDM3ODg1OTQsLTAuNDEzNDA3OTMsLTIuNjMxMDcxNikiPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzkwNiIKICAgICAgIHN0eWxlPSJmaWxsOiM4MDgwODA7c3Ryb2tlOm5vbmUiCiAgICAgICBkPSJtIDM2MS42NTE0OCwzMTMuNTE3NjggMTc3LjE2MDc0LC0xMzEuNzg1MTYgMCwzMDIuMjI5OTkgTCAzNTguOTczMzgsMzUwLjE4NTE3IFogTSAxMC45MTE5MjIsMTgyLjQwNjM0IGwgMzc4LjM3MjY3OCwwIDAsMzAyLjY1NTgyIC0zNzguMzcyNjc4LDAgeiIgLz4KICA8L2c+Cjwvc3ZnPgo=');
background-repeat: no-repeat;
background-position: center center;
background-size: 15px 15px; }
div.jsxc_video:not(.jsxc_disabled):hover {
background-image: url("../img/camera_icon_white.svg"); }
background-image: url('../img/camera_icon_white.svg'); }
.jsxc_controlbar {
width: 640px;
@@ -199,14 +205,12 @@ div.jsxc_video {
animation-delay: 0.78s; }
@-webkit-keyframes bubblingG {
0% {
width: 16px;
height: 16px;
background-color: #000;
-webkit-transform: translateY(0);
transform: translateY(0); }
100% {
width: 39px;
height: 39px;
@@ -221,7 +225,6 @@ div.jsxc_video {
background-color: #000;
-webkit-transform: translateY(0);
transform: translateY(0); }
100% {
width: 39px;
height: 39px;
@@ -236,6 +239,6 @@ div.jsxc_video {
font-style: italic; }
#jsxc_buddylist .jsxc_options .jsxc_video {
background-image: url("../img/camera_icon_white.svg"); }
background-image: url('../img/camera_icon_white.svg'); }
#jsxc_buddylist .jsxc_options .jsxc_video.jsxc_disabled {
opacity: 0.2; }
+126 -35
Ver Arquivo
@@ -1,5 +1,5 @@
/*!
* jsxc v2.1.0-beta1 - 2015-07-21
* jsxc v2.1.3 - 2015-09-08
*
* Copyright (c) 2015 Klaus Herberth <klaus@jsxc.org> <br>
* Released under the MIT license
@@ -7,7 +7,7 @@
* Please see http://www.jsxc.org/
*
* @author Klaus Herberth <klaus@jsxc.org>
* @version 2.1.0-beta1
* @version 2.1.3
* @license MIT
*/
@@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null;
*/
jsxc = {
/** Version of jsxc */
version: '2.1.0-beta1',
version: '2.1.3',
/** True if i'm the master */
master: false,
@@ -649,7 +649,7 @@ jsxc = {
* @returns comparable bar jid
*/
jidToBid: function(jid) {
return Strophe.getBareJidFromJid(jid).toLowerCase();
return Strophe.unescapeNode(Strophe.getBareJidFromJid(jid).toLowerCase());
},
/**
@@ -1923,6 +1923,57 @@ jsxc.xmpp = {
return knownCapabilities[jidVerIndex[jid]];
}
return null;
},
/**
* Test if jid has given features
*
* @param {string} jid Jabber id
* @param {string[]} feature Single feature or list of features
* @param {Function} cb Called with the result as first param.
* @return {boolean} True, if jid has all given features. Null, if we do not know it currently.
*/
hasFeatureByJid: function(jid, feature, cb) {
var conn = jsxc.xmpp.conn;
cb = cb || function() {};
if (!feature) {
return false;
}
if (!$.isArray(feature)) {
feature = $.makeArray(feature);
}
var check = function(knownCapabilities) {
if (!knownCapabilities) {
return null;
}
var i;
for (i = 0; i < feature.length; i++) {
if (knownCapabilities['features'].indexOf(feature[i]) < 0) {
return false;
}
}
return true;
};
if (conn.caps._jidVerIndex[jid] && conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]) {
var hasFeature = check(conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]);
cb(hasFeature);
return hasFeature;
}
$(document).on('strophe.caps', function(ev, j, capabilities) {
if (j === jid) {
cb(check(capabilities));
$(document).off(ev);
}
});
return null;
}
};
@@ -3448,7 +3499,7 @@ jsxc.gui.roster = {
});
$('#jsxc_roster .jsxc_onlineHelp').click(function() {
window.open("http://www.jsxc.org/manual.html", "onlineHelp");
window.open(jsxc.options.onlineHelp, 'onlineHelp');
});
$('#jsxc_roster .jsxc_about').click(function() {
@@ -4262,7 +4313,7 @@ jsxc.gui.window = {
encrypted = encrypted || data.msgstate === OTR.CONST.MSGSTATE_ENCRYPTED;
var post = jsxc.storage.saveMessage(bid, direction, msg, encrypted, forwarded, stamp, sender);
if (direction === 'in') {
if (direction === 'in' && !jsxc.gui.window.get(bid).find('.jsxc_textinput').is(":focus")) {
jsxc.gui.unreadMsg(bid);
$(document).trigger('postmessagein.jsxc', [bid, html_msg]);
@@ -4527,6 +4578,9 @@ jsxc.muc = {
EXITED: 2,
AWAIT_DESTRUCTION: 3,
DESTROYED: 4
},
ROOMCONFIG: {
INSTANT: 'instant'
}
},
@@ -4905,6 +4959,8 @@ jsxc.muc = {
var config = Strophe.x.Form.fromHTML(form.get(0));
self.conn.muc.saveConfiguration(room, config, function() {
jsxc.storage.updateUserItem('buddy', room, 'config', config);
jsxc.debug('Room configuration saved.');
}, function() {
jsxc.warn('Could not save room configuration.');
@@ -4946,7 +5002,8 @@ jsxc.muc = {
subject: subject,
bookmarked: bookmark || false,
autojoin: autojoin || false,
nickname: nickname
nickname: nickname,
config: null
});
jsxc.xmpp.conn.muc.join(room, nickname, null, null, null, password);
@@ -5252,8 +5309,11 @@ jsxc.muc = {
jsxc.gui.roster.add(room);
}
jsxc.gui.window.open(room);
jsxc.gui.dialog.close();
if ($('#jsxc_dialog').length > 0) {
// User joined the room manually
jsxc.gui.window.open(room);
jsxc.gui.dialog.close();
}
}
var jid = xdata.find('item').attr('jid') || null;
@@ -5403,23 +5463,40 @@ jsxc.muc = {
/** Inform user that a new room has been created */
201: function(room) {
var self = jsxc.muc;
var roomdata = jsxc.storage.getUserItem('buddy', room) || {};
jsxc.gui.showSelectionDialog({
header: $.t('Room_creation'),
msg: $.t('Do_you_want_to_change_the_default_room_configuration'),
primary: {
label: $.t('Default'),
cb: function() {
self.conn.muc.createInstantRoom(room);
if (roomdata.autojoin && roomdata.config === self.CONST.ROOMCONFIG.INSTANT) {
self.conn.muc.createInstantRoom(room);
} else if (roomdata.autojoin && typeof roomdata.config !== 'undefined' && roomdata.config !== null) {
self.conn.muc.saveConfiguration(room, roomdata.config, function() {
jsxc.debug('Cached room configuration saved.');
}, function() {
jsxc.warn('Could not save cached room configuration.');
//@TODO display error
});
} else {
jsxc.gui.showSelectionDialog({
header: $.t('Room_creation'),
msg: $.t('Do_you_want_to_change_the_default_room_configuration'),
primary: {
label: $.t('Default'),
cb: function() {
jsxc.gui.dialog.close();
self.conn.muc.createInstantRoom(room);
jsxc.storage.updateUserItem('buddy', room, 'config', self.CONST.ROOMCONFIG.INSTANT);
}
},
option: {
label: $.t('Change'),
cb: function() {
self.showRoomConfiguration(room);
}
}
},
option: {
label: $.t('Change'),
cb: function() {
self.showRoomConfiguration(room);
}
}
});
});
}
},
/** Inform user that he or she has been banned */
301: function(room, nickname, data, xdata) {
@@ -6568,7 +6645,10 @@ jsxc.options = {
iceServers: [{
urls: 'stun:stun.stunprotocol.org'
}]
}
},
/** Link to an online user manual */
onlineHelp: 'http://www.jsxc.org/manual.html'
};
/**
@@ -7110,7 +7190,12 @@ jsxc.storage = {
}
if (typeof(value) === 'object') {
value = JSON.stringify(value);
// exclude jquery objects, because otherwise safari will fail
value = JSON.stringify(value, function(key, val) {
if (!(val instanceof jQuery)) {
return val;
}
});
}
localStorage.setItem(jsxc.storage.getPrefix(uk) + key, value);
@@ -8158,6 +8243,9 @@ jsxc.webrtc = {
*/
onMediaFailure: function(ev, err) {
var self = jsxc.webrtc;
err = err || {
name: 'Undefined'
};
self.setStatus('media failure');
@@ -8687,7 +8775,7 @@ jsxc.xmpp.bookmarks = {};
* @return {boolean} True: Server supports bookmark storage
*/
jsxc.xmpp.bookmarks.remote = function() {
return jsxc.xmpp.conn.caps && jsxc.xmpp.conn.caps.hasFeatureByJid(jsxc.xmpp.conn.domain, Strophe.NS.PUBSUB + "#publish");
return jsxc.xmpp.conn.caps && jsxc.xmpp.hasFeatureByJid(jsxc.xmpp.conn.domain, Strophe.NS.PUBSUB + "#publish");
};
/**
@@ -8702,12 +8790,11 @@ jsxc.xmpp.bookmarks.load = function() {
if (!ver || !caps._knownCapabilities[ver]) {
// wait until we know server capabilities
$(document).on('caps.strophe', function(ev, from) {
if (from === jsxc.xmpp.conn.domain) {
jsxc.xmpp.bookmarks.load();
if (from !== jsxc.xmpp.conn.domain) {
return;
$(document).off(ev);
}
jsxc.xmpp.bookmarks.load();
});
}
@@ -8772,7 +8859,9 @@ jsxc.xmpp.bookmarks.loadFromRemote = function() {
autojoin = false;
}
jsxc.storage.setUserItem('buddy', room, {
var data = jsxc.storage.getUserItem('buddy', room) || {};
data = $.extend(data, {
jid: room,
name: roomName,
sub: 'both',
@@ -8785,6 +8874,8 @@ jsxc.xmpp.bookmarks.loadFromRemote = function() {
nickname: nickname
});
jsxc.storage.setUserItem('buddy', room, data);
bl.push(room);
jsxc.gui.roster.add(room);
@@ -9032,7 +9123,7 @@ jsxc.gui.template['aboutDialog'] = '<h3>JavaScript XMPP Chat</h3>\n' +
'</p>\n' +
'<p class="jsxc_libraries">\n' +
' <b>Libraries: </b>\n' +
' < $ dep.libraries $>\n' +
' <a href="http://strophe.im/strophejs/">strophe.js</a> (multiple), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/muc</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/disco</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/caps</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins">strophe.js/vcard</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/bookmarks">strophe.js/bookmarks</a> (MIT), <a href="https://github.com/strophe/strophejs-plugins/tree/master/dataforms">strophe.js/x</a> (MIT), <a href="https://github.com/sualko/strophe.jinglejs">strophe.jinglejs</a> (MIT), <a href="https://github.com/neoatlantis/node-salsa20">Salsa20</a> (AGPL3), <a href="www.leemon.com">bigint</a> (public domain), <a href="code.google.com/p/crypto-js">cryptojs</a> (code.google.com/p/crypto-js/wiki/license), <a href="http://git.io/ee">eventemitter</a> (MIT), <a href="https://arlolra.github.io/otr/">otr.js</a> (MPL v2.0), <a href="http://i18next.com/">i18next</a> (MIT), <a href="http://dimsemenov.com/plugins/magnific-popup/">Magnific Popup</a> (MIT), <a href="https://github.com/ejci/favico.js">favico.js</a> (MIT)\n' +
'</p>\n' +
'\n' +
'<button class="btn btn-default pull-right jsxc_debuglog">Show debug log</button>\n' +
@@ -9410,8 +9501,8 @@ jsxc.gui.template['rosterBuddy'] = '<li>\n' +
jsxc.gui.template['selectionDialog'] = '<h3></h3>\n' +
'<p></p>\n' +
'\n' +
'<button class="btn btn-primary pull-right jsxc_close" data-i18n="Confirm"></button>\n' +
'<button class="btn btn-default pull-right jsxc_close" data-i18n="Dismiss"></button>\n' +
'<button class="btn btn-primary pull-right" data-i18n="Confirm"></button>\n' +
'<button class="btn btn-default pull-right" data-i18n="Dismiss"></button>\n' +
'';
jsxc.gui.template['settings'] = '<form class="form-horizontal">\n' +
+8 -7
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+26 -18
Ver Arquivo
@@ -2,7 +2,7 @@
* @license MIT
* @fileOverview Favico animations
* @author Miroslav Magda, http://blog.ejci.net
* @version 0.3.6
* @version 0.3.9
*/
/**
@@ -18,7 +18,8 @@
* position : 'down',
* type : 'circle',
* animation : 'slide',
* dataUrl: function(url){}
* dataUrl: function(url){},
* win: top
* });
*/
(function() {
@@ -35,9 +36,10 @@
position : 'down', // down, up, left, leftup (upleft)
animation : 'slide',
elementId : false,
dataUrl : false
dataUrl : false,
win: window
};
var _opt, _orig, _h, _w, _canvas, _context, _img, _ready, _lastBadge, _running, _readyCb, _stop, _browser, _animTimeout, _drawTimeout;
var _opt, _orig, _h, _w, _canvas, _context, _img, _ready, _lastBadge, _running, _readyCb, _stop, _browser, _animTimeout, _drawTimeout, _doc;
_browser = {};
_browser.ff = typeof InstallTrigger != 'undefined';
@@ -62,6 +64,8 @@
_opt.position = _opt.position.toLowerCase();
_opt.animation = (animation.types['' + _opt.animation]) ? _opt.animation : _def.animation;
_doc = _opt.win.document;
var isUp = _opt.position.indexOf('up') > -1;
var isLeft = _opt.position.indexOf('left') > -1;
@@ -97,6 +101,7 @@
//create temp image
_img = document.createElement('img');
if (_orig.hasAttribute('href')) {
_img.setAttribute('crossOrigin', 'anonymous');
_img.setAttribute('src', _orig.getAttribute('href'));
//get width/height
_img.onload = function() {
@@ -320,14 +325,14 @@
});
_queue.push(q);
if (_queue.length > 100) {
throw 'Too many badges requests in queue.';
throw new Error('Too many badges requests in queue.');
}
icon.start();
} else {
icon.reset();
}
} catch(e) {
throw 'Error setting badge. Message: ' + e.message;
throw new Error('Error setting badge. Message: ' + e.message);
}
};
if (_ready) {
@@ -345,6 +350,7 @@
var h = imageElement.height;
var newImg = document.createElement('img');
var ratio = (w / _w < h / _h) ? (w / _w) : (h / _h);
newImg.setAttribute('crossOrigin', 'anonymous');
newImg.setAttribute('src', imageElement.getAttribute('src'));
newImg.height = (h / ratio);
newImg.width = (w / ratio);
@@ -352,7 +358,7 @@
_context.drawImage(newImg, 0, 0, _w, _h);
link.setIcon(_canvas);
} catch(e) {
throw 'Error setting image. Message: ' + e.message;
throw new Error('Error setting image. Message: ' + e.message);
}
};
if (_ready) {
@@ -379,7 +385,7 @@
}, false);
} catch(e) {
throw 'Error setting video. Message: ' + e.message;
throw new Error('Error setting video. Message: ' + e.message);
}
};
if (_ready) {
@@ -421,7 +427,7 @@
}, function() {
});
} catch(e) {
throw 'Error setting webcam. Message: ' + e.message;
throw new Error('Error setting webcam. Message: ' + e.message);
}
};
if (_ready) {
@@ -457,7 +463,7 @@
var elm = false;
//get link element
var getLink = function() {
var link = document.getElementsByTagName('head')[0].getElementsByTagName('link');
var link = _doc.getElementsByTagName('head')[0].getElementsByTagName('link');
for (var l = link.length, i = (l - 1); i >= 0; i--) {
if ((/(^|\s)icon(\s|$)/i).test(link[i].getAttribute('rel'))) {
return link[i];
@@ -469,15 +475,15 @@
elm = _opt.element;
} else if (_opt.elementId) {
//if img element identified by elementId
elm = document.getElementById(_opt.elementId);
elm = _doc.getElementById(_opt.elementId);
elm.setAttribute('href', elm.getAttribute('src'));
} else {
//if link element
elm = getLink();
if (elm === false) {
elm = document.createElement('link');
elm = _doc.createElement('link');
elm.setAttribute('rel', 'icon');
document.getElementsByTagName('head')[0].appendChild(elm);
_doc.getElementsByTagName('head')[0].appendChild(elm);
}
}
elm.setAttribute('type', 'image/png');
@@ -490,24 +496,27 @@
_opt.dataUrl(url);
}
if (_opt.element) {
_opt.element.setAttribute('href', url);
_opt.element.setAttribute('src', url);
} else if (_opt.elementId) {
//if is attached to element (image)
document.getElementById(_opt.elementId).setAttribute('src', url);
var elm = _doc.getElementById(_opt.elementId);
elm.setAttribute('href', url);
elm.setAttribute('src', url);
} else {
//if is attached to fav icon
if (_browser.ff || _browser.opera) {
//for FF we need to "recreate" element, atach to dom and remove old <link>
//var originalType = _orig.getAttribute('rel');
var old = _orig;
_orig = document.createElement('link');
_orig = _doc.createElement('link');
//_orig.setAttribute('rel', originalType);
if (_browser.opera) {
_orig.setAttribute('rel', 'icon');
}
_orig.setAttribute('rel', 'icon');
_orig.setAttribute('type', 'image/png');
document.getElementsByTagName('head')[0].appendChild(_orig);
_doc.getElementsByTagName('head')[0].appendChild(_orig);
_orig.setAttribute('href', url);
if (old.parentNode) {
old.parentNode.removeChild(old);
@@ -553,7 +562,7 @@
* http://stackoverflow.com/questions/12536562/detect-whether-a-window-is-visible
*/
function isPageHidden() {
return document.hidden || document.msHidden || document.webkitHidden || document.mozHidden;
return _doc.hidden || _doc.msHidden || _doc.webkitHidden || _doc.mozHidden;
}
/**
@@ -840,4 +849,3 @@
}
})();
+3822 -2260
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+45 -33
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+10 -5
Ver Arquivo
@@ -124,12 +124,17 @@
if (this._jidVerIndex[jid] && feature !== null && typeof feature !== 'undefined') {
if(!$.isArray(feature)){
feature = $.makeArray(feature);
};
}
var i;
var i, knownCapabilities;
knownCapabilities = this._knownCapabilities[this._jidVerIndex[jid]];
if (!knownCapabilities) {
return null;
}
for (i = 0; i < feature.length; i++) {
if (this._knownCapabilities[this._jidVerIndex[jid]]['features'].indexOf(feature[i]) < 0)
if (knownCapabilities['features'].indexOf(feature[i]) < 0) {
return false;
}
}
return true;
}
@@ -156,7 +161,7 @@
}
localStorage.setItem('strophe.caps._jidVerIndex', JSON.stringify(this._jidVerIndex));
$(document).trigger('caps.strophe', [ from ]);
$(document).trigger('caps.strophe', [ from, this._knownCapabilities[ver], ver]);
return true;
},
@@ -223,7 +228,7 @@
localStorage.setItem('strophe.caps._jidVerIndex', JSON.stringify(this._jidVerIndex));
localStorage.setItem('strophe.caps._knownCapabilities', JSON.stringify(this._knownCapabilities));
$(document).trigger('caps.strophe', [ from ]);
$(document).trigger('caps.strophe', [ from, this._knownCapabilities[ver], ver ]);
return false;
},
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+120 -3
Ver Arquivo
@@ -182,7 +182,124 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line159">line 159</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line187">line 187</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="loadSettingsCallback"><span class="type-signature"></span>loadSettingsCallback<span class="signature">(settings)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
This callback processes all settings.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>settings</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="description last">could be every jsxc option</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line154">line 154</a>
</li></ul></dd>
@@ -221,13 +338,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -48,13 +48,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+6 -6
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1596">line 1596</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1765">line 1765</a>
</li></ul></dd>
@@ -141,7 +141,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1688">line 1688</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1843">line 1843</a>
</li></ul></dd>
@@ -361,7 +361,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1611">line 1611</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1780">line 1780</a>
</li></ul></dd>
@@ -500,7 +500,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1698">line 1698</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1854">line 1854</a>
</li></ul></dd>
@@ -541,13 +541,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+163 -36
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1">line 1</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2">line 2</a>
</li></ul></dd>
@@ -103,9 +103,6 @@
<dt><a href="namespaces.html#jsxc.gui.roster"><a href="jsxc.gui.roster.html">roster</a></a></dt>
<dd></dd>
<dt><a href="namespaces.html#jsxc.gui.template"><a href="jsxc.gui.template.html">template</a></a></dt>
<dd></dd>
<dt><a href="namespaces.html#jsxc.gui.window"><a href="jsxc.gui.window.html">window</a></a></dt>
<dd></dd>
</dl>
@@ -153,7 +150,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line8">line 8</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line9">line 9</a>
</li></ul></dd>
@@ -176,6 +173,136 @@
<dl>
<dt>
<h4 class="name" id="_unreadMsg"><span class="type-signature">&lt;static> </span>_unreadMsg<span class="signature">(bid, count)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Switch read state to UNread.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>bid</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>count</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1218">line 1218</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="changePresence"><span class="type-signature">&lt;static> </span>changePresence<span class="signature">(pres, external)</span><span class="type-signature"></span></h4>
@@ -289,7 +416,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1038">line 1038</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1144">line 1144</a>
</li></ul></dd>
@@ -401,7 +528,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1112">line 1112</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1271">line 1271</a>
</li></ul></dd>
@@ -518,7 +645,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line297">line 297</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line343">line 343</a>
</li></ul></dd>
@@ -609,7 +736,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line50">line 50</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line83">line 83</a>
</li></ul></dd>
@@ -721,7 +848,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1097">line 1097</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1240">line 1240</a>
</li></ul></dd>
@@ -833,7 +960,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line268">line 268</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line314">line 314</a>
</li></ul></dd>
@@ -902,7 +1029,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line729">line 729</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line774">line 774</a>
</li></ul></dd>
@@ -1019,7 +1146,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line677">line 677</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line722">line 722</a>
</li></ul></dd>
@@ -1154,7 +1281,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line525">line 525</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line572">line 572</a>
</li></ul></dd>
@@ -1223,7 +1350,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line686">line 686</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line731">line 731</a>
</li></ul></dd>
@@ -1404,7 +1531,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line710">line 710</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line755">line 755</a>
</li></ul></dd>
@@ -1551,7 +1678,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line563">line 563</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line606">line 606</a>
</li></ul></dd>
@@ -1620,7 +1747,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line742">line 742</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line787">line 787</a>
</li></ul></dd>
@@ -1737,7 +1864,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line406">line 406</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line452">line 452</a>
</li></ul></dd>
@@ -1806,7 +1933,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line353">line 353</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line399">line 399</a>
</li></ul></dd>
@@ -1923,7 +2050,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line637">line 637</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line682">line 682</a>
</li></ul></dd>
@@ -2010,7 +2137,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line983">line 983</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1034">line 1034</a>
</li></ul></dd>
@@ -2127,7 +2254,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line770">line 770</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line815">line 815</a>
</li></ul></dd>
@@ -2244,7 +2371,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line415">line 415</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line461">line 461</a>
</li></ul></dd>
@@ -2313,7 +2440,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line839">line 839</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line855">line 855</a>
</li></ul></dd>
@@ -2430,7 +2557,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line665">line 665</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line710">line 710</a>
</li></ul></dd>
@@ -2517,7 +2644,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line308">line 308</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line354">line 354</a>
</li></ul></dd>
@@ -2634,7 +2761,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line98">line 98</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line142">line 142</a>
</li></ul></dd>
@@ -2670,7 +2797,7 @@
<div class="description">
Switch read state to UNread.
Switch read state to UNread and increase counter.
</div>
@@ -2746,7 +2873,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1084">line 1084</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1190">line 1190</a>
</li></ul></dd>
@@ -2863,7 +2990,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line114">line 114</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line158">line 158</a>
</li></ul></dd>
@@ -3026,7 +3153,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line186">line 186</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line232">line 232</a>
</li></ul></dd>
@@ -3161,7 +3288,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1060">line 1060</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1166">line 1166</a>
</li></ul></dd>
@@ -3230,7 +3357,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line252">line 252</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line298">line 298</a>
</li></ul></dd>
@@ -3271,13 +3398,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+76 -7
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line10">line 10</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line36">line 36</a>
</li></ul></dd>
@@ -99,6 +99,75 @@
<dl>
<dt>
<h4 class="name" id="join"><span class="type-signature">&lt;static> </span>join<span class="signature">()</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
xmpp:JID?join[;password=TEXT]
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line71">line 71</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="message"><span class="type-signature">&lt;static> </span>message<span class="signature">()</span><span class="type-signature"></span></h4>
@@ -141,7 +210,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line17">line 17</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line43">line 43</a>
</li></ul></dd>
@@ -210,7 +279,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line26">line 26</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line52">line 52</a>
</li></ul></dd>
@@ -279,7 +348,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line31">line 31</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line57">line 57</a>
</li></ul></dd>
@@ -348,7 +417,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line40">line 40</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line66">line 66</a>
</li></ul></dd>
@@ -389,13 +458,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+16 -16
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1214">line 1214</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1373">line 1373</a>
</li></ul></dd>
@@ -134,7 +134,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1225">line 1225</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1384">line 1384</a>
</li></ul></dd>
@@ -188,7 +188,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1222">line 1222</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1381">line 1381</a>
</li></ul></dd>
@@ -324,7 +324,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1516">line 1516</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1681">line 1681</a>
</li></ul></dd>
@@ -459,7 +459,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1340">line 1340</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1503">line 1503</a>
</li></ul></dd>
@@ -528,7 +528,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1582">line 1582</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1751">line 1751</a>
</li></ul></dd>
@@ -597,7 +597,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1233">line 1233</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1392">line 1392</a>
</li></ul></dd>
@@ -756,7 +756,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1403">line 1403</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1568">line 1568</a>
</li></ul></dd>
@@ -843,7 +843,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1567">line 1567</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1736">line 1736</a>
</li></ul></dd>
@@ -960,7 +960,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1455">line 1455</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1620">line 1620</a>
</li></ul></dd>
@@ -1077,7 +1077,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1446">line 1446</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1611">line 1611</a>
</li></ul></dd>
@@ -1216,7 +1216,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1476">line 1476</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1641">line 1641</a>
</li></ul></dd>
@@ -1351,7 +1351,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1436">line 1436</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1601">line 1601</a>
</li></ul></dd>
@@ -1486,7 +1486,7 @@ alphabetical of the name
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1542">line 1542</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1709">line 1709</a>
</li></ul></dd>
@@ -1527,13 +1527,13 @@ alphabetical of the name
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+21 -22
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1710">line 1710</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1859">line 1859</a>
</li></ul></dd>
@@ -189,7 +189,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1952">line 1952</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2101">line 2101</a>
</li></ul></dd>
@@ -306,7 +306,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2032">line 2032</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2181">line 2181</a>
</li></ul></dd>
@@ -438,8 +438,7 @@
<td class="description last">If true no highlights are used and so unread flag
set</td>
<td class="description last">If true no highlights are used</td>
</tr>
@@ -470,7 +469,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2136">line 2136</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2281">line 2281</a>
</li></ul></dd>
@@ -587,7 +586,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2000">line 2000</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2149">line 2149</a>
</li></ul></dd>
@@ -722,7 +721,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2282">line 2282</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2424">line 2424</a>
</li></ul></dd>
@@ -857,7 +856,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1927">line 1927</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2076">line 2076</a>
</li></ul></dd>
@@ -974,7 +973,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1883">line 1883</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2032">line 2032</a>
</li></ul></dd>
@@ -1113,7 +1112,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2021">line 2021</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2170">line 2170</a>
</li></ul></dd>
@@ -1230,7 +1229,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2043">line 2043</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2192">line 2192</a>
</li></ul></dd>
@@ -1347,7 +1346,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1723">line 1723</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1872">line 1872</a>
</li></ul></dd>
@@ -1487,7 +1486,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1894">line 1894</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2043">line 2043</a>
</li></ul></dd>
@@ -1839,7 +1838,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2085">line 2085</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2234">line 2234</a>
</li></ul></dd>
@@ -1956,7 +1955,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2267">line 2267</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2409">line 2409</a>
</li></ul></dd>
@@ -2091,7 +2090,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2058">line 2058</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2207">line 2207</a>
</li></ul></dd>
@@ -2231,7 +2230,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2257">line 2257</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2399">line 2399</a>
</li></ul></dd>
@@ -2366,7 +2365,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1987">line 1987</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2136">line 2136</a>
</li></ul></dd>
@@ -2483,7 +2482,7 @@ created.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1965">line 1965</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2114">line 2114</a>
</li></ul></dd>
@@ -2524,13 +2523,13 @@ created.
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+438 -41
Ver Arquivo
@@ -322,7 +322,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line169">line 169</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line170">line 170</a>
</li></ul></dd>
@@ -509,7 +509,7 @@
<dd>
<div class="description">
True if last activity was 10 min ago
True if last activity was up to 10 min ago
</div>
@@ -1252,7 +1252,229 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line444">line 444</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line503">line 503</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="_prepareLogin"><span class="type-signature">&lt;private, static> </span>_prepareLogin<span class="signature">(username, password, cb, <span class="optional">loadedSettings</span>)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Process xmpp settings and save loaded settings.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>username</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>password</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>cb</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="attributes">
</td>
<td class="description last">Called after login is prepared with result as param</td>
</tr>
<tr>
<td class="name"><code>loadedSettings</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last">additonal options</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line397">line 397</a>
</li></ul></dd>
@@ -1321,7 +1543,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line489">line 489</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line548">line 548</a>
</li></ul></dd>
@@ -1484,7 +1706,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line116">line 116</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line117">line 117</a>
</li></ul></dd>
@@ -1601,7 +1823,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line547">line 547</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line606">line 606</a>
</li></ul></dd>
@@ -1759,7 +1981,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line164">line 164</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line165">line 165</a>
</li></ul></dd>
@@ -1828,7 +2050,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line650">line 650</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line709">line 709</a>
</li></ul></dd>
@@ -1968,7 +2190,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line745">line 745</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line804">line 804</a>
</li></ul></dd>
@@ -2174,7 +2396,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line721">line 721</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line780">line 780</a>
</li></ul></dd>
@@ -2313,7 +2535,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line765">line 765</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line824">line 824</a>
</li></ul></dd>
@@ -2452,7 +2674,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line177">line 177</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line178">line 178</a>
</li></ul></dd>
@@ -2521,7 +2743,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line693">line 693</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line752">line 752</a>
</li></ul></dd>
@@ -2566,6 +2788,97 @@ workaround) 0: conform, 1: not conform, 2: not shure
</dd>
<dt>
<h4 class="name" id="isLoginForm"><span class="type-signature">&lt;static> </span>isLoginForm<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4>
</dt>
<dd>
<div class="description">
Returns true if login form is found.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line348">line 348</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
True if login form was found.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
</dd>
@@ -2655,7 +2968,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line572">line 572</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line631">line 631</a>
</li></ul></dd>
@@ -2782,7 +3095,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line557">line 557</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line616">line 616</a>
</li></ul></dd>
@@ -2873,7 +3186,7 @@ workaround) 0: conform, 1: not conform, 2: not shure
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line506">line 506</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line565">line 565</a>
</li></ul></dd>
@@ -2943,7 +3256,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line518">line 518</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line577">line 577</a>
</li></ul></dd>
@@ -3012,7 +3325,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line418">line 418</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line477">line 477</a>
</li></ul></dd>
@@ -3081,7 +3394,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line403">line 403</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line462">line 462</a>
</li></ul></dd>
@@ -3109,7 +3422,7 @@ normal signal
<dt>
<h4 class="name" id="prepareLogin"><span class="type-signature">&lt;static> </span>prepareLogin<span class="signature">()</span><span class="type-signature"></span></h4>
<h4 class="name" id="prepareLogin"><span class="type-signature">&lt;static> </span>prepareLogin<span class="signature">(username, password, cb)</span><span class="type-signature"></span></h4>
</dt>
@@ -3126,6 +3439,100 @@ normal signal
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>username</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>password</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>cb</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">Called after login is prepared with result as param</td>
</tr>
</tbody>
</table>
<dl class="details">
@@ -3150,7 +3557,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line342">line 342</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line360">line 360</a>
</li></ul></dd>
@@ -3171,16 +3578,6 @@ normal signal
<h5>Returns:</h5>
<div class="param-desc">
Loaded settings
</div>
</dd>
@@ -3277,7 +3674,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line537">line 537</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line596">line 596</a>
</li></ul></dd>
@@ -3411,7 +3808,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line662">line 662</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line721">line 721</a>
</li></ul></dd>
@@ -3490,7 +3887,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line579">line 579</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line638">line 638</a>
</li></ul></dd>
@@ -3559,7 +3956,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line601">line 601</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line660">line 660</a>
</li></ul></dd>
@@ -3628,7 +4025,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line499">line 499</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line558">line 558</a>
</li></ul></dd>
@@ -3697,7 +4094,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line631">line 631</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line690">line 690</a>
</li></ul></dd>
@@ -3837,7 +4234,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line673">line 673</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line732">line 732</a>
</li></ul></dd>
@@ -3999,7 +4396,7 @@ normal signal
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line153">line 153</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line154">line 154</a>
</li></ul></dd>
@@ -4040,13 +4437,13 @@ normal signal
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+397 -473
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+114 -54
Ver Arquivo
@@ -55,7 +55,7 @@ jsxc = {
/** Interval for keep-alive */
keepalive: null,
/** True if last activity was 10 min ago */
/** True if last activity was up to 10 min ago */
restore: false,
/** True if restore is complete */
@@ -90,7 +90,7 @@ jsxc = {
NOTIFICATION_DEFAULT: 'default',
NOTIFICATION_GRANTED: 'granted',
NOTIFICATION_DENIED: 'denied',
STATUS: [ 'offline', 'dnd', 'xa', 'away', 'chat', 'online' ],
STATUS: ['offline', 'dnd', 'xa', 'away', 'chat', 'online'],
SOUNDS: {
MSG: 'incomingMessage.wav',
CALL: 'Rotary-Phone6.mp3',
@@ -120,7 +120,8 @@ jsxc = {
var year = msgDate.getFullYear();
var hours = ('0' + msgDate.getHours()).slice(-2);
var minutes = ('0' + msgDate.getMinutes()).slice(-2);
var dateNow = new Date(), time = hours + ':' + minutes;
var dateNow = new Date(),
time = hours + ':' + minutes;
// compare dates only
dateNow.setHours(0, 0, 0, 0);
@@ -209,7 +210,7 @@ jsxc = {
}
// Check localStorage
if (typeof (localStorage) === 'undefined') {
if (typeof(localStorage) === 'undefined') {
jsxc.warn("Browser doesn't support localStorage.");
return;
}
@@ -276,15 +277,15 @@ jsxc = {
$(document).on('connectionReady.jsxc', function() {
// Looking for logout element
if (jsxc.options.logoutElement !== null && jsxc.options.logoutElement.length > 0) {
var logout = function() {
jsxc.options.logoutElement = $(this);
jsxc.triggeredFromLogout = true;
return jsxc.xmpp.logout();
};
if (jsxc.options.logoutElement !== null && jsxc.options.logoutElement.length > 0) {
var logout = function() {
jsxc.options.logoutElement = $(this);
jsxc.triggeredFromLogout = true;
return jsxc.xmpp.logout();
};
jsxc.options.logoutElement.off('click', null, logout).one('click', logout);
}
jsxc.options.logoutElement.off('click', null, logout).one('click', logout);
}
});
// Check if we have to establish a new connection
@@ -295,7 +296,7 @@ jsxc = {
jsxc.storage.removeItem('sid');
// Looking for a login form
if (!jsxc.options.loginForm.form || !(jsxc.el_exists(jsxc.options.loginForm.form) && jsxc.el_exists(jsxc.options.loginForm.jid) && jsxc.el_exists(jsxc.options.loginForm.pass))) {
if (!jsxc.isLoginForm()) {
if (jsxc.options.displayRosterMinimized()) {
// Show minimized roster
@@ -329,22 +330,27 @@ jsxc = {
// Add jsxc login action to form
form.submit(function() {
jsxc.prepareLogin(function(settings) {
if (settings !== false) {
// settings.xmpp.onlogin is deprecated since v2.1.0
var enabled = (settings.loginForm && settings.loginForm.enable) || (settings.xmpp && settings.xmpp.onlogin);
enabled = enabled === "true" || enabled === true;
var settings = jsxc.prepareLogin();
if (enabled) {
jsxc.options.loginForm.triggered = true;
if (settings !== false && (settings.xmpp.onlogin === "true" || settings.xmpp.onlogin === true)) {
jsxc.options.loginForm.triggered = true;
jsxc.xmpp.login();
}
} else {
jsxc.submitLoginForm();
}
});
jsxc.xmpp.login();
// Trigger submit in jsxc.xmpp.connected()
return false;
}
return true;
// Trigger submit in jsxc.xmpp.connected()
return false;
});
} else {
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.attachIfFound)) {
// Restore old connection
@@ -352,7 +358,7 @@ jsxc = {
jsxc.gui.init();
if (typeof (jsxc.storage.getItem('alive')) === 'undefined' || !jsxc.restore) {
if (typeof(jsxc.storage.getItem('alive')) === 'undefined' || !jsxc.restore) {
jsxc.onMaster();
} else {
jsxc.checkMaster();
@@ -360,35 +366,78 @@ jsxc = {
}
},
/**
* Returns true if login form is found.
*
* @memberOf jsxc
* @returns {boolean} True if login form was found.
*/
isLoginForm: function() {
return jsxc.options.loginForm.form && jsxc.el_exists(jsxc.options.loginForm.form) && jsxc.el_exists(jsxc.options.loginForm.jid) && jsxc.el_exists(jsxc.options.loginForm.pass);
},
/**
* Load settings and prepare jid.
*
* @memberOf jsxc
* @returns Loaded settings
* @param {string} username
* @param {string} password
* @param {function} cb Called after login is prepared with result as param
*/
prepareLogin: function() {
var username = $(jsxc.options.loginForm.jid).val();
var password = $(jsxc.options.loginForm.pass).val();
prepareLogin: function(username, password, cb) {
if (typeof username === 'function') {
cb = username;
username = null;
}
username = username || $(jsxc.options.loginForm.jid).val();
password = password || $(jsxc.options.loginForm.pass).val();
if (typeof jsxc.options.loadSettings !== 'function') {
jsxc.error('No loadSettings function given. Abort.');
if (!jsxc.triggeredFromBox && (jsxc.options.loginForm.onConnecting === 'dialog' || typeof jsxc.options.loginForm.onConnecting === 'undefined')) {
jsxc.gui.showWaitAlert($.t('Logging_in'));
}
var settings;
if (typeof jsxc.options.loadSettings === 'function') {
settings = jsxc.options.loadSettings.call(this, username, password, function(s) {
jsxc._prepareLogin(username, password, cb, s);
});
if (typeof settings !== 'undefined') {
jsxc._prepareLogin(username, password, cb, settings);
}
} else {
jsxc._prepareLogin(username, password, cb);
}
},
/**
* Process xmpp settings and save loaded settings.
*
* @private
* @memberOf jsxc
* @param {string} username
* @param {string} password
* @param {function} cb Called after login is prepared with result as param
* @param {object} [loadedSettings] additonal options
*/
_prepareLogin: function(username, password, cb, loadedSettings) {
if (loadedSettings === false) {
jsxc.warn('No settings provided');
cb(false);
return;
}
if (!jsxc.triggeredFromBox && (jsxc.options.loginForm.onConnecting === 'dialog' || typeof jsxc.options.loginForm.onConnecting === 'undefined')) {
jsxc.gui.showWaitAlert($.t('Logging_in'));
}
var settings = jsxc.options.loadSettings.call(this, username, password);
if (settings === false || settings === null || typeof settings === 'undefined') {
jsxc.warn('No settings provided');
return false;
}
// prevent to modify the original object
settings = $.extend(true, {}, settings);
var settings = $.extend(true, {}, jsxc.options);
if (loadedSettings) {
// overwrite current options with loaded settings;
settings = $.extend(true, settings, loadedSettings);
} else {
loadedSettings = {};
}
if (typeof settings.xmpp.username === 'string') {
username = settings.xmpp.username;
@@ -414,14 +463,24 @@ jsxc = {
settings.xmpp.domain = jid.split('@')[1].split('/')[0];
settings.xmpp.resource = jid.split('@')[1].split('/')[1] || "";
$.each(settings, function(key, val) {
if (!loadedSettings.xmpp) {
// force xmpp settings to be saved to storage
loadedSettings.xmpp = {};
}
// save loaded settings to storage
$.each(loadedSettings, function(key) {
var old = jsxc.options.get(key);
var val = settings[key];
val = $.extend(true, old, val);
jsxc.options.set(key, val);
});
jsxc.options.xmpp.jid = jid;
jsxc.options.xmpp.password = password;
return settings;
cb(settings);
},
/**
@@ -490,7 +549,7 @@ jsxc = {
// Prepare notifications
if (jsxc.restore) {
var noti = jsxc.storage.getUserItem('notification');
noti = (typeof noti === 'number')? noti : 2;
noti = (typeof noti === 'number') ? noti : 2;
if (jsxc.options.notification && noti > 0 && jsxc.notification.hasSupport()) {
if (jsxc.notification.hasPermission()) {
jsxc.notification.init();
@@ -597,7 +656,7 @@ jsxc = {
* @returns comparable bar jid
*/
jidToBid: function(jid) {
return Strophe.getBareJidFromJid(jid).toLowerCase();
return Strophe.unescapeNode(Strophe.getBareJidFromJid(jid).toLowerCase());
},
/**
@@ -781,7 +840,7 @@ jsxc = {
return fn.apply(null, fnParams);
}
},
/**
* Hash string into 32-bit signed integer.
*
@@ -790,14 +849,15 @@ jsxc = {
* @returns {integer} 32-bit signed integer
*/
hashStr: function(str) {
var hash = 0, i;
var hash = 0,
i;
if (str.length === 0) {
return hash;
}
for (i = 0; i &lt; str.length; i++) {
hash = ((hash &lt;&lt; 5) - hash) + str.charCodeAt(i);
hash = ((hash &lt;&lt; 5) - hash) + str.charCodeAt(i);
hash |= 0; // Convert to 32bit integer
}
@@ -814,13 +874,13 @@ jsxc = {
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:18 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+397 -38
Ver Arquivo
@@ -25,26 +25,7 @@
<section>
<article>
<pre class="prettyprint source"><code>jsxc.gui.template.joinChat = '&lt;h3 data-i18n="Join_chat">&lt;/h3>\
&lt;p class=".jsxc_explanation" data-i18n="muc_explanation">&lt;/p>\
&lt;p>&lt;label for="jsxc_server" data-i18n="Server">&lt;/label>\
&lt;input type="text" name="server" id="jsxc_server" required="required" readonly="readonly" />&lt;/p>\
&lt;p>&lt;label for="jsxc_room" data-i18n="Room">&lt;/label>\
&lt;input type="text" name="room" id="jsxc_room" autocomplete="off" list="jsxc_roomlist" required="required" pattern="^[^\\x22&\'\\/:&lt;>@\\s]+" />&lt;/p>\
&lt;p class="jsxc_inputinfo jsxc_waiting jsxc_room" data-i18n="Rooms_are_loaded">&lt;/p>\
&lt;datalist id="jsxc_roomlist">\
&lt;p>&lt;label for="jsxc_roomlist_select">&lt;/label>&lt;select id="jsxc_roomlist_select">&lt;option>&lt;/option>&lt;option>workaround&lt;/option>&lt;/select>&lt;/p>\
&lt;/datalist>\
&lt;p>&lt;label for="jsxc_nickname" data-i18n="Nickname">&lt;/label>\
&lt;input type="text" name="nickname" id="jsxc_nickname" />&lt;/p>\
&lt;p>&lt;label for="jsxc_password" data-i18n="Password">&lt;/label>\
&lt;input type="text" name="password" id="jsxc_password" />&lt;/p>\
&lt;div class="jsxc_msg">&lt;/div>\
&lt;p class="jsxc_right">\
&lt;span class="jsxc_warning">&lt;/span> &lt;a href="#" class="button jsxc_close" data-i18n="Close">&lt;/a> &lt;a href="#" class="button jsxc_continue" data-i18n="Continue"> &lt;a href="#" class="button jsxc_join" data-i18n="Join">&lt;/a>\
&lt;/p>';
/**
<pre class="prettyprint source"><code>/**
* Implements Multi-User Chat (XEP-0045).
*
* @namespace jsxc.muc
@@ -74,6 +55,9 @@ jsxc.muc = {
EXITED: 2,
AWAIT_DESTRUCTION: 3,
DESTROYED: 4
},
ROOMCONFIG: {
INSTANT: 'instant'
}
},
@@ -157,14 +141,26 @@ jsxc.muc = {
* Open join dialog.
*
* @memberOf jsxc.muc
* @param {string} [r] - room jid
* @param {string} [p] - room password
*/
showJoinChat: function() {
showJoinChat: function(r, p) {
var self = jsxc.muc;
var dialog = jsxc.gui.dialog.open(jsxc.gui.template.get('joinChat'));
// hide second step button
dialog.find('.jsxc_join').hide();
// prepopulate room jid
if (typeof r === 'string') {
dialog.find('#jsxc_room').val(r);
}
// prepopulate room password
if (typeof p === 'string') {
dialog.find('#jsxc_password').val(p);
}
// display conference server
dialog.find('#jsxc_server').val(jsxc.options.get('muc').server);
@@ -261,6 +257,16 @@ jsxc.muc = {
dialog.find('#jsxc_nickname').attr('placeholder', Strophe.getNodeFromJid(self.conn.jid));
dialog.find('#jsxc_bookmark').change(function() {
if ($(this).prop('checked')) {
$('#jsxc_autojoin').prop('disabled', false);
$('#jsxc_autojoin').parent('.checkbox').removeClass('disabled');
} else {
$('#jsxc_autojoin').prop('disabled', true).prop('checked', false);
$('#jsxc_autojoin').parent('.checkbox').addClass('disabled');
}
});
dialog.find('.jsxc_continue').click(function(ev) {
ev.preventDefault();
@@ -298,7 +304,10 @@ jsxc.muc = {
dialog.find('.jsxc_join').click(function(ev) {
ev.preventDefault();
self.join(room, nickname, password, roomName, subject);
var bookmark = $("#jsxc_bookmark").prop("checked");
var autojoin = $('#jsxc_autojoin').prop('checked');
self.join(room, nickname, password, roomName, subject, bookmark, autojoin);
return false;
});
@@ -369,6 +378,85 @@ jsxc.muc = {
});
},
/**
* Request and show room configuration.
*
* @memberOf jsxc.muc
* @param {string} room - room jid
*/
showRoomConfiguration: function(room) {
var self = jsxc.muc;
self.conn.muc.configure(room, function(stanza) {
var form = Strophe.x.Form.fromXML(stanza);
window.f = form;
self._showRoomConfiguration(room, form);
}, function() {
jsxc.debug('Could not load room configuration');
//@TODO show error
});
},
/**
* Show room configuration.
*
* @private
* @memberOf jsxc.muc
* @param {string} room - room jid
* @param {Strophe.x.Form} config - current room config as Form object
*/
_showRoomConfiguration: function(room, config) {
var self = jsxc.muc;
var dialog = jsxc.gui.dialog.open(jsxc.muc.helper.formToHTML(config));
var form = dialog.find('form');
var submit = $('&lt;button>');
submit.addClass('btn btn-primary');
submit.attr('type', 'submit');
submit.text($.t('Join'));
var cancel = $('&lt;button>');
cancel.addClass('btn btn-default');
cancel.attr('type', 'button');
cancel.text($.t('Cancel'));
var formGroup = $('&lt;div>');
formGroup.addClass('form-group');
$('&lt;div>').addClass('col-sm-offset-6 col-sm-6').appendTo(formGroup);
formGroup.find('>div').append(cancel);
formGroup.find('>div').append(submit);
form.append(formGroup);
form.submit(function(ev) {
ev.preventDefault();
var config = Strophe.x.Form.fromHTML(form.get(0));
self.conn.muc.saveConfiguration(room, config, function() {
jsxc.storage.updateUserItem('buddy', room, 'config', config);
jsxc.debug('Room configuration saved.');
}, function() {
jsxc.warn('Could not save room configuration.');
//@TODO display error
});
jsxc.gui.dialog.close();
return false;
});
cancel.click(function() {
self.conn.muc.cancelConfigure(room);
jsxc.gui.dialog.close();
});
},
/**
* Join the given room.
*
@@ -379,7 +467,7 @@ jsxc.muc = {
* @param {string} [roomName] Room alias
* @param {string} [subject] Current subject
*/
join: function(room, nickname, password, roomName, subject) {
join: function(room, nickname, password, roomName, subject, bookmark, autojoin) {
var self = jsxc.muc;
jsxc.storage.setUserItem('buddy', room, {
@@ -388,10 +476,18 @@ jsxc.muc = {
sub: 'both',
type: 'groupchat',
state: self.CONST.ROOMSTATE.INIT,
subject: subject
subject: subject,
bookmarked: bookmark || false,
autojoin: autojoin || false,
nickname: nickname,
config: null
});
jsxc.xmpp.conn.muc.join(room, nickname, null, null, null, password);
if (bookmark) {
jsxc.xmpp.bookmarks.add(room, roomName, nickname, autojoin);
}
},
/**
@@ -424,6 +520,7 @@ jsxc.muc = {
onExited: function(room) {
var self = jsxc.muc;
var own = jsxc.storage.getUserItem('ownNicknames') || {};
var roomdata = jsxc.storage.getUserItem('buddy', room) || {};
jsxc.storage.setUserItem('roomNames', self.conn.muc.roomNames);
@@ -433,7 +530,12 @@ jsxc.muc = {
jsxc.storage.removeUserItem('chat', room);
jsxc.gui.window.close(room);
jsxc.gui.roster.purge(room);
jsxc.storage.updateUserItem('buddy', room, 'state', self.CONST.ROOMSTATE.EXITED);
if (!roomdata.bookmarked) {
jsxc.gui.roster.purge(room);
}
},
/**
@@ -446,6 +548,7 @@ jsxc.muc = {
*/
destroy: function(room, handler_cb, error_cb) {
var self = jsxc.muc;
var roomdata = jsxc.storage.getUserItem('buddy', room);
jsxc.storage.updateUserItem('buddy', room, 'state', self.CONST.ROOMSTATE.AWAIT_DESTRUCTION);
jsxc.gui.window.postMessage(room, 'sys', $.t('This_room_will_be_closed'));
@@ -458,6 +561,10 @@ jsxc.muc = {
}).c("destroy");
jsxc.muc.conn.sendIQ(iq.tree(), handler_cb, error_cb);
if (roomdata.bookmarked) {
jsxc.xmpp.bookmarks.delete(room);
}
},
/**
@@ -511,7 +618,7 @@ jsxc.muc = {
return;
}
if (self.conn.muc.roomNames.indexOf(data.jid) &lt; 0) {
if (roomdata.type !== 'groupchat') {
return;
}
@@ -641,6 +748,7 @@ jsxc.muc = {
onPresence: function(event, from, status, presence) {
var self = jsxc.muc;
var room = jsxc.jidToBid(from);
var roomdata = jsxc.storage.getUserItem('buddy', room);
var xdata = $(presence).find('x[xmlns^="' + Strophe.NS.MUC + '"]');
if (self.conn.muc.roomNames.indexOf(room) &lt; 0 || xdata.length === 0) {
@@ -661,7 +769,7 @@ jsxc.muc = {
codes.push(code);
});
if (jsxc.gui.roster.getItem(room).length === 0) {
if (roomdata.state === self.CONST.ROOMSTATE.INIT) {
// successfully joined
jsxc.storage.setUserItem('roomNames', jsxc.xmpp.conn.muc.roomNames);
@@ -670,14 +778,19 @@ jsxc.muc = {
jsxc.storage.removeUserItem('chat', room);
member = {};
var bl = jsxc.storage.getUserItem('buddylist');
bl.push(room);
jsxc.storage.setUserItem('buddylist', bl);
if (jsxc.gui.roster.getItem(room).length === 0) {
var bl = jsxc.storage.getUserItem('buddylist');
bl.push(room);
jsxc.storage.setUserItem('buddylist', bl);
jsxc.gui.roster.add(room);
jsxc.gui.roster.add(room);
}
jsxc.gui.window.open(room);
jsxc.gui.dialog.close();
if ($('#jsxc_dialog').length > 0) {
// User joined the room manually
jsxc.gui.window.open(room);
jsxc.gui.dialog.close();
}
}
var jid = xdata.find('item').attr('jid') || null;
@@ -812,12 +925,55 @@ jsxc.muc = {
170: function(room) {
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_enabled'));
},
/** Inform occupants that room logging is now disabled */
171: function(room) {
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_logging_is_disabled'));
},
/** Inform occupants that the room is now non-anonymous */
172: function(room) {
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_non-anoymous'));
},
/** Inform occupants that the room is now semi-anonymous */
173: function(room) {
jsxc.gui.window.postMessage(room, 'sys', $.t('Room_is_now_semi-anonymous'));
},
/** Inform user that a new room has been created */
201: function(room) {
var self = jsxc.muc;
//@TODO let user choose between instant and reserved room
var roomdata = jsxc.storage.getUserItem('buddy', room) || {};
self.conn.muc.createInstantRoom(room);
if (roomdata.autojoin && roomdata.config === self.CONST.ROOMCONFIG.INSTANT) {
self.conn.muc.createInstantRoom(room);
} else if (roomdata.autojoin && typeof roomdata.config !== 'undefined' && roomdata.config !== null) {
self.conn.muc.saveConfiguration(room, roomdata.config, function() {
jsxc.debug('Cached room configuration saved.');
}, function() {
jsxc.warn('Could not save cached room configuration.');
//@TODO display error
});
} else {
jsxc.gui.showSelectionDialog({
header: $.t('Room_creation'),
msg: $.t('Do_you_want_to_change_the_default_room_configuration'),
primary: {
label: $.t('Default'),
cb: function() {
jsxc.gui.dialog.close();
self.conn.muc.createInstantRoom(room);
jsxc.storage.updateUserItem('buddy', room, 'config', self.CONST.ROOMCONFIG.INSTANT);
}
},
option: {
label: $.t('Change'),
cb: function() {
self.showRoomConfiguration(room);
}
}
});
}
},
/** Inform user that he or she has been banned */
301: function(room, nickname, data, xdata) {
@@ -1123,10 +1279,213 @@ jsxc.muc = {
return;
}
bud.find('.jsxc_delete').off('click').click(function() {
var bo = $('&lt;div>');
bo.text('+');
bo.addClass('jsxc_bookmarkOptions');
bo.click(function(ev) {
ev.preventDefault();
jsxc.xmpp.bookmarks.showDialog(room);
return false;
});
bud.find('.jsxc_rename').before(bo);
if (data.bookmarked) {
bud.addClass('jsxc_bookmarked');
}
bud.off('click').click(function() {
var data = jsxc.storage.getUserItem('buddy', room);
if (data.state === self.CONST.ROOMSTATE.INIT || data.state === self.CONST.ROOMSTATE.EXITED) {
self.showJoinChat();
$('#jsxc_room').val(Strophe.getNodeFromJid(data.jid));
$('#jsxc_nickname').val(data.nickname);
$('#jsxc_bookmark').prop('checked', data.bookmarked);
$('#jsxc_autojoin').prop('checked', data.autojoin);
$('#jsxc_dialog .jsxc_bookmark').hide();
} else {
jsxc.gui.window.open(room);
}
});
bud.find('.jsxc_delete').click(function() {
if (data.bookmarked) {
jsxc.xmpp.bookmarks.delete(room);
}
self.leave(room);
return false;
});
},
/**
* Some helper functions.
*
* @type {Object}
*/
helper: {
/**
* Convert x:data form to html.
*
* @param {Strophe.x.Form} form - x:data form
* @return {jQuery} jQuery representation of x:data field
*/
formToHTML: function(form) {
if (!(form instanceof Strophe.x.Form)) {
return;
}
var html = $('&lt;form>');
html.attr('data-type', form.type);
html.addClass('form-horizontal');
if (form.title) {
html.append("&lt;h3>" + form.title + "&lt;/h3>");
}
if (form.instructions) {
html.append("&lt;p>" + form.instructions + "&lt;/p>");
}
if (form.fields.length > 0) {
var i;
for (i = 0; i &lt; form.fields.length; i++) {
html.append(jsxc.muc.helper.fieldToHtml(form.fields[i]));
}
}
return $('&lt;div>').append(html).html();
},
/**
* Convert x:data field to html.
*
* @param {Strophe.x.Field} field - x:data field
* @return {html} html representation of x:data field
*/
fieldToHtml: function(field) {
var self = field || this;
field = null;
var el, val, opt, i, o, j, k, txt, line, _ref2;
var id = "Strophe.x.Field-" + self['type'] + "-" + self['var'];
var html = $('&lt;div>');
html.addClass('form-group');
if (self.label) {
var label = $('&lt;label>');
label.attr('for', id);
label.addClass('col-sm-6 control-label');
label.text(self.label);
label.appendTo(html);
}
switch (self.type.toLowerCase()) {
case 'list-single':
case 'list-multi':
el = $('&lt;select>');
if (self.type === 'list-multi') {
el.attr('multiple', 'multiple');
}
for (i = 0; i &lt; self.options.length; i++) {
opt = self.options[i];
if (!opt) {
continue;
}
o = $(opt.toHTML());
for (j = 0; j &lt; self.values; j++) {
k = self.values[j];
if (k.toString() === opt.value.toString()) {
o.attr('selected', 'selected');
}
}
o.appendTo(el);
}
break;
case 'text-multi':
case 'jid-multi':
el = $("&lt;textarea>");
txt = ((function() {
var i, _results;
_results = [];
for (i = 0; i &lt; self.values.length; i++) {
line = self.values[i];
_results.push(line);
}
return _results;
}).call(this)).join('\n');
if (txt) {
el.text(txt);
}
break;
case 'text-single':
case 'boolean':
case 'text-private':
case 'hidden':
case 'fixed':
case 'jid-single':
el = $("&lt;input>");
if (self.values) {
el.attr('value', self.values[0]);
}
switch (self.type.toLowerCase()) {
case 'text-single':
el.attr('type', 'text');
el.attr('placeholder', self.desc);
el.addClass('form-control');
break;
case 'boolean':
el.attr('type', 'checkbox');
val = (_ref2 = self.values[0]) != null ? typeof _ref2.toString === "function" ? _ref2.toString() : void 0 : void 0;
if (val && (val === "true" || val === "1")) {
el.attr('checked', 'checked');
}
break;
case 'text-private':
el.attr('type', 'password');
el.addClass('form-control');
break;
case 'hidden':
el.attr('type', 'hidden');
break;
case 'fixed':
el.attr('type', 'text').attr('readonly', 'readonly');
el.addClass('form-control');
break;
case 'jid-single':
el.attr('type', 'email');
el.addClass('form-control');
}
break;
default:
el = $("&lt;input type='text'>");
}
el.attr('id', id);
el.attr('name', self["var"]);
if (self.required) {
el.attr('required', self.required);
}
var inner = el;
el = $('&lt;div>');
el.addClass('col-sm-6');
el.append(inner);
html.append(el);
return html.get(0);
}
}
};
@@ -1151,13 +1510,13 @@ $(document).one('connected.jsxc', function() {
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:18 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+3 -3
Ver Arquivo
@@ -130,7 +130,7 @@ jsxc.notice = {
var saved = jsxc.storage.getUserItem('notices') || [];
var has = false;
$.each(saved, function(index, val){
$.each(saved, function(index, val) {
if (val.fnName === fnName) {
has = true;
@@ -151,13 +151,13 @@ jsxc.notice = {
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:18 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+5 -3
Ver Arquivo
@@ -46,7 +46,9 @@ jsxc.notification = {
var data = jsxc.storage.getUserItem('buddy', bid);
jsxc.notification.notify({
title: $.t('New_message_from') + ' ' + data.name,
title: $.t('New_message_from', {
name: data.name
}),
msg: msg,
soundFile: jsxc.CONST.SOUNDS.MSG,
source: bid
@@ -307,13 +309,13 @@ jsxc.notification = {
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:18 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+73 -13
Ver Arquivo
@@ -52,12 +52,23 @@ jsxc.options = {
/** xmpp options */
xmpp: {
/** BOSH url */
url: null,
/** XMPP JID*/
jid: null,
/** XMPP domain */
domain: null,
/** XMPP password */
password: null,
/** True: Allow user to overwrite xmpp settings */
overwrite: false,
onlogin: true
/** @deprecated since v2.1.0. Use now loginForm.enable. */
onlogin: null
},
/** default xmpp priorities */
@@ -69,8 +80,11 @@ jsxc.options = {
dnd: 0
},
/** If all 3 properties are set, the login form is used */
/** If all 3 properties are set and enable is true, the login form is used */
loginForm: {
/** False, disables login through login form */
enable: true,
/** jquery object from form */
form: null,
@@ -101,7 +115,16 @@ jsxc.options = {
* Action after auth fail: submit [String] Submit form, false [boolean] | quiet [String] Do
* nothing, ask [String] Show auth fail dialog
*/
onAuthFail: 'submit'
onAuthFail: 'submit',
/** True: Attach connection even is login form was found */
attachIfFound: true,
/**
* True: Display roster minimized after first login. Afterwards the last
* roster state will be used.
*/
startMinimized: false
},
/** jquery object from logout element */
@@ -155,17 +178,22 @@ jsxc.options = {
jsxc.gui.avatarPlaceholder($(this).find('.jsxc_avatar'), jid);
},
/**
* This callback processes all settings.
* @callback loadSettingsCallback
* @param settings {object} could be every jsxc option
*/
/**
* Returns permanent saved settings and overwrite default jsxc.options.
*
* @memberOf jsxc.options
* @param username String username
* @param password String password
* @returns {object} at least xmpp.url
* @function
* @param username {string} username
* @param password {string} password
* @param cb {loadSettingsCallback} Callback that handles the result
*/
loadSettings: function() {
},
loadSettings: null,
/**
* Call this function to save user settings permanent.
@@ -198,8 +226,40 @@ jsxc.options = {
* @param {string} search Search token (start with)
* @param {getUsers-cb} cb Called with list of users
*/
getUsers: null
};</code></pre>
getUsers: null,
/** Options for info in favicon */
favicon: {
enable: true,
/** Favicon info background color */
bgColor: '#E59400',
/** Favicon info text color */
textColor: '#fff'
},
/** @deprecated since v2.1.0. Use now RTCPeerConfig.url. */
turnCredentialsPath: null,
/** RTCPeerConfiguration used for audio/video calls. */
RTCPeerConfig: {
/** Time-to-live for config from url */
ttl: 3600,
/** [optional] If set, jsxc requests and uses RTCPeerConfig from this url */
url: null,
/** ICE servers like defined in http://www.w3.org/TR/webrtc/#idl-def-RTCIceServer */
iceServers: [{
urls: 'stun:stun.stunprotocol.org'
}]
},
/** Link to an online user manual */
onlineHelp: 'http://www.jsxc.org/manual.html'
};
</code></pre>
</article>
</section>
@@ -209,13 +269,13 @@ jsxc.options = {
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:18 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+15 -14
Ver Arquivo
@@ -25,8 +25,7 @@
<section>
<article>
<pre class="prettyprint source"><code>
/**
<pre class="prettyprint source"><code>/**
* @namespace jsxc.otr
*/
jsxc.otr = {
@@ -121,7 +120,9 @@ jsxc.otr = {
data.fingerprint = jsxc.otr.objects[bid].their_priv_pk.fingerprint();
data.msgstate = OTR.CONST.MSGSTATE_ENCRYPTED;
var msg = (jsxc.otr.objects[bid].trust ? $.t('Verified') : $.t('Unverified')) + ' ' + $.t('private_conversation_started');
var msg_state = jsxc.otr.objects[bid].trust ? 'Verified' : 'Unverified';
var msg = $.t(msg_state + '_private_conversation_started');
jsxc.gui.window.postMessage(bid, 'sys', msg);
break;
case OTR.CONST.STATUS_END_OTR:
@@ -236,10 +237,10 @@ jsxc.otr = {
if (data) {
$('#jsxc_dialog > div:eq(2)').find('#jsxc_quest').val(data).prop('disabled', true);
$('#jsxc_dialog > div:eq(2)').find('.creation').text('Answer');
$('#jsxc_dialog > div:eq(2)').find('.jsxc_explanation').text($.t('your_buddy_is_attempting_to_determine_') + ' ' + $.t('to_authenticate_to_your_buddy') + $.t('enter_the_answer_and_click_answer'));
$('#jsxc_dialog > div:eq(2)').find('.jsxc_submit').text($('Answer'));
$('#jsxc_dialog > div:eq(2)').find('.jsxc_explanation').text($.t('onsmp_explanation_question'));
} else {
$('#jsxc_dialog > div:eq(3)').find('.jsxc_explanation').text($.t('your_buddy_is_attempting_to_determine_') + ' ' + $.t('to_authenticate_to_your_buddy') + $.t('enter_the_secret'));
$('#jsxc_dialog > div:eq(3)').find('.jsxc_explanation').text($.t('onsmp_explanation_secret'));
}
$('#jsxc_dialog .jsxc_close').click(function() {
@@ -333,7 +334,7 @@ jsxc.otr = {
}
// all variables which should be saved
var savekey = [ 'jid', 'our_instance_tag', 'msgstate', 'authstate', 'fragment', 'their_y', 'their_old_y', 'their_keyid', 'their_instance_tag', 'our_dh', 'our_old_dh', 'our_keyid', 'sessKeys', 'storedMgs', 'oldMacKeys', 'trust', 'transmittedRS', 'ssid', 'receivedPlaintext', 'authstate', 'send_interval' ];
var savekey = ['jid', 'our_instance_tag', 'msgstate', 'authstate', 'fragment', 'their_y', 'their_old_y', 'their_keyid', 'their_instance_tag', 'our_dh', 'our_old_dh', 'our_keyid', 'sessKeys', 'storedMgs', 'oldMacKeys', 'trust', 'transmittedRS', 'ssid', 'receivedPlaintext', 'authstate', 'send_interval'];
var i;
for (i = 0; i &lt; savekey.length; i++) {
@@ -401,9 +402,9 @@ jsxc.otr = {
OTR = {};
OTR.CONST = {
MSGSTATE_PLAINTEXT : 0,
MSGSTATE_ENCRYPTED : 1,
MSGSTATE_FINISHED : 2
MSGSTATE_PLAINTEXT: 0,
MSGSTATE_ENCRYPTED: 1,
MSGSTATE_FINISHED: 2
};
jsxc._onMaster();
@@ -419,7 +420,7 @@ jsxc.otr = {
// try to create web-worker
try {
worker = new Worker(jsxc.options.root + '/lib/otr/build/dsa-webworker.js');
worker = new Worker(jsxc.options.root + '/lib/otr/lib/dsa-webworker.js');
} catch (err) {
jsxc.warn('Couldn\'t create web-worker.', err);
}
@@ -445,7 +446,7 @@ jsxc.otr = {
// start worker
worker.postMessage({
imports: [ jsxc.options.root + '/lib/otr/vendor/salsa20.js', jsxc.options.root + '/lib/otr/vendor/bigint.js', jsxc.options.root + '/lib/otr/vendor/crypto.js', jsxc.options.root + '/lib/otr/vendor/eventemitter.js', jsxc.options.root + '/lib/otr/lib/const.js', jsxc.options.root + '/lib/otr/lib/helpers.js', jsxc.options.root + '/lib/otr/lib/dsa.js' ],
imports: [jsxc.options.root + '/lib/otr/vendor/salsa20.js', jsxc.options.root + '/lib/otr/vendor/bigint.js', jsxc.options.root + '/lib/otr/vendor/crypto.js', jsxc.options.root + '/lib/otr/vendor/eventemitter.js', jsxc.options.root + '/lib/otr/lib/const.js', jsxc.options.root + '/lib/otr/lib/helpers.js', jsxc.options.root + '/lib/otr/lib/dsa.js'],
seed: BigInt.getSeed(),
debug: true
});
@@ -520,13 +521,13 @@ jsxc.otr = {
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:18 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+391
Ver Arquivo
@@ -0,0 +1,391 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: jsxc.lib.xmpp.bookmarks.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: jsxc.lib.xmpp.bookmarks.js</h1>
<section>
<article>
<pre class="prettyprint source"><code>/**
* Load and save bookmarks according to XEP-0048.
*
* @namespace jsxc.xmpp.bookmarks
*/
jsxc.xmpp.bookmarks = {};
/**
* Determines if server is able to store bookmarks.
*
* @return {boolean} True: Server supports bookmark storage
*/
jsxc.xmpp.bookmarks.remote = function() {
return jsxc.xmpp.conn.caps && jsxc.xmpp.hasFeatureByJid(jsxc.xmpp.conn.domain, Strophe.NS.PUBSUB + "#publish");
};
/**
* Load bookmarks from pubsub.
*
* @memberOf jsxc.xmpp.bookmarks
*/
jsxc.xmpp.bookmarks.load = function() {
var caps = jsxc.xmpp.conn.caps;
var ver = caps._jidVerIndex[jsxc.xmpp.conn.domain];
if (!ver || !caps._knownCapabilities[ver]) {
// wait until we know server capabilities
$(document).on('caps.strophe', function(ev, from) {
if (from === jsxc.xmpp.conn.domain) {
jsxc.xmpp.bookmarks.load();
$(document).off(ev);
}
});
}
if (jsxc.xmpp.bookmarks.remote()) {
jsxc.xmpp.bookmarks.loadFromRemote();
} else {
jsxc.xmpp.bookmarks.loadFromLocal();
}
};
/**
* Load bookmarks from local storage.
*
* @private
*/
jsxc.xmpp.bookmarks.loadFromLocal = function() {
jsxc.debug('Load bookmarks from local storage');
var bookmarks = jsxc.storage.getUserItem('bookmarks') || [];
var bl = jsxc.storage.getUserItem('buddylist') || [];
$.each(bookmarks, function() {
var room = this;
var roomdata = jsxc.storage.getUserItem('buddy', room) || {};
bl.push(room);
jsxc.gui.roster.add(room);
if (roomdata.autojoin) {
jsxc.debug('auto join ' + room);
jsxc.xmpp.conn.muc.join(room, roomdata.nickname);
}
});
jsxc.storage.setUserItem('buddylist', bl);
};
/**
* Load bookmarks from remote storage.
*
* @private
*/
jsxc.xmpp.bookmarks.loadFromRemote = function() {
jsxc.debug('Load bookmarks from pubsub');
var bookmarks = jsxc.xmpp.conn.bookmarks;
bookmarks.get(function(stanza) {
var bl = jsxc.storage.getUserItem('buddylist');
$(stanza).find('conference').each(function() {
var conference = $(this);
var room = conference.attr('jid');
var roomName = conference.attr('name') || room;
var autojoin = conference.attr('autojoin') || false;
var nickname = conference.find('nick').text();
nickname = (nickname.length > 0) ? nickname : Strophe.getNodeFromJid(jsxc.xmpp.conn.jid);
if (autojoin === 'true') {
autojoin = true;
} else if (autojoin === 'false') {
autojoin = false;
}
var data = jsxc.storage.getUserItem('buddy', room) || {};
data = $.extend(data, {
jid: room,
name: roomName,
sub: 'both',
status: 0,
type: 'groupchat',
state: jsxc.muc.CONST.ROOMSTATE.INIT,
subject: null,
bookmarked: true,
autojoin: autojoin,
nickname: nickname
});
jsxc.storage.setUserItem('buddy', room, data);
bl.push(room);
jsxc.gui.roster.add(room);
if (autojoin) {
jsxc.debug('auto join ' + room);
jsxc.xmpp.conn.muc.join(room, nickname);
}
});
jsxc.storage.setUserItem('buddylist', bl);
}, function(stanza) {
var err = jsxc.xmpp.bookmarks.parseErr(stanza);
if (err.reasons[0] === 'item-not-found') {
jsxc.debug('create bookmark node');
bookmarks.createBookmarksNode();
} else {
jsxc.debug('[XMPP] Could not create bookmark: ' + err.type, err.reasons);
}
});
};
/**
* Parse received error.
*
* @param {string} stanza
* @return {object} err - The parsed error
* @return {string} err.type - XMPP error type
* @return {array} err.reasons - Array of error reasons
*/
jsxc.xmpp.bookmarks.parseErr = function(stanza) {
var error = $(stanza).find('error');
var type = error.attr('type');
var reasons = error.children().map(function() {
return $(this).prop('tagName');
});
return {
type: type,
reasons: reasons
};
};
/**
* Deletes the bookmark for the given room and removes it from the roster if soft is false.
*
* @param {string} room - room jid
* @param {boolean} [soft=false] - True: leave room in roster
*/
jsxc.xmpp.bookmarks.delete = function(room, soft) {
if (!soft) {
jsxc.gui.roster.purge(room);
}
if (jsxc.xmpp.bookmarks.remote()) {
jsxc.xmpp.bookmarks.deleteFromRemote(room, soft);
} else {
jsxc.xmpp.bookmarks.deleteFromLocal(room, soft);
}
};
/**
* Delete bookmark from remote storage.
*
* @private
* @param {string} room - room jid
* @param {boolean} [soft=false] - True: leave room in roster
*/
jsxc.xmpp.bookmarks.deleteFromRemote = function(room, soft) {
var bookmarks = jsxc.xmpp.conn.bookmarks;
bookmarks.delete(room, function() {
jsxc.debug('Bookmark deleted ' + room);
if (soft) {
jsxc.gui.roster.getItem(room).removeClass('jsxc_bookmarked');
jsxc.storage.updateUserItem('buddy', room, 'bookmarked', false);
jsxc.storage.updateUserItem('buddy', room, 'autojoin', false);
}
}, function(stanza) {
var err = jsxc.xmpp.bookmarks.parseErr(stanza);
jsxc.debug('[XMPP] Could not delete bookmark: ' + err.type, err.reasons);
});
};
/**
* Delete bookmark from local storage.
*
* @private
* @param {string} room - room jid
* @param {boolean} [soft=false] - True: leave room in roster
*/
jsxc.xmpp.bookmarks.deleteFromLocal = function(room, soft) {
var bookmarks = jsxc.storage.getUserItem('bookmarks');
var index = bookmarks.indexOf(room);
if (index > -1) {
bookmarks.splice(index, 1);
}
jsxc.storage.setUserItem('bookmarks', bookmarks);
if (soft) {
jsxc.gui.roster.getItem(room).removeClass('jsxc_bookmarked');
jsxc.storage.updateUserItem('buddy', room, 'bookmarked', false);
jsxc.storage.updateUserItem('buddy', room, 'autojoin', false);
}
};
/**
* Adds or overwrites bookmark for given room.
*
* @param {string} room - room jid
* @param {string} alias - room alias
* @param {string} nick - preferred user nickname
* @param {boolean} autojoin - should we join this room after login?
*/
jsxc.xmpp.bookmarks.add = function(room, alias, nick, autojoin) {
if (jsxc.xmpp.bookmarks.remote()) {
jsxc.xmpp.bookmarks.addToRemote(room, alias, nick, autojoin);
} else {
jsxc.xmpp.bookmarks.addToLocal(room, alias, nick, autojoin);
}
};
/**
* Adds or overwrites bookmark for given room in remote storage.
*
* @private
* @param {string} room - room jid
* @param {string} alias - room alias
* @param {string} nick - preferred user nickname
* @param {boolean} autojoin - should we join this room after login?
*/
jsxc.xmpp.bookmarks.addToRemote = function(room, alias, nick, autojoin) {
var bookmarks = jsxc.xmpp.conn.bookmarks;
var success = function() {
jsxc.debug('New bookmark created', room);
jsxc.gui.roster.getItem(room).addClass('jsxc_bookmarked');
jsxc.storage.updateUserItem('buddy', room, 'bookmarked', true);
jsxc.storage.updateUserItem('buddy', room, 'autojoin', autojoin);
jsxc.storage.updateUserItem('buddy', room, 'nickname', nick);
};
var error = function() {
jsxc.warn('Could not create bookmark', room);
};
bookmarks.add(room, alias, nick, autojoin, success, error);
};
/**
* Adds or overwrites bookmark for given room in local storage.
*
* @private
* @param {string} room - room jid
* @param {string} alias - room alias
* @param {string} nick - preferred user nickname
* @param {boolean} autojoin - should we join this room after login?
*/
jsxc.xmpp.bookmarks.addToLocal = function(room, alias, nick, autojoin) {
jsxc.gui.roster.getItem(room).addClass('jsxc_bookmarked');
jsxc.storage.updateUserItem('buddy', room, 'bookmarked', true);
jsxc.storage.updateUserItem('buddy', room, 'autojoin', autojoin);
jsxc.storage.updateUserItem('buddy', room, 'nickname', nick);
var bookmarks = jsxc.storage.getUserItem('bookmarks') || [];
if (bookmarks.indexOf(room) &lt; 0) {
bookmarks.push(room);
jsxc.storage.setUserItem('bookmarks', bookmarks);
}
};
/**
* Show dialog to edit bookmark.
*
* @param {string} room - room jid
*/
jsxc.xmpp.bookmarks.showDialog = function(room) {
var dialog = jsxc.gui.dialog.open(jsxc.gui.template.get('bookmarkDialog'));
var data = jsxc.storage.getUserItem('buddy', room);
$('#jsxc_room').val(room);
$('#jsxc_nickname').val(data.nickname);
$('#jsxc_bookmark').change(function() {
if ($(this).prop('checked')) {
$('#jsxc_nickname').prop('disabled', false);
$('#jsxc_autojoin').prop('disabled', false);
$('#jsxc_autojoin').parent('.checkbox').removeClass('disabled');
} else {
$('#jsxc_nickname').prop('disabled', true);
$('#jsxc_autojoin').prop('disabled', true).prop('checked', false);
$('#jsxc_autojoin').parent('.checkbox').addClass('disabled');
}
});
$('#jsxc_bookmark').prop('checked', data.bookmarked);
$('#jsxc_autojoin').prop('checked', data.autojoin);
$('#jsxc_bookmark').change();
dialog.find('form').submit(function(ev) {
ev.preventDefault();
var bookmarked = $('#jsxc_bookmark').prop('checked');
var autojoin = $('#jsxc_autojoin').prop('checked');
var nickname = $('#jsxc_nickname').val();
if (bookmarked) {
jsxc.xmpp.bookmarks.add(room, data.name, nickname, autojoin);
} else if (data.bookmarked) {
// bookmarked === false
jsxc.xmpp.bookmarks.delete(room, true);
}
jsxc.gui.dialog.close();
return false;
});
};
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+114 -33
Ver Arquivo
@@ -62,7 +62,10 @@ jsxc.xmpp = {
return;
}
var jid = null, password = null, sid = null, rid = null;
var jid = null,
password = null,
sid = null,
rid = null;
switch (arguments.length) {
case 2:
@@ -90,15 +93,15 @@ jsxc.xmpp = {
var url = jsxc.options.get('xmpp').url;
if (!(jsxc.xmpp.conn && jsxc.xmpp.conn.connected)) {
// Register eventlistener
$(document).on('connected.jsxc', jsxc.xmpp.connected);
$(document).on('attached.jsxc', jsxc.xmpp.attached);
$(document).on('disconnected.jsxc', jsxc.xmpp.disconnected);
$(document).on('ridChange', jsxc.xmpp.onRidChange);
$(document).on('connfail.jsxc', jsxc.xmpp.onConnfail);
$(document).on('authfail.jsxc', jsxc.xmpp.onAuthFail);
// Register eventlistener
$(document).on('connected.jsxc', jsxc.xmpp.connected);
$(document).on('attached.jsxc', jsxc.xmpp.attached);
$(document).on('disconnected.jsxc', jsxc.xmpp.disconnected);
$(document).on('ridChange', jsxc.xmpp.onRidChange);
$(document).on('connfail.jsxc', jsxc.xmpp.onConnfail);
$(document).on('authfail.jsxc', jsxc.xmpp.onAuthFail);
Strophe.addNamespace('RECEIPTS', 'urn:xmpp:receipts');
Strophe.addNamespace('RECEIPTS', 'urn:xmpp:receipts');
}
// Create new connection (no login)
@@ -164,7 +167,10 @@ jsxc.xmpp = {
// Add system handler, because user handler isn't called before
// we are authenticated
jsxc.xmpp.conn._addSysHandler(function(stanza) {
var from = jsxc.xmpp.conn.domain, c = stanza.querySelector('c'), ver = c.getAttribute('ver'), node = c.getAttribute('node');
var from = jsxc.xmpp.conn.domain,
c = stanza.querySelector('c'),
ver = c.getAttribute('ver'),
node = c.getAttribute('node');
var _jidNodeIndex = JSON.parse(localStorage.getItem('strophe.caps._jidNodeIndex')) || {};
@@ -209,7 +215,7 @@ jsxc.xmpp = {
// Hide dropdown menu
$('body').click();
jsxc.triggeredFromElement = (typeof complete === 'boolean')? complete : true;
jsxc.triggeredFromElement = (typeof complete === 'boolean') ? complete : true;
// restore all otr objects
$.each(jsxc.storage.getUserItem('otrlist') || {}, function(i, val) {
@@ -271,6 +277,10 @@ jsxc.xmpp = {
jsxc.storage.removeUserItem('own');
jsxc.storage.removeUserItem('avatar', 'own');
jsxc.storage.removeUserItem('otrlist');
jsxc.storage.removeUserItem('unreadMsg');
// reset user options
jsxc.storage.removeUserElement('options', 'RTCPeerConfig');
if (jsxc.options.loginForm.triggered) {
switch (jsxc.options.loginForm.onConnected || 'submit') {
@@ -290,6 +300,7 @@ jsxc.xmpp = {
jsxc.onMaster();
jsxc.xmpp.conn.resume();
jsxc.gui.dialog.close();
jsxc.restoreCompleted = true;
$(document).trigger('attached.jsxc');
},
@@ -308,15 +319,15 @@ jsxc.xmpp = {
var caps = jsxc.xmpp.conn.caps;
var domain = jsxc.xmpp.conn.domain;
if (caps && jsxc.options.get('carbons').enable) {
var conditionalEnable = function() {
if (jsxc.xmpp.conn.caps.hasFeatureByJid(domain, jsxc.CONST.NS.CARBONS)) {
jsxc.xmpp.carbons.enable();
}
};
if (caps) {
var conditionalEnable = function() {};
if (typeof caps._knownCapabilities[caps._jidVerIndex[domain]] === 'undefined') {
var _jidNodeIndex = JSON.parse(localStorage.getItem('strophe.caps._jidNodeIndex')) || {};
if (jsxc.options.get('carbons').enable) {
conditionalEnable = function() {
if (jsxc.xmpp.conn.caps.hasFeatureByJid(domain, jsxc.CONST.NS.CARBONS)) {
jsxc.xmpp.carbons.enable();
}
};
$(document).on('caps.strophe', function onCaps(ev, from) {
@@ -328,6 +339,12 @@ jsxc.xmpp = {
$(document).off('caps.strophe', onCaps);
});
}
if (typeof caps._knownCapabilities[caps._jidVerIndex[domain]] === 'undefined') {
var _jidNodeIndex = JSON.parse(localStorage.getItem('strophe.caps._jidNodeIndex')) || {};
jsxc.debug('Request server capabilities');
caps._requestCapabilities(jsxc.xmpp.conn.domain, _jidNodeIndex[domain], caps._jidVerIndex[domain]);
} else {
@@ -429,7 +446,7 @@ jsxc.xmpp = {
$('#jsxc_windowList').remove();
if (jsxc.triggeredFromElement) {
$(document).trigger('toggle.roster.jsxc', [ 'hidden', 0 ]);
$(document).trigger('toggle.roster.jsxc', ['hidden', 0]);
$('#jsxc_roster').remove();
if (jsxc.triggeredFromLogout) {
@@ -521,6 +538,9 @@ jsxc.xmpp = {
jsxc.storage.setUserItem('buddylist', buddies);
// load bookmarks
jsxc.xmpp.bookmarks.load();
jsxc.gui.roster.loaded = true;
jsxc.debug('Roster loaded');
$(document).trigger('cloaded.roster.jsxc');
@@ -576,7 +596,8 @@ jsxc.xmpp = {
// Remove pending friendship request from notice list
if (sub === 'from' || sub === 'both') {
var notices = jsxc.storage.getUserItem('notices');
var noticeKey = null, notice;
var noticeKey = null,
notice;
for (noticeKey in notices) {
notice = notices[noticeKey];
@@ -627,7 +648,7 @@ jsxc.xmpp = {
var jid = Strophe.getBareJidFromJid(from).toLowerCase();
var r = Strophe.getResourceFromJid(from);
var bid = jsxc.jidToBid(jid);
var data = jsxc.storage.getUserItem('buddy', bid);
var data = jsxc.storage.getUserItem('buddy', bid) || {};
var res = jsxc.storage.getUserItem('res', bid) || {};
var status = null;
var xVCard = $(presence).find('x[xmlns="vcard-temp:x:update"]');
@@ -637,9 +658,12 @@ jsxc.xmpp = {
}
if (ptype === 'error') {
$(document).trigger('error.presence.jsxc', [ from, presence ]);
$(document).trigger('error.presence.jsxc', [from, presence]);
jsxc.error('[XMPP] ' + $(presence).attr('code'));
var error = $(presence).find('error');
//@TODO display error message
jsxc.error('[XMPP] ' + error.attr('code') + ' ' + error.find(">:first-child").prop('tagName'));
return true;
}
@@ -649,7 +673,7 @@ jsxc.xmpp = {
jid: jid,
approve: -1
});
jsxc.notice.add($.t('Friendship_request'), $.t('from') + ' ' + jid, 'gui.showApproveDialog', [ jid ]);
jsxc.notice.add($.t('Friendship_request'), $.t('from') + ' ' + jid, 'gui.showApproveDialog', [jid]);
return true;
} else if (ptype === 'unavailable' || ptype === 'unsubscribed') {
@@ -670,7 +694,8 @@ jsxc.xmpp = {
}
var maxVal = [];
var max = 0, prop = null;
var max = 0,
prop = null;
for (prop in res) {
if (res.hasOwnProperty(prop)) {
if (max &lt;= res[prop]) {
@@ -692,12 +717,17 @@ jsxc.xmpp = {
});
}
data.status = max;
if (data.type === 'groupchat') {
data.status = status;
} else {
data.status = max;
}
data.res = maxVal;
data.jid = jid;
// Looking for avatar
if (xVCard.length > 0) {
if (xVCard.length > 0 && data.type !== 'groupchat') {
var photo = xVCard.find('photo');
if (photo.length > 0 && photo.text() !== data.avatar) {
@@ -719,7 +749,7 @@ jsxc.xmpp = {
jsxc.gui.update(bid);
jsxc.gui.roster.reorder(bid);
$(document).trigger('presence.jsxc', [ from, status, presence ]);
$(document).trigger('presence.jsxc', [from, status, presence]);
// preserve handler
return true;
@@ -798,7 +828,7 @@ jsxc.xmpp = {
var chat = jsxc.storage.getUserItem('chat', bid) || [];
if (chat.length === 0) {
jsxc.notice.add($.t('Unknown_sender'), $.t('You_received_a_message_from_an_unknown_sender') + ' (' + bid + ').', 'gui.showUnknownSender', [ bid ]);
jsxc.notice.add($.t('Unknown_sender'), $.t('You_received_a_message_from_an_unknown_sender') + ' (' + bid + ').', 'gui.showUnknownSender', [bid]);
}
var msg = jsxc.removeHTML(body);
@@ -819,7 +849,7 @@ jsxc.xmpp = {
});
}
$(document).trigger('message.jsxc', [ from, body ]);
$(document).trigger('message.jsxc', [from, body]);
// create related otr object
if (jsxc.master && !jsxc.otr.objects[bid]) {
@@ -1060,6 +1090,57 @@ jsxc.xmpp = {
return knownCapabilities[jidVerIndex[jid]];
}
return null;
},
/**
* Test if jid has given features
*
* @param {string} jid Jabber id
* @param {string[]} feature Single feature or list of features
* @param {Function} cb Called with the result as first param.
* @return {boolean} True, if jid has all given features. Null, if we do not know it currently.
*/
hasFeatureByJid: function(jid, feature, cb) {
var conn = jsxc.xmpp.conn;
cb = cb || function() {};
if (!feature) {
return false;
}
if (!$.isArray(feature)) {
feature = $.makeArray(feature);
}
var check = function(knownCapabilities) {
if (!knownCapabilities) {
return null;
}
var i;
for (i = 0; i &lt; feature.length; i++) {
if (knownCapabilities['features'].indexOf(feature[i]) &lt; 0) {
return false;
}
}
return true;
};
if (conn.caps._jidVerIndex[jid] && conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]) {
var hasFeature = check(conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]);
cb(hasFeature);
return hasFeature;
}
$(document).on('strophe.caps', function(ev, j, capabilities) {
if (j === jid) {
cb(check(capabilities));
$(document).off(ev);
}
});
return null;
}
};
@@ -1152,13 +1233,13 @@ jsxc.xmpp.carbons = {
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:18 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:28 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+440 -26
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line20">line 20</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1">line 1</a>
</li></ul></dd>
@@ -134,7 +134,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line27">line 27</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line8">line 8</a>
</li></ul></dd>
@@ -188,7 +188,71 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line30">line 30</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line11">line 11</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="helper"><span class="type-signature">&lt;static> </span>helper<span class="type-signature"> :Object</span></h4>
</dt>
<dd>
<div class="description">
Some helper functions.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1303">line 1303</a>
</li></ul></dd>
@@ -242,7 +306,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line763">line 763</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line876">line 876</a>
</li></ul></dd>
@@ -265,6 +329,146 @@
<dl>
<dt>
<h4 class="name" id="_showRoomConfiguration"><span class="type-signature">&lt;private, static> </span>_showRoomConfiguration<span class="signature">(room, config)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Show room configuration.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>room</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">room jid</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">Strophe.x.Form</span>
</td>
<td class="description last">current room config as Form object</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line384">line 384</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="close"><span class="type-signature">&lt;static> </span>close<span class="signature">(room)</span><span class="type-signature"></span></h4>
@@ -350,7 +554,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line442">line 442</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line549">line 549</a>
</li></ul></dd>
@@ -513,7 +717,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line420">line 420</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line522">line 522</a>
</li></ul></dd>
@@ -630,7 +834,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line989">line 989</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1145">line 1145</a>
</li></ul></dd>
@@ -747,7 +951,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line60">line 60</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line44">line 44</a>
</li></ul></dd>
@@ -816,7 +1020,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line121">line 121</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line105">line 105</a>
</li></ul></dd>
@@ -951,7 +1155,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line474">line 474</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line581">line 581</a>
</li></ul></dd>
@@ -1114,7 +1318,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line901">line 901</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1057">line 1057</a>
</li></ul></dd>
@@ -1371,7 +1575,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line355">line 355</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line443">line 443</a>
</li></ul></dd>
@@ -1488,7 +1692,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line376">line 376</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line472">line 472</a>
</li></ul></dd>
@@ -1669,7 +1873,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1092">line 1092</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1248">line 1248</a>
</li></ul></dd>
@@ -1786,7 +1990,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1060">line 1060</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1216">line 1216</a>
</li></ul></dd>
@@ -1903,7 +2107,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line397">line 397</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line493">line 493</a>
</li></ul></dd>
@@ -2020,7 +2224,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1005">line 1005</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1161">line 1161</a>
</li></ul></dd>
@@ -2223,7 +2427,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line614">line 614</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line721">line 721</a>
</li></ul></dd>
@@ -2381,7 +2585,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line739">line 739</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line852">line 852</a>
</li></ul></dd>
@@ -2543,7 +2747,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line875">line 875</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1031">line 1031</a>
</li></ul></dd>
@@ -2683,7 +2887,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line944">line 944</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1100">line 1100</a>
</li></ul></dd>
@@ -2823,7 +3027,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line960">line 960</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1116">line 1116</a>
</li></ul></dd>
@@ -2851,7 +3055,7 @@
<dt>
<h4 class="name" id="showJoinChat"><span class="type-signature">&lt;static> </span>showJoinChat<span class="signature">()</span><span class="type-signature"></span></h4>
<h4 class="name" id="showJoinChat"><span class="type-signature">&lt;static> </span>showJoinChat<span class="signature">(<span class="optional">r</span>, <span class="optional">p</span>)</span><span class="type-signature"></span></h4>
</dt>
@@ -2868,6 +3072,99 @@
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>r</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last">room jid</td>
</tr>
<tr>
<td class="name"><code>p</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last">room password</td>
</tr>
</tbody>
</table>
<dl class="details">
@@ -2892,7 +3189,124 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line134">line 134</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line120">line 120</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="showRoomConfiguration"><span class="type-signature">&lt;static> </span>showRoomConfiguration<span class="signature">(room)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Request and show room configuration.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>room</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">room jid</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line360">line 360</a>
</li></ul></dd>
@@ -2933,13 +3347,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:19 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+11 -11
Ver Arquivo
@@ -199,7 +199,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line191">line 191</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line193">line 193</a>
</li></ul></dd>
@@ -291,7 +291,7 @@ default api.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line112">line 112</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line114">line 114</a>
</li></ul></dd>
@@ -500,7 +500,7 @@ default api.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line250">line 250</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line252">line 252</a>
</li></ul></dd>
@@ -720,7 +720,7 @@ default api.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line49">line 49</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line51">line 51</a>
</li></ul></dd>
@@ -883,7 +883,7 @@ default api.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line203">line 203</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line205">line 205</a>
</li></ul></dd>
@@ -953,7 +953,7 @@ messages.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line156">line 156</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line158">line 158</a>
</li></ul></dd>
@@ -1022,7 +1022,7 @@ messages.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line172">line 172</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line174">line 174</a>
</li></ul></dd>
@@ -1091,7 +1091,7 @@ messages.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line234">line 234</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line236">line 236</a>
</li></ul></dd>
@@ -1209,7 +1209,7 @@ messages.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line265">line 265</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line267">line 267</a>
</li></ul></dd>
@@ -1250,13 +1250,13 @@ messages.
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:20 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+273 -48
Ver Arquivo
@@ -188,7 +188,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line90">line 90</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line113">line 113</a>
</li></ul></dd>
@@ -296,7 +296,61 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line87">line 87</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line110">line 110</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="favicon"><span class="type-signature">&lt;static> </span>favicon<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Options for info in favicon
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line205">line 205</a>
</li></ul></dd>
@@ -350,7 +404,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line116">line 116</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line139">line 139</a>
</li></ul></dd>
@@ -375,7 +429,7 @@
<dd>
<div class="description">
If all 3 properties are set, the login form is used
If all 3 properties are set and enable is true, the login form is used
</div>
@@ -404,7 +458,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line46">line 46</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line57">line 57</a>
</li></ul></dd>
@@ -458,7 +512,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line105">line 105</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line128">line 128</a>
</li></ul></dd>
@@ -512,7 +566,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line81">line 81</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line104">line 104</a>
</li></ul></dd>
@@ -566,7 +620,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line119">line 119</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line142">line 142</a>
</li></ul></dd>
@@ -620,7 +674,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line96">line 96</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line119">line 119</a>
</li></ul></dd>
@@ -674,7 +728,61 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line84">line 84</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line107">line 107</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="onlineHelp"><span class="type-signature">&lt;static> </span>onlineHelp<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Link to an online user manual
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line233">line 233</a>
</li></ul></dd>
@@ -782,7 +890,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line99">line 99</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line122">line 122</a>
</li></ul></dd>
@@ -836,7 +944,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line37">line 37</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line48">line 48</a>
</li></ul></dd>
@@ -890,7 +998,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line102">line 102</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line125">line 125</a>
</li></ul></dd>
@@ -944,7 +1052,61 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line93">line 93</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line116">line 116</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="RTCPeerConfig"><span class="type-signature">&lt;static> </span>RTCPeerConfig<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
RTCPeerConfiguration used for audio/video calls.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line219">line 219</a>
</li></ul></dd>
@@ -1007,6 +1169,58 @@
</dl>
</dd>
<dt>
<h4 class="name" id="turnCredentialsPath"><span class="type-signature">&lt;static> </span>turnCredentialsPath<span class="type-signature"></span></h4>
</dt>
<dd>
<dl class="details">
<dt class="important tag-deprecated">Deprecated:</dt><dd><ul class="dummy"><li>since v2.1.0. Use now RTCPeerConfig.url.</li><ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line216">line 216</a>
</li></ul></dd>
</dl>
@@ -1163,7 +1377,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line127">line 127</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line150">line 150</a>
</li></ul></dd>
@@ -1233,7 +1447,7 @@ connection is found.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line111">line 111</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line134">line 134</a>
</li></ul></dd>
@@ -1350,7 +1564,7 @@ connection is found.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line196">line 196</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line197">line 197</a>
</li></ul></dd>
@@ -1500,7 +1714,7 @@ connection is found.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line161">line 161</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line189">line 189</a>
</li></ul></dd>
@@ -1528,7 +1742,7 @@ connection is found.
<dt>
<h4 class="name" id="loadSettings"><span class="type-signature">&lt;static> </span>loadSettings<span class="signature">(username, password)</span><span class="type-signature"> &rarr; {object}</span></h4>
<h4 class="name" id="loadSettings"><span class="type-signature">&lt;static> </span>loadSettings<span class="signature">(username, password, cb)</span><span class="type-signature"></span></h4>
</dt>
@@ -1575,13 +1789,18 @@ connection is found.
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">String username</td>
<td class="description last">username</td>
</tr>
@@ -1593,13 +1812,41 @@ connection is found.
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">String password</td>
<td class="description last">password</td>
</tr>
<tr>
<td class="name"><code>cb</code></td>
<td class="type">
<span class="param-type"><a href="global.html#loadSettingsCallback">loadSettingsCallback</a></span>
</td>
<td class="description last">Callback that handles the result</td>
</tr>
@@ -1630,7 +1877,7 @@ connection is found.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line139">line 139</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line169">line 169</a>
</li></ul></dd>
@@ -1651,28 +1898,6 @@ connection is found.
<h5>Returns:</h5>
<div class="param-desc">
at least xmpp.url
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">object</span>
</dd>
</dl>
</dd>
@@ -1764,7 +1989,7 @@ connection is found.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line150">line 150</a>
<a href="jsxc.lib.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line178">line 178</a>
</li></ul></dd>
@@ -1926,7 +2151,7 @@ connection is found.
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line208">line 208</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line209">line 209</a>
</li></ul></dd>
@@ -1967,13 +2192,13 @@ connection is found.
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:20 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+17 -17
Ver Arquivo
@@ -64,7 +64,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line2">line 2</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line1">line 1</a>
</li></ul></dd>
@@ -132,7 +132,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line7">line 7</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line6">line 6</a>
</li></ul></dd>
@@ -197,7 +197,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line452">line 452</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line453">line 453</a>
</li></ul></dd>
@@ -314,7 +314,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line300">line 300</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line301">line 301</a>
</li></ul></dd>
@@ -431,7 +431,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line55">line 55</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line54">line 54</a>
</li></ul></dd>
@@ -518,7 +518,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line367">line 367</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line368">line 368</a>
</li></ul></dd>
@@ -653,7 +653,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line466">line 466</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line467">line 467</a>
</li></ul></dd>
@@ -770,7 +770,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line265">line 265</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line266">line 266</a>
</li></ul></dd>
@@ -923,7 +923,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line282">line 282</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line283">line 283</a>
</li></ul></dd>
@@ -1101,7 +1101,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line204">line 204</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line205">line 205</a>
</li></ul></dd>
@@ -1376,7 +1376,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line21">line 21</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line20">line 20</a>
</li></ul></dd>
@@ -1493,7 +1493,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line332">line 332</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line333">line 333</a>
</li></ul></dd>
@@ -1633,7 +1633,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line41">line 41</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line40">line 40</a>
</li></ul></dd>
@@ -1824,7 +1824,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line235">line 235</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line236">line 236</a>
</li></ul></dd>
@@ -1959,7 +1959,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line247">line 247</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line248">line 248</a>
</li></ul></dd>
@@ -2018,13 +2018,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:20 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+17 -17
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line3">line 3</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line1">line 1</a>
</li></ul></dd>
@@ -134,7 +134,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line14">line 14</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line12">line 12</a>
</li></ul></dd>
@@ -270,7 +270,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line82">line 82</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line85">line 85</a>
</li></ul></dd>
@@ -383,7 +383,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line23">line 23</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line21">line 21</a>
</li></ul></dd>
@@ -517,7 +517,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line99">line 99</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line102">line 102</a>
</li></ul></dd>
@@ -667,7 +667,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line211">line 211</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line214">line 214</a>
</li></ul></dd>
@@ -901,7 +901,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line261">line 261</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line264">line 264</a>
</li></ul></dd>
@@ -1064,7 +1064,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line224">line 224</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line227">line 227</a>
</li></ul></dd>
@@ -1222,7 +1222,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line118">line 118</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line121">line 121</a>
</li></ul></dd>
@@ -1334,7 +1334,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line136">line 136</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line139">line 139</a>
</li></ul></dd>
@@ -1464,7 +1464,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line589">line 589</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line606">line 606</a>
</li></ul></dd>
@@ -1688,7 +1688,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line555">line 555</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line572">line 572</a>
</li></ul></dd>
@@ -1861,7 +1861,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line37">line 37</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line35">line 35</a>
</li></ul></dd>
@@ -2087,7 +2087,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line158">line 158</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line161">line 161</a>
</li></ul></dd>
@@ -2282,7 +2282,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line190">line 190</a>
<a href="jsxc.lib.storage.js.html">jsxc.lib.storage.js</a>, <a href="jsxc.lib.storage.js.html#line193">line 193</a>
</li></ul></dd>
@@ -2323,13 +2323,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:20 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+236 -102
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line59">line 59</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line4">line 4</a>
</li></ul></dd>
@@ -134,7 +134,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line78">line 78</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line23">line 23</a>
</li></ul></dd>
@@ -188,7 +188,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line84">line 84</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line29">line 29</a>
</li></ul></dd>
@@ -242,7 +242,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line66">line 66</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line11">line 11</a>
</li></ul></dd>
@@ -296,7 +296,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line75">line 75</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line20">line 20</a>
</li></ul></dd>
@@ -350,7 +350,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line69">line 69</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line14">line 14</a>
</li></ul></dd>
@@ -404,7 +404,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line72">line 72</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line17">line 17</a>
</li></ul></dd>
@@ -458,7 +458,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line81">line 81</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line26">line 26</a>
</li></ul></dd>
@@ -481,6 +481,149 @@
<dl>
<dt>
<h4 class="name" id="attachMediaStream"><span class="type-signature">&lt;static> </span>attachMediaStream<span class="signature">(element, stream)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Attach media stream to element.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>element</code></td>
<td class="type">
<span class="param-type">Element</span>
|
<span class="param-type">jQuery</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>stream</code></td>
<td class="type">
<span class="param-type">mediastream</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line633">line 633</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="getCapableRes"><span class="type-signature">&lt;static> </span>getCapableRes<span class="signature">(jid)</span><span class="type-signature"> &rarr; {Array}</span></h4>
@@ -566,7 +709,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line189">line 189</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line183">line 183</a>
</li></ul></dd>
@@ -612,7 +755,7 @@
<dt>
<h4 class="name" id="getTurnCrendentials"><span class="type-signature">&lt;static> </span>getTurnCrendentials<span class="signature">()</span><span class="type-signature"></span></h4>
<h4 class="name" id="getTurnCrendentials"><span class="type-signature">&lt;static> </span>getTurnCrendentials<span class="signature">(<span class="optional">url</span>)</span><span class="type-signature"></span></h4>
</dt>
@@ -629,6 +772,66 @@
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>url</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
@@ -653,7 +856,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line148">line 148</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line108">line 108</a>
</li></ul></dd>
@@ -722,7 +925,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line749">line 749</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line737">line 737</a>
</li></ul></dd>
@@ -791,7 +994,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line92">line 92</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line37">line 37</a>
</li></ul></dd>
@@ -921,76 +1124,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line246">line 246</a>
</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="noStunCandidates"><span class="type-signature">&lt;private, static> </span>noStunCandidates<span class="signature">()</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
No STUN candidates found
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line696">line 696</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line240">line 240</a>
</li></ul></dd>
@@ -1156,7 +1290,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line214">line 214</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line208">line 208</a>
</li></ul></dd>
@@ -1286,7 +1420,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line490">line 490</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line494">line 494</a>
</li></ul></dd>
@@ -1355,7 +1489,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line592">line 592</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line595">line 595</a>
</li></ul></dd>
@@ -1557,7 +1691,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line557">line 557</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line560">line 560</a>
</li></ul></dd>
@@ -1687,7 +1821,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line422">line 422</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line416">line 416</a>
</li></ul></dd>
@@ -1835,7 +1969,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line653">line 653</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line663">line 663</a>
</li></ul></dd>
@@ -1904,7 +2038,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line475">line 475</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line474">line 474</a>
</li></ul></dd>
@@ -2034,7 +2168,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line442">line 442</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line436">line 436</a>
</li></ul></dd>
@@ -2164,7 +2298,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line337">line 337</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line331">line 331</a>
</li></ul></dd>
@@ -2294,7 +2428,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line357">line 357</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line351">line 351</a>
</li></ul></dd>
@@ -2442,7 +2576,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line605">line 605</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line608">line 608</a>
</li></ul></dd>
@@ -2590,7 +2724,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line640">line 640</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line648">line 648</a>
</li></ul></dd>
@@ -2659,7 +2793,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line761">line 761</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line749">line 749</a>
</li></ul></dd>
@@ -2789,7 +2923,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line374">line 374</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line368">line 368</a>
</li></ul></dd>
@@ -2901,7 +3035,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line798">line 798</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line814">line 814</a>
</li></ul></dd>
@@ -3031,7 +3165,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line707">line 707</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line693">line 693</a>
</li></ul></dd>
@@ -3143,7 +3277,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line274">line 274</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line268">line 268</a>
</li></ul></dd>
@@ -3184,13 +3318,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:20 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+6 -6
Ver Arquivo
@@ -66,7 +66,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1040">line 1040</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1121">line 1121</a>
</li></ul></dd>
@@ -184,7 +184,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1080">line 1080</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1161">line 1161</a>
</li></ul></dd>
@@ -296,7 +296,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1054">line 1054</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1135">line 1135</a>
</li></ul></dd>
@@ -408,7 +408,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1106">line 1106</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1187">line 1187</a>
</li></ul></dd>
@@ -449,13 +449,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:20 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
+210 -22
Ver Arquivo
@@ -94,6 +94,9 @@
<h3 class="subsection-title">Namespaces</h3>
<dl>
<dt><a href="namespaces.html#jsxc.xmpp.bookmarks"><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></a></dt>
<dd></dd>
<dt><a href="namespaces.html#jsxc.xmpp.carbons"><a href="jsxc.xmpp.carbons.html">carbons</a></a></dt>
<dd></dd>
</dl>
@@ -393,7 +396,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line966">line 966</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line996">line 996</a>
</li></ul></dd>
@@ -533,7 +536,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line863">line 863</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line893">line 893</a>
</li></ul></dd>
@@ -602,7 +605,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line274">line 274</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line285">line 285</a>
</li></ul></dd>
@@ -671,7 +674,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line228">line 228</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line234">line 234</a>
</li></ul></dd>
@@ -740,7 +743,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line337">line 337</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line354">line 354</a>
</li></ul></dd>
@@ -809,7 +812,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line383">line 383</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line400">line 400</a>
</li></ul></dd>
@@ -921,7 +924,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1024">line 1024</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1054">line 1054</a>
</li></ul></dd>
@@ -954,6 +957,191 @@
</dd>
<dt>
<h4 class="name" id="hasFeatureByJid"><span class="type-signature">&lt;static> </span>hasFeatureByJid<span class="signature">(jid, feature, cb)</span><span class="type-signature"> &rarr; {boolean}</span></h4>
</dt>
<dd>
<div class="description">
Test if jid has given features
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>jid</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">Jabber id</td>
</tr>
<tr>
<td class="name"><code>feature</code></td>
<td class="type">
<span class="param-type">string[]</span>
</td>
<td class="description last">Single feature or list of features</td>
</tr>
<tr>
<td class="name"><code>cb</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">Called with the result as first param.</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1077">line 1077</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
True, if jid has all given features. Null, if we do not know it currently.
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
</dd>
@@ -1079,7 +1267,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1001">line 1001</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1031">line 1031</a>
</li></ul></dd>
@@ -1196,7 +1384,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line162">line 162</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line168">line 168</a>
</li></ul></dd>
@@ -1283,7 +1471,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line437">line 437</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line454">line 454</a>
</li></ul></dd>
@@ -1400,7 +1588,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line424">line 424</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line441">line 441</a>
</li></ul></dd>
@@ -1517,7 +1705,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line708">line 708</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line738">line 738</a>
</li></ul></dd>
@@ -1652,7 +1840,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line582">line 582</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line603">line 603</a>
</li></ul></dd>
@@ -1792,7 +1980,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line832">line 832</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line862">line 862</a>
</li></ul></dd>
@@ -1909,7 +2097,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line460">line 460</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line477">line 477</a>
</li></ul></dd>
@@ -2026,7 +2214,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line509">line 509</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line529">line 529</a>
</li></ul></dd>
@@ -2165,7 +2353,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line898">line 898</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line928">line 928</a>
</li></ul></dd>
@@ -2305,7 +2493,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line842">line 842</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line872">line 872</a>
</li></ul></dd>
@@ -2453,7 +2641,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line949">line 949</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line979">line 979</a>
</li></ul></dd>
@@ -2522,7 +2710,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line348">line 348</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line365">line 365</a>
</li></ul></dd>
@@ -2563,13 +2751,13 @@
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.template.html">template</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
<h2><a href="index.html">Index</a></h2><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.gui.html">gui</a></li><li><a href="jsxc.gui.dialog.html">dialog</a></li><li><a href="jsxc.gui.queryActions.html">queryActions</a></li><li><a href="jsxc.gui.roster.html">roster</a></li><li><a href="jsxc.gui.window.html">window</a></li><li><a href="jsxc.muc.html">muc</a></li><li><a href="jsxc.notification.html">notification</a></li><li><a href="jsxc.options.html">options</a></li><li><a href="jsxc.otr.html">otr</a></li><li><a href="jsxc.storage.html">storage</a></li><li><a href="jsxc.webrtc.html">webrtc</a></li><li><a href="jsxc.xmpp.html">xmpp</a></li><li><a href="jsxc.xmpp.bookmarks.html">bookmarks</a></li><li><a href="jsxc.xmpp.carbons.html">carbons</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sat May 23 2015 16:03:20 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Sep 08 2015 14:08:29 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
-2
Ver Arquivo
@@ -11,8 +11,6 @@
<!-- require:dependencies -->
<link href="../build/css/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
<link href="../build/css/jquery.mCustomScrollbar.css" media="all" rel="stylesheet" type="text/css" />
<link href="../build/css/jquery.colorbox.css" media="all" rel="stylesheet" type="text/css" />
<link href="../dev/css/jsxc.css" media="all" rel="stylesheet" type="text/css" />
<link href="../dev/css/jsxc.webrtc.css" media="all" rel="stylesheet" type="text/css" />
<!-- endrequire -->
-2
Ver Arquivo
@@ -11,8 +11,6 @@
<!-- require:dependencies -->
<link href="../build/css/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
<link href="../build/css/jquery.mCustomScrollbar.css" media="all" rel="stylesheet" type="text/css" />
<link href="../build/css/jquery.colorbox.css" media="all" rel="stylesheet" type="text/css" />
<link href="../build/css/jsxc.css" media="all" rel="stylesheet" type="text/css" />
<link href="../build/css/jsxc.webrtc.css" media="all" rel="stylesheet" type="text/css" />
<!-- endrequire -->
+10 -5
Ver Arquivo
@@ -124,12 +124,17 @@
if (this._jidVerIndex[jid] && feature !== null && typeof feature !== 'undefined') {
if(!$.isArray(feature)){
feature = $.makeArray(feature);
};
}
var i;
var i, knownCapabilities;
knownCapabilities = this._knownCapabilities[this._jidVerIndex[jid]];
if (!knownCapabilities) {
return null;
}
for (i = 0; i < feature.length; i++) {
if (this._knownCapabilities[this._jidVerIndex[jid]]['features'].indexOf(feature[i]) < 0)
if (knownCapabilities['features'].indexOf(feature[i]) < 0) {
return false;
}
}
return true;
}
@@ -156,7 +161,7 @@
}
localStorage.setItem('strophe.caps._jidVerIndex', JSON.stringify(this._jidVerIndex));
$(document).trigger('caps.strophe', [ from ]);
$(document).trigger('caps.strophe', [ from, this._knownCapabilities[ver], ver]);
return true;
},
@@ -223,7 +228,7 @@
localStorage.setItem('strophe.caps._jidVerIndex', JSON.stringify(this._jidVerIndex));
localStorage.setItem('strophe.caps._knownCapabilities', JSON.stringify(this._knownCapabilities));
$(document).trigger('caps.strophe', [ from ]);
$(document).trigger('caps.strophe', [ from, this._knownCapabilities[ver], ver ]);
return false;
},
+2 -2
Ver Arquivo
@@ -1,6 +1,6 @@
{
"name": "jsxc",
"version": "2.1.0-beta1",
"version": "2.1.3",
"description": "Real-time chat app",
"homepage": "http://www.jsxc.org/",
"bugs": "https://github.com/jsxc/jsxc/issues",
@@ -32,7 +32,7 @@
"grunt-merge-data": "^0.4.3",
"grunt-postcss": "^0.2.0",
"grunt-prettysass": "^0.2.3",
"grunt-sass": "^0.17.0",
"grunt-sass": "^1.0.0",
"grunt-search": "^0.1.6",
"grunt-shell": "^1.1.2",
"grunt-text-replace": "~0.4.0"
+25
Ver Arquivo
@@ -5,6 +5,7 @@
padding: 0;
margin: 0;
width: 204px;
li {
padding: 0;
margin: 0;
@@ -19,20 +20,25 @@
padding-left: 3px;
z-index: 85;
overflow: hidden;
&.jsxc_expand {
height: 54px;
.jsxc_avatar {
width: 48px;
height: 48px;
img {
width: 48px;
height: 48px;
}
}
}
&:hover .jsxc_avatar {
@extend %avatar-icon;
}
&.jsxc_bookmarked {
.jsxc_avatar:after {
content: " ";
@@ -45,6 +51,7 @@
background-repeat: no-repeat;
background-image: image-url("bookmark_red.svg");
}
.jsxc_bookmarkOptions {
text-indent: 9999px;
background-image: image-url("gear_white.svg");
@@ -52,35 +59,43 @@
}
}
}
.jsxc_name {
padding-right: 30px;
}
.jsxc_unreadMsg {
.jsxc_name {
padding-right: 0px;
}
}
.jsxc_oneway {
opacity: 0.7;
}
.jsxc_right {
float: right;
margin-right: 6px;
div {
font-weight: bold;
text-align: center;
font-size: 13px;
line-height: 20px;
color: $white;
&:hover {
opacity: 1.0;
}
}
}
.jsxc_unread {
margin-right: 30px;
margin-top: 6px;
}
.jsxc_control {
position: absolute;
width: 30px;
@@ -88,6 +103,7 @@
top: 0;
right: 0;
cursor: pointer;
&:after {
content: '';
position: absolute;
@@ -105,16 +121,19 @@
opacity: 0.6;
transition: transform 0.5s;
}
&:hover:after {
color: $white;
opacity: 1.0;
}
}
.jsxc_options {
height: 20px;
float: left;
border-radius: 2px;
background-color: $roster_icon_bg;
> div {
height: 20px;
width: 20px;
@@ -124,19 +143,23 @@
background-position: center center;
opacity: 0.6;
cursor: pointer;
&:hover {
opacity: 1;
}
}
}
.jsxc_chaticon {
background-image: image-url("speech_balloon_white.svg");
background-size: 15px 15px;
}
.jsxc_videoicon {
background-image: image-url("camera_icon_white.svg");
background-size: 13px 13px;
}
.jsxc_vcardicon {
font-size: 15px;
line-height: 20px;
@@ -145,9 +168,11 @@
font-weight: bold;
font-family: $font_serif;
}
li.jsxc_expand .jsxc_control:after {
transform: rotate(180deg);
}
&.jsxc_hideOffline {
.jsxc_offline {
display: none;
+5 -1
Ver Arquivo
@@ -10,11 +10,15 @@
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
#jsxc_dialog {
@import "../lib/bootstrap/assets/stylesheets/bootstrap/progress-bars";
}
#jsxc_dialog {
@import "../lib/bootstrap/assets/stylesheets/bootstrap/utilities";
@@ -24,7 +28,7 @@
@import "../lib/bootstrap/assets/stylesheets/bootstrap/buttons";
@import "../lib/bootstrap/assets/stylesheets/bootstrap/button-groups";
@import "../lib/bootstrap/assets/stylesheets/bootstrap/forms";
@import "../lib/bootstrap/assets/stylesheets/bootstrap/progress-bars";
.progress {
margin-bottom: 0px;
}
+91 -1
Ver Arquivo
@@ -16,6 +16,7 @@
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
&:hover {
color: $name_hover;
}
@@ -34,79 +35,99 @@
background: #FFF;
width: auto;
border-radius: 5px;
* {
box-sizing: border-box;
}
ul {
list-style: none;
margin: 0;
padding: 0;
}
li {
margin: 0;
padding: 0;
}
p {
margin-bottom: 1em;
input {
margin-bottom: 5px;
width: 60%;
outline: none;
}
input[type="submit"] {
width: auto;
}
}
hr {
border: 0;
border-top: 1px solid #eee;
margin-top: 20px;
margin-bottom: 20px;
}
h3 {
font-size: 120%;
font-weight: bold;
margin-bottom: 10px;
margin-top: 20px;
}
.jsxc_right {
margin-top: 20px;
}
form {
fieldset {
margin-bottom: 30px;
}
}
fieldset {
border-bottom: 1px solid #eee;
}
legend {
border: 0;
font-size: 20px;
}
input {
outline: none;
&:invalid {
border: 1px solid $dialog_input_invalid;
}
}
.btn-group button {
margin-right: 0;
}
input[type="range"] {
display: inline;
height: 34px;
vertical-align: bottom;
}
.jsxc_fieldset {}
input[readonly] {
background-color: $dialog_input_readonly_bg;
}
.jsxc_inputinfo {
padding-left: 30%;
font-style: italic;
margin-top: -1em;
}
.jsxc_waiting {
&:before {
content: " ";
@@ -118,6 +139,7 @@
background-image: image-url("loading.gif");
}
}
.jsxc_libraries {
max-width: 300px;
}
@@ -125,6 +147,7 @@
.jsxc_avatar {
@extend %avatar-icon;
img {
display: block;
width: 25px;
@@ -137,12 +160,15 @@
ul.jsxc_vCard {
min-width: 400px;
ul {
margin-left: 20px;
}
li {
cursor: default !important;
}
strong {}
}
@@ -158,21 +184,27 @@ ul.jsxc_vCard {
border: 1px solid $spot_border !important;
line-height: 100%;
cursor: pointer;
&.jsxc_online {
background-color: $state_online;
}
&.jsxc_chat {
background-color: $state_chat;
}
&.jsxc_away {
background-color: $state_away;
}
&.jsxc_xa {
background-color: $state_xa;
}
&.jsxc_dnd {
background-color: $state_dnd;
}
&.jsxc_offline {
background-color: $state_offline;
}
@@ -186,6 +218,7 @@ ul.jsxc_vCard {
.jsxc_name {
font-style: italic;
}
.jsxc_unread {
display: block;
background-color: $unread_bg;
@@ -206,6 +239,7 @@ ul.jsxc_vCard {
cursor: pointer;
float: right;
text-align: center;
&:hover > span {
opacity: 1;
}
@@ -224,6 +258,7 @@ ul.jsxc_vCard {
float: right;
text-align: center;
line-height: 30px;
span {
background-color: $notice_bg;
border-radius: 11px;
@@ -251,28 +286,32 @@ ul.jsxc_vCard {
bottom: 0;
animation-timing-function: ease-in;
}
12% {
bottom: 5px;
animation-timing-function: ease-out;
}
25% {
bottom: 0;
animation-timing-function: ease-in;
}
37% {
bottom: 5px;
animation-timing-function: ease-out;
}
50% {
bottom: 0;
animation-timing-function: ease-in;
}
100% {
bottom: 0;
}
}
#jsxc_presence {
cursor: pointer;
padding-left: 2px;
@@ -286,6 +325,7 @@ ul.jsxc_vCard {
left: 0;
z-index: 50;
clip: rect(-10000px, 10000px, 30px, 30px);
& > ul {
list-style: none;
padding: 0;
@@ -297,6 +337,7 @@ ul.jsxc_vCard {
overflow: visible;
white-space: nowrap;
transition: right 0.5s;
& > li {
padding: 0;
margin: 0;
@@ -308,6 +349,7 @@ ul.jsxc_vCard {
margin-right: 5px;
cursor: pointer;
white-space: normal;
&.jsxc_min {
width: 200px !important;
}
@@ -321,6 +363,7 @@ ul.jsxc_vCard {
bottom: 0;
width: 30px;
height: 30px;
> {
div {
box-sizing: border-box;
@@ -333,10 +376,12 @@ ul.jsxc_vCard {
float: left;
cursor: pointer;
user-select: none;
&:hover {
background-color: $windowListSB_bg_hover;
}
}
.jsxc_disabled {
background-color: $windowListSB_bg_disabled !important;
color: $windowListSB_color_disabled;
@@ -367,6 +412,7 @@ ul.jsxc_vCard {
background-color: $window_bg;
z-index: 80;
cursor: default;
.jsxc_emoticons {
height: 30px;
width: 30px;
@@ -374,6 +420,7 @@ ul.jsxc_vCard {
top: 240px;
right: 0;
cursor: pointer;
&:after {
content: ' ';
background-image: image-url("smiley.png");
@@ -386,6 +433,7 @@ ul.jsxc_vCard {
top: 0;
left: 0;
}
ul {
display: none;
position: absolute;
@@ -397,6 +445,7 @@ ul.jsxc_vCard {
border-radius: 3px;
z-index: 200;
list-style-type: none;
&:after {
content: '';
position: absolute;
@@ -410,27 +459,33 @@ ul.jsxc_vCard {
bottom: -6px;
}
}
li {
float: right;
cursor: pointer;
}
div {
cursor: pointer;
border-radius: 3px;
background-size: 30px 30px;
width: 30px;
height: 30px;
&:hover {
background-color: $emoticon_selection_hover;
}
}
&:hover:after {
opacity: 0.5;
}
}
.jsxc_fade {
position: relative;
}
.jsxc_gradient {
display: none;
position: absolute;
@@ -441,19 +496,23 @@ ul.jsxc_vCard {
z-index: 100;
background: linear-gradient(to bottom, $window_gradient 0, rgba(0, 0, 0, 0) 100%);
}
.jsxc_avatar {
margin-top: 1px;
}
.jsxc_textarea {
width: 100%;
overflow: hidden;
padding: 3px;
}
.slimScrollDiv {
margin: 0 0 6px 0;
left: auto !important;
top: auto !important;
}
input {
&.jsxc_textinput {
width: 100%;
@@ -466,14 +525,17 @@ ul.jsxc_vCard {
box-sizing: border-box;
text-align: right;
}
&::placeholder {
color: $window_placeholder;
opacity: 0.3;
}
}
.jsxc_tools {
height: 26px;
float: right;
> div {
width: 17px;
height: 26px;
@@ -486,15 +548,19 @@ ul.jsxc_vCard {
text-align: center;
}
}
.jsxc_close {
font-size: 20px;
&:hover {
color: $window_close_hover;
}
}
.ui-resizable-w {
left: 0;
}
.ui-resizable-nw {
top: 0;
left: 0;
@@ -503,6 +569,7 @@ ul.jsxc_vCard {
z-index: 95 !important;
background-image: image-url("resize_gray.svg");
}
.ui-resizable-n {
position: absolute;
top: 0;
@@ -524,15 +591,18 @@ ul.jsxc_vCard {
position: relative;
outline: none;
clear: both;
a {
color: $chatmessage_a;
text-decoration: underline;
}
img {
width: 19px;
height: 19px;
background-size: 19px 19px;
}
.jsxc_avatar {
display: none;
}
@@ -555,6 +625,7 @@ ul.jsxc_vCard {
background: $chatmessage_in_bg;
border: solid 1px $chatmessage_in_border;
border-radius: 3px;
&:after {
content: '';
position: absolute;
@@ -567,6 +638,7 @@ ul.jsxc_vCard {
left: -6px;
bottom: 10px;
}
.jsxc_timestamp {
float: left;
}
@@ -579,6 +651,7 @@ ul.jsxc_vCard {
background: $chatmessage_out_bg;
border: solid 1px $chatmessage_out_border;
border-radius: 3px;
&:after {
content: '';
position: absolute;
@@ -591,6 +664,7 @@ ul.jsxc_vCard {
right: -6px;
bottom: 10px;
}
&.jsxc_received {
&:before {
content: '';
@@ -601,10 +675,12 @@ ul.jsxc_vCard {
line-height: 12px;
color: $chatmessage_received;
}
.jsxc_timestamp {
margin-right: 4px;
}
}
.jsxc_timestamp {
float: right;
}
@@ -625,9 +701,11 @@ div.jsxc_settings {
background-repeat: no-repeat;
background-position: center center;
overflow: visible;
&:hover, .hover {
background-image: image-url("gear_white.svg");
}
ul {
list-style: none;
padding: 0;
@@ -641,6 +719,7 @@ div.jsxc_settings {
background-color: $window_settings_bg;
display: none;
}
li {
width: 170px;
margin-left: 20px;
@@ -649,13 +728,16 @@ div.jsxc_settings {
line-height: 30px;
text-align: left;
cursor: pointer;
&:first-child {
border-top: 1px solid $window_settings_border_top;
}
&.jsxc_disabled {
color: $window_settings_disabled;
cursor: default;
}
&:hover:not(.jsxc_disabled) {
color: $window_settings_color_hover;
background-color: $window_settings_bg_hover;
@@ -665,18 +747,23 @@ div.jsxc_settings {
div.jsxc_transfer {
@extend %padlock-icon;
&:hover {
background-image: image-url("padlock_open_white.svg");
}
&.jsxc_fin {
background-image: image-url("padlock_close_grey.svg");
}
&.jsxc_enc {
background-image: image-url("padlock_close_orange.svg");
&.jsxc_trust {
background-image: image-url("padlock_close_green.svg");
}
}
&.jsxc_disabled:hover {
@extend %padlock-icon;
}
@@ -750,6 +837,7 @@ img.jsxc_vCard {
margin-bottom: 20px;
border: 1px solid transparent;
border-radius: 4px;
&.jsxc_alert-warning {
color: #8a6d3b;
background-color: #fcf8e3;
@@ -766,11 +854,13 @@ img.jsxc_vCard {
color: #555;
border: 1px solid rgba(190, 190, 190, 0.9);
cursor: pointer;
&.jsxc_btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
&[disabled], &[disabled]:hover {
opacity: 0.65;
cursor: not-allowed;
+20
Ver Arquivo
@@ -10,26 +10,33 @@
.jsxc_fade {
padding-top: 30px;
}
.jsxc_video {
display: none;
}
.jsxc_transfer {
display: none;
}
.jsxc_fingerprints, .jsxc_verification, .jsxc_transfer {
display: none;
}
.jsxc_members {
background-image: image-url("group_grey.svg");
background-size: 90%;
background-repeat: no-repeat;
background-position: center;
&:hover {
background-image: image-url("group_white.svg");
}
}
.jsxc_chatmessage.jsxc_in {
margin-left: 40px;
.jsxc_avatar {
display: block;
position: absolute;
@@ -38,12 +45,14 @@
background-color: #777;
}
}
.jsxc_bar {
.jsxc_avatar {
@extend %muc-avatar-icon;
}
}
}
.jsxc_memberlist {
height: 30px;
width: 100%;
@@ -53,6 +62,7 @@
top: 0px;
transition: height 400ms;
z-index: 100;
ul {
white-space: nowrap;
position: absolute;
@@ -61,36 +71,45 @@
overflow: hidden;
transition: left 400ms;
padding: 0px;
& > li {
display: inline-block;
white-space: normal;
&:last-child {
margin-right: 2px;
}
.jsxc_name {
display: none;
}
.jsxc_avatar {
margin-left: 2px;
margin-right: 0px;
}
}
}
&.jsxc_expand {
ul {
white-space: normal;
& > li {
display: block;
width: 100%;
height: 27px;
line-height: 27px;
.jsxc_name {
display: block;
cursor: default;
&:hover {
color: inherit;
}
}
.jsxc_avatar {
margin-right: 4px;
}
@@ -104,6 +123,7 @@ li[data-type="groupchat"] {
.jsxc_avatar {
@extend %muc-avatar-icon;
}
.jsxc_video {
display: none;
}
+23
Ver Arquivo
@@ -10,14 +10,17 @@
margin-left: 10px;
box-shadow: 0px 0px 7px $shadow;
background-color: $roster_bg;
a {
cursor: pointer;
}
.slimScrollDiv {
left: -4px;
margin-bottom: 30px;
z-index: 40;
}
.jsxc_wait {
position: absolute;
top: 0;
@@ -27,15 +30,18 @@
padding: 20px;
background-color: $white;
z-index: 60;
img {
padding: 5px;
}
h3 {
margin-bottom: 5px;
font-size: 1.13em;
font-weight: bold;
}
}
input {
position: absolute;
top: 50%;
@@ -51,33 +57,41 @@
box-shadow: inner 0 0 5px $roster_input_shadow;
outline: none;
}
p {
color: $roster_color;
padding: 10px;
a {
color: $roster_a;
text-decoration: underline;
}
}
.jsxc_avatar {
position: relative;
cursor: pointer;
img {
cursor: pointer;
}
}
.jsxc_expand input {
left: 51px;
width: 137px;
}
&.jsxc_noConnection {
.slimScrollDiv {
display: none;
}
> .jsxc_bottom {
display: none;
}
}
&.jsxc_state_hidden {
#jsxc_toggleRoster {
&:before {
@@ -96,9 +110,11 @@
z-index: 110;
background-color: transparent;
cursor: pointer;
&:hover {
background-color: $roster_toggle_hover;
}
&:before {
content: '';
position: absolute;
@@ -128,6 +144,7 @@
cursor: pointer;
line-height: 30px;
z-index: 50;
ul {
width: 190px;
position: absolute;
@@ -138,10 +155,12 @@
padding-left: 10px;
background-color: $roster_bottom_bg;
margin: 0;
li:last-child {
border-bottom: 1px solid $roster_bottom_border_top;
}
}
li {
height: 30px;
background-color: $roster_bottom_bg;
@@ -154,19 +173,23 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
&.jsxc_disabled {
color: $roster_bottom_disabled;
cursor: default;
}
&:hover:not(.jsxc_disabled) {
color: $roster_bottom_color_hover;
background-color: $roster_bottom_bg_hover;
}
}
}
&.jsxc_bottom > div > span {
cursor: pointer;
}
&.jsxc_bottom > div:hover {
color: $roster_bottom_color_hover;
}
+29 -1
Ver Arquivo
@@ -12,6 +12,7 @@
.jsxc_webrtc {
width: 900px;
.jsxc_status {
z-index: 9999;
border-radius: 20px;
@@ -25,11 +26,14 @@
font-weight: bold;
text-align: center;
}
.slimScrollDiv {
opacity: 1 !important;
}
li .jsxc_name {
cursor: auto;
&:hover {
color: $window_bar_color;
}
@@ -41,9 +45,11 @@
height: 480px;
position: relative;
background-color: $video_bg;
video {
display: none;
}
.jsxc_noRemoteVideo {
display: none;
}
@@ -55,6 +61,7 @@
.jsxc_noRemoteVideo {
@extend %fullscreen;
p {
position: absolute;
bottom: 0;
@@ -64,6 +71,7 @@
width: 100%;
z-index: 100;
}
> div {
width: 200px;
height: 200px;
@@ -73,8 +81,10 @@
margin-top: -100px;
left: 50%;
margin-left: -100px;
> div {
background-color: $novideo_bg;
&:first-child {
width: 50%;
height: 50%;
@@ -84,6 +94,7 @@
margin-left: -25%;
top: 10%;
}
&:last-child {
position: absolute;
bottom: -50%;
@@ -111,23 +122,28 @@ div {
width: 100%;
height: 100%;
background-color: $black;
&.jsxc_localvideo {
border: 1px solid $white;
}
}
&:fullscreen {
width: 100%;
height: 100%;
background-color: $black;
&.jsxc_localvideo {
border: 1px solid $white;
}
}
&.jsxc_video {
background-image: image-url("camera_icon_grey.svg");
background-repeat: no-repeat;
background-position: center center;
background-size: 15px 15px;
&:not(.jsxc_disabled) {
&:hover {
background-image: image-url("camera_icon_white.svg");
@@ -139,6 +155,7 @@ div {
.jsxc_controlbar {
width: 640px;
margin-top: 10px;
.jsxc_showchat {
float: right;
}
@@ -151,6 +168,7 @@ div {
.jsxc_snapshotbar {
width: 100%;
display: none;
img {
height: 50px;
}
@@ -158,12 +176,14 @@ div {
.jsxc_buttongroup {
display: inline;
button {
&:first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
margin-right: 0;
}
&:last-child {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
@@ -178,20 +198,26 @@ div {
height: 480px;
width: 250px;
background-color: $window_bg;
.jsxc_settings {
display: none !important;
}
.jsxc_close {
display: none !important;
}
.jsxc_video {
display: none !important;
}
.jsxc_bar {}
.jsxc_window {
bottom: 0;
box-shadow: none;
}
> ul {
width: 250px;
height: 480px;
@@ -208,6 +234,7 @@ div {
top: 40%;
left: 50%;
margin-left: -64px;
span {
display: inline-block;
vertical-align: middle;
@@ -239,6 +266,7 @@ div {
background-color: $bubbling_start_bg;
transform: translateY(0);
}
100% {
width: 39px;
height: 39px;
@@ -247,7 +275,6 @@ div {
}
}
.jsxc_fullscreen.jsxc_localvideo {
border: 1px solid $white;
}
@@ -258,6 +285,7 @@ div {
#jsxc_buddylist .jsxc_options .jsxc_video {
background-image: image-url("camera_icon_white.svg");
&.jsxc_disabled {
opacity: 0.2;
}
+2 -2
Ver Arquivo
@@ -1440,7 +1440,7 @@ jsxc.gui.roster = {
});
$('#jsxc_roster .jsxc_onlineHelp').click(function() {
window.open("http://www.jsxc.org/manual.html", "onlineHelp");
window.open(jsxc.options.onlineHelp, 'onlineHelp');
});
$('#jsxc_roster .jsxc_about').click(function() {
@@ -2254,7 +2254,7 @@ jsxc.gui.window = {
encrypted = encrypted || data.msgstate === OTR.CONST.MSGSTATE_ENCRYPTED;
var post = jsxc.storage.saveMessage(bid, direction, msg, encrypted, forwarded, stamp, sender);
if (direction === 'in') {
if (direction === 'in' && !jsxc.gui.window.get(bid).find('.jsxc_textinput').is(":focus")) {
jsxc.gui.unreadMsg(bid);
$(document).trigger('postmessagein.jsxc', [bid, html_msg]);
+1 -1
Ver Arquivo
@@ -629,7 +629,7 @@ jsxc = {
* @returns comparable bar jid
*/
jidToBid: function(jid) {
return Strophe.getBareJidFromJid(jid).toLowerCase();
return Strophe.unescapeNode(Strophe.getBareJidFromJid(jid).toLowerCase());
},
/**
+44 -18
Ver Arquivo
@@ -28,6 +28,9 @@ jsxc.muc = {
EXITED: 2,
AWAIT_DESTRUCTION: 3,
DESTROYED: 4
},
ROOMCONFIG: {
INSTANT: 'instant'
}
},
@@ -406,6 +409,8 @@ jsxc.muc = {
var config = Strophe.x.Form.fromHTML(form.get(0));
self.conn.muc.saveConfiguration(room, config, function() {
jsxc.storage.updateUserItem('buddy', room, 'config', config);
jsxc.debug('Room configuration saved.');
}, function() {
jsxc.warn('Could not save room configuration.');
@@ -447,7 +452,8 @@ jsxc.muc = {
subject: subject,
bookmarked: bookmark || false,
autojoin: autojoin || false,
nickname: nickname
nickname: nickname,
config: null
});
jsxc.xmpp.conn.muc.join(room, nickname, null, null, null, password);
@@ -753,8 +759,11 @@ jsxc.muc = {
jsxc.gui.roster.add(room);
}
jsxc.gui.window.open(room);
jsxc.gui.dialog.close();
if ($('#jsxc_dialog').length > 0) {
// User joined the room manually
jsxc.gui.window.open(room);
jsxc.gui.dialog.close();
}
}
var jid = xdata.find('item').attr('jid') || null;
@@ -904,23 +913,40 @@ jsxc.muc = {
/** Inform user that a new room has been created */
201: function(room) {
var self = jsxc.muc;
var roomdata = jsxc.storage.getUserItem('buddy', room) || {};
jsxc.gui.showSelectionDialog({
header: $.t('Room_creation'),
msg: $.t('Do_you_want_to_change_the_default_room_configuration'),
primary: {
label: $.t('Default'),
cb: function() {
self.conn.muc.createInstantRoom(room);
if (roomdata.autojoin && roomdata.config === self.CONST.ROOMCONFIG.INSTANT) {
self.conn.muc.createInstantRoom(room);
} else if (roomdata.autojoin && typeof roomdata.config !== 'undefined' && roomdata.config !== null) {
self.conn.muc.saveConfiguration(room, roomdata.config, function() {
jsxc.debug('Cached room configuration saved.');
}, function() {
jsxc.warn('Could not save cached room configuration.');
//@TODO display error
});
} else {
jsxc.gui.showSelectionDialog({
header: $.t('Room_creation'),
msg: $.t('Do_you_want_to_change_the_default_room_configuration'),
primary: {
label: $.t('Default'),
cb: function() {
jsxc.gui.dialog.close();
self.conn.muc.createInstantRoom(room);
jsxc.storage.updateUserItem('buddy', room, 'config', self.CONST.ROOMCONFIG.INSTANT);
}
},
option: {
label: $.t('Change'),
cb: function() {
self.showRoomConfiguration(room);
}
}
},
option: {
label: $.t('Change'),
cb: function() {
self.showRoomConfiguration(room);
}
}
});
});
}
},
/** Inform user that he or she has been banned */
301: function(room, nickname, data, xdata) {
+4 -1
Ver Arquivo
@@ -227,5 +227,8 @@ jsxc.options = {
iceServers: [{
urls: 'stun:stun.stunprotocol.org'
}]
}
},
/** Link to an online user manual */
onlineHelp: 'http://www.jsxc.org/manual.html'
};
+6 -1
Ver Arquivo
@@ -50,7 +50,12 @@ jsxc.storage = {
}
if (typeof(value) === 'object') {
value = JSON.stringify(value);
// exclude jquery objects, because otherwise safari will fail
value = JSON.stringify(value, function(key, val) {
if (!(val instanceof jQuery)) {
return val;
}
});
}
localStorage.setItem(jsxc.storage.getPrefix(uk) + key, value);
+3
Ver Arquivo
@@ -473,6 +473,9 @@ jsxc.webrtc = {
*/
onMediaFailure: function(ev, err) {
var self = jsxc.webrtc;
err = err || {
name: 'Undefined'
};
self.setStatus('media failure');
+9 -6
Ver Arquivo
@@ -11,7 +11,7 @@ jsxc.xmpp.bookmarks = {};
* @return {boolean} True: Server supports bookmark storage
*/
jsxc.xmpp.bookmarks.remote = function() {
return jsxc.xmpp.conn.caps && jsxc.xmpp.conn.caps.hasFeatureByJid(jsxc.xmpp.conn.domain, Strophe.NS.PUBSUB + "#publish");
return jsxc.xmpp.conn.caps && jsxc.xmpp.hasFeatureByJid(jsxc.xmpp.conn.domain, Strophe.NS.PUBSUB + "#publish");
};
/**
@@ -26,12 +26,11 @@ jsxc.xmpp.bookmarks.load = function() {
if (!ver || !caps._knownCapabilities[ver]) {
// wait until we know server capabilities
$(document).on('caps.strophe', function(ev, from) {
if (from === jsxc.xmpp.conn.domain) {
jsxc.xmpp.bookmarks.load();
if (from !== jsxc.xmpp.conn.domain) {
return;
$(document).off(ev);
}
jsxc.xmpp.bookmarks.load();
});
}
@@ -96,7 +95,9 @@ jsxc.xmpp.bookmarks.loadFromRemote = function() {
autojoin = false;
}
jsxc.storage.setUserItem('buddy', room, {
var data = jsxc.storage.getUserItem('buddy', room) || {};
data = $.extend(data, {
jid: room,
name: roomName,
sub: 'both',
@@ -109,6 +110,8 @@ jsxc.xmpp.bookmarks.loadFromRemote = function() {
nickname: nickname
});
jsxc.storage.setUserItem('buddy', room, data);
bl.push(room);
jsxc.gui.roster.add(room);
+51
Ver Arquivo
@@ -1063,6 +1063,57 @@ jsxc.xmpp = {
return knownCapabilities[jidVerIndex[jid]];
}
return null;
},
/**
* Test if jid has given features
*
* @param {string} jid Jabber id
* @param {string[]} feature Single feature or list of features
* @param {Function} cb Called with the result as first param.
* @return {boolean} True, if jid has all given features. Null, if we do not know it currently.
*/
hasFeatureByJid: function(jid, feature, cb) {
var conn = jsxc.xmpp.conn;
cb = cb || function() {};
if (!feature) {
return false;
}
if (!$.isArray(feature)) {
feature = $.makeArray(feature);
}
var check = function(knownCapabilities) {
if (!knownCapabilities) {
return null;
}
var i;
for (i = 0; i < feature.length; i++) {
if (knownCapabilities['features'].indexOf(feature[i]) < 0) {
return false;
}
}
return true;
};
if (conn.caps._jidVerIndex[jid] && conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]) {
var hasFeature = check(conn.caps._knownCapabilities[conn.caps._jidVerIndex[jid]]);
cb(hasFeature);
return hasFeature;
}
$(document).on('strophe.caps', function(ev, j, capabilities) {
if (j === jid) {
cb(check(capabilities));
$(document).off(ev);
}
});
return null;
}
};
+1 -1
Ver Arquivo
@@ -15,7 +15,7 @@
</p>
<p class="jsxc_libraries">
<b>Libraries: </b>
< $ dep.libraries $>
<$ dep.libraries $>
</p>
<button class="btn btn-default pull-right jsxc_debuglog">Show debug log</button>
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
<h3></h3>
<p></p>
<button class="btn btn-primary pull-right jsxc_close" data-i18n="Confirm"></button>
<button class="btn btn-default pull-right jsxc_close" data-i18n="Dismiss"></button>
<button class="btn btn-primary pull-right" data-i18n="Confirm"></button>
<button class="btn btn-default pull-right" data-i18n="Dismiss"></button>