Comparar commits
12 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| 7eb131c910 | |||
| a04dcc662a | |||
| f645d44257 | |||
| d96b9f10d2 | |||
| 9153a45933 | |||
| bda4267def | |||
| 49ecac9f7b | |||
| 736119b375 | |||
| d8733e73d3 | |||
| 7f73c45af0 | |||
| f8c4bf1d3b | |||
| 3c5ff959e5 |
@@ -1,3 +1,21 @@
|
||||
v2.1.5 / 2015-11-17
|
||||
===
|
||||
- Reset TURN credentials on login
|
||||
- Fix ie<11 textfield
|
||||
|
||||
v2.1.4 / 2015-09-10
|
||||
===
|
||||
- remove leading at sign from comments in build file
|
||||
|
||||
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)
|
||||
|
||||
+19
-5
@@ -101,6 +101,23 @@ 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\')'
|
||||
}]
|
||||
},
|
||||
// IE 10 does not like comments starting with @
|
||||
todo: {
|
||||
src: ['build/jsxc.js'],
|
||||
overwrite: true,
|
||||
replacements: [{
|
||||
from: /\/\/@(.*)/g,
|
||||
to: '//$1'
|
||||
}]
|
||||
}
|
||||
},
|
||||
merge_data: {
|
||||
@@ -228,9 +245,6 @@ module.exports = function(grunt) {
|
||||
},
|
||||
},
|
||||
sass: {
|
||||
options: {
|
||||
imagePath: '../img'
|
||||
},
|
||||
dist: {
|
||||
files: {
|
||||
'<%= target %>/css/jsxc.css': 'scss/jsxc.scss',
|
||||
@@ -353,12 +367,12 @@ 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');
|
||||
|
||||
grunt.task.run(['search:console', 'build', 'dataUri', 'usebanner', 'replace:version', 'replace:libraries', 'uglify', 'compress']);
|
||||
grunt.task.run(['search:console', 'build', 'dataUri', 'usebanner', 'replace:version', 'replace:libraries', 'replace:todo', 'uglify', 'compress']);
|
||||
});
|
||||
|
||||
grunt.registerTask('build:release', 'Build a new release', function() {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jsxc",
|
||||
"version": "2.1.1",
|
||||
"version": "2.1.2",
|
||||
"homepage": "https://www.jsxc.org",
|
||||
"authors": [
|
||||
"sualko <klaus@jsxc.org>"
|
||||
|
||||
+726
-403
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -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; }
|
||||
|
||||
+74
-15
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* jsxc v2.1.1 - 2015-08-10
|
||||
* jsxc v2.1.5 - 2015-11-17
|
||||
*
|
||||
* 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.1
|
||||
* @version 2.1.5
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
@@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null;
|
||||
*/
|
||||
jsxc = {
|
||||
/** Version of jsxc */
|
||||
version: '2.1.1',
|
||||
version: '2.1.5',
|
||||
|
||||
/** True if i'm the master */
|
||||
master: false,
|
||||
@@ -1495,7 +1495,7 @@ jsxc.xmpp = {
|
||||
|
||||
var error = $(presence).find('error');
|
||||
|
||||
//@TODO display error message
|
||||
//TODO display error message
|
||||
jsxc.error('[XMPP] ' + error.attr('code') + ' ' + error.find(">:first-child").prop('tagName'));
|
||||
return true;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
};
|
||||
@@ -3937,6 +3988,9 @@ jsxc.gui.window = {
|
||||
return;
|
||||
}
|
||||
|
||||
ev.stopPropagation();
|
||||
ev.preventDefault();
|
||||
|
||||
jsxc.gui.window.postMessage(bid, 'out', $(this).val());
|
||||
|
||||
$(this).val('');
|
||||
@@ -4262,7 +4316,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]);
|
||||
@@ -4809,7 +4863,7 @@ jsxc.muc = {
|
||||
var roomName = $(stanza).find('identity').attr('name');
|
||||
var subject = $(stanza).find('field[var="muc#roominfo_subject"]').attr('label');
|
||||
|
||||
//@TODO display subject, number of occupants, etc.
|
||||
//TODO display subject, number of occupants, etc.
|
||||
|
||||
discoReceived(roomName, subject);
|
||||
}, function() {
|
||||
@@ -4868,7 +4922,7 @@ jsxc.muc = {
|
||||
}, function() {
|
||||
jsxc.debug('Could not load room configuration');
|
||||
|
||||
//@TODO show error
|
||||
//TODO show error
|
||||
});
|
||||
},
|
||||
|
||||
@@ -4914,7 +4968,7 @@ jsxc.muc = {
|
||||
}, function() {
|
||||
jsxc.warn('Could not save room configuration.');
|
||||
|
||||
//@TODO display error
|
||||
//TODO display error
|
||||
});
|
||||
|
||||
jsxc.gui.dialog.close();
|
||||
@@ -5422,7 +5476,7 @@ jsxc.muc = {
|
||||
}, function() {
|
||||
jsxc.warn('Could not save cached room configuration.');
|
||||
|
||||
//@TODO display error
|
||||
//TODO display error
|
||||
});
|
||||
} else {
|
||||
jsxc.gui.showSelectionDialog({
|
||||
@@ -7806,6 +7860,11 @@ jsxc.webrtc = {
|
||||
}
|
||||
},
|
||||
|
||||
onConnected: function() {
|
||||
//Request new credentials after login
|
||||
jsxc.storage.removeUserItem('iceValidity');
|
||||
},
|
||||
|
||||
onDisconnected: function() {
|
||||
var self = jsxc.webrtc;
|
||||
|
||||
@@ -8367,7 +8426,7 @@ jsxc.webrtc = {
|
||||
onRemoteStreamRemoved: function(session) {
|
||||
this.setStatus('Remote stream for ' + session.jid + ' removed.');
|
||||
|
||||
//@TODO clean up
|
||||
//TODO clean up
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -8709,6 +8768,7 @@ $(document).ready(function() {
|
||||
$(document).on('init.window.jsxc', jsxc.webrtc.initWindow);
|
||||
$(document).on('attached.jsxc', jsxc.webrtc.init);
|
||||
$(document).on('disconnected.jsxc', jsxc.webrtc.onDisconnected);
|
||||
$(document).on('connected.jsxc', jsxc.webrtc.onConnected);
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -8724,7 +8784,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");
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -8739,12 +8799,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();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
externo
+8
-8
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
+11
-6
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* jsxc v2.1.1 - 2015-08-10
|
||||
* jsxc v2.1.5 - 2015-11-17
|
||||
*
|
||||
* This file concatenates all dependencies of jsxc.
|
||||
*
|
||||
@@ -6555,12 +6555,17 @@ Strophe.addConnectionPlugin('disco',
|
||||
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;
|
||||
}
|
||||
@@ -6587,7 +6592,7 @@ Strophe.addConnectionPlugin('disco',
|
||||
}
|
||||
|
||||
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;
|
||||
},
|
||||
@@ -6654,7 +6659,7 @@ Strophe.addConnectionPlugin('disco',
|
||||
|
||||
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;
|
||||
},
|
||||
|
||||
externo
+26
-25
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
@@ -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;
|
||||
},
|
||||
|
||||
+1
-1
@@ -344,7 +344,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -547,7 +547,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+2
-2
@@ -2440,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#line855">line 855</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line860">line 860</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3404,7 +3404,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -464,7 +464,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -1533,7 +1533,7 @@ alphabetical of the name
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+17
-17
@@ -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#line2101">line 2101</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2104">line 2104</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#line2181">line 2181</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2184">line 2184</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -469,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#line2281">line 2281</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2284">line 2284</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -586,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#line2149">line 2149</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2152">line 2152</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -721,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#line2424">line 2424</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2427">line 2427</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -856,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#line2076">line 2076</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2079">line 2079</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -973,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#line2032">line 2032</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2035">line 2035</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1112,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#line2170">line 2170</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2173">line 2173</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1229,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#line2192">line 2192</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2195">line 2195</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1486,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#line2043">line 2043</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2046">line 2046</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1838,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#line2234">line 2234</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2237">line 2237</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1955,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#line2409">line 2409</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2412">line 2412</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2090,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#line2207">line 2207</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2210">line 2210</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2230,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#line2399">line 2399</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2402">line 2402</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2365,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#line2136">line 2136</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2139">line 2139</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2482,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#line2114">line 2114</a>
|
||||
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2117">line 2117</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2529,7 +2529,7 @@ created.
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+1
-1
@@ -4443,7 +4443,7 @@ normal signal
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -1956,6 +1956,9 @@ jsxc.gui.window = {
|
||||
return;
|
||||
}
|
||||
|
||||
ev.stopPropagation();
|
||||
ev.preventDefault();
|
||||
|
||||
jsxc.gui.window.postMessage(bid, 'out', $(this).val());
|
||||
|
||||
$(this).val('');
|
||||
@@ -2281,7 +2284,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]);
|
||||
@@ -2531,7 +2534,7 @@ jsxc.gui.template.get = function(name, bid, msg) {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -880,7 +880,7 @@ jsxc = {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -1516,7 +1516,7 @@ $(document).one('connected.jsxc', function() {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -157,7 +157,7 @@ jsxc.notice = {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -315,7 +315,7 @@ jsxc.notification = {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -275,7 +275,7 @@ jsxc.options = {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -527,7 +527,7 @@ jsxc.otr = {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -670,7 +670,7 @@ jsxc.storage = {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -114,6 +114,11 @@ jsxc.webrtc = {
|
||||
}
|
||||
},
|
||||
|
||||
onConnected: function() {
|
||||
//Request new credentials after login
|
||||
jsxc.storage.removeUserItem('iceValidity');
|
||||
},
|
||||
|
||||
onDisconnected: function() {
|
||||
var self = jsxc.webrtc;
|
||||
|
||||
@@ -1017,6 +1022,7 @@ $(document).ready(function() {
|
||||
$(document).on('init.window.jsxc', jsxc.webrtc.initWindow);
|
||||
$(document).on('attached.jsxc', jsxc.webrtc.init);
|
||||
$(document).on('disconnected.jsxc', jsxc.webrtc.onDisconnected);
|
||||
$(document).on('connected.jsxc', jsxc.webrtc.onConnected);
|
||||
});
|
||||
</code></pre>
|
||||
</article>
|
||||
@@ -1034,7 +1040,7 @@ $(document).ready(function() {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -38,7 +38,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");
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -53,12 +53,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();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -383,7 +382,7 @@ jsxc.xmpp.bookmarks.showDialog = function(room) {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -1090,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 < 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;
|
||||
}
|
||||
};
|
||||
@@ -1188,7 +1239,7 @@ jsxc.xmpp.carbons = {
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:26 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+1
-1
@@ -3353,7 +3353,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:04 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -1256,7 +1256,7 @@ messages.
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -2198,7 +2198,7 @@ connection is found.
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+1
-1
@@ -2024,7 +2024,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -2329,7 +2329,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+23
-23
@@ -597,7 +597,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#line633">line 633</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line638">line 638</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -709,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#line183">line 183</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line188">line 188</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -856,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#line108">line 108</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line113">line 113</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -925,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#line737">line 737</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line742">line 742</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1124,7 +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#line240">line 240</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line245">line 245</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1290,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#line208">line 208</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line213">line 213</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1420,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#line494">line 494</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line499">line 499</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1489,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#line595">line 595</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line600">line 600</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1691,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#line560">line 560</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line565">line 565</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1821,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#line416">line 416</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line421">line 421</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1969,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#line663">line 663</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line668">line 668</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2038,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#line474">line 474</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line479">line 479</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2168,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#line436">line 436</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line441">line 441</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2298,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#line331">line 331</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line336">line 336</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2428,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#line351">line 351</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line356">line 356</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2576,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#line608">line 608</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line613">line 613</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2724,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#line648">line 648</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line653">line 653</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2793,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#line749">line 749</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line754">line 754</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -2923,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#line368">line 368</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line373">line 373</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3035,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#line814">line 814</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line819">line 819</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3165,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#line693">line 693</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line698">line 698</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3277,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#line268">line 268</a>
|
||||
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line273">line 273</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -3324,7 +3324,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line236">line 236</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line235">line 235</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -444,7 +444,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line280">line 280</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line279">line 279</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -630,7 +630,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line253">line 253</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line252">line 252</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -802,7 +802,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line166">line 166</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line165">line 165</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -974,7 +974,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line211">line 211</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line210">line 210</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1146,7 +1146,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line186">line 186</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line185">line 185</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1284,7 +1284,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line50">line 50</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line49">line 49</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1353,7 +1353,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line77">line 77</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line76">line 76</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1470,7 +1470,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line147">line 147</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line146">line 146</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1740,7 +1740,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line300">line 300</a>
|
||||
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line299">line 299</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -1787,7 +1787,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -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#line1070">line 1070</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#line1110">line 1110</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#line1084">line 1084</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#line1136">line 1136</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>
|
||||
|
||||
|
||||
@@ -455,7 +455,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
+186
-1
@@ -957,6 +957,191 @@
|
||||
|
||||
|
||||
|
||||
</dd>
|
||||
|
||||
|
||||
|
||||
<dt>
|
||||
<h4 class="name" id="hasFeatureByJid"><span class="type-signature"><static> </span>hasFeatureByJid<span class="signature">(jid, feature, cb)</span><span class="type-signature"> → {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>
|
||||
|
||||
|
||||
@@ -2572,7 +2757,7 @@
|
||||
<br clear="both">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Mon Aug 10 2015 13:33:27 GMT+0200 (CEST)
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Tue Nov 17 2015 17:01:05 GMT+0100 (CET)
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -27,7 +27,7 @@ $(function() {
|
||||
SEND_WHITESPACE_TAG: true,
|
||||
WHITESPACE_START_AKE: true
|
||||
},
|
||||
loadSettings: function(username, password) {
|
||||
loadSettings: function(username, password, cb) {
|
||||
cb(settings);
|
||||
},
|
||||
xmpp: {
|
||||
|
||||
+10
-5
@@ -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
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jsxc",
|
||||
"version": "2.1.1",
|
||||
"version": "2.1.5",
|
||||
"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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
+2
-1
@@ -10,12 +10,12 @@
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#jsxc_dialog {
|
||||
@import "../lib/bootstrap/assets/stylesheets/bootstrap/progress-bars";
|
||||
}
|
||||
@@ -28,6 +28,7 @@
|
||||
@import "../lib/bootstrap/assets/stylesheets/bootstrap/buttons";
|
||||
@import "../lib/bootstrap/assets/stylesheets/bootstrap/button-groups";
|
||||
@import "../lib/bootstrap/assets/stylesheets/bootstrap/forms";
|
||||
|
||||
.progress {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
+90
-5
@@ -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,12 @@ 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 +543,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 +564,7 @@ ul.jsxc_vCard {
|
||||
z-index: 95 !important;
|
||||
background-image: image-url("resize_gray.svg");
|
||||
}
|
||||
|
||||
.ui-resizable-n {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@@ -524,15 +586,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 +620,7 @@ ul.jsxc_vCard {
|
||||
background: $chatmessage_in_bg;
|
||||
border: solid 1px $chatmessage_in_border;
|
||||
border-radius: 3px;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
@@ -567,6 +633,7 @@ ul.jsxc_vCard {
|
||||
left: -6px;
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
.jsxc_timestamp {
|
||||
float: left;
|
||||
}
|
||||
@@ -579,6 +646,7 @@ ul.jsxc_vCard {
|
||||
background: $chatmessage_out_bg;
|
||||
border: solid 1px $chatmessage_out_border;
|
||||
border-radius: 3px;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
@@ -591,6 +659,7 @@ ul.jsxc_vCard {
|
||||
right: -6px;
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
&.jsxc_received {
|
||||
&:before {
|
||||
content: '✓';
|
||||
@@ -601,10 +670,12 @@ ul.jsxc_vCard {
|
||||
line-height: 12px;
|
||||
color: $chatmessage_received;
|
||||
}
|
||||
|
||||
.jsxc_timestamp {
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.jsxc_timestamp {
|
||||
float: right;
|
||||
}
|
||||
@@ -625,9 +696,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 +714,7 @@ div.jsxc_settings {
|
||||
background-color: $window_settings_bg;
|
||||
display: none;
|
||||
}
|
||||
|
||||
li {
|
||||
width: 170px;
|
||||
margin-left: 20px;
|
||||
@@ -649,13 +723,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 +742,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 +832,7 @@ img.jsxc_vCard {
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
|
||||
&.jsxc_alert-warning {
|
||||
color: #8a6d3b;
|
||||
background-color: #fcf8e3;
|
||||
@@ -766,11 +849,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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1929,6 +1929,9 @@ jsxc.gui.window = {
|
||||
return;
|
||||
}
|
||||
|
||||
ev.stopPropagation();
|
||||
ev.preventDefault();
|
||||
|
||||
jsxc.gui.window.postMessage(bid, 'out', $(this).val());
|
||||
|
||||
$(this).val('');
|
||||
@@ -2254,7 +2257,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]);
|
||||
|
||||
@@ -87,6 +87,11 @@ jsxc.webrtc = {
|
||||
}
|
||||
},
|
||||
|
||||
onConnected: function() {
|
||||
//Request new credentials after login
|
||||
jsxc.storage.removeUserItem('iceValidity');
|
||||
},
|
||||
|
||||
onDisconnected: function() {
|
||||
var self = jsxc.webrtc;
|
||||
|
||||
@@ -990,4 +995,5 @@ $(document).ready(function() {
|
||||
$(document).on('init.window.jsxc', jsxc.webrtc.initWindow);
|
||||
$(document).on('attached.jsxc', jsxc.webrtc.init);
|
||||
$(document).on('disconnected.jsxc', jsxc.webrtc.onDisconnected);
|
||||
$(document).on('connected.jsxc', jsxc.webrtc.onConnected);
|
||||
});
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário