Comparar commits

...

21 Commits

Autor SHA1 Mensagem Data
sualko efb3dd025f update dependencies 2017-06-30 13:41:36 +02:00
sualko 457e175a41 support XEP-0106: JID Escaping (fix #501) 2017-06-30 13:40:59 +02:00
sualko 757770b9f7 Update README.md 2017-06-20 16:47:35 +02:00
sualko 3dee2ef385 add first tests, omit external dependencies, minor improvements 2017-06-20 16:31:40 +02:00
sualko e70b2481a8 roster change, rename contact, presence, notices 2017-06-16 15:35:30 +02:00
sualko 9023a4c9c8 allow slave tabs to send xmpp stanzas 2017-06-08 16:58:36 +02:00
sualko c5ad776f8c various improvements
- role allocator
- sync chat windows
- avatar placeholder
- and more
2017-06-02 14:13:56 +02:00
sualko 2bb914cb9a disable travis for refactoring branch 2017-06-01 13:58:50 +02:00
sualko 9158727327 remove bower and grunt
use: npm run dev
2017-06-01 13:57:59 +02:00
sualko e904bd8045 work on chat window 2017-05-10 10:48:53 +02:00
sualko 4fb2ea3ee3 start switching to typescript and handlebars 2017-05-04 10:48:32 +02:00
sualko 78cb8426c3 build v3.1.1 2017-02-14 16:19:51 +01:00
sualko daa5d35d7a check for missing files in build process 2017-02-14 16:19:38 +01:00
sualko daf6217a63 update documentation 2017-02-14 16:17:50 +01:00
sualko 479ebb3a26 update change log 2017-02-14 16:15:30 +01:00
sualko 4961e7e8e7 fix path to dependencies 2017-02-14 16:11:43 +01:00
sualko 2b8c103653 build v3.1.0 2017-02-14 13:56:29 +01:00
sualko 7a695ea639 update documentation 2017-02-14 13:40:15 +01:00
sualko 4caed440fd update locales 2017-02-14 13:37:39 +01:00
Marcel Waldvogel c7cd3cdd43 Reference to CVE-2014-0364
(and capitalization of acronyms)
2017-02-14 09:01:18 +01:00
sualko b7f4780d53 fix location of bower modules 2017-02-13 17:25:23 +01:00
223 arquivos alterados com 18328 adições e 15587 exclusões
+1 -1
Ver Arquivo
@@ -18,7 +18,7 @@ linters:
ImportantRule:
enabled: false
Indentation:
width: 4
width: 3
LeadingZero:
style: include_zero
NameFormat:
+4
Ver Arquivo
@@ -9,3 +9,7 @@ before_install:
script:
- ./node_modules/.bin/grunt pre-commit
branches:
except:
- refactoring
+63 -58
Ver Arquivo
@@ -5,51 +5,57 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
## 3.1.1 - 2017-02-14
### Fixed
- fix path to dependencies
## 3.1.0 - 2017-02-14
### Added
- add application states
- [#393](https://github.com/jsxc/jsxc/issues/393) add the me command (XEP-0245)
- [#393](https://github.com/jsxc/jsxc/issues/393) add the /me command (XEP-0245)
- [#422](https://github.com/jsxc/jsxc/issues/422) add multiline message support
- [#431](https://github.com/jsxc/jsxc/issues/431) add Chat State Notifications (XEP-0085)
- [#426](https://github.com/jsxc/jsxc/issues/426) add HTTP File Upload (XEP-0363)
- add Turkish
- [#438](https://github.com/jsxc/jsxc/issues/438) add desktop sharing
- add nextcloud emoticon
- add Nextcloud emoticon
- [#301](https://github.com/jsxc/jsxc/issues/301) add close all button for notices
- [#344](https://github.com/jsxc/jsxc/issues/344) support messages of type headline
- [#344](https://github.com/jsxc/jsxc/issues/344) support messages of type `headline`
- add icon to notices
### Fixed
- fix login form submission
- fix display of muc warning
- [#391](https://github.com/jsxc/jsxc/issues/391) fix muc initialisation after relogin
- [#394](https://github.com/jsxc/jsxc/issues/394) disable otr for muc conversations
- [#399](https://github.com/jsxc/jsxc/issues/399) prompt for muc password if required
- fix display of MUC warning
- [#391](https://github.com/jsxc/jsxc/issues/391) fix MUC initialisation after relogin
- [#394](https://github.com/jsxc/jsxc/issues/394) disable OTR for MUC conversations
- [#399](https://github.com/jsxc/jsxc/issues/399) prompt for MUC password if required
- [#435](https://github.com/jsxc/jsxc/issues/435) fix list of user name suggestions
- [#433](https://github.com/jsxc/jsxc/issues/433) fix i18n interpolation pattern
- fix minor webrtc issues
- [#440](https://github.com/jsxc/jsxc/issues/440) prevent login form submission
- fix minor WebRTC issues
- [#440](https://github.com/jsxc/jsxc/issues/440) prevent original login form submission
- [#441](https://github.com/jsxc/jsxc/issues/441) remove console.trace
- [#409](https://github.com/jsxc/jsxc/issues/409) fix presence after accepting contact request
- fix template system
- fix path to strophe.bookmarks (regression)
- fix disabled login form
- fix carbon copy impersonation vulnerability ([CVE-2017-5589+](https://rt-solutions.de/en/2017/02/CVE-2017-5589_xmpp_carbons/))
- ignore malicious roster updates
- prevent double insertion of muc setting
- ignore malicious roster updates (similar to [CVE-2014-0364](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0364))
- prevent double insertion of MUC setting
### Changed
- update dependencies
- [#385](https://github.com/jsxc/jsxc/issues/385) update i18next
- improve initial focus for login box
- add large emoticons
- [#421](https://github.com/jsxc/jsxc/issues/421) make muc server field editable
- [#421](https://github.com/jsxc/jsxc/issues/421) make MUC server field editable
- system message style
- disable sending of otr whitespace tag by default
- disable sending of OTR whitespace tag by default
- enable carbon copies by default
- remove border radius from dialog
- exclude dev dependencies from build
- move jquery library to example folder
- omit unreadable otr messages
- omit unreadable OTR messages
## 3.0.1 - 2016-10-28
### Added
@@ -81,15 +87,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- new video call interface
- status usable for daltonian
- use css for animations
- file transfer via webrtc
- file transfer via WebRTC
- previews
- show progress
- use local date and time format
- add no-video-call-possible icon
- add disabled otr icon
- add disabled OTR icon
- add padlock icon to message
- display line breaks in chat messages
- hide avatar for connected messages (muc)
- hide avatar for connected messages (MUC)
- auto approve incoming contact request (if contact is already in our roster)
### Fixed
@@ -119,7 +125,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
## 2.1.5 - 2015-11-17
- Reset TURN credentials on login
- Fix ie<11 textfield
- Fix IE&lt;11 textfield
## 2.1.4 - 2015-09-10
- remove leading at sign from comments in build file
@@ -132,10 +138,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- update grunt-sass (fix invalid css)
## 2.1.1 - 2015-08-10
- update strophe.jingle (fix login with safari and older versions of ie, ff, chrome)
- 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 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
@@ -150,8 +156,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- 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
- fix DSA key generation in Chrome &gt; 42
- fix minor roster UI issues
- add jsbeautifier and prettysass
- improve example
@@ -170,11 +176,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
## 2.0.1 - 2015-05-23
- improve login box
- fix browsers without CSPRNG generator
- fix ajax login after credential failure
- fix some webrtc issues
- fix AJAX login after credential failure
- fix some WebRTC issues
- fix login with different username after dirty logout
- remove ie (<11) gradient
- remove broken mitm detection
- remove IE (&lt;11) gradient
- remove broken MITM detection
- fix temporary template 404
- fix login option
- add connecting event
@@ -188,7 +194,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- use user avatar as notification icon
- show notifications if tabs has no focus
- split files into namespaces
- sass improvements
- SASS improvements
- replace own translation engine with i18next
- fix login from login box
- fix selection of chat messages
@@ -199,16 +205,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- fix logout
## 1.1.0a - 2015-02-25
- fix css url path
- fix CSS URL path
## 1.1.0 - 2015-01-08
- move from plain css to sass
- show avatar also by EXTVAL (url), not only by BINVAL
- move from plain CSS to SASS
- show avatar also by EXTVAL (URL), not only by BINVAL
- add XEP-0280 (Message Carbons)
- add XEP-0297 (Stanza Forwarding)
- add option to disable otr
- add option to disable OTR
- add timestamp to messages
- add ajax/prebind login
- add AJAX/prebind login
- fix offline subscription request
- fix hide offline contacts
- fix error with multiple own resources
@@ -223,37 +229,37 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- add resizable function to chat window
- add vertical scrollbar to window list
- add call information to chat window
- add concatinated and uglified files
- add concatenated and uglified files
- add translations
- minor video call improvements
- minor style improvements
- generate dsa key complete in background
- generate DSA key complete in background
- update caps node property to jsxc.org
- update strophe.jingle
- update otr
- update OTR
- fix wrong avatars
- fix minor message delivery errors
- fix ff snapshot security error
- fix FF snapshot security error
- fix case sensitive resource handling
- fix non-square avatars
- fix several video issues
- fix messages from unknown (not in roster) jid
- fix vcard retrieval from unknown (not in roster) jid
- fix vcard in second tab
- fix jids with non-word characters (replace user identifier)
- fix vCard retrieval from unknown (not in roster) jid
- fix vCard in second tab
- fix JIDs with non-word characters (replace user identifier)
- improve video window design
- improve user info
- improve login box
- improve smp user interaction
- improve SMP user interaction
- improve notifications (sync sound/message, icon)
- minor chat window improvements
- detect email in message
- detect uri scheme in message
- detect URI scheme in message
- end all private conversations on logout
- remove email pattern from contact dialog
- disable video on second tab
- add/require disco dtls feature for webrtc
- move emoticons to css
- add/require DISCO DTLS feature for WebRTC
- move emoticons to CSS
- handle loadSettings failure
- change cursor for some elements
- prevent event bubbling for dialog
@@ -279,15 +285,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- new chat window design
- enhanced roster design
- fix emoticon replacement (XEP-0038)
- fix some ui issues (explanations,...)
- fix some UI issues (explanations,...)
- fix issue with password only field
## 0.7.2 - 2014-05-28
- fix login issue
- fix different dialogs
- fix safari mobile bug
- fix Safari mobile bug
- fix webworker debugging
- fix issue with prosody
- fix issue with Prosody
- fix submodule state
- add debug flag
- add icon for video calls
@@ -301,7 +307,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- minor style fixes
- move complete to new notification api
## 0.7.1 - 2014-03-18
- fix emoticons
- fix unique message id
@@ -313,27 +318,27 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- update & extend hover info
- handle presence of type unsubscribed
- remove roster footer if offline
- enhance otr error handling
- enhance OTR error handling
- enhance translations
- reduce initial timeout
- fix notices
- fix friendship response dialog
- fix shared roster item removel
- fix debug function
- fix webrtc bug
- fix WebRTC bug
- fix storage check
- fix firefox fullscreen
- fix Firefox fullscreen
## 0.6.0 - 2014-02-28
- add notice stack (for e.g. friendship requests)
- add option to change presence
- support all available presence states
- display own avatar
- fix issue with prosody
- fix issue with Prosody
- fix multi-tab support
- fix chrome notifications
- fix otr error handling
- fix webrtc bug
- fix Chrome notifications
- fix OTR error handling
- fix WebRTC bug
## 0.5.2 - 2014-01-28
- update strophe.js to v1.1.3
@@ -343,8 +348,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
## 0.5.1 - 2014-01-27
- fix chat window after call
- fix nullpointer and context in webrtc
- fix NULL pointer and context in WebRTC
- handle already attached submit events on login form
- style changes
- fix webrtc startup
- don't block application on dsa key generation
- fix WebRTC startup
- don't block application on DSA key generation
-394
Ver Arquivo
@@ -1,394 +0,0 @@
/* global module:false */
module.exports = function(grunt) {
var dep = grunt.file.readJSON('dep.json');
var dep_files = dep.map(function(el) {
return el.file;
});
dep_files.push('<%= target %>/lib/translation.js');
// Project configuration.
grunt.initConfig({
app: grunt.file.readJSON('package.json'),
meta: {
banner: grunt.file.read('banner.js')
},
target: 'dev',
jshint: {
options: {
jshintrc: '.jshintrc'
},
gruntfile: {
src: 'Gruntfile.js'
},
files: ['src/jsxc.lib.*.js']
},
copy: {
main: {
files: [{
expand: true,
src: ['lib/emojione/assets/svg/*.svg',
'lib/otr/build/**', 'lib/otr/lib/*.js',
'lib/otr/vendor/*.js', 'lib/*.js', 'LICENSE',
'img/**', 'sound/**'
],
dest: '<%= target %>/'
}, {
expand: true,
cwd: 'lib/',
src: ['*.css'],
dest: '<%= target %>/css/'
}, {
expand: true,
cwd: 'lib/magnific-popup/dist/',
src: ['*.css'],
dest: '<%= target %>/css/'
}]
}
},
clean: ['<%= target %>/'],
usebanner: {
dist: {
options: {
position: 'top',
banner: '<%= meta.banner %>'
},
files: {
src: ['<%= target %>/*.js']
}
}
},
replace: {
version: {
src: ['<%= target %>/jsxc.js'],
overwrite: true,
replacements: [{
from: '< $ app.version $ >',
to: "<%= app.version %>"
}]
},
libraries: {
src: ['<%= target %>/jsxc.js'],
overwrite: true,
replacements: [{
from: '<$ dep.libraries $>',
to: function() {
var i, d, libraries = '';
for (i = 0; i < dep.length; i++) {
d = dep[i];
if (typeof d.name === 'string') {
libraries += '<a href="' + d.url + '">' + d.name + '</a> (' + d.license + '), ';
}
}
return libraries.replace(/, $/, '');
}
}]
},
locales: {
src: ['<%= target %>/lib/translation.js'],
overwrite: true,
replacements: [{
from: /^{/g,
to: 'var I18next = {'
}, {
from: /}$/g,
to: '};'
}]
},
template: {
src: ['tmp/template.js'],
overwrite: true,
replacements: [{
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: {
target: {
src: ['locales/*.{json,y{,a}ml}'],
dest: '<%= target %>/lib/translation.js'
}
},
concat: {
dep: {
options: {
banner: '/*!\n' +
' * <%= app.name %> v<%= app.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' +
' * \n' +
' * This file concatenates all dependencies of <%= app.name %>.\n' +
' * \n' +
' */\n\n',
process: function(src, filepath) {
filepath = filepath.replace(/^[a-z]+\//i, '');
if (filepath.match(/crypto\.js$/)) {
src += ';';
}
var data = dep[dep_files.indexOf(filepath)];
if (data) {
return '\n/*!\n * Source: ' + filepath + ', license: ' + data.license + ', url: ' + data.url + '\n */\n' + src;
} else {
return src;
}
}
},
src: dep_files,
dest: '<%= target %>/lib/jsxc.dep.js'
},
jsxc: {
options: {
banner: '/*! This file is concatenated for the browser. */\n\n'
},
src: ['src/jsxc.intro.js', 'src/jsxc.lib.js', 'src/jsxc.lib.xmpp.js',
'src/jsxc.lib.*.js', 'tmp/template.js', 'src/jsxc.outro.js'
],
dest: '<%= target %>/jsxc.js'
}
},
uglify: {
jsxc: {
options: {
mangle: false,
sourceMap: true,
preserveComments: 'some'
},
files: {
'<%= target %>/lib/jsxc.dep.min.js': ['<%= target %>/lib/jsxc.dep.js'],
'<%= target %>/jsxc.min.js': ['<%= target %>/jsxc.js']
}
}
},
search: {
bower: {
files: {
src: ['bower.json']
},
options: {
searchString: "<%= app.version %>",
logFormat: 'console',
onComplete: function(m) {
if (m.numMatches === 0) {
grunt.fail.fatal('No entry in bower.json for current version found.');
}
}
}
},
console: {
files: {
src: ['src/*.js']
},
options: {
searchString: /console\.log\((?!'[<>]|msg)/g,
logFormat: 'console',
failOnMatch: true
}
},
changelog: {
files: {
src: ['CHANGELOG.md']
},
options: {
searchString: "<%= app.version %>",
logFormat: 'console',
onComplete: function(m) {
if (m.numMatches === 0) {
grunt.fail.fatal("No entry in CHANGELOG.md for current version found.");
}
}
}
}
},
compress: {
main: {
options: {
archive: "archives/jsxc-<%= app.version %>.zip"
},
files: [{
src: ['**'],
expand: true,
dest: 'jsxc/',
cwd: 'build/'
}]
}
},
dataUri: {
dist: {
src: '<%= target %>/css/*.css',
dest: '<%= target %>/css/',
options: {
target: ['<%= target %>/img/*.*', '<%= target %>/img/**/*.*'],
fixDirLevel: false,
maxBytes: 2048
}
}
},
jsdoc: {
dist: {
src: ['src/jsxc.lib.*'],
dest: 'doc'
}
},
autoprefixer: {
no_dest: {
src: '<%= target %>/css/*.css'
}
},
csslint: {
strict: {
options: {
import: 2
},
src: ['<%= target %>/css/*.css']
},
},
sass: {
dist: {
files: {
'<%= target %>/css/jsxc.css': 'scss/jsxc.scss',
'<%= target %>/css/jsxc.webrtc.css': 'scss/jsxc.webrtc.scss'
}
}
},
watch: {
locales: {
files: ['locales/*'],
tasks: ['merge_data', 'replace:locales', 'concat:dep']
},
css: {
files: ['scss/*'],
tasks: ['sass', 'autoprefixer', 'replace:imageUrl']
},
js: {
files: ['src/jsxc.lib.*'],
tasks: ['concat:jsxc']
},
template: {
files: ['template/*.html'],
tasks: ['htmlConvert', 'replace:template', 'concat:jsxc']
}
},
jsbeautifier: {
'default': {
src: ['Gruntfile.js', 'src/jsxc.lib.*', 'template/*.html',
'example/*.html', 'example/js/dev.js', 'example/js/example.js',
'example/css/example.css'
],
options: {
config: '.jsbeautifyrc'
}
},
'pre-commit': {
src: ['Gruntfile.js', 'src/jsxc.lib.*', 'template/*.html',
'example/*.html', 'example/js/dev.js', 'example/js/example.js',
'example/css/example.css'
],
options: {
config: '.jsbeautifyrc',
mode: 'VERIFY_ONLY'
}
}
},
prettysass: {
options: {
alphabetize: false,
indent: 4
},
jsxc: {
src: ['scss/*.scss']
}
},
htmlConvert: {
options: {
target: 'js',
rename: function(name) {
return name.match(/([-_0-9a-z]+)\.html$/i)[1];
},
quoteChar: '\'',
indentString: '',
indentGlobal: ''
},
'jsxc.gui.template': {
src: 'template/*.html',
dest: 'tmp/template.js'
}
},
scsslint: {
files: ['scss/*.scss'],
options: {
config: '.scss-lint.yml'
}
}
});
// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-banner');
grunt.loadNpmTasks('grunt-text-replace');
grunt.loadNpmTasks('grunt-search');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-jsdoc');
grunt.loadNpmTasks('grunt-data-uri');
grunt.loadNpmTasks('grunt-merge-data');
grunt.loadNpmTasks('grunt-contrib-csslint');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-jsbeautifier');
grunt.loadNpmTasks('grunt-prettysass');
grunt.loadNpmTasks('grunt-html-convert');
grunt.loadNpmTasks('grunt-scss-lint');
//Default task
grunt.registerTask('default', ['build', 'watch']);
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', 'search:bower', 'build', 'usebanner',
'replace:version', 'replace:libraries', 'replace:todo',
'uglify', 'compress'
]);
});
grunt.registerTask('build:release', 'Build a new release', function() {
grunt.config.set('target', 'build');
grunt.task.run(['search:changelog', 'build:prerelease', 'jsdoc']);
});
// before commit
grunt.registerTask('pre-commit', ['search:console', 'jsbeautifier:pre-commit', 'scsslint', 'jshint']);
grunt.registerTask('beautify', ['jsbeautifier', 'prettysass']);
};
+6 -1
Ver Arquivo
@@ -1,4 +1,4 @@
# JavaScript XMPP Client
# JavaScript XMPP Client 4.0
[![Build Status](https://travis-ci.org/jsxc/jsxc.svg?branch=master)](https://travis-ci.org/jsxc/jsxc)
[![Dependency Status](https://dependencyci.com/github/jsxc/jsxc/badge)](https://dependencyci.com/github/jsxc/jsxc)
@@ -8,3 +8,8 @@ Real-time chat app. This app requires an external XMPP server (openfire, ejabber
You find a full list of features, supported protocols and browsers on [our homepage](http://www.jsxc.org).
If you are looking for install instructions or developer notes, please also checkout our [wiki](https://github.com/jsxc/jsxc/wiki/).
## Rewrite / Refactoring
:warning: This branch is under heavy construction and definitely not ready for production.
This next big step for JSXC uses [Typescript](http://www.typescriptlang.org/index.html), [Webpack](https://webpack.github.io), [Handlebars](http://handlebarsjs.com), [Karma](http://karma-runner.github.io), [Mocha](https://mochajs.org), [Chai](http://chaijs.com) and [Sinon](http://sinonjs.org) to bring the best open XMPP chat experience to you. Currently we ship no packed version, so install all dependencies with `npm install` and execute `npm run dev` to test the current state. An example application is available at `example/ts.html`. To run all tests, enter `npm test`.
-39
Ver Arquivo
@@ -1,39 +0,0 @@
{
"name": "jsxc",
"version": "3.1.0-beta.2",
"homepage": "https://www.jsxc.org",
"authors": [
"sualko <klaus@jsxc.org>"
],
"description": "Real-time chat app",
"keywords": [
"javascript",
"xmpp",
"webrtc",
"otr",
"chat",
"realtime"
],
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"lib/",
"test",
"tests"
],
"private": true,
"devDependencies": {
"emojione": "~2.2.7",
"favico.js": "^0.3.10",
"strophe.bookmarks": "strophe/strophejs-plugin-bookmarks#f51c60629cb0ad278f92bfb8d8dbb8cb455d9c98",
"strophe.js": "strophejs#a11ebefa3db1b6712d51d0d309b9f68f8e391d1b",
"strophe.vcard": "https://raw.githubusercontent.com/strophe/strophejs-plugins/2f07137ad2cbeaed41650ee46373c2f44e0f263a/vcard/strophe.vcard.js",
"strophe.x": "https://raw.githubusercontent.com/strophe/strophejs-plugins/master/dataforms/src/strophe.x.js",
"strophe.chatstates": "https://raw.githubusercontent.com/strophe/strophejs-plugins/master/chatstates/strophe.chatstates.js",
"jquery-i18next": "^1.2.0",
"i18next": "^5.0.0",
"magnific-popup": "^1.1.0"
}
}
+3 -3
Ver Arquivo
@@ -1,5 +1,5 @@
/*!
* jsxc v3.1.0-beta.2 - 2017-02-10
* jsxc v3.1.1 - 2017-02-14
*
* Copyright (c) 2017 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 3.1.0-beta.2
* @version 3.1.1
* @license MIT
*/
@@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null;
*/
jsxc = {
/** Version of jsxc */
version: '3.1.0-beta.2',
version: '3.1.1',
/** True if i'm the master */
master: false,
+3 -3
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
+847 -1035
Ver Arquivo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+11 -11
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
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+7
Ver Arquivo
@@ -0,0 +1,7 @@
declare module '*.hbs' {
// const content: any;
// export default content;
export default function template(options:any);
}
declare function require(file:string):(context?:any, options?:any)=>string;
-116
Ver Arquivo
@@ -1,116 +0,0 @@
[
{
"name": "strophe.js",
"file": "lib/strophe.js/strophe.js",
"license": "multiple",
"url": "http://strophe.im/strophejs/"
},
{
"name": "strophe.js/muc",
"file": "lib/strophe.muc.js",
"license": "MIT",
"url": "https://github.com/strophe/strophejs-plugins"
},
{
"name": "strophe.js/disco",
"file": "lib/strophe.disco.js",
"license": "MIT",
"url": "https://github.com/strophe/strophejs-plugins"
},
{
"name": "strophe.js/caps",
"file": "lib/strophe.caps.js",
"license": "MIT",
"url": "https://github.com/strophe/strophejs-plugins"
},
{
"name": "strophe.js/vcard",
"file": "lib/strophe.vcard/index.js",
"license": "MIT",
"url": "https://github.com/strophe/strophejs-plugins"
},
{
"name": "strophe.js/bookmarks",
"file": "lib/strophe.bookmarks/index.js",
"license": "MIT",
"url": "https://github.com/strophe/strophejs-plugins/tree/master/bookmarks"
},
{
"name": "strophe.js/x",
"file": "lib/strophe.x/index.js",
"license": "MIT",
"url": "https://github.com/strophe/strophejs-plugins/tree/master/dataforms"
},
{
"name": "strophe.js/chatstates",
"file": "lib/strophe.chatstates/index.js",
"license": "MIT",
"url": "https://github.com/strophe/strophejs-plugins/tree/master/chatstates"
},
{
"name": "strophe.jinglejs",
"file": "lib/strophe.jinglejs/strophe.jinglejs-bundle.js",
"license": "MIT",
"url": "https://github.com/sualko/strophe.jinglejs"
},
{
"name": "Salsa20",
"file": "lib/otr/build/dep/salsa20.js",
"license": "AGPL3",
"url": "https://github.com/neoatlantis/node-salsa20"
},
{
"name": "bigint",
"file": "lib/otr/build/dep/bigint.js",
"license": "public domain",
"url": "www.leemon.com"
},
{
"name": "cryptojs",
"file": "lib/otr/build/dep/crypto.js",
"license": "code.google.com/p/crypto-js/wiki/license",
"url": "code.google.com/p/crypto-js"
},
{
"name": "eventemitter",
"file": "lib/otr/build/dep/eventemitter.js",
"license": "MIT",
"url": "http://git.io/ee"
},
{
"name": "otr.js",
"file": "lib/otr/build/otr.js",
"license": "MPL v2.0",
"url": "https://arlolra.github.io/otr/"
},
{
"name": "i18next",
"file": "lib/i18next/i18next.min.js",
"license": "MIT",
"url": "http://i18next.com/"
},
{
"name": "jquery-i18next",
"file": "lib/jquery-i18next/jquery-i18next.min.js",
"license": "MIT",
"url": "http://i18next.com/"
},
{
"name": "Magnific Popup",
"file": "lib/magnific-popup/dist/jquery.magnific-popup.min.js",
"license": "MIT",
"url": "http://dimsemenov.com/plugins/magnific-popup/"
},
{
"name": "favico.js",
"file": "lib/favico.js/favico.js",
"license": "MIT",
"url": "https://github.com/ejci/favico.js"
},
{
"name": "emoji one",
"file": "lib/emojione/lib/js/emojione.js",
"license": "CC-BY 4.0",
"url": "http://emojione.com"
}
]
+3 -3
Ver Arquivo
@@ -160,7 +160,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line236">line 236</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line238">line 238</a>
</li></ul></dd>
@@ -452,13 +452,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -50,13 +50,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+24 -24
Ver Arquivo
@@ -240,7 +240,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line247">line 247</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line249">line 249</a>
</li></ul></dd>
@@ -313,7 +313,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line254">line 254</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line256">line 256</a>
</li></ul></dd>
@@ -386,7 +386,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line261">line 261</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line263">line 263</a>
</li></ul></dd>
@@ -853,7 +853,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line206">line 206</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line208">line 208</a>
</li></ul></dd>
@@ -984,7 +984,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line232">line 232</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line234">line 234</a>
</li></ul></dd>
@@ -1088,7 +1088,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line163">line 163</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line165">line 165</a>
</li></ul></dd>
@@ -1170,7 +1170,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line173">line 173</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line175">line 175</a>
</li></ul></dd>
@@ -1274,7 +1274,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line195">line 195</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line197">line 197</a>
</li></ul></dd>
@@ -1427,7 +1427,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line64">line 64</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line66">line 66</a>
</li></ul></dd>
@@ -1509,7 +1509,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line182">line 182</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line184">line 184</a>
</li></ul></dd>
@@ -1591,7 +1591,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line80">line 80</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line82">line 82</a>
</li></ul></dd>
@@ -2199,7 +2199,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line247">line 247</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line249">line 249</a>
</li></ul></dd>
@@ -2272,7 +2272,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line254">line 254</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line256">line 256</a>
</li></ul></dd>
@@ -2345,7 +2345,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line261">line 261</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line263">line 263</a>
</li></ul></dd>
@@ -2812,7 +2812,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line206">line 206</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line208">line 208</a>
</li></ul></dd>
@@ -2943,7 +2943,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line232">line 232</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line234">line 234</a>
</li></ul></dd>
@@ -3047,7 +3047,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line163">line 163</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line165">line 165</a>
</li></ul></dd>
@@ -3129,7 +3129,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line173">line 173</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line175">line 175</a>
</li></ul></dd>
@@ -3233,7 +3233,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line195">line 195</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line197">line 197</a>
</li></ul></dd>
@@ -3386,7 +3386,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line64">line 64</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line66">line 66</a>
</li></ul></dd>
@@ -3468,7 +3468,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line182">line 182</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line184">line 184</a>
</li></ul></dd>
@@ -3550,7 +3550,7 @@
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line80">line 80</a>
<a href="jsxc.lib.Message.js.html">jsxc.lib.Message.js</a>, <a href="jsxc.lib.Message.js.html#line82">line 82</a>
</li></ul></dd>
@@ -3614,13 +3614,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+6 -6
Ver Arquivo
@@ -73,7 +73,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#line1890">line 1890</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1937">line 1937</a>
</li></ul></dd>
@@ -222,7 +222,7 @@ otherwise only dialog with given name is closed.
<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#line1975">line 1975</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2022">line 2022</a>
</li></ul></dd>
@@ -457,7 +457,7 @@ otherwise only dialog with given name is closed.
<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#line1905">line 1905</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1952">line 1952</a>
</li></ul></dd>
@@ -610,7 +610,7 @@ otherwise only dialog with given name is closed.
<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#line1990">line 1990</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2037">line 2037</a>
</li></ul></dd>
@@ -652,13 +652,13 @@ otherwise only dialog with given name is closed.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+209 -32
Ver Arquivo
@@ -304,7 +304,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#line1277">line 1277</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1309">line 1309</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.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1193">line 1193</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1225">line 1225</a>
</li></ul></dd>
@@ -584,7 +584,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#line1330">line 1330</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1362">line 1362</a>
</li></ul></dd>
@@ -717,7 +717,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#line375">line 375</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line380">line 380</a>
</li></ul></dd>
@@ -821,7 +821,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#line99">line 99</a>
</li></ul></dd>
@@ -947,7 +947,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#line1299">line 1299</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1331">line 1331</a>
</li></ul></dd>
@@ -1073,7 +1073,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#line345">line 345</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line350">line 350</a>
</li></ul></dd>
@@ -1204,7 +1204,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#line1437">line 1437</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1469">line 1469</a>
</li></ul></dd>
@@ -1308,7 +1308,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#line817">line 817</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line829">line 829</a>
</li></ul></dd>
@@ -1439,7 +1439,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#line765">line 765</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line777">line 777</a>
</li></ul></dd>
@@ -1588,7 +1588,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#line615">line 615</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line626">line 626</a>
</li></ul></dd>
@@ -1670,7 +1670,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#line774">line 774</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line786">line 786</a>
</li></ul></dd>
@@ -1865,7 +1865,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#line798">line 798</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line810">line 810</a>
</li></ul></dd>
@@ -2026,7 +2026,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#line649">line 649</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line660">line 660</a>
</li></ul></dd>
@@ -2108,7 +2108,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#line830">line 830</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line842">line 842</a>
</li></ul></dd>
@@ -2239,7 +2239,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#line481">line 481</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line492">line 492</a>
</li></ul></dd>
@@ -2321,7 +2321,184 @@
<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#line428">line 428</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line433">line 433</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".showNotification"><span class="type-signature">(static) </span>showNotification<span class="signature">(subject, body, from)</span><span class="type-signature"></span></h4>
<div class="description">
Show notification dialog.
</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>subject</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>body</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>from</code></td>
<td class="type">
<span class="param-type">String</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.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1205">line 1205</a>
</li></ul></dd>
@@ -2452,7 +2629,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#line725">line 725</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line737">line 737</a>
</li></ul></dd>
@@ -2552,7 +2729,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#line1083">line 1083</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1095">line 1095</a>
</li></ul></dd>
@@ -2683,7 +2860,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#line862">line 862</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line874">line 874</a>
</li></ul></dd>
@@ -2814,7 +2991,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#line490">line 490</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line501">line 501</a>
</li></ul></dd>
@@ -2896,7 +3073,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#line1028">line 1028</a>
<a href="jsxc.lib.webrtc.js.html">jsxc.lib.webrtc.js</a>, <a href="jsxc.lib.webrtc.js.html#line1376">line 1376</a>
</li></ul></dd>
@@ -3027,7 +3204,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#line753">line 753</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line765">line 765</a>
</li></ul></dd>
@@ -3127,7 +3304,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#line386">line 386</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line391">line 391</a>
</li></ul></dd>
@@ -3258,7 +3435,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#line159">line 159</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line162">line 162</a>
</li></ul></dd>
@@ -3384,7 +3561,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#line1249">line 1249</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1281">line 1281</a>
</li></ul></dd>
@@ -3515,7 +3692,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#line175">line 175</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line178">line 178</a>
</li></ul></dd>
@@ -3692,7 +3869,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#line249">line 249</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line254">line 254</a>
</li></ul></dd>
@@ -3841,7 +4018,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#line1215">line 1215</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1247">line 1247</a>
</li></ul></dd>
@@ -3923,7 +4100,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#line329">line 329</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line334">line 334</a>
</li></ul></dd>
@@ -3965,13 +4142,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+8 -8
Ver Arquivo
@@ -73,7 +73,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#line51">line 51</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>
@@ -160,7 +160,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#line86">line 86</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line87">line 87</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.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line58">line 58</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line59">line 59</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#line67">line 67</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line68">line 68</a>
</li></ul></dd>
@@ -406,7 +406,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#line72">line 72</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line73">line 73</a>
</li></ul></dd>
@@ -488,7 +488,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#line81">line 81</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line82">line 82</a>
</li></ul></dd>
@@ -530,13 +530,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+16 -16
Ver Arquivo
@@ -73,7 +73,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#line1466">line 1466</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1513">line 1513</a>
</li></ul></dd>
@@ -148,7 +148,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#line1477">line 1477</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1524">line 1524</a>
</li></ul></dd>
@@ -210,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#line1474">line 1474</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1521">line 1521</a>
</li></ul></dd>
@@ -360,7 +360,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#line1800">line 1800</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1847">line 1847</a>
</li></ul></dd>
@@ -509,7 +509,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#line1592">line 1592</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1639">line 1639</a>
</li></ul></dd>
@@ -591,7 +591,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#line1876">line 1876</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1923">line 1923</a>
</li></ul></dd>
@@ -673,7 +673,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#line1485">line 1485</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1532">line 1532</a>
</li></ul></dd>
@@ -846,7 +846,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#line1680">line 1680</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1727">line 1727</a>
</li></ul></dd>
@@ -946,7 +946,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#line1861">line 1861</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1908">line 1908</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#line1736">line 1736</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1783">line 1783</a>
</li></ul></dd>
@@ -1208,7 +1208,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#line1727">line 1727</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1774">line 1774</a>
</li></ul></dd>
@@ -1361,7 +1361,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#line1757">line 1757</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1804">line 1804</a>
</li></ul></dd>
@@ -1510,7 +1510,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#line1717">line 1717</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1764">line 1764</a>
</li></ul></dd>
@@ -1659,7 +1659,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#line1828">line 1828</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line1875">line 1875</a>
</li></ul></dd>
@@ -1701,13 +1701,13 @@ alphabetical of the name
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+23 -23
Ver Arquivo
@@ -73,7 +73,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#line1995">line 1995</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2042">line 2042</a>
</li></ul></dd>
@@ -209,7 +209,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#line2318">line 2318</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2401">line 2401</a>
</li></ul></dd>
@@ -340,7 +340,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#line2442">line 2442</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2525">line 2525</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.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2585">line 2585</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2671">line 2671</a>
</li></ul></dd>
@@ -648,7 +648,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#line2363">line 2363</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2446">line 2446</a>
</li></ul></dd>
@@ -797,7 +797,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#line2790">line 2790</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2905">line 2905</a>
</li></ul></dd>
@@ -946,7 +946,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#line2293">line 2293</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2376">line 2376</a>
</li></ul></dd>
@@ -1077,7 +1077,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#line2268">line 2268</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2351">line 2351</a>
</li></ul></dd>
@@ -1242,7 +1242,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#line2417">line 2417</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2500">line 2500</a>
</li></ul></dd>
@@ -1373,7 +1373,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#line2456">line 2456</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2539">line 2539</a>
</li></ul></dd>
@@ -1504,7 +1504,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#line2008">line 2008</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2055">line 2055</a>
</li></ul></dd>
@@ -1658,7 +1658,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#line2279">line 2279</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2362">line 2362</a>
</li></ul></dd>
@@ -1811,7 +1811,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#line2484">line 2484</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2567">line 2567</a>
</li></ul></dd>
@@ -2293,7 +2293,7 @@ and save. Check border cases and remove html.
<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#line2492">line 2492</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2575">line 2575</a>
</li></ul></dd>
@@ -2471,7 +2471,7 @@ and save. Check border cases and remove html.
<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#line2816">line 2816</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2931">line 2931</a>
</li></ul></dd>
@@ -2679,7 +2679,7 @@ and save. Check border cases and remove html.
<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#line2199">line 2199</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2282">line 2282</a>
</li></ul></dd>
@@ -2810,7 +2810,7 @@ and save. Check border cases and remove html.
<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#line2754">line 2754</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2869">line 2869</a>
</li></ul></dd>
@@ -2959,7 +2959,7 @@ and save. Check border cases and remove html.
<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#line2471">line 2471</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2554">line 2554</a>
</li></ul></dd>
@@ -3113,7 +3113,7 @@ and save. Check border cases and remove html.
<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#line2744">line 2744</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2859">line 2859</a>
</li></ul></dd>
@@ -3262,7 +3262,7 @@ and save. Check border cases and remove html.
<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#line2350">line 2350</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2433">line 2433</a>
</li></ul></dd>
@@ -3393,7 +3393,7 @@ and save. Check border cases and remove html.
<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#line2328">line 2328</a>
<a href="jsxc.lib.gui.js.html">jsxc.lib.gui.js</a>, <a href="jsxc.lib.gui.js.html#line2411">line 2411</a>
</li></ul></dd>
@@ -3435,13 +3435,13 @@ and save. Check border cases and remove html.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+158 -31
Ver Arquivo
@@ -110,6 +110,9 @@
<h3 class="subsection-title">Namespaces</h3>
<dl>
<dt><a href="jsxc.fileTransfer.html">fileTransfer</a></dt>
<dd></dd>
<dt><a href="jsxc.gui.html">gui</a></dt>
<dd></dd>
@@ -242,6 +245,68 @@
<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#line68">line 68</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".currentState"><span class="type-signature">(static) </span>currentState<span class="type-signature"></span></h4>
<div class="description">
Current state
</div>
<dl class="details">
@@ -268,6 +333,68 @@
<h4 class="name" id=".currentUIState"><span class="type-signature">(static) </span>currentUIState<span class="type-signature"></span></h4>
<div class="description">
Current UI state
</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#line65">line 65</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".keepaliveInterval"><span class="type-signature">(static) </span>keepaliveInterval<span class="type-signature"></span></h4>
@@ -374,7 +501,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#line174">line 174</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line193">line 193</a>
</li></ul></dd>
@@ -1506,7 +1633,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#line584">line 584</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line617">line 617</a>
</li></ul></dd>
@@ -1683,7 +1810,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#line121">line 121</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line140">line 140</a>
</li></ul></dd>
@@ -1814,7 +1941,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#line675">line 675</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line708">line 708</a>
</li></ul></dd>
@@ -1986,7 +2113,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#line169">line 169</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line188">line 188</a>
</li></ul></dd>
@@ -2068,7 +2195,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#line778">line 778</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line815">line 815</a>
</li></ul></dd>
@@ -2222,7 +2349,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#line873">line 873</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line910">line 910</a>
</li></ul></dd>
@@ -2363,7 +2490,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#line91">line 91</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line110">line 110</a>
</li></ul></dd>
@@ -2455,7 +2582,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#line849">line 849</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line886">line 886</a>
</li></ul></dd>
@@ -2608,7 +2735,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#line893">line 893</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line930">line 930</a>
</li></ul></dd>
@@ -2771,7 +2898,7 @@ Afterwards it performs the following actions in the given order:
<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#line192">line 192</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line211">line 211</a>
</li></ul></dd>
@@ -2853,7 +2980,7 @@ Afterwards it performs the following actions in the given order:
<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#line821">line 821</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line858">line 858</a>
</li></ul></dd>
@@ -2957,7 +3084,7 @@ Afterwards it performs the following actions in the given order:
<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#line426">line 426</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line463">line 463</a>
</li></ul></dd>
@@ -3105,7 +3232,7 @@ Afterwards it performs the following actions in the given order:
<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#line700">line 700</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line733">line 733</a>
</li></ul></dd>
@@ -3246,7 +3373,7 @@ Afterwards it performs the following actions in the given order:
<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#line685">line 685</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line718">line 718</a>
</li></ul></dd>
@@ -3350,7 +3477,7 @@ Afterwards it performs the following actions in the given order:
<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#line635">line 635</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line668">line 668</a>
</li></ul></dd>
@@ -3433,7 +3560,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#line646">line 646</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line679">line 679</a>
</li></ul></dd>
@@ -3515,7 +3642,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#line562">line 562</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line595">line 595</a>
</li></ul></dd>
@@ -3597,7 +3724,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#line540">line 540</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line577">line 577</a>
</li></ul></dd>
@@ -3774,7 +3901,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#line438">line 438</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line475">line 475</a>
</li></ul></dd>
@@ -3905,7 +4032,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#line665">line 665</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line698">line 698</a>
</li></ul></dd>
@@ -4053,7 +4180,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#line790">line 790</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line827">line 827</a>
</li></ul></dd>
@@ -4145,7 +4272,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#line707">line 707</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line740">line 740</a>
</li></ul></dd>
@@ -4227,7 +4354,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#line729">line 729</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line762">line 762</a>
</li></ul></dd>
@@ -4404,7 +4531,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#line372">line 372</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line409">line 409</a>
</li></ul></dd>
@@ -4486,7 +4613,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#line628">line 628</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line661">line 661</a>
</li></ul></dd>
@@ -4568,7 +4695,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#line759">line 759</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line792">line 792</a>
</li></ul></dd>
@@ -4722,7 +4849,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#line801">line 801</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line838">line 838</a>
</li></ul></dd>
@@ -4898,7 +5025,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#line158">line 158</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line177">line 177</a>
</li></ul></dd>
@@ -4940,13 +5067,13 @@ normal signal
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+15 -9
Ver Arquivo
@@ -28,7 +28,7 @@
<article>
<pre class="prettyprint source linenums"><code>/**
* Load message object with given uid.
*
*
* @class Message
* @memberOf jsxc
* @param {string} uid Unified identifier from message object
@@ -62,7 +62,7 @@ jsxc.Message = function() {
this._received = false;
/** @member {boolean} */
this.encrypted = false;
this.encrypted = null;
/** @member {boolean} */
this.forwarded = false;
@@ -70,6 +70,8 @@ jsxc.Message = function() {
/** @member {integer} */
this.stamp = new Date().getTime();
this.type = jsxc.Message.PLAIN;
if (typeof arguments[0] === 'string' &amp;&amp; arguments[0].length > 0 &amp;&amp; arguments.length === 1) {
this._uid = arguments[0];
@@ -120,7 +122,7 @@ jsxc.Message.prototype.save = function() {
}
}
if (Image &amp;&amp; this.attachment &amp;&amp; this.attachment.type.match(/^image\//i) &amp;&amp; this.attachment.data) {
if (Image &amp;&amp; this.attachment &amp;&amp; this.attachment.type.match(/^image\//i) &amp;&amp; this.attachment.data &amp;&amp; !this.attachment.thumbnail) {
var sHeight, sWidth, sx, sy;
var dHeight = 100,
dWidth = 100;
@@ -185,7 +187,7 @@ jsxc.Message.prototype.save = function() {
/**
* Remove object from storage.
*
*
* @memberOf jsxc.Message
*/
jsxc.Message.prototype.delete = function() {
@@ -204,7 +206,7 @@ jsxc.Message.prototype.getDOM = function() {
/**
* Mark message as received.
*
*
* @memberOf jsxc.Message
*/
jsxc.Message.prototype.received = function() {
@@ -244,7 +246,7 @@ jsxc.Message.delete = function(uid) {
return el !== uid;
});
jsxc.storage.setUserItem('history', data.bid);
jsxc.storage.setUserItem('history', data.bid, history);
}
}
};
@@ -263,7 +265,7 @@ jsxc.Message.getDOM = function(uid) {
/**
* Message direction can be incoming, outgoing or system.
*
*
* @typedef {(jsxc.Message.IN|jsxc.Message.OUT|jsxc.Message.SYS)} direction
*/
@@ -287,6 +289,10 @@ jsxc.Message.OUT = 'out';
* @default
*/
jsxc.Message.SYS = 'sys';
jsxc.Message.HTML = 'html';
jsxc.Message.PLAIN = 'plain';
</code></pre>
</article>
</section>
@@ -297,13 +303,13 @@ jsxc.Message.SYS = 'sys';
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
@@ -1,4 +1,32 @@
/**
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: jsxc.lib.fileTransfer.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.fileTransfer.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* @namespace jsxc.fileTransfer
* @type {Object}
*/
@@ -15,8 +43,8 @@ jsxc.fileTransfer.formatByte = function(byte) {
var s = ['', 'KB', 'MB', 'GB', 'TB'];
var i;
for (i = 1; i < s.length; i++) {
if (byte < 1024) {
for (i = 1; i &lt; s.length; i++) {
if (byte &lt; 1024) {
break;
}
byte /= 1024;
@@ -35,7 +63,7 @@ jsxc.fileTransfer.startGuiAction = function(jid) {
var bid = jsxc.jidToBid(jid);
var res = Strophe.getResourceFromJid(jid);
if (!res && !jsxc.xmpp.httpUpload.ready) {
if (!res &amp;&amp; !jsxc.xmpp.httpUpload.ready) {
jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction);
return;
@@ -60,7 +88,7 @@ jsxc.fileTransfer.selectResource = function(bid, success_cb, error_cb) {
var fileCapableRes = jsxc.webrtc.getCapableRes(jid, jsxc.webrtc.reqFileFeatures);
var resources = Object.keys(jsxc.storage.getUserItem('res', bid)) || [];
if (res === null && resources.length === 1 && fileCapableRes.length === 1) {
if (res === null &amp;&amp; resources.length === 1 &amp;&amp; fileCapableRes.length === 1) {
// only one resource is available and this resource is also capable to receive files
res = fileCapableRes[0];
jid = bid + '/' + res;
@@ -69,7 +97,7 @@ jsxc.fileTransfer.selectResource = function(bid, success_cb, error_cb) {
} else if (fileCapableRes.indexOf(res) >= 0) {
// currently used resource is capable to receive files
success_cb(bid + '/' + res);
} else if (fileCapableRes.indexOf(res) < 0) {
} else if (fileCapableRes.indexOf(res) &lt; 0) {
// show selection dialog
jsxc.gui.window.selectResource(bid, $.t('Your_contact_uses_multiple_clients_'), function(data) {
if (data.status === 'unavailable') {
@@ -93,7 +121,7 @@ jsxc.fileTransfer.selectResource = function(bid, success_cb, error_cb) {
*/
jsxc.fileTransfer.showFileSelection = function(jid) {
var bid = jsxc.jidToBid(jid);
var msg = $('<div><div><label><input type="file" name="files" /><label></div></div>');
var msg = $('&lt;div>&lt;div>&lt;label>&lt;input type="file" name="files" />&lt;label>&lt;/div>&lt;/div>');
msg.addClass('jsxc_chatmessage');
jsxc.gui.window.showOverlay(bid, msg, true);
@@ -123,7 +151,7 @@ jsxc.fileTransfer.showFileSelection = function(jid) {
jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
var bid = jsxc.jidToBid(jid);
if (file.transportMethod !== 'webrtc' && jsxc.xmpp.httpUpload.ready && file.size > jsxc.options.get('httpUpload').maxSize) {
if (file.transportMethod !== 'webrtc' &amp;&amp; jsxc.xmpp.httpUpload.ready &amp;&amp; file.size > jsxc.options.get('httpUpload').maxSize) {
jsxc.debug('File too large for http upload.');
file.transportMethod = 'webrtc';
@@ -144,21 +172,21 @@ jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
});
return;
} else if (!jsxc.xmpp.httpUpload.ready && Strophe.getResourceFromJid(jid)) {
} else if (!jsxc.xmpp.httpUpload.ready &amp;&amp; Strophe.getResourceFromJid(jid)) {
// http upload not available
file.transportMethod = 'webrtc';
}
var attachment = $('<div>');
var attachment = $('&lt;div>');
attachment.addClass('jsxc_attachment');
attachment.addClass('jsxc_' + file.type.replace(/\//, '-'));
attachment.addClass('jsxc_' + file.type.replace(/^([^/]+)\/.*/, '$1'));
msg.empty().append(attachment);
if (FileReader && file.type.match(/^image\//)) {
if (FileReader &amp;&amp; file.type.match(/^image\//)) {
// show image preview
var img = $('<img alt="preview">').attr('title', file.name);
var img = $('&lt;img alt="preview">').attr('title', file.name);
img.attr('src', jsxc.options.get('root') + '/img/loading.gif');
img.appendTo(attachment);
@@ -173,7 +201,7 @@ jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
attachment.text(file.name + ' (' + file.size + ' byte)');
}
$('<button>').addClass('jsxc_btn jsxc_btn-primary').text($.t('Send')).click(function() {
$('&lt;button>').addClass('jsxc_btn jsxc_btn-primary').text($.t('Send')).click(function() {
// user confirmed file transfer
jsxc.gui.window.hideOverlay(bid);
msg.remove();
@@ -205,7 +233,7 @@ jsxc.fileTransfer.fileSelected = function(jid, msg, file) {
}
}).appendTo(msg);
$('<button>').addClass('jsxc_btn jsxc_btn-default').text($.t('Abort')).click(function() {
$('&lt;button>').addClass('jsxc_btn jsxc_btn-default').text($.t('Abort')).click(function() {
// user aborted file transfer
jsxc.gui.window.hideOverlay(bid);
}).appendTo(msg);
@@ -237,7 +265,7 @@ jsxc.fileTransfer.updateIcons = function(bid) {
var fileCapableRes = jsxc.webrtc.getCapableRes(bid, jsxc.webrtc.reqFileFeatures);
var resources = Object.keys(jsxc.storage.getUserItem('res', bid) || {}) || [];
if (fileCapableRes.indexOf(res) > -1 || (res === null && fileCapableRes.length === 1 && resources.length === 1)) {
if (fileCapableRes.indexOf(res) > -1 || (res === null &amp;&amp; fileCapableRes.length === 1 &amp;&amp; resources.length === 1)) {
win.find('.jsxc_sendFile').removeClass('jsxc_disabled');
} else {
win.find('.jsxc_sendFile').addClass('jsxc_disabled');
@@ -247,3 +275,26 @@ jsxc.fileTransfer.updateIcons = function(bid) {
$(document).on('update.gui.jsxc', function(ev, bid) {
jsxc.fileTransfer.updateIcons(bid);
});
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+140 -115
Ver Arquivo
@@ -71,7 +71,8 @@ jsxc.gui = {
':jabber:': ['jabber'],
':xmpp:': ['xmpp'],
':jsxc:': ['jsxc'],
':owncloud:': ['owncloud']
':owncloud:': ['owncloud'],
':nextcloud:': ['nextcloud']
},
'emojione': emojione.emojioneList
},
@@ -129,6 +130,8 @@ jsxc.gui = {
return;
}
jsxc.changeUIState(jsxc.CONST.UISTATE.INITIATING);
jsxc.gui.regShortNames = new RegExp(emojione.regShortNames.source + '|(' + Object.keys(jsxc.gui.emoticonList.core).join('|') + ')', 'gi');
$('body').append($(jsxc.gui.template.get('windowList')));
@@ -264,6 +267,8 @@ jsxc.gui = {
ri.find('.jsxc_name').attr('title', info);
jsxc.gui.updateAvatar(ri.add(we.find('.jsxc_bar')), data.jid, data.avatar);
$(document).trigger('update.gui.jsxc', [bid]);
},
/**
@@ -454,9 +459,15 @@ jsxc.gui = {
* Creates and show loginbox
*/
showLoginBox: function() {
// Set focus to password field
$(document).on("complete.dialog.jsxc", function() {
$('#jsxc_password').focus();
// Set focus to username or password field
$(document).one("complete.dialog.jsxc", function() {
setTimeout(function() {
if ($("#jsxc_username").val().length === 0) {
$("#jsxc_username").focus();
} else {
$('#jsxc_password').focus();
}
}, 50);
});
jsxc.gui.dialog.open(jsxc.gui.template.get('loginBox'));
@@ -690,6 +701,7 @@ jsxc.gui = {
if (val !== '') {
jsxc.options.getUsers.call(this, val, function(list) {
$('#jsxc_userlist').empty();
$.each(list || {}, function(uid, displayname) {
var option = $('&lt;option>');
option.attr('data-username', uid);
@@ -1211,6 +1223,26 @@ jsxc.gui = {
}
},
/**
* Show notification dialog.
*
* @param {String} subject
* @param {String} body
* @param {String} from
*/
showNotification: function(subject, body, from) {
var dialog = jsxc.gui.dialog.open(jsxc.gui.template.get('notification'));
dialog.find('h3').text(subject);
dialog.find('.jsxc_msg').text(body);
if (from) {
dialog.find('.jsxc_meta').text($.t('from') + ' ' + from);
} else {
dialog.find('.jsxc_meta').hide();
}
},
/**
* Change own presence to pres.
*
@@ -1474,7 +1506,7 @@ jsxc.gui = {
filename = jsxc.gui.emoticonList.core[shortname][jsxc.gui.emoticonList.core[shortname].length - 1].replace(/^:([^:]+):$/, '$1');
src = jsxc.options.root + '/img/emotions/' + filename + '.svg';
} else if (jsxc.gui.emoticonList.emojione[shortname]) {
filename = jsxc.gui.emoticonList.emojione[shortname][jsxc.gui.emoticonList.emojione[shortname].length - 1];
filename = jsxc.gui.emoticonList.emojione[shortname].fname;
src = jsxc.options.root + '/lib/emojione/assets/svg/' + filename + '.svg';
}
@@ -1487,7 +1519,22 @@ jsxc.gui = {
return div.prop('outerHTML');
});
var obj = $('&lt;div>' + str + '&lt;/div>');
if (obj.find('.jsxc_emoticon').length === 1 &amp;&amp; obj.text().replace(/ /, '').length === 0 &amp;&amp; obj.find('*').length === 1) {
obj.find('.jsxc_emoticon').addClass('jsxc_large');
str = obj.prop('outerHTML');
}
return str;
},
restore: function() {
jsxc.restoreRoster();
jsxc.restoreWindows();
jsxc.restoreCompleted = true;
$(document).trigger('restoreCompleted.jsxc');
jsxc.changeUIState(jsxc.CONST.UISTATE.READY);
}
};
@@ -2064,6 +2111,9 @@ jsxc.gui.window = {
};
win.find('.jsxc_more').click(expandClick);
win.find('.jsxc_menu').click(function() {
$('body').click();
});
win.find('.jsxc_verification').click(function() {
jsxc.gui.showVerification(bid);
@@ -2099,11 +2149,19 @@ jsxc.gui.window = {
return false;
});
var textinputBlurTimeout;
win.find('.jsxc_textinput').keyup(function(ev) {
var body = $(this).val();
if (ev.which === 13) {
// I'm composing a message
if (ev.which !== 13) {
jsxc.xmpp.chatState.startComposing(bid);
}
if (ev.which === 13 &amp;&amp; !ev.shiftKey) {
body = '';
jsxc.xmpp.chatState.endComposing(bid);
}
jsxc.storage.updateUserItem('window', bid, 'text', body);
@@ -2112,7 +2170,8 @@ jsxc.gui.window = {
jsxc.gui.window.close(bid);
}
}).keypress(function(ev) {
if (ev.which !== 13 || !$(this).val()) {
if (ev.which !== 13 || ev.shiftKey || !$(this).val()) {
resizeTextarea.call(this);
return;
}
@@ -2122,16 +2181,40 @@ jsxc.gui.window = {
msg: $(this).val()
});
$(this).val('');
$(this).css('height', '').val('');
ev.preventDefault();
}).focus(function() {
if (textinputBlurTimeout) {
clearTimeout(textinputBlurTimeout);
}
// remove unread flag
jsxc.gui.readMsg(bid);
resizeTextarea.call(this);
}).blur(function() {
var self = $(this);
textinputBlurTimeout = setTimeout(function() {
self.css('height', '');
}, 1200);
}).mouseenter(function() {
$('#jsxc_windowList').data('isOver', true);
}).mouseleave(function() {
$('#jsxc_windowList').data('isOver', false);
});
function resizeTextarea() {
if (!$(this).data('originalHeight')) {
$(this).data('originalHeight', $(this).outerHeight());
}
// compensate rounding error
if ($(this).outerHeight() &lt; (this.scrollHeight - 1) &amp;&amp; $(this).val()) {
$(this).height($(this).data('originalHeight') * 1.5);
}
}
win.find('.jsxc_textarea').click(function() {
// check if user clicks element or selects text
if (typeof getSelection === 'function' &amp;&amp; !getSelection().toString()) {
@@ -2191,8 +2274,8 @@ jsxc.gui.window = {
li.append(jsxc.gui.shortnameToImage(':' + val[1] + ':'));
li.find('div').attr('title', ins);
li.click(function() {
win.find('input').val(win.find('input').val() + ins);
win.find('input').focus();
win.find('.jsxc_textinput').val(win.find('.jsxc_textinput').val() + ins);
win.find('.jsxc_textinput').focus();
});
win.find('.jsxc_emoticons ul').prepend(li);
});
@@ -2545,7 +2628,10 @@ jsxc.gui.window = {
}
var data = jsxc.storage.getUserItem('buddy', message.bid);
var html_msg = message.msg;
if (!message.htmlMsg &amp;&amp; message.msg) {
message.htmlMsg = message.msg;
}
// remove html tags and reencode html tags
message.msg = jsxc.removeHTML(message.msg);
@@ -2563,7 +2649,7 @@ jsxc.gui.window = {
message.msg = $.t('unencrypted_message_received') + ' ' + message.msg;
}
message.encrypted = message.encrypted || data.msgstate === OTR.CONST.MSGSTATE_ENCRYPTED;
message.encrypted = (typeof message.encrypted === 'boolean') ? message.encrypted : data.msgstate === OTR.CONST.MSGSTATE_ENCRYPTED;
try {
message.save();
@@ -2579,11 +2665,11 @@ jsxc.gui.window = {
if (message.direction === 'in' &amp;&amp; !jsxc.gui.window.get(message.bid).find('.jsxc_textinput').is(":focus")) {
jsxc.gui.unreadMsg(message.bid);
$(document).trigger('postmessagein.jsxc', [message.bid, html_msg]);
$(document).trigger('postmessagein.jsxc', [message.bid, message.htmlMsg]);
}
if (message.direction === jsxc.Message.OUT &amp;&amp; jsxc.master &amp;&amp; message.forwarded !== true &amp;&amp; html_msg) {
jsxc.xmpp.sendMessage(message.bid, html_msg, message._uid);
if (message.direction === jsxc.Message.OUT &amp;&amp; jsxc.master &amp;&amp; message.forwarded !== true &amp;&amp; message.htmlMsg) {
jsxc.xmpp.sendMessage(message);
}
jsxc.gui.window._postMessage(message);
@@ -2654,6 +2740,17 @@ jsxc.gui.window = {
// replace line breaks
msg = msg.replace(/(\r\n|\r|\n)/g, '&lt;br />');
// replace /me command (XEP-0245)
var bidData = jsxc.storage.getUserItem('buddy', bid) || {};
if (direction === 'in') {
msg = msg.replace(/^\/me /, '&lt;i title="/me">' + jsxc.removeHTML(bidData.name || bid) + '&lt;/i> ');
}
// hide unprocessed otr messages
if (msg.match(/^\?OTR([:,|?]|[?v0-9x]+)/)) {
msg = '&lt;i title="' + msg + '">' + $.t('Unreadable_OTR_message') + '&lt;/i>';
}
var msgDiv = $("&lt;div>"),
msgTsDiv = $("&lt;div>");
msgDiv.addClass('jsxc_chatmessage jsxc_' + direction);
@@ -2664,16 +2761,30 @@ jsxc.gui.window = {
if (message.isReceived() || false) {
msgDiv.addClass('jsxc_received');
} else {
msgDiv.removeClass('jsxc_received');
}
if (message.forwarded) {
msgDiv.addClass('jsxc_forwarded');
} else {
msgDiv.removeClass('jsxc_forwarded');
}
if (message.encrypted) {
msgDiv.addClass('jsxc_encrypted');
} else {
msgDiv.removeClass('jsxc_encrypted');
}
if (message.error) {
msgDiv.addClass('jsxc_error');
} else {
msgDiv.removeClass('jsxc_error');
}
msgDiv.attr('title', message.error);
if (message.attachment &amp;&amp; message.attachment.name) {
var attachment = $('&lt;div>');
attachment.addClass('jsxc_attachment');
@@ -2698,6 +2809,10 @@ jsxc.gui.window = {
attachment = $('&lt;a>').append(attachment);
attachment.attr('href', message.attachment.data);
attachment.attr('download', message.attachment.name);
if (message.attachment.data === message.msg) {
msgDiv.find('div').first().empty();
}
}
msgDiv.find('div').first().append(attachment);
@@ -2862,8 +2977,6 @@ jsxc.gui.window = {
if (sent === size) {
span.remove();
message.received();
}
},
@@ -2964,99 +3077,7 @@ jsxc.gui.window = {
},
sendFile: function(jid) {
var bid = jsxc.jidToBid(jid);
var win = jsxc.gui.window.get(bid);
var res = Strophe.getResourceFromJid(jid);
if (!res) {
jid = win.data('jid');
res = Strophe.getResourceFromJid(jid);
var fileCapableRes = jsxc.webrtc.getCapableRes(jid, jsxc.webrtc.reqFileFeatures);
var resources = Object.keys(jsxc.storage.getUserItem('res', bid)) || [];
if (res === null &amp;&amp; resources.length === 1 &amp;&amp; fileCapableRes.length === 1) {
res = fileCapableRes[0];
jid = bid + '/' + res;
} else if (fileCapableRes.indexOf(res) &lt; 0) {
jsxc.gui.window.selectResource(bid, $.t('Your_contact_uses_multiple_clients_'), function(data) {
if (data.status === 'unavailable') {
jsxc.gui.window.hideOverlay(bid);
} else if (data.status === 'selected') {
jsxc.gui.window.sendFile(bid + '/' + data.result);
}
}, fileCapableRes);
return;
}
}
var msg = $('&lt;div>&lt;div>&lt;label>&lt;input type="file" name="files" />&lt;label>&lt;/div>&lt;/div>');
msg.addClass('jsxc_chatmessage');
jsxc.gui.window.showOverlay(bid, msg, true);
msg.find('label').click();
msg.find('[type="file"]').change(function(ev) {
var file = ev.target.files[0]; // FileList object
if (!file) {
return;
}
var attachment = $('&lt;div>');
attachment.addClass('jsxc_attachment');
attachment.addClass('jsxc_' + file.type.replace(/\//, '-'));
attachment.addClass('jsxc_' + file.type.replace(/^([^/]+)\/.*/, '$1'));
msg.empty().append(attachment);
if (FileReader &amp;&amp; file.type.match(/^image\//)) {
var img = $('&lt;img alt="preview">').attr('title', file.name);
img.attr('src', jsxc.options.get('root') + '/img/loading.gif');
img.appendTo(attachment);
var reader = new FileReader();
reader.onload = function() {
img.attr('src', reader.result);
};
reader.readAsDataURL(file);
} else {
attachment.text(file.name + ' (' + file.size + ' byte)');
}
$('&lt;button>').addClass('jsxc_btn jsxc_btn-primary').text($.t('Send')).click(function() {
var sess = jsxc.webrtc.sendFile(jid, file);
jsxc.gui.window.hideOverlay(bid);
var message = jsxc.gui.window.postMessage({
_uid: sess.sid + ':msg',
bid: bid,
direction: 'out',
attachment: {
name: file.name,
size: file.size,
type: file.type,
data: (file.type.match(/^image\//)) ? img.attr('src') : null
}
});
sess.sender.on('progress', function(sent, size) {
jsxc.gui.window.updateProgress(message, sent, size);
});
msg.remove();
}).appendTo(msg);
$('&lt;button>').addClass('jsxc_btn jsxc_btn-default').text($.t('Abort')).click(function() {
jsxc.gui.window.hideOverlay(bid);
}).appendTo(msg);
});
jsxc.fileTransfer.startGuiAction(jid);
}
};
@@ -3090,7 +3111,7 @@ jsxc.gui.template.get = function(name, bid, msg) {
$.extend(ph, {
bid_priv_fingerprint: (data &amp;&amp; data.fingerprint) ? data.fingerprint.replace(/(.{8})/g, '$1 ') : $.t('not_available'),
bid_jid: bid,
bid_name: (data &amp;&amp; data.name) ? data.name : bid
bid_name: (data &amp;&amp; data.name) ? jsxc.escapeHTML(data.name) : bid
});
}
@@ -3107,7 +3128,8 @@ jsxc.gui.template.get = function(name, bid, msg) {
// prevent 404
ret = ret.replace(/\{\{root\}\}/g, ph.root);
ret = $(ret);
// encapsulate template to find all desired elements in the next step
ret = $('&lt;div>' + ret + '&lt;/div>');
ret.find('[data-var]').each(function() {
var key = $(this).attr('data-var');
@@ -3120,7 +3142,10 @@ jsxc.gui.template.get = function(name, bid, msg) {
}
});
ret.i18n();
// remove encapsulation
ret = ret.find('>*');
ret.localize(ph);
return ret;
}
@@ -3138,13 +3163,13 @@ jsxc.gui.template.get = function(name, bid, msg) {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+72 -19
Ver Arquivo
@@ -86,6 +86,12 @@ jsxc = {
/** My bar id */
bid: null,
/** Current state */
currentState: null,
/** Current UI state */
currentUIState: null,
/** Some constants */
CONST: {
NOTIFICATION_DEFAULT: 'default',
@@ -106,7 +112,20 @@ jsxc = {
FORWARD: 'urn:xmpp:forward:0'
},
HIDDEN: 'hidden',
SHOWN: 'shown'
SHOWN: 'shown',
STATE: {
INITIATING: 0,
PREVCONFOUND: 1,
SUSPEND: 2,
TRYTOINTERCEPT: 3,
INTERCEPTED: 4,
ESTABLISHING: 5,
READY: 6
},
UISTATE: {
INITIATING: 0,
READY: 1
}
},
/**
@@ -218,6 +237,7 @@ jsxc = {
* @param {object} options See {@link jsxc.options}
*/
init: function(options) {
jsxc.changeState(jsxc.CONST.STATE.INITIATING);
if (options &amp;&amp; options.loginForm &amp;&amp; typeof options.loginForm.attachIfFound === 'boolean' &amp;&amp; !options.loginForm.ifFound) {
// translate deprated option attachIfFound found to new ifFound
@@ -278,15 +298,22 @@ jsxc = {
lang = jsxc.options.defaultLang;
}
// initialize i18n translator
$.i18n.init({
// initialize i18next translator
window.i18next.init({
lng: lang,
fallbackLng: 'en',
resStore: I18next,
// use localStorage and set expiration to a day
useLocalStorage: true,
localStorageExpirationTime: 60 * 60 * 24 * 1000,
debug: jsxc.storage.getItem('debug') === true
resources: I18next,
debug: jsxc.storage.getItem('debug') === true,
interpolation: {
prefix: '__',
suffix: '__'
}
}, function() {
window.jqueryI18next.init(window.i18next, $, {
tName: 't',
i18nName: 'i18next',
handleName: 'localize',
});
});
if (jsxc.storage.getItem('debug') === true) {
@@ -311,6 +338,7 @@ jsxc = {
// Looking for a login form
if (!jsxc.isLoginForm()) {
jsxc.changeState(jsxc.CONST.STATE.SUSPEND);
if (jsxc.options.displayRosterMinimized()) {
// Show minimized roster
@@ -322,6 +350,8 @@ jsxc = {
return;
}
jsxc.changeState(jsxc.CONST.STATE.TRYTOINTERCEPT);
if (typeof jsxc.options.formFound === 'function') {
jsxc.options.formFound.call();
}
@@ -343,7 +373,9 @@ jsxc = {
form.off('submit');
// Add jsxc login action to form
form.submit(function() {
form.submit(function(ev) {
ev.preventDefault();
jsxc.prepareLogin(function(settings) {
if (settings !== false) {
// settings.xmpp.onlogin is deprecated since v2.1.0
@@ -354,19 +386,24 @@ jsxc = {
jsxc.options.loginForm.triggered = true;
jsxc.xmpp.login(jsxc.options.xmpp.jid, jsxc.options.xmpp.password);
return;
}
} else {
jsxc.submitLoginForm();
}
jsxc.submitLoginForm();
});
// Trigger submit in jsxc.xmpp.connected()
return false;
});
jsxc.changeState(jsxc.CONST.STATE.INTERCEPTED);
} else if (!jsxc.isLoginForm() || (jsxc.options.loginForm &amp;&amp; jsxc.options.loginForm.ifFound === 'attach')) {
// Restore old connection
jsxc.changeState(jsxc.CONST.STATE.PREVCONFOUND);
if (typeof jsxc.storage.getItem('alive') === 'undefined') {
jsxc.onMaster();
@@ -574,14 +611,10 @@ jsxc = {
jsxc.gui.init();
$('#jsxc_roster').removeClass('jsxc_noConnection');
jsxc.restoreRoster();
jsxc.restoreWindows();
jsxc.restoreCompleted = true;
jsxc.registerLogout();
jsxc.gui.updateAvatar($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own');
$(document).trigger('restoreCompleted.jsxc');
jsxc.gui.restore();
},
/**
@@ -795,8 +828,12 @@ jsxc = {
if (form.find('#submit').length > 0) {
form.find('#submit').click();
} else {
} else if (form.get(0) &amp;&amp; typeof form.get(0).submit === 'function') {
form.submit();
} else if (form.find('[type="submit"]').length > 0) {
form.find('[type="submit"]').click();
} else {
jsxc.warn('Could not submit login form.');
}
},
@@ -936,6 +973,22 @@ jsxc = {
isExtraSmallDevice: function() {
return $(window).width() &lt; 500;
},
changeState: function(state) {
jsxc.currentState = state;
jsxc.debug('State changed to ' + Object.keys(jsxc.CONST.STATE)[state]);
$(document).trigger('stateChange.jsxc', state);
},
changeUIState: function(state) {
jsxc.currentUIState = state;
jsxc.debug('UI State changed to ' + Object.keys(jsxc.CONST.UISTATE)[state]);
$(document).trigger('stateUIChange.jsxc', state);
}
};
</code></pre>
@@ -948,13 +1001,13 @@ jsxc = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+107 -49
Ver Arquivo
@@ -117,6 +117,10 @@ jsxc.muc = {
$(document).one('ready.roster.jsxc', jsxc.muc.initMenu);
}
// remove maybe previously attached handlers
$(document).off('presence.jsxc', jsxc.muc.onPresence);
$(document).off('error.presence.jsxc', jsxc.muc.onPresenceError);
$(document).on('presence.jsxc', jsxc.muc.onPresence);
$(document).on('error.presence.jsxc', jsxc.muc.onPresenceError);
@@ -135,7 +139,9 @@ jsxc.muc = {
li.click(jsxc.muc.showJoinChat);
$('#jsxc_menu ul .jsxc_about').before(li);
if ($('#jsxc_menu .jsxc_joinChat').length === 0) {
$('#jsxc_menu ul .jsxc_about').before(li);
}
},
/**
@@ -149,6 +155,8 @@ jsxc.muc = {
var self = jsxc.muc;
var dialog = jsxc.gui.dialog.open(jsxc.gui.template.get('joinChat'));
// @TODO split this monster function apart
// hide second step button
dialog.find('.jsxc_join').hide();
@@ -163,7 +171,27 @@ jsxc.muc = {
}
// display conference server
var serverInputTimeout;
dialog.find('#jsxc_server').val(jsxc.options.get('muc').server);
dialog.find('#jsxc_server').on('input', function() {
var self = $(this);
if (serverInputTimeout) {
clearTimeout(serverInputTimeout);
dialog.find('.jsxc_inputinfo.jsxc_room').hide();
}
dialog.find('.jsxc_inputinfo.jsxc_server').hide().text('');
dialog.find('#jsxc_server').removeClass('jsxc_invalid');
if (self.val() &amp;&amp; self.val().match(/^[.-0-9a-zA-Z]+$/i)) {
dialog.find('.jsxc_inputinfo.jsxc_room').show().addClass('jsxc_waiting');
serverInputTimeout = setTimeout(function() {
loadRoomList(self.val());
}, 1800);
}
}).trigger('input');
// handle error response
var error_handler = function(event, condition, room) {
@@ -211,7 +239,7 @@ jsxc.muc = {
delete self.conn.muc.rooms[room];
}
dialog.find('.jsxc_warning').text(msg);
$('&lt;p>').addClass('jsxc_warning').text(msg).appendTo(dialog.find('.jsxc_msg'));
};
$(document).on('error.muc.jsxc', error_handler);
@@ -220,42 +248,6 @@ jsxc.muc = {
$(document).off('error.muc.jsxc', error_handler);
});
// load room list
self.conn.muc.listRooms(jsxc.options.get('muc').server, function(stanza) {
// workaround: chrome does not display dropdown arrow for dynamically filled datalists
$('#jsxc_roomlist option:last').remove();
$(stanza).find('item').each(function() {
var r = $('&lt;option>');
var rjid = $(this).attr('jid').toLowerCase();
var rnode = Strophe.getNodeFromJid(rjid);
var rname = $(this).attr('name') || rnode;
r.text(rname);
r.attr('data-jid', rjid);
r.attr('value', rnode);
$('#jsxc_roomlist select').append(r);
});
var set = $(stanza).find('set[xmlns="http://jabber.org/protocol/rsm"]');
if (set.length > 0) {
var count = set.find('count').text() || '?';
dialog.find('.jsxc_inputinfo').removeClass('jsxc_waiting').text($.t('Could_load_only', {
count: count
}));
} else {
dialog.find('.jsxc_inputinfo').hide();
}
}, function() {
jsxc.warn('Could not load rooms');
// room autocompletion is a comfort feature, so it is not necessary to inform the user
dialog.find('.jsxc_inputinfo').hide();
});
dialog.find('#jsxc_nickname').attr('placeholder', Strophe.getNodeFromJid(self.conn.jid));
dialog.find('#jsxc_bookmark').change(function() {
@@ -273,7 +265,7 @@ jsxc.muc = {
var room = ($('#jsxc_room').val()) ? jsxc.jidToBid($('#jsxc_room').val()) : null;
var nickname = $('#jsxc_nickname').val() || Strophe.getNodeFromJid(self.conn.jid);
var password = $('#jsxc_password').val() || null;
var server = dialog.find('#jsxc_server').val();
if (!room || !room.match(/^[^"&amp;\'\/:&lt;>@\s]+$/i)) {
$('#jsxc_room').addClass('jsxc_invalid').keyup(function() {
@@ -284,8 +276,12 @@ jsxc.muc = {
return false;
}
if (dialog.find('#jsxc_server').hasClass('jsxc_invalid')) {
return false;
}
if (!room.match(/@(.*)$/)) {
room += '@' + jsxc.options.get('muc').server;
room += '@' + server;
}
if (jsxc.xmpp.conn.muc.roomNames.indexOf(room) &lt; 0) {
@@ -307,6 +303,7 @@ jsxc.muc = {
var bookmark = $("#jsxc_bookmark").prop("checked");
var autojoin = $('#jsxc_autojoin').prop('checked');
var password = $('#jsxc_password').val() || null;
// clean up
jsxc.gui.window.clear(room);
@@ -329,12 +326,18 @@ jsxc.muc = {
$(stanza).find('feature').each(function() {
var feature = $(this).attr('var');
if (feature !== '' &amp;&amp; i18n.exists(feature)) {
if (feature !== '' &amp;&amp; i18next.exists(feature)) {
var tr = $('&lt;tr>');
$('&lt;td>').text($.t(feature + '.keyword')).appendTo(tr);
$('&lt;td>').text($.t(feature + '.description')).appendTo(tr);
tr.appendTo(table);
}
if (feature === 'muc_passwordprotected') {
dialog.find('#jsxc_password').parents('.form-group').removeClass('jsxc_hidden');
dialog.find('#jsxc_password').attr('required', 'required');
dialog.find('#jsxc_password').addClass('jsxc_invalid');
}
});
dialog.find('.jsxc_msg').append(table);
@@ -352,7 +355,7 @@ jsxc.muc = {
discoReceived();
});
} else {
dialog.find('.jsxc_warning').text($.t('You_already_joined_this_room'));
$('&lt;p>').addClass('jsxc_warning').text($.t('You_already_joined_this_room')).appendTo(dialog.find('.jsxc_msg'));
}
return false;
@@ -363,12 +366,15 @@ jsxc.muc = {
if (ev.which !== 13) {
// reset messages and room information
dialog.find('.jsxc_warning').empty();
dialog.find('.jsxc_warning').remove();
if (dialog.find('.jsxc_continue').is(":hidden")) {
if (dialog.find('.jsxc_continue').is(":hidden") &amp;&amp; $(this).attr('id') !== 'jsxc_password') {
dialog.find('.jsxc_continue').show();
dialog.find('.jsxc_join').hide().off('click');
dialog.find('.jsxc_msg').empty();
dialog.find('#jsxc_password').parents('.form-group').addClass('jsxc_hidden');
dialog.find('#jsxc_password').attr('required', '');
dialog.find('#jsxc_password').removeClass('jsxc_invalid');
jsxc.gui.dialog.resize();
}
@@ -381,6 +387,58 @@ jsxc.muc = {
dialog.find('.jsxc_join').click();
}
});
function loadRoomList(server) {
if (!server) {
dialog.find('.jsxc_inputinfo').hide();
return;
}
// load room list
self.conn.muc.listRooms(server, function(stanza) {
// workaround: chrome does not display dropdown arrow for dynamically filled datalists
$('#jsxc_roomlist option:last').remove();
$(stanza).find('item').each(function() {
var r = $('&lt;option>');
var rjid = $(this).attr('jid').toLowerCase();
var rnode = Strophe.getNodeFromJid(rjid);
var rname = $(this).attr('name') || rnode;
r.text(rname);
r.attr('data-jid', rjid);
r.attr('value', rnode);
$('#jsxc_roomlist select').append(r);
});
var set = $(stanza).find('set[xmlns="http://jabber.org/protocol/rsm"]');
if (set.length > 0) {
var count = set.find('count').text() || '?';
dialog.find('.jsxc_inputinfo').show().removeClass('jsxc_waiting').text($.t('Could_load_only', {
count: count
}));
} else {
dialog.find('.jsxc_inputinfo').hide();
}
}, function(stanza) {
var errTextMsg = $(stanza).find('error text').text() || null;
jsxc.warn('Could not load rooms', errTextMsg);
if (errTextMsg) {
dialog.find('.jsxc_inputinfo.jsxc_server').show().text(errTextMsg);
}
if ($(stanza).find('error remote-server-not-found')) {
dialog.find('#jsxc_server').addClass('jsxc_invalid');
}
dialog.find('.jsxc_inputinfo.jsxc_room').hide();
});
}
},
/**
@@ -419,8 +477,8 @@ jsxc.muc = {
var form = dialog.find('form');
// work around Strophe.x behaviour
form.find('[type="checkbox"]').change(function(){
$(this).val(this.checked ? 1 : 0);
form.find('[type="checkbox"]').change(function() {
$(this).val(this.checked ? 1 : 0);
});
var submit = $('&lt;button>');
@@ -1638,7 +1696,7 @@ jsxc.muc = {
$(document).on('init.window.jsxc', jsxc.muc.initWindow);
$(document).on('add.roster.jsxc', jsxc.muc.onAddRoster);
$(document).one('attached.jsxc', function() {
$(document).on('attached.jsxc', function() {
jsxc.muc.init();
});
@@ -1656,13 +1714,13 @@ $(document).one('connected.jsxc', function() {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+52 -15
Ver Arquivo
@@ -28,7 +28,7 @@
<article>
<pre class="prettyprint source linenums"><code>/**
* This namespace handle the notice system.
*
*
* @namspace jsxc.notice
* @memberOf jsxc
*/
@@ -38,7 +38,7 @@ jsxc.notice = {
/**
* Loads the saved notices.
*
*
* @memberOf jsxc.notice
*/
load: function() {
@@ -54,25 +54,28 @@ jsxc.notice = {
if (saved.hasOwnProperty(key)) {
var val = saved[key];
jsxc.notice.add(val.msg, val.description, val.fnName, val.fnParams, key);
jsxc.notice.add(val, val.fnName, val.fnParams, key);
}
}
},
/**
* Add a new notice to the stack;
*
*
* @memberOf jsxc.notice
* @param msg Header message
* @param description Notice description
* @param fnName Function name to be called if you open the notice
* @param {Object} data
* @param {String} data.msg Header message
* @param {String} data.description Notice description
* @param {String} fnName Function name to be called if you open the notice
* @param fnParams Array of params for function
* @param id Notice id
* @param {String} id Notice id
*/
add: function(msg, description, fnName, fnParams, id) {
add: function(data, fnName, fnParams, id) {
var nid = id || Date.now();
var list = $('#jsxc_notice ul');
var notice = $('&lt;li/>');
var msg = data.msg;
var description = data.description;
notice.click(function() {
jsxc.notice.remove(nid);
@@ -82,6 +85,10 @@ jsxc.notice = {
return false;
});
if (data.type) {
notice.addClass('jsxc_' + data.type + 'icon');
}
notice.text(msg);
notice.attr('title', description || '');
notice.attr('data-nid', nid);
@@ -89,11 +96,13 @@ jsxc.notice = {
$('#jsxc_notice > span').text(++jsxc.notice._num);
var saved = jsxc.storage.getUserItem('notices') || {};
if (!id) {
var saved = jsxc.storage.getUserItem('notices') || {};
saved[nid] = {
msg: msg,
description: description,
type: data.type,
fnName: fnName,
fnParams: fnParams
};
@@ -101,11 +110,23 @@ jsxc.notice = {
jsxc.notification.notify(msg, description || '', null, true, jsxc.CONST.SOUNDS.NOTICE);
}
if (Object.keys(saved).length > 3 &amp;&amp; list.find('.jsxc_closeAll').length === 0) {
// add close all button
var closeAll = $('&lt;li>');
closeAll.addClass('jsxc_closeAll jsxc_deleteicon jsxc_warning');
closeAll.text($.t('Close_all'));
closeAll.prependTo(list);
closeAll.click(jsxc.notice.removeAll);
} else if (Object.keys(saved).length &lt;= 3 &amp;&amp; list.find('.jsxc_closeAll').length !== 0) {
// remove close all button
list.find('.jsxc_closeAll').remove();
}
},
/**
* Removes notice from stack
*
*
* @memberOf jsxc.notice
* @param nid The notice id
*/
@@ -115,14 +136,30 @@ jsxc.notice = {
el.remove();
$('#jsxc_notice > span').text(--jsxc.notice._num || '');
var s = jsxc.storage.getUserItem('notices');
var s = jsxc.storage.getUserItem('notices') || {};
delete s[nid];
jsxc.storage.setUserItem('notices', s);
if (Object.keys(s).length &lt;= 3 &amp;&amp; $('#jsxc_notice .jsxc_closeAll').length !== 0) {
// remove close all button
$('#jsxc_notice .jsxc_closeAll').remove();
}
},
/**
* Remove all notices.
*/
removeAll: function() {
jsxc.notice._num = 0;
jsxc.storage.setUserItem('notices', {});
$('#jsxc_notice ul').empty();
$('#jsxc_notice > span').text('');
},
/**
* Check if there is already a notice for the given function name.
*
*
* @memberOf jsxc.notice
* @param {string} fnName Function name
* @returns {boolean} True if there is >0 functions with the given name
@@ -152,13 +189,13 @@ jsxc.notice = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+15 -12
Ver Arquivo
@@ -28,7 +28,7 @@
<article>
<pre class="prettyprint source linenums"><code>/**
* This namespace handles the Notification API.
*
*
* @namespace jsxc.notification
*/
jsxc.notification = {
@@ -38,7 +38,7 @@ jsxc.notification = {
/**
* Register notification on incoming messages.
*
*
* @memberOf jsxc.notification
*/
init: function() {
@@ -67,7 +67,7 @@ jsxc.notification = {
/**
* Shows a pop up notification and optional play sound.
*
*
* @param title Title
* @param msg Message
* @param d Duration
@@ -136,7 +136,7 @@ jsxc.notification = {
/**
* Checks if browser has support for notifications and add on chrome to the
* default api.
*
*
* @returns {Boolean} True if the browser has support.
*/
hasSupport: function() {
@@ -191,7 +191,10 @@ jsxc.notification = {
$(document).one('postmessagein.jsxc', function() {
setTimeout(function() {
jsxc.notice.add($.t('Notifications') + '?', $.t('Should_we_notify_you_'), 'gui.showRequestNotification');
jsxc.notice.add({
msg: $.t('Notifications') + '?',
description: $.t('Should_we_notify_you_')
}, 'gui.showRequestNotification');
}, 1000);
});
},
@@ -215,7 +218,7 @@ jsxc.notification = {
/**
* Check permission.
*
*
* @returns {Boolean} True if we have the permission
*/
hasPermission: function() {
@@ -224,7 +227,7 @@ jsxc.notification = {
/**
* Plays the given file.
*
*
* @memberOf jsxc.notification
* @param {string} soundFile File relative to the sound directory
* @param {boolean} loop True for loop
@@ -258,7 +261,7 @@ jsxc.notification = {
/**
* Stop/remove current sound.
*
*
* @memberOf jsxc.notification
*/
stopSound: function() {
@@ -272,7 +275,7 @@ jsxc.notification = {
/**
* Mute sound.
*
*
* @memberOf jsxc.notification
* @param {boolean} external True if triggered from external tab. Default:
* false.
@@ -287,7 +290,7 @@ jsxc.notification = {
/**
* Unmute sound.
*
*
* @memberOf jsxc.notification
* @param {boolean} external True if triggered from external tab. Default:
* false.
@@ -310,13 +313,13 @@ jsxc.notification = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+44 -19
Ver Arquivo
@@ -28,7 +28,7 @@
<article>
<pre class="prettyprint source linenums"><code>/**
* Set some options for the chat.
*
*
* @namespace jsxc.options
*/
jsxc.options = {
@@ -47,7 +47,7 @@ jsxc.options = {
enable: true,
ERROR_START_AKE: false,
debug: false,
SEND_WHITESPACE_TAG: true,
SEND_WHITESPACE_TAG: false,
WHITESPACE_START_AKE: true
},
@@ -88,9 +88,9 @@ jsxc.options = {
},
/**
* This function is called if a login form was found, but before any
* This function is called if a login form was found, but before any
* modification is done to it.
*
*
* @memberOf jsxc.options
* @function
*/
@@ -116,7 +116,7 @@ jsxc.options = {
},
/**
* Action after login was called: dialog [String] Show wait dialog, false [boolean] |
* Action after login was called: dialog [String] Show wait dialog, false [boolean] |
* quiet [String] Do nothing
*/
onConnecting: 'dialog',
@@ -135,25 +135,25 @@ jsxc.options = {
/**
* True: Attach connection even is login form was found.
*
*
* @type {Boolean}
* @deprecated since 3.0.0. Use now loginForm.ifFound (true => attach, false => pause)
*/
attachIfFound: true,
/**
* Describes what we should do if login form was found:
* Describes what we should do if login form was found:
* - Attach connection
* - Force new connection with loginForm.jid and loginForm.passed
* - Pause connection and do nothing
*
*
* @type {(attach|force|pause)}
*/
ifFound: 'attach',
/**
* True: Display roster minimized after first login. Afterwards the last
* roster state will be used.
* True: Display roster minimized after first login. Afterwards the last
* roster state will be used.
*/
startMinimized: false
},
@@ -198,7 +198,7 @@ jsxc.options = {
/**
* If no avatar is found, this function is called.
*
*
* @param jid Jid of that user.
* @this {jQuery} Elements to update with probable .jsxc_avatar elements
*/
@@ -214,7 +214,7 @@ jsxc.options = {
/**
* Returns permanent saved settings and overwrite default jsxc.options.
*
*
* @memberOf jsxc.options
* @function
* @param username {string} username
@@ -225,7 +225,7 @@ jsxc.options = {
/**
* Call this function to save user settings permanent.
*
*
* @memberOf jsxc.options
* @param data Holds all data as key/value
* @param cb Called with true on success, false otherwise
@@ -236,19 +236,19 @@ jsxc.options = {
carbons: {
/** Enable carbon copies? */
enable: false
enable: true
},
/**
* Processes user list.
*
*
* @callback getUsers-cb
* @param {object} list List of users, key: username, value: alias
*/
/**
* Returns a list of usernames and aliases
*
*
* @function getUsers
* @memberOf jsxc.options
* @param {string} search Search token (start with)
@@ -306,7 +306,32 @@ jsxc.options = {
}
},
maxStorableSize: 1000000
/** Maximal storage size for attachments received via data channels (webrtc). */
maxStorableSize: 1000000,
/** Options for file transfer. */
fileTransfer: {
httpUpload: {
enable: true
},
// @TODO add option to enable/disable data channels
},
/** Default option for chat state notifications */
chatState: {
enable: true
},
/**
* Download urls to screen media extensions.
*
* @type {Object}
* @see example extensions {@link https://github.com/otalk/getScreenMedia}
*/
screenMediaExtension: {
firefox: '',
chrome: ''
}
};
</code></pre>
</article>
@@ -318,13 +343,13 @@ jsxc.options = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+22 -20
Ver Arquivo
@@ -36,7 +36,7 @@ jsxc.otr = {
dsaFallback: null,
/**
* Handler for otr receive event
*
*
* @memberOf jsxc.otr
* @param {Object} d
* @param {string} d.bid
@@ -68,28 +68,29 @@ jsxc.otr = {
msg: d.msg,
encrypted: d.encrypted,
forwarded: d.forwarded,
stamp: d.stamp
stamp: d.stamp,
attachment: d.attachment
});
}
},
/**
* Handler for otr send event
*
*
* @param {string} jid
* @param {string} msg message to be send
*/
sendMessage: function(jid, msg, uid) {
sendMessage: function(jid, msg, message) {
if (jsxc.otr.objects[jsxc.jidToBid(jid)].msgstate !== 0) {
jsxc.otr.backup(jsxc.jidToBid(jid));
}
jsxc.xmpp._sendMessage(jid, msg, uid);
jsxc.xmpp._sendMessage(jid, msg, message);
},
/**
* Create new otr instance
*
*
* @param {type} bid
* @returns {undefined}
*/
@@ -240,17 +241,18 @@ jsxc.otr = {
msg: msg,
encrypted: encrypted === true,
stamp: meta.stamp,
forwarded: meta.forwarded
forwarded: meta.forwarded,
attachment: meta.attachment
});
});
// Send message
jsxc.otr.objects[bid].on('io', function(msg, uid) {
jsxc.otr.objects[bid].on('io', function(msg, message) {
var jid = jsxc.gui.window.get(bid).data('jid') || jsxc.otr.objects[bid].jid;
jsxc.otr.objects[bid].jid = jid;
jsxc.otr.sendMessage(jid, msg, uid);
jsxc.otr.sendMessage(jid, msg, message);
});
jsxc.otr.objects[bid].on('error', function(err) {
@@ -271,7 +273,7 @@ jsxc.otr = {
/**
* show verification dialog with related part (secret or question)
*
*
* @param {type} bid
* @param {string} [data]
* @returns {undefined}
@@ -303,7 +305,7 @@ jsxc.otr = {
/**
* Send verification request to buddy
*
*
* @param {string} bid
* @param {string} sec secret
* @param {string} [quest] question
@@ -317,7 +319,7 @@ jsxc.otr = {
/**
* Toggle encryption state
*
*
* @param {type} bid
* @returns {undefined}
*/
@@ -335,7 +337,7 @@ jsxc.otr = {
/**
* Send request to encrypt the session
*
*
* @param {type} bid
* @returns {undefined}
*/
@@ -351,7 +353,7 @@ jsxc.otr = {
/**
* Abort encryptet session
*
*
* @param {type} bid
* @param cb callback
* @returns {undefined}
@@ -371,7 +373,7 @@ jsxc.otr = {
/**
* Backups otr session
*
*
* @param {string} bid
*/
backup: function(bid) {
@@ -403,7 +405,7 @@ jsxc.otr = {
/**
* Restore old otr session
*
*
* @param {string} bid
*/
restore: function(bid) {
@@ -438,7 +440,7 @@ jsxc.otr = {
/**
* Create or load DSA key
*
*
* @returns {unresolved}
*/
createDSA: function() {
@@ -536,7 +538,7 @@ jsxc.otr = {
/**
* Ending of DSA key generation.
*
*
* @param {DSA} dsa DSA object
*/
DSAready: function(dsa) {
@@ -566,13 +568,13 @@ jsxc.otr = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+3 -3
Ver Arquivo
@@ -50,7 +50,7 @@ jsxc.storage = {
var self = jsxc.storage;
if (uk &amp;&amp; !jsxc.bid) {
console.trace('Unable to create user prefix');
jsxc.warn('Unable to create user prefix');
}
return self.PREFIX + self.SEP + ((uk &amp;&amp; jsxc.bid) ? jsxc.bid + self.SEP : '');
@@ -654,13 +654,13 @@ jsxc.storage = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+21 -10
Ver Arquivo
@@ -60,20 +60,31 @@ jsxc.tab = {
});
},
/*jshint -W098 */
execMaster: function(cmd, params) {
/**
* Execute command in master tab.
*
* @param {String} cmd Command
* @param {String[]} params List of parameters
*/
execMaster: function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(jsxc.tab.CONST.MASTER);
jsxc.tab.exec.apply(this, args);
},
execSlave: function(cmd, params) {
var args = Array.prototype.slice.call(arguments);
args.unshift(jsxc.tab.CONST.SLAVE);
jsxc.tab.exec.apply(this, args);
}
/*jshint +W098 */
/**
* Execute command in all slave tabs.
*
* @param {String} cmd Command
* @param {String[]} params List of parameters
*/
execSlave: function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(jsxc.tab.CONST.SLAVE);
jsxc.tab.exec.apply(this, args);
}
};
</code></pre>
</article>
@@ -85,13 +96,13 @@ jsxc.tab = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+9 -5
Ver Arquivo
@@ -35,7 +35,7 @@ jsxc.xmpp.bookmarks = {};
/**
* Determines if server is able to store bookmarks.
*
*
* @return {boolean} True: Server supports bookmark storage
*/
jsxc.xmpp.bookmarks.remote = function() {
@@ -98,7 +98,7 @@ jsxc.xmpp.bookmarks.loadFromLocal = function() {
/**
* Load bookmarks from remote storage.
*
*
* @private
*/
jsxc.xmpp.bookmarks.loadFromRemote = function() {
@@ -156,7 +156,11 @@ jsxc.xmpp.bookmarks.loadFromRemote = function() {
if (err.reasons[0] === 'item-not-found') {
jsxc.debug('create bookmark node');
bookmarks.createBookmarksNode();
bookmarks.createBookmarksNode(function() {
jsxc.debug('Bookmark node created.');
}, function() {
jsxc.debug('Could not create bookmark node.');
});
} else {
jsxc.debug('[XMPP] Could not create bookmark: ' + err.type, err.reasons);
}
@@ -377,13 +381,13 @@ jsxc.xmpp.bookmarks.showDialog = function(room) {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
@@ -1,4 +1,32 @@
/**
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: jsxc.lib.xmpp.chatState.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.chatState.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* Implements XEP-0085: Chat State Notifications.
*
* @namespace jsxc.xmpp.chatState
@@ -55,7 +83,7 @@ jsxc.xmpp.chatState.onComposing = function(ev, jid) {
}
// ignore own notifications in groupchat
if (data.type === 'groupchat' &&
if (data.type === 'groupchat' &amp;&amp;
Strophe.getResourceFromJid(jid) === Strophe.getNodeFromJid(self.conn.jid)) {
return;
}
@@ -79,9 +107,9 @@ jsxc.xmpp.chatState.onComposing = function(ev, jid) {
var textarea = win.find('.jsxc_textarea');
var composingNotif = textarea.find('.jsxc_composing');
if (composingNotif.length < 1) {
if (composingNotif.length &lt; 1) {
// notification not present, add it
composingNotif = $('<div>').addClass('jsxc_composing')
composingNotif = $('&lt;div>').addClass('jsxc_composing')
.addClass('jsxc_chatmessage')
.addClass('jsxc_sys')
.appendTo(textarea);
@@ -246,3 +274,26 @@ jsxc.xmpp.chatState.isDisabled = function() {
};
$(document).on('attached.jsxc', jsxc.xmpp.chatState.init);
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -1,4 +1,32 @@
/**
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: jsxc.lib.xmpp.httpUpload.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.httpUpload.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* Implements Http File Upload (XEP-0363)
*
* @namespace jsxc.xmpp.httpUpload
@@ -37,7 +65,7 @@ jsxc.xmpp.httpUpload.init = function(o) {
return;
}
if (options && options.server) {
if (options &amp;&amp; options.server) {
self.ready = true;
return;
@@ -162,10 +190,10 @@ jsxc.xmpp.httpUpload.sendFile = function(file, message) {
});
message.delete();
} else if (data.get && data.put) {
} else if (data.get &amp;&amp; data.put) {
// slot received, start upload
self.uploadFile(data.put, file, message, function() {
var a = $('<a>');
var a = $('&lt;a>');
a.attr('href', data.get);
a.attr('data-name', message.attachment.name);
a.attr('data-type', message.attachment.type);
@@ -178,7 +206,7 @@ jsxc.xmpp.httpUpload.sendFile = function(file, message) {
a.text(data.get);
message.attachment.data = data.get;
message.msg = $('<span>').append(a).html();
message.msg = $('&lt;span>').append(a).html();
message.type = jsxc.Message.HTML;
jsxc.gui.window.postMessage(message);
});
@@ -297,7 +325,7 @@ jsxc.xmpp.httpUpload.successfulRequestSlotCB = function(stanza, cb) {
* @param {Function} cb
*/
jsxc.xmpp.httpUpload.failedRequestSlotCB = function(stanza, cb) {
if ($(stanza).find('error').length <= 0) {
if ($(stanza).find('error').length &lt;= 0) {
jsxc.warn('response does not contain a slot element');
cb();
@@ -328,3 +356,26 @@ $(document).on('stateChange.jsxc', function(ev, state) {
jsxc.xmpp.httpUpload.init();
}
});
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+173 -57
Ver Arquivo
@@ -28,7 +28,7 @@
<article>
<pre class="prettyprint source linenums"><code>/**
* Handle XMPP stuff.
*
*
* @namespace jsxc.xmpp
*/
jsxc.xmpp = {
@@ -36,14 +36,14 @@ jsxc.xmpp = {
/**
* Create new connection or attach to old
*
*
* @name login
* @memberOf jsxc.xmpp
* @private
*/
/**
* Create new connection with given parameters.
*
*
* @name login^2
* @param {string} jid
* @param {string} password
@@ -52,7 +52,7 @@ jsxc.xmpp = {
*/
/**
* Attach connection with given parameters.
*
*
* @name login^3
* @param {string} jid
* @param {string} sid
@@ -169,6 +169,8 @@ jsxc.xmpp = {
jsxc.xmpp.conn.caps.node = 'http://jsxc.org/';
}
jsxc.changeState(jsxc.CONST.STATE.ESTABLISHING);
if (sid &amp;&amp; rid) {
jsxc.debug('Try to attach');
jsxc.debug('SID: ' + sid);
@@ -204,7 +206,7 @@ jsxc.xmpp = {
/**
* Logs user out of his xmpp session and does some clean up.
*
*
* @param {boolean} complete If set to false, roster will not be removed
* @returns {Boolean}
*/
@@ -271,7 +273,7 @@ jsxc.xmpp = {
/**
* Triggered if connection is established
*
*
* @private
*/
connected: function() {
@@ -299,12 +301,13 @@ jsxc.xmpp = {
jsxc.xmpp.conn.resume();
jsxc.onMaster();
jsxc.changeState(jsxc.CONST.STATE.READY);
$(document).trigger('attached.jsxc');
},
/**
* Triggered if connection is attached
*
*
* @private
*/
attached: function() {
@@ -312,7 +315,8 @@ jsxc.xmpp = {
$('#jsxc_roster').removeClass('jsxc_noConnection');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged, 'jabber:iq:roster', 'iq', 'set');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onMessage, null, 'message', 'chat');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage, null, 'message', 'chat');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage, null, 'message', 'headline');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived, null, 'message');
jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence, null, 'presence');
@@ -374,17 +378,15 @@ jsxc.xmpp = {
jsxc.xmpp.sendPres();
if (!jsxc.restoreCompleted) {
jsxc.restoreRoster();
jsxc.restoreWindows();
jsxc.restoreCompleted = true;
$(document).trigger('restoreCompleted.jsxc');
jsxc.gui.restore();
}
}
jsxc.xmpp.saveSessionParameter();
jsxc.masterActions();
jsxc.changeState(jsxc.CONST.STATE.READY);
},
saveSessionParameter: function() {
@@ -445,7 +447,7 @@ jsxc.xmpp = {
/**
* Triggered if lost connection
*
*
* @private
*/
disconnected: function() {
@@ -470,6 +472,7 @@ jsxc.xmpp = {
if (jsxc.triggeredFromElement) {
$(document).trigger('toggle.roster.jsxc', ['hidden', 0]);
jsxc.gui.roster.ready = false;
$('#jsxc_roster').remove();
// REVIEW: logoutElement without href attribute?
@@ -484,11 +487,13 @@ jsxc.xmpp = {
jsxc.role_allocation = false;
jsxc.master = false;
jsxc.storage.removeItem('alive');
jsxc.changeState(jsxc.CONST.STATE.SUSPEND);
},
/**
* Triggered on connection fault
*
*
* @param {String} condition information why we lost the connection
* @private
*/
@@ -502,7 +507,7 @@ jsxc.xmpp = {
/**
* Triggered on auth fail.
*
*
* @private
*/
onAuthFail: function() {
@@ -524,7 +529,7 @@ jsxc.xmpp = {
/**
* Triggered on initial roster load
*
*
* @param {dom} iq
* @private
*/
@@ -572,23 +577,29 @@ jsxc.xmpp = {
jsxc.gui.roster.loaded = true;
jsxc.debug('Roster loaded');
$(document).trigger('cloaded.roster.jsxc');
jsxc.changeUIState(jsxc.CONST.UISTATE.READY);
},
/**
* Triggerd on roster changes
*
*
* @param {dom} iq
* @returns {Boolean} True to preserve handler
* @private
*/
onRosterChanged: function(iq) {
/*
* &lt;iq from='' type='set' id=''> &lt;query xmlns='jabber:iq:roster'> &lt;item
* jid='' name='' subscription='' /> &lt;/query> &lt;/iq>
*/
var iqSender = $(iq).attr('from');
var ownBareJid = Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid);
if (iqSender &amp;&amp; iqSender !== ownBareJid) {
return true;
}
jsxc.debug('onRosterChanged', iq);
// @REVIEW there should be only one item, according to RFC6121
// https://xmpp.org/rfcs/rfc6121.html#roster-syntax-actions-push
$(iq).find('item').each(function() {
var jid = $(this).attr('jid');
var name = $(this).attr('name') || jid;
@@ -651,19 +662,19 @@ jsxc.xmpp = {
/**
* Triggered on incoming presence stanzas
*
*
* @param {dom} presence
* @private
*/
onPresence: function(presence) {
/*
* &lt;presence xmlns='jabber:client' type='unavailable' from='' to=''/>
*
*
* &lt;presence xmlns='jabber:client' from='' to=''> &lt;priority>5&lt;/priority>
* &lt;c xmlns='http://jabber.org/protocol/caps'
* node='http://psi-im.org/caps' ver='caps-b75d8d2b25' ext='ca cs
* ep-notify-2 html'/> &lt;/presence>
*
*
* &lt;presence xmlns='jabber:client' from='' to=''> &lt;show>chat&lt;/show>
* &lt;status>&lt;/status> &lt;priority>5&lt;/priority> &lt;c
* xmlns='http://jabber.org/protocol/caps' node='http://psi-im.org/caps'
@@ -714,7 +725,11 @@ jsxc.xmpp = {
jid: jid,
approve: -1
});
jsxc.notice.add($.t('Friendship_request'), $.t('from') + ' ' + jid, 'gui.showApproveDialog', [jid]);
jsxc.notice.add({
msg: $.t('Friendship_request'),
description: $.t('from') + ' ' + jid,
type: 'contact'
}, 'gui.showApproveDialog', [jid]);
return true;
} else if (ptype === 'unavailable' || ptype === 'unsubscribed') {
@@ -730,7 +745,7 @@ jsxc.xmpp = {
if (status === 0) {
delete res[r];
} else {
} else if (r) {
res[r] = status;
}
@@ -785,7 +800,7 @@ jsxc.xmpp = {
jsxc.storage.setUserItem('buddy', bid, data);
jsxc.storage.setUserItem('res', bid, res);
jsxc.debug('Presence (' + from + '): ' + status);
jsxc.debug('Presence (' + from + '): ' + jsxc.CONST.STATUS[status]);
jsxc.gui.update(bid);
jsxc.gui.roster.reorder(bid);
@@ -798,15 +813,15 @@ jsxc.xmpp = {
/**
* Triggered on incoming message stanzas
*
*
* @param {dom} presence
* @returns {Boolean}
* @private
*/
onMessage: function(stanza) {
onChatMessage: function(stanza) {
var forwarded = $(stanza).find('forwarded[xmlns="' + jsxc.CONST.NS.FORWARD + '"]');
var message, carbon;
var originalSender = $(stanza).attr('from');
if (forwarded.length > 0) {
message = forwarded.find('> message');
@@ -815,6 +830,9 @@ jsxc.xmpp = {
if (carbon.length === 0) {
carbon = false;
} else if (originalSender !== Strophe.getBareJidFromJid(jsxc.xmpp.conn.jid)) {
// ignore this carbon copy
return true;
}
jsxc.debug('Incoming forwarded message', message);
@@ -827,6 +845,7 @@ jsxc.xmpp = {
}
var body = $(message).find('body:first').text();
var htmlBody = $(message).find('body[xmlns="' + Strophe.NS.XHTML + '"]');
if (!body || (body.match(/\?OTR/i) &amp;&amp; forwarded)) {
return true;
@@ -876,7 +895,10 @@ 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({
msg: $.t('Unknown_sender'),
description: $.t('You_received_a_message_from_an_unknown_sender') + ' (' + bid + ').'
}, 'gui.showUnknownSender', [bid]);
}
var msg = jsxc.removeHTML(body);
@@ -914,10 +936,40 @@ jsxc.xmpp = {
}));
}
if (jsxc.otr.objects.hasOwnProperty(bid)) {
var attachment;
if (htmlBody.length === 1) {
var httpUploadElement = htmlBody.find('a[data-type][data-name][data-size]');
if (httpUploadElement.length === 1) {
attachment = {
type: httpUploadElement.attr('data-type'),
name: httpUploadElement.attr('data-name'),
size: httpUploadElement.attr('data-size'),
};
if (httpUploadElement.attr('data-thumbnail') &amp;&amp; httpUploadElement.attr('data-thumbnail').match(/^\s*data:[a-z]+\/[a-z0-9-+.*]+;base64,[a-z0-9=+/]+$/i)) {
attachment.thumbnail = httpUploadElement.attr('data-thumbnail');
}
if (httpUploadElement.attr('href') &amp;&amp; httpUploadElement.attr('href').match(/^https:\/\//)) {
attachment.data = httpUploadElement.attr('href');
body = null;
}
if (!attachment.type.match(/^[a-z]+\/[a-z0-9-+.*]+$/i) || !attachment.name.match(/^[\s\w.,-]+$/i) || !attachment.size.match(/^\d+$/i)) {
attachment = undefined;
jsxc.warn('Invalid file type, name or size.');
}
}
}
if (jsxc.otr.objects.hasOwnProperty(bid) &amp;&amp; body) {
// @TODO check for file upload url after decryption
jsxc.otr.objects[bid].receiveMsg(body, {
stamp: stamp,
forwarded: forwarded
forwarded: forwarded,
attachment: attachment
});
} else {
jsxc.gui.window.postMessage({
@@ -926,7 +978,8 @@ jsxc.xmpp = {
msg: body,
encrypted: false,
forwarded: forwarded,
stamp: stamp
stamp: stamp,
attachment: attachment
});
}
@@ -934,9 +987,41 @@ jsxc.xmpp = {
return true;
},
/**
* Process message stanzas of type headline.
*
* @param {String} stanza Message stanza of type headline
* @return {Boolean}
*/
onHeadlineMessage: function(stanza) {
stanza = $(stanza);
var from = stanza.attr('from');
var domain = Strophe.getDomainFromJid(from);
if (domain !== from) {
if (!jsxc.storage.getUserItem('buddy', jsxc.jidToBid(from))) {
return true;
}
} else if (domain !== Strophe.getDomainFromJid(jsxc.xmpp.conn.jid)) {
return true;
}
var subject = stanza.find('subject:first').text() || $.t('Notification');
var body = stanza.find('body:first').text();
jsxc.notice.add({
msg: subject,
description: body,
type: (domain === from) ? 'announcement' : null
}, 'gui.showNotification', [subject, body, from]);
return true;
},
/**
* Triggerd if the rid changed
*
*
* @param {integer} rid next valid request id
* @private
*/
@@ -946,7 +1031,7 @@ jsxc.xmpp = {
/**
* response to friendship request
*
*
* @param {string} from jid from original friendship req
* @param {boolean} approve
*/
@@ -967,7 +1052,7 @@ jsxc.xmpp = {
/**
* Add buddy to my friends
*
*
* @param {string} username jid
* @param {string} alias
*/
@@ -1003,7 +1088,7 @@ jsxc.xmpp = {
/**
* Remove buddy from my friends
*
*
* @param {type} jid
*/
removeBuddy: function(jid) {
@@ -1038,39 +1123,63 @@ jsxc.xmpp = {
/**
* Public function to send message.
*
*
* @memberOf jsxc.xmpp
* @param bid css jid of user
* @param msg message
* @param uid unique id
*/
sendMessage: function(bid, msg, uid) {
if (jsxc.otr.objects.hasOwnProperty(bid)) {
jsxc.otr.objects[bid].sendMsg(msg, uid);
sendMessage: function(message) {
var bid = message.bid;
var msg = message.htmlMsg;
var mucRoomNames = (jsxc.xmpp.conn.muc &amp;&amp; jsxc.xmpp.conn.muc.roomNames) ? jsxc.xmpp.conn.muc.roomNames : [];
var isMucBid = mucRoomNames.indexOf(bid) >= 0;
if (jsxc.otr.objects.hasOwnProperty(bid) &amp;&amp; !isMucBid) {
jsxc.otr.objects[bid].sendMsg(msg, message);
} else {
jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data('jid'), msg, uid);
jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data('jid'), msg, message);
}
},
/**
* Create message stanza and send it.
*
*
* @memberOf jsxc.xmpp
* @param jid Jabber id
* @param msg Message
* @param uid unique id
* @private
*/
_sendMessage: function(jid, msg, uid) {
_sendMessage: function(jid, msg, message) {
// @TODO put jid into message object
var data = jsxc.storage.getUserItem('buddy', jsxc.jidToBid(jid)) || {};
var isBar = (Strophe.getBareJidFromJid(jid) === jid);
var type = data.type || 'chat';
message = message || {};
var xmlMsg = $msg({
to: jid,
type: type,
id: uid
}).c('body').t(msg);
id: message._uid
});
if (message.type === jsxc.Message.HTML) {
xmlMsg.c("html", {
xmlns: Strophe.NS.XHTML_IM
});
// Omit StropheJS XEP-0071 limitations
var body = Strophe.xmlElement("body", {
xmlns: Strophe.NS.XHTML
});
body.innerHTML = msg;
xmlMsg.node.appendChild(body);
} else {
xmlMsg.c('body').t(msg);
}
if (jsxc.xmpp.carbons.enabled &amp;&amp; msg.match(/^\?OTR/)) {
xmlMsg.up().c("private", {
@@ -1085,12 +1194,19 @@ jsxc.xmpp = {
});
}
if (jsxc.xmpp.conn.chatstates &amp;&amp; !jsxc.xmpp.chatState.isDisabled()) {
// send active event (XEP-0085)
xmlMsg.up().c('active', {
xmlns: Strophe.NS.CHATSTATES
});
}
jsxc.xmpp.conn.send(xmlMsg);
},
/**
* This function loads a vcard.
*
*
* @memberOf jsxc.xmpp
* @param bid
* @param cb
@@ -1114,7 +1230,7 @@ jsxc.xmpp = {
/**
* Retrieves capabilities.
*
*
* @memberOf jsxc.xmpp
* @param jid
* @returns List of known capabilities
@@ -1136,7 +1252,7 @@ jsxc.xmpp = {
/**
* 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.
@@ -1188,7 +1304,7 @@ jsxc.xmpp = {
/**
* Handle carbons (XEP-0280);
*
*
* @namespace jsxc.xmpp.carbons
*/
jsxc.xmpp.carbons = {
@@ -1196,7 +1312,7 @@ jsxc.xmpp.carbons = {
/**
* Enable carbons.
*
*
* @memberOf jsxc.xmpp.carbons
* @param cb callback
*/
@@ -1222,7 +1338,7 @@ jsxc.xmpp.carbons = {
/**
* Disable carbons.
*
*
* @memberOf jsxc.xmpp.carbons
* @param cb callback
*/
@@ -1248,7 +1364,7 @@ jsxc.xmpp.carbons = {
/**
* Enable/Disable carbons depending on options key.
*
*
* @memberOf jsxc.xmpp.carbons
* @param err error message
*/
@@ -1274,13 +1390,13 @@ jsxc.xmpp.carbons = {
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+17 -17
Ver Arquivo
@@ -282,7 +282,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#line1448">line 1448</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1506">line 1506</a>
</li></ul></dd>
@@ -344,7 +344,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#line930">line 930</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line988">line 988</a>
</li></ul></dd>
@@ -466,7 +466,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#line572">line 572</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line630">line 630</a>
</li></ul></dd>
@@ -643,7 +643,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#line536">line 536</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line594">line 594</a>
</li></ul></dd>
@@ -774,7 +774,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#line1261">line 1261</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1319">line 1319</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.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line105">line 105</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line109">line 109</a>
</li></ul></dd>
@@ -1033,7 +1033,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#line1173">line 1173</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1231">line 1231</a>
</li></ul></dd>
@@ -1304,7 +1304,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#line452">line 452</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line510">line 510</a>
</li></ul></dd>
@@ -1435,7 +1435,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#line481">line 481</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line539">line 539</a>
</li></ul></dd>
@@ -1607,7 +1607,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#line906">line 906</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line964">line 964</a>
</li></ul></dd>
@@ -1783,7 +1783,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#line1138">line 1138</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1196">line 1196</a>
</li></ul></dd>
@@ -1937,7 +1937,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#line1216">line 1216</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1274">line 1274</a>
</li></ul></dd>
@@ -2091,7 +2091,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#line1232">line 1232</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line1290">line 1290</a>
</li></ul></dd>
@@ -2267,7 +2267,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#line120">line 120</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line126">line 126</a>
</li></ul></dd>
@@ -2398,7 +2398,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#line364">line 364</a>
<a href="jsxc.lib.muc.js.html">jsxc.lib.muc.js</a>, <a href="jsxc.lib.muc.js.html#line422">line 422</a>
</li></ul></dd>
@@ -2440,13 +2440,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+8 -8
Ver Arquivo
@@ -226,7 +226,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#line193">line 193</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line196">line 196</a>
</li></ul></dd>
@@ -567,7 +567,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#line252">line 252</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line255">line 255</a>
</li></ul></dd>
@@ -978,7 +978,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#line205">line 205</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line208">line 208</a>
</li></ul></dd>
@@ -1143,7 +1143,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#line174">line 174</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line177">line 177</a>
</li></ul></dd>
@@ -1225,7 +1225,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#line236">line 236</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line239">line 239</a>
</li></ul></dd>
@@ -1357,7 +1357,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#line267">line 267</a>
<a href="jsxc.lib.notification.js.html">jsxc.lib.notification.js</a>, <a href="jsxc.lib.notification.js.html#line270">line 270</a>
</li></ul></dd>
@@ -1399,13 +1399,13 @@ messages.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+270 -5
Ver Arquivo
@@ -290,6 +290,68 @@
<h4 class="name" id=".chatState"><span class="type-signature">(static) </span>chatState<span class="type-signature"></span></h4>
<div class="description">
Default option for chat state notifications
</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#line293">line 293</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".defaultLang"><span class="type-signature">(static) </span>defaultLang<span class="type-signature"></span></h4>
@@ -414,6 +476,68 @@
<h4 class="name" id=".fileTransfer"><span class="type-signature">(static) </span>fileTransfer<span class="type-signature"></span></h4>
<div class="description">
Options for file transfer.
</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#line285">line 285</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".hideOffline"><span class="type-signature">(static) </span>hideOffline<span class="type-signature"></span></h4>
@@ -600,6 +724,68 @@
<h4 class="name" id=".maxStorableSize"><span class="type-signature">(static) </span>maxStorableSize<span class="type-signature"></span></h4>
<div class="description">
Maximal storage size for attachments received via data channels (webrtc).
</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#line282">line 282</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".muteNotification"><span class="type-signature">(static) </span>muteNotification<span class="type-signature"></span></h4>
@@ -1220,6 +1406,85 @@
<h4 class="name" id=".screenMediaExtension"><span class="type-signature">(static) </span>screenMediaExtension<span class="type-signature"> :Object</span></h4>
<div class="description">
Download urls to screen media extensions.
</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.options.js.html">jsxc.lib.options.js</a>, <a href="jsxc.lib.options.js.html#line303">line 303</a>
</li></ul></dd>
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li>example extensions <a href="https://github.com/otalk/getScreenMedia">https://github.com/otalk/getScreenMedia</a></li>
</ul>
</dd>
</dl>
<h4 class="name" id=".timeout"><span class="type-signature">(static) </span>timeout<span class="type-signature"></span></h4>
@@ -1632,7 +1897,7 @@ connection is found.
<div class="description">
This function is called if a login form was found, but before any
This function is called if a login form was found, but before any
modification is done to it.
</div>
@@ -1808,7 +2073,7 @@ modification is done to it.
<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#line216">line 216</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line236">line 236</a>
</li></ul></dd>
@@ -2447,7 +2712,7 @@ modification is done to it.
<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#line232">line 232</a>
<a href="jsxc.lib.js.html">jsxc.lib.js</a>, <a href="jsxc.lib.js.html#line252">line 252</a>
</li></ul></dd>
@@ -2489,13 +2754,13 @@ modification is done to it.
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+14 -14
Ver Arquivo
@@ -224,7 +224,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#line500">line 500</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line502">line 502</a>
</li></ul></dd>
@@ -355,7 +355,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#line349">line 349</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line351">line 351</a>
</li></ul></dd>
@@ -486,7 +486,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#line68">line 68</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line69">line 69</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.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line416">line 416</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line418">line 418</a>
</li></ul></dd>
@@ -735,7 +735,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#line514">line 514</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line516">line 516</a>
</li></ul></dd>
@@ -866,7 +866,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#line314">line 314</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line316">line 316</a>
</li></ul></dd>
@@ -1033,7 +1033,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#line331">line 331</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>
@@ -1225,7 +1225,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#line251">line 251</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line253">line 253</a>
</li></ul></dd>
@@ -1646,7 +1646,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#line381">line 381</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line383">line 383</a>
</li></ul></dd>
@@ -1800,7 +1800,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#line54">line 54</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line55">line 55</a>
</li></ul></dd>
@@ -2005,7 +2005,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#line284">line 284</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line286">line 286</a>
</li></ul></dd>
@@ -2154,7 +2154,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#line296">line 296</a>
<a href="jsxc.lib.otr.js.html">jsxc.lib.otr.js</a>, <a href="jsxc.lib.otr.js.html#line298">line 298</a>
</li></ul></dd>
@@ -2214,13 +2214,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+2 -2
Ver Arquivo
@@ -2326,13 +2326,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+314 -2
Ver Arquivo
@@ -102,6 +102,318 @@
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".execMaster"><span class="type-signature">(static) </span>execMaster<span class="signature">(cmd, params)</span><span class="type-signature"></span></h4>
<div class="description">
Execute command in master tab.
</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>cmd</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">Command</td>
</tr>
<tr>
<td class="name"><code>params</code></td>
<td class="type">
<span class="param-type">Array.&lt;String></span>
</td>
<td class="description last">List of parameters</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.tab.js.html">jsxc.lib.tab.js</a>, <a href="jsxc.lib.tab.js.html#line41">line 41</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".execSlave"><span class="type-signature">(static) </span>execSlave<span class="signature">(cmd, params)</span><span class="type-signature"></span></h4>
<div class="description">
Execute command in all slave tabs.
</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>cmd</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">Command</td>
</tr>
<tr>
<td class="name"><code>params</code></td>
<td class="type">
<span class="param-type">Array.&lt;String></span>
</td>
<td class="description last">List of parameters</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.tab.js.html">jsxc.lib.tab.js</a>, <a href="jsxc.lib.tab.js.html#line54">line 54</a>
</li></ul></dd>
</dl>
@@ -116,13 +428,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:05 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+1306 -15
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+6 -6
Ver Arquivo
@@ -278,7 +278,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#line235">line 235</a>
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line239">line 239</a>
</li></ul></dd>
@@ -464,7 +464,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#line165">line 165</a>
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line169">line 169</a>
</li></ul></dd>
@@ -677,7 +677,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#line146">line 146</a>
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line150">line 150</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#line299">line 299</a>
<a href="jsxc.lib.xmpp.bookmarks.js.html">jsxc.lib.xmpp.bookmarks.js</a>, <a href="jsxc.lib.xmpp.bookmarks.js.html#line303">line 303</a>
</li></ul></dd>
@@ -1016,13 +1016,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:06 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
+6 -6
Ver Arquivo
@@ -73,7 +73,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#line1161">line 1161</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1277">line 1277</a>
</li></ul></dd>
@@ -204,7 +204,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#line1201">line 1201</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1317">line 1317</a>
</li></ul></dd>
@@ -330,7 +330,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#line1175">line 1175</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1291">line 1291</a>
</li></ul></dd>
@@ -456,7 +456,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#line1227">line 1227</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1343">line 1343</a>
</li></ul></dd>
@@ -498,13 +498,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:06 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+166 -11
Ver Arquivo
@@ -106,6 +106,12 @@
<dt><a href="jsxc.xmpp.carbons.html">carbons</a></dt>
<dd></dd>
<dt><a href="jsxc.xmpp.chatState.html">chatState</a></dt>
<dd></dd>
<dt><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></dt>
<dd></dd>
</dl>
@@ -242,7 +248,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#line946">line 946</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>
@@ -368,7 +374,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#line1094">line 1094</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1210">line 1210</a>
</li></ul></dd>
@@ -555,7 +561,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#line1117">line 1117</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1233">line 1233</a>
</li></ul></dd>
@@ -739,7 +745,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#line1071">line 1071</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>
@@ -870,7 +876,156 @@
<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#line183">line 183</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line185">line 185</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Boolean</span>
</dd>
</dl>
<h4 class="name" id=".onHeadlineMessage"><span class="type-signature">(static) </span>onHeadlineMessage<span class="signature">(stanza)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
<div class="description">
Process message stanzas of type headline.
</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>stanza</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">Message stanza of type headline</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#line968">line 968</a>
</li></ul></dd>
@@ -1019,7 +1174,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#line981">line 981</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1066">line 1066</a>
</li></ul></dd>
@@ -1173,7 +1328,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#line925">line 925</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1010">line 1010</a>
</li></ul></dd>
@@ -1335,7 +1490,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#line1019">line 1019</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line1104">line 1104</a>
</li></ul></dd>
@@ -1417,7 +1572,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#line388">line 388</a>
<a href="jsxc.lib.xmpp.js.html">jsxc.lib.xmpp.js</a>, <a href="jsxc.lib.xmpp.js.html#line390">line 390</a>
</li></ul></dd>
@@ -1459,13 +1614,13 @@
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><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.tab.html">tab</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>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="jsxc.Message.html">Message</a></li></ul><h3>Namespaces</h3><ul><li><a href="jsxc.html">jsxc</a></li><li><a href="jsxc.fileTransfer.html">fileTransfer</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.tab.html">tab</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><li><a href="jsxc.xmpp.chatState.html">chatState</a></li><li><a href="jsxc.xmpp.httpUpload.html">httpUpload</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Fri Oct 28 2016 13:29:06 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Tue Feb 14 2017 16:15:49 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+92
Ver Arquivo
@@ -0,0 +1,92 @@
<!DOCTYPE HTML>
<html>
<head>
<title>JSXC example application</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<link href="css/bootstrap.min.css" media="all" rel="stylesheet" type="text/css" />
<!-- require:dependencies -->
<link href="../build/css/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
<link href="../css/bundle.css" media="all" rel="stylesheet" type="text/css" />
<!-- endrequire -->
<link href="../node_modules/simplebar/dist/simplebar.css" media="all" rel="stylesheet" type="text/css" />
<link href="css/example.css" media="all" rel="stylesheet" type="text/css" />
<style>
#jsxc-role {
width: 50px;
height: 50px;
background-color: #a1a1a1;
border-radius: 50%;
position: absolute;
top: 15px;
left: 15px;
}
.jsxc-master #jsxc-role {
background-color: green;
}
.jsxc-slave #jsxc-role {
background-color: orange;
}
</style>
</head>
<body>
<div id="jsxc-role"></div>
<form id="loginForm" style="margin-top: 100px; padding:15px;" class="form-inline">
<div class="form-group">
<input class="form-control" type="text" name="url" placeholder="Bosh url" value="/http-bind/" />
</div>
<div class="form-group">
<input class="form-control" type="text" name="jid" placeholder="Jabber Id" value="" />
</div>
<div class="form-group">
<input class="form-control" type="text" name="password" placeholder="Password" value="" />
</div>
<button class="btn btn-primary">Login</button>
</form>
<p style="padding:15px"><a class="btn btn-danger" href="javascript:jsxc.deleteAllData()">Delete all Data</a>
<a class="btn btn-default" href="javascript:jsxc.enableDebugMode()">Enable Debug Mode</a>
<a class="btn btn-default" href="javascript:jsxc.disableDebugMode()">Disable Debug Mode</a></p>
<!-- require:dependencies -->
<script src="js/jquery.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="../build/lib/jquery.slimscroll.js"></script>
<script src="../build/lib/jquery.fullscreen.js"></script>
<!-- <script src="../build/lib/jsxc.dep.js"></script> -->
<!-- endrequire -->
<script src="../node_modules/simplebar/dist/simplebar.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- jsxc library -->
<script src="../bundle.js"></script>
<script>
$('#loginForm').submit(function(ev){
ev.preventDefault();
var url = $(this).find('[name="url"]').val();
var jid = $(this).find('[name="jid"]').val();
var password = $(this).find('[name="password"]').val();
jsxc.start(url, jid, password);
});
</script>
</body>
</html>
+51
Ver Arquivo
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg8"
version="1.1"
viewBox="0 0 3.1749999 3.1750001"
height="12"
width="12"
inkscape:version="0.91 r13725"
sodipodi:docname="presence_online.svg">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1879"
inkscape:window-height="1176"
id="namedview5307"
showgrid="false"
inkscape:zoom="55.625733"
inkscape:cx="3.7142348"
inkscape:cy="6.3732363"
inkscape:window-x="1241"
inkscape:window-y="24"
inkscape:window-maximized="1"
inkscape:current-layer="svg8" />
<defs
id="defs2" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

Depois

Largura:  |  Altura:  |  Tamanho: 1.4 KiB

+100
Ver Arquivo
@@ -0,0 +1,100 @@
// jshint node:true
// var path = require('path');
var webpackConfig = require('./webpack.config.js');
module.exports = function(config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: [ /*'karma-typescript',*/ 'mocha', 'chai'],
// list of files / patterns to load in the browser
files: [
'./node_modules/jquery/dist/jquery.min.js',
'./node_modules/strophe.js/strophe.js',
'./node_modules/es6-promise/dist/es6-promise.js',
'test/*.spec.ts',
'test/**/*.spec.ts'
],
// list of files to exclude
exclude: [],
// webpack configuration
webpack: {
devtool: 'eval-source-map',
module: webpackConfig.module,
resolve: webpackConfig.resolve,
//externals: webpackConfig.externals,
// target: 'node',
node: {
fs: 'empty'
}
},
webpackMiddleware: {
quiet: false,
stats: {
colors: true
}
},
mime: {
'text/x-typescript': ['ts', 'tsx']
},
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'test/**/*.spec.ts': ['webpack' /*'karma-typescript'*/ ]
},
karmaTypescriptConfig: {
include: ['test/**/*.spec.ts']
},
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: [ /*'progress', 'karma-typescript',*/ 'mocha'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_DEBUG,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['Chrome'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultaneous
concurrency: Infinity
});
};
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": "Bitte installieren Sie die Erweiterung um ihren Bildschirm zu teilen: ",
"Connection_accepted": "Verbindung angenommen",
"Stream_terminated": "Stream beendet",
"Close_all": "Schließe alle"
"Close_all": "Schließe alle",
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": "Veuillez installer l'extension afin d'utiliser le partage d'écran: ",
"Connection_accepted": "Connexion acceptée",
"Stream_terminated": "Flux terminé",
"Close_all": "Tout fermer"
"Close_all": "Tout fermer",
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": "Ekran paylaşımını kullanabilmek için lütfen eklentiyi yükleyin: ",
"Connection_accepted": "Bağlantı kabul edildi",
"Stream_terminated": "Akış sonlandırıldı",
"Close_all": "Hepsini kapat"
"Close_all": "Hepsini kapat",
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": "要使用螢幕分享功能請安裝這個擴充套件: ",
"Connection_accepted": "連線接受了",
"Stream_terminated": "串流結束了",
"Close_all": "全部關掉"
"Close_all": "全部關掉",
"Notification": null,
"Unreadable_OTR_message": null
}
}
+3 -1
Ver Arquivo
@@ -299,6 +299,8 @@
"Install_extension": null,
"Connection_accepted": null,
"Stream_terminated": null,
"Close_all": null
"Close_all": null,
"Notification": null,
"Unreadable_OTR_message": null
}
}
+52 -23
Ver Arquivo
@@ -1,6 +1,6 @@
{
"name": "jsxc",
"version": "3.1.0-beta.2",
"version": "3.1.1",
"description": "Real-time xmpp chat application with video calls, file transfer and encrypted communication",
"homepage": "http://www.jsxc.org/",
"bugs": "https://github.com/jsxc/jsxc/issues",
@@ -10,30 +10,59 @@
"type": "git",
"url": "https://github.com/jsxc/jsxc"
},
"scripts": {
"start": "webpack --config webpack.config.js",
"dev": "webpack --config webpack.config.js --watch",
"test": "karma start"
},
"devDependencies": {
"@types/chai": "^4.0.0",
"@types/jquery": "^3.2.3",
"@types/mocha": "^2.2.41",
"@types/simplebar": "^2.4.0",
"@types/sinon": "^2.3.1",
"autoprefixer-core": "^6.0.1",
"bower": "^1.8.0",
"grunt": "^1.0.1",
"grunt-autoprefixer": "^3.0.4",
"grunt-banner": "~0.6.0",
"grunt-contrib-clean": "~1.0.0",
"grunt-contrib-compress": "^1.4.1",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "~1.0.0",
"grunt-contrib-csslint": "^2.0.0",
"grunt-contrib-jshint": "~1.1.0",
"grunt-contrib-uglify": "^2.0.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-data-uri": "^0.3.0",
"grunt-html-convert": "0.0.2",
"grunt-jsbeautifier": "^0.2.13",
"grunt-jsdoc": "^2.1.0",
"grunt-merge-data": "^0.4.5",
"grunt-prettysass": "^0.2.3",
"grunt-sass": "2.0.0",
"grunt-scss-lint": "^0.5.0",
"grunt-search": "^0.1.8",
"grunt-text-replace": "~0.4.0",
"node-sass": "4.3.0"
"chai": "^4.0.2",
"css-loader": "^0.28.4",
"es6-promise": "^4.1.0",
"extract-text-webpack-plugin": "^2.1.2",
"handlebars-loader": "^1.5.0",
"handlebars-runtime": "^1.0.12",
"i18next": "^8.4.2",
"karma": "^1.7.0",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^2.1.1",
"karma-firefox-launcher": "^1.0.1",
"karma-mocha": "^1.3.0",
"karma-mocha-reporter": "^2.2.3",
"karma-phantomjs-launcher": "^1.0.4",
"karma-sinon": "^1.0.5",
"karma-spec-reporter": "0.0.31",
"karma-typescript": "^3.0.4",
"karma-webpack": "^2.0.3",
"mocha": "^3.4.2",
"node-sass": "^4.5.3",
"precompile-handlebars": "^1.0.5",
"resolve-url-loader": "^2.0.3",
"sass-loader": "^6.0.6",
"sinon": "^2.3.5",
"strophe": "^1.2.4",
"ts-loader": "^2.2.0",
"ts-node": "^3.1.0",
"typescript": "^2.3.4",
"webpack": "^3.0.0"
},
"dependencies": {
"@types/emojione": "^2.2.1",
"@types/handlebars": "^4.0.33",
"@types/strophe": "^1.2.28",
"i18next": "^7.1.1",
"jquery": "^3.2.1",
"magnific-popup": "^1.1.0",
"moment": "^2.18.1",
"simplebar": "^2.4.3",
"strophe.js": "^1.2.14",
"tslib": "^1.7.1"
}
}
-72
Ver Arquivo
@@ -1,72 +0,0 @@
@import "modules";
#jsxc_buddylist {
list-style: none;
padding: 0;
margin: 0;
width: 204px;
z-index: 85;
.jsxc_unreadMsg {
.jsxc_name {
padding-right: 0;
}
}
.jsxc_oneway {
.jsxc_avatar, .jsxc_caption {
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;
}
}
}
.jsxc_more {
margin-right: 6px;
z-index: 10;
position: relative;
}
.jsxc_options {
height: 20px;
float: left;
border-radius: 2px;
background-color: $roster_icon_bg;
> div {
height: 20px;
width: 20px;
float: left;
margin-right: 0 1px;
background-repeat: no-repeat;
background-position: center center;
opacity: 0.6;
cursor: pointer;
&:hover {
opacity: 1;
}
}
}
&.jsxc_hideOffline {
.jsxc_rosteritem[data-status='offline'] {
display: none;
}
}
}
-57
Ver Arquivo
@@ -1,57 +0,0 @@
@import "../lib/magnific-popup/src/css/main";
@import "../lib/emojione/assets/css/emojione";
// BEGIN: bootstrap
@import "../lib/bootstrap/assets/stylesheets/bootstrap/variables";
@import "../lib/bootstrap/assets/stylesheets/bootstrap/mixins";
// Spec and IE10+
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
#jsxc_dialog {
@import "../lib/bootstrap/assets/stylesheets/bootstrap/progress-bars";
}
#jsxc_dialog, #jsxc_webrtc {
@import "../lib/bootstrap/assets/stylesheets/bootstrap/utilities";
@import "../lib/bootstrap/assets/stylesheets/bootstrap/code";
@import "../lib/bootstrap/assets/stylesheets/bootstrap/grid";
@import "../lib/bootstrap/assets/stylesheets/bootstrap/alerts";
@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: 0;
.progress-bar {
width: 100%;
}
}
.mfp-close {
font-size: 23px;
}
}
.mfp-bg {
z-index: 9000;
}
.mfp-wrap {
z-index: 9010;
}
.mfp-content {
text-align: center;
}
// END: bootstrap
-530
Ver Arquivo
@@ -1,530 +0,0 @@
.jsxc_right {
text-align: right;
}
.jsxc_center {
text-align: center;
}
.jsxc_hidden {
display: none;
}
.jsxc_clear {
clear: both;
}
.jsxc_uppercase {
text-transform: uppercase;
}
.jsxc_sep {
border-top: 1px solid $separator;
}
.jsxc_name {
overflow: hidden;
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
}
.jsxc_maxWidth {
max-width: 500px;
}
.jsxc_meta {
text-align: right;
font-style: italic;
}
#jsxc_dialog {
padding: 20px;
min-width: 320px;
max-width: 100%;
display: inline-block;
text-align: left;
position: relative;
background: #FFF;
width: auto;
* {
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;
}
}
table {
margin-bottom: 1em;
}
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;
padding: 0 30px;
border: 1px solid #d9d9d9;
h3 {
font-size: 15px;
color: #000;
background-color: #f2f2f2;
padding: 10px;
margin: 0 -30px 10px;
}
}
}
legend {
border: 0;
font-size: 20px;
}
input {
outline: none;
&:invalid {
border: 1px solid $dialog_input_invalid;
}
}
.btn-group button {
margin-right: 0;
}
input[readonly] {
background-color: $dialog_input_readonly_bg;
}
.jsxc_inputinfo {
padding: 0;
font-style: italic;
margin: 0;
}
.jsxc_waiting {
&:before {
content: " ";
width: 1em;
height: 1em;
display: inline-block;
background-size: 100%;
margin: 0 3px 0 0;
background-image: image-url("loading.gif");
}
}
.jsxc_libraries, .jsxc_credits {
max-width: 300px;
}
.jsxc_warning {
display: block;
background-color: #fbfe7a;
padding: 3px 10px;
border-radius: 3px;
}
}
.jsxc_avatar {
width: 36px;
height: 36px;
line-height: 36px;
margin: 0 5px;
background-color: $avatar_bg;
border-radius: 50%;
float: left;
text-align: center;
font-weight: bold;
font-size: 30px;
color: $avatar_color;
position: relative;
font-family: $font_sans;
background-size: cover;
background-position: center center;
img {
display: block;
width: 25px;
height: 25px;
position: absolute;
top: 0;
left: 0;
}
&:before {
position: absolute;
top: -2px;
left: -6px;
border: 2px solid $roster_bg;
}
}
ul.jsxc_vCard {
min-width: 400px;
ul {
margin-left: 20px;
}
li {
cursor: default !important;
}
}
// Spot which is attached to xmpp: uris
.jsxc_spot {
display: inline-block;
width: 12px;
height: 12px;
border-radius: 50%;
text-indent: -99999em;
margin-top: 3px;
margin-right: 5px;
line-height: 100%;
cursor: pointer;
border: 1px solid $spot_border;
background-color: $white;
&:before {
position: absolute;
}
&.jsxc_online, &.jsxc_chat, &.jsxc_away, &.jsxc_xa, &.jsxc_dnd, &.jsxc_offline {
border: 0;
}
}
.jsxc_unread {
display: none;
}
.jsxc_unreadMsg {
.jsxc_name {
font-style: italic;
}
.jsxc_unread {
display: block;
background-color: $unread_bg;
border-radius: 11px;
color: $unread_color;
font-size: 80%;
padding: 2px;
line-height: 15px;
float: right;
margin-right: 3px;
margin-top: 4px;
}
}
// TODO: check if required
.jsxc_list {
.jsxc_inner {
box-sizing: border-box;
max-height: 0;
transition: max-height 0.5s;
overflow: hidden;
visibility: hidden;
position: absolute;
bottom: 100%;
left: 0;
}
&.jsxc_opened {
.jsxc_inner {
max-height: 1000px;
visibility: visible;
display: block;
}
}
}
#cboxWrapper {
outline: none;
}
.jsxc_loading {
margin: 0 auto;
width: 32px;
height: 32px;
border: 0;
background-size: 32px 32px !important;
background: image-url("loading.gif");
}
// @TODO: check
#jsxc_loginForm input[type='submit'] {
height: 34px;
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: normal;
line-height: 1.428571429;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
border: 1px solid transparent;
border-radius: 4px;
user-select: none;
color: $white;
background-color: $loginForm_bg;
border-color: $loginForm_border;
}
.jsxc_oneway .jsxc_avatar {
filter: grayscale(100%);
}
img.jsxc_vCard {
float: right;
max-width: 200px;
max-height: 200px;
border: 5px solid $white;
border-radius: 2px;
}
.jsxc_alert {
padding: 15px;
margin-bottom: 20px;
border: 1px solid transparent;
border-radius: 4px;
&.jsxc_alert-warning {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
}
.jsxc_btn {
width: auto;
min-width: 25px;
display: inline-block;
padding: 6px 12px;
margin: 0 2px;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
transition: background-color 0.5s;
&.jsxc_btn-default {
border-color: #ccc;
color: #555;
background-color: rgba(240, 240, 240, 0.9);
&:hover {
background-color: #d6d6d6;
}
}
&.jsxc_btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
&:hover {
background-color: #296496;
}
}
&[disabled], &[disabled]:hover {
opacity: 0.65;
cursor: not-allowed;
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
}
.jsxc_menu {
display: none;
position: absolute;
background-color: #FFF;
color: #333;
border-radius: 3px;
z-index: 110;
margin: 8px 2px 5px 10px;
right: 0;
filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
padding: 4px 12px;
padding-left: 5px;
&:after {
bottom: 100%;
right: 6px;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-color: rgba(238, 238, 238, 0);
border-bottom-color: #fff;
border-width: 10px;
}
&.jsxc_open {
display: block;
}
ul {
list-style: none;
margin: 0;
padding: 0;
}
li {
border: 0;
cursor: auto;
}
a {
color: #000;
opacity: 0.5;
white-space: nowrap;
&:hover {
text-decoration: none;
opacity: 1;
}
&.jsxc_disabled {
text-decoration: line-through;
opacity: 0.5;
&:hover {
text-decoration: line-through;
opacity: 0.5;
}
span {
cursor: default;
}
}
}
.jsxc_icon {
width: 16px;
height: 16px;
margin-right: 8px;
display: inline-block;
background-repeat: no-repeat;
background-size: contain;
background-position: center;
vertical-align: sub;
}
}
.jsxc_editicon {
background-image: image-url("edit_black.svg");
}
.jsxc_deleteicon {
background-image: image-url("delete_black.svg");
}
.jsxc_chaticon {
background-image: image-url("speech_balloon_black.svg");
}
.jsxc_videoicon {
background-image: image-url("camera_icon_black.svg");
}
.jsxc_infoicon {
background-image: image-url("info_black.svg");
}
.jsxc_settingsicon {
background-image: image-url("gear_black.svg");
}
.jsxc_helpicon {
background-image: image-url("help_black.svg");
}
.jsxc_contacticon {
background-image: image-url("contact_black.svg");
}
.jsxc_groupcontacticon {
background-image: image-url("groupcontact_black.svg");
}
.jsxc_bookmarkicon {
background-image: image-url("bookmark_black.svg");
}
.jsxc_announcementicon {
background-image: image-url("megaphone_icon_black.svg");
}
.jsxc_more {
float: right;
width: 44px;
height: 100%;
cursor: pointer;
background-image: image-url("more_black.svg");
background-repeat: no-repeat;
background-position: center;
opacity: 0.4;
&:hover {
opacity: 1;
}
@media (min-width: 768px) {
width: 25px;
}
}
-399
Ver Arquivo
@@ -1,399 +0,0 @@
#jsxc_roster {
position: fixed;
top: 0;
bottom: 0;
right: 0;
width: 200px;
overflow: visible;
border-left: 1px solid #e1e1e1;
display: none;
// border-left: 1px solid $roster_border_left;
z-index: 80;
margin-left: 10px;
background-color: $roster_bg;
a {
cursor: pointer;
}
.slimScrollDiv {
margin-bottom: 30px;
z-index: 40;
}
.jsxc_wait {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 160px;
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;
margin: 0;
height: 35px;
padding: 7px 6px 5px;
font-size: 13px;
width: 145px;
border: 1px solid #ddd;
box-sizing: border-box;
background-image: none;
background-color: $roster_input_bg;
border-radius: 3px;
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 {
display: block;
right: -200px;
transition: right 0.5s;
#jsxc_toggleRoster {
&:before {
transform: rotate(0deg);
}
}
}
&.jsxc_state_shown {
display: block;
right: 0;
transition: right 0.5s;
}
> .jsxc_bottom {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
line-height: 34px;
background-color: $roster_bottom_bg;
z-index: 50;
padding-right: 4px;
&:hover {
background-color: $roster_bottom_bg_hover;
}
.jsxc_inner {
width: 100%;
}
ul {
padding: 0;
margin: 0;
width: 100%;
border-top: 1px solid $roster_bottom_border_top;
background-color: $roster_bottom_bg;
li:last-child {
border-bottom: 1px solid $roster_bottom_border_top;
}
}
li {
height: 44px;
background-color: $roster_bottom_bg;
color: $roster_bottom_color;
cursor: pointer;
width: 100%;
padding-left: 44px;
line-height: 44px;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
background-repeat: no-repeat;
background-position: 15px center;
background-size: 16px 16px;
opacity: 0.8;
&.jsxc_disabled {
color: $roster_bottom_disabled;
cursor: default;
}
&:hover:not(.jsxc_disabled) {
color: $roster_bottom_color_hover;
background-color: $roster_bottom_bg_hover;
}
&.jsxc_warning {
background-color: $warning_bg;
&:hover {
background-color: $warning_bg_hover;
}
}
}
> div > span {
cursor: pointer;
}
}
}
#jsxc_toggleRoster {
width: 14px;
height: 100%;
position: absolute;
left: -14px !important;
top: 0;
z-index: 110;
background-color: transparent;
cursor: pointer;
&:hover {
background-color: $roster_toggle_hover;
}
&:before {
content: " ";
position: absolute;
display: block;
width: 0;
top: 50%;
right: 0;
border-style: solid;
border-width: 6px 4px 6px 0;
border-color: transparent $roster_bg;
transform: rotate(180deg);
}
}
.jsxc_rosteritem {
padding: 0;
margin: 0;
height: 44px;
border-bottom: 1px solid $roster_bottom_border_top;
cursor: pointer;
width: 100%;
position: relative;
color: $roster_color;
font-family: $font_sans;
line-height: 44px;
padding-left: 6px;
padding-top: 4px;
padding-bottom: 4px;
box-sizing: border-box;
&:hover {
background-color: $roster_bg_hover;
}
&.jsxc_bookmarked {
.jsxc_avatar:after {
content: " ";
width: 20%;
height: 30%;
position: absolute;
top: 0;
right: 2px;
background-size: contain;
background-repeat: no-repeat;
background-image: image-url("bookmark_red.svg");
}
}
}
.jsxc_caption {
padding-right: 30px;
height: 100%;
line-height: 100%;
// padding-top: 4px;
box-sizing: border-box;
* {
cursor: pointer;
}
.jsxc_name {
height: 100%;
line-height: 40px;
.jsxc_min & {
height: 50%;
line-height: 20px;
}
.jsxc_rosteritem & {
height: 50%;
line-height: 20px;
}
}
.jsxc_lastmsg {
font-size: 12px;
display: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
.jsxc_min & {
display: block;
height: 50%;
line-height: 17.5px;
}
.jsxc_rosteritem & {
display: block;
height: 50%;
line-height: 17.5px;
}
.jsxc_text {
opacity: 0.6;
}
.jsxc_unread {
line-height: 100%;
font-size: 8px;
color: #fff;
text-align: center;
display: none;
height: 1em;
width: 1em;
border-radius: 50%;
background-color: orange;
vertical-align: top;
margin: 0;
float: none;
.jsxc_unreadMsg & {
display: inline-block !important;
}
}
.jsxc_emoticon {
vertical-align: middle;
}
}
}
#jsxc_avatar {
cursor: default !important;
}
#jsxc_presence {
cursor: pointer;
padding-left: 2px;
overflow: hidden;
> span {
opacity: 0.8;
}
li {
position: relative;
&:before {
// Presence indicator
position: absolute;
top: 50%;
left: 10px;
margin-top: -8px;
border: 2px solid whitesmoke;
}
}
}
#jsxc_menu {
height: 44px;
width: 44px;
cursor: pointer;
float: right;
text-align: center;
&:hover > span {
opacity: 1;
}
> span {
opacity: 0.5;
display: block;
width: 100%;
height: 100%;
background-image: image-url("menu_black.svg");
background-repeat: no-repeat;
background-position: center 10px;
background-size: 17px;
}
@media (min-width: 768px) {
height: 30px;
width: 30px;
}
}
#jsxc_notice {
height: 30px;
width: 30px;
float: right;
text-align: center;
line-height: 30px;
span {
background-color: $notice_bg;
border-radius: 11px;
color: $notice_color;
font-size: 80%;
padding: 2px;
position: relative;
animation: bounce 2s 1s infinite;
}
> span:empty {
display: none;
}
}
-49
Ver Arquivo
@@ -1,49 +0,0 @@
.jsxc_online, .jsxc_chat, .jsxc_away, .jsxc_xa, .jsxc_dnd {
&:before {
content: " ";
display: block;
width: 12px;
height: 12px;
border-radius: 100%;
line-height: 12px;
text-align: center;
color: #fff;
z-index: 99;
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
box-sizing: content-box;
}
}
.jsxc_online:before {
background-color: $state_online;
}
.jsxc_chat:before {
background-image: image-url("presence_chat.svg");
background-color: $state_chat;
}
.jsxc_away:before {
background-image: image-url("presence_away.svg");
background-color: $state_away;
}
.jsxc_xa:before {
background-image: image-url("presence_xa.svg");
background-color: $state_xa;
}
.jsxc_dnd:before {
background-image: image-url("presence_dnd.svg");
background-color: $state_dnd;
}
.jsxc_hidden {
display: none;
}
.jsxc_invalid {
border: 2px solid $invalid_border !important;
}
-706
Ver Arquivo
@@ -1,706 +0,0 @@
#jsxc_windowList {
position: fixed;
bottom: 0;
right: 210px;
left: 0;
z-index: 50;
transition: right 0.5s;
&.jsxc_roster_hidden {
right: 10px;
}
@media (min-width: 768px) {
clip: rect(-10000px, 10000px, 30px, 30px);
}
> ul {
list-style: none;
padding: 0;
margin: 0;
position: absolute;
bottom: 0;
right: 0;
height: 44px;
overflow: visible;
white-space: nowrap;
transition: right 0.5s;
> li {
padding: 0;
margin: 0;
display: inline-block;
height: 44px;
width: 46px;
position: relative;
overflow: visible;
margin-right: 5px;
cursor: pointer;
white-space: normal;
&.jsxc_normal {
transition: width 0.2s;
width: 250px;
}
&.jsxc_min {
transition: width 0.2s;
width: 46px !important;
// overwrite resizeable width
@media (min-width: 768px) {
width: 200px !important;
}
.jsxc_emoticons {
display: none;
}
.jsxc_tools {
display: none;
}
}
}
}
}
#jsxc_windowListSB {
position: fixed;
left: 0;
bottom: 0;
width: 30px;
height: 30px;
@media (max-width: 768px) {
display: none;
}
> {
div {
box-sizing: border-box;
width: 14px;
height: 100%;
background-color: $windowListSB_bg;
color: $windowListSB_color;
text-align: center;
line-height: 30px;
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;
cursor: default !important;
display: none;
}
}
}
.jsxc_bar {
background-color: $window_bar_bg;
cursor: pointer;
height: 44px;
line-height: 26px;
padding: 2px;
color: $window_bar_color;
width: 100%;
box-sizing: border-box;
position: relative;
&:hover {
.jsxc_normal & {
color: $window_bar_color_hover;
}
}
.jsxc_tools {
&:hover {
.jsxc_normal & {
color: #000;
}
}
}
.jsxc_min & {
background-color: $window_min_bar_bg;
color: $window_min_bar_color;
}
}
.jsxc_window {
position: absolute;
bottom: -284px;
top: auto;
left: 0;
right: 0;
height: auto;
background-color: $window_bg;
z-index: 80;
cursor: default;
border: 1px solid $window_border;
border-bottom: 0;
.jsxc_min & {
transition: bottom 0.2s;
}
.jsxc_normal & {
transition: bottom 0.2s;
}
.jsxc_showOverlay & {
.jsxc_overlay {
display: block !important;
}
}
.jsxc_emoticons {
height: 44px;
width: 44px;
position: absolute;
bottom: 0;
left: 0;
cursor: pointer;
&:after {
content: " ";
background-image: image-url("smiley.svg");
background-position: center center;
background-repeat: no-repeat;
background-size: 30px 30px;
opacity: 0.3;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.jsxc_inner {
left: 5px;
}
ul {
width: 210px;
margin-bottom: 8px;
background-color: $emoticon_selection_bg;
border-radius: 3px;
z-index: 200;
list-style-type: none;
padding: 3px;
position: relative;
&:after {
content: " ";
position: absolute;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 8px solid $emoticon_selection_bg;
display: block;
width: 0;
z-index: 1;
left: 7px;
top: 100%;
}
}
li {
div {
float: left;
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_overlay {
display: none;
background-color: rgba(0, 0, 0, 0.5);
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 100;
overflow-y: scroll;
> div {
background-color: #fff;
margin: 30px 10px;
padding: 5px;
border-radius: 3px;
text-align: center;
position: relative;
.jsxc_close {
position: absolute;
top: 0;
right: 0;
height: 44px;
width: 44px;
&:after {
content: "×";
position: absolute;
top: 4px;
right: 4px;
font-size: 20px;
font-family: Arial, sans-serif;
cursor: pointer;
color: #000;
opacity: 0.4;
}
&:hover {
&:after {
opacity: 1;
}
}
@media (min-width: 768px) {
width: 30px;
height: 30px;
}
}
.jsxc_body {
margin-top: 20px;
}
p {
margin-bottom: 10px;
}
li {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
a:hover {
text-decoration: underline;
}
}
}
}
.jsxc_avatar {
margin-top: 1px;
}
.jsxc_textarea {
width: 100%;
overflow: hidden;
padding: 3px;
}
.slimScrollDiv {
margin: 0 0 6px;
left: auto !important;
top: auto !important;
}
textarea {
&.jsxc_textinput {
width: 100%;
height: 44px;
margin: 0;
padding: 14px 40px 12px;
outline: none;
border-radius: 0;
box-sizing: border-box;
border: 0;
display: block;
resize: none;
transition: height 0.5s;
font-size: 13px;
}
&::placeholder {
color: $window_placeholder;
opacity: 0.3;
}
}
.jsxc_tools {
float: right;
> .jsxc_disabled {
opacity: 0.3;
cursor: default !important;
}
> div {
width: 25px;
height: 40px;
display: block;
float: left;
color: $tools_color;
opacity: 0.4;
font-family: $font_sans;
line-height: 40px;
cursor: pointer;
text-align: center;
&.jsxc_settings {
opacity: 1;
}
}
}
.jsxc_close {
font-size: 20px;
&:hover {
color: $window_close_hover;
opacity: 1;
}
}
.jsxc_more {
background-image: image-url("more_white.svg");
opacity: 0.4;
}
.ui-resizable-w {
left: 0;
}
.ui-resizable-nw {
top: 0;
left: 0;
width: 15px;
height: 15px;
z-index: 95 !important;
background-image: image-url("resize_gray.svg");
}
.ui-resizable-n {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 15px;
z-index: 100;
}
}
.jsxc_chatmessage {
margin: 3px;
padding: 4px;
word-wrap: break-word;
background-color: $chatmessage_bg;
position: relative;
outline: none;
clear: both;
&.jsxc_error {
opacity: 0.7;
&:before {
content: " ";
position: absolute;
top: 3px;
right: 3px;
width: 8px;
height: 8px;
background-color: yellow;
}
}
a {
color: $chatmessage_a;
text-decoration: underline;
display: inline-block;
max-width: 100%;
position: relative;
&[download]:before {
content: " ";
position: absolute;
top: 0;
right: 0;
bottom: 5px;
left: 0;
border-radius: 3px;
background-color: rgba(255, 255, 255, 0.7);
background-image: url("../img/download_icon_black.svg");
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
opacity: 0;
transition: opacity 0.5s;
}
&[download]:hover {
&:before {
opacity: 0.6;
}
}
}
img {
max-width: 100%;
}
.jsxc_avatar {
display: none;
}
.jsxc_attachment {
border-radius: 3px;
background-color: #fff;
padding: 3px;
padding-left: 30px;
min-height: 30px;
margin-bottom: 5px;
background-position: 3px center;
background-size: 25px 25px;
background-repeat: no-repeat;
background-image: image-url("filetypes/file.svg");
img {
border-radius: 3px;
}
&.jsxc_image {
line-height: 0;
padding: 0;
background-image: url("");
display: inline-block;
}
&.jsxc_application {
background-image: image-url("filetypes/application.svg");
}
&.jsxc_application-pdf {
background-image: image-url("filetypes/application-pdf.svg");
}
&.jsxc_audio {
background-image: image-url("filetypes/audio.svg");
}
&.jsxc_video {
background-image: image-url("filetypes/video.svg");
opacity: 1;
}
&.jsxc_text {
background-image: image-url("filetypes/text.svg");
}
}
}
.jsxc_timestamp {
font-size: 8px;
color: $chatmessage_timestamp;
line-height: 8px;
overflow: hidden;
white-space: nowrap;
max-width: 100%;
text-overflow: ellipsis;
clear: both;
}
.jsxc_encrypted {
&.jsxc_received.jsxc_out .jsxc_timestamp {
margin-right: 1px;
}
.jsxc_timestamp:after {
content: " ";
display: inline-block;
width: 10px;
height: 8px;
margin-left: 2px;
background-image: image-url("padlock_close_grey.svg");
background-size: contain;
background-repeat: no-repeat;
}
}
.jsxc_in {
float: left;
position: relative;
max-width: 76%;
margin-left: 10px;
border-radius: 3px;
background-color: $chatmessage_in_bg;
&:after {
content: " ";
position: absolute;
border-style: solid;
border-width: 5px 6px 5px 0;
border-color: transparent $chatmessage_in_bg;
display: block;
width: 0;
z-index: 1;
left: -6px;
bottom: 10px;
}
.jsxc_timestamp {
float: left;
}
}
.jsxc_out {
float: right;
position: relative;
max-width: 76%;
margin-right: 10px;
padding-right: 10px;
border-radius: 3px;
background-color: $chatmessage_out_bg;
&:after {
content: " ";
position: absolute;
border-style: solid;
border-width: 5px 0 5px 6px;
border-color: transparent $chatmessage_out_bg;
display: block;
width: 0;
z-index: 1;
right: -6px;
bottom: 10px;
}
&.jsxc_received {
&:before {
content: "";
position: absolute;
bottom: 2px;
right: 2px;
font-size: 12px;
line-height: 12px;
color: $chatmessage_received;
}
.jsxc_timestamp {
margin-right: 4px;
}
}
.jsxc_timestamp {
float: right;
}
}
.jsxc_sys {
width: auto;
max-width: none;
padding-right: 4px;
box-sizing: border-box;
margin-right: 3px;
border-radius: 3px;
background-color: transparent;
font-size: 0.8em;
font-style: italic;
.jsxc_emoticon {
width: 1.2em;
height: 1.2em;
vertical-align: middle;
}
&.jsxc_composing {
text-align: center;
font-size: 0.9em;
font-style: italic;
display: block;
opacity: 0;
overflow: hidden;
transition: opacity 0.6s;
&:before {
content: " ";
width: 1.5em;
height: 1em;
display: inline-block;
background-size: 80%;
background-repeat: no-repeat;
margin: 0 3px 0 0;
background-image: image-url("composing.png");
}
&.jsxc_fadein {
opacity: 1;
}
}
}
div.jsxc_settings {
position: relative;
.jsxc_inner {
left: auto;
top: 100%;
right: -6px;
}
}
div.jsxc_transfer {
background-image: image-url("padlock_open_black.svg");
background-repeat: no-repeat;
background-position: center center;
background-size: 14px 14px;
opacity: 0.3;
height: 44px;
width: 44px;
position: absolute;
bottom: 0;
right: 0;
cursor: pointer;
&:hover {
opacity: 1;
}
&.jsxc_disabled {
background-image: image-url("padlock_open_disabled_black.svg");
cursor: default;
&:hover {
opacity: 0.3;
}
}
&.jsxc_fin {
opacity: 1;
background-image: image-url("padlock_close_grey.svg");
}
&.jsxc_enc {
opacity: 1;
background-image: image-url("padlock_close_orange.svg");
&.jsxc_trust {
background-image: image-url("padlock_close_green.svg");
}
}
}
-17
Ver Arquivo
@@ -1,17 +0,0 @@
@import "colors";
@import "dep";
//fonts
$font_sans: Arial, sans-serif;
$font_serif: serif;
@import "modules";
@import "buddylist";
@import "state";
@import "emoticons";
@import "roster";
@import "window";
@import "muc";
@import "_jsxc";
@import "webrtc";
+20
Ver Arquivo
@@ -0,0 +1,20 @@
@import "modules/all";
@import "vendor/all";
//fonts
$font_sans: Arial, sans-serif;
$font_serif: serif;
@import "partials/button";
@import "partials/dialog";
@import "partials/emoticons";
@import "partials/icon";
@import "partials/jsxc";
@import "partials/menu";
@import "partials/roster";
@import "partials/webrtc";
@import "partials/window-list";
@import "partials/window";
@import "partials/jsxc";
@import "partials/webrtc";
+5
Ver Arquivo
@@ -0,0 +1,5 @@
@import "animation";
@import "colors";
@import "muc";
@import "webrtc";
@import "presence";
@@ -25,12 +25,23 @@ $dialog_input_invalid: $red;
$dialog_input_readonly_bg: $gray90;
$spot_bg: $white;
$spot_border: $black;
$state_online: green;
$state_chat: green;
$state_away: $orange;
$state_xa: $orange;
$state_dnd: $red;
$state_offline: $gray60;
$presenceColors: (
online: green,
chat: green,
away: $orange,
xa: $orange,
dnd: $red,
offline: $gray60
);
$notice_bg: $orange;
$notice_color: $black;
$window_unread_cycle: $orange;
+6
Ver Arquivo
@@ -0,0 +1,6 @@
%muc-avatar-icon {
text-indent: 999px;
background-image: url("../img/group_white.svg");
background-size: 70% 70% !important;
background-repeat: no-repeat;
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
$presences: online chat away xa dnd;
@mixin presenceIndicator($target) {
@each $presence in $presences {
[data-presence="#{$presence}"] #{$target} {
&:before {
content: "";
display: block;
width: 12px;
height: 12px;
border-radius: 100%;
line-height: 12px;
text-align: center;
color: #fff;
z-index: 99;
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
box-sizing: content-box;
background-image: url("../img/presence_#{$presence}.svg");
background-color: map-get($presenceColors, $presence);
}
}
}
}
+9
Ver Arquivo
@@ -0,0 +1,9 @@
%fullscreen {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 9000;
background-color: $fullscreen_bg;
}
+47
Ver Arquivo
@@ -0,0 +1,47 @@
.jsxc-btn {
width: auto;
min-width: 25px;
display: inline-block;
padding: 6px 12px;
margin: 0 2px;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
transition: background-color 0.5s;
&.jsxc-btn-default {
border-color: #ccc;
color: #555;
background-color: rgba(240, 240, 240, 0.9);
&:hover {
background-color: #d6d6d6;
}
}
&.jsxc-btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
&:hover {
background-color: #296496;
}
}
&[disabled], &[disabled]:hover {
opacity: 0.65;
cursor: not-allowed;
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
}
+127
Ver Arquivo
@@ -0,0 +1,127 @@
.jsxc-dialog {
padding: 20px;
min-width: 320px;
max-width: 100%;
display: inline-block;
text-align: left;
position: relative;
background: #FFF;
width: auto;
* {
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;
}
}
table {
margin-bottom: 1em;
}
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;
padding: 0 30px;
border: 1px solid #d9d9d9;
h3 {
font-size: 15px;
color: #000;
background-color: #f2f2f2;
padding: 10px;
margin: 0 -30px 10px;
}
}
}
legend {
border: 0;
font-size: 20px;
}
input {
outline: none;
&:invalid {
border: 1px solid $dialog_input_invalid;
}
}
.btn-group button {
margin-right: 0;
}
input[readonly] {
background-color: $dialog_input_readonly_bg;
}
.jsxc-inputinfo {
padding: 0;
font-style: italic;
margin: 0;
}
.jsxc-waiting {
&:before {
content: " ";
width: 1em;
height: 1em;
display: inline-block;
background-size: 100%;
margin: 0 3px 0 0;
background-image: url("../img/loading.gif");
}
}
.jsxc-libraries, .jsxc-credits {
max-width: 300px;
}
.jsxc-warning {
display: block;
background-color: #fbfe7a;
padding: 3px 10px;
border-radius: 3px;
}
}
@@ -1,4 +1,4 @@
.jsxc_emoticon {
.jsxc-emoticon {
display: inline-block;
width: 19px;
height: 19px;
@@ -6,14 +6,14 @@
border: 0;
vertical-align: bottom;
&.jsxc_large {
&.jsxc-large {
width: 40px;
height: 40px;
margin-bottom: 7px;
}
}
#jsxc_roster .jsxc_emoticon.jsxc_large {
#jsxc-roster .jsxc-emoticon.jsxc-large {
width: 19px;
height: 19px;
}
@@ -21,7 +21,7 @@
$emoticons: angel, angry, smile, grin, sad, wink, tonguesmile, surpised, kiss, sunglassess, crysad, doubt, zip, thumbsup, thumbsdown, beer, devil, kissing, rose, music, love, tired, surprised;
@each $emoticon in $emoticons {
.jsxc_#{$emoticon} {
background: image-url("emotions/#{$emoticon}.png");
.jsxc-#{$emoticon} {
background: url("../img/emotions/#{$emoticon}.png");
}
}
+43
Ver Arquivo
@@ -0,0 +1,43 @@
.jsxc-icon-edit {
background-image: url("../img/edit_black.svg");
}
.jsxc-icon-delete {
background-image: url("../img/delete_black.svg");
}
.jsxc-icon-chat {
background-image: url("../img/speech_balloon_black.svg");
}
.jsxc-icon-video {
background-image: url("../img/camera_icon_black.svg");
}
.jsxc-icon-info {
background-image: url("../img/info_black.svg");
}
.jsxc-icon-setting {
background-image: url("../img/gear_black.svg");
}
.jsxc-icon-help {
background-image: url("../img/help_black.svg");
}
.jsxc-icon-contact {
background-image: url("../img/contact_black.svg");
}
.jsxc-icon-groupcontact {
background-image: url("../img/groupcontact_black.svg");
}
.jsxc-icon-bookmark {
background-image: url("../img/bookmark_black.svg");
}
.jsxc-icon-announcement {
background-image: url("../img/megaphone_icon_black.svg");
}
+209
Ver Arquivo
@@ -0,0 +1,209 @@
.jsxc-right {
text-align: right;
}
.jsxc-center {
text-align: center;
}
.jsxc-hidden {
display: none;
}
.jsxc-clear {
clear: both;
}
.jsxc-uppercase {
text-transform: uppercase;
}
.jsxc-separator {
border-top: 1px solid $separator;
}
.jsxc-name {
overflow: hidden;
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
}
.jsxc-max-width {
max-width: 500px;
}
.jsxc-meta {
text-align: right;
font-style: italic;
}
.jsxc-invalid {
border: 2px solid $invalid_border !important;
}
.jsxc-avatar {
width: 36px;
height: 36px;
line-height: 36px;
margin: 0 5px;
background-color: $avatar_bg;
border-radius: 50%;
float: left;
text-align: center;
font-weight: bold;
font-size: 30px;
color: $avatar_color;
position: relative;
font-family: $font_sans;
background-size: cover;
background-position: center center;
img {
display: block;
width: 25px;
height: 25px;
position: absolute;
top: 0;
left: 0;
}
&:before {
position: absolute;
top: -2px;
left: -6px;
border: 2px solid $roster_bg;
}
}
ul.jsxc-vCard {
min-width: 400px;
ul {
margin-left: 20px;
}
li {
cursor: default !important;
}
}
// Spot which is attached to xmpp: uris
.jsxc-spot {
display: inline-block;
width: 12px;
height: 12px;
border-radius: 50%;
text-indent: -99999em;
margin-top: 3px;
margin-right: 5px;
line-height: 100%;
cursor: pointer;
border: 1px solid $spot_border;
background-color: $white;
&:before {
position: absolute;
}
&.jsxc-online, &.jsxc-chat, &.jsxc-away, &.jsxc-xa, &.jsxc-dnd, &.jsxc-offline {
border: 0;
}
}
.jsxc-unread {
display: none;
}
.jsxc-unreadMsg {
.jsxc-name {
font-style: italic;
}
.jsxc-unread {
display: block;
background-color: $unread_bg;
border-radius: 11px;
color: $unread_color;
font-size: 80%;
padding: 2px;
line-height: 15px;
float: right;
margin-right: 3px;
margin-top: 4px;
}
}
.jsxc-loading {
margin: 0 auto;
width: 32px;
height: 32px;
border: 0;
background-size: 32px 32px !important;
background: url("../img/loading.gif");
}
// @TODO: check
#jsxc-login-form input[type='submit'] {
height: 34px;
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: normal;
line-height: 1.428571429;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
border: 1px solid transparent;
border-radius: 4px;
user-select: none;
color: $white;
background-color: $loginForm_bg;
border-color: $loginForm_border;
}
.jsxc-oneway .jsxc-avatar {
filter: grayscale(100%);
}
img.jsxc-vCard {
float: right;
max-width: 200px;
max-height: 200px;
border: 5px solid $white;
border-radius: 2px;
}
.jsxc-alert {
padding: 15px;
margin-bottom: 20px;
border: 1px solid transparent;
border-radius: 4px;
&.jsxc-alert-warning {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
}
.jsxc-more {
float: right;
width: 44px;
height: 100%;
cursor: pointer;
background-image: url("../img/more_black.svg");
background-repeat: no-repeat;
background-position: center;
opacity: 0.4;
&:hover {
opacity: 1;
}
@media (min-width: 768px) {
width: 25px;
}
}
+102
Ver Arquivo
@@ -0,0 +1,102 @@
.jsxc-menu {
.jsxc-inner {
box-sizing: border-box;
max-height: 0;
transition: max-height 0.5s;
overflow: hidden;
visibility: hidden;
position: absolute;
bottom: 100%;
left: 0;
}
&.jsxc-opened {
.jsxc-inner {
max-height: 1000px;
visibility: visible;
display: block;
}
}
ul {
list-style: none;
margin: 0;
padding: 0;
}
li {
border: 0;
cursor: auto;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
}
.jsxc-menu-dropdown {
.jsxc-inner {
display: none;
position: absolute;
background-color: #FFF;
color: #333;
border-radius: 3px;
z-index: 110;
margin: 8px 2px 5px 10px;
right: 0;
filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
padding: 4px 12px 4px 5px;
top: 100%;
bottom: auto;
overflow: visible;
&:after {
bottom: 100%;
right: 6px;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-color: rgba(238, 238, 238, 0);
border-bottom-color: #fff;
border-width: 10px;
}
}
a {
color: #000;
opacity: 0.5;
white-space: nowrap;
&:hover {
text-decoration: none;
opacity: 1;
}
&.jsxc-disabled {
text-decoration: line-through;
opacity: 0.5;
&:hover {
text-decoration: line-through;
opacity: 0.5;
}
span {
cursor: default;
}
}
}
.jsxc-icon {
width: 16px;
height: 16px;
margin-right: 8px;
display: inline-block;
background-repeat: no-repeat;
background-size: contain;
background-position: center;
vertical-align: sub;
}
}
+18 -25
Ver Arquivo
@@ -1,22 +1,15 @@
%muc-avatar-icon {
text-indent: 999px;
background-image: image-url("group_white.svg");
background-size: 70% 70% !important;
background-repeat: no-repeat;
}
.jsxc_windowItem {
&.jsxc_groupchat.jsxc_normal {
.jsxc_fade {
.jsxc-window-item {
&.jsxc-groupchat.jsxc-normal {
.jsxc-fade {
padding-top: 44px;
}
.jsxc_fingerprints, .jsxc_verification, .jsxc_transfer, .jsxc_video, .jsxc_sendFile {
.jsxc-fingerprints, .jsxc-verification, .jsxc-transfer, .jsxc-video, .jsxc-sendFile {
display: none;
}
.jsxc_members {
background-image: image-url("group_white.svg");
.jsxc-members {
background-image: url("../img/group_white.svg");
background-size: 15px 15px;
background-repeat: no-repeat;
background-position: center;
@@ -26,10 +19,10 @@
}
}
.jsxc_chatmessage.jsxc_in {
.jsxc-chatmessage.jsxc-in {
margin-left: 50px;
.jsxc_avatar {
.jsxc-avatar {
display: block;
position: absolute;
bottom: 0;
@@ -42,14 +35,14 @@
}
}
.jsxc_bar {
.jsxc_avatar {
.jsxc-bar {
.jsxc-avatar {
@extend %muc-avatar-icon;
}
}
}
.jsxc_memberlist {
.jsxc-memberlist {
height: 44px;
width: 100%;
background-color: $window_bar_bg;
@@ -79,18 +72,18 @@
margin-right: 2px;
}
.jsxc_name {
.jsxc-name {
display: none;
}
.jsxc_avatar {
.jsxc-avatar {
margin-left: 2px;
margin-right: 0;
}
}
}
&.jsxc_expand {
&.jsxc-expand {
ul {
white-space: normal;
@@ -100,7 +93,7 @@
height: 40px;
line-height: 40px;
.jsxc_name {
.jsxc-name {
display: block;
cursor: default;
@@ -109,7 +102,7 @@
}
}
.jsxc_avatar {
.jsxc-avatar {
margin-right: 4px;
}
}
@@ -119,11 +112,11 @@
}
li[data-type='groupchat'] {
.jsxc_avatar {
.jsxc-avatar {
@extend %muc-avatar-icon;
}
.jsxc_video {
.jsxc-video {
display: none;
}
}
+492
Ver Arquivo
@@ -0,0 +1,492 @@
#jsxc-roster {
position: fixed;
top: 0;
bottom: 0;
right: 0;
width: 200px;
overflow: visible;
border-left: 1px solid #e1e1e1;
z-index: 80;
margin-left: 10px;
background-color: $roster_bg;
transition: right 0.5s;
.jsxc-roster-hidden & {
right: -200px;
}
a {
cursor: pointer;
}
.jsxc-avatar {
position: relative;
cursor: pointer;
img {
cursor: pointer;
}
}
.jsxc-wait {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 160px;
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;
margin: 0;
height: 35px;
padding: 7px 6px 5px;
font-size: 13px;
width: 145px;
border: 1px solid #ddd;
box-sizing: border-box;
background-image: none;
background-color: $roster_input_bg;
border-radius: 3px;
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-expand input {
left: 51px;
width: 137px;
}
&.jsxc-state_hidden {
display: block;
right: -200px;
transition: right 0.5s;
}
&.jsxc-state_shown {
display: block;
right: 0;
transition: right 0.5s;
}
> .jsxc-bottom {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
line-height: 34px;
background-color: $roster_bottom_bg;
z-index: 50;
padding-right: 4px;
&:hover {
background-color: $roster_bottom_bg_hover;
}
.jsxc-inner {
width: 100%;
}
ul {
padding: 0;
margin: 0;
width: 100%;
border-top: 1px solid $roster_bottom_border_top;
background-color: $roster_bottom_bg;
li:last-child {
border-bottom: 1px solid $roster_bottom_border_top;
}
}
li {
height: 44px;
background-color: $roster_bottom_bg;
color: $roster_bottom_color;
cursor: pointer;
width: 100%;
padding-left: 44px;
line-height: 44px;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
background-repeat: no-repeat;
background-position: 15px center;
background-size: 16px 16px;
opacity: 0.8;
&.jsxc-disabled {
color: $roster_bottom_disabled;
cursor: default;
}
&:hover:not(.jsxc-disabled) {
color: $roster_bottom_color_hover;
background-color: $roster_bottom_bg_hover;
}
&.jsxc-warning {
background-color: $warning_bg;
&:hover {
background-color: $warning_bg_hover;
}
}
}
> div > span {
cursor: pointer;
}
}
form {
padding: 15px;
button,
input {
width: 100%;
margin: 0 0 5px;
border-radius: 0;
}
.btn-primary {
background-color: #dadada;
border-color: #c1c1c1;
transition: background-color 0.5s;
&:hover {
background-color: #a2a2a2;
}
}
label {
display: block;
}
input {
position: static;
}
}
.jsxc-roster-status {
display: none;
position: absolute;
bottom: 0;
}
&.jsxc-status-show {
.jsxc-roster-status {
display: block;
}
.jsxc-bottom, .jsxc-contact-list {
display: none;
}
}
}
.jsxc-roster-toggle {
width: 14px;
height: 100%;
position: absolute;
left: -14px;
top: 0;
z-index: 110;
background-color: transparent;
cursor: pointer;
&:hover {
background-color: $roster_toggle_hover;
}
}
.jsxc-roster-item {
padding: 0;
margin: 0;
height: 44px;
border-bottom: 1px solid $roster_bottom_border_top;
cursor: pointer;
width: 100%;
position: relative;
color: $roster_color;
font-family: $font_sans;
line-height: 44px;
padding-left: 6px;
padding-top: 4px;
padding-bottom: 4px;
box-sizing: border-box;
&:hover {
background-color: $roster_bg_hover;
}
&.jsxc-bookmarked {
.jsxc-avatar:after {
content: " ";
width: 20%;
height: 30%;
position: absolute;
top: 0;
right: 2px;
background-size: contain;
background-repeat: no-repeat;
background-image: url("../img/bookmark_red.svg");
}
}
}
.jsxc-caption {
padding-right: 30px;
height: 100%;
line-height: 100%;
// padding-top: 4px;
box-sizing: border-box;
* {
cursor: pointer;
}
.jsxc-name {
height: 100%;
line-height: 40px;
.jsxc-min & {
height: 50%;
line-height: 20px;
}
.jsxc-rosteritem & {
height: 50%;
line-height: 20px;
}
}
.jsxc-lastmsg {
font-size: 12px;
display: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
.jsxc-min & {
display: block;
height: 50%;
line-height: 17.5px;
}
.jsxc-rosteritem & {
display: block;
height: 50%;
line-height: 17.5px;
}
.jsxc-text {
opacity: 0.6;
}
.jsxc-unread {
line-height: 100%;
font-size: 8px;
color: #fff;
text-align: center;
display: none;
height: 1em;
width: 1em;
border-radius: 50%;
background-color: orange;
vertical-align: top;
margin: 0;
float: none;
.jsxc-unreadMsg & {
display: inline-block !important;
}
}
.jsxc-emoticon {
vertical-align: middle;
}
}
}
.jsxc-menu-presence {
cursor: pointer;
padding-left: 2px;
overflow: hidden;
> span {
opacity: 0.8;
}
li {
position: relative;
&:before {
// Presence indicator
position: absolute;
top: 50%;
left: 10px;
margin-top: -8px;
border: 2px solid whitesmoke;
}
}
}
.jsxc-menu-main {
height: 44px;
width: 44px;
cursor: pointer;
float: right;
text-align: center;
&:hover > span {
opacity: 1;
}
> span {
opacity: 0.5;
display: block;
width: 100%;
height: 100%;
background-image: url("../img/menu_black.svg");
background-repeat: no-repeat;
background-position: center 10px;
background-size: 17px;
}
@media (min-width: 768px) {
height: 30px;
width: 30px;
}
}
#jsxc-notice {
height: 30px;
width: 30px;
float: right;
text-align: center;
line-height: 30px;
span {
background-color: $notice_bg;
border-radius: 11px;
color: $notice_color;
font-size: 80%;
padding: 2px;
position: relative;
animation: bounce 2s 1s infinite;
}
> span:empty {
display: none;
}
}
.jsxc-contact-list {
@include presenceIndicator(".jsxc-avatar");
list-style: none;
padding: 0;
margin: 0;
width: 204px;
z-index: 85;
&.jsxc-hide-offline {
.jsxc-roster-item[data-status='offline'] {
display: none;
}
}
.jsxc-unreadMsg {
.jsxc-name {
padding-right: 0;
}
}
.jsxc-oneway {
.jsxc-avatar,
.jsxc-caption {
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;
}
}
}
.jsxc-menu {
float: right;
height: 100%;
width: 42px;
> span {
display: block;
height: 100%;
width: 100%;
background-image: url("../img/more_black.svg");
background-repeat: no-repeat;
background-position: center center;
opacity: 0.6;
cursor: pointer;
&:hover {
opacity: 1;
}
}
.jsxc-inner {
left: auto;
right: 5px;
padding: 4px;
overflow: visible;
a {
display: block;
line-height: 42px;
width: 42px;
text-align: center;
span {
margin: 0;
}
}
}
}
}
+49 -60
Ver Arquivo
@@ -1,16 +1,5 @@
@import "colors";
%fullscreen {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 9000;
background-color: $fullscreen_bg;
}
#jsxc_webrtc {
#jsxc-webrtc {
position: fixed;
top: 0;
bottom: 0;
@@ -19,7 +8,7 @@
z-index: 9999;
background-color: black;
.jsxc_status {
.jsxc-status {
z-index: 9999;
border-radius: 20px;
display: none;
@@ -37,7 +26,7 @@
opacity: 1 !important;
}
li .jsxc_name {
li .jsxc-name {
cursor: auto;
&:hover {
@@ -46,7 +35,7 @@
}
}
.jsxc_establishing, .jsxc_ringing {
.jsxc-establishing, .jsxc-ringing {
&:after {
content: " ";
position: absolute;
@@ -62,14 +51,14 @@
$establishingColor1: #a1a1a1;
$establishingColor2: #f1f1f1;
.jsxc_establishing:before {
.jsxc-establishing:before {
content: " ";
display: block;
width: 40px;
height: 10px;
box-sizing: border-box;
background-color: $establishingColor1;
animation-name: jsxc_establishing;
animation-name: jsxc-establishing;
animation-duration: 2s;
animation-iteration-count: infinite;
position: absolute;
@@ -80,7 +69,7 @@ $establishingColor2: #f1f1f1;
margin-top: -5px;
}
@keyframes jsxc_establishing {
@keyframes jsxc-establishing {
0% {
border-width: 0;
background-color: $establishingColor1;
@@ -105,7 +94,7 @@ $establishingColor2: #f1f1f1;
$ringingColor1: #98d48f;
$ringingColor2: #76ba6c;
.jsxc_ringing:before {
.jsxc-ringing:before {
content: " ";
display: block;
width: 20px;
@@ -113,7 +102,7 @@ $ringingColor2: #76ba6c;
box-sizing: border-box;
background-color: $ringingColor1;
border-radius: 50%;
animation-name: jsxc_ringing;
animation-name: jsxc-ringing;
animation-duration: 2s;
animation-iteration-count: infinite;
position: absolute;
@@ -124,7 +113,7 @@ $ringingColor2: #76ba6c;
margin-top: -10px;
}
@keyframes jsxc_ringing {
@keyframes jsxc-ringing {
0% {
background-color: $ringingColor1;
width: 20px;
@@ -150,17 +139,17 @@ $ringingColor2: #76ba6c;
}
}
.jsxc_bell:before {
.jsxc-bell:before {
content: " ";
display: block;
width: 80px;
height: 80px;
box-sizing: border-box;
background-image: image-url("bell.svg");
background-image: url("../img/bell.svg");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
animation-name: jsxc_ringing;
animation-name: jsxc-ringing;
animation-duration: 1.5s;
animation-iteration-count: infinite;
position: absolute;
@@ -171,7 +160,7 @@ $ringingColor2: #76ba6c;
margin-top: -40px;
}
@keyframes jsxc_bell {
@keyframes jsxc-bell {
0% {
margin-left: -50px;
}
@@ -205,7 +194,7 @@ $ringingColor2: #76ba6c;
}
}
.jsxc_videoContainer {
.jsxc-videoContainer {
position: absolute;
top: 0;
left: 0;
@@ -213,7 +202,7 @@ $ringingColor2: #76ba6c;
bottom: 0;
background-color: $video_bg;
&.jsxc_minimized {
&.jsxc-minimized {
position: fixed;
top: 10px;
left: 10px;
@@ -223,7 +212,7 @@ $ringingColor2: #76ba6c;
background-color: transparent;
box-shadow: 0 0 10px #a1a1a1;
.jsxc_localvideo {
.jsxc-localvideo {
position: static;
display: block;
}
@@ -233,30 +222,30 @@ $ringingColor2: #76ba6c;
display: none;
}
.jsxc_noRemoteVideo {
.jsxc-noRemoteVideo {
display: none;
}
@media (min-width: 768px) {
right: 250px;
.jsxc_controlbar {
.jsxc-controlbar {
opacity: 0;
}
&:hover {
.jsxc_controlbar {
.jsxc-controlbar {
opacity: 1;
}
}
}
}
.jsxc_remotevideo {
.jsxc-remotevideo {
@extend %fullscreen;
}
.jsxc_noRemoteVideo {
.jsxc-noRemoteVideo {
@extend %fullscreen;
p {
@@ -303,7 +292,7 @@ $ringingColor2: #76ba6c;
}
}
.jsxc_localvideo {
.jsxc-localvideo {
width: 160px;
height: 120px;
position: absolute;
@@ -320,7 +309,7 @@ div {
height: 100%;
background-color: $black;
&.jsxc_localvideo {
&.jsxc-localvideo {
border: 1px solid $white;
}
}
@@ -330,23 +319,23 @@ div {
height: 100%;
background-color: $black;
&.jsxc_localvideo {
&.jsxc-localvideo {
border: 1px solid $white;
}
}
&.jsxc_video {
background-image: image-url("camera_icon_white.svg");
&.jsxc-video {
background-image: url("../img/camera_icon_white.svg");
background-repeat: no-repeat;
background-position: center center;
background-size: 15px 15px;
opacity: 0.4;
&.jsxc_disabled {
background-image: image-url("camera_disabled_icon_white.svg");
&.jsxc-disabled {
background-image: url("../img/camera_disabled_icon_white.svg");
}
&:not(.jsxc_disabled) {
&:not(.jsxc-disabled) {
&:hover {
opacity: 1;
}
@@ -354,7 +343,7 @@ div {
}
}
.jsxc_controlbar {
.jsxc-controlbar {
position: absolute;
top: 50px;
left: 0;
@@ -369,7 +358,7 @@ div {
top: initial;
}
&.jsxc_visible {
&.jsxc-visible {
opacity: 1;
}
@@ -381,7 +370,7 @@ div {
display: inline-block;
}
.jsxc_videoControl {
.jsxc-videoControl {
height: 44px;
width: 44px;
margin: 0 5px;
@@ -397,24 +386,24 @@ div {
}
}
.jsxc_hangUp {
background-image: image-url("hang_up_red.svg");
.jsxc-hangUp {
background-image: url("../img/hang_up_red.svg");
}
.jsxc_fullscreen {
background-image: image-url("fullscreen_white.svg");
.jsxc-fullscreen {
background-image: url("../img/fullscreen_white.svg");
}
.jsxc_showchat {
.jsxc-showchat {
float: right;
}
}
.jsxc_multi > div {
.jsxc-multi > div {
display: none;
}
.jsxc_snapshotbar {
.jsxc-snapshotbar {
width: 100%;
display: none;
@@ -423,7 +412,7 @@ div {
}
}
.jsxc_buttongroup {
.jsxc-buttongroup {
display: inline;
button {
@@ -441,7 +430,7 @@ div {
}
}
.jsxc_chatarea {
.jsxc-chatarea {
position: absolute;
top: 0;
right: 0;
@@ -454,21 +443,21 @@ div {
display: block;
}
.jsxc_settings {
.jsxc-settings {
display: none !important;
}
.jsxc_close {
.jsxc-close {
display: none !important;
}
.jsxc_video {
.jsxc-video {
display: none !important;
}
.jsxc_bar {}
.jsxc-bar {}
.jsxc_window {
.jsxc-window {
bottom: 0;
box-shadow: none;
}
@@ -481,10 +470,10 @@ div {
}
}
.jsxc_fullscreen.jsxc_localvideo {
.jsxc-fullscreen.jsxc-localvideo {
border: 1px solid $white;
}
.jsxc_videoSuitable .jsxc_name {
.jsxc-videoSuitable .jsxc-name {
font-style: italic;
}
+104
Ver Arquivo
@@ -0,0 +1,104 @@
#jsxc-window-list {
@include presenceIndicator(".jsxc-window-bar .jsxc-avatar");
position: fixed;
bottom: 0;
right: 210px;
left: 0;
z-index: 50;
transition: right 0.5s;
.jsxc-roster-hidden & {
right: 10px;
}
@media (min-width: 768px) {
clip: rect(-10000px, 10000px, 30px, 30px);
}
> ul {
list-style: none;
padding: 0;
margin: 0;
position: absolute;
bottom: 0;
right: 0;
height: 44px;
overflow: visible;
white-space: nowrap;
transition: right 0.5s;
> li {
padding: 0;
margin: 0;
display: inline-block;
height: 44px;
width: 46px;
position: relative;
overflow: visible;
margin-right: 5px;
cursor: pointer;
white-space: normal;
&.jsxc-normal {
transition: width 0.2s;
width: 250px;
}
&.jsxc-minimized {
transition: width 0.2s;
width: 46px !important;
// overwrite resizeable width
@media (min-width: 768px) {
width: 200px !important;
}
.jsxc-emoticons {
display: none;
}
.jsxc-tools {
display: none;
}
}
}
}
}
#jsxc-window-list-handler {
position: fixed;
left: 0;
bottom: 0;
width: 30px;
height: 30px;
@media (max-width: 768px) {
display: none;
}
> {
div {
box-sizing: border-box;
width: 14px;
height: 100%;
background-color: $windowListSB_bg;
color: $windowListSB_color;
text-align: center;
line-height: 30px;
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;
cursor: default !important;
display: none;
}
}
}

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais